From cb54e9a3c20783863cf346dc935e2940d26d26d0 Mon Sep 17 00:00:00 2001 From: Piotr Sikora Date: Wed, 21 Dec 2022 17:56:07 +0000 Subject: [PATCH] glibc: allow linking against external libcrypt. Support for the built-in libcrypt was removed in commit 6b7ddfba, but the -lcrypt flag remained ignored, preventing linking against external libcrypt. Fixes #5990. Signed-off-by: Piotr Sikora --- src/target.zig | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/target.zig b/src/target.zig index ad3e0905eb..da69293c35 100644 --- a/src/target.zig +++ b/src/target.zig @@ -375,8 +375,6 @@ pub fn is_libc_lib_name(target: std.Target, name: []const u8) bool { return true; if (eqlIgnoreCase(ignore_case, name, "pthread")) return true; - if (eqlIgnoreCase(ignore_case, name, "crypt")) - return true; if (eqlIgnoreCase(ignore_case, name, "util")) return true; if (eqlIgnoreCase(ignore_case, name, "xnet")) @@ -387,6 +385,11 @@ 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 (eqlIgnoreCase(ignore_case, name, "crypt")) + return true; + } + if (target.os.tag.isDarwin() and eqlIgnoreCase(ignore_case, name, "System")) return true;