authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2026-01-15 10:51:14+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-01-19 13:16:33+01:00
loga8002a85649447b3622a81bfcbb27b2ca6d3d482
tree0abb6264d1bbc1fb428d075ff91c95bf25430a51
parentac793232eeeca87378b6b6cf4bec6e610859b5b1
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

build: avoid pkg-config when statically linking LLVM

Fixes stage4 build on NetBSD with pkg-config installed.

1 files changed, 15 insertions(+), 13 deletions(-)

build.zig+15-13
......@@ -958,46 +958,48 @@ fn addStaticLlvmOptionsToModule(mod: *std.Build.Module, options: struct {
958958 .flags = &zig_cpp_cflags,
959959 });
960960
961 const lsl_options: std.Build.Module.LinkSystemLibraryOptions = .{ .use_pkg_config = .no };
962
961963 for (clang_libs) |lib_name| {
962 mod.linkSystemLibrary(lib_name, .{});
964 mod.linkSystemLibrary(lib_name, lsl_options);
963965 }
964966
965967 for (lld_libs) |lib_name| {
966 mod.linkSystemLibrary(lib_name, .{});
968 mod.linkSystemLibrary(lib_name, lsl_options);
967969 }
968970
969971 for (llvm_libs) |lib_name| {
970 mod.linkSystemLibrary(lib_name, .{});
972 mod.linkSystemLibrary(lib_name, lsl_options);
971973 }
972974
973975 if (options.llvm_has_m68k) for (llvm_libs_m68k) |lib_name| {
974 mod.linkSystemLibrary(lib_name, .{});
976 mod.linkSystemLibrary(lib_name, lsl_options);
975977 };
976978
977979 if (options.llvm_has_csky) for (llvm_libs_csky) |lib_name| {
978 mod.linkSystemLibrary(lib_name, .{});
980 mod.linkSystemLibrary(lib_name, lsl_options);
979981 };
980982
981983 if (options.llvm_has_arc) for (llvm_libs_arc) |lib_name| {
982 mod.linkSystemLibrary(lib_name, .{});
984 mod.linkSystemLibrary(lib_name, lsl_options);
983985 };
984986
985987 if (options.llvm_has_xtensa) for (llvm_libs_xtensa) |lib_name| {
986 mod.linkSystemLibrary(lib_name, .{});
988 mod.linkSystemLibrary(lib_name, lsl_options);
987989 };
988990
989 mod.linkSystemLibrary("z", .{});
990 mod.linkSystemLibrary("zstd", .{});
991 mod.linkSystemLibrary("z", lsl_options);
992 mod.linkSystemLibrary("zstd", lsl_options);
991993
992994 if (mod.resolved_target.?.result.os.tag != .windows or mod.resolved_target.?.result.abi != .msvc) {
993995 // This means we rely on clang-or-zig-built LLVM, Clang, LLD libraries.
994 mod.linkSystemLibrary("c++", .{});
996 mod.linkSystemLibrary("c++", lsl_options);
995997 }
996998
997999 if (mod.resolved_target.?.result.os.tag == .windows) {
998 mod.linkSystemLibrary("version", .{});
999 mod.linkSystemLibrary("uuid", .{});
1000 mod.linkSystemLibrary("ole32", .{});
1000 mod.linkSystemLibrary("version", lsl_options);
1001 mod.linkSystemLibrary("uuid", lsl_options);
1002 mod.linkSystemLibrary("ole32", lsl_options);
10011003 }
10021004}
10031005