aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Dusan <michael.dusan@gmail.com>2023-09-15 01:05:14 -0400
committerMichael Dusan <michael.dusan@gmail.com>2023-09-25 15:53:04 -0400
commitf40c6a5c47b83bce7ef09afcecc1de621e19d4fa (patch)
treed51d0f47b05bbf2c68d3085cd5df51d94c663323 /src
parent2adb932ad6ee4ff3d3c640cb8fb7bf7db0ff5d74 (diff)
downloadzig-f40c6a5c47b83bce7ef09afcecc1de621e19d4fa.tar.gz
zig-f40c6a5c47b83bce7ef09afcecc1de621e19d4fa.zip
macho: add verbose args for -platform_version
Diffstat (limited to 'src')
-rw-r--r--src/link/MachO/zld.zig31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/link/MachO/zld.zig b/src/link/MachO/zld.zig
index 1c1301e2b5..057f990c55 100644
--- a/src/link/MachO/zld.zig
+++ b/src/link/MachO/zld.zig
@@ -235,6 +235,23 @@ pub fn linkWithZld(
}
}
+ {
+ const platform = Platform.fromTarget(options.target);
+ try argv.append("-platform_version");
+ try argv.append(@tagName(platform.os_tag));
+ try argv.append(try std.fmt.allocPrint(arena, "{}", .{platform.version}));
+
+ const sdk_version: ?std.SemanticVersion = if (options.sysroot) |path|
+ load_commands.inferSdkVersionFromSdkPath(path)
+ else
+ null;
+ if (sdk_version) |ver| {
+ try argv.append(try std.fmt.allocPrint(arena, "{d}.{d}", .{ ver.major, ver.minor }));
+ } else {
+ try argv.append(try std.fmt.allocPrint(arena, "{}", .{platform.version}));
+ }
+ }
+
if (options.sysroot) |syslibroot| {
try argv.append("-syslibroot");
try argv.append(syslibroot);
@@ -338,6 +355,20 @@ pub fn linkWithZld(
}
Compilation.dump_argv(argv.items);
+
+ print: {
+ std.debug.getStderrMutex().lock();
+ defer std.debug.getStderrMutex().unlock();
+ const stderr = std.io.getStdErr().writer();
+ if (options.lib_dirs.len != 0) {
+ nosuspend stderr.print("Library search paths:\n", .{}) catch break :print;
+ for (options.lib_dirs) |dir| nosuspend stderr.print("\t{s}\n", .{dir}) catch break :print;
+ }
+ if (options.framework_dirs.len != 0) {
+ nosuspend stderr.print("Framework search paths:\n", .{}) catch break :print;
+ for (options.framework_dirs) |dir| nosuspend stderr.print("\t{s}\n", .{dir}) catch break :print;
+ }
+ }
}
var dependent_libs = std.fifo.LinearFifo(MachO.DylibReExportInfo, .Dynamic).init(arena);