From a5f4107d3ebb95db82a6703cfc0615e2f6673be7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Thu, 10 Apr 2025 17:16:44 +0200 Subject: [PATCH] Compilation: Pass `-m-version-min=...` to Clang for all applicable Darwin targets. --- src/Compilation.zig | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/src/Compilation.zig b/src/Compilation.zig index 84cafb6bfb..84dafa59af 100644 --- a/src/Compilation.zig +++ b/src/Compilation.zig @@ -5629,12 +5629,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-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 @@ -5643,23 +5650,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-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 => {}, }