Commit 01390cc533
Changed files (2)
lib
std
lib/std/zig/LibCDirs.zig
@@ -168,12 +168,14 @@ pub fn detectFromBuilding(
const generic_name = libCGenericName(target);
// Some architecture families are handled by the same set of headers.
- const arch_name = if (target.abi.isMusl())
+ const arch_name = if (target.isMuslLibC())
std.zig.target.muslArchNameHeaders(target.cpu.arch)
+ else if (target.isFreeBSDLibC())
+ std.zig.target.freebsdArchNameHeaders(target.cpu.arch)
else
@tagName(target.cpu.arch);
const os_name = @tagName(target.os.tag);
- const abi_name = if (target.abi.isMusl())
+ const abi_name = if (target.isMuslLibC())
std.zig.target.muslAbiNameHeaders(target.abi)
else
@tagName(target.abi);
@@ -218,6 +220,7 @@ fn libCGenericName(target: std.Target) [:0]const u8 {
switch (target.os.tag) {
.windows => return "mingw",
.macos, .ios, .tvos, .watchos, .visionos => return "darwin",
+ .freebsd => return "freebsd",
else => {},
}
switch (target.abi) {
lib/std/zig/target.zig
@@ -188,6 +188,13 @@ pub fn muslAbiNameHeaders(abi: std.Target.Abi) [:0]const u8 {
};
}
+pub fn freebsdArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
+ return switch (arch) {
+ .powerpc64le => "powerpc64",
+ 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;