zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit cb54e9a3c20783863cf346dc935e2940d26d26d0 (tree)
parent 311d50f9dc96c3d397081a1afcc3b519ae1e973f
Author: Piotr Sikora <piotr@aviatrix.com>
Date:   Wed, 21 Dec 2022 17:56:07 +0000

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 <piotr@aviatrix.com>

Diffstat:
Msrc/target.zig | 7+++++--
1 file changed, 5 insertions(+), 2 deletions(-)

diff --git 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;