use resolved dependency tree instead of asking for with_suggests everywhere

This commit is contained in:
henderkes
2026-05-11 11:35:15 +07:00
parent efdd2a74a5
commit 743934d1fe
6 changed files with 46 additions and 28 deletions

View File

@@ -274,8 +274,7 @@ class PhpExtensionPackage extends Package
$compiler_extra = trim($compiler_extra . ' -lcompiler_rt');
GlobalEnvManager::putenv("SPC_COMPILER_EXTRA={$compiler_extra}");
}
// include_suggests so transitive optional libs (e.g. librdkafka → lz4/zstd/ssl) are in the link line
$config = (new SPCConfigUtil())->getExtensionConfig($this, include_suggests: true);
$config = (new SPCConfigUtil())->getExtensionConfig($this);
[$staticLibs, $sharedLibs] = $this->splitLibsIntoStaticAndShared($config['libs']);
$preStatic = PHP_OS_FAMILY === 'Darwin' ? '' : '-Wl,--start-group ';
$postStatic = PHP_OS_FAMILY === 'Darwin' ? '' : ' -Wl,--end-group ';
@@ -336,8 +335,7 @@ class PhpExtensionPackage extends Package
public function patchSharedLibAdd(): void
{
// include_suggests so transitive optional libs (e.g. librdkafka → lz4/zstd/ssl) are in the link line
$config = (new SPCConfigUtil())->getExtensionConfig($this, include_suggests: true);
$config = (new SPCConfigUtil())->getExtensionConfig($this);
[$staticLibs, $sharedLibs] = $this->splitLibsIntoStaticAndShared($config['libs']);
$lstdcpp = str_contains($sharedLibs, '-l:libstdc++.a')
? '-l:libstdc++.a'