From: Alex Ainscow Date: Wed, 18 Mar 2026 14:51:57 +0000 (+0000) Subject: src: Move the decision to build the ISA plugin to the top level make file X-Git-Tag: v20.2.1~1^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=51a0c2a3db38178def99d05715e958fb88fa0493;p=ceph.git src: Move the decision to build the ISA plugin to the top level make file Previously, the first time you build ceph, common did not see the correct value of WITH_EC_ISA_PLUGIN. The consequence is that the global.yaml gets build with osd_erasure_code_plugins not including isa. This is not great given its our default plugin. We considered simply removing this parameter from make entirely, but this may require more discussion about supporting old hardware. So the slightly ugly fix is to move this erasure-code specific declartion to the top-level. Fixes: https://tracker.ceph.com/issues/75537 Signed-off-by: Alex Ainscow (cherry picked from commit cecce28f16b0867ea8578a8f0c1478e24a40e525) --- diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 02d81d981a0d..dc272546b937 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -233,6 +233,12 @@ if(HAVE_INTEL) endif() endif() +# Set WITH_EC_ISA_PLUGIN early so it's available when processing common/options +# This must be set before add_subdirectory(common) is called +if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD) + set(WITH_EC_ISA_PLUGIN TRUE CACHE BOOL "") +endif() + # require c++20 set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_EXTENSIONS OFF) diff --git a/src/erasure-code/CMakeLists.txt b/src/erasure-code/CMakeLists.txt index 18291f64b5cc..3b635c77e74e 100644 --- a/src/erasure-code/CMakeLists.txt +++ b/src/erasure-code/CMakeLists.txt @@ -22,10 +22,6 @@ add_subdirectory(lrc) add_subdirectory(shec) add_subdirectory(clay) -if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD) - set(WITH_EC_ISA_PLUGIN TRUE CACHE BOOL "") -endif() - if(WITH_EC_ISA_PLUGIN) add_subdirectory(isa) set(EC_ISA_LIB ec_isa)