blob: 050ff03fa28f1eed55ef83d87cc5e43b6fd88891 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
# zlib
if(HAVE_INTEL_SSE4_1 AND HAVE_NASM_X64_AVX2 AND (NOT APPLE))
set(CMAKE_ASM_FLAGS "-i ${PROJECT_SOURCE_DIR}/src/isa-l/igzip/ -i ${PROJECT_SOURCE_DIR}/src/isa-l/include/ ${CMAKE_ASM_FLAGS}")
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
COMPILE_DEFINITIONS "__ASSEMBLY__"
INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/src/isa-l/igzip;${PROJECT_SOURCE_DIR}/src/isa-l/igzip/aarch64"
)
else()
set(zlib_sources
CompressionPluginZlib.cc
ZlibCompressor.cc
)
endif()
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")
set_target_properties(ceph_zlib PROPERTIES
VERSION 2.0.0
SOVERSION 2
INSTALL_RPATH "")
install(TARGETS ceph_zlib DESTINATION ${compressor_plugin_dir})
|