zig is clang

This commit is contained in:
DubbleClick
2025-06-23 15:26:39 +07:00
parent f9af24e246
commit bd863dba34
2 changed files with 25 additions and 20 deletions

View File

@@ -292,11 +292,14 @@ class LinuxBuilder extends UnixBuilderBase
if (preg_match('/-release\s+(\S+)/', $ldflags, $matches)) { if (preg_match('/-release\s+(\S+)/', $ldflags, $matches)) {
$release = $matches[1]; $release = $matches[1];
$realLibName = 'libphp-' . $release . '.so'; $realLibName = 'libphp-' . $release . '.so';
$cwd = getcwd();
if (file_exists($realLibName)) {
$realLib = BUILD_LIB_PATH . '/' . $realLibName; $realLib = BUILD_LIB_PATH . '/' . $realLibName;
rename(BUILD_LIB_PATH . '/libphp.so', $realLib); rename(BUILD_LIB_PATH . '/libphp.so', $realLib);
$cwd = getcwd();
chdir(BUILD_LIB_PATH); chdir(BUILD_LIB_PATH);
symlink($realLibName, 'libphp.so'); symlink($realLibName, 'libphp.so');
}
if (is_dir(BUILD_MODULES_PATH)) {
chdir(BUILD_MODULES_PATH); chdir(BUILD_MODULES_PATH);
foreach ($this->getExts() as $ext) { foreach ($this->getExts() as $ext) {
if (!$ext->isBuildShared()) { if (!$ext->isBuildShared()) {
@@ -315,6 +318,7 @@ class LinuxBuilder extends UnixBuilderBase
)); ));
} }
} }
}
chdir($cwd); chdir($cwd);
} }
$this->patchPhpScripts(); $this->patchPhpScripts();

View File

@@ -81,6 +81,7 @@ class SystemUtil
public static function getCCType(string $cc): string public static function getCCType(string $cc): string
{ {
return match (true) { return match (true) {
str_contains($cc, 'zig') => 'clang',
str_ends_with($cc, 'c++'), str_ends_with($cc, 'cc'), str_ends_with($cc, 'g++'), str_ends_with($cc, 'gcc') => 'gcc', str_ends_with($cc, 'c++'), str_ends_with($cc, 'cc'), str_ends_with($cc, 'g++'), str_ends_with($cc, 'gcc') => 'gcc',
$cc === 'clang++', $cc === 'clang', str_starts_with($cc, 'musl-clang') => 'clang', $cc === 'clang++', $cc === 'clang', str_starts_with($cc, 'musl-clang') => 'clang',
default => throw new RuntimeException("unknown cc type: {$cc}"), default => throw new RuntimeException("unknown cc type: {$cc}"),