authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-04-21 06:52:06+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2025-05-10 12:19:26+02:00
log01390cc533b471c5a8ad13b8b1380a508b630fef
tree9c4fdec7edc8bd3903e3be9ad58ad99a7f56caf1
parent6e64bc845ff6d98fda4eca45b79baf4d77954465
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.zig.LibCDirs: Add FreeBSD libc support.


2 files changed, 12 insertions(+), 2 deletions(-)

lib/std/zig/LibCDirs.zig+5-2
......@@ -168,12 +168,14 @@ pub fn detectFromBuilding(
168168
169169 const generic_name = libCGenericName(target);
170170 // Some architecture families are handled by the same set of headers.
171 const arch_name = if (target.abi.isMusl())
171 const arch_name = if (target.isMuslLibC())
172172 std.zig.target.muslArchNameHeaders(target.cpu.arch)
173 else if (target.isFreeBSDLibC())
174 std.zig.target.freebsdArchNameHeaders(target.cpu.arch)
173175 else
174176 @tagName(target.cpu.arch);
175177 const os_name = @tagName(target.os.tag);
176 const abi_name = if (target.abi.isMusl())
178 const abi_name = if (target.isMuslLibC())
177179 std.zig.target.muslAbiNameHeaders(target.abi)
178180 else
179181 @tagName(target.abi);
......@@ -218,6 +220,7 @@ fn libCGenericName(target: std.Target) [:0]const u8 {
218220 switch (target.os.tag) {
219221 .windows => return "mingw",
220222 .macos, .ios, .tvos, .watchos, .visionos => return "darwin",
223 .freebsd => return "freebsd",
221224 else => {},
222225 }
223226 switch (target.abi) {
lib/std/zig/target.zig+7
......@@ -188,6 +188,13 @@ pub fn muslAbiNameHeaders(abi: std.Target.Abi) [:0]const u8 {
188188 };
189189}
190190
191pub fn freebsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
192 return switch (arch) {
193 .powerpc64le => "powerpc64",
194 else => @tagName(arch),
195 };
196}
197
191198pub fn isLibCLibName(target: std.Target, name: []const u8) bool {
192199 const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows;
193200