1// 2// Copyright (C) 2016 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17 18//===================================================================== 19// Shared Library libSPIRV 20//===================================================================== 21 22cc_library_shared { 23 name: "libSPIRV", 24 host_supported: true, 25 26 srcs: [ 27 "libSPIRV/SPIRVBasicBlock.cpp", 28 "libSPIRV/SPIRVDebug.cpp", 29 "libSPIRV/SPIRVDecorate.cpp", 30 "libSPIRV/SPIRVEntry.cpp", 31 "libSPIRV/SPIRVFunction.cpp", 32 "libSPIRV/SPIRVInstruction.cpp", 33 "libSPIRV/SPIRVModule.cpp", 34 "libSPIRV/SPIRVStream.cpp", 35 "libSPIRV/SPIRVType.cpp", 36 "libSPIRV/SPIRVValue.cpp", 37 "Mangler/FunctionDescriptor.cpp", 38 "Mangler/Mangler.cpp", 39 "Mangler/ManglingUtils.cpp", 40 "Mangler/ParameterType.cpp", 41 "OCL20To12.cpp", 42 "OCL20ToSPIRV.cpp", 43 "OCL21ToSPIRV.cpp", 44 "OCLTypeToSPIRV.cpp", 45 "OCLUtil.cpp", 46 "SPIRVLowerBool.cpp", 47 "SPIRVLowerConstExpr.cpp", 48 "SPIRVLowerOCLBlocks.cpp", 49 "SPIRVReader.cpp", 50 "SPIRVRegularizeLLVM.cpp", 51 "SPIRVToOCL20.cpp", 52 "SPIRVUtil.cpp", 53 "SPIRVWriter.cpp", 54 "SPIRVWriterPass.cpp", 55 "TransOCLMD.cpp", 56 ], 57 58 export_include_dirs: [ 59 ".", 60 "libSPIRV", 61 "Mangler", 62 ], 63 64 header_libs: ["llvm-headers"], 65 66 compile_multilib: "first", 67 68 target: { 69 android: { 70 cflags: ["-Wno-error=non-virtual-dtor"], 71 }, 72 host: { 73 cflags: [ 74 "-fno-rtti", 75 "-fno-exceptions", 76 ], 77 }, 78 linux: { 79 host_ldlibs: [ 80 "-lrt", 81 "-ldl", 82 "-lpthread", 83 ], 84 }, 85 darwin: { 86 host_ldlibs: [ 87 "-ldl", 88 "-lpthread", 89 ], 90 }, 91 }, 92 93 shared_libs: ["libLLVM"], 94 95 cflags: [ 96 "-D_SPIRV_LLVM_API", 97 "-D__STDC_LIMIT_MACROS", 98 "-D__STDC_CONSTANT_MACROS", 99 "-Wall", 100 "-Werror", 101 "-Wno-unused-parameter", 102 ], 103 104 clang_cflags: [ 105 // Temporarily suppress the warnings http://b/37867503 106 "-Wno-error=user-defined-warnings", 107 ], 108 109 product_variables: { 110 unbundled_build: { 111 // Don't build for unbundled branches 112 enabled: false, 113 }, 114 }, 115} 116