From 6f68d7b7f1972b4e6d9e758807226864a8470726 Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Wed, 2 Jul 2025 12:55:59 +0700 Subject: [PATCH] Revert "add cache file option to autoconf executor by default (if cflags and ldflags match default)" This reverts commit 5577cd0fab770028fb5cad9560ac8750c4c53182. --- src/SPC/builder/linux/library/libffi.php | 7 ++++++- src/SPC/builder/unix/library/gettext.php | 2 +- src/SPC/builder/unix/library/unixodbc.php | 1 - .../util/executor/UnixAutoconfExecutor.php | 19 +------------------ 4 files changed, 8 insertions(+), 21 deletions(-) diff --git a/src/SPC/builder/linux/library/libffi.php b/src/SPC/builder/linux/library/libffi.php index 9182cf44..ecb3e142 100644 --- a/src/SPC/builder/linux/library/libffi.php +++ b/src/SPC/builder/linux/library/libffi.php @@ -18,8 +18,13 @@ class libffi extends LinuxLibraryBase */ public function build(): void { + $arch = getenv('SPC_ARCH'); UnixAutoconfExecutor::create($this) - ->configure() + ->configure( + "--host={$arch}-unknown-linux", + "--target={$arch}-unknown-linux", + "--libdir={$this->getLibDir()}" + ) ->make(); if (is_file(BUILD_ROOT_PATH . '/lib64/libffi.a')) { diff --git a/src/SPC/builder/unix/library/gettext.php b/src/SPC/builder/unix/library/gettext.php index fd523dc1..f0fdae54 100644 --- a/src/SPC/builder/unix/library/gettext.php +++ b/src/SPC/builder/unix/library/gettext.php @@ -24,7 +24,7 @@ trait gettext if ($this->builder->getOption('enable-zts')) { $autoconf->addConfigureArgs('--enable-threads=isoc+posix') ->appendEnv([ - 'CFLAGS' => '-D_REENTRANT', + 'CFLAGS' => '-lpthread -D_REENTRANT', 'LDFLGAS' => '-lpthread', ]); } else { diff --git a/src/SPC/builder/unix/library/unixodbc.php b/src/SPC/builder/unix/library/unixodbc.php index bcd1b776..a795d244 100644 --- a/src/SPC/builder/unix/library/unixodbc.php +++ b/src/SPC/builder/unix/library/unixodbc.php @@ -17,7 +17,6 @@ trait unixodbc protected function build(): void { UnixAutoconfExecutor::create($this) - ->removeConfigureArgs('--cache-file') ->configure( '--disable-debug', '--disable-dependency-tracking', diff --git a/src/SPC/util/executor/UnixAutoconfExecutor.php b/src/SPC/util/executor/UnixAutoconfExecutor.php index 02f83f59..1c9f496e 100644 --- a/src/SPC/util/executor/UnixAutoconfExecutor.php +++ b/src/SPC/util/executor/UnixAutoconfExecutor.php @@ -32,13 +32,6 @@ class UnixAutoconfExecutor extends Executor // remove all the ignored args $args = array_merge($args, $this->getDefaultConfigureArgs(), $this->configure_args); $args = array_diff($args, $this->ignore_args); - $args = array_filter( - $args, - fn ($arg) => !array_filter( - $this->ignore_args, - fn ($ignore) => str_starts_with($arg, $ignore . '=') - ) - ); $configure_args = implode(' ', $args); $this->shell->exec("./configure {$configure_args}"); @@ -126,23 +119,13 @@ class UnixAutoconfExecutor extends Executor */ private function getDefaultConfigureArgs(): array { - $args = [ + return [ '--disable-shared', '--enable-static', "--prefix={$this->library->getBuildRootPath()}", '--with-pic', '--enable-pic', ]; - - // only add the cache file if CFLAGS and LDFLAGS are defaulted - $env = $this->shell->getEnv(); - $expected_cflags = '-I' . BUILD_INCLUDE_PATH . ' ' . getenv('SPC_DEFAULT_C_FLAGS'); - $expected_ldflags = '-L' . BUILD_LIB_PATH; - - if (($env['CFLAGS'] ?? '') === $expected_cflags && ($env['LDFLAGS'] ?? '') === $expected_ldflags) { - $args[] = '--cache-file=' . BUILD_ROOT_PATH . '/config.cache'; - } - return $args; } /**