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 <aainscow@uk.ibm.com>
(cherry picked from commit
cecce28f16b0867ea8578a8f0c1478e24a40e525)
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)
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)