commit 9e23e1d16c77d05ab0b4c2bcc861f2aaf4ad5c16 (tree)
parent be566a4c119a280ae34778f5e01dedb1480e4904
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Mon, 5 May 2025 14:58:13 +0200
compiler: Define __FreeBSD_version when targeting FreeBSD libc.
Diffstat:
1 file changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/Compilation.zig b/src/Compilation.zig
@@ -5852,6 +5852,15 @@ pub fn addCCArgs(
try argv.append(
try std.fmt.allocPrint(arena, "-D_WIN32_WINNT=0x{x:0>4}", .{minver}),
);
+ } else if (target.isFreeBSDLibC()) {
+ // https://docs.freebsd.org/en/books/porters-handbook/versions
+ const min_ver = target.os.version_range.semver.min;
+ try argv.append(try std.fmt.allocPrint(arena, "-D__FreeBSD_version={d}", .{
+ // We don't currently respect the minor and patch components. This wouldn't be particularly
+ // helpful because our abilists file only tracks major FreeBSD releases, so the link-time stub
+ // symbols would be inconsistent with header declarations.
+ min_ver.major * 100_000,
+ }));
}
}