2022-12-01 15:43:32 +00:00
|
|
|
if(ARCH_S390X)
|
|
|
|
option (ENABLE_CRC32_S390X "Enable crc32 on s390x platform" ON)
|
|
|
|
endif()
|
|
|
|
|
|
|
|
if (NOT ENABLE_CRC32_S390X)
|
|
|
|
return()
|
|
|
|
endif()
|
|
|
|
|
|
|
|
set(CRC32_S390X_SOURCE_DIR ${ClickHouse_SOURCE_DIR}/contrib/crc32-s390x)
|
|
|
|
set(CRC32_S390X_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/crc32-s390x)
|
|
|
|
|
2022-12-06 22:02:22 +00:00
|
|
|
set(CRC32_SRCS
|
|
|
|
"${CRC32_S390X_SOURCE_DIR}/crc32-s390x.c"
|
|
|
|
"${CRC32_S390X_SOURCE_DIR}/crc32be-vx.S"
|
|
|
|
"${CRC32_S390X_SOURCE_DIR}/crc32le-vx.S"
|
|
|
|
)
|
2022-12-01 15:43:32 +00:00
|
|
|
|
2022-12-06 22:02:22 +00:00
|
|
|
set(CRC32_HDRS
|
|
|
|
"${CRC32_S390X_INCLUDE_DIR}/crc32-s390x.h"
|
|
|
|
)
|
|
|
|
|
|
|
|
add_library(_crc32_s390x ${CRC32_SRCS} ${CRC32_HDRS})
|
2022-12-01 15:43:32 +00:00
|
|
|
|
|
|
|
target_include_directories(_crc32_s390x SYSTEM PUBLIC "${CRC32_S390X_INCLUDE_DIR}")
|
|
|
|
target_compile_definitions(_crc32_s390x PUBLIC)
|
|
|
|
|
|
|
|
add_library(ch_contrib::crc32_s390x ALIAS _crc32_s390x)
|