| // |
| // Copyright (C) 2018 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. |
| // |
| |
| cc_library_static { |
| name: "libsubzero", |
| |
| defaults: [ "swiftshader_common_release", "swiftshader_subzero" ], |
| |
| device_supported: false, |
| host_supported: true, |
| |
| cflags: [ |
| "-D_GNU_SOURCE", |
| "-D__STDC_LIMIT_MACROS", |
| "-D__STDC_CONSTANT_MACROS", |
| "-D__STDC_FORMAT_MACROS", |
| "-DLOG_TAG=\"libsubzero\"", |
| "-Wno-implicit-fallthrough", |
| "-Wno-unused-parameter", |
| "-Wno-undefined-var-template", |
| "-Wno-unused-lambda-capture", |
| ], |
| |
| cppflags: [ |
| "-Wno-sign-promo", |
| "-Wno-non-virtual-dtor", |
| ], |
| |
| srcs: [ |
| "src/IceAssembler.cpp", |
| "src/IceCfg.cpp", |
| "src/IceCfgNode.cpp", |
| "src/IceClFlags.cpp", |
| "src/IceELFObjectWriter.cpp", |
| "src/IceELFSection.cpp", |
| "src/IceFixups.cpp", |
| "src/IceGlobalContext.cpp", |
| "src/IceGlobalInits.cpp", |
| "src/IceInst.cpp", |
| "src/IceInstrumentation.cpp", |
| "src/IceIntrinsics.cpp", |
| "src/IceLiveness.cpp", |
| "src/IceLoopAnalyzer.cpp", |
| "src/IceMangling.cpp", |
| "src/IceMemory.cpp", |
| "src/IceOperand.cpp", |
| "src/IceRangeSpec.cpp", |
| "src/IceRegAlloc.cpp", |
| "src/IceRevision.cpp", |
| "src/IceRNG.cpp", |
| "src/IceSwitchLowering.cpp", |
| "src/IceTargetLowering.cpp", |
| "src/IceThreading.cpp", |
| "src/IceTimerTree.cpp", |
| "src/IceTypes.cpp", |
| "src/IceVariableSplitting.cpp", |
| ], |
| |
| arch: { |
| arm: { |
| cflags : [ "-DSZTARGET=ARM32" ], |
| |
| srcs: [ |
| "src/IceAssemblerARM32.cpp", |
| "src/IceTargetLoweringARM32.cpp", |
| "src/IceInstARM32.cpp", |
| ], |
| }, |
| |
| mips: { |
| cflags : [ "-DSZTARGET=MIPS32" ], |
| |
| srcs: [ |
| "src/IceAssemblerMIPS32.cpp", |
| "src/IceTargetLoweringMIPS32.cpp", |
| "src/IceInstMIPS32.cpp", |
| ], |
| }, |
| |
| x86: { |
| cflags : [ "-DSZTARGET=X8632" ], |
| |
| srcs: [ |
| "src/IceTargetLoweringX8632.cpp", |
| "src/IceInstX8632.cpp", |
| ], |
| }, |
| |
| x86_64: { |
| cflags : [ "-DSZTARGET=X8664" ], |
| |
| srcs: [ |
| "src/IceTargetLoweringX8664.cpp", |
| "src/IceInstX8664.cpp", |
| ], |
| }, |
| }, |
| |
| // FIXME: The IceCfg.h interface needs to be exported correctly |
| // FIXME: Exporting the whole src tree is broken |
| export_include_dirs: [ "pnacl-llvm/include", "." ], |
| |
| static_libs: [ "libLLVMSupport_subzero" ], |
| } |