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 : ''; + } }