Option("osd_erasure_code_plugins", Option::TYPE_STR, Option::LEVEL_ADVANCED)
.set_default("jerasure lrc"
- #if defined(HAVE_NASM_X64_AVX2) || defined(HAVE_ARMV8_SIMD)
+ #if defined(WITH_EC_ISA_PLUGIN)
" isa"
#endif
)
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)
endif()
/* we have a recent nasm and are x86_64 */
#cmakedefine HAVE_NASM_X64
-/* nasm can also build the isa-l:avx2 */
-#cmakedefine HAVE_NASM_X64_AVX2
-
/* nasm can also build the isa-l:avx512 */
#cmakedefine HAVE_NASM_X64_AVX512
-/* Define if isa-l is compiled for arm64 */
-#cmakedefine HAVE_ARMV8_SIMD
+/* Define if the erasure code isa-l plugin is compiled */
+#cmakedefine WITH_EC_ISA_PLUGIN
/* Define to 1 if strerror_r returns char *. */
#cmakedefine STRERROR_R_CHAR_P 1
add_dependencies(unittest_erasure_code_plugin_jerasure
ec_jerasure)
-if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD)
+if(WITH_EC_ISA_PLUGIN)
#unittest_erasure_code_isa
add_executable(unittest_erasure_code_isa
)
add_dependencies(unittest_erasure_code_plugin_isa
ec_isa)
-endif(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD)
+endif(WITH_EC_ISA_PLUGIN)
# unittest_erasure_code_lrc
add_executable(unittest_erasure_code_lrc
EXPECT_TRUE(erasure_code.get());
}
}
-#ifdef HAVE_NASM_X64_AVX2
+#ifdef WITH_EC_ISA_PLUGIN
//check clay plugin with scalar_mds=isa
{
const char *techniques[] = {