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 {...@@ -958,46 +958,48 @@ fn addStaticLlvmOptionsToModule(mod: *std.Build.Module, options: struct {
958 .flags = &zig_cpp_cflags,958 .flags = &zig_cpp_cflags,
959 });959 });
960960
961 const lsl_options: std.Build.Module.LinkSystemLibraryOptions = .{ .use_pkg_config = .no };
962
961 for (clang_libs) |lib_name| {963 for (clang_libs) |lib_name| {
962 mod.linkSystemLibrary(lib_name, .{});964 mod.linkSystemLibrary(lib_name, lsl_options);
963 }965 }
964966
965 for (lld_libs) |lib_name| {967 for (lld_libs) |lib_name| {
966 mod.linkSystemLibrary(lib_name, .{});968 mod.linkSystemLibrary(lib_name, lsl_options);
967 }969 }
968970
969 for (llvm_libs) |lib_name| {971 for (llvm_libs) |lib_name| {
970 mod.linkSystemLibrary(lib_name, .{});972 mod.linkSystemLibrary(lib_name, lsl_options);
971 }973 }
972974
973 if (options.llvm_has_m68k) for (llvm_libs_m68k) |lib_name| {975 if (options.llvm_has_m68k) for (llvm_libs_m68k) |lib_name| {
974 mod.linkSystemLibrary(lib_name, .{});976 mod.linkSystemLibrary(lib_name, lsl_options);
975 };977 };
976978
977 if (options.llvm_has_csky) for (llvm_libs_csky) |lib_name| {979 if (options.llvm_has_csky) for (llvm_libs_csky) |lib_name| {
978 mod.linkSystemLibrary(lib_name, .{});980 mod.linkSystemLibrary(lib_name, lsl_options);
979 };981 };
980982
981 if (options.llvm_has_arc) for (llvm_libs_arc) |lib_name| {983 if (options.llvm_has_arc) for (llvm_libs_arc) |lib_name| {
982 mod.linkSystemLibrary(lib_name, .{});984 mod.linkSystemLibrary(lib_name, lsl_options);
983 };985 };
984986
985 if (options.llvm_has_xtensa) for (llvm_libs_xtensa) |lib_name| {987 if (options.llvm_has_xtensa) for (llvm_libs_xtensa) |lib_name| {
986 mod.linkSystemLibrary(lib_name, .{});988 mod.linkSystemLibrary(lib_name, lsl_options);
987 };989 };
988990
989 mod.linkSystemLibrary("z", .{});991 mod.linkSystemLibrary("z", lsl_options);
990 mod.linkSystemLibrary("zstd", .{});992 mod.linkSystemLibrary("zstd", lsl_options);
991993
992 if (mod.resolved_target.?.result.os.tag != .windows or mod.resolved_target.?.result.abi != .msvc) {994 if (mod.resolved_target.?.result.os.tag != .windows or mod.resolved_target.?.result.abi != .msvc) {
993 // This means we rely on clang-or-zig-built LLVM, Clang, LLD libraries.995 // This means we rely on clang-or-zig-built LLVM, Clang, LLD libraries.
994 mod.linkSystemLibrary("c++", .{});996 mod.linkSystemLibrary("c++", lsl_options);
995 }997 }
996998
997 if (mod.resolved_target.?.result.os.tag == .windows) {999 if (mod.resolved_target.?.result.os.tag == .windows) {
998 mod.linkSystemLibrary("version", .{});1000 mod.linkSystemLibrary("version", lsl_options);
999 mod.linkSystemLibrary("uuid", .{});1001 mod.linkSystemLibrary("uuid", lsl_options);
1000 mod.linkSystemLibrary("ole32", .{});1002 mod.linkSystemLibrary("ole32", lsl_options);
1001 }1003 }
1002}1004}
10031005