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 "libLLVMInstCombine",
242 "libLLVMInstrumentation",
243 "libLLVMTransformObjCARC",
244 "libLLVMTransformUtils",
248 "libLLVMMCDisassembler",
256 "libLLVMProfileData",
257 "libLLVMProfileDataCoverage",
259 "libLLVMExecutionEngine",
260 "libLLVMRuntimeDyld",
263 "libLLVMBinaryFormat",
266 export_include_dirs: ["include"],
270 // Host build pulls in all ARM, Mips, X86 components.
271 whole_static_libs: llvm_arm_static_libraries +
272 llvm_aarch64_static_libraries +
273 llvm_mips_static_libraries +
274 llvm_x86_static_libraries,
275 export_include_dirs: ["host/include"],
299 export_include_dirs: ["device/include"],
300 whole_static_libs: llvm_amdgpu_static_libraries,
303 whole_static_libs: llvm_arm_static_libraries,
306 whole_static_libs: llvm_x86_static_libraries +
307 llvm_arm_static_libraries +
308 llvm_aarch64_static_libraries,
311 whole_static_libs: llvm_x86_static_libraries +
312 llvm_arm_static_libraries +
313 llvm_aarch64_static_libraries,
316 whole_static_libs: llvm_mips_static_libraries,
319 whole_static_libs: llvm_mips_static_libraries,
322 whole_static_libs: llvm_aarch64_static_libraries +
323 llvm_arm_static_libraries,