diff --git a/src/SPC/builder/extension/xlswriter.php b/src/SPC/builder/extension/xlswriter.php index 24d32d947..8ef826d00 100644 --- a/src/SPC/builder/extension/xlswriter.php +++ b/src/SPC/builder/extension/xlswriter.php @@ -7,6 +7,7 @@ use SPC\builder\Extension; use SPC\store\SourcePatcher; use SPC\util\CustomExt; +use SPC\util\GlobalEnvManager; #[CustomExt('xlswriter')] class xlswriter extends Extension @@ -28,6 +29,13 @@ public function getWindowsConfigureArg(bool $shared = false): string public function patchBeforeMake(): bool { $patched = parent::patchBeforeMake(); + + // Remove when https://github.com/viest/php-ext-xlswriter/pull/560 is merged + if (PHP_OS_FAMILY !== 'Windows') { + GlobalEnvManager::putenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS=' . getenv('SPC_CMD_VAR_PHP_MAKE_EXTRA_CFLAGS') . ' -std=gnu17'); + $patched = true; + } + if (PHP_OS_FAMILY === 'Windows') { // fix windows build with openssl extension duplicate symbol bug SourcePatcher::patchFile('spc_fix_xlswriter_win32.patch', $this->source_dir); @@ -40,4 +48,10 @@ public function patchBeforeMake(): bool } return $patched; } + + // Remove when https://github.com/viest/php-ext-xlswriter/pull/560 is merged + protected function getExtraEnv(): array + { + return ['CFLAGS' => '-std=gnu17']; + } }