fix zig runtime

This commit is contained in:
DubbleClick 2025-07-01 16:40:12 +07:00
parent f6c6011061
commit 27f57cc23a
3 changed files with 6 additions and 5 deletions

View File

@ -37,7 +37,7 @@ done
TARGET=""
if [ -n "$SPC_TARGET" ]; then
TARGET="-target $SPC_TARGET"
else
fi
output=$(zig cc $TARGET -lstdc++ $COMPILER_EXTRA "${PARSED_ARGS[@]}" 2>&1)
status=$?

View File

@ -30,5 +30,6 @@ class ZigToolchain implements ToolchainInterface
if (!is_dir(Zig::getEnvironment()['PATH'])) {
throw new WrongUsageException('You are building with zig, but zig is not installed, please install zig first. (You can use `doctor` command to install it)');
}
GlobalEnvManager::addPathIfNotExists(Zig::getEnvironment()['PATH']);
}
}

View File

@ -96,11 +96,11 @@ class SPCTarget
if ($target === false) {
return PHP_OS_FAMILY;
}
// TODO: zig target parser like below?
return match (true) {
str_contains($target, 'linux') => 'Linux',
str_contains($target, 'macos') => 'Darwin',
str_contains($target, 'windows') => 'Windows',
str_contains($target, '-linux') => 'Linux',
str_contains($target, '-macos') => 'Darwin',
str_contains($target, '-windows') => 'Windows',
str_contains($target, '-native') => PHP_OS_FAMILY,
default => throw new WrongUsageException('Cannot parse target.'),
};
}