mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-05 07:45:39 +08:00
disable a whole lot of things we don't need to build
This commit is contained in:
@@ -27,7 +27,10 @@ class brotli
|
||||
{
|
||||
UnixCMakeExecutor::create($lib)
|
||||
->setBuildDir($lib->getSourceDir() . '/build-dir')
|
||||
->addConfigureArgs("-DSHARE_INSTALL_PREFIX={$lib->getBuildRootPath()}")
|
||||
->addConfigureArgs(
|
||||
"-DSHARE_INSTALL_PREFIX={$lib->getBuildRootPath()}",
|
||||
'-DBROTLI_DISABLE_TESTS=ON',
|
||||
)
|
||||
->build();
|
||||
|
||||
// Patch pkg-config files
|
||||
|
||||
@@ -45,6 +45,9 @@ class imagemagick
|
||||
// implicit --with-gcc-arch
|
||||
// bleeds host cpu features into built binaries
|
||||
'--without-gcc-arch',
|
||||
'--disable-docs',
|
||||
'--without-utilities',
|
||||
'--disable-dpc',
|
||||
);
|
||||
|
||||
// special: linux-static target needs `-static`
|
||||
|
||||
@@ -35,6 +35,7 @@ class ldap
|
||||
->optionalPackage('libsodium', '--with-argon2=libsodium', '--enable-argon2=no')
|
||||
->addConfigureArgs(
|
||||
'--disable-slapd',
|
||||
'--disable-debug',
|
||||
'--without-systemd',
|
||||
'--without-cyrus-sasl',
|
||||
'ac_cv_func_pthread_kill_other_threads_np=no'
|
||||
|
||||
@@ -35,7 +35,12 @@ class libavif
|
||||
->optionalPackage('libjpeg', '-DAVIF_JPEG=SYSTEM', '-DAVIF_JPEG=OFF')
|
||||
->optionalPackage('libxml2', '-DAVIF_LIBXML2=SYSTEM', '-DAVIF_LIBXML2=OFF')
|
||||
->optionalPackage('libpng', '-DAVIF_LIBPNG=SYSTEM', '-DAVIF_LIBPNG=OFF')
|
||||
->addConfigureArgs('-DAVIF_LIBYUV=OFF')
|
||||
->addConfigureArgs(
|
||||
'-DAVIF_LIBYUV=OFF',
|
||||
'-DAVIF_BUILD_APPS=OFF',
|
||||
'-DAVIF_BUILD_TESTS=OFF',
|
||||
'-DAVIF_GTEST=OFF',
|
||||
)
|
||||
->build();
|
||||
// patch pkgconfig
|
||||
$lib->patchPkgconfPrefix(['libavif.pc']);
|
||||
@@ -49,7 +54,7 @@ class libavif
|
||||
'-DAVIF_BUILD_APPS=OFF',
|
||||
'-DAVIF_BUILD_TESTS=OFF',
|
||||
'-DAVIF_LIBYUV=OFF',
|
||||
'-DAVIF_ENABLE_GTEST=OFF',
|
||||
'-DAVIF_GTEST=OFF',
|
||||
)
|
||||
->build();
|
||||
}
|
||||
|
||||
@@ -16,7 +16,7 @@ class libffi extends LibraryPackage
|
||||
public function buildLinux(): void
|
||||
{
|
||||
UnixAutoconfExecutor::create($this)
|
||||
->configure()->make();
|
||||
->configure('--disable-docs')->make();
|
||||
|
||||
if (is_file("{$this->getBuildRootPath()}/lib64/libffi.a")) {
|
||||
copy("{$this->getBuildRootPath()}/lib64/libffi.a", "{$this->getBuildRootPath()}/lib/libffi.a");
|
||||
@@ -33,6 +33,7 @@ class libffi extends LibraryPackage
|
||||
->configure(
|
||||
"--host={$arch}-apple-darwin",
|
||||
"--target={$arch}-apple-darwin",
|
||||
'--disable-docs',
|
||||
)
|
||||
->make();
|
||||
$this->patchPkgconfPrefix(['libffi.pc']);
|
||||
|
||||
@@ -47,6 +47,7 @@ class libheif
|
||||
'-DWITH_EXAMPLES=OFF',
|
||||
'-DWITH_GDK_PIXBUF=OFF',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DBUILD_DOCUMENTATION=OFF',
|
||||
'-DWITH_LIBSHARPYUV=ON', // optional: libwebp
|
||||
'-DENABLE_PLUGIN_LOADING=OFF',
|
||||
)
|
||||
|
||||
@@ -25,6 +25,7 @@ class libjxl extends LibraryPackage
|
||||
'-DJPEGXL_ENABLE_MANPAGES=OFF',
|
||||
'-DJPEGXL_ENABLE_BENCHMARK=OFF',
|
||||
'-DJPEGXL_ENABLE_PLUGINS=OFF',
|
||||
'-DJPEGXL_ENABLE_DOXYGEN=OFF',
|
||||
'-DJPEGXL_ENABLE_SJPEG=ON',
|
||||
'-DJPEGXL_ENABLE_JNI=OFF',
|
||||
'-DJPEGXL_ENABLE_TRANSCODE_JPEG=ON',
|
||||
|
||||
@@ -12,17 +12,25 @@ use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
|
||||
#[Library('libmemcached')]
|
||||
class libmemcached extends LibraryPackage
|
||||
{
|
||||
private const array DISABLE_ARGS = [
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DBUILD_DOCS=OFF',
|
||||
'-DENABLE_MEMASLAP=OFF',
|
||||
];
|
||||
|
||||
#[BuildFor('Linux')]
|
||||
public function buildLinux(): void
|
||||
{
|
||||
UnixCMakeExecutor::create($this)
|
||||
->addConfigureArgs('-DCMAKE_INSTALL_RPATH=""')
|
||||
->addConfigureArgs('-DCMAKE_INSTALL_RPATH=""', ...self::DISABLE_ARGS)
|
||||
->build();
|
||||
}
|
||||
|
||||
#[BuildFor('Darwin')]
|
||||
public function buildDarwin(): void
|
||||
{
|
||||
UnixCMakeExecutor::create($this)->build();
|
||||
UnixCMakeExecutor::create($this)
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,6 +20,8 @@ class libpng
|
||||
{
|
||||
$args = [
|
||||
'--enable-hardware-optimizations',
|
||||
'--disable-tests',
|
||||
'--disable-tools',
|
||||
"--with-zlib-prefix={$lib->getBuildRootPath()}",
|
||||
];
|
||||
|
||||
|
||||
@@ -13,17 +13,29 @@ use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
|
||||
#[Library('librabbitmq')]
|
||||
class librabbitmq extends LibraryPackage
|
||||
{
|
||||
private const array DISABLE_ARGS = [
|
||||
'-DBUILD_EXAMPLES=OFF',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DBUILD_TOOLS=OFF',
|
||||
'-DBUILD_TOOLS_DOCS=OFF',
|
||||
'-DBUILD_API_DOCS=OFF',
|
||||
];
|
||||
|
||||
#[BuildFor('Darwin')]
|
||||
#[BuildFor('Linux')]
|
||||
public function buildUnix(): void
|
||||
{
|
||||
UnixCMakeExecutor::create($this)->addConfigureArgs('-DBUILD_STATIC_LIBS=ON')->build();
|
||||
UnixCMakeExecutor::create($this)
|
||||
->addConfigureArgs('-DBUILD_STATIC_LIBS=ON', ...self::DISABLE_ARGS)
|
||||
->build();
|
||||
}
|
||||
|
||||
#[BuildFor('Windows')]
|
||||
public function buildWin(): void
|
||||
{
|
||||
WindowsCMakeExecutor::create($this)->build();
|
||||
WindowsCMakeExecutor::create($this)
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
rename("{$this->getLibDir()}\\librabbitmq.4.lib", "{$this->getLibDir()}\\rabbitmq.4.lib");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,6 +41,9 @@ class libtiff
|
||||
'--disable-libdeflate',
|
||||
'--disable-tools',
|
||||
'--disable-contrib',
|
||||
'--disable-tests',
|
||||
'--disable-docs',
|
||||
'--disable-sphinx',
|
||||
'--disable-cxx',
|
||||
'--without-x',
|
||||
)
|
||||
|
||||
@@ -13,12 +13,18 @@ use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
|
||||
#[Library('libuv')]
|
||||
class libuv
|
||||
{
|
||||
private const array DISABLE_ARGS = [
|
||||
'-DLIBUV_BUILD_SHARED=OFF',
|
||||
'-DLIBUV_BUILD_TESTS=OFF',
|
||||
'-DLIBUV_BUILD_BENCH=OFF',
|
||||
];
|
||||
|
||||
#[BuildFor('Darwin')]
|
||||
#[BuildFor('Linux')]
|
||||
public function buildUnix(LibraryPackage $lib): void
|
||||
{
|
||||
UnixCMakeExecutor::create($lib)
|
||||
->addConfigureArgs('-DLIBUV_BUILD_SHARED=OFF')
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
// patch pkgconfig
|
||||
$lib->patchPkgconfPrefix(['libuv-static.pc']);
|
||||
@@ -28,7 +34,7 @@ class libuv
|
||||
public function buildWindows(LibraryPackage $lib): void
|
||||
{
|
||||
WindowsCMakeExecutor::create($lib)
|
||||
->addConfigureArgs('-DLIBUV_BUILD_SHARED=OFF')
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ class libxslt
|
||||
'--without-crypto',
|
||||
'--without-debug',
|
||||
'--without-debugger',
|
||||
'--without-profiler',
|
||||
"--with-libxml-prefix={$lib->getBuildRootPath()}",
|
||||
);
|
||||
if (getenv('SPC_LD_LIBRARY_PATH') && getenv('SPC_LIBRARY_PATH')) {
|
||||
|
||||
@@ -21,6 +21,7 @@ class mimalloc
|
||||
->addConfigureArgs(
|
||||
'-DMI_BUILD_SHARED=OFF',
|
||||
'-DMI_BUILD_OBJECT=OFF',
|
||||
'-DMI_BUILD_TESTS=OFF',
|
||||
'-DMI_INSTALL_TOPLEVEL=ON',
|
||||
);
|
||||
if (SystemTarget::getLibc() === 'musl') {
|
||||
|
||||
@@ -24,6 +24,7 @@ class nghttp3
|
||||
'-DBUILD_SHARED_LIBS=OFF',
|
||||
'-DENABLE_STATIC_CRT=ON',
|
||||
'-DENABLE_LIB_ONLY=ON',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
)
|
||||
->build();
|
||||
}
|
||||
|
||||
@@ -25,6 +25,7 @@ class ngtcp2
|
||||
'-DENABLE_STATIC_CRT=ON',
|
||||
'-DENABLE_LIB_ONLY=ON',
|
||||
'-DENABLE_OPENSSL=OFF',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
)
|
||||
->build();
|
||||
}
|
||||
|
||||
@@ -20,6 +20,7 @@ class readline
|
||||
->configure(
|
||||
'--with-curses',
|
||||
'--enable-multibyte=yes',
|
||||
'--disable-install-examples',
|
||||
)
|
||||
->make();
|
||||
$lib->patchPkgconfPrefix(['readline.pc']);
|
||||
|
||||
@@ -22,7 +22,8 @@ class tidy
|
||||
->setBuildDir("{$lib->getSourceDir()}/build-dir")
|
||||
->addConfigureArgs(
|
||||
'-DSUPPORT_CONSOLE_APP=OFF',
|
||||
'-DBUILD_SHARED_LIB=OFF'
|
||||
'-DBUILD_SHARED_LIB=OFF',
|
||||
'-DSUPPORT_LOCALIZATIONS=OFF',
|
||||
);
|
||||
if (version_compare(get_cmake_version(), '4.0.0', '>=')) {
|
||||
$cmake->addConfigureArgs('-DCMAKE_POLICY_VERSION_MINIMUM=3.5');
|
||||
@@ -38,7 +39,8 @@ class tidy
|
||||
->setBuildDir("{$lib->getSourceDir()}/build-dir")
|
||||
->addConfigureArgs(
|
||||
'-DSUPPORT_CONSOLE_APP=OFF',
|
||||
'-DBUILD_SHARED_LIB=OFF'
|
||||
'-DBUILD_SHARED_LIB=OFF',
|
||||
'-DSUPPORT_LOCALIZATIONS=OFF',
|
||||
)->build();
|
||||
|
||||
// rename tidy_static.lib to tidy_a.lib
|
||||
|
||||
@@ -35,6 +35,7 @@ class unixodbc extends LibraryPackage
|
||||
'--with-included-ltdl',
|
||||
"--sysconfdir={$sysconf_selector}",
|
||||
'--enable-gui=no',
|
||||
'--enable-readline=no',
|
||||
)
|
||||
->make();
|
||||
$this->patchPkgconfPrefix(['odbc.pc', 'odbccr.pc', 'odbcinst.pc']);
|
||||
|
||||
@@ -22,6 +22,11 @@ class xz
|
||||
->configure(
|
||||
'--disable-scripts',
|
||||
'--disable-doc',
|
||||
'--disable-xz',
|
||||
'--disable-xzdec',
|
||||
'--disable-lzmadec',
|
||||
'--disable-lzmainfo',
|
||||
'--disable-lzma-links',
|
||||
'--with-libiconv',
|
||||
'--bindir=/tmp/xz', // xz binary will corrupt `tar` command, that's really strange.
|
||||
)
|
||||
|
||||
@@ -14,16 +14,20 @@ use StaticPHP\Util\FileSystem;
|
||||
#[Library('zstd')]
|
||||
class zstd
|
||||
{
|
||||
private const array DISABLE_ARGS = [
|
||||
'-DZSTD_BUILD_STATIC=ON',
|
||||
'-DZSTD_BUILD_SHARED=OFF',
|
||||
'-DZSTD_BUILD_PROGRAMS=OFF',
|
||||
'-DZSTD_BUILD_TESTS=OFF',
|
||||
];
|
||||
|
||||
#[BuildFor('Windows')]
|
||||
public function buildWin(LibraryPackage $package): void
|
||||
{
|
||||
WindowsCMakeExecutor::create($package)
|
||||
->setWorkingDir("{$package->getSourceDir()}/build/cmake")
|
||||
->setBuildDir("{$package->getSourceDir()}/build/cmake/build")
|
||||
->addConfigureArgs(
|
||||
'-DZSTD_BUILD_STATIC=ON',
|
||||
'-DZSTD_BUILD_SHARED=OFF',
|
||||
)
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/zstd.lib');
|
||||
FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/libzstd.lib');
|
||||
@@ -35,10 +39,7 @@ class zstd
|
||||
{
|
||||
UnixCMakeExecutor::create($lib)
|
||||
->setBuildDir("{$lib->getSourceDir()}/build/cmake/build")
|
||||
->addConfigureArgs(
|
||||
'-DZSTD_BUILD_STATIC=ON',
|
||||
'-DZSTD_BUILD_SHARED=OFF',
|
||||
)
|
||||
->addConfigureArgs(...self::DISABLE_ARGS)
|
||||
->build();
|
||||
|
||||
$lib->patchPkgconfPrefix(['libzstd.pc'], PKGCONF_PATCH_PREFIX);
|
||||
|
||||
@@ -43,6 +43,8 @@ class curl
|
||||
'-DZSTD_LIBRARY=zstd_static.lib',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DBUILD_EXAMPLES=OFF',
|
||||
'-DBUILD_LIBCURL_DOCS=OFF',
|
||||
'-DENABLE_CURL_MANUAL=OFF',
|
||||
'-DUSE_LIBIDN2=OFF',
|
||||
'-DCURL_USE_LIBPSL=OFF',
|
||||
'-DUSE_WINDOWS_SSPI=ON',
|
||||
@@ -81,6 +83,9 @@ class curl
|
||||
->addConfigureArgs(
|
||||
'-DBUILD_CURL_EXE=ON',
|
||||
'-DBUILD_LIBCURL_DOCS=OFF',
|
||||
'-DBUILD_TESTING=OFF',
|
||||
'-DBUILD_EXAMPLES=OFF',
|
||||
'-DENABLE_CURL_MANUAL=OFF',
|
||||
'-DOPENSSL_ROOT_DIR=' . BUILD_ROOT_PATH,
|
||||
)
|
||||
->build();
|
||||
|
||||
Reference in New Issue
Block a user