//
// 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.
//

cc_library_shared {
    name: "libbcinfo",
    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",
    ],

    target: {
        windows: {
            enabled: true,
            shared_libs: ["libLLVM"],
        },
        darwin: {
            host_ldlibs: [
                "-ldl",
                "-lpthread",
            ],
            shared_libs: ["libLLVM"],
        },
        linux: {
            host_ldlibs: [
                "-ldl",
                "-lpthread",
            ],
            allow_undefined_symbols: true,
        },
        host: {
            compile_multilib: "first",
            static_libs: [
                "libcutils",
                "liblog",
            ],
            product_variables: {
                unbundled_build: {
                    // don't build for unbundled branches
                    enabled: false,
                },
            },
        },
        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",
    host_supported: true,
    export_include_dirs: ["include"],
    target: {
        windows: {
            enabled: true,
        },
    },
}

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