Skip to content

Commit bd863db

Browse files
committed
zig is clang
1 parent f9af24e commit bd863db

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

src/SPC/builder/linux/LinuxBuilder.php

Lines changed: 24 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -292,27 +292,31 @@ protected function buildEmbed(): void
292292
if (preg_match('/-release\s+(\S+)/', $ldflags, $matches)) {
293293
$release = $matches[1];
294294
$realLibName = 'libphp-' . $release . '.so';
295-
$realLib = BUILD_LIB_PATH . '/' . $realLibName;
296-
rename(BUILD_LIB_PATH . '/libphp.so', $realLib);
297295
$cwd = getcwd();
298-
chdir(BUILD_LIB_PATH);
299-
symlink($realLibName, 'libphp.so');
300-
chdir(BUILD_MODULES_PATH);
301-
foreach ($this->getExts() as $ext) {
302-
if (!$ext->isBuildShared()) {
303-
continue;
304-
}
305-
$name = $ext->getName();
306-
$versioned = "{$name}-{$release}.so";
307-
$unversioned = "{$name}.so";
308-
if (is_file(BUILD_MODULES_PATH . "/{$versioned}")) {
309-
rename(BUILD_MODULES_PATH . "/{$versioned}", BUILD_MODULES_PATH . "/{$unversioned}");
310-
shell()->cd(BUILD_MODULES_PATH)
311-
->exec(sprintf(
312-
'patchelf --set-soname %s %s',
313-
escapeshellarg($unversioned),
314-
escapeshellarg($unversioned)
315-
));
296+
if (file_exists($realLibName)) {
297+
$realLib = BUILD_LIB_PATH . '/' . $realLibName;
298+
rename(BUILD_LIB_PATH . '/libphp.so', $realLib);
299+
chdir(BUILD_LIB_PATH);
300+
symlink($realLibName, 'libphp.so');
301+
}
302+
if (is_dir(BUILD_MODULES_PATH)) {
303+
chdir(BUILD_MODULES_PATH);
304+
foreach ($this->getExts() as $ext) {
305+
if (!$ext->isBuildShared()) {
306+
continue;
307+
}
308+
$name = $ext->getName();
309+
$versioned = "{$name}-{$release}.so";
310+
$unversioned = "{$name}.so";
311+
if (is_file(BUILD_MODULES_PATH . "/{$versioned}")) {
312+
rename(BUILD_MODULES_PATH . "/{$versioned}", BUILD_MODULES_PATH . "/{$unversioned}");
313+
shell()->cd(BUILD_MODULES_PATH)
314+
->exec(sprintf(
315+
'patchelf --set-soname %s %s',
316+
escapeshellarg($unversioned),
317+
escapeshellarg($unversioned)
318+
));
319+
}
316320
}
317321
}
318322
chdir($cwd);

src/SPC/builder/linux/SystemUtil.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ public static function getCpuCount(): int
8181
public static function getCCType(string $cc): string
8282
{
8383
return match (true) {
84+
str_contains($cc, 'zig') => 'clang',
8485
str_ends_with($cc, 'c++'), str_ends_with($cc, 'cc'), str_ends_with($cc, 'g++'), str_ends_with($cc, 'gcc') => 'gcc',
8586
$cc === 'clang++', $cc === 'clang', str_starts_with($cc, 'musl-clang') => 'clang',
8687
default => throw new RuntimeException("unknown cc type: {$cc}"),

0 commit comments

Comments
 (0)