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.gen"],
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",
169 llvm_x86_static_libraries = [
173 "libLLVMX86AsmParser",
174 "libLLVMX86AsmPrinter",
176 "libLLVMX86Disassembler",
179 llvm_mips_static_libraries = [
180 "libLLVMMipsCodeGen",
183 "libLLVMMipsAsmParser",
184 "libLLVMMipsAsmPrinter",
185 "libLLVMMipsDisassembler",
188 llvm_aarch64_static_libraries = [
189 "libLLVMAArch64CodeGen",
190 "libLLVMAArch64Info",
191 "libLLVMAArch64Desc",
192 "libLLVMAArch64AsmParser",
193 "libLLVMAArch64AsmPrinter",
194 "libLLVMAArch64Utils",
195 "libLLVMAArch64Disassembler",
198 llvm_amdgpu_static_libraries = [
199 "libLLVMAMDGPUCodeGen",
202 "libLLVMAMDGPUAsmParser",
203 "libLLVMAMDGPUAsmPrinter",
204 "libLLVMAMDGPUUtils",
209 host_supported: true,
213 "force_build_llvm_components",
217 // pre static libraries
220 "libLLVMDebugInfoDWARF",
221 "libLLVMDebugInfoPDB",
227 // post static libraries
230 "libLLVMSelectionDAG",
232 "libLLVMDebugInfoCodeView",
235 "libLLVMInstCombine",
236 "libLLVMInstrumentation",
237 "libLLVMTransformObjCARC",
238 "libLLVMTransformUtils",
242 "libLLVMMCDisassembler",
250 "libLLVMProfileData",
251 "libLLVMProfileDataCoverage",
253 "libLLVMExecutionEngine",
254 "libLLVMRuntimeDyld",
259 export_include_dirs: ["include"],
263 // Host build pulls in all ARM, Mips, X86 components.
264 whole_static_libs: llvm_arm_static_libraries +
265 llvm_aarch64_static_libraries +
266 llvm_mips_static_libraries +
267 llvm_x86_static_libraries,
268 export_include_dirs: ["host/include"],
292 export_include_dirs: ["device/include"],
293 whole_static_libs: llvm_amdgpu_static_libraries,
296 whole_static_libs: llvm_arm_static_libraries,
299 whole_static_libs: llvm_x86_static_libraries +
300 llvm_arm_static_libraries +
301 llvm_aarch64_static_libraries,
304 whole_static_libs: llvm_x86_static_libraries +
305 llvm_arm_static_libraries +
306 llvm_aarch64_static_libraries,
309 whole_static_libs: llvm_mips_static_libraries,
312 whole_static_libs: llvm_mips_static_libraries,
315 whole_static_libs: llvm_aarch64_static_libraries +
316 llvm_arm_static_libraries,