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 15 cc_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"], 52 }, 53 darwin: { 54 host_ldlibs: [ 55 "-ldl", 56 "-lpthread", 57 ], 58 59 shared_libs: ["libLLVM"], 60 }, 61 linux: { 62 host_ldlibs: [ 63 "-ldl", 64 "-lpthread", 65 ], 66 static_libs: ["libLLVMLinker"], 67 allow_undefined_symbols: true, 68 }, 69 host: { 70 static_libs: [ 71 "libutils", 72 "libcutils", 73 "liblog", 74 ], 75 }, 76 android: { 77 shared_libs: [ 78 "libLLVM", 79 "libdl", 80 "liblog", 81 ], 82 }, 83 }, 84 85 product_variables: { 86 unbundled_build: { 87 // Don't build in unbundled branches 88 enabled: false, 89 }, 90 }, 91 } 92