From 8870ead9b257c1b02f668075c3c53e70b204832f Mon Sep 17 00:00:00 2001 From: Tom Read Cutting Date: Sun, 15 Oct 2023 12:12:19 +0100 Subject: [PATCH 1/2] Fix some frameworks not linking macos Pull request #16888 removed searching for libraries with no extensions when linking frameworks... this adds that feature back. --- src/main.zig | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main.zig b/src/main.zig index 14d187796c8d..4b8061a528d6 100644 --- a/src/main.zig +++ b/src/main.zig @@ -6929,9 +6929,9 @@ fn accessFrameworkPath( ) !bool { const sep = fs.path.sep_str; - for (&[_][]const u8{ "tbd", "dylib" }) |ext| { + for (&[_][]const u8{ ".tbd", ".dylib", "" }) |ext| { test_path.clearRetainingCapacity(); - try test_path.writer().print("{s}" ++ sep ++ "{s}.framework" ++ sep ++ "{s}.{s}", .{ + try test_path.writer().print("{s}" ++ sep ++ "{s}.framework" ++ sep ++ "{s}{s}", .{ framework_dir_path, framework_name, framework_name, From 023d1ac6bf25c941510509ddbb659c73947ec39b Mon Sep 17 00:00:00 2001 From: Tom Read Cutting Date: Sun, 15 Oct 2023 17:11:44 +0100 Subject: [PATCH 2/2] Add search for extension-less libraries (MachO) accessLibPath now has a `noextension` block to search for extension-less libraries. --- src/link/MachO.zig | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/link/MachO.zig b/src/link/MachO.zig index f54a370a261e..425dffd6b1d5 100644 --- a/src/link/MachO.zig +++ b/src/link/MachO.zig @@ -707,6 +707,17 @@ fn accessLibPath( return true; } + noextension: { + test_path.clearRetainingCapacity(); + try test_path.writer().print("{s}" ++ sep ++ "{s}", .{ search_dir, lib_name }); + try checked_paths.append(try gpa.dupe(u8, test_path.items)); + fs.cwd().access(test_path.items, .{}) catch |err| switch (err) { + error.FileNotFound => break :noextension, + else => |e| return e, + }; + return true; + } + return false; }