3 defaults: ["llvm-defaults-no-generated-headers"],
4 header_libs: ["llvm-headers"],
7 // This module defines all of the defaults used to compiled llvm, except for
8 // the generated headers. It is necessary to avoid a circular dependency
9 // from the tblgen tool used to generate the headers to the generated headers.
11 name: "llvm-defaults-no-generated-headers",
18 "-D__STDC_LIMIT_MACROS",
19 "-D__STDC_CONSTANT_MACROS",
20 "-D__STDC_FORMAT_MACROS",
21 "-fomit-frame-pointer",
25 "-Wno-unused-parameter",
26 "-Wno-maybe-uninitialized",
27 "-Wno-missing-field-initializers",
39 // Temporarily suppress the warnings http://b/37867503
40 "-Wno-error=unused-lambda-capture",
41 "-Wno-error=user-defined-warnings",
44 header_libs: ["llvm-headers-no-generated-headers"],
52 "-Woverloaded-virtual",
62 // Disable certain warnings for use with mingw.
63 // We also must undefine WIN32_LEAN_AND_MEAN, since it is being passed globally
64 // on the command line, and LLVM defines this internally itself.
68 "-UWIN32_LEAN_AND_MEAN",
71 host_ldlibs: ["-luuid"],
74 cppflags: ["-Woverloaded-virtual"],
76 // Add on ncurses to have support for terminfo
85 "-Wno-deprecated-declarations",
86 "-Woverloaded-virtual",
89 // Add on ncurses to have support for terminfo
99 name: "llvm-headers-no-generated-headers",
100 vendor_available: true,
101 host_supported: true,
102 export_include_dirs: ["include"],
105 export_include_dirs: ["device/include"],
108 export_include_dirs: ["host/include"],
120 name: "llvm-headers",
121 vendor_available: true,
122 host_supported: true,
123 header_libs: ["llvm-headers-no-generated-headers"],
124 export_header_lib_headers: ["llvm-headers-no-generated-headers"],
126 "llvm-gen-attributes",
127 "llvm-gen-intrinsics",
129 export_generated_headers: [
130 "llvm-gen-attributes",
131 "llvm-gen-intrinsics",
141 name: "llvm-gen-attributes",
142 in: "include/llvm/IR/Attributes.td",
143 outs: ["llvm/IR/Attributes.inc"],
147 name: "llvm-gen-intrinsics",
148 in: "include/llvm/IR/Intrinsics.td",
149 outs: ["llvm/IR/Intrinsics.inc"],
152 force_build_llvm_components_defaults {
153 name: "force_build_llvm_components",
154 // Host build disabled by soong/llvm.go unless FORCE_BUILD_LLVM_COMPONENTS
155 // environment variable is set
158 // LLVM shared library build
160 llvm_arm_static_libraries = [
162 "libLLVMARMAsmParser",
163 "libLLVMARMAsmPrinter",
166 "libLLVMARMDisassembler",
170 llvm_x86_static_libraries = [
174 "libLLVMX86AsmParser",
175 "libLLVMX86AsmPrinter",
177 "libLLVMX86Disassembler",
180 llvm_mips_static_libraries = [
181 "libLLVMMipsCodeGen",
184 "libLLVMMipsAsmParser",
185 "libLLVMMipsAsmPrinter",
186 "libLLVMMipsDisassembler",
189 llvm_aarch64_static_libraries = [
190 "libLLVMAArch64CodeGen",
191 "libLLVMAArch64Info",
192 "libLLVMAArch64Desc",
193 "libLLVMAArch64AsmParser",
194 "libLLVMAArch64AsmPrinter",
195 "libLLVMAArch64Utils",
196 "libLLVMAArch64Disassembler",
199 llvm_amdgpu_static_libraries = [
200 "libLLVMAMDGPUCodeGen",
203 "libLLVMAMDGPUAsmParser",
204 "libLLVMAMDGPUAsmPrinter",
205 "libLLVMAMDGPUUtils",
210 host_supported: true,
214 "force_build_llvm_components",
218 // pre static libraries
221 "libLLVMDebugInfoDWARF",
222 "libLLVMDebugInfoMSF",
223 "libLLVMDebugInfoPDB",
230 // post static libraries
233 "libLLVMSelectionDAG",
235 "libLLVMDebugInfoCodeView",
238 "libLLVMInstCombine",
239 "libLLVMInstrumentation",
240 "libLLVMTransformObjCARC",
241 "libLLVMTransformUtils",
245 "libLLVMMCDisassembler",
253 "libLLVMProfileData",
254 "libLLVMProfileDataCoverage",
256 "libLLVMExecutionEngine",
257 "libLLVMRuntimeDyld",
260 "libLLVMBinaryFormat",
263 export_include_dirs: ["include"],
267 // Host build pulls in all ARM, Mips, X86 components.
268 whole_static_libs: llvm_arm_static_libraries +
269 llvm_aarch64_static_libraries +
270 llvm_mips_static_libraries +
271 llvm_x86_static_libraries,
272 export_include_dirs: ["host/include"],
296 export_include_dirs: ["device/include"],
297 whole_static_libs: llvm_amdgpu_static_libraries,
300 whole_static_libs: llvm_arm_static_libraries,
303 whole_static_libs: llvm_x86_static_libraries +
304 llvm_arm_static_libraries +
305 llvm_aarch64_static_libraries,
308 whole_static_libs: llvm_x86_static_libraries +
309 llvm_arm_static_libraries +
310 llvm_aarch64_static_libraries,
313 whole_static_libs: llvm_mips_static_libraries,
316 whole_static_libs: llvm_mips_static_libraries,
319 whole_static_libs: llvm_aarch64_static_libraries +
320 llvm_arm_static_libraries,