// // Copyright (C) 2016 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. // //===================================================================== // Shared Library libSPIRV //===================================================================== cc_library_shared { name: "libSPIRV", host_supported: true, srcs: [ "libSPIRV/SPIRVBasicBlock.cpp", "libSPIRV/SPIRVDebug.cpp", "libSPIRV/SPIRVDecorate.cpp", "libSPIRV/SPIRVEntry.cpp", "libSPIRV/SPIRVFunction.cpp", "libSPIRV/SPIRVInstruction.cpp", "libSPIRV/SPIRVModule.cpp", "libSPIRV/SPIRVStream.cpp", "libSPIRV/SPIRVType.cpp", "libSPIRV/SPIRVValue.cpp", "Mangler/FunctionDescriptor.cpp", "Mangler/Mangler.cpp", "Mangler/ManglingUtils.cpp", "Mangler/ParameterType.cpp", "OCL20To12.cpp", "OCL20ToSPIRV.cpp", "OCL21ToSPIRV.cpp", "OCLTypeToSPIRV.cpp", "OCLUtil.cpp", "SPIRVLowerBool.cpp", "SPIRVLowerConstExpr.cpp", "SPIRVLowerOCLBlocks.cpp", "SPIRVReader.cpp", "SPIRVRegularizeLLVM.cpp", "SPIRVToOCL20.cpp", "SPIRVUtil.cpp", "SPIRVWriter.cpp", "SPIRVWriterPass.cpp", "TransOCLMD.cpp", ], export_include_dirs: [ ".", "libSPIRV", "Mangler", ], header_libs: ["llvm-headers"], compile_multilib: "first", target: { android: { cflags: ["-Wno-error=non-virtual-dtor"], }, host: { cflags: [ "-fno-rtti", "-fno-exceptions", ], }, }, shared_libs: ["libLLVM_android"], cflags: [ "-D_SPIRV_LLVM_API", "-D__STDC_LIMIT_MACROS", "-D__STDC_CONSTANT_MACROS", "-Wall", "-Werror", "-Wno-unused-parameter", ], clang_cflags: [ // Temporarily suppress the warnings http://b/37867503 "-Wno-error=user-defined-warnings", ], product_variables: { unbundled_build: { // Don't build for unbundled branches enabled: false, }, }, }