mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-09 09:55:37 +08:00
Compare commits
13 Commits
fe4803cfaf
...
f06891155c
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f06891155c | ||
|
|
15deecd34f | ||
|
|
7ae5d742c2 | ||
|
|
95be291a84 | ||
|
|
d89add106a | ||
|
|
a36129c6cd | ||
|
|
3f3edd62a1 | ||
|
|
82b77af317 | ||
|
|
df26b93e58 | ||
|
|
d1b4c05381 | ||
|
|
e1658bc0e6 | ||
|
|
5053620b61 | ||
|
|
9366cbacd9 |
@@ -27,7 +27,7 @@ class password_argon2 extends PhpExtensionPackage
|
||||
#[CustomPhpConfigureArg('Darwin')]
|
||||
public function getConfigureArg(PackageInstaller $installer, PackageBuilder $builder): string
|
||||
{
|
||||
if ($installer->getPhpExtensionPackage('openssl')?->isBuildStatic() || $this->isBuildShared()) {
|
||||
if ($installer->getPhpExtensionPackage('openssl')?->isBuildStatic()) {
|
||||
if (php::getPHPVersionID() >= 80500 || (php::getPHPVersionID() >= 80400 && !$builder->getOption('enable-zts'))) {
|
||||
return '--without-password-argon2'; // use --with-openssl-argon2 in openssl extension instead
|
||||
}
|
||||
|
||||
@@ -304,9 +304,11 @@ class PackageInstaller
|
||||
}
|
||||
|
||||
/**
|
||||
* Get resolved package names whose build artifacts contribute to the PHP main link.
|
||||
* Excludes libraries not yet built (so SPCConfigUtil doesn't probe their .a files) and
|
||||
* shared-only extensions (they link separately into their own .so).
|
||||
* Get resolved package names filtered to only packages whose build artifacts are available.
|
||||
* This excludes library packages that haven't been built/installed yet, which naturally
|
||||
* prevents SPCConfigUtil from checking static-lib files of libraries that come after
|
||||
* the current target in the build order (e.g. 'watcher' for frankenphp isn't built
|
||||
* when 'php' is being compiled).
|
||||
*
|
||||
* @return string[] Available resolved package names
|
||||
*/
|
||||
@@ -316,12 +318,12 @@ class PackageInstaller
|
||||
array_keys($this->packages),
|
||||
function (string $name): bool {
|
||||
$pkg = $this->packages[$name] ?? null;
|
||||
// Exclude library packages whose build artifacts don't exist yet.
|
||||
// Extensions and targets are not filtered — extensions are compiled into PHP
|
||||
// and don't have standalone build artifacts.
|
||||
if ($pkg instanceof LibraryPackage && $pkg->getType() === 'library' && !$pkg->isInstalled()) {
|
||||
return false;
|
||||
}
|
||||
if ($pkg instanceof PhpExtensionPackage && $pkg->isBuildShared() && !$pkg->isBuildStatic()) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
));
|
||||
|
||||
Reference in New Issue
Block a user