commit 2125c94abeb2a592d03471f72426073d37400be3 (tree)
parent ca7523742f1d2894123c7d35a1ccef08651af570
Author: Alex Rønne Petersen <alex@alexrp.com>
Date: Fri, 14 Nov 2025 18:30:14 +0100
link.MachO.Dylib: allow maccatalyst output to link macos libraries in TBDs
This is the logic that LLD uses. It is pretty silly, but it is what it is.
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/src/link/MachO/Dylib.zig b/src/link/MachO/Dylib.zig
@@ -716,6 +716,11 @@ pub const TargetMatcher = struct {
const host_target = try targetToAppleString(allocator, cpu_arch, .MACOS);
try self.target_strings.append(allocator, host_target);
},
+ .MACCATALYST => {
+ // Mac Catalyst is allowed to link macOS libraries in a TBD because Apple were apparently too lazy
+ // to add the proper target strings despite doing so in other places in the format???
+ try self.target_strings.append(allocator, try targetToAppleString(allocator, cpu_arch, .MACOS));
+ },
.MACOS => {
// Turns out that around 10.13/10.14 macOS release version, Apple changed the target tags in
// tbd files from `macosx` to `macos`. In order to be compliant and therefore actually support