mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
Compilation: Pass -m<os>-version-min=... to Clang for all applicable Darwin targets.
This commit is contained in:
parent
2a7683933a
commit
a5f4107d3e
@ -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<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
|
||||
@ -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<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 => {},
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user