remove shared-ext-depends

This commit is contained in:
DubbleClick 2025-05-23 10:00:31 +07:00
parent 51891478e4
commit 15dc672bcf
2 changed files with 9 additions and 25 deletions

View File

@ -96,7 +96,7 @@
"type": "external",
"source": "ev",
"arg-type-windows": "with",
"shared-ext-depends": [
"ext-depends": [
"sockets"
]
},
@ -371,9 +371,6 @@
"zlib",
"session"
],
"shared-ext-depends": [
"session"
],
"build-with-php": true
},
"memcached": {
@ -392,9 +389,6 @@
"ext-depends": [
"session",
"zlib"
],
"shared-ext-depends": [
"session"
]
},
"mongodb": {
@ -420,7 +414,7 @@
"source": "msgpack",
"arg-type-unix": "with",
"arg-type-win": "enable",
"shared-ext-depends": [
"ext-depends": [
"session"
]
},
@ -429,9 +423,6 @@
"arg-type": "with",
"ext-depends": [
"mysqlnd"
],
"shared-ext-depends": [
"mysqlnd"
]
},
"mysqlnd": {
@ -792,10 +783,7 @@
"lib-depends": [
"libssh2"
],
"shared-ext-depends": [
"openssl"
],
"ext-depends-windows": [
"ext-depends": [
"openssl",
"zlib"
]

View File

@ -121,9 +121,6 @@ class Extension
foreach (Config::getExt($this->name, 'ext-suggests', []) as $name) {
$this->addExtensionDependency($name, true);
}
foreach (Config::getExt($this->name, 'shared-ext-depends', []) as $name) {
$this->addExtensionDependency($name);
}
return $this;
}
@ -319,14 +316,13 @@ class Extension
logger()->info('extension ' . $this->getName() . ' already built, skipping');
return;
}
foreach (Config::getExt($this->name, 'shared-ext-depends', []) as $name) {
$dependencyExt = $this->builder->getExt($name);
if ($dependencyExt === null) {
throw new RuntimeException("extension {$this->name} requires shared extension {$name}");
foreach ($this->dependencies as $dependency) {
if (!$dependency instanceof Extension) {
continue;
}
if ($dependencyExt->isBuildShared()) {
logger()->info('extension ' . $this->getName() . ' requires shared extension ' . $name);
$dependencyExt->buildShared();
if (!$dependency->isBuildStatic()) {
logger()->info('extension ' . $this->getName() . ' requires extension ' . $dependency->getName());
$dependency->buildShared();
}
}
match (PHP_OS_FAMILY) {