aboutsummaryrefslogtreecommitdiff
path: root/src/Compilation.zig
diff options
context:
space:
mode:
authorAlex Rønne Petersen <alex@alexrp.com>2025-04-10 17:16:44 +0200
committerAlex Rønne Petersen <alex@alexrp.com>2025-04-10 22:11:13 +0200
commita9ff2d56ceccd545c9659b8c2768dbeeaa25dca4 (patch)
treec75f3253300cb8077d412b5480cefeb0021ceb35 /src/Compilation.zig
parentddcf6fcdf3452a4a7d55a27e7112e794447120b6 (diff)
downloadzig-a9ff2d56ceccd545c9659b8c2768dbeeaa25dca4.tar.gz
zig-a9ff2d56ceccd545c9659b8c2768dbeeaa25dca4.zip
Compilation: Pass `-m<os>-version-min=...` to Clang for all applicable Darwin targets.
Diffstat (limited to 'src/Compilation.zig')
-rw-r--r--src/Compilation.zig30
1 files changed, 10 insertions, 20 deletions
diff --git a/src/Compilation.zig b/src/Compilation.zig
index 16f762d995..e245feb9bf 100644
--- a/src/Compilation.zig
+++ b/src/Compilation.zig
@@ -5628,12 +5628,19 @@ pub fn addCCArgs(
try argv.appendSlice(&[_][]const u8{ "-target", llvm_triple });
switch (target.os.tag) {
- .macos => {
+ .ios, .macos, .tvos, .watchos => |os| {
try argv.ensureUnusedCapacity(2);
// Pass the proper -m<os>-version-min argument for darwin.
const ver = target.os.version_range.semver.min;
- argv.appendAssumeCapacity(try std.fmt.allocPrint(arena, "-mmacos-version-min={d}.{d}.{d}", .{
- ver.major, ver.minor, ver.patch,
+ argv.appendAssumeCapacity(try std.fmt.allocPrint(arena, "-m{s}{s}-version-min={d}.{d}.{d}", .{
+ switch (target.abi) {
+ .simulator => "-simulator",
+ else => "",
+ },
+ @tagName(os),
+ ver.major,
+ ver.minor,
+ ver.patch,
}));
// This avoids a warning that sometimes occurs when
// providing both a -target argument that contains a
@@ -5642,23 +5649,6 @@ pub fn addCCArgs(
// doesn't matter which one gets overridden.
argv.appendAssumeCapacity("-Wno-overriding-option");
},
- .ios => switch (target.cpu.arch) {
- // Pass the proper -m<os>-version-min argument for darwin.
- .x86, .x86_64 => {
- const ver = target.os.version_range.semver.min;
- try argv.append(try std.fmt.allocPrint(
- arena,
- "-m{s}-simulator-version-min={d}.{d}.{d}",
- .{ @tagName(target.os.tag), ver.major, ver.minor, ver.patch },
- ));
- },
- else => {
- const ver = target.os.version_range.semver.min;
- try argv.append(try std.fmt.allocPrint(arena, "-m{s}-version-min={d}.{d}.{d}", .{
- @tagName(target.os.tag), ver.major, ver.minor, ver.patch,
- }));
- },
- },
else => {},
}