diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index d6f999b0..8af0623a 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -112,6 +112,17 @@ class Extension return $this->name; } + /** + * returns extension dist name + */ + public function getDistName(): string + { + return match ($this->name) { + 'mbregex' => 'mbstring', + default => $this->name, + }; + } + /** * @throws RuntimeException */ @@ -183,6 +194,21 @@ class Extension $arg .= ' --with-event-openssl --with-openssl-dir="' . BUILD_ROOT_PATH . '"'; } break;*/ + case 'enchant': + $glibs = [ + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libgio-2.0.a', + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libglib-2.0.a', + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libgmodule-2.0.a', + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libgobject-2.0.a', + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libgthread-2.0.a', + '/Users/jerry/project/git-project/static-php-cli/buildroot/lib/libintl.a', + ]; + $arg = ' --with-enchant="' . BUILD_ROOT_PATH . '"'; + $arg .= ' ENCHANT2_CFLAGS=-I"' . BUILD_INCLUDE_PATH . '/enchant-2"'; + $arg .= ' ENCHANT2_LIBS="' . $this->getLibFilesString() . '"'; + $arg .= ' GLIB_CFLAGS=-I"' . BUILD_INCLUDE_PATH . '"'; + $arg .= ' GLIB_LIBS="' . implode(' ', $glibs) . '"'; + break; case 'iconv': $arg = ' --with-iconv="' . BUILD_ROOT_PATH . '"'; break; diff --git a/src/SPC/builder/traits/UnixBuilderTrait.php b/src/SPC/builder/traits/UnixBuilderTrait.php index 6cde4e7b..c53d9183 100644 --- a/src/SPC/builder/traits/UnixBuilderTrait.php +++ b/src/SPC/builder/traits/UnixBuilderTrait.php @@ -68,7 +68,7 @@ trait UnixBuilderTrait } foreach ($this->exts as $ext) { logger()->debug('testing ext: ' . $ext->getName()); - [$ret] = shell()->execWithResult(BUILD_ROOT_PATH . '/bin/php --ri ' . $ext->getName(), false); + [$ret] = shell()->execWithResult(BUILD_ROOT_PATH . '/bin/php --ri ' . $ext->getDistName(), false); if ($ret !== 0) { throw new RuntimeException('extension ' . $ext->getName() . ' failed compile check'); }