laag-xz 5.2.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +57 -0
- data/LICENSE.txt +65 -0
- data/README.org +34 -0
- data/ext/laag/xz/extconf.rb +21 -0
- data/laag-xz.gemspec +20 -0
- data/lib/laag/xz.rb +29 -0
- data/vendor/git.tukaani.org/xz/.gitignore +66 -0
- data/vendor/git.tukaani.org/xz/AUTHORS +27 -0
- data/vendor/git.tukaani.org/xz/COPYING +65 -0
- data/vendor/git.tukaani.org/xz/COPYING.GPLv2 +339 -0
- data/vendor/git.tukaani.org/xz/COPYING.GPLv3 +674 -0
- data/vendor/git.tukaani.org/xz/COPYING.LGPLv2.1 +502 -0
- data/vendor/git.tukaani.org/xz/ChangeLog +7 -0
- data/vendor/git.tukaani.org/xz/Doxyfile.in +1234 -0
- data/vendor/git.tukaani.org/xz/INSTALL +618 -0
- data/vendor/git.tukaani.org/xz/INSTALL.generic +365 -0
- data/vendor/git.tukaani.org/xz/Makefile.am +110 -0
- data/vendor/git.tukaani.org/xz/NEWS +571 -0
- data/vendor/git.tukaani.org/xz/PACKAGERS +231 -0
- data/vendor/git.tukaani.org/xz/README +308 -0
- data/vendor/git.tukaani.org/xz/THANKS +124 -0
- data/vendor/git.tukaani.org/xz/TODO +111 -0
- data/vendor/git.tukaani.org/xz/autogen.sh +22 -0
- data/vendor/git.tukaani.org/xz/build-aux/manconv.sh +58 -0
- data/vendor/git.tukaani.org/xz/build-aux/version.sh +24 -0
- data/vendor/git.tukaani.org/xz/configure.ac +900 -0
- data/vendor/git.tukaani.org/xz/debug/Makefile.am +30 -0
- data/vendor/git.tukaani.org/xz/debug/README +17 -0
- data/vendor/git.tukaani.org/xz/debug/crc32.c +39 -0
- data/vendor/git.tukaani.org/xz/debug/full_flush.c +103 -0
- data/vendor/git.tukaani.org/xz/debug/hex2bin.c +53 -0
- data/vendor/git.tukaani.org/xz/debug/known_sizes.c +129 -0
- data/vendor/git.tukaani.org/xz/debug/memusage.c +51 -0
- data/vendor/git.tukaani.org/xz/debug/repeat.c +36 -0
- data/vendor/git.tukaani.org/xz/debug/sync_flush.c +125 -0
- data/vendor/git.tukaani.org/xz/debug/translation.bash +100 -0
- data/vendor/git.tukaani.org/xz/doc/examples/00_README.txt +31 -0
- data/vendor/git.tukaani.org/xz/doc/examples/01_compress_easy.c +297 -0
- data/vendor/git.tukaani.org/xz/doc/examples/02_decompress.c +287 -0
- data/vendor/git.tukaani.org/xz/doc/examples/03_compress_custom.c +193 -0
- data/vendor/git.tukaani.org/xz/doc/examples/04_compress_easy_mt.c +206 -0
- data/vendor/git.tukaani.org/xz/doc/examples/Makefile +24 -0
- data/vendor/git.tukaani.org/xz/doc/examples_old/xz_pipe_comp.c +127 -0
- data/vendor/git.tukaani.org/xz/doc/examples_old/xz_pipe_decomp.c +123 -0
- data/vendor/git.tukaani.org/xz/doc/faq.txt +224 -0
- data/vendor/git.tukaani.org/xz/doc/history.txt +150 -0
- data/vendor/git.tukaani.org/xz/doc/lzma-file-format.txt +166 -0
- data/vendor/git.tukaani.org/xz/doc/xz-file-format.txt +1150 -0
- data/vendor/git.tukaani.org/xz/dos/INSTALL.txt +79 -0
- data/vendor/git.tukaani.org/xz/dos/Makefile +147 -0
- data/vendor/git.tukaani.org/xz/dos/README.txt +123 -0
- data/vendor/git.tukaani.org/xz/dos/config.h +136 -0
- data/vendor/git.tukaani.org/xz/extra/7z2lzma/7z2lzma.bash +115 -0
- data/vendor/git.tukaani.org/xz/extra/scanlzma/scanlzma.c +88 -0
- data/vendor/git.tukaani.org/xz/lib/Makefile.am +32 -0
- data/vendor/git.tukaani.org/xz/lib/getopt.c +1197 -0
- data/vendor/git.tukaani.org/xz/lib/getopt.in.h +226 -0
- data/vendor/git.tukaani.org/xz/lib/getopt1.c +171 -0
- data/vendor/git.tukaani.org/xz/lib/getopt_int.h +131 -0
- data/vendor/git.tukaani.org/xz/m4/.gitignore +38 -0
- data/vendor/git.tukaani.org/xz/m4/ax_check_capsicum.m4 +85 -0
- data/vendor/git.tukaani.org/xz/m4/ax_pthread.m4 +332 -0
- data/vendor/git.tukaani.org/xz/m4/getopt.m4 +71 -0
- data/vendor/git.tukaani.org/xz/m4/posix-shell.m4 +63 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_common.m4 +22 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_cpucores.m4 +176 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_integer.m4 +74 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_mbstr.m4 +30 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_physmem.m4 +212 -0
- data/vendor/git.tukaani.org/xz/m4/tuklib_progname.m4 +25 -0
- data/vendor/git.tukaani.org/xz/macosx/build.sh +113 -0
- data/vendor/git.tukaani.org/xz/po/.gitignore +31 -0
- data/vendor/git.tukaani.org/xz/po/LINGUAS +6 -0
- data/vendor/git.tukaani.org/xz/po/Makevars +46 -0
- data/vendor/git.tukaani.org/xz/po/POTFILES.in +13 -0
- data/vendor/git.tukaani.org/xz/po/cs.po +949 -0
- data/vendor/git.tukaani.org/xz/po/de.po +993 -0
- data/vendor/git.tukaani.org/xz/po/fr.po +978 -0
- data/vendor/git.tukaani.org/xz/po/it.po +1067 -0
- data/vendor/git.tukaani.org/xz/po/pl.po +968 -0
- data/vendor/git.tukaani.org/xz/po/vi.po +1039 -0
- data/vendor/git.tukaani.org/xz/src/Makefile.am +42 -0
- data/vendor/git.tukaani.org/xz/src/common/common_w32res.rc +50 -0
- data/vendor/git.tukaani.org/xz/src/common/mythread.h +521 -0
- data/vendor/git.tukaani.org/xz/src/common/sysdefs.h +202 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_common.h +71 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_config.h +7 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_cpucores.c +100 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_cpucores.h +23 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_exit.c +57 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_exit.h +25 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_gettext.h +44 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_integer.h +534 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_mbstr.h +66 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_mbstr_fw.c +31 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_mbstr_width.c +64 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_open_stdxxx.c +57 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_open_stdxxx.h +23 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_physmem.c +216 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_physmem.h +28 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_progname.c +50 -0
- data/vendor/git.tukaani.org/xz/src/common/tuklib_progname.h +32 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/Makefile.am +122 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/Makefile.am +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma.h +325 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/base.h +659 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/bcj.h +90 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/block.h +581 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/check.h +150 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/container.h +632 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/delta.h +77 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/filter.h +425 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/hardware.h +64 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/index.h +686 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/index_hash.h +107 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/lzma12.h +420 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/stream_flags.h +223 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/version.h +121 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/api/lzma/vli.h +166 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/Makefile.inc +53 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/check.c +174 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/check.h +172 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_fast.c +82 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_small.c +61 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_table.c +19 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_table_be.h +525 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_table_le.h +525 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_tablegen.c +117 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc32_x86.S +304 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_fast.c +72 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_small.c +53 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_table.c +19 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_table_be.h +521 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_table_le.h +521 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_tablegen.c +88 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc64_x86.S +287 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/crc_macros.h +30 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/check/sha256.c +196 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/Makefile.inc +79 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/alone_decoder.c +243 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/alone_decoder.h +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/alone_encoder.c +163 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/auto_decoder.c +195 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_buffer_decoder.c +80 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_buffer_encoder.c +337 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_buffer_encoder.h +24 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_decoder.c +257 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_decoder.h +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_encoder.c +223 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_encoder.h +47 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_header_decoder.c +124 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_header_encoder.c +132 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/block_util.c +90 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/common.c +445 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/common.h +314 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_buffer_encoder.c +27 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_decoder_memusage.c +24 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_encoder.c +24 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_encoder_memusage.c +24 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_preset.c +27 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/easy_preset.h +32 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_buffer_decoder.c +88 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_buffer_encoder.c +55 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_common.c +337 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_common.h +48 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_decoder.c +184 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_decoder.h +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_encoder.c +286 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_encoder.h +27 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_flags_decoder.c +46 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/filter_flags_encoder.c +56 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/hardware_cputhreads.c +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/hardware_physmem.c +25 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index.c +1250 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index.h +73 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index_decoder.c +352 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index_encoder.c +256 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index_encoder.h +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/index_hash.c +334 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/memcmplen.h +175 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/outqueue.c +184 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/outqueue.h +156 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_buffer_decoder.c +91 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_buffer_encoder.c +141 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_decoder.c +467 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_decoder.h +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_encoder.c +340 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_encoder_mt.c +1143 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_flags_common.c +47 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_flags_common.h +33 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_flags_decoder.c +82 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/stream_flags_encoder.c +86 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/vli_decoder.c +86 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/vli_encoder.c +69 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/common/vli_size.c +30 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/Makefile.inc +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_common.c +73 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_common.h +20 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_decoder.c +78 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_decoder.h +26 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_encoder.c +125 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_encoder.h +24 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/delta/delta_private.h +37 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/liblzma.map +108 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/liblzma.pc.in +19 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/liblzma_w32res.rc +12 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/Makefile.inc +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_decoder.c +306 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_decoder.h +234 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_encoder.c +616 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_encoder.h +327 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_encoder_hash.h +108 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_encoder_hash_table.h +68 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lz/lz_encoder_mf.c +744 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/Makefile.inc +47 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/fastpos.h +141 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/fastpos_table.c +519 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/fastpos_tablegen.c +56 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma2_decoder.c +310 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma2_decoder.h +29 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma2_encoder.c +410 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma2_encoder.h +43 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_common.h +224 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_decoder.c +1064 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_decoder.h +53 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder.c +677 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder.h +58 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +170 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +855 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder_presets.c +64 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/lzma/lzma_encoder_private.h +148 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/Makefile.inc +21 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/price.h +92 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/price_table.c +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/price_tablegen.c +87 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/range_common.h +71 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/range_decoder.h +185 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/rangecoder/range_encoder.h +231 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/Makefile.inc +47 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/arm.c +71 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/armthumb.c +76 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/ia64.c +112 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/powerpc.c +75 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_coder.c +282 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_coder.h +72 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_decoder.c +40 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_decoder.h +22 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_encoder.c +38 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_encoder.h +23 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/simple_private.h +74 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/sparc.c +83 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/simple/x86.c +159 -0
- data/vendor/git.tukaani.org/xz/src/liblzma/validate_map.sh +68 -0
- data/vendor/git.tukaani.org/xz/src/lzmainfo/Makefile.am +39 -0
- data/vendor/git.tukaani.org/xz/src/lzmainfo/lzmainfo.1 +60 -0
- data/vendor/git.tukaani.org/xz/src/lzmainfo/lzmainfo.c +219 -0
- data/vendor/git.tukaani.org/xz/src/lzmainfo/lzmainfo_w32res.rc +12 -0
- data/vendor/git.tukaani.org/xz/src/scripts/Makefile.am +55 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzdiff.1 +77 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzdiff.in +200 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzgrep.1 +98 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzgrep.in +215 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzless.1 +69 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzless.in +58 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzmore.1 +55 -0
- data/vendor/git.tukaani.org/xz/src/scripts/xzmore.in +78 -0
- data/vendor/git.tukaani.org/xz/src/xz/Makefile.am +111 -0
- data/vendor/git.tukaani.org/xz/src/xz/args.c +700 -0
- data/vendor/git.tukaani.org/xz/src/xz/args.h +44 -0
- data/vendor/git.tukaani.org/xz/src/xz/coder.c +936 -0
- data/vendor/git.tukaani.org/xz/src/xz/coder.h +76 -0
- data/vendor/git.tukaani.org/xz/src/xz/file_io.c +1300 -0
- data/vendor/git.tukaani.org/xz/src/xz/file_io.h +156 -0
- data/vendor/git.tukaani.org/xz/src/xz/hardware.c +150 -0
- data/vendor/git.tukaani.org/xz/src/xz/hardware.h +37 -0
- data/vendor/git.tukaani.org/xz/src/xz/list.c +1192 -0
- data/vendor/git.tukaani.org/xz/src/xz/list.h +18 -0
- data/vendor/git.tukaani.org/xz/src/xz/main.c +330 -0
- data/vendor/git.tukaani.org/xz/src/xz/main.h +30 -0
- data/vendor/git.tukaani.org/xz/src/xz/message.c +1258 -0
- data/vendor/git.tukaani.org/xz/src/xz/message.h +167 -0
- data/vendor/git.tukaani.org/xz/src/xz/mytime.c +89 -0
- data/vendor/git.tukaani.org/xz/src/xz/mytime.h +47 -0
- data/vendor/git.tukaani.org/xz/src/xz/options.c +363 -0
- data/vendor/git.tukaani.org/xz/src/xz/options.h +31 -0
- data/vendor/git.tukaani.org/xz/src/xz/private.h +66 -0
- data/vendor/git.tukaani.org/xz/src/xz/signals.c +209 -0
- data/vendor/git.tukaani.org/xz/src/xz/signals.h +43 -0
- data/vendor/git.tukaani.org/xz/src/xz/suffix.c +399 -0
- data/vendor/git.tukaani.org/xz/src/xz/suffix.h +28 -0
- data/vendor/git.tukaani.org/xz/src/xz/util.c +288 -0
- data/vendor/git.tukaani.org/xz/src/xz/util.h +123 -0
- data/vendor/git.tukaani.org/xz/src/xz/xz.1 +2786 -0
- data/vendor/git.tukaani.org/xz/src/xz/xz_w32res.rc +12 -0
- data/vendor/git.tukaani.org/xz/src/xzdec/Makefile.am +82 -0
- data/vendor/git.tukaani.org/xz/src/xzdec/lzmadec_w32res.rc +12 -0
- data/vendor/git.tukaani.org/xz/src/xzdec/xzdec.1 +146 -0
- data/vendor/git.tukaani.org/xz/src/xzdec/xzdec.c +323 -0
- data/vendor/git.tukaani.org/xz/src/xzdec/xzdec_w32res.rc +12 -0
- data/vendor/git.tukaani.org/xz/tests/Makefile.am +57 -0
- data/vendor/git.tukaani.org/xz/tests/bcj_test.c +65 -0
- data/vendor/git.tukaani.org/xz/tests/compress_prepared_bcj_sparc +0 -0
- data/vendor/git.tukaani.org/xz/tests/compress_prepared_bcj_x86 +0 -0
- data/vendor/git.tukaani.org/xz/tests/create_compress_files.c +158 -0
- data/vendor/git.tukaani.org/xz/tests/files/README +240 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0-backward_size.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0-empty-truncated.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0-footer_magic.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0-header_magic.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0-nonempty_index.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0cat-alone.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0cat-header_magic.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0catpad-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-0pad-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-4.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-5.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-block_header-6.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-check-crc32.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-check-crc64.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-check-sha256.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-4.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-5.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-6.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-7.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-lzma2-8.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-stream_flags-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-stream_flags-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-stream_flags-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-vli-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-1-vli-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-compressed_data_padding.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-index-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-index-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-index-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-index-4.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/bad-2-index-5.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-0-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-0cat-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-0catpad-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-0pad-empty.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-3delta-lzma2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-block_header-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-block_header-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-block_header-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-check-crc32.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-check-crc64.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-check-none.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-check-sha256.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-delta-lzma2.tiff.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-lzma2-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-lzma2-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-lzma2-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-lzma2-4.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-lzma2-5.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-sparc-lzma2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-1-x86-lzma2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/good-2-lzma2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/unsupported-block_header.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/unsupported-check.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/unsupported-filter_flags-1.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/unsupported-filter_flags-2.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/files/unsupported-filter_flags-3.xz +0 -0
- data/vendor/git.tukaani.org/xz/tests/test_bcj_exact_size.c +113 -0
- data/vendor/git.tukaani.org/xz/tests/test_block_header.c +240 -0
- data/vendor/git.tukaani.org/xz/tests/test_check.c +83 -0
- data/vendor/git.tukaani.org/xz/tests/test_compress.sh +142 -0
- data/vendor/git.tukaani.org/xz/tests/test_files.sh +57 -0
- data/vendor/git.tukaani.org/xz/tests/test_filter_flags.c +258 -0
- data/vendor/git.tukaani.org/xz/tests/test_index.c +689 -0
- data/vendor/git.tukaani.org/xz/tests/test_scripts.sh +76 -0
- data/vendor/git.tukaani.org/xz/tests/test_stream_flags.c +180 -0
- data/vendor/git.tukaani.org/xz/tests/tests.h +124 -0
- data/vendor/git.tukaani.org/xz/tests/xzgrep_expected_output +39 -0
- data/vendor/git.tukaani.org/xz/windows/INSTALL-MSVC.txt +47 -0
- data/vendor/git.tukaani.org/xz/windows/INSTALL-MinGW.txt +138 -0
- data/vendor/git.tukaani.org/xz/windows/README-Windows.txt +122 -0
- data/vendor/git.tukaani.org/xz/windows/build.bash +203 -0
- data/vendor/git.tukaani.org/xz/windows/vs2013/config.h +148 -0
- data/vendor/git.tukaani.org/xz/windows/vs2013/liblzma.vcxproj +354 -0
- data/vendor/git.tukaani.org/xz/windows/vs2013/liblzma_dll.vcxproj +383 -0
- data/vendor/git.tukaani.org/xz/windows/vs2013/xz_win.sln +48 -0
- data/vendor/git.tukaani.org/xz/windows/vs2017/config.h +148 -0
- data/vendor/git.tukaani.org/xz/windows/vs2017/liblzma.vcxproj +355 -0
- data/vendor/git.tukaani.org/xz/windows/vs2017/liblzma_dll.vcxproj +384 -0
- data/vendor/git.tukaani.org/xz/windows/vs2017/xz_win.sln +48 -0
- metadata +457 -0
@@ -0,0 +1,124 @@
|
|
1
|
+
|
2
|
+
Thanks
|
3
|
+
======
|
4
|
+
|
5
|
+
Some people have helped more, some less, but nevertheless everyone's help
|
6
|
+
has been important. :-) In alphabetical order:
|
7
|
+
- Mark Adler
|
8
|
+
- H. Peter Anvin
|
9
|
+
- Jeff Bastian
|
10
|
+
- Nelson H. F. Beebe
|
11
|
+
- Karl Berry
|
12
|
+
- Anders F. Björklund
|
13
|
+
- Emmanuel Blot
|
14
|
+
- Melanie Blower
|
15
|
+
- Martin Blumenstingl
|
16
|
+
- Ben Boeckel
|
17
|
+
- Jakub Bogusz
|
18
|
+
- Maarten Bosmans
|
19
|
+
- Trent W. Buck
|
20
|
+
- James Buren
|
21
|
+
- David Burklund
|
22
|
+
- Daniel Mealha Cabrita
|
23
|
+
- Milo Casagrande
|
24
|
+
- Marek Černocký
|
25
|
+
- Tomer Chachamu
|
26
|
+
- Gabi Davar
|
27
|
+
- Chris Donawa
|
28
|
+
- Andrew Dudman
|
29
|
+
- Markus Duft
|
30
|
+
- İsmail Dönmez
|
31
|
+
- Robert Elz
|
32
|
+
- Gilles Espinasse
|
33
|
+
- Denis Excoffier
|
34
|
+
- Michael Felt
|
35
|
+
- Michael Fox
|
36
|
+
- Mike Frysinger
|
37
|
+
- Daniel Richard G.
|
38
|
+
- Bill Glessner
|
39
|
+
- Jason Gorski
|
40
|
+
- Juan Manuel Guerrero
|
41
|
+
- Diederik de Haas
|
42
|
+
- Joachim Henke
|
43
|
+
- Christian Hesse
|
44
|
+
- Vincenzo Innocente
|
45
|
+
- Peter Ivanov
|
46
|
+
- Jouk Jansen
|
47
|
+
- Jun I Jin
|
48
|
+
- Per Øyvind Karlsen
|
49
|
+
- Thomas Klausner
|
50
|
+
- Richard Koch
|
51
|
+
- Ville Koskinen
|
52
|
+
- Jan Kratochvil
|
53
|
+
- Christian Kujau
|
54
|
+
- Stephan Kulow
|
55
|
+
- Peter Lawler
|
56
|
+
- James M Leddy
|
57
|
+
- Hin-Tak Leung
|
58
|
+
- Andraž 'ruskie' Levstik
|
59
|
+
- Cary Lewis
|
60
|
+
- Wim Lewis
|
61
|
+
- Eric Lindblad
|
62
|
+
- Lorenzo De Liso
|
63
|
+
- Bela Lubkin
|
64
|
+
- Gregory Margo
|
65
|
+
- Jim Meyering
|
66
|
+
- Arkadiusz Miskiewicz
|
67
|
+
- Conley Moorhous
|
68
|
+
- Rafał Mużyło
|
69
|
+
- Adrien Nader
|
70
|
+
- Evan Nemerson
|
71
|
+
- Hongbo Ni
|
72
|
+
- Jonathan Nieder
|
73
|
+
- Andre Noll
|
74
|
+
- Peter O'Gorman
|
75
|
+
- Peter Pallinger
|
76
|
+
- Rui Paulo
|
77
|
+
- Igor Pavlov
|
78
|
+
- Diego Elio Pettenò
|
79
|
+
- Elbert Pol
|
80
|
+
- Mikko Pouru
|
81
|
+
- Rich Prohaska
|
82
|
+
- Trần Ngọc Quân
|
83
|
+
- Pavel Raiskup
|
84
|
+
- Ole André Vadla Ravnås
|
85
|
+
- Robert Readman
|
86
|
+
- Bernhard Reutner-Fischer
|
87
|
+
- Eric S. Raymond
|
88
|
+
- Cristian Rodríguez
|
89
|
+
- Christian von Roques
|
90
|
+
- Torsten Rupp
|
91
|
+
- Jukka Salmi
|
92
|
+
- Alexandre Sauvé
|
93
|
+
- Benno Schulenberg
|
94
|
+
- Andreas Schwab
|
95
|
+
- Dan Shechter
|
96
|
+
- Stuart Shelton
|
97
|
+
- Sebastian Andrzej Siewior
|
98
|
+
- Brad Smith
|
99
|
+
- Pippijn van Steenhoven
|
100
|
+
- Jonathan Stott
|
101
|
+
- Dan Stromberg
|
102
|
+
- Vincent Torri
|
103
|
+
- Paul Townsend
|
104
|
+
- Mohammed Adnène Trojette
|
105
|
+
- Alexey Tourbin
|
106
|
+
- Patrick J. Volkerding
|
107
|
+
- Martin Väth
|
108
|
+
- Adam Walling
|
109
|
+
- Christian Weisgerber
|
110
|
+
- Bert Wesarg
|
111
|
+
- Fredrik Wikstrom
|
112
|
+
- Jim Wilcoxson
|
113
|
+
- Ralf Wildenhues
|
114
|
+
- Charles Wilson
|
115
|
+
- Lars Wirzenius
|
116
|
+
- Pilorz Wojciech
|
117
|
+
- Ryan Young
|
118
|
+
- Andreas Zieringer
|
119
|
+
|
120
|
+
Also thanks to all the people who have participated in the Tukaani project.
|
121
|
+
|
122
|
+
I have probably forgot to add some names to the above list. Sorry about
|
123
|
+
that and thanks for your help.
|
124
|
+
|
@@ -0,0 +1,111 @@
|
|
1
|
+
|
2
|
+
XZ Utils To-Do List
|
3
|
+
===================
|
4
|
+
|
5
|
+
Known bugs
|
6
|
+
----------
|
7
|
+
|
8
|
+
The test suite is too incomplete.
|
9
|
+
|
10
|
+
If the memory usage limit is less than about 13 MiB, xz is unable to
|
11
|
+
automatically scale down the compression settings enough even though
|
12
|
+
it would be possible by switching from BT2/BT3/BT4 match finder to
|
13
|
+
HC3/HC4.
|
14
|
+
|
15
|
+
XZ Utils compress some files significantly worse than LZMA Utils.
|
16
|
+
This is due to faster compression presets used by XZ Utils, and
|
17
|
+
can often be worked around by using "xz --extreme". With some files
|
18
|
+
--extreme isn't enough though: it's most likely with files that
|
19
|
+
compress extremely well, so going from compression ratio of 0.003
|
20
|
+
to 0.004 means big relative increase in the compressed file size.
|
21
|
+
|
22
|
+
xz doesn't quote unprintable characters when it displays file names
|
23
|
+
given on the command line.
|
24
|
+
|
25
|
+
tuklib_exit() doesn't block signals => EINTR is possible.
|
26
|
+
|
27
|
+
SIGTSTP is not handled. If xz is stopped, the estimated remaining
|
28
|
+
time and calculated (de)compression speed won't make sense in the
|
29
|
+
progress indicator (xz --verbose).
|
30
|
+
|
31
|
+
If liblzma has created threads and fork() gets called, liblzma
|
32
|
+
code will break in the child process unless it calls exec() and
|
33
|
+
doesn't touch liblzma.
|
34
|
+
|
35
|
+
|
36
|
+
Missing features
|
37
|
+
----------------
|
38
|
+
|
39
|
+
Add support for storing metadata in .xz files. A preliminary
|
40
|
+
idea is to create a new Stream type for metadata. When both
|
41
|
+
metadata and data are wanted in the same .xz file, two or more
|
42
|
+
Streams would be concatenated.
|
43
|
+
|
44
|
+
The state stored in lzma_stream should be cloneable, which would
|
45
|
+
be mostly useful when using a preset dictionary in LZMA2, but
|
46
|
+
it may have other uses too. Compare to deflateCopy() in zlib.
|
47
|
+
|
48
|
+
Support LZMA_FINISH in raw decoder to indicate end of LZMA1 and
|
49
|
+
other streams that don't have an end of payload marker.
|
50
|
+
|
51
|
+
Adjust dictionary size when the input file size is known.
|
52
|
+
Maybe do this only if an option is given.
|
53
|
+
|
54
|
+
xz doesn't support copying extended attributes, access control
|
55
|
+
lists etc. from source to target file.
|
56
|
+
|
57
|
+
Multithreaded compression:
|
58
|
+
- Reduce memory usage of the current method.
|
59
|
+
- Implement threaded match finders.
|
60
|
+
- Implement pigz-style threading in LZMA2.
|
61
|
+
|
62
|
+
Multithreaded decompression
|
63
|
+
|
64
|
+
Buffer-to-buffer coding could use less RAM (especially when
|
65
|
+
decompressing LZMA1 or LZMA2).
|
66
|
+
|
67
|
+
I/O library is not implemented (similar to gzopen() in zlib).
|
68
|
+
It will be a separate library that supports uncompressed, .gz,
|
69
|
+
.bz2, .lzma, and .xz files.
|
70
|
+
|
71
|
+
Support changing lzma_options_lzma.mode with lzma_filters_update().
|
72
|
+
|
73
|
+
Support LZMA_FULL_FLUSH for lzma_stream_decoder() to stop at
|
74
|
+
Block and Stream boundaries.
|
75
|
+
|
76
|
+
lzma_strerror() to convert lzma_ret to human readable form?
|
77
|
+
This is tricky, because the same error codes are used with
|
78
|
+
slightly different meanings, and this cannot be fixed anymore.
|
79
|
+
|
80
|
+
Make it possible to adjust LZMA2 options in the middle of a Block
|
81
|
+
so that the encoding speed vs. compression ratio can be optimized
|
82
|
+
when the compressed data is streamed over network.
|
83
|
+
|
84
|
+
Improved BCJ filters. The current filters are small but they aren't
|
85
|
+
so great when compressing binary packages that contain various file
|
86
|
+
types. Specifically, they make things worse if there are static
|
87
|
+
libraries or Linux kernel modules. The filtering could also be
|
88
|
+
more effective (without getting overly complex), for example,
|
89
|
+
streamable variant BCJ2 from 7-Zip could be implemented.
|
90
|
+
|
91
|
+
Filter that autodetects specific data types in the input stream
|
92
|
+
and applies appropriate filters for the corrects parts of the input.
|
93
|
+
Perhaps combine this with the BCJ filter improvement point above.
|
94
|
+
|
95
|
+
Long-range LZ77 method as a separate filter or as a new LZMA2
|
96
|
+
match finder.
|
97
|
+
|
98
|
+
|
99
|
+
Documentation
|
100
|
+
-------------
|
101
|
+
|
102
|
+
More tutorial programs are needed for liblzma.
|
103
|
+
|
104
|
+
Document the LZMA1 and LZMA2 algorithms.
|
105
|
+
|
106
|
+
|
107
|
+
Miscellaneous
|
108
|
+
------------
|
109
|
+
|
110
|
+
Try to get the media type for .xz registered at IANA.
|
111
|
+
|
@@ -0,0 +1,22 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
|
3
|
+
###############################################################################
|
4
|
+
#
|
5
|
+
# Author: Lasse Collin
|
6
|
+
#
|
7
|
+
# This file has been put into the public domain.
|
8
|
+
# You can do whatever you want with this file.
|
9
|
+
#
|
10
|
+
###############################################################################
|
11
|
+
|
12
|
+
# The result of using "autoreconf -fi" should be identical to using this
|
13
|
+
# script. I'm leaving this script here just in case someone finds it useful.
|
14
|
+
|
15
|
+
set -e -x
|
16
|
+
|
17
|
+
${AUTOPOINT:-autopoint} -f
|
18
|
+
${LIBTOOLIZE:-libtoolize} -c -f || glibtoolize -c -f
|
19
|
+
${ACLOCAL:-aclocal} -I m4
|
20
|
+
${AUTOCONF:-autoconf}
|
21
|
+
${AUTOHEADER:-autoheader}
|
22
|
+
${AUTOMAKE:-automake} -acf --foreign
|
@@ -0,0 +1,58 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
###############################################################################
|
4
|
+
#
|
5
|
+
# Wrapper for GNU groff to convert man pages to a few formats
|
6
|
+
#
|
7
|
+
# Usage: manconv.sh FORMAT [PAPER_SIZE] < in.1 > out.suffix
|
8
|
+
#
|
9
|
+
# FORMAT can be ascii, utf8, ps, or pdf. PAPER_SIZE can be anything that
|
10
|
+
# groff accepts, e.g. a4 or letter. See groff_font(5). PAPER_SIZE defaults
|
11
|
+
# to a4 and is used only when FORMAT is ps (PostScript) or pdf.
|
12
|
+
#
|
13
|
+
# Multiple man pages can be given at once e.g. to create a single PDF file
|
14
|
+
# with continuous page numbering.
|
15
|
+
#
|
16
|
+
###############################################################################
|
17
|
+
#
|
18
|
+
# Author: Lasse Collin
|
19
|
+
#
|
20
|
+
# This file has been put into the public domain.
|
21
|
+
# You can do whatever you want with this file.
|
22
|
+
#
|
23
|
+
###############################################################################
|
24
|
+
|
25
|
+
FORMAT=$1
|
26
|
+
PAPER=${2-a4}
|
27
|
+
|
28
|
+
# Make PostScript and PDF output more readable:
|
29
|
+
# - Use 11 pt font instead of the default 10 pt.
|
30
|
+
# - Use larger paragraph spacing than the default 0.4v (man(7) only).
|
31
|
+
FONT=11
|
32
|
+
PD=0.8
|
33
|
+
|
34
|
+
SED_PD="
|
35
|
+
/^\\.TH /s/\$/\\
|
36
|
+
.PD $PD/
|
37
|
+
s/^\\.PD\$/.PD $PD/"
|
38
|
+
|
39
|
+
case $FORMAT in
|
40
|
+
ascii)
|
41
|
+
groff -t -mandoc -Tascii | col -bx
|
42
|
+
;;
|
43
|
+
utf8)
|
44
|
+
groff -t -mandoc -Tutf8 | col -bx
|
45
|
+
;;
|
46
|
+
ps)
|
47
|
+
sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \
|
48
|
+
-rC1 -rS$FONT -Tps -P-p$PAPER
|
49
|
+
;;
|
50
|
+
pdf)
|
51
|
+
sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \
|
52
|
+
-rC1 -rS$FONT -Tps -P-p$PAPER | ps2pdf - -
|
53
|
+
;;
|
54
|
+
*)
|
55
|
+
echo 'Invalid arguments' >&2
|
56
|
+
exit 1
|
57
|
+
;;
|
58
|
+
esac
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#!/bin/sh
|
2
|
+
#
|
3
|
+
#############################################################################
|
4
|
+
#
|
5
|
+
# Get the version string from version.h and print it out without
|
6
|
+
# trailing newline. This makes it suitable for use in configure.ac.
|
7
|
+
#
|
8
|
+
#############################################################################
|
9
|
+
#
|
10
|
+
# Author: Lasse Collin
|
11
|
+
#
|
12
|
+
# This file has been put into the public domain.
|
13
|
+
# You can do whatever you want with this file.
|
14
|
+
#
|
15
|
+
#############################################################################
|
16
|
+
|
17
|
+
sed -n 's/LZMA_VERSION_STABILITY_ALPHA/alpha/
|
18
|
+
s/LZMA_VERSION_STABILITY_BETA/beta/
|
19
|
+
s/LZMA_VERSION_STABILITY_STABLE//
|
20
|
+
s/^#define LZMA_VERSION_[MPS][AIT][AJNT][A-Z]* //p' \
|
21
|
+
src/liblzma/api/lzma/version.h \
|
22
|
+
| tr '\n' '|' \
|
23
|
+
| sed 's/|/./; s/|/./; s/|//g' \
|
24
|
+
| tr -d '\r\n'
|
@@ -0,0 +1,900 @@
|
|
1
|
+
# -*- Autoconf -*-
|
2
|
+
# Process this file with autoconf to produce a configure script.
|
3
|
+
|
4
|
+
###############################################################################
|
5
|
+
#
|
6
|
+
# Author: Lasse Collin
|
7
|
+
#
|
8
|
+
# This file has been put into the public domain.
|
9
|
+
# You can do whatever you want with this file.
|
10
|
+
#
|
11
|
+
###############################################################################
|
12
|
+
|
13
|
+
# NOTE: Don't add useless checks. autoscan detects this and that, but don't
|
14
|
+
# let it confuse you. For example, we don't care about checking for behavior
|
15
|
+
# of malloc(), stat(), or lstat(), since we don't use those functions in
|
16
|
+
# a way that would cause the problems the autoconf macros check.
|
17
|
+
|
18
|
+
AC_PREREQ([2.64])
|
19
|
+
|
20
|
+
AC_INIT([XZ Utils], m4_esyscmd([/bin/sh build-aux/version.sh]),
|
21
|
+
[lasse.collin@tukaani.org], [xz], [https://tukaani.org/xz/])
|
22
|
+
AC_CONFIG_SRCDIR([src/liblzma/common/common.h])
|
23
|
+
AC_CONFIG_AUX_DIR([build-aux])
|
24
|
+
AC_CONFIG_MACRO_DIR([m4])
|
25
|
+
AC_CONFIG_HEADER([config.h])
|
26
|
+
|
27
|
+
echo
|
28
|
+
echo "$PACKAGE_STRING"
|
29
|
+
|
30
|
+
echo
|
31
|
+
echo "System type:"
|
32
|
+
# This is needed to know if assembler optimizations can be used.
|
33
|
+
AC_CANONICAL_HOST
|
34
|
+
|
35
|
+
# We do some special things on Windows (32-bit or 64-bit) builds.
|
36
|
+
case $host_os in
|
37
|
+
mingw* | cygwin | msys) is_w32=yes ;;
|
38
|
+
*) is_w32=no ;;
|
39
|
+
esac
|
40
|
+
AM_CONDITIONAL([COND_W32], [test "$is_w32" = yes])
|
41
|
+
|
42
|
+
# We need to use $EXEEXT with $(LN_S) when creating symlinks to
|
43
|
+
# executables. Cygwin is an exception to this, since it is recommended
|
44
|
+
# that symlinks don't have the .exe suffix. To make this work, we
|
45
|
+
# define LN_EXEEXT.
|
46
|
+
#
|
47
|
+
# MSYS2 is treated the same way as Cygwin. It uses plain "msys" like
|
48
|
+
# the original MSYS when building MSYS/MSYS2-binaries. Hopefully this
|
49
|
+
# doesn't break things for the original MSYS developers. Note that this
|
50
|
+
# doesn't affect normal MSYS/MSYS2 users building non-MSYS/MSYS2 binaries
|
51
|
+
# since in that case the $host_os is usually mingw32.
|
52
|
+
case $host_os in
|
53
|
+
cygwin | msys) LN_EXEEXT= ;;
|
54
|
+
*) LN_EXEEXT='$(EXEEXT)' ;;
|
55
|
+
esac
|
56
|
+
AC_SUBST([LN_EXEEXT])
|
57
|
+
|
58
|
+
echo
|
59
|
+
echo "Configure options:"
|
60
|
+
AM_CFLAGS=
|
61
|
+
|
62
|
+
|
63
|
+
#############
|
64
|
+
# Debugging #
|
65
|
+
#############
|
66
|
+
|
67
|
+
AC_MSG_CHECKING([if debugging code should be compiled])
|
68
|
+
AC_ARG_ENABLE([debug], AS_HELP_STRING([--enable-debug], [Enable debugging code.]),
|
69
|
+
[], enable_debug=no)
|
70
|
+
if test "x$enable_debug" = xyes; then
|
71
|
+
AC_MSG_RESULT([yes])
|
72
|
+
else
|
73
|
+
AC_DEFINE([NDEBUG], [1], [Define to 1 to disable debugging code.])
|
74
|
+
AC_MSG_RESULT([no])
|
75
|
+
fi
|
76
|
+
|
77
|
+
|
78
|
+
###########
|
79
|
+
# Filters #
|
80
|
+
###########
|
81
|
+
|
82
|
+
m4_define([SUPPORTED_FILTERS], [lzma1,lzma2,delta,x86,powerpc,ia64,arm,armthumb,sparc])dnl
|
83
|
+
m4_define([SIMPLE_FILTERS], [x86,powerpc,ia64,arm,armthumb,sparc])
|
84
|
+
m4_define([LZ_FILTERS], [lzma1,lzma2])
|
85
|
+
|
86
|
+
m4_foreach([NAME], [SUPPORTED_FILTERS],
|
87
|
+
[enable_filter_[]NAME=no
|
88
|
+
enable_encoder_[]NAME=no
|
89
|
+
enable_decoder_[]NAME=no
|
90
|
+
])dnl
|
91
|
+
|
92
|
+
AC_MSG_CHECKING([which encoders to build])
|
93
|
+
AC_ARG_ENABLE([encoders], AS_HELP_STRING([--enable-encoders=LIST],
|
94
|
+
[Comma-separated list of encoders to build. Default=all.
|
95
|
+
Available encoders:]
|
96
|
+
m4_translit(m4_defn([SUPPORTED_FILTERS]), [,], [ ])),
|
97
|
+
[], [enable_encoders=SUPPORTED_FILTERS])
|
98
|
+
enable_encoders=`echo "$enable_encoders" | sed 's/,/ /g'`
|
99
|
+
if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then
|
100
|
+
enable_encoders=no
|
101
|
+
AC_MSG_RESULT([(none)])
|
102
|
+
else
|
103
|
+
for arg in $enable_encoders
|
104
|
+
do
|
105
|
+
case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [
|
106
|
+
NAME)
|
107
|
+
enable_filter_[]NAME=yes
|
108
|
+
enable_encoder_[]NAME=yes
|
109
|
+
AC_DEFINE(HAVE_ENCODER_[]m4_toupper(NAME), [1],
|
110
|
+
[Define to 1 if] NAME [encoder is enabled.])
|
111
|
+
;;])
|
112
|
+
*)
|
113
|
+
AC_MSG_RESULT([])
|
114
|
+
AC_MSG_ERROR([unknown filter: $arg])
|
115
|
+
;;
|
116
|
+
esac
|
117
|
+
done
|
118
|
+
AC_DEFINE([HAVE_ENCODERS], [1],
|
119
|
+
[Define to 1 if any of HAVE_ENCODER_foo have been defined.])
|
120
|
+
AC_MSG_RESULT([$enable_encoders])
|
121
|
+
fi
|
122
|
+
|
123
|
+
AC_MSG_CHECKING([which decoders to build])
|
124
|
+
AC_ARG_ENABLE([decoders], AS_HELP_STRING([--enable-decoders=LIST],
|
125
|
+
[Comma-separated list of decoders to build. Default=all.
|
126
|
+
Available decoders are the same as available encoders.]),
|
127
|
+
[], [enable_decoders=SUPPORTED_FILTERS])
|
128
|
+
enable_decoders=`echo "$enable_decoders" | sed 's/,/ /g'`
|
129
|
+
if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then
|
130
|
+
enable_decoders=no
|
131
|
+
AC_MSG_RESULT([(none)])
|
132
|
+
else
|
133
|
+
for arg in $enable_decoders
|
134
|
+
do
|
135
|
+
case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [
|
136
|
+
NAME)
|
137
|
+
enable_filter_[]NAME=yes
|
138
|
+
enable_decoder_[]NAME=yes
|
139
|
+
AC_DEFINE(HAVE_DECODER_[]m4_toupper(NAME), [1],
|
140
|
+
[Define to 1 if] NAME [decoder is enabled.])
|
141
|
+
;;])
|
142
|
+
*)
|
143
|
+
AC_MSG_RESULT([])
|
144
|
+
AC_MSG_ERROR([unknown filter: $arg])
|
145
|
+
;;
|
146
|
+
esac
|
147
|
+
done
|
148
|
+
AC_DEFINE([HAVE_DECODERS], [1],
|
149
|
+
[Define to 1 if any of HAVE_DECODER_foo have been defined.])
|
150
|
+
AC_MSG_RESULT([$enable_decoders])
|
151
|
+
fi
|
152
|
+
|
153
|
+
if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \
|
154
|
+
|| test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then
|
155
|
+
AC_MSG_ERROR([LZMA2 requires that LZMA1 is also enabled.])
|
156
|
+
fi
|
157
|
+
|
158
|
+
AM_CONDITIONAL(COND_MAIN_ENCODER, test "x$enable_encoders" != xno)
|
159
|
+
AM_CONDITIONAL(COND_MAIN_DECODER, test "x$enable_decoders" != xno)
|
160
|
+
|
161
|
+
m4_foreach([NAME], [SUPPORTED_FILTERS],
|
162
|
+
[AM_CONDITIONAL(COND_FILTER_[]m4_toupper(NAME), test "x$enable_filter_[]NAME" = xyes)
|
163
|
+
AM_CONDITIONAL(COND_ENCODER_[]m4_toupper(NAME), test "x$enable_encoder_[]NAME" = xyes)
|
164
|
+
AM_CONDITIONAL(COND_DECODER_[]m4_toupper(NAME), test "x$enable_decoder_[]NAME" = xyes)
|
165
|
+
])dnl
|
166
|
+
|
167
|
+
# The so called "simple filters" share common code.
|
168
|
+
enable_filter_simple=no
|
169
|
+
enable_encoder_simple=no
|
170
|
+
enable_decoder_simple=no
|
171
|
+
m4_foreach([NAME], [SIMPLE_FILTERS],
|
172
|
+
[test "x$enable_filter_[]NAME" = xyes && enable_filter_simple=yes
|
173
|
+
test "x$enable_encoder_[]NAME" = xyes && enable_encoder_simple=yes
|
174
|
+
test "x$enable_decoder_[]NAME" = xyes && enable_decoder_simple=yes
|
175
|
+
])dnl
|
176
|
+
AM_CONDITIONAL(COND_FILTER_SIMPLE, test "x$enable_filter_simple" = xyes)
|
177
|
+
AM_CONDITIONAL(COND_ENCODER_SIMPLE, test "x$enable_encoder_simple" = xyes)
|
178
|
+
AM_CONDITIONAL(COND_DECODER_SIMPLE, test "x$enable_decoder_simple" = xyes)
|
179
|
+
|
180
|
+
# LZ-based filters share common code.
|
181
|
+
enable_filter_lz=no
|
182
|
+
enable_encoder_lz=no
|
183
|
+
enable_decoder_lz=no
|
184
|
+
m4_foreach([NAME], [LZ_FILTERS],
|
185
|
+
[test "x$enable_filter_[]NAME" = xyes && enable_filter_lz=yes
|
186
|
+
test "x$enable_encoder_[]NAME" = xyes && enable_encoder_lz=yes
|
187
|
+
test "x$enable_decoder_[]NAME" = xyes && enable_decoder_lz=yes
|
188
|
+
])dnl
|
189
|
+
AM_CONDITIONAL(COND_FILTER_LZ, test "x$enable_filter_lz" = xyes)
|
190
|
+
AM_CONDITIONAL(COND_ENCODER_LZ, test "x$enable_encoder_lz" = xyes)
|
191
|
+
AM_CONDITIONAL(COND_DECODER_LZ, test "x$enable_decoder_lz" = xyes)
|
192
|
+
|
193
|
+
|
194
|
+
#################
|
195
|
+
# Match finders #
|
196
|
+
#################
|
197
|
+
|
198
|
+
m4_define([SUPPORTED_MATCH_FINDERS], [hc3,hc4,bt2,bt3,bt4])
|
199
|
+
|
200
|
+
m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS],
|
201
|
+
[enable_match_finder_[]NAME=no
|
202
|
+
])
|
203
|
+
|
204
|
+
AC_MSG_CHECKING([which match finders to build])
|
205
|
+
AC_ARG_ENABLE([match-finders], AS_HELP_STRING([--enable-match-finders=LIST],
|
206
|
+
[Comma-separated list of match finders to build. Default=all.
|
207
|
+
At least one match finder is required for encoding with
|
208
|
+
the LZMA1 and LZMA2 filters. Available match finders:]
|
209
|
+
m4_translit(m4_defn([SUPPORTED_MATCH_FINDERS]), [,], [ ])), [],
|
210
|
+
[enable_match_finders=SUPPORTED_MATCH_FINDERS])
|
211
|
+
enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'`
|
212
|
+
if test "x$enable_encoder_lz" = xyes ; then
|
213
|
+
for arg in $enable_match_finders
|
214
|
+
do
|
215
|
+
case $arg in m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], [
|
216
|
+
NAME)
|
217
|
+
enable_match_finder_[]NAME=yes
|
218
|
+
AC_DEFINE(HAVE_MF_[]m4_toupper(NAME), [1],
|
219
|
+
[Define to 1 to enable] NAME [match finder.])
|
220
|
+
;;])
|
221
|
+
*)
|
222
|
+
AC_MSG_RESULT([])
|
223
|
+
AC_MSG_ERROR([unknown match finder: $arg])
|
224
|
+
;;
|
225
|
+
esac
|
226
|
+
done
|
227
|
+
AC_MSG_RESULT([$enable_match_finders])
|
228
|
+
else
|
229
|
+
AC_MSG_RESULT([(none because not building any LZ-based encoder)])
|
230
|
+
fi
|
231
|
+
|
232
|
+
|
233
|
+
####################
|
234
|
+
# Integrity checks #
|
235
|
+
####################
|
236
|
+
|
237
|
+
m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256])
|
238
|
+
|
239
|
+
m4_foreach([NAME], [SUPPORTED_CHECKS],
|
240
|
+
[enable_check_[]NAME=no
|
241
|
+
])dnl
|
242
|
+
|
243
|
+
AC_MSG_CHECKING([which integrity checks to build])
|
244
|
+
AC_ARG_ENABLE([checks], AS_HELP_STRING([--enable-checks=LIST],
|
245
|
+
[Comma-separated list of integrity checks to build.
|
246
|
+
Default=all. Available integrity checks:]
|
247
|
+
m4_translit(m4_defn([SUPPORTED_CHECKS]), [,], [ ])),
|
248
|
+
[], [enable_checks=SUPPORTED_CHECKS])
|
249
|
+
enable_checks=`echo "$enable_checks" | sed 's/,/ /g'`
|
250
|
+
if test "x$enable_checks" = xno || test "x$enable_checks" = x; then
|
251
|
+
AC_MSG_RESULT([(none)])
|
252
|
+
else
|
253
|
+
for arg in $enable_checks
|
254
|
+
do
|
255
|
+
case $arg in m4_foreach([NAME], [SUPPORTED_CHECKS], [
|
256
|
+
NAME)
|
257
|
+
enable_check_[]NAME=yes
|
258
|
+
AC_DEFINE(HAVE_CHECK_[]m4_toupper(NAME), [1],
|
259
|
+
[Define to 1 if] NAME
|
260
|
+
[integrity check is enabled.])
|
261
|
+
;;])
|
262
|
+
*)
|
263
|
+
AC_MSG_RESULT([])
|
264
|
+
AC_MSG_ERROR([unknown integrity check: $arg])
|
265
|
+
;;
|
266
|
+
esac
|
267
|
+
done
|
268
|
+
AC_MSG_RESULT([$enable_checks])
|
269
|
+
fi
|
270
|
+
if test "x$enable_check_crc32" = xno ; then
|
271
|
+
AC_MSG_ERROR([For now, the CRC32 check must always be enabled.])
|
272
|
+
fi
|
273
|
+
|
274
|
+
m4_foreach([NAME], [SUPPORTED_CHECKS],
|
275
|
+
[AM_CONDITIONAL(COND_CHECK_[]m4_toupper(NAME), test "x$enable_check_[]NAME" = xyes)
|
276
|
+
])dnl
|
277
|
+
|
278
|
+
AC_MSG_CHECKING([if external SHA-256 should be used])
|
279
|
+
AC_ARG_ENABLE([external-sha256], AS_HELP_STRING([--enable-external-sha256],
|
280
|
+
[Use SHA-256 code from the operating system.
|
281
|
+
See INSTALL for possible subtle problems.]),
|
282
|
+
[], [enable_external_sha256=no])
|
283
|
+
if test "x$enable_check_sha256" != "xyes"; then
|
284
|
+
enable_external_sha256=no
|
285
|
+
fi
|
286
|
+
if test "x$enable_external_sha256" = xyes; then
|
287
|
+
AC_MSG_RESULT([yes])
|
288
|
+
else
|
289
|
+
AC_MSG_RESULT([no])
|
290
|
+
fi
|
291
|
+
|
292
|
+
|
293
|
+
###########################
|
294
|
+
# Assembler optimizations #
|
295
|
+
###########################
|
296
|
+
|
297
|
+
AC_MSG_CHECKING([if assembler optimizations should be used])
|
298
|
+
AC_ARG_ENABLE([assembler], AS_HELP_STRING([--disable-assembler],
|
299
|
+
[Do not use assembler optimizations even if such exist
|
300
|
+
for the architecture.]),
|
301
|
+
[], [enable_assembler=yes])
|
302
|
+
if test "x$enable_assembler" = xyes; then
|
303
|
+
enable_assembler=no
|
304
|
+
case $host_os in
|
305
|
+
# Darwin should work too but only if not creating universal
|
306
|
+
# binaries. Solaris x86 could work too but I cannot test.
|
307
|
+
linux* | *bsd* | mingw* | cygwin | msys | *djgpp*)
|
308
|
+
case $host_cpu in
|
309
|
+
i?86) enable_assembler=x86 ;;
|
310
|
+
x86_64) enable_assembler=x86_64 ;;
|
311
|
+
esac
|
312
|
+
;;
|
313
|
+
esac
|
314
|
+
fi
|
315
|
+
case $enable_assembler in
|
316
|
+
x86 | x86_64 | no)
|
317
|
+
AC_MSG_RESULT([$enable_assembler])
|
318
|
+
;;
|
319
|
+
*)
|
320
|
+
AC_MSG_RESULT([])
|
321
|
+
AC_MSG_ERROR([--enable-assembler accepts only `yes', `no', `x86', or `x86_64'.])
|
322
|
+
;;
|
323
|
+
esac
|
324
|
+
AM_CONDITIONAL(COND_ASM_X86, test "x$enable_assembler" = xx86)
|
325
|
+
AM_CONDITIONAL(COND_ASM_X86_64, test "x$enable_assembler" = xx86_64)
|
326
|
+
|
327
|
+
|
328
|
+
#####################
|
329
|
+
# Size optimization #
|
330
|
+
#####################
|
331
|
+
|
332
|
+
AC_MSG_CHECKING([if small size is preferred over speed])
|
333
|
+
AC_ARG_ENABLE([small], AS_HELP_STRING([--enable-small],
|
334
|
+
[Make liblzma smaller and a little slower.
|
335
|
+
This is disabled by default to optimize for speed.]),
|
336
|
+
[], [enable_small=no])
|
337
|
+
if test "x$enable_small" = xyes; then
|
338
|
+
AC_DEFINE([HAVE_SMALL], [1], [Define to 1 if optimizing for size.])
|
339
|
+
elif test "x$enable_small" != xno; then
|
340
|
+
AC_MSG_RESULT([])
|
341
|
+
AC_MSG_ERROR([--enable-small accepts only `yes' or `no'])
|
342
|
+
fi
|
343
|
+
AC_MSG_RESULT([$enable_small])
|
344
|
+
AM_CONDITIONAL(COND_SMALL, test "x$enable_small" = xyes)
|
345
|
+
|
346
|
+
|
347
|
+
#############
|
348
|
+
# Threading #
|
349
|
+
#############
|
350
|
+
|
351
|
+
AC_MSG_CHECKING([if threading support is wanted])
|
352
|
+
AC_ARG_ENABLE([threads], AS_HELP_STRING([--enable-threads=METHOD],
|
353
|
+
[Supported METHODS are `yes', `no', `posix', `win95', and
|
354
|
+
`vista'. The default is `yes'. Using `no' together with
|
355
|
+
--enable-small makes liblzma thread unsafe.]),
|
356
|
+
[], [enable_threads=yes])
|
357
|
+
|
358
|
+
if test "x$enable_threads" = xyes; then
|
359
|
+
case $host_os in
|
360
|
+
mingw*)
|
361
|
+
case $host_cpu in
|
362
|
+
i?86) enable_threads=win95 ;;
|
363
|
+
*) enable_threads=vista ;;
|
364
|
+
esac
|
365
|
+
;;
|
366
|
+
*)
|
367
|
+
enable_threads=posix
|
368
|
+
;;
|
369
|
+
esac
|
370
|
+
fi
|
371
|
+
|
372
|
+
case $enable_threads in
|
373
|
+
posix | win95 | vista)
|
374
|
+
AC_MSG_RESULT([yes, $enable_threads])
|
375
|
+
;;
|
376
|
+
no)
|
377
|
+
AC_MSG_RESULT([no])
|
378
|
+
;;
|
379
|
+
*)
|
380
|
+
AC_MSG_RESULT([])
|
381
|
+
AC_MSG_ERROR([--enable-threads only accepts `yes', `no', `posix', `win95', or `vista'])
|
382
|
+
;;
|
383
|
+
esac
|
384
|
+
|
385
|
+
# The Win95 threading lacks thread-safe one-time initialization function.
|
386
|
+
# It's better to disallow it instead of allowing threaded but thread-unsafe
|
387
|
+
# build.
|
388
|
+
if test "x$enable_small$enable_threads" = xyeswin95; then
|
389
|
+
AC_MSG_ERROR([--enable-threads=win95 and --enable-small cannot be
|
390
|
+
used at the same time])
|
391
|
+
fi
|
392
|
+
|
393
|
+
# We use the actual result a little later.
|
394
|
+
|
395
|
+
|
396
|
+
#########################
|
397
|
+
# Assumed amount of RAM #
|
398
|
+
#########################
|
399
|
+
|
400
|
+
# We use 128 MiB as default, because it will allow decompressing files
|
401
|
+
# created with "xz -9". It would be slightly safer to guess a lower value,
|
402
|
+
# but most systems, on which we don't have any way to determine the amount
|
403
|
+
# of RAM, will probably have at least 128 MiB of RAM.
|
404
|
+
AC_MSG_CHECKING([how much RAM to assume if the real amount is unknown])
|
405
|
+
AC_ARG_ENABLE([assume-ram], AS_HELP_STRING([--enable-assume-ram=SIZE],
|
406
|
+
[If and only if the real amount of RAM cannot be determined,
|
407
|
+
assume SIZE MiB. The default is 128 MiB. This affects the
|
408
|
+
default memory usage limit.]),
|
409
|
+
[], [enable_assume_ram=128])
|
410
|
+
assume_ram_check=`echo "$enable_assume_ram" | tr -d 0123456789`
|
411
|
+
if test -z "$enable_assume_ram" || test -n "$assume_ram_check"; then
|
412
|
+
AC_MSG_RESULT([])
|
413
|
+
AC_MSG_ERROR([--enable-assume-ram accepts only an integer argument])
|
414
|
+
fi
|
415
|
+
AC_MSG_RESULT([$enable_assume_ram MiB])
|
416
|
+
AC_DEFINE_UNQUOTED([ASSUME_RAM], [$enable_assume_ram],
|
417
|
+
[How many MiB of RAM to assume if the real amount cannot
|
418
|
+
be determined.])
|
419
|
+
|
420
|
+
|
421
|
+
#########################
|
422
|
+
# Components to install #
|
423
|
+
#########################
|
424
|
+
|
425
|
+
AC_ARG_ENABLE([xz], [AS_HELP_STRING([--disable-xz],
|
426
|
+
[do not build the xz tool])],
|
427
|
+
[], [enable_xz=yes])
|
428
|
+
AM_CONDITIONAL([COND_XZ], [test x$enable_xz != xno])
|
429
|
+
|
430
|
+
AC_ARG_ENABLE([xzdec], [AS_HELP_STRING([--disable-xzdec],
|
431
|
+
[do not build xzdec])],
|
432
|
+
[], [enable_xzdec=yes])
|
433
|
+
test "x$enable_decoders" = xno && enable_xzdec=no
|
434
|
+
AM_CONDITIONAL([COND_XZDEC], [test x$enable_xzdec != xno])
|
435
|
+
|
436
|
+
AC_ARG_ENABLE([lzmadec], [AS_HELP_STRING([--disable-lzmadec],
|
437
|
+
[do not build lzmadec
|
438
|
+
(it exists primarily for LZMA Utils compatibility)])],
|
439
|
+
[], [enable_lzmadec=yes])
|
440
|
+
test "x$enable_decoder_lzma1" = xno && enable_lzmadec=no
|
441
|
+
AM_CONDITIONAL([COND_LZMADEC], [test x$enable_lzmadec != xno])
|
442
|
+
|
443
|
+
AC_ARG_ENABLE([lzmainfo], [AS_HELP_STRING([--disable-lzmainfo],
|
444
|
+
[do not build lzmainfo
|
445
|
+
(it exists primarily for LZMA Utils compatibility)])],
|
446
|
+
[], [enable_lzmainfo=yes])
|
447
|
+
test "x$enable_decoder_lzma1" = xno && enable_lzmainfo=no
|
448
|
+
AM_CONDITIONAL([COND_LZMAINFO], [test x$enable_lzmainfo != xno])
|
449
|
+
|
450
|
+
AC_ARG_ENABLE([lzma-links], [AS_HELP_STRING([--disable-lzma-links],
|
451
|
+
[do not create symlinks for LZMA Utils compatibility])],
|
452
|
+
[], [enable_lzma_links=yes])
|
453
|
+
AM_CONDITIONAL([COND_LZMALINKS], [test x$enable_lzma_links != xno])
|
454
|
+
|
455
|
+
AC_ARG_ENABLE([scripts], [AS_HELP_STRING([--disable-scripts],
|
456
|
+
[do not install the scripts xzdiff, xzgrep, xzless, xzmore,
|
457
|
+
and their symlinks])],
|
458
|
+
[], [enable_scripts=yes])
|
459
|
+
AM_CONDITIONAL([COND_SCRIPTS], [test x$enable_scripts != xno])
|
460
|
+
|
461
|
+
AC_ARG_ENABLE([doc], [AS_HELP_STRING([--disable-doc],
|
462
|
+
[do not install documentation files to docdir
|
463
|
+
(man pages will still be installed)])],
|
464
|
+
[], [enable_doc=yes])
|
465
|
+
AM_CONDITIONAL([COND_DOC], [test x$enable_doc != xno])
|
466
|
+
|
467
|
+
|
468
|
+
#####################
|
469
|
+
# Symbol versioning #
|
470
|
+
#####################
|
471
|
+
|
472
|
+
AC_MSG_CHECKING([if library symbol versioning should be used])
|
473
|
+
AC_ARG_ENABLE([symbol-versions], [AS_HELP_STRING([--enable-symbol-versions],
|
474
|
+
[Use symbol versioning for liblzma. Enabled by default on
|
475
|
+
GNU/Linux, other GNU-based systems, and FreeBSD.])],
|
476
|
+
[], [enable_symbol_versions=auto])
|
477
|
+
if test "x$enable_symbol_versions" = xauto; then
|
478
|
+
case $host_os in
|
479
|
+
# NOTE: Even if one omits -gnu on GNU/Linux (e.g.
|
480
|
+
# i486-slackware-linux), configure will (via config.sub)
|
481
|
+
# append -gnu (e.g. i486-slackware-linux-gnu), and this
|
482
|
+
# test will work correctly.
|
483
|
+
gnu* | *-gnu* | freebsd*)
|
484
|
+
enable_symbol_versions=yes
|
485
|
+
;;
|
486
|
+
*)
|
487
|
+
enable_symbol_versions=no
|
488
|
+
;;
|
489
|
+
esac
|
490
|
+
fi
|
491
|
+
AC_MSG_RESULT([$enable_symbol_versions])
|
492
|
+
AM_CONDITIONAL([COND_SYMVERS], [test "x$enable_symbol_versions" = xyes])
|
493
|
+
|
494
|
+
|
495
|
+
##############
|
496
|
+
# Sandboxing #
|
497
|
+
##############
|
498
|
+
|
499
|
+
AC_MSG_CHECKING([if sandboxing should be used])
|
500
|
+
AC_ARG_ENABLE([sandbox], [AS_HELP_STRING([--enable-sandbox=METHOD],
|
501
|
+
[This is an experimental feature.
|
502
|
+
Sandboxing METHOD can be `auto', `no', or `capsicum'.
|
503
|
+
The default is `no'.])],
|
504
|
+
[], [enable_sandbox=no])
|
505
|
+
case $enable_sandbox in
|
506
|
+
auto)
|
507
|
+
AC_MSG_RESULT([maybe (autodetect)])
|
508
|
+
;;
|
509
|
+
no | capsicum)
|
510
|
+
AC_MSG_RESULT([$enable_sandbox])
|
511
|
+
;;
|
512
|
+
*)
|
513
|
+
AC_MSG_RESULT([])
|
514
|
+
AC_MSG_ERROR([--enable-sandbox only accepts `auto', `no', or `capsicum'.])
|
515
|
+
;;
|
516
|
+
esac
|
517
|
+
|
518
|
+
|
519
|
+
###############################################################################
|
520
|
+
# Checks for programs.
|
521
|
+
###############################################################################
|
522
|
+
|
523
|
+
echo
|
524
|
+
gl_POSIX_SHELL
|
525
|
+
if test -z "$POSIX_SHELL" && test "x$enable_scripts" = xyes ; then
|
526
|
+
AC_MSG_ERROR([No POSIX conforming shell (sh) was found.])
|
527
|
+
fi
|
528
|
+
|
529
|
+
echo
|
530
|
+
echo "Initializing Automake:"
|
531
|
+
|
532
|
+
# We don't use "subdir-objects" yet because it breaks "make distclean" when
|
533
|
+
# dependencies are enabled (as of Automake 1.14.1) due to this bug:
|
534
|
+
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354
|
535
|
+
# The -Wno-unsupported is used to silence warnings about missing
|
536
|
+
# "subdir-objects".
|
537
|
+
AM_INIT_AUTOMAKE([1.12 foreign tar-v7 filename-length-max=99 serial-tests -Wno-unsupported])
|
538
|
+
AC_PROG_LN_S
|
539
|
+
|
540
|
+
AC_PROG_CC_C99
|
541
|
+
if test x$ac_cv_prog_cc_c99 = xno ; then
|
542
|
+
AC_MSG_ERROR([No C99 compiler was found.])
|
543
|
+
fi
|
544
|
+
|
545
|
+
AM_PROG_CC_C_O
|
546
|
+
AM_PROG_AS
|
547
|
+
AC_USE_SYSTEM_EXTENSIONS
|
548
|
+
|
549
|
+
case $enable_threads in
|
550
|
+
posix)
|
551
|
+
echo
|
552
|
+
echo "POSIX threading support:"
|
553
|
+
AX_PTHREAD([:]) dnl We don't need the HAVE_PTHREAD macro.
|
554
|
+
LIBS="$LIBS $PTHREAD_LIBS"
|
555
|
+
AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS"
|
556
|
+
|
557
|
+
dnl NOTE: PTHREAD_CC is ignored. It would be useful on AIX,
|
558
|
+
dnl but it's tricky to get it right together with
|
559
|
+
dnl AC_PROG_CC_C99. Thus, this is handled by telling the
|
560
|
+
dnl user in INSTALL to set the correct CC manually.
|
561
|
+
|
562
|
+
AC_DEFINE([MYTHREAD_POSIX], [1],
|
563
|
+
[Define to 1 when using POSIX threads (pthreads).])
|
564
|
+
|
565
|
+
# These are nice to have but not mandatory.
|
566
|
+
#
|
567
|
+
# FIXME: xz uses clock_gettime if it is available and can do
|
568
|
+
# it even when threading is disabled. Moving this outside
|
569
|
+
# of pthread detection may be undesirable because then
|
570
|
+
# liblzma may get linked against librt even when librt isn't
|
571
|
+
# needed by liblzma.
|
572
|
+
OLD_CFLAGS=$CFLAGS
|
573
|
+
CFLAGS="$CFLAGS $PTHREAD_CFLAGS"
|
574
|
+
AC_SEARCH_LIBS([clock_gettime], [rt])
|
575
|
+
AC_CHECK_FUNCS([clock_gettime pthread_condattr_setclock])
|
576
|
+
AC_CHECK_DECLS([CLOCK_MONOTONIC], [], [], [[#include <time.h>]])
|
577
|
+
CFLAGS=$OLD_CFLAGS
|
578
|
+
;;
|
579
|
+
win95)
|
580
|
+
AC_DEFINE([MYTHREAD_WIN95], [1], [Define to 1 when using
|
581
|
+
Windows 95 (and thus XP) compatible threads.
|
582
|
+
This avoids use of features that were added in
|
583
|
+
Windows Vista.])
|
584
|
+
;;
|
585
|
+
vista)
|
586
|
+
AC_DEFINE([MYTHREAD_VISTA], [1], [Define to 1 when using
|
587
|
+
Windows Vista compatible threads. This uses
|
588
|
+
features that are not available on Windows XP.])
|
589
|
+
;;
|
590
|
+
esac
|
591
|
+
AM_CONDITIONAL([COND_THREADS], [test "x$enable_threads" != xno])
|
592
|
+
|
593
|
+
echo
|
594
|
+
echo "Initializing Libtool:"
|
595
|
+
LT_PREREQ([2.2])
|
596
|
+
LT_INIT([win32-dll])
|
597
|
+
LT_LANG([Windows Resource])
|
598
|
+
|
599
|
+
# This is a bit wrong since it is possible to request that only some libs
|
600
|
+
# are built as shared. Using that feature isn't so common though, and this
|
601
|
+
# breaks only on Windows (at least for now) if the user enables only some
|
602
|
+
# libs as shared.
|
603
|
+
AM_CONDITIONAL([COND_SHARED], [test "x$enable_shared" != xno])
|
604
|
+
|
605
|
+
|
606
|
+
###############################################################################
|
607
|
+
# Checks for libraries.
|
608
|
+
###############################################################################
|
609
|
+
|
610
|
+
echo
|
611
|
+
echo "Initializing gettext:"
|
612
|
+
AM_GNU_GETTEXT_VERSION([0.19])
|
613
|
+
AM_GNU_GETTEXT([external])
|
614
|
+
|
615
|
+
|
616
|
+
###############################################################################
|
617
|
+
# Checks for header files.
|
618
|
+
###############################################################################
|
619
|
+
|
620
|
+
echo
|
621
|
+
echo "System headers and functions:"
|
622
|
+
|
623
|
+
# There is currently no workarounds in this package if some of
|
624
|
+
# these headers are missing.
|
625
|
+
AC_CHECK_HEADERS([fcntl.h limits.h sys/time.h],
|
626
|
+
[],
|
627
|
+
[AC_MSG_ERROR([Required header file(s) are missing.])])
|
628
|
+
|
629
|
+
# This allows the use of the intrinsic functions if they are available.
|
630
|
+
AC_CHECK_HEADERS([immintrin.h])
|
631
|
+
|
632
|
+
|
633
|
+
###############################################################################
|
634
|
+
# Checks for typedefs, structures, and compiler characteristics.
|
635
|
+
###############################################################################
|
636
|
+
|
637
|
+
dnl We don't need these as long as we need a C99 compiler anyway.
|
638
|
+
dnl AC_C_INLINE
|
639
|
+
dnl AC_C_RESTRICT
|
640
|
+
|
641
|
+
AC_HEADER_STDBOOL
|
642
|
+
|
643
|
+
AC_TYPE_UINT8_T
|
644
|
+
AC_TYPE_UINT16_T
|
645
|
+
AC_TYPE_INT32_T
|
646
|
+
AC_TYPE_UINT32_T
|
647
|
+
AC_TYPE_INT64_T
|
648
|
+
AC_TYPE_UINT64_T
|
649
|
+
AC_TYPE_UINTPTR_T
|
650
|
+
|
651
|
+
AC_CHECK_SIZEOF([size_t])
|
652
|
+
|
653
|
+
# The command line tool can copy high resolution timestamps if such
|
654
|
+
# information is available in struct stat. Otherwise one second accuracy
|
655
|
+
# is used.
|
656
|
+
AC_CHECK_MEMBERS([
|
657
|
+
struct stat.st_atim.tv_nsec,
|
658
|
+
struct stat.st_atimespec.tv_nsec,
|
659
|
+
struct stat.st_atimensec,
|
660
|
+
struct stat.st_uatime,
|
661
|
+
struct stat.st_atim.st__tim.tv_nsec])
|
662
|
+
|
663
|
+
AC_SYS_LARGEFILE
|
664
|
+
AC_C_BIGENDIAN
|
665
|
+
|
666
|
+
|
667
|
+
###############################################################################
|
668
|
+
# Checks for library functions.
|
669
|
+
###############################################################################
|
670
|
+
|
671
|
+
# Gnulib replacements as needed
|
672
|
+
gl_GETOPT
|
673
|
+
|
674
|
+
# Find the best function to set timestamps.
|
675
|
+
AC_CHECK_FUNCS([futimens futimes futimesat utimes _futime utime], [break])
|
676
|
+
|
677
|
+
# This is nice to have but not mandatory.
|
678
|
+
AC_CHECK_FUNCS([posix_fadvise])
|
679
|
+
|
680
|
+
TUKLIB_PROGNAME
|
681
|
+
TUKLIB_INTEGER
|
682
|
+
TUKLIB_PHYSMEM
|
683
|
+
TUKLIB_CPUCORES
|
684
|
+
TUKLIB_MBSTR
|
685
|
+
|
686
|
+
# If requsted, check for system-provided SHA-256. At least the following
|
687
|
+
# implementations are supported:
|
688
|
+
#
|
689
|
+
# OS Headers Library Type Function
|
690
|
+
# FreeBSD sys/types.h + sha256.h libmd SHA256_CTX SHA256_Init
|
691
|
+
# NetBSD sys/types.h + sha2.h SHA256_CTX SHA256_Init
|
692
|
+
# OpenBSD sys/types.h + sha2.h SHA2_CTX SHA256Init
|
693
|
+
# Solaris sys/types.h + sha2.h libmd SHA256_CTX SHA256Init
|
694
|
+
# MINIX 3 sys/types.h + sha2.h SHA256_CTX SHA256_Init
|
695
|
+
# Darwin CommonCrypto/CommonDigest.h CC_SHA256_CTX CC_SHA256_Init
|
696
|
+
#
|
697
|
+
# Note that Darwin's CC_SHA256_Update takes buffer size as uint32_t instead
|
698
|
+
# of size_t.
|
699
|
+
#
|
700
|
+
sha256_header_found=no
|
701
|
+
sha256_type_found=no
|
702
|
+
sha256_func_found=no
|
703
|
+
if test "x$enable_external_sha256" = "xyes"; then
|
704
|
+
# Test for Common Crypto before others, because Darwin has sha256.h
|
705
|
+
# too and we don't want to use that, because on older versions it
|
706
|
+
# uses OpenSSL functions, whose SHA256_Init is not guaranteed to
|
707
|
+
# succeed.
|
708
|
+
AC_CHECK_HEADERS(
|
709
|
+
[CommonCrypto/CommonDigest.h sha256.h sha2.h],
|
710
|
+
[sha256_header_found=yes ; break])
|
711
|
+
if test "x$sha256_header_found" = xyes; then
|
712
|
+
AC_CHECK_TYPES([CC_SHA256_CTX, SHA256_CTX, SHA2_CTX],
|
713
|
+
[sha256_type_found=yes], [],
|
714
|
+
[[#ifdef HAVE_SYS_TYPES_H
|
715
|
+
# include <sys/types.h>
|
716
|
+
#endif
|
717
|
+
#ifdef HAVE_COMMONCRYPTO_COMMONDIGEST_H
|
718
|
+
# include <CommonCrypto/CommonDigest.h>
|
719
|
+
#endif
|
720
|
+
#ifdef HAVE_SHA256_H
|
721
|
+
# include <sha256.h>
|
722
|
+
#endif
|
723
|
+
#ifdef HAVE_SHA2_H
|
724
|
+
# include <sha2.h>
|
725
|
+
#endif]])
|
726
|
+
if test "x$sha256_type_found" = xyes ; then
|
727
|
+
AC_SEARCH_LIBS([SHA256Init], [md])
|
728
|
+
AC_SEARCH_LIBS([SHA256_Init], [md])
|
729
|
+
AC_CHECK_FUNCS([CC_SHA256_Init SHA256Init SHA256_Init],
|
730
|
+
[sha256_func_found=yes ; break])
|
731
|
+
fi
|
732
|
+
fi
|
733
|
+
fi
|
734
|
+
AM_CONDITIONAL([COND_INTERNAL_SHA256], [test "x$sha256_func_found" = xno])
|
735
|
+
if test "x$enable_external_sha256$sha256_func_found" = xyesno; then
|
736
|
+
AC_MSG_ERROR([--enable-external-sha256 was specified but no supported external SHA-256 implementation was found])
|
737
|
+
fi
|
738
|
+
|
739
|
+
# Check for SSE2 intrinsics.
|
740
|
+
AC_CHECK_DECL([_mm_movemask_epi8],
|
741
|
+
[AC_DEFINE([HAVE__MM_MOVEMASK_EPI8], [1],
|
742
|
+
[Define to 1 if _mm_movemask_epi8 is available.])],
|
743
|
+
[],
|
744
|
+
[#ifdef HAVE_IMMINTRIN_H
|
745
|
+
#include <immintrin.h>
|
746
|
+
#endif])
|
747
|
+
|
748
|
+
# Check for sandbox support. If one is found, set enable_sandbox=found.
|
749
|
+
case $enable_sandbox in
|
750
|
+
auto | capsicum)
|
751
|
+
AX_CHECK_CAPSICUM([enable_sandbox=found], [:])
|
752
|
+
;;
|
753
|
+
esac
|
754
|
+
|
755
|
+
# If a specific sandboxing method was explicitly requested and it wasn't
|
756
|
+
# found, give an error.
|
757
|
+
case $enable_sandbox in
|
758
|
+
auto | no | found)
|
759
|
+
;;
|
760
|
+
*)
|
761
|
+
AC_MSG_ERROR([$enable_sandbox support not found])
|
762
|
+
;;
|
763
|
+
esac
|
764
|
+
|
765
|
+
|
766
|
+
###############################################################################
|
767
|
+
# If using GCC, set some additional AM_CFLAGS:
|
768
|
+
###############################################################################
|
769
|
+
|
770
|
+
if test "$GCC" = yes ; then
|
771
|
+
echo
|
772
|
+
echo "GCC extensions:"
|
773
|
+
fi
|
774
|
+
|
775
|
+
# Always do the visibility check but don't set AM_CFLAGS on Windows.
|
776
|
+
# This way things get set properly even on Windows.
|
777
|
+
gl_VISIBILITY
|
778
|
+
if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then
|
779
|
+
AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY"
|
780
|
+
fi
|
781
|
+
|
782
|
+
if test "$GCC" = yes ; then
|
783
|
+
# Enable as much warnings as possible. These commented warnings won't
|
784
|
+
# work for this package though:
|
785
|
+
# * -Wunreachable-code breaks several assert(0) cases, which are
|
786
|
+
# backed up with "return LZMA_PROG_ERROR".
|
787
|
+
# * -Wcast-qual would break various things where we need a non-const
|
788
|
+
# pointer although we don't modify anything through it.
|
789
|
+
# * -Wcast-align breaks optimized CRC32 and CRC64 implementation
|
790
|
+
# on some architectures (not on x86), where this warning is bogus,
|
791
|
+
# because we take care of correct alignment.
|
792
|
+
# * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations
|
793
|
+
# don't seem so useful here; at least the last one gives some
|
794
|
+
# warnings which are not bugs.
|
795
|
+
for NEW_FLAG in \
|
796
|
+
-Wall \
|
797
|
+
-Wextra \
|
798
|
+
-Wvla \
|
799
|
+
-Wformat=2 \
|
800
|
+
-Winit-self \
|
801
|
+
-Wmissing-include-dirs \
|
802
|
+
-Wstrict-aliasing \
|
803
|
+
-Wfloat-equal \
|
804
|
+
-Wundef \
|
805
|
+
-Wshadow \
|
806
|
+
-Wpointer-arith \
|
807
|
+
-Wbad-function-cast \
|
808
|
+
-Wwrite-strings \
|
809
|
+
-Wlogical-op \
|
810
|
+
-Waggregate-return \
|
811
|
+
-Wstrict-prototypes \
|
812
|
+
-Wold-style-definition \
|
813
|
+
-Wmissing-prototypes \
|
814
|
+
-Wmissing-declarations \
|
815
|
+
-Wmissing-noreturn \
|
816
|
+
-Wredundant-decls
|
817
|
+
do
|
818
|
+
AC_MSG_CHECKING([if $CC accepts $NEW_FLAG])
|
819
|
+
OLD_CFLAGS="$CFLAGS"
|
820
|
+
CFLAGS="$CFLAGS $NEW_FLAG -Werror"
|
821
|
+
AC_COMPILE_IFELSE([AC_LANG_SOURCE(
|
822
|
+
[void foo(void); void foo(void) { }])], [
|
823
|
+
AM_CFLAGS="$AM_CFLAGS $NEW_FLAG"
|
824
|
+
AC_MSG_RESULT([yes])
|
825
|
+
], [
|
826
|
+
AC_MSG_RESULT([no])
|
827
|
+
])
|
828
|
+
CFLAGS="$OLD_CFLAGS"
|
829
|
+
done
|
830
|
+
|
831
|
+
AC_ARG_ENABLE([werror],
|
832
|
+
AS_HELP_STRING([--enable-werror], [Enable -Werror to abort
|
833
|
+
compilation on all compiler warnings.]),
|
834
|
+
[], [enable_werror=no])
|
835
|
+
if test "x$enable_werror" = "xyes"; then
|
836
|
+
AM_CFLAGS="$AM_CFLAGS -Werror"
|
837
|
+
fi
|
838
|
+
fi
|
839
|
+
|
840
|
+
|
841
|
+
###############################################################################
|
842
|
+
# Create the makefiles and config.h
|
843
|
+
###############################################################################
|
844
|
+
|
845
|
+
echo
|
846
|
+
|
847
|
+
# Don't build the lib directory at all if we don't need any replacement
|
848
|
+
# functions.
|
849
|
+
AM_CONDITIONAL([COND_GNULIB], test -n "$LIBOBJS")
|
850
|
+
|
851
|
+
# Add default AM_CFLAGS.
|
852
|
+
AC_SUBST([AM_CFLAGS])
|
853
|
+
|
854
|
+
# This is needed for src/scripts.
|
855
|
+
xz=`echo xz | sed "$program_transform_name"`
|
856
|
+
AC_SUBST([xz])
|
857
|
+
|
858
|
+
AC_CONFIG_FILES([
|
859
|
+
Doxyfile
|
860
|
+
Makefile
|
861
|
+
po/Makefile.in
|
862
|
+
lib/Makefile
|
863
|
+
src/Makefile
|
864
|
+
src/liblzma/Makefile
|
865
|
+
src/liblzma/api/Makefile
|
866
|
+
src/xz/Makefile
|
867
|
+
src/xzdec/Makefile
|
868
|
+
src/lzmainfo/Makefile
|
869
|
+
src/scripts/Makefile
|
870
|
+
tests/Makefile
|
871
|
+
debug/Makefile
|
872
|
+
])
|
873
|
+
AC_CONFIG_FILES([src/scripts/xzdiff], [chmod +x src/scripts/xzdiff])
|
874
|
+
AC_CONFIG_FILES([src/scripts/xzgrep], [chmod +x src/scripts/xzgrep])
|
875
|
+
AC_CONFIG_FILES([src/scripts/xzmore], [chmod +x src/scripts/xzmore])
|
876
|
+
AC_CONFIG_FILES([src/scripts/xzless], [chmod +x src/scripts/xzless])
|
877
|
+
|
878
|
+
AC_OUTPUT
|
879
|
+
|
880
|
+
# Some warnings
|
881
|
+
if test x$tuklib_cv_physmem_method = xunknown; then
|
882
|
+
echo
|
883
|
+
echo "WARNING:"
|
884
|
+
echo "No supported method to detect the amount of RAM."
|
885
|
+
echo "Consider using --enable-assume-ram (if you didn't already)"
|
886
|
+
echo "or make a patch to add support for this operating system."
|
887
|
+
fi
|
888
|
+
|
889
|
+
if test x$tuklib_cv_cpucores_method = xunknown; then
|
890
|
+
echo
|
891
|
+
echo "WARNING:"
|
892
|
+
echo "No supported method to detect the number of CPU cores."
|
893
|
+
fi
|
894
|
+
|
895
|
+
if test "x$enable_threads$enable_small" = xnoyes; then
|
896
|
+
echo
|
897
|
+
echo "NOTE:"
|
898
|
+
echo "liblzma will be thread unsafe due the combination"
|
899
|
+
echo "of --disable-threads --enable-small."
|
900
|
+
fi
|