Commit 35f8121194

Alex Rønne Petersen <alex@alexrp.com>
2025-05-13 01:31:13
std.zig.LibCDirs: Add NetBSD libc support.
1 parent 553cb3e
Changed files (2)
lib/std/zig/LibCDirs.zig
@@ -172,6 +172,8 @@ pub fn detectFromBuilding(
         std.zig.target.muslArchNameHeaders(target.cpu.arch)
     else if (target.isFreeBSDLibC())
         std.zig.target.freebsdArchNameHeaders(target.cpu.arch)
+    else if (target.isNetBSDLibC())
+        std.zig.target.netbsdArchNameHeaders(target.cpu.arch)
     else
         @tagName(target.cpu.arch);
     const os_name = @tagName(target.os.tag);
@@ -221,6 +223,7 @@ fn libCGenericName(target: std.Target) [:0]const u8 {
         .windows => return "mingw",
         .macos, .ios, .tvos, .watchos, .visionos => return "darwin",
         .freebsd => return "freebsd",
+        .netbsd => return "netbsd",
         else => {},
     }
     switch (target.abi) {
lib/std/zig/target.zig
@@ -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 {
     const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows;