• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2017 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15cc_library_shared {
16    name: "libbcc",
17    host_supported: true,
18    defaults: ["libbcc-defaults"],
19
20    srcs: [
21        "BCCContext.cpp",
22        "BCCContextImpl.cpp",
23        "Compiler.cpp",
24        "CompilerConfig.cpp",
25        "FileBase.cpp",
26        "Initialization.cpp",
27        "RSAddDebugInfoPass.cpp",
28        "RSCompilerDriver.cpp",
29        "RSEmbedInfo.cpp",
30        "RSGlobalInfoPass.cpp",
31        "RSInvariant.cpp",
32        "RSInvokeHelperPass.cpp",
33        "RSIsThreadablePass.cpp",
34        "RSKernelExpand.cpp",
35        "RSScreenFunctionsPass.cpp",
36        "RSScriptGroupFusion.cpp",
37        "RSStubsWhiteList.cpp",
38        "RSX86CallConvPass.cpp",
39        "RSX86TranslateGEPPass.cpp",
40        "Script.cpp",
41        "Source.cpp",
42    ],
43
44    shared_libs: ["libbcinfo"],
45
46    header_libs: ["slang_headers"],
47
48    target: {
49        windows: {
50            enabled: true,
51            shared_libs: ["libLLVM_android"],
52        },
53        darwin: {
54            shared_libs: ["libLLVM_android"],
55        },
56        linux_glibc: {
57            static_libs: ["libLLVMLinker"],
58            allow_undefined_symbols: true,
59        },
60        host: {
61            static_libs: [
62                "libutils",
63                "libcutils",
64                "liblog",
65            ],
66        },
67        android: {
68            shared_libs: [
69                "libLLVM_android",
70                "libdl",
71                "liblog",
72            ],
73        },
74    },
75
76    product_variables: {
77        unbundled_build: {
78            // Don't build in unbundled branches
79            enabled: false,
80        },
81    },
82}
83