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>
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 OR HAS_ALTIVEC)
+ set(WITH_EC_ISA_PLUGIN TRUE CACHE BOOL "")
+endif()
+
# require c++23
set(CMAKE_CXX_STANDARD 23)
set(CMAKE_CXX_EXTENSIONS OFF)
add_subdirectory(clay)
add_subdirectory(consistency)
-if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD OR HAS_ALTIVEC)
- set(WITH_EC_ISA_PLUGIN TRUE CACHE BOOL "")
-endif()
-
if(WITH_EC_ISA_PLUGIN)
add_subdirectory(isa)
set(EC_ISA_LIB ec_isa)