/*
 * 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_library_headers {
    name: "libneuralnetworks_headers",
    host_supported: false,
    vendor_available: true,
    export_include_dirs: ["include"],
}

cc_library_headers {
    name: "libneuralnetworks_private_headers",
    host_supported: false,
    export_include_dirs: ["."],
}

cc_library {
    name: "libneuralnetworks",
    defaults: ["neuralnetworks_defaults"],
    use_version_lib: true,
    host_supported: false,
    // b/109953668, disable OpenMP
    // openmp: true,

    srcs: [
        "BurstBuilder.cpp",
        "Callbacks.cpp",
        "CompilationBuilder.cpp",
        "ExecutionBuilder.cpp",
        "ExecutionPlan.cpp",
        "Manager.cpp",
        "Memory.cpp",
        "ModelArgumentInfo.cpp",
        "ModelBuilder.cpp",
        "NeuralNetworks.cpp",
        "TypeManager.cpp",
        "VersionedInterfaces.cpp",
    ],

    target: {
        android: {
            version_script: "libneuralnetworks.map.txt",
            shared_libs: [
                "android.hardware.neuralnetworks@1.0",
                "android.hardware.neuralnetworks@1.1",
                "android.hardware.neuralnetworks@1.2",
                "android.hidl.allocator@1.0",
                "android.hidl.memory@1.0",
                "libbase",
                "libbinder",
                "libcutils",
                "libhidlbase",
                "libhidlmemory",
                "liblog",
                "libnativewindow",
                "libui",
                "libutils",
            ],
            static_libs: [
                "libcrypto_static",
            ],
        },
        host: {
            shared_libs: [
            ],
        },
    },

    static_libs: [
        "libneuralnetworks_common",
    ],

    whole_static_libs: [
        "libprocpartition",
    ],

    shared_libs: [
        "libfmq",
        "libtextclassifier_hash",
    ],

    header_libs: [
        "libneuralnetworks_headers",
    ],

    export_header_lib_headers: [
        "libneuralnetworks_headers",
    ],
}

ndk_headers {
    name: "libneuralnetworks_ndk_headers",
    from: "include",
    to: "android",
    srcs: ["include/NeuralNetworks.h"],
    license: "NOTICE",
}

ndk_library {
    name: "libneuralnetworks",
    symbol_file: "libneuralnetworks.map.txt",
    // Android O-MR1
    first_version: "27",
}

llndk_library {
    name: "libneuralnetworks",
    symbol_file: "libneuralnetworks.map.txt",
    export_include_dirs: ["include"],
}
