authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-13 01:31:13+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-17 04:41:27+02:00
log35f81211941548b7f1c2b25a1ead0acfb69b3ab5
tree7ae521924b3442a91a6ff7b606dc6db04e10ca6e
parent553cb3ed4603f4cfcb4af4789780f45ebd26a3ac
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.zig.LibCDirs: Add NetBSD libc support.


2 files changed, 13 insertions(+), 0 deletions(-)

lib/std/zig/LibCDirs.zig+3
......@@ -172,6 +172,8 @@ pub fn detectFromBuilding(
172172 std.zig.target.muslArchNameHeaders(target.cpu.arch)
173173 else if (target.isFreeBSDLibC())
174174 std.zig.target.freebsdArchNameHeaders(target.cpu.arch)
175 else if (target.isNetBSDLibC())
176 std.zig.target.netbsdArchNameHeaders(target.cpu.arch)
175177 else
176178 @tagName(target.cpu.arch);
177179 const os_name = @tagName(target.os.tag);
......@@ -221,6 +223,7 @@ fn libCGenericName(target: std.Target) [:0]const u8 {
221223 .windows => return "mingw",
222224 .macos, .ios, .tvos, .watchos, .visionos => return "darwin",
223225 .freebsd => return "freebsd",
226 .netbsd => return "netbsd",
224227 else => {},
225228 }
226229 switch (target.abi) {
lib/std/zig/target.zig+10
......@@ -221,6 +221,16 @@ pub fn freebsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
221221 };
222222}
223223
224pub fn netbsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
225 return switch (arch) {
226 .armeb => "arm",
227 .aarch64_be => "aarch64",
228 .mipsel => "mips",
229 .mips64el => "mips64",
230 else => @tagName(arch),
231 };
232}
233
224234pub fn isLibCLibName(target: std.Target, name: []const u8) bool {
225235 const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows;
226236