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",
150 "llvm/IR/IntrinsicEnums.inc",
151 "llvm/IR/IntrinsicImpl.inc",
155 force_build_llvm_components_defaults {
156 name: "force_build_llvm_components",
157 // Host build disabled by soong/llvm.go unless FORCE_BUILD_LLVM_COMPONENTS
158 // environment variable is set
161 // LLVM shared library build
163 llvm_arm_static_libraries = [
165 "libLLVMARMAsmParser",
166 "libLLVMARMAsmPrinter",
169 "libLLVMARMDisassembler",
173 llvm_x86_static_libraries = [
177 "libLLVMX86AsmParser",
178 "libLLVMX86AsmPrinter",
180 "libLLVMX86Disassembler",
183 llvm_mips_static_libraries = [
184 "libLLVMMipsCodeGen",
187 "libLLVMMipsAsmParser",
188 "libLLVMMipsAsmPrinter",
189 "libLLVMMipsDisassembler",
192 llvm_aarch64_static_libraries = [
193 "libLLVMAArch64CodeGen",
194 "libLLVMAArch64Info",
195 "libLLVMAArch64Desc",
196 "libLLVMAArch64AsmParser",
197 "libLLVMAArch64AsmPrinter",
198 "libLLVMAArch64Utils",
199 "libLLVMAArch64Disassembler",
202 llvm_amdgpu_static_libraries = [
203 "libLLVMAMDGPUCodeGen",
206 "libLLVMAMDGPUAsmParser",
207 "libLLVMAMDGPUAsmPrinter",
208 "libLLVMAMDGPUUtils",
213 host_supported: true,
217 "force_build_llvm_components",
221 // pre static libraries
224 "libLLVMDebugInfoDWARF",
225 "libLLVMDebugInfoMSF",
226 "libLLVMDebugInfoPDB",
233 // post static libraries
236 "libLLVMSelectionDAG",
238 "libLLVMDebugInfoCodeView",
241 "libLLVMAggressiveInstCombine",
242 "libLLVMInstCombine",
243 "libLLVMInstrumentation",
244 "libLLVMTransformObjCARC",
245 "libLLVMTransformUtils",
249 "libLLVMMCDisassembler",
257 "libLLVMProfileData",
258 "libLLVMProfileDataCoverage",
260 "libLLVMExecutionEngine",
261 "libLLVMRuntimeDyld",
264 "libLLVMBinaryFormat",
267 export_include_dirs: ["include"],
271 // Host build pulls in all ARM, Mips, X86 components.
272 whole_static_libs: llvm_arm_static_libraries +
273 llvm_aarch64_static_libraries +
274 llvm_mips_static_libraries +
275 llvm_x86_static_libraries,
276 export_include_dirs: ["host/include"],
300 export_include_dirs: ["device/include"],
301 whole_static_libs: llvm_amdgpu_static_libraries,
304 whole_static_libs: llvm_arm_static_libraries,
307 whole_static_libs: llvm_x86_static_libraries +
308 llvm_arm_static_libraries +
309 llvm_aarch64_static_libraries,
312 whole_static_libs: llvm_x86_static_libraries +
313 llvm_arm_static_libraries +
314 llvm_aarch64_static_libraries,
317 whole_static_libs: llvm_mips_static_libraries,
320 whole_static_libs: llvm_mips_static_libraries,
323 whole_static_libs: llvm_aarch64_static_libraries +
324 llvm_arm_static_libraries,