diff options
| author | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-10 17:16:44 +0200 |
|---|---|---|
| committer | Alex Rønne Petersen <alex@alexrp.com> | 2025-04-10 22:11:13 +0200 |
| commit | a9ff2d56ceccd545c9659b8c2768dbeeaa25dca4 (patch) | |
| tree | c75f3253300cb8077d412b5480cefeb0021ceb35 /src/Compilation.zig | |
| parent | ddcf6fcdf3452a4a7d55a27e7112e794447120b6 (diff) | |
| download | zig-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.zig | 30 |
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 => {}, } |
