diff --git a/config/env.ini b/config/env.ini index 0a7ca087..cfd86f67 100644 --- a/config/env.ini +++ b/config/env.ini @@ -79,7 +79,7 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime SPC_LIBC=musl ; uncomment to link libc dynamically on musl ; SPC_MUSL_DYNAMIC=true -SPC_STATIC_LIBS=true +SPC_LINK_STATIC=true ; Recommended: specify your target here. Zig toolchain will be used. ; examples: diff --git a/src/SPC/builder/freebsd/library/openssl.php b/src/SPC/builder/freebsd/library/openssl.php index f870eba5..34fc76b3 100644 --- a/src/SPC/builder/freebsd/library/openssl.php +++ b/src/SPC/builder/freebsd/library/openssl.php @@ -42,9 +42,8 @@ class openssl extends BSDLibraryBase shell()->cd($this->source_dir)->initializeEnv($this) ->exec( - "./Configure " . - (getenv('SPC_STATIC_LIBS') ? 'no-shared' : '') . - " {$extra} " . '--prefix=/ ' . // use prefix=/ + "./Configure {$extra} " . + '--prefix=/ ' . // use prefix=/ "--libdir={$lib} " . '--openssldir=/etc/ssl ' . 'BSD-' . arch2gnu($this->builder->getOption('arch')) diff --git a/src/SPC/builder/linux/library/openssl.php b/src/SPC/builder/linux/library/openssl.php index cb4639f3..0a4ed19a 100644 --- a/src/SPC/builder/linux/library/openssl.php +++ b/src/SPC/builder/linux/library/openssl.php @@ -59,9 +59,8 @@ class openssl extends LinuxLibraryBase shell()->cd($this->source_dir)->initializeEnv($this) ->exec( - "./Configure " . - (getenv('SPC_STATIC_LIBS') ? 'no-shared' : '') . - " {$extra} " . '--prefix=' . BUILD_ROOT_PATH . ' ' . + "./Configure {$extra} " . + '--prefix=' . BUILD_ROOT_PATH . ' ' . '--libdir=' . BUILD_LIB_PATH . ' ' . "--openssldir={$openssl_dir} " . "{$zlib_extra}" . diff --git a/src/SPC/builder/macos/library/openssl.php b/src/SPC/builder/macos/library/openssl.php index 0280c46e..f3971fc8 100644 --- a/src/SPC/builder/macos/library/openssl.php +++ b/src/SPC/builder/macos/library/openssl.php @@ -43,9 +43,7 @@ class openssl extends MacOSLibraryBase shell()->cd($this->source_dir)->initializeEnv($this) ->exec( - "./Configure " . - (getenv('SPC_STATIC_LIBS') ? 'no-shared' : '') . - " {$extra} " . + "./Configure {$extra} " . '--prefix=' . BUILD_ROOT_PATH . ' ' . // use prefix=/ '--libdir=lib ' . '--openssldir=/etc/ssl ' . diff --git a/src/SPC/builder/unix/library/libuv.php b/src/SPC/builder/unix/library/libuv.php index 52e4c819..65fed734 100644 --- a/src/SPC/builder/unix/library/libuv.php +++ b/src/SPC/builder/unix/library/libuv.php @@ -11,7 +11,7 @@ trait libuv protected function build(): void { UnixCMakeExecutor::create($this) - ->addConfigureArgs('-DLIBUV_BUILD_SHARED=OFF') + ->addConfigureArgs('-DLIBUV_BUILD_SHARED=ON') ->build(); // patch pkgconfig $this->patchPkgconfPrefix(['libuv-static.pc']); diff --git a/src/SPC/builder/unix/library/mimalloc.php b/src/SPC/builder/unix/library/mimalloc.php index d483ed39..d581c63b 100644 --- a/src/SPC/builder/unix/library/mimalloc.php +++ b/src/SPC/builder/unix/library/mimalloc.php @@ -13,7 +13,7 @@ trait mimalloc { $cmake = UnixCMakeExecutor::create($this) ->addConfigureArgs( - '-DMI_BUILD_SHARED=OFF', + '-DMI_BUILD_SHARED=ON', '-DMI_BUILD_OBJECT=OFF', '-DMI_INSTALL_TOPLEVEL=ON', ); diff --git a/src/SPC/builder/unix/library/tidy.php b/src/SPC/builder/unix/library/tidy.php index 6afaa94f..ec6ecbd3 100644 --- a/src/SPC/builder/unix/library/tidy.php +++ b/src/SPC/builder/unix/library/tidy.php @@ -14,7 +14,7 @@ trait tidy ->setBuildDir("{$this->source_dir}/build-dir") ->addConfigureArgs( '-DSUPPORT_CONSOLE_APP=OFF', - '-DBUILD_SHARED_LIB=OFF' + '-DBUILD_SHARED_LIB=ON' ); if (version_compare(get_cmake_version(), '4.0.0', '>=')) { $cmake->addConfigureArgs('-DCMAKE_POLICY_VERSION_MINIMUM=3.5'); diff --git a/src/SPC/builder/unix/library/zlib.php b/src/SPC/builder/unix/library/zlib.php index aa3f38e2..6626fad0 100644 --- a/src/SPC/builder/unix/library/zlib.php +++ b/src/SPC/builder/unix/library/zlib.php @@ -10,7 +10,7 @@ trait zlib { protected function build(): void { - $static = getenv('SPC_STATIC_LIBS') ? '--static' : ''; + $static = getenv('SPC_LINK_STATIC') ? '--static' : ''; UnixAutoconfExecutor::create($this)->exec("./configure {$static} --prefix={$this->getBuildRootPath()}")->make(); $this->patchPkgconfPrefix(['zlib.pc']); } diff --git a/src/SPC/builder/unix/library/zstd.php b/src/SPC/builder/unix/library/zstd.php index f4298c94..0beca14f 100644 --- a/src/SPC/builder/unix/library/zstd.php +++ b/src/SPC/builder/unix/library/zstd.php @@ -13,8 +13,8 @@ trait zstd UnixCMakeExecutor::create($this) ->setBuildDir("{$this->source_dir}/build/cmake/build") ->addConfigureArgs( - '-DZSTD_BUILD_STATIC=ON', // otherwise zstd util fails to build - '-DZSTD_BUILD_SHARED='. (getenv('SPC_STATIC_LIBS') ? 'OFF' : 'ON'), + '-DZSTD_BUILD_STATIC=ON', + '-DZSTD_BUILD_SHARED=ON', ) ->build(); $this->patchPkgconfPrefix(); diff --git a/src/SPC/builder/windows/library/openssl.php b/src/SPC/builder/windows/library/openssl.php index fef02f7e..8a5d7bbc 100644 --- a/src/SPC/builder/windows/library/openssl.php +++ b/src/SPC/builder/windows/library/openssl.php @@ -33,7 +33,6 @@ class openssl extends WindowsLibraryBase ->execWithWrapper( $this->builder->makeSimpleWrapper($this->perl), 'Configure zlib VC-WIN64A ' . - (getenv('SPC_STATIC_LIBS') ? 'no-shared' : '') . '--prefix=' . quote(BUILD_ROOT_PATH) . ' ' . '--with-zlib-lib=' . quote(BUILD_LIB_PATH) . ' ' . '--with-zlib-include=' . quote(BUILD_INCLUDE_PATH) . ' ' . diff --git a/src/SPC/util/PkgConfigUtil.php b/src/SPC/util/PkgConfigUtil.php index 0a9e1138..f1243c41 100644 --- a/src/SPC/util/PkgConfigUtil.php +++ b/src/SPC/util/PkgConfigUtil.php @@ -61,7 +61,7 @@ class PkgConfigUtil */ public static function getCflags(string $pkg_config_str): string { - $static = getenv('SPC_STATIC_LIBS') ? '--static' : ''; + $static = getenv('SPC_LINK_STATIC') ? '--static' : ''; // get other things $result = self::execWithResult("pkg-config {$static} --cflags-only-other {$pkg_config_str}"); return trim($result); @@ -79,7 +79,7 @@ class PkgConfigUtil public static function getLibsArray(string $pkg_config_str): array { // Use this instead of shell() to avoid unnecessary outputs - $static = getenv('SPC_STATIC_LIBS') ? '--static' : ''; + $static = getenv('SPC_LINK_STATIC') ? '--static' : ''; $result = self::execWithResult("pkg-config {$static} --libs-only-l {$pkg_config_str}"); $libs = explode(' ', trim($result)); diff --git a/src/SPC/util/SPCConfigUtil.php b/src/SPC/util/SPCConfigUtil.php index 4f583851..2f1de56d 100644 --- a/src/SPC/util/SPCConfigUtil.php +++ b/src/SPC/util/SPCConfigUtil.php @@ -312,7 +312,7 @@ class SPCConfigUtil if (in_array('imap', $libraries) && SPCTarget::getLibc() === 'glibc') { $lib_names[] = '-lcrypt'; } - if (getenv('SPC_STATIC_LIBS')) { + if (getenv('SPC_LINK_STATIC')) { $lib_names = array_map(fn ($l) => $this->getStaticLibname($l), $lib_names); } return implode(' ', $lib_names); diff --git a/src/SPC/util/executor/UnixAutoconfExecutor.php b/src/SPC/util/executor/UnixAutoconfExecutor.php index 6f98cb77..d5ec06c0 100644 --- a/src/SPC/util/executor/UnixAutoconfExecutor.php +++ b/src/SPC/util/executor/UnixAutoconfExecutor.php @@ -133,8 +133,8 @@ class UnixAutoconfExecutor extends Executor private function getDefaultConfigureArgs(): array { return [ - getenv('SPC_STATIC_LIBS') ? '--disable-shared' : '--enable-shared', - getenv('SPC_STATIC_LIBS') ? '--enable-static' : '--enable-static', // TODO: not always static + '--enable-static', + '--enable-shared', "--prefix={$this->library->getBuildRootPath()}", '--with-pic', '--enable-pic', diff --git a/src/SPC/util/executor/UnixCMakeExecutor.php b/src/SPC/util/executor/UnixCMakeExecutor.php index 206d5312..8da206a1 100644 --- a/src/SPC/util/executor/UnixCMakeExecutor.php +++ b/src/SPC/util/executor/UnixCMakeExecutor.php @@ -151,7 +151,7 @@ class UnixCMakeExecutor extends Executor '-DCMAKE_INSTALL_LIBDIR=lib', '-DCMAKE_INSTALL_INCLUDEDIR=include', '-DPOSITION_INDEPENDENT_CODE=ON', - '-DBUILD_SHARED_LIBS=' . (getenv('SPC_STATIC_LIBS') ? 'OFF' : 'ON'), + '-DBUILD_SHARED_LIBS=ON', "-DCMAKE_TOOLCHAIN_FILE={$this->makeCmakeToolchainFile()}", ]); }