diff --git a/CMakeLists.txt b/CMakeLists.txt index 5253399df5c584c0044f041930a5679243dce175..19c4305784fde783df56ffb354622c420adebd6b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -279,6 +279,13 @@ if(WITH_QATZIP) set(HAVE_QATZIP ${QATZIP_FOUND}) endif(WITH_QATZIP) +option(WITH_UADKZIP "Enable UADKZIP" OFF) +if(WITH_UADKZIP) + find_package(uadkzip REQUIRED) + set(HAVE_UADKZIP ${UADKZIP_FOUND}) + message("HAVE_UADKZIP" ${HAVE_UADKZIP}) +endif(WITH_UADKZIP) + # needs mds and? XXX option(WITH_LIBCEPHFS "libcephfs client library" ON) diff --git a/cmake/modules/Finduadkzip.cmake b/cmake/modules/Finduadkzip.cmake new file mode 100644 index 0000000000000000000000000000000000000000..ca3a699cde2fe926d40cde42f7c549d07f00ad3f --- /dev/null +++ b/cmake/modules/Finduadkzip.cmake @@ -0,0 +1,25 @@ +# - Find uadkzip +# Find the uadkzip compression library and includes +# +# UADK_INCLUDE_DIR - where to find uadkzip.h, etc. +# UADK_LIBRARIES - List of libraries when using uadkzip. +# UADK_FOUND - True if uadkzip found. + +find_path(UADKZIP_INCLUDE_DIR NAMES uadk/wd_comp.h) +message("UADKZIP_INCLUDE_DIR: " ${UADKZIP_INCLUDE_DIR}) + +find_library(UADKZIP_LIBRARIES NAMES wd_comp) +message("UADKZIP_LIBRARIES: " ${UADKZIP_LIBRARIES}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(uadkzip DEFAULT_MSG UADKZIP_LIBRARIES UADKZIP_INCLUDE_DIR) + +if(uadkzip_FOUND AND NOT TARGET uadkzip::uadkzip) + add_library(uadkzip::uadkzip UNKNOWN IMPORTED) + set_target_properties(uadkzip::uadkzip PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${UADKZIP_INCLUDE_DIR}" + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + IMPORTED_LOCATION "${UADKZIP_LIBRARIES}") +endif() + +mark_as_advanced(UADKZIP_LIBRARIES UADKZIP_INCLUDE_DIR) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index cc53f9a725cdcdb4b37a0bb343fc7d8e2430b59f..f33398c8ee24f662efc954c24e0cba53e42647f9 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -505,6 +505,10 @@ if(HAVE_QATZIP) list(APPEND ceph_common_deps ${QATZIP_LIBRARIES}) endif() +if(HAVE_UADKZIP) + list(APPEND ceph_common_deps ${UADKZIP_LIBRARIES}) +endif() + if(WITH_DPDK) list(APPEND ceph_common_deps common_async_dpdk) endif() diff --git a/src/common/legacy_config_opts.h b/src/common/legacy_config_opts.h index d22061f8a7d5374fda363662ddc4162249988bb4..10c4d7d206b625b2a2af95ac2e4de52b3d5ed80c 100644 --- a/src/common/legacy_config_opts.h +++ b/src/common/legacy_config_opts.h @@ -86,6 +86,7 @@ OPTION(compressor_zlib_winsize, OPT_INT) //regular zlib compression winsize, not OPTION(compressor_zstd_level, OPT_INT) //regular zstd compression level OPTION(qat_compressor_enabled, OPT_BOOL) +OPTION(uadk_compressor_enabled, OPT_BOOL) OPTION(plugin_crypto_accelerator, OPT_STR) diff --git a/src/common/options.cc b/src/common/options.cc index 2f28123ba5bb2b1df90f4d03803e58105daaf40d..cef26003c208cf9cef8120599e98487e198699f9 100644 --- a/src/common/options.cc +++ b/src/common/options.cc @@ -815,6 +815,10 @@ std::vector