From 31a4498056434aec4db07bed635adb00c876f031 Mon Sep 17 00:00:00 2001 From: henderkes Date: Tue, 30 Sep 2025 15:07:22 +0200 Subject: [PATCH] bring back simdjson tests, extension headers do not properly guard for avx512 symbols --- src/SPC/builder/extension/simdjson.php | 16 ++++++++++++++++ src/globals/test-extensions.php | 4 ++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/src/SPC/builder/extension/simdjson.php b/src/SPC/builder/extension/simdjson.php index 1be99eb9..914fd674 100644 --- a/src/SPC/builder/extension/simdjson.php +++ b/src/SPC/builder/extension/simdjson.php @@ -6,6 +6,8 @@ namespace SPC\builder\extension; use SPC\builder\Extension; use SPC\store\FileSystem; +use SPC\toolchain\ToolchainManager; +use SPC\toolchain\ZigToolchain; use SPC\util\CustomExt; #[CustomExt('simdjson')] @@ -31,4 +33,18 @@ class simdjson extends Extension ); return true; } + + public function getSharedExtensionEnv(): array + { + $env = parent::getSharedExtensionEnv(); + if (ToolchainManager::getToolchainClass() === ZigToolchain::class) { + $extra = getenv('SPC_COMPILER_EXTRA'); + if (!str_contains((string) $extra, '-lstdc++')) { + f_putenv('SPC_COMPILER_EXTRA=' . clean_spaces($extra . ' -lstdc++')); + } + $env['CFLAGS'] .= ' -Xclang -target-feature -Xclang +evex512'; + $env['CXXFLAGS'] .= ' -Xclang -target-feature -Xclang +evex512'; + } + return $env; + } } diff --git a/src/globals/test-extensions.php b/src/globals/test-extensions.php index 749ed3b4..954cb474 100644 --- a/src/globals/test-extensions.php +++ b/src/globals/test-extensions.php @@ -23,8 +23,8 @@ $test_php_version = [ // test os (macos-13, macos-14, macos-15, ubuntu-latest, windows-latest are available) $test_os = [ - 'macos-13', // bin/spc for x86_64 - // 'macos-14', // bin/spc for arm64 + // 'macos-13', // bin/spc for x86_64 + 'macos-14', // bin/spc for arm64 'macos-15', // bin/spc for arm64 // 'ubuntu-latest', // bin/spc-alpine-docker for x86_64 'ubuntu-22.04', // bin/spc-gnu-docker for x86_64