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_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