From 018dfae15e16d691ed22bf418d0d18d9c0dd196e Mon Sep 17 00:00:00 2001 From: henderkes Date: Sat, 11 Oct 2025 10:38:51 +0200 Subject: [PATCH] suggestions --- src/SPC/builder/Extension.php | 8 +------- src/SPC/builder/linux/LinuxBuilder.php | 8 +------- src/SPC/toolchain/ZigToolchain.php | 5 +++++ 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/src/SPC/builder/Extension.php b/src/SPC/builder/Extension.php index 0570159f..9e36aeff 100644 --- a/src/SPC/builder/Extension.php +++ b/src/SPC/builder/Extension.php @@ -10,8 +10,6 @@ use SPC\exception\ValidationException; use SPC\exception\WrongUsageException; use SPC\store\Config; use SPC\store\FileSystem; -use SPC\toolchain\ToolchainManager; -use SPC\toolchain\ZigToolchain; use SPC\util\SPCConfigUtil; use SPC\util\SPCTarget; @@ -429,17 +427,13 @@ class Extension logger()->info("Extension [{$this->getName()}] patched before shared configure"); } - $has_avx512 = str_contains($this->builder->arch_c_flags ?? '', '-mavx512') || - str_contains($this->arch_c_flags ?? '', '-march=x86-64-v4') || - ToolchainManager::getToolchainClass() !== ZigToolchain::class; - shell()->cd($this->source_dir) ->setEnv($env) ->appendEnv($this->getExtraEnv()) ->exec( './configure ' . $this->getUnixConfigureArg(true) . ' --with-php-config=' . BUILD_BIN_PATH . '/php-config ' . - '--enable-shared --disable-static' . (!$has_avx512 ? ' php_cv_have_avx512=no php_cv_have_avx512vbmi=no' : '') + '--enable-shared --disable-static ' . getenv('SPC_EXTRA_PHP_VARS') ); if ($this->patchBeforeSharedMake()) { diff --git a/src/SPC/builder/linux/LinuxBuilder.php b/src/SPC/builder/linux/LinuxBuilder.php index 6a543ec1..2a3c8912 100644 --- a/src/SPC/builder/linux/LinuxBuilder.php +++ b/src/SPC/builder/linux/LinuxBuilder.php @@ -9,8 +9,6 @@ use SPC\exception\PatchException; use SPC\exception\WrongUsageException; use SPC\store\FileSystem; use SPC\store\SourcePatcher; -use SPC\toolchain\ToolchainManager; -use SPC\toolchain\ZigToolchain; use SPC\util\GlobalEnvManager; use SPC\util\SPCConfigUtil; use SPC\util\SPCTarget; @@ -105,10 +103,6 @@ class LinuxBuilder extends UnixBuilderBase ); } - $has_avx512 = str_contains($this->arch_c_flags, '-mavx512') || - str_contains($this->arch_c_flags, '-march=x86-64-v4') || - ToolchainManager::getToolchainClass() !== ZigToolchain::class; - $this->seekPhpSrcLogFileOnException(fn () => shell()->cd(SOURCE_PATH . '/php-src')->exec( $php_configure_env . ' ' . getenv('SPC_CMD_PREFIX_PHP_CONFIGURE') . ' ' . @@ -122,7 +116,7 @@ class LinuxBuilder extends UnixBuilderBase $json_74 . $zts . $maxExecutionTimers . - (!$has_avx512 ? 'php_cv_have_avx512=no php_cv_have_avx512vbmi=no ' : '') . + getenv('SPC_EXTRA_PHP_VARS') . ' ' . $this->makeStaticExtensionArgs() . ' ' )); diff --git a/src/SPC/toolchain/ZigToolchain.php b/src/SPC/toolchain/ZigToolchain.php index 8f2e261e..c3da766d 100644 --- a/src/SPC/toolchain/ZigToolchain.php +++ b/src/SPC/toolchain/ZigToolchain.php @@ -64,6 +64,11 @@ class ZigToolchain implements ToolchainInterface $extra_libs = trim($extra_libs . ' -lunwind'); GlobalEnvManager::putenv("SPC_EXTRA_LIBS={$extra_libs}"); } + $cflags = getenv('SPC_DEFAULT_C_FLAGS') ?: getenv('CFLAGS') ?: ''; + $has_avx512 = str_contains($cflags, '-mavx512') || str_contains($cflags, '-march=x86-64-v4'); + if (!$has_avx512) { + f_putenv('SPC_EXTRA_PHP_VARS=php_cv_have_avx512=no php_cv_have_avx512vbmi=no'); + } } public function getCompilerInfo(): ?string