aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJakub Konka <kubkon@jakubkonka.com>2020-11-17 13:04:25 +0100
committerJakub Konka <kubkon@jakubkonka.com>2020-11-26 11:50:09 +0100
commite1b65ff8d211066d0856ad3535b96dcdc88e76dc (patch)
tree052df855de0d2b23d00effc37e53ab231f752600 /src
parentbe0d5571d2c183ea7504faac13802f0e271f180b (diff)
downloadzig-e1b65ff8d211066d0856ad3535b96dcdc88e76dc.tar.gz
zig-e1b65ff8d211066d0856ad3535b96dcdc88e76dc.zip
stage2 macho: cleanup minimum version command
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO.zig16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/link/MachO.zig b/src/link/MachO.zig
index bfc8537342..ff90c5a6c1 100644
--- a/src/link/MachO.zig
+++ b/src/link/MachO.zig
@@ -1379,13 +1379,21 @@ pub fn populateMissingMetadata(self: *MachO) !void {
}
if (self.version_min_cmd_index == null) {
self.version_min_cmd_index = @intCast(u16, self.load_commands.items.len);
+ const cmd: u32 = switch (self.base.options.target.os.tag) {
+ .macos => macho.LC_VERSION_MIN_MACOSX,
+ .ios => macho.LC_VERSION_MIN_IPHONEOS,
+ .tvos => macho.LC_VERSION_MIN_TVOS,
+ .watchos => macho.LC_VERSION_MIN_WATCHOS,
+ else => unreachable, // wrong OS
+ };
+ const ver = self.base.options.target.os.version_range.semver.min;
+ const version = ver.major << 16 | ver.minor << 8 | ver.patch;
try self.load_commands.append(self.base.allocator, .{
- // TODO allow for different targets and different versions
.MinVersion = .{
- .cmd = macho.LC_VERSION_MIN_MACOSX,
+ .cmd = cmd,
.cmdsize = @sizeOf(macho.version_min_command),
- .version = 0xB0001, // 11.0.1 BigSur
- .sdk = 0xB0001, // 11.0.1 BigSur
+ .version = version,
+ .sdk = version,
},
});
}