diff -Nurp a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
--- a/src/common/CMakeLists.txt	2023-07-08 11:35:28.376731489 +0000
+++ b/src/common/CMakeLists.txt	2023-07-08 12:23:51.026696243 +0000
@@ -211,9 +211,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)
@@ -229,6 +228,9 @@ elseif(HAVE_ARMV8_CRC)
     crc32c_aarch64.c)
 endif(HAVE_INTEL)
 
+if(HAVE_NASM_X64)
+pkg_check_modules(ISAL IMPORTED_TARGET libisal)
+endif(HAVE_NASM_X64)
 add_library(crc32 STATIC ${crc32_srcs})
 if(HAVE_ARMV8_CRC)
   set_target_properties(crc32 PROPERTIES
@@ -237,6 +239,9 @@ endif()
 target_link_libraries(crc32
   arch)
 
+if(HAVE_NASM_X64)
+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	2023-07-08 11:34:14.391732760 +0000
+++ b/src/compressor/zlib/CMakeLists.txt	2023-07-08 12:53:13.150198922 +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,9 +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 $<$<PLATFORM_ID:Windows>:ceph-common>)
-target_include_directories(ceph_zlib SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/src/isa-l/include")
+if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD)
+target_link_libraries(ceph_zlib  PkgConfig::ISAL)
+endif()
+# target_include_directories(ceph_zlib SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/src/isa-l/include")
 set_target_properties(ceph_zlib PROPERTIES
   VERSION 2.0.0
   SOVERSION 2
diff -Nurp a/src/erasure-code/isa/CMakeLists.txt b/src/erasure-code/isa/CMakeLists.txt
--- a/src/erasure-code/isa/CMakeLists.txt	2023-07-08 11:02:13.833372076 +0000
+++ b/src/erasure-code/isa/CMakeLists.txt	2023-07-08 12:31:55.817169297 +0000
@@ -1,59 +1,10 @@
 # ISA
 set(isal_src_dir ${CMAKE_SOURCE_DIR}/src/isa-l)
-include_directories(${isal_src_dir}/include)
+# include_directories(${isal_src_dir}/include)
 
 if(HAVE_NASM_X64_AVX2)
-  set(CMAKE_ASM_FLAGS "-i ${isal_src_dir}/include/ ${CMAKE_ASM_FLAGS}")
+  # set(CMAKE_ASM_FLAGS "-i ${isal_src_dir}/include/ ${CMAKE_ASM_FLAGS}")
   set(isa_srcs
-    ${isal_src_dir}/erasure_code/ec_base.c
-    ${isal_src_dir}/erasure_code/gf_2vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_vect_dot_prod_sse.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mad_avx2.asm
-    ${isal_src_dir}/erasure_code/ec_highlevel_func.c
-    ${isal_src_dir}/erasure_code/gf_2vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mad_avx.asm
-    ${isal_src_dir}/erasure_code/ec_multibinary.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mad_sse.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_vect_dot_prod_avx2.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mul_avx.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_5vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_6vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_vect_dot_prod_avx.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mul_sse.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_dot_prod_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_2vect_mad_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_dot_prod_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_3vect_mad_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_dot_prod_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_4vect_mad_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_vect_dot_prod_avx512.asm
-    ${isal_src_dir}/erasure_code/gf_vect_mad_avx512.asm
     ErasureCodeIsa.cc
     ErasureCodeIsaTableCache.cc
     ErasureCodePluginIsa.cc
@@ -61,22 +12,6 @@ if(HAVE_NASM_X64_AVX2)
   )
 elseif(HAVE_ARMV8_SIMD)
   set(isa_srcs
-    ${isal_src_dir}/erasure_code/ec_base.c
-    ${isal_src_dir}/erasure_code/aarch64/ec_aarch64_highlevel_func.c
-    ${isal_src_dir}/erasure_code/aarch64/ec_aarch64_dispatcher.c
-    ${isal_src_dir}/erasure_code/aarch64/gf_2vect_dot_prod_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_2vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_3vect_dot_prod_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_3vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_4vect_dot_prod_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_4vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_5vect_dot_prod_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_5vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_6vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_vect_dot_prod_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_vect_mad_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/gf_vect_mul_neon.S
-    ${isal_src_dir}/erasure_code/aarch64/ec_multibinary_arm.S
     ErasureCodeIsa.cc
     ErasureCodeIsaTableCache.cc
     ErasureCodePluginIsa.cc
@@ -88,10 +23,14 @@ elseif(HAVE_ARMV8_SIMD)
   )
 endif()
 
+pkg_check_modules(ISAL IMPORTED_TARGET libisal)
 add_library(ec_isa SHARED
   ${isa_srcs}
   $<TARGET_OBJECTS:erasure_code_objs>)
 target_link_libraries(ec_isa ${EXTRALIBS})
+if(HAVE_NASM_X64_AVX2 OR HAVE_ARMV8_SIMD)
+target_link_libraries(ec_isa PkgConfig::ISAL)
+endif()
 set_target_properties(ec_isa PROPERTIES
   INSTALL_RPATH "")
 install(TARGETS ec_isa DESTINATION ${erasure_plugin_dir})
