mirror of
https://github.com/crazywhalecc/static-php-cli.git
synced 2026-03-17 20:34:51 +08:00
fix spx shared libadd (#1022)
This commit is contained in:
commit
0cfa2036f0
@ -75,8 +75,10 @@ SPC_MICRO_PATCHES=static_extensions_win32,cli_checks,disable_huge_page,vcruntime
|
||||
; - musl-native: used for alpine linux, can build `musl` and `musl -dynamic` target.
|
||||
; - gnu-native: used for general linux distros, can build gnu target for the installed glibc version only.
|
||||
|
||||
; LEGACY option to specify the target
|
||||
; option to specify the target, superceded by SPC_TARGET if set
|
||||
SPC_LIBC=musl
|
||||
; uncomment to link libc dynamically on musl
|
||||
; SPC_MUSL_DYNAMIC=true
|
||||
|
||||
; Recommended: specify your target here. Zig toolchain will be used.
|
||||
; examples:
|
||||
|
||||
@ -542,7 +542,7 @@ class Extension
|
||||
*/
|
||||
protected function getSharedExtensionEnv(): array
|
||||
{
|
||||
$config = (new SPCConfigUtil($this->builder))->getExtensionConfig($this);
|
||||
$config = (new SPCConfigUtil($this->builder, ['no_php' => true]))->getExtensionConfig($this);
|
||||
[$staticLibs, $sharedLibs] = $this->splitLibsIntoStaticAndShared($config['libs']);
|
||||
$preStatic = PHP_OS_FAMILY === 'Darwin' ? '' : '-Wl,--start-group ';
|
||||
$postStatic = PHP_OS_FAMILY === 'Darwin' ? '' : ' -Wl,--end-group ';
|
||||
|
||||
@ -1,19 +0,0 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace SPC\builder\extension;
|
||||
|
||||
use SPC\builder\Extension;
|
||||
use SPC\util\CustomExt;
|
||||
|
||||
#[CustomExt('excimer')]
|
||||
class excimer extends Extension
|
||||
{
|
||||
public function getSharedExtensionEnv(): array
|
||||
{
|
||||
$env = parent::getSharedExtensionEnv();
|
||||
$env['LIBS'] = clean_spaces(str_replace('-lphp', '', $env['LIBS']));
|
||||
return $env;
|
||||
}
|
||||
}
|
||||
@ -45,4 +45,11 @@ class spx extends Extension
|
||||
FileSystem::copy($this->source_dir . '/src/php_spx.h', $this->source_dir . '/php_spx.h');
|
||||
return true;
|
||||
}
|
||||
|
||||
public function getSharedExtensionEnv(): array
|
||||
{
|
||||
$env = parent::getSharedExtensionEnv();
|
||||
$env['SPX_SHARED_LIBADD'] = $env['LIBS'];
|
||||
return $env;
|
||||
}
|
||||
}
|
||||
|
||||
@ -16,7 +16,11 @@ trait gettext
|
||||
->addConfigureArgs(
|
||||
'--disable-java',
|
||||
'--disable-c++',
|
||||
'--with-included-gettext',
|
||||
'--disable-d',
|
||||
'--disable-rpath',
|
||||
'--disable-modula2',
|
||||
'--disable-libasprintf',
|
||||
'--with-included-libintl',
|
||||
"--with-iconv-prefix={$this->getBuildRootPath()}",
|
||||
);
|
||||
|
||||
|
||||
@ -27,10 +27,10 @@ class SPCTarget
|
||||
return true;
|
||||
}
|
||||
if (ToolchainManager::getToolchainClass() === GccNativeToolchain::class) {
|
||||
return PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist();
|
||||
return PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist() && !getenv('SPC_MUSL_DYNAMIC');
|
||||
}
|
||||
if (ToolchainManager::getToolchainClass() === ClangNativeToolchain::class) {
|
||||
return PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist();
|
||||
return PHP_OS_FAMILY === 'Linux' && SystemUtil::isMuslDist() && !getenv('SPC_MUSL_DYNAMIC');
|
||||
}
|
||||
// if SPC_LIBC is set, it means the target is static, remove it when 3.0 is released
|
||||
if ($target = getenv('SPC_TARGET')) {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user