authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-31 22:04:24+02:00
committergravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2023-08-31 22:04:24+02:00
log43adfd96892262373945e3697cdd820f700ae0a0
tree69b83715dbefd943acbe457d97c87b7d914fa32a
parentf4c9e19bc3213c2bc7e03d7b06d7129882f39f6c

macho: check if fallback libSystem.{d}.tbd exists in Zig's installation


1 files changed, 9 insertions(+), 9 deletions(-)

src/link/MachO.zig+9-9
...@@ -657,17 +657,17 @@ pub fn resolveLibSystem(...@@ -657,17 +657,17 @@ pub fn resolveLibSystem(
657 if (try resolveLibSystemInDirs(arena, search_dirs, out_libs)) return;657 if (try resolveLibSystemInDirs(arena, search_dirs, out_libs)) return;
658658
659 // As a fallback, try linking against Zig shipped stub.659 // As a fallback, try linking against Zig shipped stub.
660 const libsystem_name = try std.fmt.allocPrint(arena, "libSystem.{d}.tbd", .{660 const libsystem_name = try std.fmt.allocPrint(arena, "libSystem.{d}", .{
661 target.os.version_range.semver.min.major,661 target.os.version_range.semver.min.major,
662 });662 });
663 const full_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{663 const full_dir_path = try comp.zig_lib_directory.join(arena, &[_][]const u8{ "libc", "darwin" });
664 "libc", "darwin", libsystem_name,664 if (try resolveLib(arena, full_dir_path, libsystem_name, ".tbd")) |full_path| {
665 });665 try out_libs.put(full_path, .{
666 try out_libs.put(full_path, .{666 .needed = true,
667 .needed = true,667 .weak = false,
668 .weak = false,668 .path = full_path,
669 .path = full_path,669 });
670 });670 }
671}671}
672672
673fn resolveLibSystemInDirs(arena: Allocator, dirs: []const []const u8, out_libs: anytype) !bool {673fn resolveLibSystemInDirs(arena: Allocator, dirs: []const []const u8, out_libs: anytype) !bool {