//
// 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"],
        },
        host_linux: {
            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",
]
