//
// Copyright (C) 2011-2012 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.
//

package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_compile_libbcc_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    //   SPDX-license-identifier-NCSA
    default_applicable_licenses: ["frameworks_compile_libbcc_license"],
}

cc_library_shared {
    name: "libbcinfo",
    vendor_available: true,
    vndk: {
        enabled: true,
        support_system_process: true,
    },
    host_supported: true,
    defaults: [
        "llvm-defaults",
        "rs-version",
    ],

    srcs: [
        "BitcodeTranslator.cpp",
        "BitcodeWrapper.cpp",
        "MetadataExtractor.cpp",
    ],

    cflags: [
        "-Wall",
        "-Wno-unused-parameter",
        "-Werror",

        "-D__DISABLE_ASSERTS",
    ],

    product_variables: {
        eng: {
            cflags: ["-U__DISABLE_ASSERTS"],
        },
    },

    header_libs: ["libbcinfo-headers"],
    export_header_lib_headers: ["libbcinfo-headers"],

    include_dirs: [
        "frameworks/rs",
        "frameworks/compile/slang",
        "frameworks/compile/libbcc/lib",
    ],

    static_libs: [
        "libLLVMWrap",
        "libLLVMBitReader_2_7",
        "libLLVMBitReader_3_0",
        "libLLVMBitWriter_3_2",
	"libStripUnkAttr",
    ],

    target: {
        windows: {
            enabled: true,
            shared_libs: ["libLLVM_android"],
        },
        darwin: {
            shared_libs: ["libLLVM_android"],
        },
        linux_glibc: {
            allow_undefined_symbols: true,
        },
        host: {
            compile_multilib: "first",
            static_libs: [
                "libcutils",
                "liblog",
            ],
        },
        android: {
            shared_libs: [
                "liblog",
            ],
            static_libs: [
                // Statically link-in the required LLVM libraries
                "libLLVMBitReader",
                "libLLVMCore",
                "libLLVMSupport",
            ],
            // Export only the symbols in the bcinfo namespace.  In particular,
            // do not, export symbols from the LLVM libraries.
            version_script: "libbcinfo.map",
        },
    },
}

cc_library_headers {
    name: "libbcinfo-headers",
    vendor_available: true,
    host_supported: true,
    // TODO(b/153609531): remove when no longer needed.
    native_bridge_supported: true,
    export_include_dirs: ["include"],
    target: {
        windows: {
            enabled: true,
        },
    },
}

subdirs = [
    "BitReader_2_7",
    "BitReader_3_0",
    "tools",
    "Wrap",
]
