use 8.4 for tests only

This commit is contained in:
DubbleClick 2025-08-25 14:55:30 +07:00
parent d13e369994
commit 9fe322375f
4 changed files with 17 additions and 3 deletions

View File

@ -252,12 +252,15 @@ class Extension
$order = [];
$resolve = function ($extension) use (&$resolve, &$loaded, &$order) {
if (!$extension instanceof Extension) {
return;
}
if (isset($loaded[$extension->getName()])) {
return;
}
$loaded[$extension->getName()] = true;
foreach ($this->dependencies as $dependency) {
foreach ($extension->dependencies as $dependency) {
$resolve($dependency);
}

View File

@ -8,6 +8,7 @@ use SPC\builder\Extension;
use SPC\builder\macos\MacOSBuilder;
use SPC\store\FileSystem;
use SPC\util\CustomExt;
use SPC\util\SPCTarget;
#[CustomExt('swoole')]
class swoole extends Extension
@ -48,7 +49,8 @@ class swoole extends Extension
// commonly-used feature: coroutine-time
$arg .= ' --enable-swoole-coro-time --with-pic';
$arg .= $this->builder->getOption('enable-zts') ? ' --enable-swoole-thread --disable-thread-context' : ' --disable-swoole-thread --enable-thread-context';
$arg .= $this->builder->getOption('enable-zts') && SPCTarget::getTargetOS() !== 'Darwin' ? ' --enable-swoole-thread' : ' --disable-swoole-thread';
$arg .= $this->builder->getOption('enable-zts') || SPCTarget::getTargetOS() === 'Darwin' ? ' --disable-thread-context' : ' --enable-thread-context';
// required feature: curl, openssl (but curl hook is buggy for php 8.0)
$arg .= $this->builder->getPHPVersionID() >= 80100 ? ' --enable-swoole-curl' : ' --disable-swoole-curl';

View File

@ -54,6 +54,15 @@ class SPCConfigUtil
*/
public function config(array $extensions = [], array $libraries = [], bool $include_suggest_ext = false, bool $include_suggest_lib = false): array
{
$extra_exts = [];
foreach ($extensions as $ext) {
$extra_exts = array_merge($extra_exts, Config::getExt($ext, 'ext-suggests', []));
}
foreach ($extra_exts as $ext) {
if ($this->builder?->getExt($ext) && !in_array($ext, $extensions)) {
$extensions[] = $ext;
}
}
[$extensions, $libraries] = DependencyUtil::getExtsAndLibs($extensions, $libraries, $include_suggest_ext, $include_suggest_lib);
ob_start();

View File

@ -18,7 +18,7 @@ $test_php_version = [
// '8.3',
'8.4',
// '8.5',
'git',
// 'git',
];
// test os (macos-13, macos-14, macos-15, ubuntu-latest, windows-latest are available)