From d2dea83c6391d84c217d330cec20992cfd017889 Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Fri, 27 Jun 2025 18:21:22 +0700 Subject: [PATCH] don't check for musl toolkit when running zig, add -static to ncurses --- src/SPC/builder/unix/library/ncurses.php | 4 ++++ src/SPC/doctor/item/LinuxMuslCheck.php | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/src/SPC/builder/unix/library/ncurses.php b/src/SPC/builder/unix/library/ncurses.php index 14d2a6dc..0222357a 100644 --- a/src/SPC/builder/unix/library/ncurses.php +++ b/src/SPC/builder/unix/library/ncurses.php @@ -14,6 +14,9 @@ trait ncurses $filelist = FileSystem::scanDirFiles(BUILD_BIN_PATH, relative: true); UnixAutoconfExecutor::create($this) + ->appendEnv([ + 'LDFLAGS' => getenv('SPC_LIBC') === 'musl' ? '-static' : '' + ]) ->configure( '--enable-overwrite', '--with-curses-h', @@ -22,6 +25,7 @@ trait ncurses '--disable-widec', '--with-normal', '--with-ticlib', + '--with-pthread', '--without-tests', '--without-dlsym', '--without-debug', diff --git a/src/SPC/doctor/item/LinuxMuslCheck.php b/src/SPC/doctor/item/LinuxMuslCheck.php index 15516355..5aad5f75 100644 --- a/src/SPC/doctor/item/LinuxMuslCheck.php +++ b/src/SPC/doctor/item/LinuxMuslCheck.php @@ -29,6 +29,9 @@ class LinuxMuslCheck if (getenv('SPC_LIBC') === 'glibc') { return CheckResult::ok('Building with glibc, skipped'); } + if (str_contains(getenv('CC'), 'zig')) { + return CheckResult::ok('Building with zig, skipped'); + } $musl_wrapper_lib = sprintf('/lib/ld-musl-%s.so.1', php_uname('m')); if (file_exists($musl_wrapper_lib) && file_exists('/usr/local/musl/lib/libc.a')) { @@ -46,6 +49,9 @@ class LinuxMuslCheck if (getenv('SPC_LIBC') === 'glibc') { return CheckResult::ok('Building with glibc, skipped'); } + if (str_contains(getenv('CC'), 'zig')) { + return CheckResult::ok('Building with zig, skipped'); + } $arch = arch2gnu(php_uname('m')); $cross_compile_lib = "/usr/local/musl/{$arch}-linux-musl/lib/libc.a";