diff -Nurp a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt --- a/src/common/CMakeLists.txt 2025-02-08 08:12:32.429031916 +0000 +++ b/src/common/CMakeLists.txt 2025-02-08 08:12:32.444032116 +0000 @@ -212,9 +212,8 @@ if(HAVE_INTEL) list(APPEND crc32_srcs crc32c_intel_fast.c) if(HAVE_NASM_X64) - set(CMAKE_ASM_FLAGS "-i ${PROJECT_SOURCE_DIR}/src/isa-l/include/ ${CMAKE_ASM_FLAGS}") +# set(CMAKE_ASM_FLAGS "-i ${PROJECT_SOURCE_DIR}/src/isa-l/include/ ${CMAKE_ASM_FLAGS}") list(APPEND crc32_srcs - ${PROJECT_SOURCE_DIR}/src/isa-l/crc/crc32_iscsi_00.asm crc32c_intel_fast_zero_asm.s) endif(HAVE_NASM_X64) elseif(HAVE_POWER8) @@ -239,6 +238,10 @@ endif() target_link_libraries(crc32 arch) +if(HAVE_NASM_X64) +pkg_check_modules(ISAL IMPORTED_TARGET libisal) +target_link_libraries(crc32 PkgConfig::ISAL) +endif(HAVE_NASM_X64) add_library(common_utf8 STATIC utf8.c) if(HAVE_KEYUTILS) diff -Nurp a/src/compressor/zlib/CMakeLists.txt b/src/compressor/zlib/CMakeLists.txt --- a/src/compressor/zlib/CMakeLists.txt 2025-02-08 08:12:32.431031943 +0000 +++ b/src/compressor/zlib/CMakeLists.txt 2025-02-08 08:12:32.445032129 +0000 @@ -5,77 +5,11 @@ if(HAVE_INTEL_SSE4_1 AND HAVE_NASM_X64_A set(zlib_sources CompressionPluginZlib.cc ZlibCompressor.cc - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c - ) - list(APPEND zlib_sources - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_finish.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_h1_gr_bt.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_finish.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/rfc1951_lookup.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_sse.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_avx2_4.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_multibinary.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_01.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_01.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate_multibinary.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_06.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_deflate_hash.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_06.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_04.asm - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_06.asm ) elseif(HAVE_ARMV8_SIMD) - set(zlib_asm_sources - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_inflate_multibinary_arm64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_arm64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_body_aarch64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_finish_aarch64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_body_hash_hist.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_set_long_icf_fg.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_update_histogram.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_hash_aarch64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_isal_adler32_neon.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/encode_df.S - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/gen_icf_map.S - ) set(zlib_sources CompressionPluginZlib.cc ZlibCompressor.cc - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c - ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c ${zlib_asm_sources} ) set_source_files_properties(${zlib_asm_sources} PROPERTIES @@ -89,8 +23,13 @@ else() ) endif() +pkg_check_modules(ISAL IMPORTED_TARGET libisal) add_library(ceph_zlib SHARED ${zlib_sources}) target_link_libraries(ceph_zlib ZLIB::ZLIB compressor $<$:ceph-common>) +if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD) +target_link_libraries(ceph_zlib PkgConfig::ISAL) +endif() + if(HAVE_QATZIP AND HAVE_QAT) target_link_libraries(ceph_zlib qat_compressor) endif() diff -Nurp a/src/compressor/zlib/ZlibCompressor.cc b/src/compressor/zlib/ZlibCompressor.cc --- a/src/compressor/zlib/ZlibCompressor.cc 2025-02-08 08:12:32.433031969 +0000 +++ b/src/compressor/zlib/ZlibCompressor.cc 2025-02-08 08:12:32.446032143 +0000 @@ -16,7 +16,7 @@ #include "common/debug.h" #include "ZlibCompressor.h" #include "osd/osd_types.h" -#include "isa-l/include/igzip_lib.h" +#include "isa-l/igzip_lib.h" #ifdef HAVE_QATZIP #include "compressor/QatAccel.h" #endif diff -Nurp a/src/compressor/zstd/ZstdCompressor.h b/src/compressor/zstd/ZstdCompressor.h --- a/src/compressor/zstd/ZstdCompressor.h 2025-02-08 08:12:32.434031983 +0000 +++ b/src/compressor/zstd/ZstdCompressor.h 2025-02-08 08:12:32.446032143 +0000 @@ -16,7 +16,7 @@ #define CEPH_ZSTDCOMPRESSOR_H #define ZSTD_STATIC_LINKING_ONLY -#include "zstd/lib/zstd.h" +#include "zstd.h" #include "include/buffer.h" #include "include/encoding.h" diff -Nurp a/src/erasure-code/isa/CMakeLists.txt b/src/erasure-code/isa/CMakeLists.txt --- a/src/erasure-code/isa/CMakeLists.txt 2025-02-08 08:12:32.436032009 +0000 +++ b/src/erasure-code/isa/CMakeLists.txt 2025-02-08 08:20:22.962306549 +0000 @@ -1,6 +1,6 @@ # build isa-l from its makefile and expose as target ISAL::ISAL -include(BuildISAL) -build_isal() +#include(BuildISAL) +#build_isal() # ISA set(isa_srcs @@ -10,10 +10,11 @@ set(isa_srcs xor_op.cc ) +pkg_check_modules(ISAL IMPORTED_TARGET libisal) add_library(ec_isa SHARED ${isa_srcs} $) -target_link_libraries(ec_isa ISAL::ISAL ${EXTRALIBS}) +target_link_libraries(ec_isa PkgConfig::ISAL ${EXTRALIBS}) set_target_properties(ec_isa PROPERTIES INSTALL_RPATH "") install(TARGETS ec_isa DESTINATION ${erasure_plugin_dir}) diff -Nurp a/src/erasure-code/isa/ErasureCodeIsa.cc b/src/erasure-code/isa/ErasureCodeIsa.cc --- a/src/erasure-code/isa/ErasureCodeIsa.cc 2025-02-08 08:12:32.438032036 +0000 +++ b/src/erasure-code/isa/ErasureCodeIsa.cc 2025-02-08 08:12:32.448032169 +0000 @@ -25,7 +25,7 @@ using namespace ceph; // ----------------------------------------------------------------------------- extern "C" { -#include "isa-l/include/erasure_code.h" +#include "isa-l/erasure_code.h" } // ----------------------------------------------------------------------------- #define dout_context g_ceph_context