Skip to content

Commit d3ef89a

Browse files
committed
DO NOT MERGE: android: translate soong build rules for libLLVM18
Changes to side build external/llvm-project project (llvm 18 version) and avoid conflicts with external/llvm project targets and variables Changes in mesa main Android.mk are required for libLLVM18 shared library dependency and cflag -DMESA_LLVM_VERSION_STRING=\"18.0\" The changelog is described by means of modules and variables which needed to be renamed in external/llvm-project/llvm/ path: #rename the target shared library and all static libraries find . -type f -name "*.bp" -exec sed -i 's/libLLVM/libLLVM18/g' {} + #rename the boostrap and contextual build paths find . -type f -name "*.bp" -exec sed -i 's/soong\-llvm/\soong-llvm18/g' {} + find . -type f -name "*.go" -exec sed -i 's/android\/soong\/llvm/android\/soong\/llvm18/g' {} + #rename force_build_llvm_components type and module name find . -type f -name '*.bp' -exec sed -i 's/force_build_llvm_components/force_build_llvm18_components/g' {} + find . -type f -name '*.go' -exec sed -i 's/force_build_llvm_components/force_build_llvm18_components/g' {} + #rename all module that gave 'already defined' error find . -type f -name '*.bp' -exec sed -i 's/llvm-aarch64-defaults/llvm18-aarch64-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-aarch64-headers/llvm18-aarch64-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-amdgpu-defaults/llvm18-amdgpu-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-amdgpu-headers/llvm18-amdgpu-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-arm-defaults/llvm18-arm-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-arm-headers/llvm18-arm-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-defaults/llvm18-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-defaults-no-generated-headers/llvm18-defaults-no-generated-headers/g' {} + #note the following line replaced all llvm-gen-* entries of the previous versions find . -type f -name '*.bp' -exec sed -i 's/llvm-gen-/llvm18-gen-/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-headers/llvm18-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-headers-no-generated-headers/llvm18-headers-no-generated-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-lib-defaults/llvm18-lib-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-mips-defaults/llvm18-mips-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-mips-headers/llvm18-mips-headers/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-tblgen/llvm18-tblgen/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-x86-defaults/llvm18-x86-defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm-x86-headers/llvm18-x86-headers/g' {} + #COMMENTED AS NOT NEEDED ANYMORE rename llvm-gen-instcombine module #find . -type f -name '*.bp' -exec sed -i 's/llvm-gen-instcombine/llvm18-gen-instcombine/g' {} + #rename the binaries find . -type f -name '*.bp' -exec sed -i 's/LLVMHello/LLVM18Hello/g' {} + find . -type f -name '*.bp' -exec sed -i 's/LLVMgold/LLVM18gold/g' {} + #rename the TableGen binary module and variable in different files find . -type f -name '*.go' -exec sed -i 's/LLVM TableGen/LLVM18 TableGen/g' {} + find . -type f -name '*.go' -exec sed -i 's/llvm-tblgen/llvm18-tblgen/g' {} + find . -type f -name '*.go' -exec sed -i 's/llvmTblgen/llvm18Tblgen/g' {} + find . -type f -name '*.go' -exec sed -i 's/tblgenRule/tblgenRule18/g' {} + find . -type f -name '*.bp' -exec sed -i 's/llvm_tblgen/llvm18_tblgen/g' {} + find . -type f -name '*.go' -exec sed -i 's/llvm_tblgen/llvm18_tblgen/g' {} + find . -type f -name 'tdtags' -exec sed -i 's/llvm-tblgen/llvm18-tblgen/g' {} + #COMMENTED AS NOT NEEDED in external/llvm-project (was: rename the include paths) #find . -type f -name '*.bp' -exec sed -i 's/external\/llvm/external\/llvm18/g' {} + #find . -type f -name '*.go' -exec sed -i 's/external\/llvm/external\/llvm18/g' {} + #rename package, registered types and llvm-config find . -type f -name '*.go' -exec sed -i 's/package llvm/package llvm18/g' {} + find . -type f -name '*.go' -exec sed -i 's/llvm_tblgen/llvm18_tblgen/g' {} + find . -type f -name '*.go' -exec sed -i 's/llvm_defaults/llvm18_defaults/g' {} + find . -type f -name '*.bp' -exec sed -i 's/ llvm-config / llvm18-config /g' {} + find . -type f -name '*.bp' -exec sed -i 's/"llvm-config"/"llvm18-config"/g' {} + find . -type f -name '*.go' -exec sed -i 's/"llvm-config"/"llvm18-config"/g' {} +
1 parent 611d453 commit d3ef89a

File tree

108 files changed

+463
-463
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

108 files changed

+463
-463
lines changed

llvm/Android.bp

Lines changed: 133 additions & 133 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
cc_defaults {
2-
name: "llvm-defaults",
3-
defaults: ["llvm-defaults-no-generated-headers"],
4-
header_libs: ["llvm-headers"],
2+
name: "llvm18-defaults",
3+
defaults: ["llvm18-defaults-no-generated-headers"],
4+
header_libs: ["llvm18-headers"],
55
}
66

77
// This module defines all of the defaults used to compiled llvm, except for
88
// the generated headers. It is necessary to avoid a circular dependency
99
// from the tblgen tool used to generate the headers to the generated headers.
1010
llvm_defaults {
11-
name: "llvm-defaults-no-generated-headers",
11+
name: "llvm18-defaults-no-generated-headers",
1212

1313
host_supported: true,
1414

@@ -41,7 +41,7 @@ llvm_defaults {
4141
"-std=c++17",
4242
],
4343

44-
header_libs: ["llvm-headers-no-generated-headers"],
44+
header_libs: ["llvm18-headers-no-generated-headers"],
4545

4646
target: {
4747
android: {
@@ -96,7 +96,7 @@ llvm_defaults {
9696
}
9797

9898
cc_library_headers {
99-
name: "llvm-headers-no-generated-headers",
99+
name: "llvm18-headers-no-generated-headers",
100100
vendor_available: true,
101101
host_supported: true,
102102
export_include_dirs: ["include"],
@@ -117,26 +117,26 @@ cc_library_headers {
117117
}
118118

119119
cc_library_headers {
120-
name: "llvm-headers",
120+
name: "llvm18-headers",
121121
vendor_available: true,
122122
host_supported: true,
123-
header_libs: ["llvm-headers-no-generated-headers"],
124-
export_header_lib_headers: ["llvm-headers-no-generated-headers"],
123+
header_libs: ["llvm18-headers-no-generated-headers"],
124+
export_header_lib_headers: ["llvm18-headers-no-generated-headers"],
125125
generated_headers: [
126-
"llvm-gen-attributes",
127-
"llvm-gen-intrinsics",
128-
"llvm-gen-revision",
129-
"llvm-gen-extension",
130-
"llvm-gen-omp_gen",
131-
"llvm-gen-acc_gen",
126+
"llvm18-gen-attributes",
127+
"llvm18-gen-intrinsics",
128+
"llvm18-gen-revision",
129+
"llvm18-gen-extension",
130+
"llvm18-gen-omp_gen",
131+
"llvm18-gen-acc_gen",
132132
],
133133
export_generated_headers: [
134-
"llvm-gen-attributes",
135-
"llvm-gen-intrinsics",
136-
"llvm-gen-revision",
137-
"llvm-gen-extension",
138-
"llvm-gen-omp_gen",
139-
"llvm-gen-acc_gen",
134+
"llvm18-gen-attributes",
135+
"llvm18-gen-intrinsics",
136+
"llvm18-gen-revision",
137+
"llvm18-gen-extension",
138+
"llvm18-gen-omp_gen",
139+
"llvm18-gen-acc_gen",
140140
],
141141
target: {
142142
windows: {
@@ -145,14 +145,14 @@ cc_library_headers {
145145
},
146146
}
147147

148-
llvm_tblgen {
149-
name: "llvm-gen-attributes",
148+
llvm18_tblgen {
149+
name: "llvm18-gen-attributes",
150150
in: "include/llvm/IR/Attributes.td",
151151
outs: ["llvm/IR/Attributes.inc"],
152152
}
153153

154-
llvm_tblgen {
155-
name: "llvm-gen-intrinsics",
154+
llvm18_tblgen {
155+
name: "llvm18-gen-intrinsics",
156156
in: "include/llvm/IR/Intrinsics.td",
157157
outs: [
158158
"llvm/IR/IntrinsicEnums.inc",
@@ -177,178 +177,178 @@ llvm_tblgen {
177177
],
178178
}
179179

180-
llvm_tblgen {
181-
name: "llvm-gen-omp_gen",
180+
llvm18_tblgen {
181+
name: "llvm18-gen-omp_gen",
182182
in: "include/llvm/Frontend/OpenMP/OMP.td",
183183
outs: [
184184
"llvm/Frontend/OpenMP/OMP.h.inc",
185185
"llvm/Frontend/OpenMP/OMP.inc",
186186
],
187187
}
188188

189-
llvm_tblgen {
190-
name: "llvm-gen-acc_gen",
189+
llvm18_tblgen {
190+
name: "llvm18-gen-acc_gen",
191191
in: "include/llvm/Frontend/OpenACC/ACC.td",
192192
outs: [
193193
"llvm/Frontend/OpenMP/ACC.h.inc",
194194
"llvm/Frontend/OpenMP/ACC.inc",
195195
],
196196
}
197197

198-
llvm_tblgen {
199-
name: "llvm-gen-riscv-target-def",
198+
llvm18_tblgen {
199+
name: "llvm18-gen-riscv-target-def",
200200
in: "lib/Target/RISCV/RISCV.td",
201201
outs: ["llvm/TargetParser/RISCVTargetParserDef.inc"],
202202
}
203203

204204
genrule {
205-
name: "llvm-gen-revision",
205+
name: "llvm18-gen-revision",
206206
out: ["llvm/Support/VCSRevision.h"],
207207
srcs: [".git/logs/HEAD*"],
208208
tool_files: ["git_sha1_gen.py"],
209209
cmd: "python $(location git_sha1_gen.py) --output $(out)",
210210
}
211211

212212
genrule {
213-
name: "llvm-gen-extension",
213+
name: "llvm18-gen-extension",
214214
out: ["llvm/Support/Extension.def"],
215215
srcs: [".git/logs/HEAD*"],
216216
tool_files: ["utils/gn/secondary/llvm/include/llvm/Support/write_extension_def.py"],
217217
cmd: "python $(location utils/gn/secondary/llvm/include/llvm/Support/write_extension_def.py) --output $(out)",
218218
}
219219

220-
force_build_llvm_components_defaults {
221-
name: "force_build_llvm_components",
220+
force_build_llvm18_components_defaults {
221+
name: "force_build_llvm18_components",
222222
// Host build disabled by soong/llvm.go unless FORCE_BUILD_LLVM_COMPONENTS
223223
// environment variable is set
224224
}
225225

226226
// LLVM shared library build
227227

228228
llvm_arm_static_libraries = [
229-
"libLLVMARMCodeGen",
230-
"libLLVMARMAsmParser",
231-
"libLLVMARMAsmPrinter",
232-
"libLLVMARMInfo",
233-
"libLLVMARMDesc",
234-
"libLLVMARMDisassembler",
235-
"libLLVMARMUtils",
229+
"libLLVM18ARMCodeGen",
230+
"libLLVM18ARMAsmParser",
231+
"libLLVM18ARMAsmPrinter",
232+
"libLLVM18ARMInfo",
233+
"libLLVM18ARMDesc",
234+
"libLLVM18ARMDisassembler",
235+
"libLLVM18ARMUtils",
236236
]
237237

238238
llvm_x86_static_libraries = [
239-
"libLLVMX86CodeGen",
240-
"libLLVMX86Info",
241-
"libLLVMX86Desc",
242-
"libLLVMX86AsmParser",
243-
"libLLVMX86AsmPrinter",
244-
"libLLVMX86Utils",
245-
"libLLVMX86Disassembler",
239+
"libLLVM18X86CodeGen",
240+
"libLLVM18X86Info",
241+
"libLLVM18X86Desc",
242+
"libLLVM18X86AsmParser",
243+
"libLLVM18X86AsmPrinter",
244+
"libLLVM18X86Utils",
245+
"libLLVM18X86Disassembler",
246246
]
247247

248248
llvm_mips_static_libraries = [
249-
"libLLVMMipsCodeGen",
250-
"libLLVMMipsInfo",
251-
"libLLVMMipsDesc",
252-
"libLLVMMipsAsmParser",
253-
"libLLVMMipsAsmPrinter",
254-
"libLLVMMipsDisassembler",
249+
"libLLVM18MipsCodeGen",
250+
"libLLVM18MipsInfo",
251+
"libLLVM18MipsDesc",
252+
"libLLVM18MipsAsmParser",
253+
"libLLVM18MipsAsmPrinter",
254+
"libLLVM18MipsDisassembler",
255255
]
256256

257257
llvm_aarch64_static_libraries = [
258-
"libLLVMAArch64CodeGen",
259-
"libLLVMAArch64Info",
260-
"libLLVMAArch64Desc",
261-
"libLLVMAArch64AsmParser",
262-
"libLLVMAArch64AsmPrinter",
263-
"libLLVMAArch64Utils",
264-
"libLLVMAArch64Disassembler",
258+
"libLLVM18AArch64CodeGen",
259+
"libLLVM18AArch64Info",
260+
"libLLVM18AArch64Desc",
261+
"libLLVM18AArch64AsmParser",
262+
"libLLVM18AArch64AsmPrinter",
263+
"libLLVM18AArch64Utils",
264+
"libLLVM18AArch64Disassembler",
265265
]
266266

267267
llvm_amdgpu_static_libraries = [
268-
"libLLVMAMDGPUCodeGen",
269-
"libLLVMAMDGPUInfo",
270-
"libLLVMAMDGPUDesc",
271-
"libLLVMAMDGPUAsmParser",
272-
"libLLVMAMDGPUAsmPrinter",
273-
"libLLVMAMDGPUUtils",
274-
"libLLVMAMDGPUDisassembler",
268+
"libLLVM18AMDGPUCodeGen",
269+
"libLLVM18AMDGPUInfo",
270+
"libLLVM18AMDGPUDesc",
271+
"libLLVM18AMDGPUAsmParser",
272+
"libLLVM18AMDGPUAsmPrinter",
273+
"libLLVM18AMDGPUUtils",
274+
"libLLVM18AMDGPUDisassembler",
275275
]
276276

277277

278278
cc_library_shared {
279279
host_supported: true,
280280
vendor_available: true,
281-
name: "libLLVM",
281+
name: "libLLVM18",
282282
defaults: [
283-
"llvm-defaults",
284-
"force_build_llvm_components",
283+
"llvm18-defaults",
284+
"force_build_llvm18_components",
285285
],
286286

287287
whole_static_libs: [
288288
// pre static libraries
289-
"libLLVMLinker",
290-
"libLLVMipo",
291-
"libLLVMDebugInfoBTF",
292-
"libLLVMDebugInfoDWARF",
293-
"libLLVMDebugInfoMSF",
294-
"libLLVMDebugInfoPDB",
295-
"libLLVMSymbolize",
296-
"libLLVMIRPrinter",
297-
"libLLVMIRReader",
298-
"libLLVMBitWriter",
299-
"libLLVMBitReader",
300-
"libLLVMPasses",
301-
"libLLVMDemangle",
302-
"libLLVMBitstreamReader",
289+
"libLLVM18Linker",
290+
"libLLVM18ipo",
291+
"libLLVM18DebugInfoBTF",
292+
"libLLVM18DebugInfoDWARF",
293+
"libLLVM18DebugInfoMSF",
294+
"libLLVM18DebugInfoPDB",
295+
"libLLVM18Symbolize",
296+
"libLLVM18IRPrinter",
297+
"libLLVM18IRReader",
298+
"libLLVM18BitWriter",
299+
"libLLVM18BitReader",
300+
"libLLVM18Passes",
301+
"libLLVM18Demangle",
302+
"libLLVM18BitstreamReader",
303303

304304
// post static libraries
305-
"libLLVMLTO",
306-
"libLLVMAsmPrinter",
307-
"libLLVMSelectionDAG",
308-
"libLLVMCodeGen",
309-
"libLLVMDebugInfoCodeView",
310-
"libLLVMObject",
311-
"libLLVMScalarOpts",
312-
"libLLVMAggressiveInstCombine",
313-
"libLLVMInstCombine",
314-
"libLLVMInstrumentation",
315-
"libLLVMTransformObjCARC",
316-
"libLLVMTransformUtils",
317-
"libLLVMAnalysis",
318-
"libLLVMTarget",
319-
"libLLVMTargetParser",
320-
"libLLVMGlobalISel",
321-
"libLLVMMCDisassembler",
322-
"libLLVMMC",
323-
"libLLVMMCParser",
324-
"libLLVMCore",
325-
"libLLVMAsmParser",
326-
"libLLVMOption",
327-
"libLLVMSupport",
328-
"libLLVMVectorize",
329-
"libLLVMProfileData",
330-
"libLLVMProfileDataCoverage",
331-
"libLLVMLibDriver",
332-
"libLLVMExecutionEngine",
333-
"libLLVMRuntimeDyld",
334-
"libLLVMMCJIT",
335-
"libLLVMOrcJIT",
336-
"libLLVMBinaryFormat",
337-
"libLLVMMIRParser",
338-
"libLLVMRemarks",
339-
"libLLVMJITLink",
340-
"libLLVMCoroutines",
341-
"libLLVMTextAPI",
342-
"libLLVMCFGuard",
343-
"libLLVMFrontendOpenMP",
344-
"libLLVMHelloNew",
345-
"libLLVMOrcShared",
346-
"libLLVMOrcTargetProcess",
347-
"libLLVMInterfaceStub",
348-
"libLLVMDebuginfod",
349-
"libLLVMWindowsDriver",
350-
"libLLVMHipStdPar",
351-
"libLLVMFrontendOffloading",
305+
"libLLVM18LTO",
306+
"libLLVM18AsmPrinter",
307+
"libLLVM18SelectionDAG",
308+
"libLLVM18CodeGen",
309+
"libLLVM18DebugInfoCodeView",
310+
"libLLVM18Object",
311+
"libLLVM18ScalarOpts",
312+
"libLLVM18AggressiveInstCombine",
313+
"libLLVM18InstCombine",
314+
"libLLVM18Instrumentation",
315+
"libLLVM18TransformObjCARC",
316+
"libLLVM18TransformUtils",
317+
"libLLVM18Analysis",
318+
"libLLVM18Target",
319+
"libLLVM18TargetParser",
320+
"libLLVM18GlobalISel",
321+
"libLLVM18MCDisassembler",
322+
"libLLVM18MC",
323+
"libLLVM18MCParser",
324+
"libLLVM18Core",
325+
"libLLVM18AsmParser",
326+
"libLLVM18Option",
327+
"libLLVM18Support",
328+
"libLLVM18Vectorize",
329+
"libLLVM18ProfileData",
330+
"libLLVM18ProfileDataCoverage",
331+
"libLLVM18LibDriver",
332+
"libLLVM18ExecutionEngine",
333+
"libLLVM18RuntimeDyld",
334+
"libLLVM18MCJIT",
335+
"libLLVM18OrcJIT",
336+
"libLLVM18BinaryFormat",
337+
"libLLVM18MIRParser",
338+
"libLLVM18Remarks",
339+
"libLLVM18JITLink",
340+
"libLLVM18Coroutines",
341+
"libLLVM18TextAPI",
342+
"libLLVM18CFGuard",
343+
"libLLVM18FrontendOpenMP",
344+
"libLLVM18HelloNew",
345+
"libLLVM18OrcShared",
346+
"libLLVM18OrcTargetProcess",
347+
"libLLVM18InterfaceStub",
348+
"libLLVM18Debuginfod",
349+
"libLLVM18WindowsDriver",
350+
"libLLVM18HipStdPar",
351+
"libLLVM18FrontendOffloading",
352352
],
353353

354354
export_include_dirs: ["include"],

llvm/lib/Analysis/Android.bp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
cc_library_static {
2-
name: "libLLVMAnalysis",
2+
name: "libLLVM18Analysis",
33
defaults: [
4-
"llvm-lib-defaults",
4+
"llvm18-lib-defaults",
55
],
66
srcs: [
77
"AliasAnalysis.cpp",

0 commit comments

Comments
 (0)