From df0d5fdbe83408af9018d6d6c695e76a77b64dce Mon Sep 17 00:00:00 2001 From: DubbleClick Date: Tue, 1 Jul 2025 13:02:59 +0700 Subject: [PATCH] merge fix --- src/SPC/builder/Extension.php | 1 - src/SPC/builder/unix/UnixBuilderBase.php | 11 +++++++++++ src/SPC/util/GlobalEnvManager.php | 1 - 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index fef4855c..def4b5c8 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -11,7 +11,6 @@ use SPC\exception\WrongUsageException; use SPC\store\Config; use SPC\store\FileSystem; use SPC\util\SPCConfigUtil; -use SPC\util\SPCTarget; class Extension { diff --git a/src/SPC/builder/unix/UnixBuilderBase.php b/src/SPC/builder/unix/UnixBuilderBase.php index b65a9077..e3364071 100644 --- a/src/SPC/builder/unix/UnixBuilderBase.php +++ b/src/SPC/builder/unix/UnixBuilderBase.php @@ -206,6 +206,16 @@ abstract class UnixBuilderBase extends BuilderBase if (SPCTarget::isStatic()) { $lens .= ' -static'; } + // if someone changed to EMBED_TYPE=shared, we need to add LD_LIBRARY_PATH + if (getenv('SPC_CMD_VAR_PHP_EMBED_TYPE') === 'shared') { + $ext_path = 'LD_LIBRARY_PATH=' . BUILD_LIB_PATH . ':$LD_LIBRARY_PATH '; + FileSystem::removeFileIfExists(BUILD_LIB_PATH . '/libphp.a'); + } else { + $ext_path = ''; + foreach (glob(BUILD_LIB_PATH . '/libphp*.so') as $file) { + unlink($file); + } + } [$ret, $out] = shell()->cd($sample_file_path)->execWithResult(getenv('CC') . ' -o embed embed.c ' . $lens); if ($ret !== 0) { throw new RuntimeException('embed failed sanity check: build failed. Error message: ' . implode("\n", $out)); @@ -320,6 +330,7 @@ abstract class UnixBuilderBase extends BuilderBase $debugFlags = $this->getOption('no-strip') ? "'-w -s' " : ''; $extLdFlags = "-extldflags '-pie'"; $muslTags = ''; + $staticFlags = ''; if (SPCTarget::isStatic()) { $extLdFlags = "-extldflags '-static-pie -Wl,-z,stack-size=0x80000'"; $muslTags = 'static_build,'; diff --git a/src/SPC/util/GlobalEnvManager.php b/src/SPC/util/GlobalEnvManager.php index 83131b6d..23ae242d 100644 --- a/src/SPC/util/GlobalEnvManager.php +++ b/src/SPC/util/GlobalEnvManager.php @@ -6,7 +6,6 @@ namespace SPC\util; use SPC\exception\RuntimeException; use SPC\exception\WrongUsageException; -use SPC\store\pkg\Zig; use SPC\toolchain\ToolchainManager; /**