diff options
| author | Michael Dusan <michael.dusan@gmail.com> | 2023-09-15 01:05:14 -0400 |
|---|---|---|
| committer | Michael Dusan <michael.dusan@gmail.com> | 2023-09-25 15:53:04 -0400 |
| commit | f40c6a5c47b83bce7ef09afcecc1de621e19d4fa (patch) | |
| tree | d51d0f47b05bbf2c68d3085cd5df51d94c663323 /src | |
| parent | 2adb932ad6ee4ff3d3c640cb8fb7bf7db0ff5d74 (diff) | |
| download | zig-f40c6a5c47b83bce7ef09afcecc1de621e19d4fa.tar.gz zig-f40c6a5c47b83bce7ef09afcecc1de621e19d4fa.zip | |
macho: add verbose args for -platform_version
Diffstat (limited to 'src')
| -rw-r--r-- | src/link/MachO/zld.zig | 31 |
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); |
