Skip to content

Commit 14b822a

Browse files
committed
don't build avx2 if we don't have it
1 parent 7204d27 commit 14b822a

File tree

2 files changed

+17
-8
lines changed

2 files changed

+17
-8
lines changed

src/SPC/builder/unix/library/libjxl.php

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,17 @@ protected function build(): void
2929
);
3030

3131
if (ToolchainManager::getToolchainClass() === ZigToolchain::class) {
32-
$cmake->addConfigureArgs(
33-
'-DCXX_MAVX512F_SUPPORTED:BOOL=FALSE',
34-
'-DCXX_MAVX512DQ_SUPPORTED:BOOL=FALSE',
35-
'-DCXX_MAVX512CD_SUPPORTED:BOOL=FALSE',
36-
'-DCXX_MAVX512BW_SUPPORTED:BOOL=FALSE',
37-
'-DCXX_MAVX512VL_SUPPORTED:BOOL=FALSE'
38-
);
32+
$cflags = getenv('SPC_DEFAULT_C_FLAGS') ?: getenv('CFLAGS') ?: '';
33+
$has_avx512 = str_contains($cflags, '-mavx512') || str_contains($cflags, '-march=x86-64-v4');
34+
if (!$has_avx512) {
35+
$cmake->addConfigureArgs(
36+
'-DCXX_MAVX512F_SUPPORTED:BOOL=FALSE',
37+
'-DCXX_MAVX512DQ_SUPPORTED:BOOL=FALSE',
38+
'-DCXX_MAVX512CD_SUPPORTED:BOOL=FALSE',
39+
'-DCXX_MAVX512BW_SUPPORTED:BOOL=FALSE',
40+
'-DCXX_MAVX512VL_SUPPORTED:BOOL=FALSE'
41+
);
42+
}
3943
}
4044

4145
$cmake->build();

src/SPC/builder/unix/library/libwebp.php

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,13 @@ trait libwebp
1010
{
1111
protected function build(): void
1212
{
13+
$cflags = getenv('SPC_DEFAULT_C_FLAGS') ?: getenv('CFLAGS') ?: '';
14+
$has_avx2 = str_contains($cflags, '-mavx2') || str_contains($cflags, '-march=x86-64-v2') || str_contains($cflags, '-march=x86-64-v3');
1315
UnixCMakeExecutor::create($this)
14-
->addConfigureArgs('-DWEBP_BUILD_EXTRAS=ON')
16+
->addConfigureArgs(
17+
'-DWEBP_BUILD_EXTRAS=ON',
18+
'-DWEBP_ENABLE_SIMD=' . ($has_avx2 ? 'ON' : 'OFF'),
19+
)
1520
->build();
1621
// patch pkgconfig
1722
$this->patchPkgconfPrefix(patch_option: PKGCONF_PATCH_PREFIX | PKGCONF_PATCH_LIBDIR);

0 commit comments

Comments
 (0)