2 name: "llvm90-defaults",
3 defaults: ["llvm90-defaults-no-generated-headers"],
4 header_libs: ["llvm90-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: "llvm90-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: ["llvm90-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: "llvm90-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: "llvm90-headers",
121 vendor_available: true,
122 host_supported: true,
123 header_libs: ["llvm90-headers-no-generated-headers"],
124 export_header_lib_headers: ["llvm90-headers-no-generated-headers"],
126 "llvm90-gen-attributes",
127 "llvm90-gen-intrinsics",
128 "llvm90-gen-revision",
130 export_generated_headers: [
131 "llvm90-gen-attributes",
132 "llvm90-gen-intrinsics",
133 "llvm90-gen-revision",
143 name: "llvm90-gen-attributes",
144 in: "include/llvm/IR/Attributes.td",
145 outs: ["llvm/IR/Attributes.inc"],
149 name: "llvm90-gen-intrinsics",
150 in: "include/llvm/IR/Intrinsics.td",
152 "llvm/IR/IntrinsicEnums.inc",
153 "llvm/IR/IntrinsicImpl.inc",
158 name: "llvm90-gen-revision",
159 out: ["llvm/Support/VCSRevision.h"],
160 srcs: [".git/logs/HEAD*"],
161 tool_files: ["git_sha1_gen.py"],
162 cmd: "python $(location git_sha1_gen.py) --output $(out)",
165 force_build_llvm90_components_defaults {
166 name: "force_build_llvm90_components",
167 // Host build disabled by soong/llvm.go unless FORCE_BUILD_LLVM_COMPONENTS
168 // environment variable is set
171 // LLVM shared library build
173 llvm_arm_static_libraries = [
174 "libLLVM90ARMCodeGen",
175 "libLLVM90ARMAsmParser",
176 "libLLVM90ARMAsmPrinter",
179 "libLLVM90ARMDisassembler",
183 llvm_x86_static_libraries = [
184 "libLLVM90X86CodeGen",
187 "libLLVM90X86AsmParser",
188 "libLLVM90X86AsmPrinter",
190 "libLLVM90X86Disassembler",
193 llvm_mips_static_libraries = [
194 "libLLVM90MipsCodeGen",
197 "libLLVM90MipsAsmParser",
198 "libLLVM90MipsAsmPrinter",
199 "libLLVM90MipsDisassembler",
202 llvm_aarch64_static_libraries = [
203 "libLLVM90AArch64CodeGen",
204 "libLLVM90AArch64Info",
205 "libLLVM90AArch64Desc",
206 "libLLVM90AArch64AsmParser",
207 "libLLVM90AArch64AsmPrinter",
208 "libLLVM90AArch64Utils",
209 "libLLVM90AArch64Disassembler",
212 llvm_amdgpu_static_libraries = [
213 "libLLVM90AMDGPUCodeGen",
214 "libLLVM90AMDGPUInfo",
215 "libLLVM90AMDGPUDesc",
216 "libLLVM90AMDGPUAsmParser",
217 "libLLVM90AMDGPUAsmPrinter",
218 "libLLVM90AMDGPUUtils",
219 "libLLVM90AMDGPUDisassembler",
224 host_supported: true,
228 "force_build_llvm90_components",
232 // pre static libraries
235 "libLLVM90DebugInfoDWARF",
236 "libLLVM90DebugInfoMSF",
237 "libLLVM90DebugInfoPDB",
238 "libLLVM90Symbolize",
240 "libLLVM90BitWriter",
241 "libLLVM90BitReader",
244 "libLLVM90BitstreamReader",
246 // post static libraries
248 "libLLVM90AsmPrinter",
249 "libLLVM90SelectionDAG",
251 "libLLVM90DebugInfoCodeView",
253 "libLLVM90ScalarOpts",
254 "libLLVM90AggressiveInstCombine",
255 "libLLVM90InstCombine",
256 "libLLVM90Instrumentation",
257 "libLLVM90TransformObjCARC",
258 "libLLVM90TransformUtils",
261 "libLLVM90GlobalISel",
262 "libLLVM90MCDisassembler",
266 "libLLVM90AsmParser",
269 "libLLVM90Vectorize",
270 "libLLVM90ProfileData",
271 "libLLVM90ProfileDataCoverage",
272 "libLLVM90LibDriver",
273 "libLLVM90ExecutionEngine",
274 "libLLVM90RuntimeDyld",
277 "libLLVM90BinaryFormat",
278 "libLLVM90MIRParser",
281 "libLLVM90Coroutines",
284 export_include_dirs: ["include"],
288 // Host build pulls in all ARM, Mips, X86 components.
289 whole_static_libs: llvm_arm_static_libraries +
290 llvm_aarch64_static_libraries +
291 llvm_mips_static_libraries +
292 llvm_x86_static_libraries,
293 export_include_dirs: ["host/include"],
317 export_include_dirs: ["device/include"],
318 whole_static_libs: llvm_amdgpu_static_libraries,
321 whole_static_libs: llvm_arm_static_libraries,
324 whole_static_libs: llvm_x86_static_libraries +
325 llvm_arm_static_libraries +
326 llvm_aarch64_static_libraries,
329 whole_static_libs: llvm_x86_static_libraries +
330 llvm_arm_static_libraries +
331 llvm_aarch64_static_libraries,
334 whole_static_libs: llvm_mips_static_libraries,
337 whole_static_libs: llvm_mips_static_libraries,
340 whole_static_libs: llvm_aarch64_static_libraries +
341 llvm_arm_static_libraries,