disable a whole lot of things we don't need to build

This commit is contained in:
henderkes
2026-05-26 21:10:00 +07:00
parent 29a8c9c196
commit 727600a73a
22 changed files with 85 additions and 20 deletions

View File

@@ -27,7 +27,10 @@ class brotli
{ {
UnixCMakeExecutor::create($lib) UnixCMakeExecutor::create($lib)
->setBuildDir($lib->getSourceDir() . '/build-dir') ->setBuildDir($lib->getSourceDir() . '/build-dir')
->addConfigureArgs("-DSHARE_INSTALL_PREFIX={$lib->getBuildRootPath()}") ->addConfigureArgs(
"-DSHARE_INSTALL_PREFIX={$lib->getBuildRootPath()}",
'-DBROTLI_DISABLE_TESTS=ON',
)
->build(); ->build();
// Patch pkg-config files // Patch pkg-config files

View File

@@ -45,6 +45,9 @@ class imagemagick
// implicit --with-gcc-arch // implicit --with-gcc-arch
// bleeds host cpu features into built binaries // bleeds host cpu features into built binaries
'--without-gcc-arch', '--without-gcc-arch',
'--disable-docs',
'--without-utilities',
'--disable-dpc',
); );
// special: linux-static target needs `-static` // special: linux-static target needs `-static`

View File

@@ -35,6 +35,7 @@ class ldap
->optionalPackage('libsodium', '--with-argon2=libsodium', '--enable-argon2=no') ->optionalPackage('libsodium', '--with-argon2=libsodium', '--enable-argon2=no')
->addConfigureArgs( ->addConfigureArgs(
'--disable-slapd', '--disable-slapd',
'--disable-debug',
'--without-systemd', '--without-systemd',
'--without-cyrus-sasl', '--without-cyrus-sasl',
'ac_cv_func_pthread_kill_other_threads_np=no' 'ac_cv_func_pthread_kill_other_threads_np=no'

View File

@@ -35,7 +35,12 @@ class libavif
->optionalPackage('libjpeg', '-DAVIF_JPEG=SYSTEM', '-DAVIF_JPEG=OFF') ->optionalPackage('libjpeg', '-DAVIF_JPEG=SYSTEM', '-DAVIF_JPEG=OFF')
->optionalPackage('libxml2', '-DAVIF_LIBXML2=SYSTEM', '-DAVIF_LIBXML2=OFF') ->optionalPackage('libxml2', '-DAVIF_LIBXML2=SYSTEM', '-DAVIF_LIBXML2=OFF')
->optionalPackage('libpng', '-DAVIF_LIBPNG=SYSTEM', '-DAVIF_LIBPNG=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(); ->build();
// patch pkgconfig // patch pkgconfig
$lib->patchPkgconfPrefix(['libavif.pc']); $lib->patchPkgconfPrefix(['libavif.pc']);
@@ -49,7 +54,7 @@ class libavif
'-DAVIF_BUILD_APPS=OFF', '-DAVIF_BUILD_APPS=OFF',
'-DAVIF_BUILD_TESTS=OFF', '-DAVIF_BUILD_TESTS=OFF',
'-DAVIF_LIBYUV=OFF', '-DAVIF_LIBYUV=OFF',
'-DAVIF_ENABLE_GTEST=OFF', '-DAVIF_GTEST=OFF',
) )
->build(); ->build();
} }

View File

@@ -16,7 +16,7 @@ class libffi extends LibraryPackage
public function buildLinux(): void public function buildLinux(): void
{ {
UnixAutoconfExecutor::create($this) UnixAutoconfExecutor::create($this)
->configure()->make(); ->configure('--disable-docs')->make();
if (is_file("{$this->getBuildRootPath()}/lib64/libffi.a")) { if (is_file("{$this->getBuildRootPath()}/lib64/libffi.a")) {
copy("{$this->getBuildRootPath()}/lib64/libffi.a", "{$this->getBuildRootPath()}/lib/libffi.a"); copy("{$this->getBuildRootPath()}/lib64/libffi.a", "{$this->getBuildRootPath()}/lib/libffi.a");
@@ -33,6 +33,7 @@ class libffi extends LibraryPackage
->configure( ->configure(
"--host={$arch}-apple-darwin", "--host={$arch}-apple-darwin",
"--target={$arch}-apple-darwin", "--target={$arch}-apple-darwin",
'--disable-docs',
) )
->make(); ->make();
$this->patchPkgconfPrefix(['libffi.pc']); $this->patchPkgconfPrefix(['libffi.pc']);

View File

@@ -47,6 +47,7 @@ class libheif
'-DWITH_EXAMPLES=OFF', '-DWITH_EXAMPLES=OFF',
'-DWITH_GDK_PIXBUF=OFF', '-DWITH_GDK_PIXBUF=OFF',
'-DBUILD_TESTING=OFF', '-DBUILD_TESTING=OFF',
'-DBUILD_DOCUMENTATION=OFF',
'-DWITH_LIBSHARPYUV=ON', // optional: libwebp '-DWITH_LIBSHARPYUV=ON', // optional: libwebp
'-DENABLE_PLUGIN_LOADING=OFF', '-DENABLE_PLUGIN_LOADING=OFF',
) )

View File

@@ -25,6 +25,7 @@ class libjxl extends LibraryPackage
'-DJPEGXL_ENABLE_MANPAGES=OFF', '-DJPEGXL_ENABLE_MANPAGES=OFF',
'-DJPEGXL_ENABLE_BENCHMARK=OFF', '-DJPEGXL_ENABLE_BENCHMARK=OFF',
'-DJPEGXL_ENABLE_PLUGINS=OFF', '-DJPEGXL_ENABLE_PLUGINS=OFF',
'-DJPEGXL_ENABLE_DOXYGEN=OFF',
'-DJPEGXL_ENABLE_SJPEG=ON', '-DJPEGXL_ENABLE_SJPEG=ON',
'-DJPEGXL_ENABLE_JNI=OFF', '-DJPEGXL_ENABLE_JNI=OFF',
'-DJPEGXL_ENABLE_TRANSCODE_JPEG=ON', '-DJPEGXL_ENABLE_TRANSCODE_JPEG=ON',

View File

@@ -12,17 +12,25 @@ use StaticPHP\Runtime\Executor\UnixCMakeExecutor;
#[Library('libmemcached')] #[Library('libmemcached')]
class libmemcached extends LibraryPackage class libmemcached extends LibraryPackage
{ {
private const array DISABLE_ARGS = [
'-DBUILD_TESTING=OFF',
'-DBUILD_DOCS=OFF',
'-DENABLE_MEMASLAP=OFF',
];
#[BuildFor('Linux')] #[BuildFor('Linux')]
public function buildLinux(): void public function buildLinux(): void
{ {
UnixCMakeExecutor::create($this) UnixCMakeExecutor::create($this)
->addConfigureArgs('-DCMAKE_INSTALL_RPATH=""') ->addConfigureArgs('-DCMAKE_INSTALL_RPATH=""', ...self::DISABLE_ARGS)
->build(); ->build();
} }
#[BuildFor('Darwin')] #[BuildFor('Darwin')]
public function buildDarwin(): void public function buildDarwin(): void
{ {
UnixCMakeExecutor::create($this)->build(); UnixCMakeExecutor::create($this)
->addConfigureArgs(...self::DISABLE_ARGS)
->build();
} }
} }

View File

@@ -20,6 +20,8 @@ class libpng
{ {
$args = [ $args = [
'--enable-hardware-optimizations', '--enable-hardware-optimizations',
'--disable-tests',
'--disable-tools',
"--with-zlib-prefix={$lib->getBuildRootPath()}", "--with-zlib-prefix={$lib->getBuildRootPath()}",
]; ];

View File

@@ -13,17 +13,29 @@ use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
#[Library('librabbitmq')] #[Library('librabbitmq')]
class librabbitmq extends LibraryPackage 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('Darwin')]
#[BuildFor('Linux')] #[BuildFor('Linux')]
public function buildUnix(): void 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')] #[BuildFor('Windows')]
public function buildWin(): void 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"); rename("{$this->getLibDir()}\\librabbitmq.4.lib", "{$this->getLibDir()}\\rabbitmq.4.lib");
} }
} }

View File

@@ -41,6 +41,9 @@ class libtiff
'--disable-libdeflate', '--disable-libdeflate',
'--disable-tools', '--disable-tools',
'--disable-contrib', '--disable-contrib',
'--disable-tests',
'--disable-docs',
'--disable-sphinx',
'--disable-cxx', '--disable-cxx',
'--without-x', '--without-x',
) )

View File

@@ -13,12 +13,18 @@ use StaticPHP\Runtime\Executor\WindowsCMakeExecutor;
#[Library('libuv')] #[Library('libuv')]
class libuv class libuv
{ {
private const array DISABLE_ARGS = [
'-DLIBUV_BUILD_SHARED=OFF',
'-DLIBUV_BUILD_TESTS=OFF',
'-DLIBUV_BUILD_BENCH=OFF',
];
#[BuildFor('Darwin')] #[BuildFor('Darwin')]
#[BuildFor('Linux')] #[BuildFor('Linux')]
public function buildUnix(LibraryPackage $lib): void public function buildUnix(LibraryPackage $lib): void
{ {
UnixCMakeExecutor::create($lib) UnixCMakeExecutor::create($lib)
->addConfigureArgs('-DLIBUV_BUILD_SHARED=OFF') ->addConfigureArgs(...self::DISABLE_ARGS)
->build(); ->build();
// patch pkgconfig // patch pkgconfig
$lib->patchPkgconfPrefix(['libuv-static.pc']); $lib->patchPkgconfPrefix(['libuv-static.pc']);
@@ -28,7 +34,7 @@ class libuv
public function buildWindows(LibraryPackage $lib): void public function buildWindows(LibraryPackage $lib): void
{ {
WindowsCMakeExecutor::create($lib) WindowsCMakeExecutor::create($lib)
->addConfigureArgs('-DLIBUV_BUILD_SHARED=OFF') ->addConfigureArgs(...self::DISABLE_ARGS)
->build(); ->build();
} }
} }

View File

@@ -34,6 +34,7 @@ class libxslt
'--without-crypto', '--without-crypto',
'--without-debug', '--without-debug',
'--without-debugger', '--without-debugger',
'--without-profiler',
"--with-libxml-prefix={$lib->getBuildRootPath()}", "--with-libxml-prefix={$lib->getBuildRootPath()}",
); );
if (getenv('SPC_LD_LIBRARY_PATH') && getenv('SPC_LIBRARY_PATH')) { if (getenv('SPC_LD_LIBRARY_PATH') && getenv('SPC_LIBRARY_PATH')) {

View File

@@ -21,6 +21,7 @@ class mimalloc
->addConfigureArgs( ->addConfigureArgs(
'-DMI_BUILD_SHARED=OFF', '-DMI_BUILD_SHARED=OFF',
'-DMI_BUILD_OBJECT=OFF', '-DMI_BUILD_OBJECT=OFF',
'-DMI_BUILD_TESTS=OFF',
'-DMI_INSTALL_TOPLEVEL=ON', '-DMI_INSTALL_TOPLEVEL=ON',
); );
if (SystemTarget::getLibc() === 'musl') { if (SystemTarget::getLibc() === 'musl') {

View File

@@ -24,6 +24,7 @@ class nghttp3
'-DBUILD_SHARED_LIBS=OFF', '-DBUILD_SHARED_LIBS=OFF',
'-DENABLE_STATIC_CRT=ON', '-DENABLE_STATIC_CRT=ON',
'-DENABLE_LIB_ONLY=ON', '-DENABLE_LIB_ONLY=ON',
'-DBUILD_TESTING=OFF',
) )
->build(); ->build();
} }

View File

@@ -25,6 +25,7 @@ class ngtcp2
'-DENABLE_STATIC_CRT=ON', '-DENABLE_STATIC_CRT=ON',
'-DENABLE_LIB_ONLY=ON', '-DENABLE_LIB_ONLY=ON',
'-DENABLE_OPENSSL=OFF', '-DENABLE_OPENSSL=OFF',
'-DBUILD_TESTING=OFF',
) )
->build(); ->build();
} }

View File

@@ -20,6 +20,7 @@ class readline
->configure( ->configure(
'--with-curses', '--with-curses',
'--enable-multibyte=yes', '--enable-multibyte=yes',
'--disable-install-examples',
) )
->make(); ->make();
$lib->patchPkgconfPrefix(['readline.pc']); $lib->patchPkgconfPrefix(['readline.pc']);

View File

@@ -22,7 +22,8 @@ class tidy
->setBuildDir("{$lib->getSourceDir()}/build-dir") ->setBuildDir("{$lib->getSourceDir()}/build-dir")
->addConfigureArgs( ->addConfigureArgs(
'-DSUPPORT_CONSOLE_APP=OFF', '-DSUPPORT_CONSOLE_APP=OFF',
'-DBUILD_SHARED_LIB=OFF' '-DBUILD_SHARED_LIB=OFF',
'-DSUPPORT_LOCALIZATIONS=OFF',
); );
if (version_compare(get_cmake_version(), '4.0.0', '>=')) { if (version_compare(get_cmake_version(), '4.0.0', '>=')) {
$cmake->addConfigureArgs('-DCMAKE_POLICY_VERSION_MINIMUM=3.5'); $cmake->addConfigureArgs('-DCMAKE_POLICY_VERSION_MINIMUM=3.5');
@@ -38,7 +39,8 @@ class tidy
->setBuildDir("{$lib->getSourceDir()}/build-dir") ->setBuildDir("{$lib->getSourceDir()}/build-dir")
->addConfigureArgs( ->addConfigureArgs(
'-DSUPPORT_CONSOLE_APP=OFF', '-DSUPPORT_CONSOLE_APP=OFF',
'-DBUILD_SHARED_LIB=OFF' '-DBUILD_SHARED_LIB=OFF',
'-DSUPPORT_LOCALIZATIONS=OFF',
)->build(); )->build();
// rename tidy_static.lib to tidy_a.lib // rename tidy_static.lib to tidy_a.lib

View File

@@ -35,6 +35,7 @@ class unixodbc extends LibraryPackage
'--with-included-ltdl', '--with-included-ltdl',
"--sysconfdir={$sysconf_selector}", "--sysconfdir={$sysconf_selector}",
'--enable-gui=no', '--enable-gui=no',
'--enable-readline=no',
) )
->make(); ->make();
$this->patchPkgconfPrefix(['odbc.pc', 'odbccr.pc', 'odbcinst.pc']); $this->patchPkgconfPrefix(['odbc.pc', 'odbccr.pc', 'odbcinst.pc']);

View File

@@ -22,6 +22,11 @@ class xz
->configure( ->configure(
'--disable-scripts', '--disable-scripts',
'--disable-doc', '--disable-doc',
'--disable-xz',
'--disable-xzdec',
'--disable-lzmadec',
'--disable-lzmainfo',
'--disable-lzma-links',
'--with-libiconv', '--with-libiconv',
'--bindir=/tmp/xz', // xz binary will corrupt `tar` command, that's really strange. '--bindir=/tmp/xz', // xz binary will corrupt `tar` command, that's really strange.
) )

View File

@@ -14,16 +14,20 @@ use StaticPHP\Util\FileSystem;
#[Library('zstd')] #[Library('zstd')]
class 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')] #[BuildFor('Windows')]
public function buildWin(LibraryPackage $package): void public function buildWin(LibraryPackage $package): void
{ {
WindowsCMakeExecutor::create($package) WindowsCMakeExecutor::create($package)
->setWorkingDir("{$package->getSourceDir()}/build/cmake") ->setWorkingDir("{$package->getSourceDir()}/build/cmake")
->setBuildDir("{$package->getSourceDir()}/build/cmake/build") ->setBuildDir("{$package->getSourceDir()}/build/cmake/build")
->addConfigureArgs( ->addConfigureArgs(...self::DISABLE_ARGS)
'-DZSTD_BUILD_STATIC=ON',
'-DZSTD_BUILD_SHARED=OFF',
)
->build(); ->build();
FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/zstd.lib'); FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/zstd.lib');
FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/libzstd.lib'); FileSystem::copy($package->getLibDir() . '\zstd_static.lib', $package->getLibDir() . '/libzstd.lib');
@@ -35,10 +39,7 @@ class zstd
{ {
UnixCMakeExecutor::create($lib) UnixCMakeExecutor::create($lib)
->setBuildDir("{$lib->getSourceDir()}/build/cmake/build") ->setBuildDir("{$lib->getSourceDir()}/build/cmake/build")
->addConfigureArgs( ->addConfigureArgs(...self::DISABLE_ARGS)
'-DZSTD_BUILD_STATIC=ON',
'-DZSTD_BUILD_SHARED=OFF',
)
->build(); ->build();
$lib->patchPkgconfPrefix(['libzstd.pc'], PKGCONF_PATCH_PREFIX); $lib->patchPkgconfPrefix(['libzstd.pc'], PKGCONF_PATCH_PREFIX);

View File

@@ -43,6 +43,8 @@ class curl
'-DZSTD_LIBRARY=zstd_static.lib', '-DZSTD_LIBRARY=zstd_static.lib',
'-DBUILD_TESTING=OFF', '-DBUILD_TESTING=OFF',
'-DBUILD_EXAMPLES=OFF', '-DBUILD_EXAMPLES=OFF',
'-DBUILD_LIBCURL_DOCS=OFF',
'-DENABLE_CURL_MANUAL=OFF',
'-DUSE_LIBIDN2=OFF', '-DUSE_LIBIDN2=OFF',
'-DCURL_USE_LIBPSL=OFF', '-DCURL_USE_LIBPSL=OFF',
'-DUSE_WINDOWS_SSPI=ON', '-DUSE_WINDOWS_SSPI=ON',
@@ -81,6 +83,9 @@ class curl
->addConfigureArgs( ->addConfigureArgs(
'-DBUILD_CURL_EXE=ON', '-DBUILD_CURL_EXE=ON',
'-DBUILD_LIBCURL_DOCS=OFF', '-DBUILD_LIBCURL_DOCS=OFF',
'-DBUILD_TESTING=OFF',
'-DBUILD_EXAMPLES=OFF',
'-DENABLE_CURL_MANUAL=OFF',
'-DOPENSSL_ROOT_DIR=' . BUILD_ROOT_PATH, '-DOPENSSL_ROOT_DIR=' . BUILD_ROOT_PATH,
) )
->build(); ->build();