mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-07-10 18:35:35 +08:00
zig is clang
This commit is contained in:
@@ -292,27 +292,31 @@ 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';
|
||||||
$realLib = BUILD_LIB_PATH . '/' . $realLibName;
|
|
||||||
rename(BUILD_LIB_PATH . '/libphp.so', $realLib);
|
|
||||||
$cwd = getcwd();
|
$cwd = getcwd();
|
||||||
chdir(BUILD_LIB_PATH);
|
if (file_exists($realLibName)) {
|
||||||
symlink($realLibName, 'libphp.so');
|
$realLib = BUILD_LIB_PATH . '/' . $realLibName;
|
||||||
chdir(BUILD_MODULES_PATH);
|
rename(BUILD_LIB_PATH . '/libphp.so', $realLib);
|
||||||
foreach ($this->getExts() as $ext) {
|
chdir(BUILD_LIB_PATH);
|
||||||
if (!$ext->isBuildShared()) {
|
symlink($realLibName, 'libphp.so');
|
||||||
continue;
|
}
|
||||||
}
|
if (is_dir(BUILD_MODULES_PATH)) {
|
||||||
$name = $ext->getName();
|
chdir(BUILD_MODULES_PATH);
|
||||||
$versioned = "{$name}-{$release}.so";
|
foreach ($this->getExts() as $ext) {
|
||||||
$unversioned = "{$name}.so";
|
if (!$ext->isBuildShared()) {
|
||||||
if (is_file(BUILD_MODULES_PATH . "/{$versioned}")) {
|
continue;
|
||||||
rename(BUILD_MODULES_PATH . "/{$versioned}", BUILD_MODULES_PATH . "/{$unversioned}");
|
}
|
||||||
shell()->cd(BUILD_MODULES_PATH)
|
$name = $ext->getName();
|
||||||
->exec(sprintf(
|
$versioned = "{$name}-{$release}.so";
|
||||||
'patchelf --set-soname %s %s',
|
$unversioned = "{$name}.so";
|
||||||
escapeshellarg($unversioned),
|
if (is_file(BUILD_MODULES_PATH . "/{$versioned}")) {
|
||||||
escapeshellarg($unversioned)
|
rename(BUILD_MODULES_PATH . "/{$versioned}", BUILD_MODULES_PATH . "/{$unversioned}");
|
||||||
));
|
shell()->cd(BUILD_MODULES_PATH)
|
||||||
|
->exec(sprintf(
|
||||||
|
'patchelf --set-soname %s %s',
|
||||||
|
escapeshellarg($unversioned),
|
||||||
|
escapeshellarg($unversioned)
|
||||||
|
));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
chdir($cwd);
|
chdir($cwd);
|
||||||
|
|||||||
@@ -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}"),
|
||||||
|
|||||||
Reference in New Issue
Block a user