diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index 90f2e27e..435582c0 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -183,6 +183,14 @@ class Extension return false; } + /** + * Patch code before ./configure.bat for Windows + */ + public function patchBeforeWindowsConfigure(): bool + { + return false; + } + /** * Patch code before make * If you need to patch some code, overwrite this diff --git a/src/SPC/builder/LibraryBase.php b/src/SPC/builder/LibraryBase.php index 5f03d72c..e1a3b03a 100644 --- a/src/SPC/builder/LibraryBase.php +++ b/src/SPC/builder/LibraryBase.php @@ -288,6 +288,16 @@ abstract class LibraryBase return false; } + /** + * Patch code before windows configure.bat + * If you need to patch some code, overwrite this + * return true if you patched something, false if not + */ + public function patchBeforeWindowsConfigure(): bool + { + return false; + } + /** * Patch code before make * If you need to patch some code, overwrite this diff --git a/src/SPC/builder/extension/bz2.php b/src/SPC/builder/extension/bz2.php index c5e6fc67..88f22e56 100644 --- a/src/SPC/builder/extension/bz2.php +++ b/src/SPC/builder/extension/bz2.php @@ -20,9 +20,6 @@ class bz2 extends Extension */ public function patchBeforeConfigure(): bool { - if (!is_unix()) { - return false; - } $frameworks = $this->builder instanceof MacOSBuilder ? ' ' . $this->builder->getFrameworks(true) . ' ' : ''; FileSystem::replaceFileRegex(SOURCE_PATH . '/php-src/configure', '/-lbz2/', $this->getLibFilesString() . $frameworks); return true; diff --git a/src/SPC/builder/extension/sqlsrv.php b/src/SPC/builder/extension/sqlsrv.php index edf5d919..04bd5226 100644 --- a/src/SPC/builder/extension/sqlsrv.php +++ b/src/SPC/builder/extension/sqlsrv.php @@ -24,7 +24,7 @@ class sqlsrv extends Extension return false; } - public function patchBeforeConfigure(): bool + public function patchBeforeWindowsConfigure(): bool { if ($this->pdo_sqlsrv_patched) { // revert pdo_sqlsrv patch diff --git a/src/SPC/store/SourcePatcher.php b/src/SPC/store/SourcePatcher.php index 5de82666..02d7d38a 100644 --- a/src/SPC/store/SourcePatcher.php +++ b/src/SPC/store/SourcePatcher.php @@ -7,6 +7,7 @@ namespace SPC\store; use SPC\builder\BuilderBase; use SPC\builder\linux\SystemUtil; use SPC\builder\unix\UnixBuilderBase; +use SPC\builder\windows\WindowsBuilder; use SPC\exception\FileSystemException; use SPC\exception\RuntimeException; use SPC\exception\WrongUsageException; @@ -87,7 +88,8 @@ class SourcePatcher public static function patchBeforeConfigure(BuilderBase $builder): void { foreach ($builder->getExts() as $ext) { - if ($ext->patchBeforeConfigure() === true) { + $patch = $builder instanceof WindowsBuilder ? $ext->patchBeforeWindowsConfigure() : $ext->patchBeforeConfigure(); + if ($patch === true) { logger()->info("Extension [{$ext->getName()}] patched before configure"); } }