diff options
| author | Michael Dusan <michael.dusan@gmail.com> | 2023-09-15 01:05:14 -0400 |
|---|---|---|
| committer | Michael Dusan <michael.dusan@gmail.com> | 2023-09-25 15:53:05 -0400 |
| commit | 50f2d7958226efaa9cd441998877c125cd01533b (patch) | |
| tree | d211d53baaaea6703c0acdb4a9ad912e11cf6dc7 /src | |
| parent | 5d6521d2814e6768536103c233d2e283051b9f1e (diff) | |
| download | zig-50f2d7958226efaa9cd441998877c125cd01533b.tar.gz zig-50f2d7958226efaa9cd441998877c125cd01533b.zip | |
macos: update libc names for darwin
- dropped incorrect names
- added list of names found in the SDKs
- ios, tvos and watchos filesystems are case-sensitive
Diffstat (limited to 'src')
| -rw-r--r-- | src/target.zig | 36 |
1 files changed, 30 insertions, 6 deletions
diff --git a/src/target.zig b/src/target.zig index e6e206845f..59a7a48cf9 100644 --- a/src/target.zig +++ b/src/target.zig @@ -354,7 +354,7 @@ fn eqlIgnoreCase(ignore_case: bool, a: []const u8, b: []const u8) bool { } pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { - const ignore_case = target.os.tag.isDarwin() or target.os.tag == .windows; + const ignore_case = target.os.tag == .macos or target.os.tag == .windows; if (eqlIgnoreCase(ignore_case, name, "c")) return true; @@ -362,7 +362,6 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { if (target.isMinGW()) { if (eqlIgnoreCase(ignore_case, name, "m")) return true; - if (eqlIgnoreCase(ignore_case, name, "uuid")) return true; if (eqlIgnoreCase(ignore_case, name, "mingw32")) @@ -375,7 +374,7 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { return false; } - if (target.abi.isGnu() or target.abi.isMusl() or target.os.tag.isDarwin()) { + if (target.abi.isGnu() or target.abi.isMusl()) { if (eqlIgnoreCase(ignore_case, name, "m")) return true; if (eqlIgnoreCase(ignore_case, name, "rt")) @@ -392,13 +391,38 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { return true; } - if (target.abi.isMusl() or target.os.tag.isDarwin()) { + if (target.abi.isMusl()) { if (eqlIgnoreCase(ignore_case, name, "crypt")) return true; } - if (target.os.tag.isDarwin() and eqlIgnoreCase(ignore_case, name, "System")) - return true; + if (target.os.tag.isDarwin()) { + if (eqlIgnoreCase(ignore_case, name, "System")) + return true; + if (eqlIgnoreCase(ignore_case, name, "c")) + return true; + if (eqlIgnoreCase(ignore_case, name, "dbm")) + return true; + if (eqlIgnoreCase(ignore_case, name, "dl")) + return true; + if (eqlIgnoreCase(ignore_case, name, "info")) + return true; + if (eqlIgnoreCase(ignore_case, name, "m")) + return true; + if (eqlIgnoreCase(ignore_case, name, "poll")) + return true; + if (eqlIgnoreCase(ignore_case, name, "proc")) + return true; + if (eqlIgnoreCase(ignore_case, name, "pthread")) + return true; + if (eqlIgnoreCase(ignore_case, name, "rpcsvc")) + return true; + } + + if (target.os.isAtLeast(.macos, .{ .major = 10, .minor = 8, .patch = 0 }) orelse false) { + if (eqlIgnoreCase(ignore_case, name, "mx")) + return true; + } return false; } |
