/*
 * Copyright 2017 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

cc_defaults {
    name: "neuralnetworks_float16",
    arch: {
        x86: {
            cflags: [ "-D_Float16=__fp16",
                      "-Xclang", "-fnative-half-type",
                      "-Xclang", "-fallow-half-arguments-and-returns" ],
        },
        x86_64: {
            cflags: [ "-D_Float16=__fp16",
                      "-Xclang", "-fnative-half-type",
                      "-Xclang", "-fallow-half-arguments-and-returns" ],
        },
    },
}

cc_defaults {
    name: "neuralnetworks_defaults",
    defaults: ["neuralnetworks_float16"],
    cflags: [
        "-O3",
        "-Wall",
        "-Werror",
        "-Wextra",
    ],
    arch: {
        x86: {
            avx2: {
                cflags: [
                    "-mavx2",
                    "-mfma",
                ],
            },
        },
        x86_64: {
            avx2: {
                cflags: [
                    "-mavx2",
                    "-mfma",
                ],
            },
        },
    },
    product_variables: {
        debuggable: { // eng and userdebug builds
            cflags: ["-DNN_DEBUGGABLE"],
        },
    },
}
