std.zig.LibCDirs: Add NetBSD libc support.

This commit is contained in:
Alex Rønne Petersen 2025-05-13 01:31:13 +02:00
parent 553cb3ed46
commit 35f8121194
No known key found for this signature in database
2 changed files with 13 additions and 0 deletions

View file

@ -172,6 +172,8 @@ pub fn detectFromBuilding(
std.zig.target.muslArchNameHeaders(target.cpu.arch) std.zig.target.muslArchNameHeaders(target.cpu.arch)
else if (target.isFreeBSDLibC()) else if (target.isFreeBSDLibC())
std.zig.target.freebsdArchNameHeaders(target.cpu.arch) std.zig.target.freebsdArchNameHeaders(target.cpu.arch)
else if (target.isNetBSDLibC())
std.zig.target.netbsdArchNameHeaders(target.cpu.arch)
else else
@tagName(target.cpu.arch); @tagName(target.cpu.arch);
const os_name = @tagName(target.os.tag); const os_name = @tagName(target.os.tag);
@ -221,6 +223,7 @@ fn libCGenericName(target: std.Target) [:0]const u8 {
.windows => return "mingw", .windows => return "mingw",
.macos, .ios, .tvos, .watchos, .visionos => return "darwin", .macos, .ios, .tvos, .watchos, .visionos => return "darwin",
.freebsd => return "freebsd", .freebsd => return "freebsd",
.netbsd => return "netbsd",
else => {}, else => {},
} }
switch (target.abi) { switch (target.abi) {

View file

@ -221,6 +221,16 @@ pub fn freebsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
}; };
} }
pub fn netbsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
return switch (arch) {
.armeb => "arm",
.aarch64_be => "aarch64",
.mipsel => "mips",
.mips64el => "mips64",
else => @tagName(arch),
};
}
pub fn isLibCLibName(target: std.Target, name: []const u8) bool { pub fn isLibCLibName(target: std.Target, name: []const u8) bool {
const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows; const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows;