Revert "add cache file option to autoconf executor by default (if cflags and ldflags match default)"

This reverts commit 5577cd0fab770028fb5cad9560ac8750c4c53182.
This commit is contained in:
DubbleClick 2025-07-02 12:55:59 +07:00
parent abe27598de
commit 6f68d7b7f1
4 changed files with 8 additions and 21 deletions

View File

@ -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')) {

View File

@ -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 {

View File

@ -17,7 +17,6 @@ trait unixodbc
protected function build(): void
{
UnixAutoconfExecutor::create($this)
->removeConfigureArgs('--cache-file')
->configure(
'--disable-debug',
'--disable-dependency-tracking',

View File

@ -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;
}
/**