conflicts with shared tests

This commit is contained in:
DubbleClick 2025-07-01 14:41:14 +07:00
parent ba7f994a71
commit bebcb978f6
4 changed files with 9 additions and 10 deletions

View File

@ -6,6 +6,8 @@ namespace SPC\builder\linux;
use SPC\builder\traits\UnixSystemUtilTrait;
use SPC\exception\RuntimeException;
use SPC\toolchain\ToolchainManager;
use SPC\toolchain\ZigToolchain;
class SystemUtil
{
@ -231,8 +233,7 @@ class SystemUtil
public static function getExtraRuntimeObjects(): string
{
$cc = getenv('CC');
if (!$cc || !str_contains($cc, 'zig')) {
if (ToolchainManager::getToolchainClass() !== ZigToolchain::class) {
return '';
}

View File

@ -20,11 +20,11 @@ class ToolchainManager
public static function getToolchainClass(): string
{
$libc = getenv('SPC_LIBC');
if ($libc !== false) {
if ($libc !== false && !getenv('SPC_TARGET')) {
logger()->warning('SPC_LIBC is deprecated, please use SPC_TARGET instead.');
return match ($libc) {
'musl' => SystemUtil::isMuslDist() ? GccNativeToolchain::class : MuslToolchain::class,
'glibc' => !SystemUtil::isMuslDist() ? GccNativeToolchain::class : throw new WrongUsageException('SPC_TARGET must be musl for musl dist.'),
'glibc' => !SystemUtil::isMuslDist() ? GccNativeToolchain::class : throw new WrongUsageException('SPC_LIBC must be musl for musl dist.'),
default => throw new WrongUsageException('Unsupported SPC_LIBC value: ' . $libc),
};
}

View File

@ -6,12 +6,13 @@ namespace SPC\util;
use SPC\builder\BuilderBase;
use SPC\builder\BuilderProvider;
use SPC\builder\linux\SystemUtil;
use SPC\builder\macos\MacOSBuilder;
use SPC\exception\FileSystemException;
use SPC\exception\RuntimeException;
use SPC\exception\WrongUsageException;
use SPC\store\Config;
use SPC\toolchain\ToolchainManager;
use SPC\toolchain\ZigToolchain;
use Symfony\Component\Console\Input\ArgvInput;
class SPCConfigUtil
@ -71,7 +72,7 @@ class SPCConfigUtil
if ($this->builder->hasCpp()) {
$libs .= $this->builder instanceof MacOSBuilder ? ' -lc++' : ' -lstdc++';
}
if (SystemUtil::getCCType() === 'clang') {
if (ToolchainManager::getToolchainClass() === ZigToolchain::class) {
$libs .= ' -lunwind';
}
// mimalloc must come first

View File

@ -72,7 +72,7 @@ $with_libs = match (PHP_OS_FAMILY) {
// You can use `common`, `bulk`, `minimal` or `none`.
// note: combination is only available for *nix platform. Windows must use `none` combination
$base_combination = match (PHP_OS_FAMILY) {
'Linux', 'Darwin' => 'common',
'Linux', 'Darwin' => 'minimal',
'Windows' => 'none',
};
@ -214,9 +214,6 @@ switch ($argv[1] ?? null) {
passthru($prefix . $down_cmd, $retcode);
break;
case 'build_cmd':
if ($zig) {
passthru("{$prefix}install-pkg zig --debug", $retcode);
}
passthru($prefix . $build_cmd . ' --build-cli --build-micro', $retcode);
break;
case 'build_embed_cmd':