blob: 7936dab3fc531dafc3f63972aabf89c964ec2460 [file] [log] [blame]
//
// 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",
],
},
linux: {
host_ldlibs: [
"-lrt",
"-ldl",
"-lpthread",
],
},
darwin: {
host_ldlibs: [
"-ldl",
"-lpthread",
],
},
},
shared_libs: ["libLLVM"],
cflags: [
"-D_SPIRV_LLVM_API",
"-D__STDC_LIMIT_MACROS",
"-D__STDC_CONSTANT_MACROS",
"-Wall",
"-Werror",
"-Wno-unused-parameter",
],
product_variables: {
unbundled_build: {
// Don't build for unbundled branches
enabled: false,
},
},
}