Commit 0e3609b8e0

Alex Rønne Petersen <alex@alexrp.com>
2025-04-21 06:58:07
std.Target: Factor arch/ABI into FreeBSD minimum OS version selection.
Based on data in std.zig.target.
1 parent eeaa1b1
Changed files (1)
lib
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 },
                     },
                 },