From 11f21304f9b4dcf72e973b2f2a0ff3fc6546d0d9 Mon Sep 17 00:00:00 2001 From: crazywhalecc Date: Tue, 10 Jun 2025 15:33:41 +0800 Subject: [PATCH] Fix libxslt lib compile bug --- src/SPC/builder/freebsd/library/curl.php | 4 ++-- src/SPC/builder/linux/library/curl.php | 4 ++-- src/SPC/builder/linux/library/openssl.php | 4 ++-- src/SPC/builder/traits/UnixLibraryTrait.php | 4 ++-- src/SPC/builder/unix/library/libxslt.php | 3 +-- src/SPC/builder/windows/library/WindowsLibraryBase.php | 4 ++-- 6 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/SPC/builder/freebsd/library/curl.php b/src/SPC/builder/freebsd/library/curl.php index bb5c9265..4eeab20d 100644 --- a/src/SPC/builder/freebsd/library/curl.php +++ b/src/SPC/builder/freebsd/library/curl.php @@ -10,9 +10,9 @@ class curl extends BSDLibraryBase public const NAME = 'curl'; - public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true): string + public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true, bool $include_self = true): string { - $libs = parent::getStaticLibFiles($style, $recursive); + $libs = parent::getStaticLibFiles($style, $recursive, $include_self); if ($this->builder->getLib('openssl')) { $this->builder->setOption('extra-libs', $this->builder->getOption('extra-libs') . ' /usr/lib/libpthread.a /usr/lib/libdl.a'); } diff --git a/src/SPC/builder/linux/library/curl.php b/src/SPC/builder/linux/library/curl.php index d45492c4..f382773f 100644 --- a/src/SPC/builder/linux/library/curl.php +++ b/src/SPC/builder/linux/library/curl.php @@ -10,9 +10,9 @@ class curl extends LinuxLibraryBase public const NAME = 'curl'; - public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true): string + public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true, bool $include_self = true): string { - $libs = parent::getStaticLibFiles($style, $recursive); + $libs = parent::getStaticLibFiles($style, $recursive, $include_self); if ($this->builder->getLib('openssl')) { $libs .= ' -ldl -lpthread'; } diff --git a/src/SPC/builder/linux/library/openssl.php b/src/SPC/builder/linux/library/openssl.php index 11c60067..252eb47f 100644 --- a/src/SPC/builder/linux/library/openssl.php +++ b/src/SPC/builder/linux/library/openssl.php @@ -92,9 +92,9 @@ class openssl extends LinuxLibraryBase FileSystem::replaceFileRegex(BUILD_LIB_PATH . '/cmake/OpenSSL/OpenSSLConfig.cmake', '/set\(OPENSSL_LIBCRYPTO_DEPENDENCIES .*\)/m', 'set(OPENSSL_LIBCRYPTO_DEPENDENCIES "${OPENSSL_LIBRARY_DIR}/libz.a")'); } - public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true): string + public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true, bool $include_self = true): string { - $libFiles = parent::getStaticLibFiles($style, $recursive); + $libFiles = parent::getStaticLibFiles($style, $recursive, $include_self); if (!str_contains('-ldl -lpthread', $libFiles)) { $libFiles .= ' -ldl -lpthread'; } diff --git a/src/SPC/builder/traits/UnixLibraryTrait.php b/src/SPC/builder/traits/UnixLibraryTrait.php index fbca595f..73037447 100644 --- a/src/SPC/builder/traits/UnixLibraryTrait.php +++ b/src/SPC/builder/traits/UnixLibraryTrait.php @@ -17,9 +17,9 @@ trait UnixLibraryTrait * @throws FileSystemException * @throws WrongUsageException */ - public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true): string + public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true, bool $include_self = true): string { - $libs = [$this]; + $libs = $include_self ? [$this] : []; if ($recursive) { array_unshift($libs, ...array_values($this->getDependencies(recursive: true))); } diff --git a/src/SPC/builder/unix/library/libxslt.php b/src/SPC/builder/unix/library/libxslt.php index af85b052..a1a39a08 100644 --- a/src/SPC/builder/unix/library/libxslt.php +++ b/src/SPC/builder/unix/library/libxslt.php @@ -19,7 +19,7 @@ trait libxslt */ protected function build(): void { - $static_libs = $this instanceof LinuxLibraryBase ? $this->getStaticLibFiles() : ''; + $static_libs = $this instanceof LinuxLibraryBase ? $this->getStaticLibFiles(include_self: false) : ''; $ac = UnixAutoconfExecutor::create($this) ->appendEnv([ 'CFLAGS' => "-I{$this->getIncludeDir()}", @@ -28,7 +28,6 @@ trait libxslt ]) ->addConfigureArgs( '--without-python', - '--without-mem-debug', '--without-crypto', '--without-debug', '--without-debugger', diff --git a/src/SPC/builder/windows/library/WindowsLibraryBase.php b/src/SPC/builder/windows/library/WindowsLibraryBase.php index e8de629e..076afa03 100644 --- a/src/SPC/builder/windows/library/WindowsLibraryBase.php +++ b/src/SPC/builder/windows/library/WindowsLibraryBase.php @@ -29,9 +29,9 @@ abstract class WindowsLibraryBase extends LibraryBase * @throws FileSystemException * @throws WrongUsageException */ - public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true): string + public function getStaticLibFiles(string $style = 'autoconf', bool $recursive = true, bool $include_self = true): string { - $libs = [$this]; + $libs = $include_self ? [$this] : []; if ($recursive) { array_unshift($libs, ...array_values($this->getDependencies(recursive: true))); }