From 76a9be2167c22357a06994c60a3f9a0396b2c9a2 Mon Sep 17 00:00:00 2001 From: henderkes Date: Sat, 17 May 2025 19:00:57 +0700 Subject: [PATCH] fix shared bz2 build --- src/SPC/builder/Extension.php | 4 ++++ src/SPC/builder/extension/bz2.php | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index 2ab50f98..43e0a5e8 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -275,6 +275,10 @@ class Extension */ public function buildShared(): void { + if (file_exists(BUILD_MODULES_PATH . '/' . $this->getName() . '.so')) { + logger()->info('extension ' . $this->getName() . ' already built, skipping'); + return; + } match (PHP_OS_FAMILY) { 'Darwin', 'Linux' => $this->buildUnixShared(), default => throw new WrongUsageException(PHP_OS_FAMILY . ' build shared extensions is not supported yet'), diff --git a/src/SPC/builder/extension/bz2.php b/src/SPC/builder/extension/bz2.php index 88f22e56..ee3f2996 100644 --- a/src/SPC/builder/extension/bz2.php +++ b/src/SPC/builder/extension/bz2.php @@ -24,4 +24,9 @@ class bz2 extends Extension FileSystem::replaceFileRegex(SOURCE_PATH . '/php-src/configure', '/-lbz2/', $this->getLibFilesString() . $frameworks); return true; } + + public function getUnixConfigureArg(bool $shared = false): string + { + return $shared ? '--with-bz2=' . BUILD_ROOT_PATH : ''; + } }