1######################################################################## 2# Copyright(c) 2011-2016 Intel Corporation All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions 6# are met: 7# * Redistributions of source code must retain the above copyright 8# notice, this list of conditions and the following disclaimer. 9# * Redistributions in binary form must reproduce the above copyright 10# notice, this list of conditions and the following disclaimer in 11# the documentation and/or other materials provided with the 12# distribution. 13# * Neither the name of Intel Corporation nor the names of its 14# contributors may be used to endorse or promote products derived 15# from this software without specific prior written permission. 16# 17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28######################################################################## 29 30lsrc += igzip/igzip.c \ 31 igzip/hufftables_c.c \ 32 igzip/igzip_base.c \ 33 igzip/igzip_icf_base.c \ 34 igzip/adler32_base.c \ 35 igzip/flatten_ll.c \ 36 igzip/encode_df.c \ 37 igzip/igzip_icf_body.c 38 39lsrc_base_aliases += igzip/igzip_base_aliases.c igzip/proc_heap_base.c 40lsrc_x86_32 += igzip/igzip_base_aliases.c igzip/proc_heap_base.c 41lsrc_ppc64le += igzip/igzip_base_aliases.c igzip/proc_heap_base.c 42 43lsrc_aarch64 += igzip/aarch64/igzip_inflate_multibinary_arm64.S \ 44 igzip/aarch64/igzip_multibinary_arm64.S \ 45 igzip/aarch64/igzip_isal_adler32_neon.S \ 46 igzip/aarch64/igzip_multibinary_aarch64_dispatcher.c \ 47 igzip/aarch64/igzip_deflate_body_aarch64.S \ 48 igzip/aarch64/igzip_deflate_finish_aarch64.S \ 49 igzip/aarch64/isal_deflate_icf_body_hash_hist.S \ 50 igzip/aarch64/isal_deflate_icf_finish_hash_hist.S \ 51 igzip/aarch64/igzip_set_long_icf_fg.S \ 52 igzip/aarch64/encode_df.S \ 53 igzip/aarch64/isal_update_histogram.S \ 54 igzip/aarch64/gen_icf_map.S \ 55 igzip/aarch64/igzip_deflate_hash_aarch64.S \ 56 igzip/aarch64/igzip_decode_huffman_code_block_aarch64.S \ 57 igzip/proc_heap_base.c 58 59lsrc_x86_64 += igzip/igzip_body.asm \ 60 igzip/igzip_finish.asm \ 61 igzip/igzip_icf_body_h1_gr_bt.asm \ 62 igzip/igzip_icf_finish.asm \ 63 igzip/rfc1951_lookup.asm \ 64 igzip/adler32_sse.asm \ 65 igzip/adler32_avx2_4.asm \ 66 igzip/igzip_multibinary.asm \ 67 igzip/igzip_update_histogram_01.asm \ 68 igzip/igzip_update_histogram_04.asm \ 69 igzip/igzip_decode_block_stateless_01.asm \ 70 igzip/igzip_decode_block_stateless_04.asm \ 71 igzip/igzip_inflate_multibinary.asm \ 72 igzip/encode_df_04.asm \ 73 igzip/encode_df_06.asm \ 74 igzip/proc_heap.asm \ 75 igzip/igzip_deflate_hash.asm \ 76 igzip/igzip_gen_icf_map_lh1_06.asm \ 77 igzip/igzip_gen_icf_map_lh1_04.asm \ 78 igzip/igzip_set_long_icf_fg_04.asm \ 79 igzip/igzip_set_long_icf_fg_06.asm 80 81src_include += -I $(srcdir)/igzip 82extern_hdrs += include/igzip_lib.h 83 84check_tests += igzip/igzip_rand_test 85check_tests += igzip/igzip_wrapper_hdr_test 86check_tests += igzip/checksum32_funcs_test 87 88other_tests += igzip/igzip_file_perf igzip/igzip_hist_perf 89other_tests += igzip/igzip_perf 90other_tests += igzip/igzip_semi_dyn_file_perf 91other_tests += igzip/igzip_build_hash_table_perf 92 93other_src += igzip/bitbuf2.asm \ 94 igzip/data_struct2.asm \ 95 igzip/inflate_data_structs.asm \ 96 igzip/igzip_body.asm \ 97 igzip/igzip_finish.asm \ 98 igzip/lz0a_const.asm \ 99 igzip/options.asm \ 100 igzip/stdmac.asm \ 101 igzip/igzip_compare_types.asm \ 102 igzip/bitbuf2.h \ 103 igzip/repeated_char_result.h \ 104 igzip/igzip_update_histogram.asm \ 105 igzip/huffman.asm \ 106 include/reg_sizes.asm \ 107 include/multibinary.asm \ 108 include/test.h \ 109 include/unaligned.h \ 110 igzip/huffman.h \ 111 igzip/igzip_level_buf_structs.h \ 112 igzip/igzip_decode_block_stateless.asm \ 113 igzip/inflate_std_vects.h \ 114 igzip/flatten_ll.h \ 115 igzip/encode_df.h \ 116 igzip/heap_macros.asm \ 117 igzip/igzip_wrapper.h \ 118 igzip/static_inflate.h \ 119 igzip/igzip_checksums.h 120 121perf_tests += igzip/adler32_perf 122 123examples += igzip/igzip_example igzip/igzip_sync_flush_example 124 125igzip_igzip_rand_test_LDADD = libisal.la 126 127# Include tools to make custom Huffman tables based on sample data 128other_tests += igzip/generate_custom_hufftables 129other_tests += igzip/generate_static_inflate 130other_src += igzip/huff_codes.h 131lsrc += igzip/huff_codes.c 132 133# Include tools and tests using the reference inflate 134other_tests += igzip/igzip_inflate_test 135lsrc += igzip/igzip_inflate.c 136other_src += igzip/checksum_test_ref.h 137 138igzip_perf: LDLIBS += -lz 139igzip_igzip_perf_LDADD = libisal.la 140igzip_igzip_perf_LDFLAGS = -lz 141igzip_inflate_test: LDLIBS += -lz 142igzip_igzip_inflate_test_LDADD = libisal.la 143igzip_igzip_inflate_test_LDFLAGS = -lz 144igzip_igzip_hist_perf_LDADD = libisal.la 145