macho: add verbose args for -platform_version

This commit is contained in:
Michael Dusan
2023-09-15 01:05:14 -04:00
parent 2adb932ad6
commit f40c6a5c47

View File

@@ -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);