]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | # zlib |
2 | ||
f67539c2 | 3 | if(HAVE_INTEL_SSE4_1 AND HAVE_NASM_X64_AVX2 AND (NOT APPLE)) |
1e59de90 TL |
4 | set(CMAKE_ASM_FLAGS "-i ${PROJECT_SOURCE_DIR}/src/isa-l/igzip/ -i ${PROJECT_SOURCE_DIR}/src/isa-l/include/ ${CMAKE_ASM_FLAGS}") |
5 | set(zlib_sources | |
6 | CompressionPluginZlib.cc | |
7 | ZlibCompressor.cc | |
8 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c | |
9 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c | |
10 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c | |
11 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c | |
12 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c | |
13 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c | |
14 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c | |
15 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c | |
16 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c | |
17 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c | |
18 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c | |
19 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c | |
20 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c | |
21 | ) | |
22 | list(APPEND zlib_sources | |
23 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_body.asm | |
24 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_finish.asm | |
25 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body_h1_gr_bt.asm | |
26 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_finish.asm | |
27 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/rfc1951_lookup.asm | |
28 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_sse.asm | |
29 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_avx2_4.asm | |
30 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_multibinary.asm | |
31 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_01.asm | |
32 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_update_histogram_04.asm | |
33 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_01.asm | |
34 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_decode_block_stateless_04.asm | |
35 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate_multibinary.asm | |
36 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_04.asm | |
37 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df_06.asm | |
38 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap.asm | |
39 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_deflate_hash.asm | |
40 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_06.asm | |
41 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_gen_icf_map_lh1_04.asm | |
42 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_04.asm | |
43 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_set_long_icf_fg_06.asm | |
44 | ) | |
45 | elseif(HAVE_ARMV8_SIMD) | |
46 | set(zlib_asm_sources | |
47 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_inflate_multibinary_arm64.S | |
48 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_arm64.S | |
49 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_body_aarch64.S | |
50 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_finish_aarch64.S | |
51 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_body_hash_hist.S | |
52 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_deflate_icf_finish_hash_hist.S | |
53 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_set_long_icf_fg.S | |
54 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/isal_update_histogram.S | |
55 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_deflate_hash_aarch64.S | |
56 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S | |
57 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_isal_adler32_neon.S | |
58 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/encode_df.S | |
59 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/gen_icf_map.S | |
60 | ) | |
61 | set(zlib_sources | |
62 | CompressionPluginZlib.cc | |
63 | ZlibCompressor.cc | |
64 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip.c | |
65 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/hufftables_c.c | |
66 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_base.c | |
67 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_base.c | |
68 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/adler32_base.c | |
69 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/flatten_ll.c | |
70 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/encode_df.c | |
71 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_icf_body.c | |
72 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/igzip_inflate.c | |
73 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/huff_codes.c | |
74 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/proc_heap_base.c | |
75 | ${CMAKE_SOURCE_DIR}/src/isa-l/igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c | |
76 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base_aliases.c | |
77 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc_base.c | |
78 | ${CMAKE_SOURCE_DIR}/src/isa-l/crc/crc64_base.c | |
79 | ${zlib_asm_sources} | |
80 | ) | |
81 | set_source_files_properties(${zlib_asm_sources} PROPERTIES | |
82 | COMPILE_DEFINITIONS "__ASSEMBLY__" | |
83 | INCLUDE_DIRECTORIES "${PROJECT_SOURCE_DIR}/src/isa-l/igzip;${PROJECT_SOURCE_DIR}/src/isa-l/igzip/aarch64" | |
84 | ) | |
85 | else() | |
86 | set(zlib_sources | |
87 | CompressionPluginZlib.cc | |
88 | ZlibCompressor.cc | |
89 | ) | |
90 | endif() | |
7c673cae FG |
91 | |
92 | add_library(ceph_zlib SHARED ${zlib_sources}) | |
f67539c2 | 93 | target_link_libraries(ceph_zlib ZLIB::ZLIB compressor $<$<PLATFORM_ID:Windows>:ceph-common>) |
11fdf7f2 | 94 | target_include_directories(ceph_zlib SYSTEM PRIVATE "${CMAKE_SOURCE_DIR}/src/isa-l/include") |
7c673cae FG |
95 | set_target_properties(ceph_zlib PROPERTIES |
96 | VERSION 2.0.0 | |
97 | SOVERSION 2 | |
98 | INSTALL_RPATH "") | |
99 | install(TARGETS ceph_zlib DESTINATION ${compressor_plugin_dir}) |