From 0e3609b8e05c12285786235636e9923deeea8c09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Mon, 21 Apr 2025 06:58:07 +0200 Subject: [PATCH] std.Target: Factor arch/ABI into FreeBSD minimum OS version selection. Based on data in std.zig.target. --- lib/std/Target.zig | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 1032961090..dccf2ba28d 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -522,7 +522,19 @@ pub const Os = struct { }, .freebsd => .{ .semver = .{ - .min = .{ .major = 13, .minor = 4, .patch = 0 }, + .min = blk: { + const default_min: std.SemanticVersion = .{ .major = 13, .minor = 4, .patch = 0 }; + + for (std.zig.target.available_libcs) |libc| { + if (libc.arch != arch or libc.os != tag or libc.abi != abi) continue; + + if (libc.os_ver) |min| { + if (min.order(default_min) == .gt) break :blk min; + } + } + + break :blk default_min; + }, .max = .{ .major = 14, .minor = 2, .patch = 0 }, }, },