Commit 15bdba410a

Andrew Kelley <andrew@ziglang.org>
2022-07-04 03:41:43
update build scripts to LLD and LLVM 14 libraries
1 parent d588f88
Changed files (4)
cmake/Findllvm.cmake
@@ -126,6 +126,7 @@ elseif(ZIG_USE_LLVM_CONFIG)
   NEED_TARGET("RISCV")
   NEED_TARGET("Sparc")
   NEED_TARGET("SystemZ")
+  NEED_TARGET("VE")
   NEED_TARGET("WebAssembly")
   NEED_TARGET("X86")
   NEED_TARGET("XCore")
@@ -200,6 +201,7 @@ else()
   FIND_AND_ADD_LLVM_LIB(LLVMXCoreCodeGen)
   FIND_AND_ADD_LLVM_LIB(LLVMXCoreDesc)
   FIND_AND_ADD_LLVM_LIB(LLVMXCoreInfo)
+  FIND_AND_ADD_LLVM_LIB(LLVMX86TargetMCA)
   FIND_AND_ADD_LLVM_LIB(LLVMX86Disassembler)
   FIND_AND_ADD_LLVM_LIB(LLVMX86AsmParser)
   FIND_AND_ADD_LLVM_LIB(LLVMX86CodeGen)
@@ -211,6 +213,11 @@ else()
   FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyDesc)
   FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyUtils)
   FIND_AND_ADD_LLVM_LIB(LLVMWebAssemblyInfo)
+  FIND_AND_ADD_LLVM_LIB(LLVMVEDisassembler)
+  FIND_AND_ADD_LLVM_LIB(LLVMVEAsmParser)
+  FIND_AND_ADD_LLVM_LIB(LLVMVECodeGen)
+  FIND_AND_ADD_LLVM_LIB(LLVMVEDesc)
+  FIND_AND_ADD_LLVM_LIB(LLVMVEInfo)
   FIND_AND_ADD_LLVM_LIB(LLVMSystemZDisassembler)
   FIND_AND_ADD_LLVM_LIB(LLVMSystemZAsmParser)
   FIND_AND_ADD_LLVM_LIB(LLVMSystemZCodeGen)
@@ -270,6 +277,7 @@ else()
   FIND_AND_ADD_LLVM_LIB(LLVMARMDesc)
   FIND_AND_ADD_LLVM_LIB(LLVMARMUtils)
   FIND_AND_ADD_LLVM_LIB(LLVMARMInfo)
+  FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUTargetMCA)
   FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUDisassembler)
   FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUAsmParser)
   FIND_AND_ADD_LLVM_LIB(LLVMAMDGPUCodeGen)
@@ -315,7 +323,6 @@ else()
   FIND_AND_ADD_LLVM_LIB(LLVMMIRParser)
   FIND_AND_ADD_LLVM_LIB(LLVMAsmPrinter)
   FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoMSF)
-  FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
   FIND_AND_ADD_LLVM_LIB(LLVMSelectionDAG)
   FIND_AND_ADD_LLVM_LIB(LLVMCodeGen)
   FIND_AND_ADD_LLVM_LIB(LLVMIRReader)
@@ -331,6 +338,7 @@ else()
   FIND_AND_ADD_LLVM_LIB(LLVMBitWriter)
   FIND_AND_ADD_LLVM_LIB(LLVMAnalysis)
   FIND_AND_ADD_LLVM_LIB(LLVMProfileData)
+  FIND_AND_ADD_LLVM_LIB(LLVMDebugInfoDWARF)
   FIND_AND_ADD_LLVM_LIB(LLVMObject)
   FIND_AND_ADD_LLVM_LIB(LLVMTextAPI)
   FIND_AND_ADD_LLVM_LIB(LLVMMCParser)
src/codegen/llvm.zig
@@ -8745,13 +8745,11 @@ fn initializeLLVMTarget(arch: std.Target.Cpu.Arch) void {
             }
         },
         .ve => {
-            if (build_options.llvm_has_ve) {
-                llvm.LLVMInitializeVETarget();
-                llvm.LLVMInitializeVETargetInfo();
-                llvm.LLVMInitializeVETargetMC();
-                llvm.LLVMInitializeVEAsmPrinter();
-                llvm.LLVMInitializeVEAsmParser();
-            }
+            llvm.LLVMInitializeVETarget();
+            llvm.LLVMInitializeVETargetInfo();
+            llvm.LLVMInitializeVETargetMC();
+            llvm.LLVMInitializeVEAsmPrinter();
+            llvm.LLVMInitializeVEAsmParser();
         },
         .arc => {
             if (build_options.llvm_has_arc) {
src/config.zig.in
@@ -1,7 +1,6 @@
 pub const have_llvm = true;
 pub const llvm_has_m68k = false;
 pub const llvm_has_csky = false;
-pub const llvm_has_ve = false;
 pub const llvm_has_arc = false;
 pub const version: [:0]const u8 = "@ZIG_VERSION@";
 pub const semver = @import("std").SemanticVersion.parse(version) catch unreachable;
build.zig
@@ -76,11 +76,6 @@ pub fn build(b: *Builder) !void {
         "llvm-has-csky",
         "Whether LLVM has the experimental target csky enabled",
     ) orelse false;
-    const llvm_has_ve = b.option(
-        bool,
-        "llvm-has-ve",
-        "Whether LLVM has the experimental target ve enabled",
-    ) orelse false;
     const llvm_has_arc = b.option(
         bool,
         "llvm-has-arc",
@@ -172,7 +167,6 @@ pub fn build(b: *Builder) !void {
     exe_options.addOption(bool, "have_llvm", enable_llvm);
     exe_options.addOption(bool, "llvm_has_m68k", llvm_has_m68k);
     exe_options.addOption(bool, "llvm_has_csky", llvm_has_csky);
-    exe_options.addOption(bool, "llvm_has_ve", llvm_has_ve);
     exe_options.addOption(bool, "llvm_has_arc", llvm_has_arc);
     exe_options.addOption(bool, "force_gpa", force_gpa);
 
@@ -396,7 +390,6 @@ pub fn build(b: *Builder) !void {
     test_cases_options.addOption(bool, "have_llvm", enable_llvm);
     test_cases_options.addOption(bool, "llvm_has_m68k", llvm_has_m68k);
     test_cases_options.addOption(bool, "llvm_has_csky", llvm_has_csky);
-    test_cases_options.addOption(bool, "llvm_has_ve", llvm_has_ve);
     test_cases_options.addOption(bool, "llvm_has_arc", llvm_has_arc);
     test_cases_options.addOption(bool, "force_gpa", force_gpa);
     test_cases_options.addOption(bool, "enable_qemu", b.enable_qemu);
@@ -997,15 +990,11 @@ const clang_libs = [_][]const u8{
     "clangToolingCore",
 };
 const lld_libs = [_][]const u8{
-    "lldDriver",
     "lldMinGW",
     "lldELF",
     "lldCOFF",
-    "lldMachO",
     "lldWasm",
-    "lldReaderWriter",
-    "lldCore",
-    "lldYAML",
+    "lldMachO",
     "lldCommon",
 };
 // This list can be re-generated with `llvm-config --libfiles` and then
@@ -1023,6 +1012,7 @@ const llvm_libs = [_][]const u8{
     "LLVMXCoreCodeGen",
     "LLVMXCoreDesc",
     "LLVMXCoreInfo",
+    "LLVMX86TargetMCA",
     "LLVMX86Disassembler",
     "LLVMX86AsmParser",
     "LLVMX86CodeGen",
@@ -1034,6 +1024,11 @@ const llvm_libs = [_][]const u8{
     "LLVMWebAssemblyDesc",
     "LLVMWebAssemblyUtils",
     "LLVMWebAssemblyInfo",
+    "LLVMVEDisassembler",
+    "LLVMVEAsmParser",
+    "LLVMVECodeGen",
+    "LLVMVEDesc",
+    "LLVMVEInfo",
     "LLVMSystemZDisassembler",
     "LLVMSystemZAsmParser",
     "LLVMSystemZCodeGen",
@@ -1093,6 +1088,7 @@ const llvm_libs = [_][]const u8{
     "LLVMARMDesc",
     "LLVMARMUtils",
     "LLVMARMInfo",
+    "LLVMAMDGPUTargetMCA",
     "LLVMAMDGPUDisassembler",
     "LLVMAMDGPUAsmParser",
     "LLVMAMDGPUCodeGen",
@@ -1138,7 +1134,6 @@ const llvm_libs = [_][]const u8{
     "LLVMMIRParser",
     "LLVMAsmPrinter",
     "LLVMDebugInfoMSF",
-    "LLVMDebugInfoDWARF",
     "LLVMSelectionDAG",
     "LLVMCodeGen",
     "LLVMIRReader",
@@ -1154,6 +1149,7 @@ const llvm_libs = [_][]const u8{
     "LLVMBitWriter",
     "LLVMAnalysis",
     "LLVMProfileData",
+    "LLVMDebugInfoDWARF",
     "LLVMObject",
     "LLVMTextAPI",
     "LLVMMCParser",