| ... | @@ -235,6 +235,23 @@ pub fn linkWithZld( | ... | @@ -235,6 +235,23 @@ pub fn linkWithZld( |
| 235 | } | 235 | } |
| 236 | } | 236 | } |
| 237 | | 237 | |
| | 238 | { |
| | 239 | const platform = Platform.fromTarget(options.target); |
| | 240 | try argv.append("-platform_version"); |
| | 241 | try argv.append(@tagName(platform.os_tag)); |
| | 242 | try argv.append(try std.fmt.allocPrint(arena, "{}", .{platform.version})); |
| | 243 | |
| | 244 | const sdk_version: ?std.SemanticVersion = if (options.sysroot) |path| |
| | 245 | load_commands.inferSdkVersionFromSdkPath(path) |
| | 246 | else |
| | 247 | null; |
| | 248 | if (sdk_version) |ver| { |
| | 249 | try argv.append(try std.fmt.allocPrint(arena, "{d}.{d}", .{ ver.major, ver.minor })); |
| | 250 | } else { |
| | 251 | try argv.append(try std.fmt.allocPrint(arena, "{}", .{platform.version})); |
| | 252 | } |
| | 253 | } |
| | 254 | |
| 238 | if (options.sysroot) |syslibroot| { | 255 | if (options.sysroot) |syslibroot| { |
| 239 | try argv.append("-syslibroot"); | 256 | try argv.append("-syslibroot"); |
| 240 | try argv.append(syslibroot); | 257 | try argv.append(syslibroot); |
| ... | @@ -338,6 +355,20 @@ pub fn linkWithZld( | ... | @@ -338,6 +355,20 @@ pub fn linkWithZld( |
| 338 | } | 355 | } |
| 339 | | 356 | |
| 340 | Compilation.dump_argv(argv.items); | 357 | Compilation.dump_argv(argv.items); |
| | 358 | |
| | 359 | print: { |
| | 360 | std.debug.getStderrMutex().lock(); |
| | 361 | defer std.debug.getStderrMutex().unlock(); |
| | 362 | const stderr = std.io.getStdErr().writer(); |
| | 363 | if (options.lib_dirs.len != 0) { |
| | 364 | nosuspend stderr.print("Library search paths:\n", .{}) catch break :print; |
| | 365 | for (options.lib_dirs) |dir| nosuspend stderr.print("\t{s}\n", .{dir}) catch break :print; |
| | 366 | } |
| | 367 | if (options.framework_dirs.len != 0) { |
| | 368 | nosuspend stderr.print("Framework search paths:\n", .{}) catch break :print; |
| | 369 | for (options.framework_dirs) |dir| nosuspend stderr.print("\t{s}\n", .{dir}) catch break :print; |
| | 370 | } |
| | 371 | } |
| 341 | } | 372 | } |
| 342 | | 373 | |
| 343 | var dependent_libs = std.fifo.LinearFifo(MachO.DylibReExportInfo, .Dynamic).init(arena); | 374 | var dependent_libs = std.fifo.LinearFifo(MachO.DylibReExportInfo, .Dynamic).init(arena); |