From f63732007b6a055afad48521b678be0a9c0ed7ae Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 19 Apr 2014 22:09:10 +0000 Subject: messed up xz timestamps, better retrieved from original anyway git-svn-id: svn://tug.org/texlive/trunk@33544 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/extra/xz/ABOUT-NLS | 1327 -- Build/source/extra/xz/AUTHORS | 27 - Build/source/extra/xz/COPYING | 65 - Build/source/extra/xz/COPYING.GPLv2 | 339 - Build/source/extra/xz/COPYING.GPLv3 | 674 - Build/source/extra/xz/COPYING.LGPLv2.1 | 504 - Build/source/extra/xz/ChangeLog | 11769 ----------- Build/source/extra/xz/Doxyfile.in | 1234 -- Build/source/extra/xz/INSTALL | 465 - Build/source/extra/xz/INSTALL.generic | 365 - Build/source/extra/xz/Makefile.am | 105 - Build/source/extra/xz/Makefile.in | 1055 - Build/source/extra/xz/NEWS | 215 - Build/source/extra/xz/PACKAGERS | 231 - Build/source/extra/xz/README | 308 - Build/source/extra/xz/THANKS | 95 - Build/source/extra/xz/TODO | 67 - Build/source/extra/xz/aclocal.m4 | 1225 -- Build/source/extra/xz/autogen.sh | 22 - Build/source/extra/xz/build-aux/compile | 347 - Build/source/extra/xz/build-aux/config.guess | 1420 -- Build/source/extra/xz/build-aux/config.rpath | 672 - Build/source/extra/xz/build-aux/config.sub | 1790 -- Build/source/extra/xz/build-aux/depcomp | 756 - Build/source/extra/xz/build-aux/install-sh | 480 - Build/source/extra/xz/build-aux/ltmain.sh | 9655 --------- Build/source/extra/xz/build-aux/manconv.sh | 58 - Build/source/extra/xz/build-aux/missing | 215 - Build/source/extra/xz/build-aux/version.sh | 24 - Build/source/extra/xz/config.h.in | 425 - Build/source/extra/xz/configure | 21095 ------------------- Build/source/extra/xz/configure.ac | 661 - Build/source/extra/xz/debug/Makefile.am | 30 - Build/source/extra/xz/debug/Makefile.in | 691 - Build/source/extra/xz/debug/README | 17 - Build/source/extra/xz/debug/crc32.c | 39 - Build/source/extra/xz/debug/full_flush.c | 102 - Build/source/extra/xz/debug/hex2bin.c | 53 - Build/source/extra/xz/debug/known_sizes.c | 129 - Build/source/extra/xz/debug/memusage.c | 51 - Build/source/extra/xz/debug/repeat.c | 36 - Build/source/extra/xz/debug/sync_flush.c | 124 - Build/source/extra/xz/debug/translation.bash | 100 - Build/source/extra/xz/doc/examples/00_README.txt | 27 - .../extra/xz/doc/examples/01_compress_easy.c | 297 - Build/source/extra/xz/doc/examples/02_decompress.c | 287 - .../extra/xz/doc/examples/03_compress_custom.c | 193 - Build/source/extra/xz/doc/examples/Makefile | 23 - .../extra/xz/doc/examples_old/xz_pipe_comp.c | 127 - .../extra/xz/doc/examples_old/xz_pipe_decomp.c | 123 - Build/source/extra/xz/doc/faq.txt | 224 - Build/source/extra/xz/doc/history.txt | 150 - Build/source/extra/xz/doc/lzma-file-format.txt | 166 - .../source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf | Bin 4452 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf | Bin 74463 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf | Bin 6700 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf | Bin 4325 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf | Bin 4512 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf | Bin 4420 -> 0 bytes Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf | Bin 4301 -> 0 bytes .../xz/doc/man/pdf-letter/lzmainfo-letter.pdf | Bin 4446 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xz-letter.pdf | Bin 76212 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xzdec-letter.pdf | Bin 6691 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf | Bin 4358 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf | Bin 4531 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xzless-letter.pdf | Bin 4407 -> 0 bytes .../extra/xz/doc/man/pdf-letter/xzmore-letter.pdf | Bin 4304 -> 0 bytes Build/source/extra/xz/doc/man/txt/lzmainfo.txt | 40 - Build/source/extra/xz/doc/man/txt/xz.txt | 1377 -- Build/source/extra/xz/doc/man/txt/xzdec.txt | 80 - Build/source/extra/xz/doc/man/txt/xzdiff.txt | 36 - Build/source/extra/xz/doc/man/txt/xzgrep.txt | 39 - Build/source/extra/xz/doc/man/txt/xzless.txt | 39 - Build/source/extra/xz/doc/man/txt/xzmore.txt | 34 - Build/source/extra/xz/doc/xz-file-format.txt | 1150 - Build/source/extra/xz/dos/Makefile | 146 - Build/source/extra/xz/dos/README | 88 - Build/source/extra/xz/dos/config.h | 130 - Build/source/extra/xz/extra/7z2lzma/7z2lzma.bash | 115 - Build/source/extra/xz/extra/scanlzma/scanlzma.c | 84 - Build/source/extra/xz/lib/Makefile.am | 32 - Build/source/extra/xz/lib/Makefile.in | 566 - Build/source/extra/xz/lib/getopt.c | 1197 -- Build/source/extra/xz/lib/getopt.in.h | 226 - Build/source/extra/xz/lib/getopt1.c | 171 - Build/source/extra/xz/lib/getopt_int.h | 131 - Build/source/extra/xz/m4/ax_pthread.m4 | 309 - Build/source/extra/xz/m4/getopt.m4 | 71 - Build/source/extra/xz/m4/gettext.m4 | 383 - Build/source/extra/xz/m4/iconv.m4 | 199 - Build/source/extra/xz/m4/intlmacosx.m4 | 51 - Build/source/extra/xz/m4/lib-ld.m4 | 110 - Build/source/extra/xz/m4/lib-link.m4 | 774 - Build/source/extra/xz/m4/lib-prefix.m4 | 224 - Build/source/extra/xz/m4/libtool.m4 | 7982 ------- Build/source/extra/xz/m4/ltoptions.m4 | 384 - Build/source/extra/xz/m4/ltsugar.m4 | 123 - Build/source/extra/xz/m4/ltversion.m4 | 23 - Build/source/extra/xz/m4/lt~obsolete.m4 | 98 - Build/source/extra/xz/m4/nls.m4 | 32 - Build/source/extra/xz/m4/po.m4 | 449 - Build/source/extra/xz/m4/posix-shell.m4 | 63 - Build/source/extra/xz/m4/progtest.m4 | 92 - Build/source/extra/xz/m4/tuklib_common.m4 | 22 - Build/source/extra/xz/m4/tuklib_cpucores.m4 | 105 - Build/source/extra/xz/m4/tuklib_integer.m4 | 74 - Build/source/extra/xz/m4/tuklib_mbstr.m4 | 30 - Build/source/extra/xz/m4/tuklib_physmem.m4 | 211 - Build/source/extra/xz/m4/tuklib_progname.m4 | 25 - Build/source/extra/xz/m4/visibility.m4 | 74 - Build/source/extra/xz/macosx/build.sh | 92 - Build/source/extra/xz/po/LINGUAS | 5 - Build/source/extra/xz/po/Makefile.in.in | 444 - Build/source/extra/xz/po/Makevars | 46 - Build/source/extra/xz/po/POTFILES.in | 13 - Build/source/extra/xz/po/Rules-quot | 47 - Build/source/extra/xz/po/boldquot.sed | 10 - Build/source/extra/xz/po/cs.gmo | Bin 21945 -> 0 bytes Build/source/extra/xz/po/cs.po | 885 - Build/source/extra/xz/po/de.gmo | Bin 22199 -> 0 bytes Build/source/extra/xz/po/de.po | 850 - Build/source/extra/xz/po/en@boldquot.header | 25 - Build/source/extra/xz/po/en@quot.header | 22 - Build/source/extra/xz/po/fr.gmo | Bin 22435 -> 0 bytes Build/source/extra/xz/po/fr.po | 863 - Build/source/extra/xz/po/insert-header.sin | 23 - Build/source/extra/xz/po/it.gmo | Bin 22174 -> 0 bytes Build/source/extra/xz/po/it.po | 848 - Build/source/extra/xz/po/pl.gmo | Bin 21850 -> 0 bytes Build/source/extra/xz/po/pl.po | 839 - Build/source/extra/xz/po/quot.sed | 6 - Build/source/extra/xz/po/remove-potcdate.sin | 19 - Build/source/extra/xz/po/stamp-po | 1 - Build/source/extra/xz/po/xz.pot | 750 - Build/source/extra/xz/src/Makefile.am | 22 - Build/source/extra/xz/src/Makefile.in | 653 - Build/source/extra/xz/src/common/common_w32res.rc | 50 - Build/source/extra/xz/src/common/mythread.h | 42 - Build/source/extra/xz/src/common/sysdefs.h | 192 - Build/source/extra/xz/src/common/tuklib_common.h | 71 - Build/source/extra/xz/src/common/tuklib_config.h | 7 - Build/source/extra/xz/src/common/tuklib_cpucores.c | 62 - Build/source/extra/xz/src/common/tuklib_cpucores.h | 23 - Build/source/extra/xz/src/common/tuklib_exit.c | 57 - Build/source/extra/xz/src/common/tuklib_exit.h | 25 - Build/source/extra/xz/src/common/tuklib_gettext.h | 44 - Build/source/extra/xz/src/common/tuklib_integer.h | 523 - Build/source/extra/xz/src/common/tuklib_mbstr.h | 66 - Build/source/extra/xz/src/common/tuklib_mbstr_fw.c | 31 - .../extra/xz/src/common/tuklib_mbstr_width.c | 64 - .../extra/xz/src/common/tuklib_open_stdxxx.c | 57 - .../extra/xz/src/common/tuklib_open_stdxxx.h | 23 - Build/source/extra/xz/src/common/tuklib_physmem.c | 196 - Build/source/extra/xz/src/common/tuklib_physmem.h | 28 - Build/source/extra/xz/src/common/tuklib_progname.c | 50 - Build/source/extra/xz/src/common/tuklib_progname.h | 32 - Build/source/extra/xz/src/liblzma/Makefile.am | 90 - Build/source/extra/xz/src/liblzma/Makefile.in | 1792 -- Build/source/extra/xz/src/liblzma/api/Makefile.am | 23 - Build/source/extra/xz/src/liblzma/api/Makefile.in | 608 - Build/source/extra/xz/src/liblzma/api/lzma.h | 313 - Build/source/extra/xz/src/liblzma/api/lzma/base.h | 601 - Build/source/extra/xz/src/liblzma/api/lzma/bcj.h | 90 - Build/source/extra/xz/src/liblzma/api/lzma/block.h | 530 - Build/source/extra/xz/src/liblzma/api/lzma/check.h | 150 - .../extra/xz/src/liblzma/api/lzma/container.h | 424 - Build/source/extra/xz/src/liblzma/api/lzma/delta.h | 77 - .../source/extra/xz/src/liblzma/api/lzma/filter.h | 424 - .../extra/xz/src/liblzma/api/lzma/hardware.h | 50 - Build/source/extra/xz/src/liblzma/api/lzma/index.h | 682 - .../extra/xz/src/liblzma/api/lzma/index_hash.h | 107 - Build/source/extra/xz/src/liblzma/api/lzma/lzma.h | 420 - .../extra/xz/src/liblzma/api/lzma/stream_flags.h | 223 - .../source/extra/xz/src/liblzma/api/lzma/version.h | 121 - Build/source/extra/xz/src/liblzma/api/lzma/vli.h | 166 - .../source/extra/xz/src/liblzma/check/Makefile.inc | 51 - Build/source/extra/xz/src/liblzma/check/check.c | 174 - Build/source/extra/xz/src/liblzma/check/check.h | 95 - .../source/extra/xz/src/liblzma/check/crc32_fast.c | 82 - .../extra/xz/src/liblzma/check/crc32_small.c | 61 - .../extra/xz/src/liblzma/check/crc32_table.c | 19 - .../extra/xz/src/liblzma/check/crc32_table_be.h | 525 - .../extra/xz/src/liblzma/check/crc32_table_le.h | 525 - .../extra/xz/src/liblzma/check/crc32_tablegen.c | 117 - .../source/extra/xz/src/liblzma/check/crc32_x86.S | 304 - .../source/extra/xz/src/liblzma/check/crc64_fast.c | 72 - .../extra/xz/src/liblzma/check/crc64_small.c | 53 - .../extra/xz/src/liblzma/check/crc64_table.c | 19 - .../extra/xz/src/liblzma/check/crc64_table_be.h | 521 - .../extra/xz/src/liblzma/check/crc64_table_le.h | 521 - .../extra/xz/src/liblzma/check/crc64_tablegen.c | 88 - .../source/extra/xz/src/liblzma/check/crc64_x86.S | 287 - .../source/extra/xz/src/liblzma/check/crc_macros.h | 30 - Build/source/extra/xz/src/liblzma/check/sha256.c | 200 - .../extra/xz/src/liblzma/common/Makefile.inc | 67 - .../extra/xz/src/liblzma/common/alone_decoder.c | 238 - .../extra/xz/src/liblzma/common/alone_decoder.h | 23 - .../extra/xz/src/liblzma/common/alone_encoder.c | 157 - .../extra/xz/src/liblzma/common/auto_decoder.c | 186 - .../xz/src/liblzma/common/block_buffer_decoder.c | 80 - .../xz/src/liblzma/common/block_buffer_encoder.c | 305 - .../extra/xz/src/liblzma/common/block_decoder.c | 242 - .../extra/xz/src/liblzma/common/block_decoder.h | 22 - .../extra/xz/src/liblzma/common/block_encoder.c | 217 - .../extra/xz/src/liblzma/common/block_encoder.h | 47 - .../xz/src/liblzma/common/block_header_decoder.c | 116 - .../xz/src/liblzma/common/block_header_encoder.c | 132 - .../extra/xz/src/liblzma/common/block_util.c | 90 - Build/source/extra/xz/src/liblzma/common/common.c | 388 - Build/source/extra/xz/src/liblzma/common/common.h | 284 - .../xz/src/liblzma/common/easy_buffer_encoder.c | 27 - .../xz/src/liblzma/common/easy_decoder_memusage.c | 24 - .../extra/xz/src/liblzma/common/easy_encoder.c | 25 - .../xz/src/liblzma/common/easy_encoder_memusage.c | 24 - .../extra/xz/src/liblzma/common/easy_preset.c | 27 - .../extra/xz/src/liblzma/common/easy_preset.h | 32 - .../xz/src/liblzma/common/filter_buffer_decoder.c | 87 - .../xz/src/liblzma/common/filter_buffer_encoder.c | 54 - .../extra/xz/src/liblzma/common/filter_common.c | 337 - .../extra/xz/src/liblzma/common/filter_common.h | 48 - .../extra/xz/src/liblzma/common/filter_decoder.c | 183 - .../extra/xz/src/liblzma/common/filter_decoder.h | 23 - .../extra/xz/src/liblzma/common/filter_encoder.c | 288 - .../extra/xz/src/liblzma/common/filter_encoder.h | 27 - .../xz/src/liblzma/common/filter_flags_decoder.c | 46 - .../xz/src/liblzma/common/filter_flags_encoder.c | 56 - .../extra/xz/src/liblzma/common/hardware_physmem.c | 25 - Build/source/extra/xz/src/liblzma/common/index.c | 1244 -- Build/source/extra/xz/src/liblzma/common/index.h | 73 - .../extra/xz/src/liblzma/common/index_decoder.c | 345 - .../extra/xz/src/liblzma/common/index_encoder.c | 254 - .../extra/xz/src/liblzma/common/index_encoder.h | 23 - .../extra/xz/src/liblzma/common/index_hash.c | 332 - .../xz/src/liblzma/common/stream_buffer_decoder.c | 91 - .../xz/src/liblzma/common/stream_buffer_encoder.c | 140 - .../extra/xz/src/liblzma/common/stream_decoder.c | 451 - .../extra/xz/src/liblzma/common/stream_decoder.h | 21 - .../extra/xz/src/liblzma/common/stream_encoder.c | 331 - .../extra/xz/src/liblzma/common/stream_encoder.h | 23 - .../xz/src/liblzma/common/stream_flags_common.c | 47 - .../xz/src/liblzma/common/stream_flags_common.h | 33 - .../xz/src/liblzma/common/stream_flags_decoder.c | 82 - .../xz/src/liblzma/common/stream_flags_encoder.c | 86 - .../extra/xz/src/liblzma/common/vli_decoder.c | 86 - .../extra/xz/src/liblzma/common/vli_encoder.c | 69 - .../source/extra/xz/src/liblzma/common/vli_size.c | 30 - .../source/extra/xz/src/liblzma/delta/Makefile.inc | 23 - .../extra/xz/src/liblzma/delta/delta_common.c | 70 - .../extra/xz/src/liblzma/delta/delta_common.h | 20 - .../extra/xz/src/liblzma/delta/delta_decoder.c | 76 - .../extra/xz/src/liblzma/delta/delta_decoder.h | 25 - .../extra/xz/src/liblzma/delta/delta_encoder.c | 121 - .../extra/xz/src/liblzma/delta/delta_encoder.h | 23 - .../extra/xz/src/liblzma/delta/delta_private.h | 37 - Build/source/extra/xz/src/liblzma/liblzma.pc.in | 19 - .../source/extra/xz/src/liblzma/liblzma_w32res.rc | 12 - Build/source/extra/xz/src/liblzma/lz/Makefile.inc | 22 - Build/source/extra/xz/src/liblzma/lz/lz_decoder.c | 300 - Build/source/extra/xz/src/liblzma/lz/lz_decoder.h | 234 - Build/source/extra/xz/src/liblzma/lz/lz_encoder.c | 583 - Build/source/extra/xz/src/liblzma/lz/lz_encoder.h | 328 - .../extra/xz/src/liblzma/lz/lz_encoder_hash.h | 108 - .../xz/src/liblzma/lz/lz_encoder_hash_table.h | 68 - .../source/extra/xz/src/liblzma/lz/lz_encoder_mf.c | 753 - .../source/extra/xz/src/liblzma/lzma/Makefile.inc | 43 - Build/source/extra/xz/src/liblzma/lzma/fastpos.h | 140 - .../extra/xz/src/liblzma/lzma/fastpos_table.c | 519 - .../extra/xz/src/liblzma/lzma/fastpos_tablegen.c | 56 - .../extra/xz/src/liblzma/lzma/lzma2_decoder.c | 304 - .../extra/xz/src/liblzma/lzma/lzma2_decoder.h | 28 - .../extra/xz/src/liblzma/lzma/lzma2_encoder.c | 393 - .../extra/xz/src/liblzma/lzma/lzma2_encoder.h | 41 - .../source/extra/xz/src/liblzma/lzma/lzma_common.h | 223 - .../extra/xz/src/liblzma/lzma/lzma_decoder.c | 1057 - .../extra/xz/src/liblzma/lzma/lzma_decoder.h | 52 - .../extra/xz/src/liblzma/lzma/lzma_encoder.c | 675 - .../extra/xz/src/liblzma/lzma/lzma_encoder.h | 54 - .../src/liblzma/lzma/lzma_encoder_optimum_fast.c | 179 - .../src/liblzma/lzma/lzma_encoder_optimum_normal.c | 868 - .../xz/src/liblzma/lzma/lzma_encoder_presets.c | 61 - .../xz/src/liblzma/lzma/lzma_encoder_private.h | 148 - .../extra/xz/src/liblzma/rangecoder/Makefile.inc | 21 - .../source/extra/xz/src/liblzma/rangecoder/price.h | 92 - .../extra/xz/src/liblzma/rangecoder/price_table.c | 22 - .../xz/src/liblzma/rangecoder/price_tablegen.c | 87 - .../extra/xz/src/liblzma/rangecoder/range_common.h | 73 - .../xz/src/liblzma/rangecoder/range_decoder.h | 179 - .../xz/src/liblzma/rangecoder/range_encoder.h | 231 - .../extra/xz/src/liblzma/simple/Makefile.inc | 47 - Build/source/extra/xz/src/liblzma/simple/arm.c | 69 - .../source/extra/xz/src/liblzma/simple/armthumb.c | 74 - Build/source/extra/xz/src/liblzma/simple/ia64.c | 110 - Build/source/extra/xz/src/liblzma/simple/powerpc.c | 73 - .../extra/xz/src/liblzma/simple/simple_coder.c | 277 - .../extra/xz/src/liblzma/simple/simple_coder.h | 60 - .../extra/xz/src/liblzma/simple/simple_decoder.c | 40 - .../extra/xz/src/liblzma/simple/simple_decoder.h | 22 - .../extra/xz/src/liblzma/simple/simple_encoder.c | 38 - .../extra/xz/src/liblzma/simple/simple_encoder.h | 23 - .../extra/xz/src/liblzma/simple/simple_private.h | 75 - Build/source/extra/xz/src/liblzma/simple/sparc.c | 81 - Build/source/extra/xz/src/liblzma/simple/x86.c | 154 - Build/source/extra/xz/src/lzmainfo/Makefile.am | 39 - Build/source/extra/xz/src/lzmainfo/Makefile.in | 804 - Build/source/extra/xz/src/lzmainfo/lzmainfo.1 | 60 - Build/source/extra/xz/src/lzmainfo/lzmainfo.c | 219 - .../extra/xz/src/lzmainfo/lzmainfo_w32res.rc | 12 - Build/source/extra/xz/src/scripts/Makefile.am | 55 - Build/source/extra/xz/src/scripts/Makefile.in | 642 - Build/source/extra/xz/src/scripts/xzdiff.1 | 75 - Build/source/extra/xz/src/scripts/xzdiff.in | 174 - Build/source/extra/xz/src/scripts/xzgrep.1 | 95 - Build/source/extra/xz/src/scripts/xzgrep.in | 201 - Build/source/extra/xz/src/scripts/xzless.1 | 69 - Build/source/extra/xz/src/scripts/xzless.in | 58 - Build/source/extra/xz/src/scripts/xzmore.1 | 55 - Build/source/extra/xz/src/scripts/xzmore.in | 78 - Build/source/extra/xz/src/xz/Makefile.am | 106 - Build/source/extra/xz/src/xz/Makefile.in | 1072 - Build/source/extra/xz/src/xz/args.c | 578 - Build/source/extra/xz/src/xz/args.h | 42 - Build/source/extra/xz/src/xz/coder.c | 673 - Build/source/extra/xz/src/xz/coder.h | 61 - Build/source/extra/xz/src/xz/file_io.c | 955 - Build/source/extra/xz/src/xz/file_io.h | 129 - Build/source/extra/xz/src/xz/hardware.c | 144 - Build/source/extra/xz/src/xz/hardware.h | 38 - Build/source/extra/xz/src/xz/list.c | 1135 - Build/source/extra/xz/src/xz/list.h | 18 - Build/source/extra/xz/src/xz/main.c | 302 - Build/source/extra/xz/src/xz/main.h | 30 - Build/source/extra/xz/src/xz/message.c | 1248 -- Build/source/extra/xz/src/xz/message.h | 167 - Build/source/extra/xz/src/xz/options.c | 363 - Build/source/extra/xz/src/xz/options.h | 31 - Build/source/extra/xz/src/xz/private.h | 57 - Build/source/extra/xz/src/xz/signals.c | 202 - Build/source/extra/xz/src/xz/signals.h | 43 - Build/source/extra/xz/src/xz/suffix.c | 241 - Build/source/extra/xz/src/xz/suffix.h | 28 - Build/source/extra/xz/src/xz/util.c | 288 - Build/source/extra/xz/src/xz/util.h | 123 - Build/source/extra/xz/src/xz/xz.1 | 2599 --- Build/source/extra/xz/src/xz/xz_w32res.rc | 12 - Build/source/extra/xz/src/xzdec/Makefile.am | 74 - Build/source/extra/xz/src/xzdec/Makefile.in | 895 - Build/source/extra/xz/src/xzdec/lzmadec_w32res.rc | 12 - Build/source/extra/xz/src/xzdec/xzdec.1 | 146 - Build/source/extra/xz/src/xzdec/xzdec.c | 323 - Build/source/extra/xz/src/xzdec/xzdec_w32res.rc | 12 - Build/source/extra/xz/tests/Makefile.am | 55 - Build/source/extra/xz/tests/Makefile.in | 830 - Build/source/extra/xz/tests/bcj_test.c | 65 - .../extra/xz/tests/compress_prepared_bcj_sparc | Bin 1240 -> 0 bytes .../extra/xz/tests/compress_prepared_bcj_x86 | Bin 1388 -> 0 bytes .../source/extra/xz/tests/create_compress_files.c | 158 - Build/source/extra/xz/tests/files/README | 240 - .../extra/xz/tests/files/bad-0-backward_size.xz | Bin 32 -> 0 bytes .../extra/xz/tests/files/bad-0-empty-truncated.xz | Bin 31 -> 0 bytes .../extra/xz/tests/files/bad-0-footer_magic.xz | Bin 32 -> 0 bytes .../extra/xz/tests/files/bad-0-header_magic.xz | Bin 32 -> 0 bytes .../extra/xz/tests/files/bad-0-nonempty_index.xz | Bin 32 -> 0 bytes .../source/extra/xz/tests/files/bad-0cat-alone.xz | Bin 55 -> 0 bytes .../extra/xz/tests/files/bad-0cat-header_magic.xz | Bin 64 -> 0 bytes .../extra/xz/tests/files/bad-0catpad-empty.xz | Bin 69 -> 0 bytes .../source/extra/xz/tests/files/bad-0pad-empty.xz | Bin 37 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-1.xz | Bin 64 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-2.xz | Bin 64 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-3.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-4.xz | Bin 76 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-5.xz | Bin 72 -> 0 bytes .../extra/xz/tests/files/bad-1-block_header-6.xz | Bin 72 -> 0 bytes .../extra/xz/tests/files/bad-1-check-crc32.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/bad-1-check-crc64.xz | Bin 72 -> 0 bytes .../extra/xz/tests/files/bad-1-check-sha256.xz | Bin 96 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-1.xz | Bin 64 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-2.xz | Bin 424 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-3.xz | Bin 424 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-4.xz | Bin 408 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-5.xz | Bin 408 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-6.xz | Bin 68 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-7.xz | Bin 408 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-lzma2-8.xz | Bin 464 -> 0 bytes .../extra/xz/tests/files/bad-1-stream_flags-1.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/bad-1-stream_flags-2.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/bad-1-stream_flags-3.xz | Bin 68 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-vli-1.xz | Bin 72 -> 0 bytes Build/source/extra/xz/tests/files/bad-1-vli-2.xz | Bin 76 -> 0 bytes .../tests/files/bad-2-compressed_data_padding.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/bad-2-index-1.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/bad-2-index-2.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/bad-2-index-3.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/bad-2-index-4.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/bad-2-index-5.xz | Bin 92 -> 0 bytes Build/source/extra/xz/tests/files/good-0-empty.xz | Bin 32 -> 0 bytes .../source/extra/xz/tests/files/good-0cat-empty.xz | Bin 64 -> 0 bytes .../extra/xz/tests/files/good-0catpad-empty.xz | Bin 68 -> 0 bytes .../source/extra/xz/tests/files/good-0pad-empty.xz | Bin 36 -> 0 bytes .../extra/xz/tests/files/good-1-3delta-lzma2.xz | Bin 528 -> 0 bytes .../extra/xz/tests/files/good-1-block_header-1.xz | Bin 72 -> 0 bytes .../extra/xz/tests/files/good-1-block_header-2.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/good-1-block_header-3.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/good-1-check-crc32.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/good-1-check-crc64.xz | Bin 72 -> 0 bytes .../extra/xz/tests/files/good-1-check-none.xz | Bin 64 -> 0 bytes .../extra/xz/tests/files/good-1-check-sha256.xz | Bin 96 -> 0 bytes .../xz/tests/files/good-1-delta-lzma2.tiff.xz | Bin 51316 -> 0 bytes .../source/extra/xz/tests/files/good-1-lzma2-1.xz | Bin 424 -> 0 bytes .../source/extra/xz/tests/files/good-1-lzma2-2.xz | Bin 424 -> 0 bytes .../source/extra/xz/tests/files/good-1-lzma2-3.xz | Bin 408 -> 0 bytes .../source/extra/xz/tests/files/good-1-lzma2-4.xz | Bin 464 -> 0 bytes .../source/extra/xz/tests/files/good-1-lzma2-5.xz | Bin 52 -> 0 bytes .../extra/xz/tests/files/good-1-sparc-lzma2.xz | Bin 612 -> 0 bytes .../extra/xz/tests/files/good-1-x86-lzma2.xz | Bin 716 -> 0 bytes Build/source/extra/xz/tests/files/good-2-lzma2.xz | Bin 92 -> 0 bytes .../xz/tests/files/unsupported-block_header.xz | Bin 68 -> 0 bytes .../extra/xz/tests/files/unsupported-check.xz | Bin 68 -> 0 bytes .../xz/tests/files/unsupported-filter_flags-1.xz | Bin 68 -> 0 bytes .../xz/tests/files/unsupported-filter_flags-2.xz | Bin 68 -> 0 bytes .../xz/tests/files/unsupported-filter_flags-3.xz | Bin 68 -> 0 bytes Build/source/extra/xz/tests/test_bcj_exact_size.c | 112 - Build/source/extra/xz/tests/test_block_header.c | 240 - Build/source/extra/xz/tests/test_check.c | 83 - Build/source/extra/xz/tests/test_compress.sh | 142 - Build/source/extra/xz/tests/test_files.sh | 57 - Build/source/extra/xz/tests/test_filter_flags.c | 258 - Build/source/extra/xz/tests/test_index.c | 659 - Build/source/extra/xz/tests/test_scripts.sh | 54 - Build/source/extra/xz/tests/test_stream_flags.c | 180 - Build/source/extra/xz/tests/tests.h | 124 - Build/source/extra/xz/windows/INSTALL-Windows.txt | 140 - Build/source/extra/xz/windows/README-Windows.txt | 120 - Build/source/extra/xz/windows/build.bash | 203 - 433 files changed, 132711 deletions(-) delete mode 100644 Build/source/extra/xz/ABOUT-NLS delete mode 100644 Build/source/extra/xz/AUTHORS delete mode 100644 Build/source/extra/xz/COPYING delete mode 100644 Build/source/extra/xz/COPYING.GPLv2 delete mode 100644 Build/source/extra/xz/COPYING.GPLv3 delete mode 100644 Build/source/extra/xz/COPYING.LGPLv2.1 delete mode 100644 Build/source/extra/xz/ChangeLog delete mode 100644 Build/source/extra/xz/Doxyfile.in delete mode 100644 Build/source/extra/xz/INSTALL delete mode 100644 Build/source/extra/xz/INSTALL.generic delete mode 100644 Build/source/extra/xz/Makefile.am delete mode 100644 Build/source/extra/xz/Makefile.in delete mode 100644 Build/source/extra/xz/NEWS delete mode 100644 Build/source/extra/xz/PACKAGERS delete mode 100644 Build/source/extra/xz/README delete mode 100644 Build/source/extra/xz/THANKS delete mode 100644 Build/source/extra/xz/TODO delete mode 100644 Build/source/extra/xz/aclocal.m4 delete mode 100755 Build/source/extra/xz/autogen.sh delete mode 100755 Build/source/extra/xz/build-aux/compile delete mode 100755 Build/source/extra/xz/build-aux/config.guess delete mode 100755 Build/source/extra/xz/build-aux/config.rpath delete mode 100755 Build/source/extra/xz/build-aux/config.sub delete mode 100755 Build/source/extra/xz/build-aux/depcomp delete mode 100755 Build/source/extra/xz/build-aux/install-sh delete mode 100755 Build/source/extra/xz/build-aux/ltmain.sh delete mode 100644 Build/source/extra/xz/build-aux/manconv.sh delete mode 100755 Build/source/extra/xz/build-aux/missing delete mode 100644 Build/source/extra/xz/build-aux/version.sh delete mode 100644 Build/source/extra/xz/config.h.in delete mode 100755 Build/source/extra/xz/configure delete mode 100644 Build/source/extra/xz/configure.ac delete mode 100644 Build/source/extra/xz/debug/Makefile.am delete mode 100644 Build/source/extra/xz/debug/Makefile.in delete mode 100644 Build/source/extra/xz/debug/README delete mode 100644 Build/source/extra/xz/debug/crc32.c delete mode 100644 Build/source/extra/xz/debug/full_flush.c delete mode 100644 Build/source/extra/xz/debug/hex2bin.c delete mode 100644 Build/source/extra/xz/debug/known_sizes.c delete mode 100644 Build/source/extra/xz/debug/memusage.c delete mode 100644 Build/source/extra/xz/debug/repeat.c delete mode 100644 Build/source/extra/xz/debug/sync_flush.c delete mode 100644 Build/source/extra/xz/debug/translation.bash delete mode 100644 Build/source/extra/xz/doc/examples/00_README.txt delete mode 100644 Build/source/extra/xz/doc/examples/01_compress_easy.c delete mode 100644 Build/source/extra/xz/doc/examples/02_decompress.c delete mode 100644 Build/source/extra/xz/doc/examples/03_compress_custom.c delete mode 100644 Build/source/extra/xz/doc/examples/Makefile delete mode 100644 Build/source/extra/xz/doc/examples_old/xz_pipe_comp.c delete mode 100644 Build/source/extra/xz/doc/examples_old/xz_pipe_decomp.c delete mode 100644 Build/source/extra/xz/doc/faq.txt delete mode 100644 Build/source/extra/xz/doc/history.txt delete mode 100644 Build/source/extra/xz/doc/lzma-file-format.txt delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf delete mode 100644 Build/source/extra/xz/doc/man/txt/lzmainfo.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xz.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xzdec.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xzdiff.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xzgrep.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xzless.txt delete mode 100644 Build/source/extra/xz/doc/man/txt/xzmore.txt delete mode 100644 Build/source/extra/xz/doc/xz-file-format.txt delete mode 100644 Build/source/extra/xz/dos/Makefile delete mode 100644 Build/source/extra/xz/dos/README delete mode 100644 Build/source/extra/xz/dos/config.h delete mode 100755 Build/source/extra/xz/extra/7z2lzma/7z2lzma.bash delete mode 100644 Build/source/extra/xz/extra/scanlzma/scanlzma.c delete mode 100644 Build/source/extra/xz/lib/Makefile.am delete mode 100644 Build/source/extra/xz/lib/Makefile.in delete mode 100644 Build/source/extra/xz/lib/getopt.c delete mode 100644 Build/source/extra/xz/lib/getopt.in.h delete mode 100644 Build/source/extra/xz/lib/getopt1.c delete mode 100644 Build/source/extra/xz/lib/getopt_int.h delete mode 100644 Build/source/extra/xz/m4/ax_pthread.m4 delete mode 100644 Build/source/extra/xz/m4/getopt.m4 delete mode 100644 Build/source/extra/xz/m4/gettext.m4 delete mode 100644 Build/source/extra/xz/m4/iconv.m4 delete mode 100644 Build/source/extra/xz/m4/intlmacosx.m4 delete mode 100644 Build/source/extra/xz/m4/lib-ld.m4 delete mode 100644 Build/source/extra/xz/m4/lib-link.m4 delete mode 100644 Build/source/extra/xz/m4/lib-prefix.m4 delete mode 100644 Build/source/extra/xz/m4/libtool.m4 delete mode 100644 Build/source/extra/xz/m4/ltoptions.m4 delete mode 100644 Build/source/extra/xz/m4/ltsugar.m4 delete mode 100644 Build/source/extra/xz/m4/ltversion.m4 delete mode 100644 Build/source/extra/xz/m4/lt~obsolete.m4 delete mode 100644 Build/source/extra/xz/m4/nls.m4 delete mode 100644 Build/source/extra/xz/m4/po.m4 delete mode 100644 Build/source/extra/xz/m4/posix-shell.m4 delete mode 100644 Build/source/extra/xz/m4/progtest.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_common.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_cpucores.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_integer.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_mbstr.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_physmem.m4 delete mode 100644 Build/source/extra/xz/m4/tuklib_progname.m4 delete mode 100644 Build/source/extra/xz/m4/visibility.m4 delete mode 100755 Build/source/extra/xz/macosx/build.sh delete mode 100644 Build/source/extra/xz/po/LINGUAS delete mode 100644 Build/source/extra/xz/po/Makefile.in.in delete mode 100644 Build/source/extra/xz/po/Makevars delete mode 100644 Build/source/extra/xz/po/POTFILES.in delete mode 100644 Build/source/extra/xz/po/Rules-quot delete mode 100644 Build/source/extra/xz/po/boldquot.sed delete mode 100644 Build/source/extra/xz/po/cs.gmo delete mode 100644 Build/source/extra/xz/po/cs.po delete mode 100644 Build/source/extra/xz/po/de.gmo delete mode 100644 Build/source/extra/xz/po/de.po delete mode 100644 Build/source/extra/xz/po/en@boldquot.header delete mode 100644 Build/source/extra/xz/po/en@quot.header delete mode 100644 Build/source/extra/xz/po/fr.gmo delete mode 100644 Build/source/extra/xz/po/fr.po delete mode 100644 Build/source/extra/xz/po/insert-header.sin delete mode 100644 Build/source/extra/xz/po/it.gmo delete mode 100644 Build/source/extra/xz/po/it.po delete mode 100644 Build/source/extra/xz/po/pl.gmo delete mode 100644 Build/source/extra/xz/po/pl.po delete mode 100644 Build/source/extra/xz/po/quot.sed delete mode 100644 Build/source/extra/xz/po/remove-potcdate.sin delete mode 100644 Build/source/extra/xz/po/stamp-po delete mode 100644 Build/source/extra/xz/po/xz.pot delete mode 100644 Build/source/extra/xz/src/Makefile.am delete mode 100644 Build/source/extra/xz/src/Makefile.in delete mode 100644 Build/source/extra/xz/src/common/common_w32res.rc delete mode 100644 Build/source/extra/xz/src/common/mythread.h delete mode 100644 Build/source/extra/xz/src/common/sysdefs.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_common.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_config.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_cpucores.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_cpucores.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_exit.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_exit.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_gettext.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_integer.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_mbstr.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_mbstr_fw.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_mbstr_width.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_open_stdxxx.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_open_stdxxx.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_physmem.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_physmem.h delete mode 100644 Build/source/extra/xz/src/common/tuklib_progname.c delete mode 100644 Build/source/extra/xz/src/common/tuklib_progname.h delete mode 100644 Build/source/extra/xz/src/liblzma/Makefile.am delete mode 100644 Build/source/extra/xz/src/liblzma/Makefile.in delete mode 100644 Build/source/extra/xz/src/liblzma/api/Makefile.am delete mode 100644 Build/source/extra/xz/src/liblzma/api/Makefile.in delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/base.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/bcj.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/block.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/check.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/container.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/delta.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/filter.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/hardware.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/index.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/index_hash.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/lzma.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/stream_flags.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/version.h delete mode 100644 Build/source/extra/xz/src/liblzma/api/lzma/vli.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/check/check.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/check.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_fast.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_small.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_table.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_table_be.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_table_le.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_tablegen.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc32_x86.S delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_fast.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_small.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_table.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_table_be.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_table_le.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_tablegen.c delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc64_x86.S delete mode 100644 Build/source/extra/xz/src/liblzma/check/crc_macros.h delete mode 100644 Build/source/extra/xz/src/liblzma/check/sha256.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/common/alone_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/alone_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/alone_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/auto_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_buffer_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_header_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_header_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/block_util.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/common.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/common.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_buffer_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_decoder_memusage.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_encoder_memusage.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_preset.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/easy_preset.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_buffer_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_buffer_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_common.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_common.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_flags_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/filter_flags_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/hardware_physmem.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/index.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/index.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/index_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/index_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/index_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/index_hash.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_buffer_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_flags_common.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_flags_common.h delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_flags_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/stream_flags_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/vli_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/vli_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/common/vli_size.c delete mode 100644 Build/source/extra/xz/src/liblzma/delta/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_common.c delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_common.h delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/delta/delta_private.h delete mode 100644 Build/source/extra/xz/src/liblzma/liblzma.pc.in delete mode 100644 Build/source/extra/xz/src/liblzma/liblzma_w32res.rc delete mode 100644 Build/source/extra/xz/src/liblzma/lz/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash.h delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash_table.h delete mode 100644 Build/source/extra/xz/src/liblzma/lz/lz_encoder_mf.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/fastpos.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/fastpos_table.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/fastpos_tablegen.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_common.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_presets.c delete mode 100644 Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_private.h delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/price.h delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/price_table.c delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/price_tablegen.c delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/range_common.h delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/range_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/rangecoder/range_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/simple/Makefile.inc delete mode 100644 Build/source/extra/xz/src/liblzma/simple/arm.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/armthumb.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/ia64.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/powerpc.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_coder.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_coder.h delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_decoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_decoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_encoder.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_encoder.h delete mode 100644 Build/source/extra/xz/src/liblzma/simple/simple_private.h delete mode 100644 Build/source/extra/xz/src/liblzma/simple/sparc.c delete mode 100644 Build/source/extra/xz/src/liblzma/simple/x86.c delete mode 100644 Build/source/extra/xz/src/lzmainfo/Makefile.am delete mode 100644 Build/source/extra/xz/src/lzmainfo/Makefile.in delete mode 100644 Build/source/extra/xz/src/lzmainfo/lzmainfo.1 delete mode 100644 Build/source/extra/xz/src/lzmainfo/lzmainfo.c delete mode 100644 Build/source/extra/xz/src/lzmainfo/lzmainfo_w32res.rc delete mode 100644 Build/source/extra/xz/src/scripts/Makefile.am delete mode 100644 Build/source/extra/xz/src/scripts/Makefile.in delete mode 100644 Build/source/extra/xz/src/scripts/xzdiff.1 delete mode 100644 Build/source/extra/xz/src/scripts/xzdiff.in delete mode 100644 Build/source/extra/xz/src/scripts/xzgrep.1 delete mode 100644 Build/source/extra/xz/src/scripts/xzgrep.in delete mode 100644 Build/source/extra/xz/src/scripts/xzless.1 delete mode 100644 Build/source/extra/xz/src/scripts/xzless.in delete mode 100644 Build/source/extra/xz/src/scripts/xzmore.1 delete mode 100644 Build/source/extra/xz/src/scripts/xzmore.in delete mode 100644 Build/source/extra/xz/src/xz/Makefile.am delete mode 100644 Build/source/extra/xz/src/xz/Makefile.in delete mode 100644 Build/source/extra/xz/src/xz/args.c delete mode 100644 Build/source/extra/xz/src/xz/args.h delete mode 100644 Build/source/extra/xz/src/xz/coder.c delete mode 100644 Build/source/extra/xz/src/xz/coder.h delete mode 100644 Build/source/extra/xz/src/xz/file_io.c delete mode 100644 Build/source/extra/xz/src/xz/file_io.h delete mode 100644 Build/source/extra/xz/src/xz/hardware.c delete mode 100644 Build/source/extra/xz/src/xz/hardware.h delete mode 100644 Build/source/extra/xz/src/xz/list.c delete mode 100644 Build/source/extra/xz/src/xz/list.h delete mode 100644 Build/source/extra/xz/src/xz/main.c delete mode 100644 Build/source/extra/xz/src/xz/main.h delete mode 100644 Build/source/extra/xz/src/xz/message.c delete mode 100644 Build/source/extra/xz/src/xz/message.h delete mode 100644 Build/source/extra/xz/src/xz/options.c delete mode 100644 Build/source/extra/xz/src/xz/options.h delete mode 100644 Build/source/extra/xz/src/xz/private.h delete mode 100644 Build/source/extra/xz/src/xz/signals.c delete mode 100644 Build/source/extra/xz/src/xz/signals.h delete mode 100644 Build/source/extra/xz/src/xz/suffix.c delete mode 100644 Build/source/extra/xz/src/xz/suffix.h delete mode 100644 Build/source/extra/xz/src/xz/util.c delete mode 100644 Build/source/extra/xz/src/xz/util.h delete mode 100644 Build/source/extra/xz/src/xz/xz.1 delete mode 100644 Build/source/extra/xz/src/xz/xz_w32res.rc delete mode 100644 Build/source/extra/xz/src/xzdec/Makefile.am delete mode 100644 Build/source/extra/xz/src/xzdec/Makefile.in delete mode 100644 Build/source/extra/xz/src/xzdec/lzmadec_w32res.rc delete mode 100644 Build/source/extra/xz/src/xzdec/xzdec.1 delete mode 100644 Build/source/extra/xz/src/xzdec/xzdec.c delete mode 100644 Build/source/extra/xz/src/xzdec/xzdec_w32res.rc delete mode 100644 Build/source/extra/xz/tests/Makefile.am delete mode 100644 Build/source/extra/xz/tests/Makefile.in delete mode 100644 Build/source/extra/xz/tests/bcj_test.c delete mode 100644 Build/source/extra/xz/tests/compress_prepared_bcj_sparc delete mode 100644 Build/source/extra/xz/tests/compress_prepared_bcj_x86 delete mode 100644 Build/source/extra/xz/tests/create_compress_files.c delete mode 100644 Build/source/extra/xz/tests/files/README delete mode 100644 Build/source/extra/xz/tests/files/bad-0-backward_size.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0-empty-truncated.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0-footer_magic.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0-header_magic.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0-nonempty_index.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0cat-alone.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0cat-header_magic.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0catpad-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-0pad-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-1.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-2.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-3.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-4.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-5.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-block_header-6.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-check-crc32.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-check-crc64.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-check-sha256.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-1.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-2.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-3.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-4.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-5.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-6.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-7.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-lzma2-8.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-stream_flags-1.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-stream_flags-2.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-stream_flags-3.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-vli-1.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-1-vli-2.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-compressed_data_padding.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-index-1.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-index-2.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-index-3.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-index-4.xz delete mode 100644 Build/source/extra/xz/tests/files/bad-2-index-5.xz delete mode 100644 Build/source/extra/xz/tests/files/good-0-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/good-0cat-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/good-0catpad-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/good-0pad-empty.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-3delta-lzma2.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-block_header-1.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-block_header-2.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-block_header-3.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-check-crc32.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-check-crc64.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-check-none.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-check-sha256.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-delta-lzma2.tiff.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-lzma2-1.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-lzma2-2.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-lzma2-3.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-lzma2-4.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-lzma2-5.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-sparc-lzma2.xz delete mode 100644 Build/source/extra/xz/tests/files/good-1-x86-lzma2.xz delete mode 100644 Build/source/extra/xz/tests/files/good-2-lzma2.xz delete mode 100644 Build/source/extra/xz/tests/files/unsupported-block_header.xz delete mode 100644 Build/source/extra/xz/tests/files/unsupported-check.xz delete mode 100644 Build/source/extra/xz/tests/files/unsupported-filter_flags-1.xz delete mode 100644 Build/source/extra/xz/tests/files/unsupported-filter_flags-2.xz delete mode 100644 Build/source/extra/xz/tests/files/unsupported-filter_flags-3.xz delete mode 100644 Build/source/extra/xz/tests/test_bcj_exact_size.c delete mode 100644 Build/source/extra/xz/tests/test_block_header.c delete mode 100644 Build/source/extra/xz/tests/test_check.c delete mode 100755 Build/source/extra/xz/tests/test_compress.sh delete mode 100755 Build/source/extra/xz/tests/test_files.sh delete mode 100644 Build/source/extra/xz/tests/test_filter_flags.c delete mode 100644 Build/source/extra/xz/tests/test_index.c delete mode 100755 Build/source/extra/xz/tests/test_scripts.sh delete mode 100644 Build/source/extra/xz/tests/test_stream_flags.c delete mode 100644 Build/source/extra/xz/tests/tests.h delete mode 100644 Build/source/extra/xz/windows/INSTALL-Windows.txt delete mode 100644 Build/source/extra/xz/windows/README-Windows.txt delete mode 100644 Build/source/extra/xz/windows/build.bash (limited to 'Build') diff --git a/Build/source/extra/xz/ABOUT-NLS b/Build/source/extra/xz/ABOUT-NLS deleted file mode 100644 index 4f50fb5f0d4..00000000000 --- a/Build/source/extra/xz/ABOUT-NLS +++ /dev/null @@ -1,1327 +0,0 @@ -1 Notes on the Free Translation Project -*************************************** - -Free software is going international! The Free Translation Project is -a way to get maintainers of free software, translators, and users all -together, so that free software will gradually become able to speak many -languages. A few packages already provide translations for their -messages. - - If you found this `ABOUT-NLS' file inside a distribution, you may -assume that the distributed package does use GNU `gettext' internally, -itself available at your nearest GNU archive site. But you do _not_ -need to install GNU `gettext' prior to configuring, installing or using -this package with messages translated. - - Installers will find here some useful hints. These notes also -explain how users should proceed for getting the programs to use the -available translations. They tell how people wanting to contribute and -work on translations can contact the appropriate team. - - When reporting bugs in the `intl/' directory or bugs which may be -related to internationalization, you should tell about the version of -`gettext' which is used. The information can be found in the -`intl/VERSION' file, in internationalized packages. - -1.1 Quick configuration advice -============================== - -If you want to exploit the full power of internationalization, you -should configure it using - - ./configure --with-included-gettext - -to force usage of internationalizing routines provided within this -package, despite the existence of internationalizing capabilities in the -operating system where this package is being installed. So far, only -the `gettext' implementation in the GNU C library version 2 provides as -many features (such as locale alias, message inheritance, automatic -charset conversion or plural form handling) as the implementation here. -It is also not possible to offer this additional functionality on top -of a `catgets' implementation. Future versions of GNU `gettext' will -very likely convey even more functionality. So it might be a good idea -to change to GNU `gettext' as soon as possible. - - So you need _not_ provide this option if you are using GNU libc 2 or -you have installed a recent copy of the GNU gettext package with the -included `libintl'. - -1.2 INSTALL Matters -=================== - -Some packages are "localizable" when properly installed; the programs -they contain can be made to speak your own native language. Most such -packages use GNU `gettext'. Other packages have their own ways to -internationalization, predating GNU `gettext'. - - By default, this package will be installed to allow translation of -messages. It will automatically detect whether the system already -provides the GNU `gettext' functions. If not, the included GNU -`gettext' library will be used. This library is wholly contained -within this package, usually in the `intl/' subdirectory, so prior -installation of the GNU `gettext' package is _not_ required. -Installers may use special options at configuration time for changing -the default behaviour. The commands: - - ./configure --with-included-gettext - ./configure --disable-nls - -will, respectively, bypass any pre-existing `gettext' to use the -internationalizing routines provided within this package, or else, -_totally_ disable translation of messages. - - When you already have GNU `gettext' installed on your system and run -configure without an option for your new package, `configure' will -probably detect the previously built and installed `libintl.a' file and -will decide to use this. This might not be desirable. You should use -the more recent version of the GNU `gettext' library. I.e. if the file -`intl/VERSION' shows that the library which comes with this package is -more recent, you should use - - ./configure --with-included-gettext - -to prevent auto-detection. - - The configuration process will not test for the `catgets' function -and therefore it will not be used. The reason is that even an -emulation of `gettext' on top of `catgets' could not provide all the -extensions of the GNU `gettext' library. - - Internationalized packages usually have many `po/LL.po' files, where -LL gives an ISO 639 two-letter code identifying the language. Unless -translations have been forbidden at `configure' time by using the -`--disable-nls' switch, all available translations are installed -together with the package. However, the environment variable `LINGUAS' -may be set, prior to configuration, to limit the installed set. -`LINGUAS' should then contain a space separated list of two-letter -codes, stating which languages are allowed. - -1.3 Using This Package -====================== - -As a user, if your language has been installed for this package, you -only have to set the `LANG' environment variable to the appropriate -`LL_CC' combination. If you happen to have the `LC_ALL' or some other -`LC_xxx' environment variables set, you should unset them before -setting `LANG', otherwise the setting of `LANG' will not have the -desired effect. Here `LL' is an ISO 639 two-letter language code, and -`CC' is an ISO 3166 two-letter country code. For example, let's -suppose that you speak German and live in Germany. At the shell -prompt, merely execute `setenv LANG de_DE' (in `csh'), -`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). -This can be done from your `.login' or `.profile' file, once and for -all. - - You might think that the country code specification is redundant. -But in fact, some languages have dialects in different countries. For -example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The -country code serves to distinguish the dialects. - - The locale naming convention of `LL_CC', with `LL' denoting the -language and `CC' denoting the country, is the one use on systems based -on GNU libc. On other systems, some variations of this scheme are -used, such as `LL' or `LL_CC.ENCODING'. You can get the list of -locales supported by your system for your language by running the -command `locale -a | grep '^LL''. - - Not all programs have translations for all languages. By default, an -English message is shown in place of a nonexistent translation. If you -understand other languages, you can set up a priority list of languages. -This is done through a different environment variable, called -`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' -for the purpose of message handling, but you still need to have `LANG' -set to the primary language; this is required by other parts of the -system libraries. For example, some Swedish users who would rather -read translations in German than English for when Swedish is not -available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. - - Special advice for Norwegian users: The language code for Norwegian -bokma*l changed from `no' to `nb' recently (in 2003). During the -transition period, while some message catalogs for this language are -installed under `nb' and some older ones under `no', it's recommended -for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and -older translations are used. - - In the `LANGUAGE' environment variable, but not in the `LANG' -environment variable, `LL_CC' combinations can be abbreviated as `LL' -to denote the language's main dialect. For example, `de' is equivalent -to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' -(Portuguese as spoken in Portugal) in this context. - -1.4 Translating Teams -===================== - -For the Free Translation Project to be a success, we need interested -people who like their own language and write it well, and who are also -able to synergize with other translators speaking the same language. -Each translation team has its own mailing list. The up-to-date list of -teams can be found at the Free Translation Project's homepage, -`http://translationproject.org/', in the "Teams" area. - - If you'd like to volunteer to _work_ at translating messages, you -should become a member of the translating team for your own language. -The subscribing address is _not_ the same as the list itself, it has -`-request' appended. For example, speakers of Swedish can send a -message to `sv-request@li.org', having this message body: - - subscribe - - Keep in mind that team members are expected to participate -_actively_ in translations, or at solving translational difficulties, -rather than merely lurking around. If your team does not exist yet and -you want to start one, or if you are unsure about what to do or how to -get started, please write to `coordinator@translationproject.org' to -reach the coordinator for all translator teams. - - The English team is special. It works at improving and uniformizing -the terminology in use. Proven linguistic skills are praised more than -programming skills, here. - -1.5 Available Packages -====================== - -Languages are not equally supported in all packages. The following -matrix shows the current state of internationalization, as of May 2010. -The matrix shows, in regard of each package, for which languages PO -files have been submitted to translation coordination, with a -translation percentage of at least 50%. - - Ready PO files af am ar as ast az be be@latin bg bn_IN bs ca crh - +---------------------------------------------------+ - a2ps | [] [] | - aegis | | - ant-phone | | - anubis | | - aspell | [] [] | - bash | | - bfd | | - bibshelf | [] | - binutils | | - bison | | - bison-runtime | [] | - bluez-pin | [] [] | - bombono-dvd | | - buzztard | | - cflow | | - clisp | | - coreutils | [] [] | - cpio | | - cppi | | - cpplib | [] | - cryptsetup | | - dfarc | | - dialog | [] [] | - dico | | - diffutils | [] | - dink | | - doodle | | - e2fsprogs | [] | - enscript | [] | - exif | | - fetchmail | [] | - findutils | [] | - flex | [] | - freedink | | - gas | | - gawk | [] [] | - gcal | [] | - gcc | | - gettext-examples | [] [] [] [] | - gettext-runtime | [] [] [] | - gettext-tools | [] [] | - gip | [] | - gjay | | - gliv | [] | - glunarclock | [] [] | - gnubiff | | - gnucash | [] | - gnuedu | | - gnulib | | - gnunet | | - gnunet-gtk | | - gnutls | | - gold | | - gpe-aerial | | - gpe-beam | | - gpe-bluetooth | | - gpe-calendar | | - gpe-clock | [] | - gpe-conf | | - gpe-contacts | | - gpe-edit | | - gpe-filemanager | | - gpe-go | | - gpe-login | | - gpe-ownerinfo | [] | - gpe-package | | - gpe-sketchbook | | - gpe-su | [] | - gpe-taskmanager | [] | - gpe-timesheet | [] | - gpe-today | [] | - gpe-todo | | - gphoto2 | | - gprof | [] | - gpsdrive | | - gramadoir | | - grep | | - grub | [] [] | - gsasl | | - gss | | - gst-plugins-bad | [] | - gst-plugins-base | [] | - gst-plugins-good | [] | - gst-plugins-ugly | [] | - gstreamer | [] [] [] | - gtick | | - gtkam | [] | - gtkorphan | [] | - gtkspell | [] [] [] | - gutenprint | | - hello | [] | - help2man | | - hylafax | | - idutils | | - indent | [] [] | - iso_15924 | | - iso_3166 | [] [] [] [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | | - iso_639 | [] [] [] [] [] | - iso_639_3 | [] | - jwhois | | - kbd | | - keytouch | [] | - keytouch-editor | | - keytouch-keyboa... | [] | - klavaro | [] | - latrine | | - ld | [] | - leafpad | [] [] | - libc | [] [] | - libexif | () | - libextractor | | - libgnutls | | - libgpewidget | | - libgpg-error | | - libgphoto2 | | - libgphoto2_port | | - libgsasl | | - libiconv | [] | - libidn | | - lifelines | | - liferea | [] [] | - lilypond | | - linkdr | [] | - lordsawar | | - lprng | | - lynx | [] | - m4 | | - mailfromd | | - mailutils | | - make | | - man-db | | - man-db-manpages | | - minicom | | - mkisofs | | - myserver | | - nano | [] [] | - opcodes | | - parted | | - pies | | - popt | | - psmisc | | - pspp | [] | - pwdutils | | - radius | [] | - recode | [] [] | - rosegarden | | - rpm | | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] [] | - sed | [] [] | - sharutils | [] [] | - shishi | | - skencil | | - solfege | | - solfege-manual | | - soundtracker | | - sp | | - sysstat | | - tar | [] | - texinfo | | - tin | | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] | - vice | | - vmm | | - vorbis-tools | | - wastesedge | | - wdiff | | - wget | [] [] | - wyslij-po | | - xchat | [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +---------------------------------------------------+ - af am ar as ast az be be@latin bg bn_IN bs ca crh - 6 0 2 3 19 1 11 3 28 3 1 38 5 - - cs da de el en en_GB en_ZA eo es et eu fa fi - +-------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] | - aegis | [] [] [] | - ant-phone | [] () | - anubis | [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] [] [] | - bfd | [] [] | - bibshelf | [] [] [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] | - bombono-dvd | [] [] | - buzztard | [] [] [] | - cflow | [] [] [] | - clisp | [] [] [] [] | - coreutils | [] [] [] [] | - cpio | [] | - cppi | [] | - cpplib | [] [] [] | - cryptsetup | [] | - dfarc | [] [] [] [] | - dialog | [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] [] [] [] | - dink | [] [] [] | - doodle | [] | - e2fsprogs | [] [] [] | - enscript | [] [] [] | - exif | () [] [] [] | - fetchmail | [] [] () [] [] [] | - findutils | [] [] [] [] | - flex | [] [] [] | - freedink | [] [] [] [] | - gas | [] | - gawk | [] [] [] | - gcal | [] | - gcc | [] [] | - gettext-examples | [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] | - gip | [] [] [] [] [] | - gjay | [] [] | - gliv | [] [] [] [] | - glunarclock | [] [] [] | - gnubiff | () | - gnucash | [] () () () () () | - gnuedu | [] [] | - gnulib | [] [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gold | [] [] | - gpe-aerial | [] [] [] [] [] | - gpe-beam | [] [] [] [] [] | - gpe-bluetooth | [] [] [] | - gpe-calendar | [] [] | - gpe-clock | [] [] [] [] [] | - gpe-conf | [] [] [] [] | - gpe-contacts | [] [] [] [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] [] [] | - gpe-go | [] [] [] [] [] | - gpe-login | [] [] [] | - gpe-ownerinfo | [] [] [] [] [] | - gpe-package | [] [] [] [] | - gpe-sketchbook | [] [] [] [] [] | - gpe-su | [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] | - gpe-today | [] [] [] [] [] | - gpe-todo | [] [] [] [] | - gphoto2 | [] [] () [] [] [] [] | - gprof | [] [] [] [] | - gpsdrive | [] [] [] | - gramadoir | [] [] [] | - grep | [] [] | - grub | [] [] [] | - gsasl | [] [] | - gss | [] | - gst-plugins-bad | [] [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] [] | - gtick | [] () [] [] | - gtkam | [] [] () [] [] | - gtkorphan | [] [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - gutenprint | [] [] [] [] | - hello | [] [] [] [] [] | - help2man | [] [] | - hylafax | [] [] | - idutils | [] [] [] | - indent | [] [] [] [] [] [] [] [] | - iso_15924 | [] () [] [] [] | - iso_3166 | [] [] [] () [] [] [] () [] | - iso_3166_2 | () | - iso_4217 | [] [] [] () [] [] [] | - iso_639 | [] [] [] () [] [] [] | - iso_639_3 | | - jwhois | [] [] | - kbd | [] [] [] [] [] | - keytouch | [] [] [] | - keytouch-editor | [] [] [] | - keytouch-keyboa... | [] [] | - klavaro | [] [] [] [] | - latrine | [] () [] | - ld | [] [] [] | - leafpad | [] [] [] [] [] [] [] | - libc | [] [] [] [] [] | - libexif | [] [] () | - libextractor | | - libgnutls | [] | - libgpewidget | [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] () | - libgphoto2_port | [] () [] | - libgsasl | [] | - libiconv | [] [] [] [] [] [] | - libidn | [] [] [] [] | - lifelines | [] () | - liferea | [] [] [] [] [] | - lilypond | [] [] [] [] | - linkdr | [] [] [] [] | - lordsawar | [] | - lprng | | - lynx | [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | [] | - make | [] [] [] [] | - man-db | | - man-db-manpages | | - minicom | [] [] [] [] [] | - mkisofs | [] | - myserver | | - nano | [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] | - pies | | - popt | [] [] [] [] [] [] | - psmisc | [] [] [] [] | - pspp | [] | - pwdutils | [] | - radius | [] | - recode | [] [] [] [] [] [] [] | - rosegarden | () () () () | - rpm | [] [] [] | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] | - sharutils | [] [] [] [] [] | - shishi | | - skencil | [] () [] | - solfege | [] [] [] [] | - solfege-manual | [] [] | - soundtracker | [] [] [] | - sp | [] | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] | - texinfo | [] [] [] | - tin | [] [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] [] [] [] [] | - vice | () () | - vmm | [] | - vorbis-tools | [] [] | - wastesedge | [] | - wdiff | [] [] [] | - wget | [] [] [] [] | - wyslij-po | [] | - xchat | [] [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] [] | - +-------------------------------------------------+ - cs da de el en en_GB en_ZA eo es et eu fa fi - 64 105 117 18 1 8 0 28 89 18 19 0 104 - - fr ga gl gu he hi hr hu hy id is it ja ka kn - +------------------------------------------------+ - a2ps | [] [] [] | - aegis | [] [] | - ant-phone | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] | - bash | [] [] [] | - bfd | [] [] | - bibshelf | [] [] [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] | - bombono-dvd | | - buzztard | [] | - cflow | [] [] | - clisp | [] | - coreutils | [] [] [] [] [] | - cpio | [] [] [] | - cppi | [] | - cpplib | [] [] | - cryptsetup | [] [] [] | - dfarc | [] [] | - dialog | [] [] [] [] [] [] [] | - dico | | - diffutils | [] [] [] [] [] [] [] [] | - dink | [] | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] | - exif | [] [] [] [] [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] | - freedink | [] [] | - gas | [] [] | - gawk | [] [] [] [] () [] | - gcal | [] | - gcc | [] | - gettext-examples | [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] | - gettext-tools | [] [] [] [] | - gip | [] [] [] [] [] | - gjay | | - gliv | () | - glunarclock | [] [] [] | - gnubiff | () [] () | - gnucash | () () () () [] | - gnuedu | [] [] | - gnulib | [] [] [] [] [] | - gnunet | | - gnunet-gtk | [] | - gnutls | [] [] | - gold | [] | - gpe-aerial | [] [] | - gpe-beam | [] [] [] | - gpe-bluetooth | [] [] [] | - gpe-calendar | [] | - gpe-clock | [] [] [] [] | - gpe-conf | [] [] [] | - gpe-contacts | [] [] [] | - gpe-edit | [] [] | - gpe-filemanager | [] [] [] | - gpe-go | [] [] [] [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] | - gpe-su | [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] | - gpe-timesheet | [] [] [] [] | - gpe-today | [] [] [] [] [] [] | - gpe-todo | [] [] | - gphoto2 | [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] [] | - gramadoir | [] [] [] | - grep | [] | - grub | [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] [] | - gst-plugins-bad | [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | [] [] [] [] | - gtick | [] [] [] [] | - gtkam | [] [] [] [] [] | - gtkorphan | [] [] [] | - gtkspell | [] [] [] [] [] [] [] [] | - gutenprint | [] [] [] | - hello | [] [] | - help2man | [] | - hylafax | [] | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | () [] [] | - iso_3166 | () [] [] [] [] [] [] [] [] [] [] | - iso_3166_2 | () [] [] [] | - iso_4217 | () [] [] [] [] | - iso_639 | () [] [] [] [] [] [] [] | - iso_639_3 | () [] [] | - jwhois | [] [] [] [] | - kbd | [] [] | - keytouch | [] [] [] [] [] | - keytouch-editor | [] [] [] [] | - keytouch-keyboa... | [] [] [] [] | - klavaro | [] [] | - latrine | [] [] | - ld | [] [] [] | - leafpad | [] [] [] [] [] [] () | - libc | [] [] [] [] | - libexif | | - libextractor | | - libgnutls | [] [] | - libgpewidget | [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] [] [] | - libgphoto2_port | [] [] [] | - libgsasl | [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] [] | - lifelines | () | - liferea | [] [] [] [] | - lilypond | [] | - linkdr | [] [] [] [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | | - mailutils | [] [] | - make | [] [] [] [] [] [] [] [] | - man-db | [] [] | - man-db-manpages | [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | | - nano | [] [] [] [] [] | - opcodes | [] [] [] | - parted | [] [] [] [] | - pies | | - popt | [] [] [] [] [] [] [] [] | - psmisc | [] [] | - pspp | | - pwdutils | [] [] | - radius | [] [] | - recode | [] [] [] [] [] [] [] | - rosegarden | () () () () | - rpm | [] [] | - rush | | - sarg | [] | - screem | [] [] | - scrollkeeper | [] [] [] | - sed | [] [] [] [] [] [] [] | - sharutils | [] [] [] [] [] [] | - shishi | [] | - skencil | [] | - solfege | [] [] [] | - solfege-manual | [] [] | - soundtracker | [] [] | - sp | [] () | - sysstat | [] [] [] [] | - tar | [] [] [] [] [] [] | - texinfo | [] [] [] [] | - tin | [] | - unicode-han-tra... | | - unicode-transla... | [] [] | - util-linux-ng | [] [] [] [] [] | - vice | () () () | - vmm | [] | - vorbis-tools | [] | - wastesedge | () () | - wdiff | | - wget | [] [] [] [] [] [] [] | - wyslij-po | [] [] | - xchat | [] [] [] [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] | - +------------------------------------------------+ - fr ga gl gu he hi hr hu hy id is it ja ka kn - 121 53 20 4 8 2 5 53 2 120 5 83 66 0 4 - - ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne - +-----------------------------------------------+ - a2ps | [] | - aegis | | - ant-phone | | - anubis | [] [] | - aspell | [] | - bash | | - bfd | | - bibshelf | [] [] | - binutils | | - bison | [] | - bison-runtime | [] [] [] [] [] | - bluez-pin | [] [] [] [] [] | - bombono-dvd | | - buzztard | | - cflow | | - clisp | | - coreutils | [] | - cpio | | - cppi | | - cpplib | | - cryptsetup | | - dfarc | [] | - dialog | [] [] [] [] [] | - dico | | - diffutils | [] [] | - dink | | - doodle | | - e2fsprogs | | - enscript | | - exif | [] | - fetchmail | | - findutils | | - flex | | - freedink | [] | - gas | | - gawk | | - gcal | | - gcc | | - gettext-examples | [] [] [] [] | - gettext-runtime | [] | - gettext-tools | [] | - gip | [] [] | - gjay | | - gliv | | - glunarclock | [] | - gnubiff | | - gnucash | () () () () | - gnuedu | | - gnulib | | - gnunet | | - gnunet-gtk | | - gnutls | [] | - gold | | - gpe-aerial | [] | - gpe-beam | [] | - gpe-bluetooth | [] [] | - gpe-calendar | [] | - gpe-clock | [] [] [] [] [] | - gpe-conf | [] [] | - gpe-contacts | [] [] | - gpe-edit | [] | - gpe-filemanager | [] [] | - gpe-go | [] [] [] | - gpe-login | [] | - gpe-ownerinfo | [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] | - gpe-su | [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] | - gpe-timesheet | [] [] | - gpe-today | [] [] [] [] | - gpe-todo | [] [] | - gphoto2 | | - gprof | [] | - gpsdrive | | - gramadoir | | - grep | | - grub | | - gsasl | | - gss | | - gst-plugins-bad | [] [] | - gst-plugins-base | [] [] | - gst-plugins-good | [] [] | - gst-plugins-ugly | [] [] [] [] [] | - gstreamer | | - gtick | | - gtkam | [] | - gtkorphan | [] [] | - gtkspell | [] [] [] [] [] [] [] | - gutenprint | | - hello | [] [] [] | - help2man | | - hylafax | | - idutils | | - indent | | - iso_15924 | [] [] | - iso_3166 | [] [] () [] [] [] [] [] | - iso_3166_2 | | - iso_4217 | [] [] | - iso_639 | [] [] | - iso_639_3 | [] | - jwhois | [] | - kbd | | - keytouch | [] | - keytouch-editor | [] | - keytouch-keyboa... | [] | - klavaro | [] | - latrine | [] | - ld | | - leafpad | [] [] [] | - libc | [] | - libexif | | - libextractor | | - libgnutls | [] | - libgpewidget | [] [] | - libgpg-error | | - libgphoto2 | | - libgphoto2_port | | - libgsasl | | - libiconv | | - libidn | | - lifelines | | - liferea | | - lilypond | | - linkdr | | - lordsawar | | - lprng | | - lynx | | - m4 | | - mailfromd | | - mailutils | | - make | [] | - man-db | | - man-db-manpages | | - minicom | [] | - mkisofs | | - myserver | | - nano | [] [] | - opcodes | | - parted | | - pies | | - popt | [] [] [] | - psmisc | | - pspp | | - pwdutils | | - radius | | - recode | | - rosegarden | | - rpm | | - rush | | - sarg | | - screem | | - scrollkeeper | [] [] | - sed | | - sharutils | | - shishi | | - skencil | | - solfege | [] | - solfege-manual | | - soundtracker | | - sp | | - sysstat | [] | - tar | [] | - texinfo | [] | - tin | | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | | - vice | | - vmm | | - vorbis-tools | | - wastesedge | | - wdiff | | - wget | [] | - wyslij-po | | - xchat | [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] | - +-----------------------------------------------+ - ko ku ky lg lt lv mk ml mn mr ms mt nb nds ne - 20 5 10 1 12 48 4 2 2 4 24 10 19 3 1 - - nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - +---------------------------------------------------+ - a2ps | [] [] [] [] [] [] [] [] | - aegis | [] [] [] | - ant-phone | [] [] | - anubis | [] [] [] | - aspell | [] [] [] [] [] | - bash | [] [] | - bfd | [] | - bibshelf | [] [] | - binutils | [] [] | - bison | [] [] [] | - bison-runtime | [] [] [] [] [] [] [] | - bluez-pin | [] [] [] [] [] [] [] [] | - bombono-dvd | [] () | - buzztard | [] [] | - cflow | [] | - clisp | [] [] | - coreutils | [] [] [] [] [] [] | - cpio | [] [] [] | - cppi | [] | - cpplib | [] | - cryptsetup | [] | - dfarc | [] | - dialog | [] [] [] [] | - dico | [] | - diffutils | [] [] [] [] [] [] | - dink | () | - doodle | [] [] | - e2fsprogs | [] [] | - enscript | [] [] [] [] [] | - exif | [] [] [] () [] | - fetchmail | [] [] [] [] | - findutils | [] [] [] [] [] | - flex | [] [] [] [] [] | - freedink | [] [] | - gas | | - gawk | [] [] [] [] | - gcal | | - gcc | [] | - gettext-examples | [] [] [] [] [] [] [] [] | - gettext-runtime | [] [] [] [] [] [] [] [] [] | - gettext-tools | [] [] [] [] [] [] | - gip | [] [] [] [] [] | - gjay | | - gliv | [] [] [] [] [] [] | - glunarclock | [] [] [] [] [] | - gnubiff | [] () | - gnucash | [] () () () | - gnuedu | [] | - gnulib | [] [] [] [] | - gnunet | | - gnunet-gtk | | - gnutls | [] [] | - gold | | - gpe-aerial | [] [] [] [] [] [] [] | - gpe-beam | [] [] [] [] [] [] [] | - gpe-bluetooth | [] [] | - gpe-calendar | [] [] [] [] | - gpe-clock | [] [] [] [] [] [] [] [] | - gpe-conf | [] [] [] [] [] [] [] | - gpe-contacts | [] [] [] [] [] | - gpe-edit | [] [] [] | - gpe-filemanager | [] [] [] | - gpe-go | [] [] [] [] [] [] [] [] | - gpe-login | [] [] | - gpe-ownerinfo | [] [] [] [] [] [] [] [] | - gpe-package | [] [] | - gpe-sketchbook | [] [] [] [] [] [] [] | - gpe-su | [] [] [] [] [] [] [] [] | - gpe-taskmanager | [] [] [] [] [] [] [] [] | - gpe-timesheet | [] [] [] [] [] [] [] [] | - gpe-today | [] [] [] [] [] [] [] [] | - gpe-todo | [] [] [] [] [] | - gphoto2 | [] [] [] [] [] [] [] [] | - gprof | [] [] [] | - gpsdrive | [] [] | - gramadoir | [] [] | - grep | [] [] [] [] | - grub | [] [] [] | - gsasl | [] [] [] [] | - gss | [] [] [] | - gst-plugins-bad | [] [] [] [] [] | - gst-plugins-base | [] [] [] [] [] | - gst-plugins-good | [] [] [] [] [] | - gst-plugins-ugly | [] [] [] [] [] [] | - gstreamer | [] [] [] [] [] | - gtick | [] [] [] | - gtkam | [] [] [] [] [] [] | - gtkorphan | [] | - gtkspell | [] [] [] [] [] [] [] [] [] [] | - gutenprint | [] [] | - hello | [] [] [] [] | - help2man | [] [] | - hylafax | [] | - idutils | [] [] [] [] [] | - indent | [] [] [] [] [] [] [] | - iso_15924 | [] [] [] [] | - iso_3166 | [] [] [] [] [] () [] [] [] [] [] [] [] [] | - iso_3166_2 | [] [] [] | - iso_4217 | [] [] [] [] [] [] [] [] | - iso_639 | [] [] [] [] [] [] [] [] [] | - iso_639_3 | [] [] | - jwhois | [] [] [] [] | - kbd | [] [] [] | - keytouch | [] [] [] | - keytouch-editor | [] [] [] | - keytouch-keyboa... | [] [] [] | - klavaro | [] [] | - latrine | [] [] | - ld | | - leafpad | [] [] [] [] [] [] [] [] [] | - libc | [] [] [] [] | - libexif | [] [] () [] | - libextractor | | - libgnutls | [] [] | - libgpewidget | [] [] [] | - libgpg-error | [] [] | - libgphoto2 | [] [] | - libgphoto2_port | [] [] [] [] | - libgsasl | [] [] [] [] [] | - libiconv | [] [] [] [] [] | - libidn | [] [] | - lifelines | [] [] | - liferea | [] [] [] [] [] () () [] | - lilypond | [] | - linkdr | [] [] [] | - lordsawar | | - lprng | [] | - lynx | [] [] [] | - m4 | [] [] [] [] [] | - mailfromd | [] | - mailutils | [] | - make | [] [] [] [] | - man-db | [] [] [] | - man-db-manpages | [] [] [] | - minicom | [] [] [] [] | - mkisofs | [] [] [] | - myserver | | - nano | [] [] [] [] | - opcodes | [] [] | - parted | [] [] [] [] | - pies | [] | - popt | [] [] [] [] | - psmisc | [] [] [] | - pspp | [] [] | - pwdutils | [] | - radius | [] [] [] | - recode | [] [] [] [] [] [] [] [] | - rosegarden | () () | - rpm | [] [] [] | - rush | [] [] | - sarg | | - screem | | - scrollkeeper | [] [] [] [] [] [] [] [] | - sed | [] [] [] [] [] [] [] [] [] | - sharutils | [] [] [] [] | - shishi | [] | - skencil | [] [] | - solfege | [] [] [] [] | - solfege-manual | [] [] [] | - soundtracker | [] | - sp | | - sysstat | [] [] [] [] | - tar | [] [] [] [] | - texinfo | [] [] [] [] | - tin | [] | - unicode-han-tra... | | - unicode-transla... | | - util-linux-ng | [] [] [] [] [] | - vice | [] | - vmm | [] | - vorbis-tools | [] [] | - wastesedge | [] | - wdiff | [] [] | - wget | [] [] [] [] [] [] [] | - wyslij-po | [] [] [] | - xchat | [] [] [] [] [] [] [] [] [] | - xdg-user-dirs | [] [] [] [] [] [] [] [] [] [] [] [] [] [] | - xkeyboard-config | [] [] [] [] [] | - +---------------------------------------------------+ - nl nn or pa pl ps pt pt_BR ro ru rw sk sl sq sr - 135 10 4 7 105 1 29 61 47 91 3 55 47 8 37 - - sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW - +---------------------------------------------------+ - a2ps | [] [] [] [] [] | 27 - aegis | [] | 9 - ant-phone | [] [] [] [] | 9 - anubis | [] [] [] [] | 15 - aspell | [] [] [] | 20 - bash | [] [] | 11 - bfd | [] | 6 - bibshelf | [] [] [] | 16 - binutils | [] [] | 8 - bison | [] [] | 12 - bison-runtime | [] [] [] [] [] [] | 29 - bluez-pin | [] [] [] [] [] [] [] [] | 37 - bombono-dvd | [] | 4 - buzztard | [] | 7 - cflow | [] [] [] | 9 - clisp | | 10 - coreutils | [] [] [] [] | 22 - cpio | [] [] [] [] [] [] | 13 - cppi | [] [] | 5 - cpplib | [] [] [] [] [] [] | 13 - cryptsetup | [] [] | 7 - dfarc | [] | 9 - dialog | [] [] [] [] [] [] [] | 30 - dico | [] | 2 - diffutils | [] [] [] [] [] [] | 30 - dink | | 4 - doodle | [] [] | 7 - e2fsprogs | [] [] [] | 11 - enscript | [] [] [] [] | 17 - exif | [] [] [] | 16 - fetchmail | [] [] [] | 17 - findutils | [] [] [] [] [] | 20 - flex | [] [] [] [] | 15 - freedink | [] | 10 - gas | [] | 4 - gawk | [] [] [] [] | 18 - gcal | [] [] | 5 - gcc | [] [] [] | 7 - gettext-examples | [] [] [] [] [] [] [] | 34 - gettext-runtime | [] [] [] [] [] [] [] | 30 - gettext-tools | [] [] [] [] [] [] | 22 - gip | [] [] [] [] | 22 - gjay | [] | 3 - gliv | [] [] [] | 14 - glunarclock | [] [] [] [] [] | 19 - gnubiff | [] [] | 4 - gnucash | () [] () () | 9 - gnuedu | [] [] | 7 - gnulib | [] [] [] [] | 16 - gnunet | [] | 1 - gnunet-gtk | [] [] [] | 5 - gnutls | [] [] [] | 10 - gold | [] | 4 - gpe-aerial | [] [] [] | 18 - gpe-beam | [] [] [] | 19 - gpe-bluetooth | [] [] [] | 13 - gpe-calendar | [] [] [] [] | 12 - gpe-clock | [] [] [] [] [] | 28 - gpe-conf | [] [] [] [] | 20 - gpe-contacts | [] [] [] | 17 - gpe-edit | [] [] [] | 12 - gpe-filemanager | [] [] [] [] | 16 - gpe-go | [] [] [] [] [] | 25 - gpe-login | [] [] [] | 11 - gpe-ownerinfo | [] [] [] [] [] | 25 - gpe-package | [] [] [] | 13 - gpe-sketchbook | [] [] [] | 20 - gpe-su | [] [] [] [] [] | 30 - gpe-taskmanager | [] [] [] [] [] | 29 - gpe-timesheet | [] [] [] [] [] | 25 - gpe-today | [] [] [] [] [] [] | 30 - gpe-todo | [] [] [] [] | 17 - gphoto2 | [] [] [] [] [] | 24 - gprof | [] [] [] | 15 - gpsdrive | [] [] [] | 11 - gramadoir | [] [] [] | 11 - grep | [] [] [] | 10 - grub | [] [] [] | 14 - gsasl | [] [] [] [] | 14 - gss | [] [] [] | 11 - gst-plugins-bad | [] [] [] [] | 22 - gst-plugins-base | [] [] [] [] [] | 24 - gst-plugins-good | [] [] [] [] [] | 25 - gst-plugins-ugly | [] [] [] [] [] | 29 - gstreamer | [] [] [] [] | 22 - gtick | [] [] [] | 13 - gtkam | [] [] [] | 20 - gtkorphan | [] [] [] | 14 - gtkspell | [] [] [] [] [] [] [] [] [] | 45 - gutenprint | [] | 10 - hello | [] [] [] [] [] [] | 21 - help2man | [] [] | 7 - hylafax | [] | 5 - idutils | [] [] [] [] | 17 - indent | [] [] [] [] [] [] | 30 - iso_15924 | () [] () [] [] | 16 - iso_3166 | [] [] () [] [] () [] [] [] () | 53 - iso_3166_2 | () [] () [] | 9 - iso_4217 | [] () [] [] () [] [] | 26 - iso_639 | [] [] [] () [] () [] [] [] [] | 38 - iso_639_3 | [] () | 8 - jwhois | [] [] [] [] [] | 16 - kbd | [] [] [] [] [] | 15 - keytouch | [] [] [] | 16 - keytouch-editor | [] [] [] | 14 - keytouch-keyboa... | [] [] [] | 14 - klavaro | [] | 11 - latrine | [] [] [] | 10 - ld | [] [] [] [] | 11 - leafpad | [] [] [] [] [] [] | 33 - libc | [] [] [] [] [] | 21 - libexif | [] () | 6 - libextractor | [] | 1 - libgnutls | [] [] [] | 9 - libgpewidget | [] [] [] | 14 - libgpg-error | [] [] [] | 9 - libgphoto2 | [] [] | 8 - libgphoto2_port | [] [] [] [] | 13 - libgsasl | [] [] [] | 13 - libiconv | [] [] [] [] | 21 - libidn | () [] [] | 11 - lifelines | [] | 4 - liferea | [] [] [] | 21 - lilypond | [] | 7 - linkdr | [] [] [] [] [] | 17 - lordsawar | | 1 - lprng | [] | 3 - lynx | [] [] [] [] | 17 - m4 | [] [] [] [] | 19 - mailfromd | [] [] | 3 - mailutils | [] | 5 - make | [] [] [] [] | 21 - man-db | [] [] [] | 8 - man-db-manpages | | 4 - minicom | [] [] | 16 - mkisofs | [] [] | 9 - myserver | | 0 - nano | [] [] [] [] | 21 - opcodes | [] [] [] | 11 - parted | [] [] [] [] [] | 15 - pies | [] [] | 3 - popt | [] [] [] [] [] [] | 27 - psmisc | [] [] | 11 - pspp | | 4 - pwdutils | [] [] | 6 - radius | [] [] | 9 - recode | [] [] [] [] | 28 - rosegarden | () | 0 - rpm | [] [] [] | 11 - rush | [] [] | 4 - sarg | | 1 - screem | [] | 3 - scrollkeeper | [] [] [] [] [] | 27 - sed | [] [] [] [] [] | 30 - sharutils | [] [] [] [] [] | 22 - shishi | [] | 3 - skencil | [] [] | 7 - solfege | [] [] [] [] | 16 - solfege-manual | [] | 8 - soundtracker | [] [] [] | 9 - sp | [] | 3 - sysstat | [] [] | 15 - tar | [] [] [] [] [] [] | 23 - texinfo | [] [] [] [] | 16 - tin | | 4 - unicode-han-tra... | | 0 - unicode-transla... | | 2 - util-linux-ng | [] [] [] [] | 20 - vice | () () | 1 - vmm | [] | 4 - vorbis-tools | [] | 6 - wastesedge | | 2 - wdiff | [] [] | 7 - wget | [] [] [] [] [] | 26 - wyslij-po | [] [] | 8 - xchat | [] [] [] [] [] [] | 36 - xdg-user-dirs | [] [] [] [] [] [] [] [] [] | 60 - xkeyboard-config | [] [] [] [] | 25 - +---------------------------------------------------+ - 84 teams sv sw ta te tg th tr uk vi wa zh_CN zh_HK zh_TW - 178 domains 119 1 3 2 0 10 66 50 155 17 97 7 41 2610 - - Some counters in the preceding matrix are higher than the number of -visible blocks let us expect. This is because a few extra PO files are -used for implementing regional variants of languages, or language -dialects. - - For a PO file in the matrix above to be effective, the package to -which it applies should also have been internationalized and -distributed as such by its maintainer. There might be an observable -lag between the mere existence a PO file and its wide availability in a -distribution. - - If May 2010 seems to be old, you may fetch a more recent copy of -this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date -matrix with full percentage details can be found at -`http://translationproject.org/extra/matrix.html'. - -1.6 Using `gettext' in new packages -=================================== - -If you are writing a freely available program and want to -internationalize it you are welcome to use GNU `gettext' in your -package. Of course you have to respect the GNU Library General Public -License which covers the use of the GNU `gettext' library. This means -in particular that even non-free programs can use `libintl' as a shared -library, whereas only free software can use `libintl' as a static -library or use modified versions of `libintl'. - - Once the sources are changed appropriately and the setup can handle -the use of `gettext' the only thing missing are the translations. The -Free Translation Project is also available for packages which are not -developed inside the GNU project. Therefore the information given above -applies also for every other Free Software Project. Contact -`coordinator@translationproject.org' to make the `.pot' files available -to the translation teams. - diff --git a/Build/source/extra/xz/AUTHORS b/Build/source/extra/xz/AUTHORS deleted file mode 100644 index bda87975a51..00000000000 --- a/Build/source/extra/xz/AUTHORS +++ /dev/null @@ -1,27 +0,0 @@ - -Authors of XZ Utils -=================== - - XZ Utils is developed and maintained by Lasse Collin - . - - Major parts of liblzma are based on code written by Igor Pavlov, - specifically the LZMA SDK . Without - this code, XZ Utils wouldn't exist. - - The SHA-256 implementation in liblzma is based on the code found from - 7-Zip , which has a modified version of the SHA-256 - code found from Crypto++ . The SHA-256 code - in Crypto++ was written by Kevin Springle and Wei Dai. - - Some scripts have been adapted from gzip. The original versions - were written by Jean-loup Gailly, Charles Levert, and Paul Eggert. - Andrew Dudman helped adapting the scripts and their man pages for - XZ Utils. - - The GNU Autotools-based build system contains files from many authors, - which I'm not trying to list here. - - Several people have contributed fixes or reported bugs. Most of them - are mentioned in the file THANKS. - diff --git a/Build/source/extra/xz/COPYING b/Build/source/extra/xz/COPYING deleted file mode 100644 index 43c90d0598c..00000000000 --- a/Build/source/extra/xz/COPYING +++ /dev/null @@ -1,65 +0,0 @@ - -XZ Utils Licensing -================== - - Different licenses apply to different files in this package. Here - is a rough summary of which licenses apply to which parts of this - package (but check the individual files to be sure!): - - - liblzma is in the public domain. - - - xz, xzdec, and lzmadec command line tools are in the public - domain unless GNU getopt_long had to be compiled and linked - in from the lib directory. The getopt_long code is under - GNU LGPLv2.1+. - - - The scripts to grep, diff, and view compressed files have been - adapted from gzip. These scripts and their documentation are - under GNU GPLv2+. - - - All the documentation in the doc directory and most of the - XZ Utils specific documentation files in other directories - are in the public domain. - - - Translated messages are in the public domain. - - - The build system contains public domain files, and files that - are under GNU GPLv2+ or GNU GPLv3+. None of these files end up - in the binaries being built. - - - Test files and test code in the tests directory, and debugging - utilities in the debug directory are in the public domain. - - - The extra directory may contain public domain files, and files - that are under various free software licenses. - - You can do whatever you want with the files that have been put into - the public domain. If you find public domain legally problematic, - take the previous sentence as a license grant. If you still find - the lack of copyright legally problematic, you have too many - lawyers. - - As usual, this software is provided "as is", without any warranty. - - If you copy significant amounts of public domain code from XZ Utils - into your project, acknowledging this somewhere in your software is - polite (especially if it is proprietary, non-free software), but - naturally it is not legally required. Here is an example of a good - notice to put into "about box" or into documentation: - - This software includes code from XZ Utils . - - The following license texts are included in the following files: - - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 - - COPYING.GPLv2: GNU General Public License version 2 - - COPYING.GPLv3: GNU General Public License version 3 - - Note that the toolchain (compiler, linker etc.) may add some code - pieces that are copyrighted. Thus, it is possible that e.g. liblzma - binary wouldn't actually be in the public domain in its entirety - even though it contains no copyrighted code from the XZ Utils source - package. - - If you have questions, don't hesitate to ask the author(s) for more - information. - diff --git a/Build/source/extra/xz/COPYING.GPLv2 b/Build/source/extra/xz/COPYING.GPLv2 deleted file mode 100644 index d511905c164..00000000000 --- a/Build/source/extra/xz/COPYING.GPLv2 +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/Build/source/extra/xz/COPYING.GPLv3 b/Build/source/extra/xz/COPYING.GPLv3 deleted file mode 100644 index 94a9ed024d3..00000000000 --- a/Build/source/extra/xz/COPYING.GPLv3 +++ /dev/null @@ -1,674 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. diff --git a/Build/source/extra/xz/COPYING.LGPLv2.1 b/Build/source/extra/xz/COPYING.LGPLv2.1 deleted file mode 100644 index 5ab7695ab8c..00000000000 --- a/Build/source/extra/xz/COPYING.LGPLv2.1 +++ /dev/null @@ -1,504 +0,0 @@ - GNU LESSER GENERAL PUBLIC LICENSE - Version 2.1, February 1999 - - Copyright (C) 1991, 1999 Free Software Foundation, Inc. - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - -[This is the first released version of the Lesser GPL. It also counts - as the successor of the GNU Library Public License, version 2, hence - the version number 2.1.] - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -Licenses are intended to guarantee your freedom to share and change -free software--to make sure the software is free for all its users. - - This license, the Lesser General Public License, applies to some -specially designated software packages--typically libraries--of the -Free Software Foundation and other authors who decide to use it. You -can use it too, but we suggest you first think carefully about whether -this license or the ordinary General Public License is the better -strategy to use in any particular case, based on the explanations below. - - When we speak of free software, we are referring to freedom of use, -not price. Our General Public Licenses are designed to make sure that -you have the freedom to distribute copies of free software (and charge -for this service if you wish); that you receive source code or can get -it if you want it; that you can change the software and use pieces of -it in new free programs; and that you are informed that you can do -these things. - - To protect your rights, we need to make restrictions that forbid -distributors to deny you these rights or to ask you to surrender these -rights. These restrictions translate to certain responsibilities for -you if you distribute copies of the library or if you modify it. - - For example, if you distribute copies of the library, whether gratis -or for a fee, you must give the recipients all the rights that we gave -you. You must make sure that they, too, receive or can get the source -code. If you link other code with the library, you must provide -complete object files to the recipients, so that they can relink them -with the library after making changes to the library and recompiling -it. And you must show them these terms so they know their rights. - - We protect your rights with a two-step method: (1) we copyright the -library, and (2) we offer you this license, which gives you legal -permission to copy, distribute and/or modify the library. - - To protect each distributor, we want to make it very clear that -there is no warranty for the free library. Also, if the library is -modified by someone else and passed on, the recipients should know -that what they have is not the original version, so that the original -author's reputation will not be affected by problems that might be -introduced by others. - - Finally, software patents pose a constant threat to the existence of -any free program. We wish to make sure that a company cannot -effectively restrict the users of a free program by obtaining a -restrictive license from a patent holder. Therefore, we insist that -any patent license obtained for a version of the library must be -consistent with the full freedom of use specified in this license. - - Most GNU software, including some libraries, is covered by the -ordinary GNU General Public License. This license, the GNU Lesser -General Public License, applies to certain designated libraries, and -is quite different from the ordinary General Public License. We use -this license for certain libraries in order to permit linking those -libraries into non-free programs. - - When a program is linked with a library, whether statically or using -a shared library, the combination of the two is legally speaking a -combined work, a derivative of the original library. The ordinary -General Public License therefore permits such linking only if the -entire combination fits its criteria of freedom. The Lesser General -Public License permits more lax criteria for linking other code with -the library. - - We call this license the "Lesser" General Public License because it -does Less to protect the user's freedom than the ordinary General -Public License. It also provides other free software developers Less -of an advantage over competing non-free programs. These disadvantages -are the reason we use the ordinary General Public License for many -libraries. However, the Lesser license provides advantages in certain -special circumstances. - - For example, on rare occasions, there may be a special need to -encourage the widest possible use of a certain library, so that it becomes -a de-facto standard. To achieve this, non-free programs must be -allowed to use the library. A more frequent case is that a free -library does the same job as widely used non-free libraries. In this -case, there is little to gain by limiting the free library to free -software only, so we use the Lesser General Public License. - - In other cases, permission to use a particular library in non-free -programs enables a greater number of people to use a large body of -free software. For example, permission to use the GNU C Library in -non-free programs enables many more people to use the whole GNU -operating system, as well as its variant, the GNU/Linux operating -system. - - Although the Lesser General Public License is Less protective of the -users' freedom, it does ensure that the user of a program that is -linked with the Library has the freedom and the wherewithal to run -that program using a modified version of the Library. - - The precise terms and conditions for copying, distribution and -modification follow. Pay close attention to the difference between a -"work based on the library" and a "work that uses the library". The -former contains code derived from the library, whereas the latter must -be combined with the library in order to run. - - GNU LESSER GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License Agreement applies to any software library or other -program which contains a notice placed by the copyright holder or -other authorized party saying it may be distributed under the terms of -this Lesser General Public License (also called "this License"). -Each licensee is addressed as "you". - - A "library" means a collection of software functions and/or data -prepared so as to be conveniently linked with application programs -(which use some of those functions and data) to form executables. - - The "Library", below, refers to any such software library or work -which has been distributed under these terms. A "work based on the -Library" means either the Library or any derivative work under -copyright law: that is to say, a work containing the Library or a -portion of it, either verbatim or with modifications and/or translated -straightforwardly into another language. (Hereinafter, translation is -included without limitation in the term "modification".) - - "Source code" for a work means the preferred form of the work for -making modifications to it. For a library, complete source code means -all the source code for all modules it contains, plus any associated -interface definition files, plus the scripts used to control compilation -and installation of the library. - - Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running a program using the Library is not restricted, and output from -such a program is covered only if its contents constitute a work based -on the Library (independent of the use of the Library in a tool for -writing it). Whether that is true depends on what the Library does -and what the program that uses the Library does. - - 1. You may copy and distribute verbatim copies of the Library's -complete source code as you receive it, in any medium, provided that -you conspicuously and appropriately publish on each copy an -appropriate copyright notice and disclaimer of warranty; keep intact -all the notices that refer to this License and to the absence of any -warranty; and distribute a copy of this License along with the -Library. - - You may charge a fee for the physical act of transferring a copy, -and you may at your option offer warranty protection in exchange for a -fee. - - 2. You may modify your copy or copies of the Library or any portion -of it, thus forming a work based on the Library, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) The modified work must itself be a software library. - - b) You must cause the files modified to carry prominent notices - stating that you changed the files and the date of any change. - - c) You must cause the whole of the work to be licensed at no - charge to all third parties under the terms of this License. - - d) If a facility in the modified Library refers to a function or a - table of data to be supplied by an application program that uses - the facility, other than as an argument passed when the facility - is invoked, then you must make a good faith effort to ensure that, - in the event an application does not supply such function or - table, the facility still operates, and performs whatever part of - its purpose remains meaningful. - - (For example, a function in a library to compute square roots has - a purpose that is entirely well-defined independent of the - application. Therefore, Subsection 2d requires that any - application-supplied function or table used by this function must - be optional: if the application does not supply it, the square - root function must still compute square roots.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Library, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Library, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote -it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Library. - -In addition, mere aggregation of another work not based on the Library -with the Library (or with a work based on the Library) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may opt to apply the terms of the ordinary GNU General Public -License instead of this License to a given copy of the Library. To do -this, you must alter all the notices that refer to this License, so -that they refer to the ordinary GNU General Public License, version 2, -instead of to this License. (If a newer version than version 2 of the -ordinary GNU General Public License has appeared, then you can specify -that version instead if you wish.) Do not make any other change in -these notices. - - Once this change is made in a given copy, it is irreversible for -that copy, so the ordinary GNU General Public License applies to all -subsequent copies and derivative works made from that copy. - - This option is useful when you wish to copy part of the code of -the Library into a program that is not a library. - - 4. You may copy and distribute the Library (or a portion or -derivative of it, under Section 2) in object code or executable form -under the terms of Sections 1 and 2 above provided that you accompany -it with the complete corresponding machine-readable source code, which -must be distributed under the terms of Sections 1 and 2 above on a -medium customarily used for software interchange. - - If distribution of object code is made by offering access to copy -from a designated place, then offering equivalent access to copy the -source code from the same place satisfies the requirement to -distribute the source code, even though third parties are not -compelled to copy the source along with the object code. - - 5. A program that contains no derivative of any portion of the -Library, but is designed to work with the Library by being compiled or -linked with it, is called a "work that uses the Library". Such a -work, in isolation, is not a derivative work of the Library, and -therefore falls outside the scope of this License. - - However, linking a "work that uses the Library" with the Library -creates an executable that is a derivative of the Library (because it -contains portions of the Library), rather than a "work that uses the -library". The executable is therefore covered by this License. -Section 6 states terms for distribution of such executables. - - When a "work that uses the Library" uses material from a header file -that is part of the Library, the object code for the work may be a -derivative work of the Library even though the source code is not. -Whether this is true is especially significant if the work can be -linked without the Library, or if the work is itself a library. The -threshold for this to be true is not precisely defined by law. - - If such an object file uses only numerical parameters, data -structure layouts and accessors, and small macros and small inline -functions (ten lines or less in length), then the use of the object -file is unrestricted, regardless of whether it is legally a derivative -work. (Executables containing this object code plus portions of the -Library will still fall under Section 6.) - - Otherwise, if the work is a derivative of the Library, you may -distribute the object code for the work under the terms of Section 6. -Any executables containing that work also fall under Section 6, -whether or not they are linked directly with the Library itself. - - 6. As an exception to the Sections above, you may also combine or -link a "work that uses the Library" with the Library to produce a -work containing portions of the Library, and distribute that work -under terms of your choice, provided that the terms permit -modification of the work for the customer's own use and reverse -engineering for debugging such modifications. - - You must give prominent notice with each copy of the work that the -Library is used in it and that the Library and its use are covered by -this License. You must supply a copy of this License. If the work -during execution displays copyright notices, you must include the -copyright notice for the Library among them, as well as a reference -directing the user to the copy of this License. Also, you must do one -of these things: - - a) Accompany the work with the complete corresponding - machine-readable source code for the Library including whatever - changes were used in the work (which must be distributed under - Sections 1 and 2 above); and, if the work is an executable linked - with the Library, with the complete machine-readable "work that - uses the Library", as object code and/or source code, so that the - user can modify the Library and then relink to produce a modified - executable containing the modified Library. (It is understood - that the user who changes the contents of definitions files in the - Library will not necessarily be able to recompile the application - to use the modified definitions.) - - b) Use a suitable shared library mechanism for linking with the - Library. A suitable mechanism is one that (1) uses at run time a - copy of the library already present on the user's computer system, - rather than copying library functions into the executable, and (2) - will operate properly with a modified version of the library, if - the user installs one, as long as the modified version is - interface-compatible with the version that the work was made with. - - c) Accompany the work with a written offer, valid for at - least three years, to give the same user the materials - specified in Subsection 6a, above, for a charge no more - than the cost of performing this distribution. - - d) If distribution of the work is made by offering access to copy - from a designated place, offer equivalent access to copy the above - specified materials from the same place. - - e) Verify that the user has already received a copy of these - materials or that you have already sent this user a copy. - - For an executable, the required form of the "work that uses the -Library" must include any data and utility programs needed for -reproducing the executable from it. However, as a special exception, -the materials to be distributed need not include anything that is -normally distributed (in either source or binary form) with the major -components (compiler, kernel, and so on) of the operating system on -which the executable runs, unless that component itself accompanies -the executable. - - It may happen that this requirement contradicts the license -restrictions of other proprietary libraries that do not normally -accompany the operating system. Such a contradiction means you cannot -use both them and the Library together in an executable that you -distribute. - - 7. You may place library facilities that are a work based on the -Library side-by-side in a single library together with other library -facilities not covered by this License, and distribute such a combined -library, provided that the separate distribution of the work based on -the Library and of the other library facilities is otherwise -permitted, and provided that you do these two things: - - a) Accompany the combined library with a copy of the same work - based on the Library, uncombined with any other library - facilities. This must be distributed under the terms of the - Sections above. - - b) Give prominent notice with the combined library of the fact - that part of it is a work based on the Library, and explaining - where to find the accompanying uncombined form of the same work. - - 8. You may not copy, modify, sublicense, link with, or distribute -the Library except as expressly provided under this License. Any -attempt otherwise to copy, modify, sublicense, link with, or -distribute the Library is void, and will automatically terminate your -rights under this License. However, parties who have received copies, -or rights, from you under this License will not have their licenses -terminated so long as such parties remain in full compliance. - - 9. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Library or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Library (or any work based on the -Library), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Library or works based on it. - - 10. Each time you redistribute the Library (or any work based on the -Library), the recipient automatically receives a license from the -original licensor to copy, distribute, link with or modify the Library -subject to these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties with -this License. - - 11. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Library at all. For example, if a patent -license would not permit royalty-free redistribution of the Library by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Library. - -If any portion of this section is held invalid or unenforceable under any -particular circumstance, the balance of the section is intended to apply, -and the section as a whole is intended to apply in other circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 12. If the distribution and/or use of the Library is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Library under this License may add -an explicit geographical distribution limitation excluding those countries, -so that distribution is permitted only in or among countries not thus -excluded. In such case, this License incorporates the limitation as if -written in the body of this License. - - 13. The Free Software Foundation may publish revised and/or new -versions of the Lesser General Public License from time to time. -Such new versions will be similar in spirit to the present version, -but may differ in detail to address new problems or concerns. - -Each version is given a distinguishing version number. If the Library -specifies a version number of this License which applies to it and -"any later version", you have the option of following the terms and -conditions either of that version or of any later version published by -the Free Software Foundation. If the Library does not specify a -license version number, you may choose any version ever published by -the Free Software Foundation. - - 14. If you wish to incorporate parts of the Library into other free -programs whose distribution conditions are incompatible with these, -write to the author to ask for permission. For software which is -copyrighted by the Free Software Foundation, write to the Free -Software Foundation; we sometimes make exceptions for this. Our -decision will be guided by the two goals of preserving the free status -of all derivatives of our free software and of promoting the sharing -and reuse of software generally. - - NO WARRANTY - - 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO -WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. -EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR -OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY -KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE -LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME -THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN -WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY -AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU -FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR -CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE -LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A -FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF -SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH -DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Libraries - - If you develop a new library, and you want it to be of the greatest -possible use to the public, we recommend making it free software that -everyone can redistribute and change. You can do so by permitting -redistribution under these terms (or, alternatively, under the terms of the -ordinary General Public License). - - To apply these terms, attach the following notices to the library. It is -safest to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least the -"copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - -Also add information on how to contact you by electronic and paper mail. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the library, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the - library `Frob' (a library for tweaking knobs) written by James Random Hacker. - - , 1 April 1990 - Ty Coon, President of Vice - -That's all there is to it! - - diff --git a/Build/source/extra/xz/ChangeLog b/Build/source/extra/xz/ChangeLog deleted file mode 100644 index e003ddc54e3..00000000000 --- a/Build/source/extra/xz/ChangeLog +++ /dev/null @@ -1,11769 +0,0 @@ -commit b69900ed0b2f914fc6c0a180dcb522dbe5b80ea7 -Author: Lasse Collin -Date: 2013-06-30 18:02:27 +0300 - - Man pages: Use similar syntax for synopsis as in xz. - - The man pages of lzmainfo, xzmore, and xzdec had similar - constructs as the man page of xz had before the commit - eb6ca9854b8eb9fbf72497c1cf608d6b19d2d494. Eric S. Raymond - didn't mention these man pages in his bug report, but - it's nice to be consistent. - - src/lzmainfo/lzmainfo.1 | 4 ++-- - src/scripts/xzmore.1 | 6 +++--- - src/xzdec/xzdec.1 | 10 +++++----- - 3 files changed, 10 insertions(+), 10 deletions(-) - -commit cf4a1e1879d89be314ef3c064bd2656ea452f87e -Author: Lasse Collin -Date: 2013-06-30 15:55:09 +0300 - - Update NEWS for 5.0.5. - - NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 52 insertions(+) - -commit cb94bb6d1f34e1e93c2d634ea9c3b7dfb3981d05 -Author: Lasse Collin -Date: 2013-06-30 15:54:38 +0300 - - Bump version and soname for 5.0.5. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b7dee202d5b041ccae028d0c5433b83cecbe9e5d -Author: Lasse Collin -Date: 2013-06-28 23:56:17 +0300 - - xz: Fix return value type in io_write_buf(). - - It didn't affect the behavior of the code since -1 - becomes true anyway. - - src/xz/file_io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 265e7b44d804b47373f10b7da28350db7611cea6 -Author: Lasse Collin -Date: 2013-06-28 18:46:13 +0300 - - xz: Remove an outdated NetBSD-specific comment. - - Nowadays errno == EFTYPE is documented in open(2). - - src/xz/file_io.c | 4 ---- - 1 file changed, 4 deletions(-) - -commit 78c2f8db902195468b8249c432252a6b281db836 -Author: Lasse Collin -Date: 2013-06-28 18:09:47 +0300 - - xz: Fix error detection of fcntl(fd, F_SETFL, flags) calls. - - POSIX says that fcntl(fd, F_SETFL, flags) returns -1 on - error and "other than -1" on success. This is how it is - documented e.g. on OpenBSD too. On Linux, success with - F_SETFL is always 0 (at least accorinding to fcntl(2) - from man-pages 3.51). - - src/xz/file_io.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 91750dff8f2c654ff636f12a2acdffe5492374b3 -Author: Lasse Collin -Date: 2013-06-28 17:36:47 +0300 - - xz: Fix use of wrong variable in a fcntl() call. - - Due to a wrong variable name, when writing a sparse file - to standard output, *all* file status flags were cleared - (to the extent the operating system allowed it) instead of - only clearing the O_APPEND flag. In practice this worked - fine in the common situations on GNU/Linux, but I didn't - check how it behaved elsewhere. - - The original flags were still restored correctly. I still - changed the code to use a separate boolean variable to - indicate when the flags should be restored instead of - relying on a special value in stdout_flags. - - src/xz/file_io.c | 24 +++++++++++++----------- - 1 file changed, 13 insertions(+), 11 deletions(-) - -commit e11888a79a4a77a69afde60445880d44f63d01aa -Author: Lasse Collin -Date: 2013-06-26 13:30:57 +0300 - - xz: Check the value of lzma_stream_flags.version in --list. - - It is a no-op for now, but if an old xz version is used - together with a newer liblzma that supports something new, - then this check becomes important and will stop the old xz - from trying to parse files that it won't understand. - - src/xz/list.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit f39ddd88f3222219ada88998cf30abfdd3e0e96c -Author: Lasse Collin -Date: 2013-06-26 12:17:00 +0300 - - Build: Require Automake 1.12 and use serial-tests option. - - It should actually still work with Automake 1.10 if - the serial-tests option is removed. Automake 1.13 started - using parallel tests by default and the option to get - the old behavior isn't supported before 1.12. - - At least for now, parallel tests don't improve anything - in XZ Utils but they hide the progress output from - test_compress.sh. - - configure.ac | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit cb84e278027a90e9827a6f4d3bb0b4d4744a2fbb -Author: Lasse Collin -Date: 2013-06-23 17:36:47 +0300 - - xz: Validate Uncompressed Size from Block Header in list.c. - - This affects only "xz -lvv". Normal decompression with xz - already detected if Block Header and Index had mismatched - Uncompressed Size fields. So this just makes "xz -lvv" - show such files as corrupt instead of showing the - Uncompressed Size from Index. - - src/xz/list.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -commit f01780fce454c7489f7dcbf806299b50da5f51b7 -Author: Lasse Collin -Date: 2013-06-26 10:58:58 +0300 - - Update THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit d98ede7d700b892e32d9c2f46563b6ebc566786d -Author: Lasse Collin -Date: 2013-06-21 22:04:45 +0300 - - xz: Make the man page more friendly to doclifter. - - Thanks to Eric S. Raymond. - - src/xz/xz.1 | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 19b447b64b3f520cd5b11429000b092f7c76709b -Author: Lasse Collin -Date: 2013-06-21 21:54:59 +0300 - - xz: A couple of man page fixes. - - Now the interaction of presets and custom filter chains - is described correctly. Earlier it contradicted itself. - - Thanks to DevHC who reported these issues on IRC to me - on 2012-12-14. - - src/xz/xz.1 | 35 +++++++++++++++++++++++------------ - 1 file changed, 23 insertions(+), 12 deletions(-) - -commit 45edf2966fc9a4d2eae8f84b2fa027fb4fa1df8b -Author: Lasse Collin -Date: 2013-06-21 21:50:26 +0300 - - xz: Fix interaction between preset and custom filter chains. - - There was somewhat illogical behavior when --extreme was - specified and mixed with custom filter chains. - - Before this commit, "xz -9 --lzma2 -e" was equivalent - to "xz --lzma2". After it is equivalent to "xz -6e" - (all earlier preset options get forgotten when a custom - filter chain is specified and the default preset is 6 - to which -e is applied). I find this less illogical. - - This also affects the meaning of "xz -9e --lzma2 -7". - Earlier it was equivalent to "xz -7e" (the -e specified - before a custom filter chain wasn't forgotten). Now it - is "xz -7". Note that "xz -7e" still is the same as "xz -e7". - - Hopefully very few cared about this in the first place, - so pretty much no one should even notice this change. - - Thanks to Conley Moorhous. - - src/xz/coder.c | 35 +++++++++++++++++++++-------------- - 1 file changed, 21 insertions(+), 14 deletions(-) - -commit b065984e5a9272eb50bc0c6d3731e6199c0ae8a8 -Author: Lasse Collin -Date: 2011-04-08 17:53:05 +0300 - - xz: Change size_t to uint32_t in a few places. - - src/xz/coder.c | 6 +++--- - src/xz/coder.h | 2 +- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 32be621f52f2e1686db88baa7b01dc1ae338f426 -Author: Lasse Collin -Date: 2013-04-27 22:07:46 +0300 - - Build: Use -Wvla with GCC if supported. - - Variable-length arrays are mandatory in C99 but optional in C11. - The code doesn't currently use any VLAs and it shouldn't in the - future either to stay compatible with C11 without requiring any - optional C11 features. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit efb07cfba65e9e05984c02cd796c1b0338ce04dc -Author: Lasse Collin -Date: 2013-04-15 19:29:09 +0300 - - xzdec: Improve the --help message. - - The options are now ordered in the same order as in xz's help - message. - - Descriptions were added to the options that are ignored. - I left them in parenthesis even if it looks a bit weird - because I find it easier to spot the ignored vs. non-ignored - options from the list that way. - - src/xzdec/xzdec.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit e3c8be13699e2813f5e2879d8187444b46d82d89 -Author: Lasse Collin -Date: 2013-04-05 19:25:40 +0300 - - Update THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit ad8282efe483612f6b5544f9a0d2e4914fb2532a -Author: Jeff Bastian -Date: 2013-04-03 13:59:17 +0200 - - xzgrep: make the '-h' option to be --no-filename equivalent - - * src/scripts/xzgrep.in: Accept the '-h' option in argument parsing. - - src/scripts/xzgrep.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9271a3eb0e022b23e8712154be851d0afe4c02e4 -Author: Lasse Collin -Date: 2013-04-05 19:34:09 +0300 - - liblzma: Be less picky in lzma_alone_decoder(). - - To avoid false positives when detecting .lzma files, - rare values in dictionary size and uncompressed size fields - were rejected. They will still be rejected if .lzma files - are decoded with lzma_auto_decoder(), but when using - lzma_alone_decoder() directly, such files will now be accepted. - Hopefully this is an OK compromise. - - This doesn't affect xz because xz still has its own file - format detection code. This does affect lzmadec though. - So after this commit lzmadec will accept files that xz or - xz-emulating-lzma doesn't. - - NOTE: lzma_alone_decoder() still won't decode all .lzma files - because liblzma's LZMA decoder doesn't support lc + lp > 4. - - Reported here: - http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/7068827 - - Conflicts: - src/liblzma/common/alone_decoder.c - src/liblzma/common/alone_decoder.h - - src/liblzma/common/alone_decoder.c | 22 ++++++++++++++-------- - src/liblzma/common/alone_decoder.h | 5 +++-- - src/liblzma/common/auto_decoder.c | 2 +- - 3 files changed, 18 insertions(+), 11 deletions(-) - -commit 211b931cee58626c1d2e021810cb108cb5cbc10f -Author: Lasse Collin -Date: 2013-03-05 19:14:50 +0200 - - Avoid unneeded use of awk in xzless. - - Use "read" instead of "awk" in xzless to get the version - number of "less". The need for awk was introduced in - the commit db5c1817fabf7cbb9e4087b1576eb26f0747338e. - - Thanks to Ariel P for the patch. - - src/scripts/xzless.in | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 9f62fd9605eade23b62b07a235d1f02156f7a5c6 -Author: Jonathan Nieder -Date: 2012-11-19 00:10:10 -0800 - - xzless: Make "less -V" parsing more robust - - In v4.999.9beta~30 (xzless: Support compressed standard input, - 2009-08-09), xzless learned to parse ‘less -V’ output to figure out - whether less is new enough to handle $LESSOPEN settings starting - with “|-”. That worked well for a while, but the version string from - ‘less’ versions 448 (June, 2012) is misparsed, producing a warning: - - $ xzless /tmp/test.xz; echo $? - /usr/bin/xzless: line 49: test: 456 (GNU regular expressions): \ - integer expression expected - 0 - - More precisely, modern ‘less’ lists the regexp implementation along - with its version number, and xzless passes the entire version number - with attached parenthetical phrase as a number to "test $a -gt $b", - producing the above confusing message. - - $ less-444 -V | head -1 - less 444 - $ less -V | head -1 - less 456 (no regular expressions) - - So relax the pattern matched --- instead of expecting "less ", - look for a line of the form "less [ (extra parenthetical)]". - While at it, improve the behavior when no matching line is found --- - instead of producing a cryptic message, we can fall back on a LESSPIPE - setting that is supported by all versions of ‘less’. - - The implementation uses "awk" for simplicity. Hopefully that’s - portable enough. - - Reported-by: Jörg-Volker Peetz - Signed-off-by: Jonathan Nieder - - src/scripts/xzless.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 1d05980f5b5c2c94d833001daccacce4a466876e -Author: Lasse Collin -Date: 2012-10-03 15:54:24 +0300 - - xz: Fix the note about --rsyncable on the man page. - - src/xz/xz.1 | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -commit fb68497333598688d309a92838d91fd560f7e9f0 -Author: Lasse Collin -Date: 2012-09-28 20:11:09 +0300 - - xz: Improve handling of failed realloc in xrealloc. - - Thanks to Jim Meyering. - - src/xz/util.c | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -commit 75013db6d4d63c195bd8b8d45729b4be0665a812 -Author: Lasse Collin -Date: 2012-12-15 20:01:02 +0200 - - A few typo fixes to comments and the xz man page. - - Thanks to Jim Meyering. - - configure.ac | 2 +- - src/liblzma/check/sha256.c | 1 - - src/xz/xz.1 | 4 ++-- - 3 files changed, 3 insertions(+), 4 deletions(-) - -commit e44b21839b1dcbac5097be39b87dd2ddb6e114fd -Author: Lasse Collin -Date: 2012-08-02 17:13:30 +0300 - - Build: Bump gettext version requirement to 0.18. - - Otherwise too old version of m4/lib-link.m4 gets included - when autoreconf -fi is run. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fd3dbb23ca7e75a7a888d7e897c381dc06308307 -Author: Lasse Collin -Date: 2012-07-05 07:36:28 +0300 - - Tests: Remove tests/test_block.c that had gotten committed accidentally. - - tests/test_block.c | 52 ---------------------------------------------------- - 1 file changed, 52 deletions(-) - -commit 05a735d279d74af437c31f25f69aded4713c1a3d -Author: Lasse Collin -Date: 2012-07-05 07:33:35 +0300 - - Build: Include macosx/build.sh in the distribution. - - It has been in the Git repository since 2010 but probably - few people have seen it since it hasn't been included in - the release tarballs. :-( - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 4e6d62793b5e7b87edcc93c7ded072c1ecd94173 -Author: Lasse Collin -Date: 2012-07-05 07:24:45 +0300 - - Docs: Fix the name LZMA Utils -> XZ Utils in debug/README. - - debug/README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit dd95b5e7614baf1f07a1316b5106bd616a9efa79 -Author: Lasse Collin -Date: 2012-07-05 07:23:17 +0300 - - Include debug/translation.bash in the distribution. - - Also fix the script name mentioned in README. - - README | 4 ++-- - debug/Makefile.am | 3 +++ - 2 files changed, 5 insertions(+), 2 deletions(-) - -commit 20778053a07eb90c159c1377ca8dc05a90fd530b -Author: Lasse Collin -Date: 2012-06-22 14:36:16 +0300 - - xz: Update man page date to match the latest update. - - src/xz/xz.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2cefa84af676da37d7e9c466d55d46c67ab00c22 -Author: Lasse Collin -Date: 2012-06-22 10:25:43 +0300 - - Bump version and soname for 5.0.4. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 433fec191a17e45690809e54146ea7a773f54cff -Author: Lasse Collin -Date: 2012-06-22 10:25:09 +0300 - - Update NEWS for 5.0.4. - - NEWS | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -commit 711fa680f552a4003df73b37e6dc4d6e00b47bcd -Author: Lasse Collin -Date: 2012-06-18 21:27:47 +0300 - - Docs: Language fix to 01_compress_easy.c. - - Thanks to Jonathan Nieder. - - doc/examples/01_compress_easy.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3d7ab1dc61a75c560828be5df96598388b771456 -Author: Lasse Collin -Date: 2012-06-14 20:15:30 +0300 - - Fix the top-level Makefile.am for the new example programs. - - Makefile.am | 12 ++++++++++-- - 1 file changed, 10 insertions(+), 2 deletions(-) - -commit ef8b8e5f111469b5bc005975f7abb9abbd372b25 -Author: Lasse Collin -Date: 2012-06-14 10:52:33 +0300 - - Docs: Add new example programs. - - These have more comments than the old examples and - human-readable error messages. More tutorial-like examples - are needed but these are a start. - - doc/examples/00_README.txt | 27 ++++ - doc/examples/01_compress_easy.c | 297 ++++++++++++++++++++++++++++++++++++++ - doc/examples/02_decompress.c | 287 ++++++++++++++++++++++++++++++++++++ - doc/examples/03_compress_custom.c | 193 +++++++++++++++++++++++++ - doc/examples/Makefile | 23 +++ - 5 files changed, 827 insertions(+) - -commit 75c149bc8045a26f8bc719cb8ed20668dab79091 -Author: Lasse Collin -Date: 2012-06-14 10:33:27 +0300 - - Docs: Move xz_pipe_comp.c and xz_pipe_decomp.c to doc/examples_old. - - It is good to keep these around to so that if someone has - copied the decompressor bug from xz_pipe_decomp.c he has - an example how to easily fix it. - - doc/examples/xz_pipe_comp.c | 127 -------------------------------------- - doc/examples/xz_pipe_decomp.c | 123 ------------------------------------ - doc/examples_old/xz_pipe_comp.c | 127 ++++++++++++++++++++++++++++++++++++++ - doc/examples_old/xz_pipe_decomp.c | 123 ++++++++++++++++++++++++++++++++++++ - 4 files changed, 250 insertions(+), 250 deletions(-) - -commit 456307ebf947a5f50bd995d617b99c1215572308 -Author: Lasse Collin -Date: 2012-06-14 10:33:01 +0300 - - Docs: Fix a bug in xz_pipe_decomp.c example program. - - doc/examples/xz_pipe_decomp.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 4c310b8a29bc257e6ccbd2310f12f258678f3fef -Author: Lasse Collin -Date: 2012-05-31 15:53:25 +0300 - - Translations: Update the Italian translation. - - Thanks to Milo Casagrande. - - po/it.po | 311 ++++++++++++++++++++++++++++++--------------------------------- - 1 file changed, 146 insertions(+), 165 deletions(-) - -commit ec32b79366dc47a55ea877589df9e8509ba113a7 -Author: Lasse Collin -Date: 2012-05-30 23:15:07 +0300 - - Translations: Update the French translation. - - Thanks to Adrien Nader. - - po/fr.po | 237 +++++++++++++++++++++++++++++++-------------------------------- - 1 file changed, 118 insertions(+), 119 deletions(-) - -commit dd06f40e4dd7649525e4f28d890dc238a3aa37e5 -Author: Lasse Collin -Date: 2012-05-29 22:26:27 +0300 - - Translations: Update the German translation. - - po/de.po | 169 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 91 insertions(+), 78 deletions(-) - -commit c66808d1f55d0149ed57c536cc9b52e9c8b583bc -Author: Lasse Collin -Date: 2012-05-29 22:12:57 +0300 - - Translations: Update Polish translation. - - po/pl.po | 150 ++++++++++++++++++++++++++++++++++----------------------------- - 1 file changed, 82 insertions(+), 68 deletions(-) - -commit 556c22dfed195c1466b298183b850d6c28544900 -Author: Lasse Collin -Date: 2012-05-29 13:10:36 +0300 - - Preliminary NEWS for 5.0.4. - - NEWS | 24 ++++++++++++++++++++++++ - 1 file changed, 24 insertions(+) - -commit dd13b66bf582f49d3aec36e3410ff8541b7506da -Author: Lasse Collin -Date: 2012-05-28 20:42:11 +0300 - - liblzma: Fix possibility of incorrect LZMA_BUF_ERROR. - - lzma_code() could incorrectly return LZMA_BUF_ERROR if - all of the following was true: - - - The caller knows how many bytes of output to expect - and only provides that much output space. - - - When the last output bytes are decoded, the - caller-provided input buffer ends right before - the LZMA2 end of payload marker. So LZMA2 won't - provide more output anymore, but it won't know it - yet and thus won't return LZMA_STREAM_END yet. - - - A BCJ filter is in use and it hasn't left any - unfiltered bytes in the temp buffer. This can happen - with any BCJ filter, but in practice it's more likely - with filters other than the x86 BCJ. - - Another situation where the bug can be triggered happens - if the uncompressed size is zero bytes and no output space - is provided. In this case the decompression can fail even - if the whole input file is given to lzma_code(). - - A similar bug was fixed in XZ Embedded on 2011-09-19. - - src/liblzma/simple/simple_coder.c | 2 +- - tests/Makefile.am | 4 +- - tests/test_bcj_exact_size.c | 112 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 116 insertions(+), 2 deletions(-) - -commit a0223bf796fdaad51a11ad02c4195c694849cc78 -Author: Lasse Collin -Date: 2012-05-28 15:38:32 +0300 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 86e57e4bfefe3fd8e13615c41604165bb2359501 -Author: Lasse Collin -Date: 2012-05-28 15:37:43 +0300 - - xz: Don't show a huge number in -vv when memory limit is disabled. - - src/xz/message.c | 12 +++++++++++- - 1 file changed, 11 insertions(+), 1 deletion(-) - -commit 13e44a94da19d1ef14832ff12d3877a6fd2c54c0 -Author: Lasse Collin -Date: 2012-05-27 22:30:17 +0300 - - xz: Document the "summary" lines of --robot -lvv. - - This documents only the columns that are in v5.0. - The new columns added in the master branch aren't - necessarily stable yet. - - src/xz/xz.1 | 19 +++++++++++++++++++ - 1 file changed, 19 insertions(+) - -commit 2f90345e13ab8fea4de45a4f1caa73ebc63a62e7 -Author: Lasse Collin -Date: 2012-05-27 21:53:20 +0300 - - xz: Fix output of verbose --robot --list modes. - - It printed the filename in "filename (x/y)" format - which it obviously shouldn't do in robot mode. - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8d4864f53ffae5d862c691a0b334a6b69bc5366e -Author: Lasse Collin -Date: 2012-05-10 21:15:17 +0300 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 35e9c58abb0ce3993da844aaeaa3e7231cd2be8f -Author: Lasse Collin -Date: 2012-05-10 21:14:16 +0300 - - Docs: Cleanup line wrapping a bit. - - README | 12 ++++++------ - doc/history.txt | 49 +++++++++++++++++++++++++------------------------ - 2 files changed, 31 insertions(+), 30 deletions(-) - -commit 532b3e4c568a228309b56f95c13435fd078dbe02 -Author: Benno Schulenberg -Date: 2012-03-13 22:04:04 +0100 - - Fix a few typos and add some missing articles in some documents. - - Also hyphenate several compound adjectives. - - Signed-off-by: Benno Schulenberg - - AUTHORS | 6 +++--- - README | 42 ++++++++++++++++++++--------------------- - doc/faq.txt | 24 ++++++++++++------------ - doc/history.txt | 58 ++++++++++++++++++++++++++++----------------------------- - 4 files changed, 65 insertions(+), 65 deletions(-) - -commit afb6ce8c82ffef8f2505a3759da72a733c7b0b8f -Author: Lasse Collin -Date: 2012-04-29 11:51:25 +0300 - - Windows: Update notes about static linking with MSVC. - - windows/README-Windows.txt | 13 +++++++++---- - 1 file changed, 9 insertions(+), 4 deletions(-) - -commit 7c3ba2ed5c3c878d4a14ca549b46dbff60c6d565 -Author: Lasse Collin -Date: 2012-04-19 15:25:26 +0300 - - liblzma: Remove outdated comments. - - src/liblzma/simple/simple_coder.c | 3 --- - src/liblzma/simple/simple_private.h | 3 +-- - 2 files changed, 1 insertion(+), 5 deletions(-) - -commit f55db9c187651094f43881c49db2b2d9ffee6b80 -Author: Lasse Collin -Date: 2012-04-19 14:17:52 +0300 - - DOS: Link against DJGPP's libemu to support FPU emulation. - - This way xz should work on 386SX and 486SX. Floating point - only is needed for verbose output in xz. - - dos/Makefile | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 203edff4c761dbd7cac76ea66e4eed501c23e7a3 -Author: Lasse Collin -Date: 2012-04-19 13:58:55 +0300 - - Docs: Update MINIX 3 information in INSTALL. - - INSTALL | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit f0a8f95c215628967b7cf9bd9b0a9e4172f50bb4 -Author: Lasse Collin -Date: 2012-02-22 14:23:13 +0200 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit b7ad23fa78646036c0290cd91eada939c9a31526 -Author: Lasse Collin -Date: 2012-02-22 14:02:34 +0200 - - Fix exit status of xzgrep when grepping binary files. - - When grepping binary files, grep may exit before it has - read all the input. In this case, gzip -q returns 2 (eating - SIGPIPE), but xz and bzip2 show SIGPIPE as the exit status - (e.g. 141). This causes wrong exit status when grepping - xz- or bzip2-compressed binary files. - - The fix checks for the special exit status that indicates SIGPIPE. - It uses kill -l which should be supported everywhere since it - is in both SUSv2 (1997) and POSIX.1-2008. - - Thanks to James Buren for the bug report. - - src/scripts/xzgrep.in | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 4e19fbb04a0035030406482319e264426459eb24 -Author: Lasse Collin -Date: 2012-02-22 12:08:43 +0200 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit c6fa03a427e3d1320794102cee3ff4f5ae00eb36 -Author: Lasse Collin -Date: 2012-05-24 18:47:52 +0300 - - Fix compiling with IBM XL C on AIX. - - INSTALL | 36 ++++++++++++++++++++++-------------- - configure.ac | 6 +++++- - 2 files changed, 27 insertions(+), 15 deletions(-) - -commit 7b6ffc98645e1b3b302b6680be0a901d1ebf7358 -Author: Lasse Collin -Date: 2012-05-24 18:37:08 +0300 - - Build: Upgrade m4/acx_pthread.m4 to the latest version. - - It was renamed to ax_pthread.m4 in Autoconf Archive. - - configure.ac | 2 +- - m4/acx_pthread.m4 | 279 ------------------------------------------------ - m4/ax_pthread.m4 | 309 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 310 insertions(+), 280 deletions(-) - -commit bfac2be5023994fcc53de2844e7dd3af61910dc2 -Author: Lasse Collin -Date: 2012-01-10 17:13:03 +0200 - - Tests: Fix a compiler warning with _FORTIFY_SOURCE. - - Reported here: - http://sourceforge.net/projects/lzmautils/forums/forum/708858/topic/4927385 - - tests/create_compress_files.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit df85e156716a4eecb7e2978691f03f729444d998 -Author: Lasse Collin -Date: 2011-12-19 21:21:29 +0200 - - Docs: Explain the stable releases better in README. - - README | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit d06d32f108c8278c25c24b2e8666bda7b2ec23b5 -Author: Lasse Collin -Date: 2011-11-04 17:57:16 +0200 - - xz: Fix a typo in a comment. - - Thanks to Bela Lubkin. - - src/xz/args.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 636fdcfbf542f1e84db2c4736004d84be4b12c84 -Author: Lasse Collin -Date: 2011-11-03 17:08:02 +0200 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 55fd02f83ecd6cbd6925a3e8a3d43b8d4ef2a17c -Author: Lasse Collin -Date: 2011-11-03 17:07:22 +0200 - - xz: Fix xz on EBCDIC systems. - - Thanks to Chris Donawa. - - src/xz/coder.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 4052f36053b931bad847a36aabf1a07d0034e297 -Author: Lasse Collin -Date: 2011-09-06 12:03:41 +0300 - - Build: Fix "make check" on Windows. - - tests/Makefile.am | 7 +++++-- - windows/build.bash | 2 ++ - 2 files changed, 7 insertions(+), 2 deletions(-) - -commit 0f25758459c74c366a73f35d47ee12b75890bb79 -Author: Lasse Collin -Date: 2011-08-09 21:19:13 +0300 - - Update THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit 70f03b51ffcb783646b20de8d97b6986c4280eec -Author: Lasse Collin -Date: 2011-08-09 21:16:44 +0300 - - Workaround unusual SIZE_MAX on SCO OpenServer. - - src/common/sysdefs.h | 9 ++++++--- - 1 file changed, 6 insertions(+), 3 deletions(-) - -commit f138bdf76a70029e8360062a0b227936b83b24c9 -Author: Lasse Collin -Date: 2011-08-06 20:37:28 +0300 - - Run the scripts with the correct shell in test_scripts.sh. - - The scripts are now made executable in the build tree. - This way the scripts can be run like programs in - test_scripts.sh. Previously test_scripts.sh always - used sh but it's not correct if @POSIX_SHELL@ is set - to something else by configure. - - Thanks to Jonathan Nieder for the patch. - - configure.ac | 8 ++++---- - tests/test_scripts.sh | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 2c144a0365c84dbf1b6722466746d42f2563a319 -Author: Lasse Collin -Date: 2011-07-31 11:01:47 +0300 - - Fix exit status of "xzdiff foo.xz bar.xz". - - xzdiff was clobbering the exit status from diff in a case - statement used to analyze the exit statuses from "xz" when - its operands were two compressed files. Save and restore - diff's exit status to fix this. - - The bug is inherited from zdiff in GNU gzip and was fixed - there on 2009-10-09. - - Thanks to Jonathan Nieder for the patch and - to Peter Pallinger for reporting the bug. - - src/scripts/xzdiff.in | 2 ++ - tests/Makefile.am | 4 +++- - tests/test_scripts.sh | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 59 insertions(+), 1 deletion(-) - -commit edf339227a966f24aebe1845fcca9429b8f6e318 -Author: Anders F Bjorklund -Date: 2010-11-05 12:56:11 +0100 - - add build script for macosx universal - - macosx/build.sh | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 92 insertions(+) - -commit 7fcc6334ea8923550ba6b5347ff99dc8432234b0 -Author: Lasse Collin -Date: 2011-06-16 12:15:29 +0300 - - liblzma: Remove unneeded semicolon. - - src/liblzma/lz/lz_encoder_hash.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 631f4d3ae6adfda84d1a110781d9402c12e16cfc -Author: Lasse Collin -Date: 2011-05-28 16:43:26 +0300 - - Don't call close(-1) in tuklib_open_stdxxx() on error. - - Thanks to Jim Meyering. - - src/common/tuklib_open_stdxxx.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit c89faf4c9e5970e7f7f8a25521ed9aa62d1a2d9a -Author: Lasse Collin -Date: 2011-05-28 09:47:56 +0300 - - Translations: Update Italian translation. - - Thanks to Milo Casagrande. - - po/it.po | 333 +++++++++++++++++++++++++++++++++++---------------------------- - 1 file changed, 184 insertions(+), 149 deletions(-) - -commit 6fe2fc9b6ab5bf6848140823e9536370834f42fb -Author: Lasse Collin -Date: 2011-05-28 08:46:04 +0300 - - Tests: Add a test file for the bug in the previous commit. - - tests/files/README | 4 ++++ - tests/files/bad-1-block_header-6.xz | Bin 0 -> 72 bytes - 2 files changed, 4 insertions(+) - -commit 6c4d4db2bc8d8b682bd927144d37daa2ab21a6d6 -Author: Lasse Collin -Date: 2011-05-27 22:25:44 +0300 - - xz: Fix error handling in xz -lvv. - - It could do an invalid free() and read past the end - of the uninitialized filters array. - - src/xz/list.c | 21 ++++++--------------- - 1 file changed, 6 insertions(+), 15 deletions(-) - -commit 844f84fcad9670c543550edf7c7e42630c8f7715 -Author: Lasse Collin -Date: 2011-05-27 22:09:49 +0300 - - liblzma: Handle allocation failures correctly in lzma_index_init(). - - Thanks to Jim Meyering. - - src/liblzma/common/index.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit 240e8b9791df597063a3b68d04ffcb3aa4f2de6a -Author: Lasse Collin -Date: 2011-05-23 18:30:30 +0300 - - Build: Set GZIP_ENV=-9n in top-level Makefile.am. - - Makefile.am | 3 +++ - 1 file changed, 3 insertions(+) - -commit e32cb264ea72a4459810f30abad70dae5a4fa17d -Author: Lasse Collin -Date: 2011-05-21 16:59:22 +0300 - - Bump version and soname for 5.0.3. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 65cff45f8fd1c250491557157cce0f5f38481082 -Author: Lasse Collin -Date: 2011-05-21 16:56:53 +0300 - - Update NEWS for 5.0.3. - - NEWS | 36 ++++++++++++++++++++++++++++++++++-- - 1 file changed, 34 insertions(+), 2 deletions(-) - -commit 316c67ffdae1f811ac95e838d5290a013bff4ca7 -Author: Lasse Collin -Date: 2011-05-21 16:28:44 +0300 - - Add French translation. - - It is known that the BCJ filter --help text is only - partially translated. - - po/LINGUAS | 1 + - po/fr.po | 864 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 865 insertions(+) - -commit 1931175eea6d09c0845d6e8e334a7333647f11c0 -Author: Lasse Collin -Date: 2011-05-21 15:12:10 +0300 - - xz: Translate also the string used to print the program name. - - French needs a space before a colon, e.g. "xz : foo error". - - src/xz/message.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 841dc1f891b48b23f84c0f0e0c86c7c4e4bdcdf5 -Author: Lasse Collin -Date: 2011-05-17 12:26:28 +0300 - - Update THANKS. - - THANKS | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0f7e2d36240ebf1159d5fb85d8cd7422337a0d3f -Author: Lasse Collin -Date: 2011-05-17 12:21:33 +0300 - - Update INSTALL with a note about linker problem on OpenSolaris x86. - - INSTALL | 23 +++++++++++++++++------ - 1 file changed, 17 insertions(+), 6 deletions(-) - -commit 793d857e01e1725f16fc0c8af8172c91a9e38617 -Author: Lasse Collin -Date: 2011-05-17 12:01:37 +0300 - - Build: Fix initialization of enable_check_* variables in configure.ac. - - This doesn't matter much in practice since it is unlikely - that anyone would have such environment variable names. - - Thanks to Wim Lewis. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit afcff45cee04c5c7d9c333504046ffb63d1418b5 -Author: Lasse Collin -Date: 2011-05-17 11:54:38 +0300 - - Add underscores to attributes (__attribute((__foo__))). - - src/liblzma/common/alone_decoder.c | 2 +- - src/liblzma/common/alone_encoder.c | 2 +- - src/liblzma/common/block_encoder.c | 2 +- - src/liblzma/common/common.c | 2 +- - src/liblzma/common/common.h | 2 +- - src/liblzma/common/index_decoder.c | 9 +++++---- - src/liblzma/common/index_encoder.c | 11 ++++++----- - src/liblzma/delta/delta_encoder.c | 2 +- - src/liblzma/lz/lz_decoder.c | 2 +- - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/simple/arm.c | 2 +- - src/liblzma/simple/armthumb.c | 2 +- - src/liblzma/simple/ia64.c | 2 +- - src/liblzma/simple/powerpc.c | 2 +- - src/liblzma/simple/simple_coder.c | 2 +- - src/liblzma/simple/sparc.c | 2 +- - src/lzmainfo/lzmainfo.c | 4 ++-- - src/xz/coder.c | 2 +- - src/xz/hardware.h | 2 +- - src/xz/message.c | 2 +- - src/xz/message.h | 18 +++++++++--------- - src/xz/options.c | 6 +++--- - src/xz/signals.c | 2 +- - src/xz/util.h | 6 +++--- - src/xzdec/xzdec.c | 6 +++--- - 25 files changed, 49 insertions(+), 47 deletions(-) - -commit 22159c6ba2300a006f2e46ce85ae132e2d2f7d57 -Author: Lasse Collin -Date: 2011-04-18 19:35:49 +0300 - - Update THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit 5e3499059515033d1ce44b6fb0fa49183c7ac633 -Author: Martin Väth -Date: 2011-04-15 04:54:49 -0400 - - xzgrep: fix typo in $0 parsing - - Reported-by: Diego Elio Pettenò - Signed-off-by: Martin Väth - Signed-off-by: Mike Frysinger - - src/scripts/xzgrep.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 1125611b9b8d4a209b6a73d2c76e1b39c065972a -Author: Lasse Collin -Date: 2011-04-12 11:59:49 +0300 - - Remove doubled words from documentation and comments. - - Spot candidates by running these commands: - git ls-files |xargs perl -0777 -n \ - -e 'while (/\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims)' \ - -e '{$n=($` =~ tr/\n/\n/ + 1); ($v=$&)=~s/\n/\\n/g; print "$ARGV:$n:$v\n"}' - - Thanks to Jim Meyering for the original patch. - - doc/lzma-file-format.txt | 4 ++-- - src/liblzma/common/alone_encoder.c | 2 +- - src/liblzma/lzma/lzma2_encoder.c | 2 +- - src/xz/file_io.c | 2 +- - src/xz/xz.1 | 2 +- - windows/INSTALL-Windows.txt | 2 +- - 6 files changed, 7 insertions(+), 7 deletions(-) - -commit 3f8fa53837bae8b44f3addf19923e26401336c3d -Author: Lasse Collin -Date: 2011-04-11 21:04:13 +0300 - - liblzma: Document lzma_easy_(enc|dec)oder_memusage() better too. - - src/liblzma/api/lzma/container.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 320d734c20d0776e3eb80f6b5984ddeb494715b5 -Author: Lasse Collin -Date: 2011-04-11 20:59:07 +0300 - - liblzma: Document lzma_raw_(enc|dec)oder_memusage() better. - - It didn't mention the return value that is used if - an error occurs. - - src/liblzma/api/lzma/filter.h | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 2ee4edeffc8d9734bf68230df31b20ac6a94c9b5 -Author: Lasse Collin -Date: 2011-04-11 13:59:50 +0300 - - liblzma: Don't create an empty Block in lzma_stream_buffer_encode(). - - Empty Block was created if the input buffer was empty. - Empty Block wastes a few bytes of space, but more importantly - it triggers a bug in XZ Utils 5.0.1 and older when trying - to decompress such a file. 5.0.1 and older consider such - files to be corrupt. I thought that no encoder creates empty - Blocks when releasing 5.0.2 but I was wrong. - - src/liblzma/common/stream_buffer_encoder.c | 20 +++++++++++++------- - 1 file changed, 13 insertions(+), 7 deletions(-) - -commit 73f56fb87d54091d0c4fd22d70e6f042902e3b63 -Author: Lasse Collin -Date: 2011-04-11 13:28:40 +0300 - - liblzma: Fix API docs to mention LZMA_UNSUPPORTED_CHECK. - - This return value was missing from the API comments of - four functions. - - src/liblzma/api/lzma/block.h | 1 + - src/liblzma/api/lzma/container.h | 3 +++ - 2 files changed, 4 insertions(+) - -commit 4ce1cf97a88ae1640a380dd19cbc255d729f966b -Author: Lasse Collin -Date: 2011-04-11 13:21:28 +0300 - - liblzma: Validate encoder arguments better. - - The biggest problem was that the integrity check type - wasn't validated, and e.g. lzma_easy_buffer_encode() - would create a corrupt .xz Stream if given an unsupported - Check ID. Luckily applications don't usually try to use - an unsupport Check ID, so this bug is unlikely to cause - many real-world problems. - - src/liblzma/common/block_buffer_encoder.c | 18 ++++++++++++------ - src/liblzma/common/block_encoder.c | 5 +++++ - src/liblzma/common/stream_buffer_encoder.c | 3 +++ - 3 files changed, 20 insertions(+), 6 deletions(-) - -commit 972f05d7a4268dbe42573701f83faa45d03249eb -Author: Lasse Collin -Date: 2011-04-09 18:29:30 +0300 - - Update THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 28154eeaf6e3442cd1e174f4e81266d60c4dac60 -Author: Lasse Collin -Date: 2011-04-09 18:28:58 +0300 - - liblzma: Add missing #ifdefs to filter_common.c. - - Passing --disable-decoders to configure broke a few - encoders due to missing #ifdefs in filter_common.c. - - Thanks to Jason Gorski for the patch. - - src/liblzma/common/filter_common.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit aa95516d3d509c6b7895ee519004afcf500a0759 -Author: Lasse Collin -Date: 2011-04-02 14:49:56 +0300 - - liblzma: Fix a memory leak in stream_encoder.c. - - It leaks old filter options structures (hundred bytes or so) - every time the lzma_stream is reinitialized. With the xz tool, - this happens when compressing multiple files. - - src/liblzma/common/stream_encoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 58f52c72f49562a08042da9a2f4bbdf4dd162d0c -Author: Lasse Collin -Date: 2011-04-01 08:47:46 +0300 - - Bumped version and liblzma soname to 5.0.2. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 162779682e01d15f0ce386ef7f40d1be05ad0053 -Author: Lasse Collin -Date: 2011-04-01 08:47:20 +0300 - - Updated NEWS for 5.0.2. - - NEWS | 18 ++++++++++++++++++ - 1 file changed, 18 insertions(+) - -commit 45553f9b4b0175c292023010dc41520347004852 -Author: Lasse Collin -Date: 2011-03-31 15:06:58 +0300 - - Update INSTALL with another note about IRIX. - - INSTALL | 4 ++++ - 1 file changed, 4 insertions(+) - -commit af9d48d5515eadef689b1ce9ffb91e4dbcbc7f35 -Author: Lasse Collin -Date: 2011-03-31 12:22:55 +0300 - - Tests: Add a new file to test empty LZMA2 streams. - - tests/files/README | 4 ++++ - tests/files/good-1-lzma2-5.xz | Bin 0 -> 52 bytes - 2 files changed, 4 insertions(+) - -commit d099ef9f517b59ab8e3b6f6aa0543c3643983470 -Author: Lasse Collin -Date: 2011-03-31 11:54:48 +0300 - - liblzma: Fix decoding of LZMA2 streams having no uncompressed data. - - The decoder considered empty LZMA2 streams to be corrupt. - This shouldn't matter much with .xz files, because no encoder - creates empty LZMA2 streams in .xz. This bug is more likely - to cause problems in applications that use raw LZMA2 streams. - - src/liblzma/lzma/lzma2_decoder.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit df87249b26e79a75fd91041e85512944fc247b57 -Author: Lasse Collin -Date: 2011-03-24 01:42:49 +0200 - - Scripts: Better fix for xzgrep. - - Now it uses "grep -q". - - Thanks to Gregory Margo. - - src/scripts/xzgrep.in | 8 ++++++-- - 1 file changed, 6 insertions(+), 2 deletions(-) - -commit 68c453e1c7b09dc9c7d2ef9d994c46f5b367f5d3 -Author: Lasse Collin -Date: 2011-03-24 01:22:18 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit b441d39855516ae618faffd5156261b8b413394f -Author: Lasse Collin -Date: 2011-03-24 01:21:32 +0200 - - Scripts: Fix xzgrep -l. - - It didn't work at all. It tried to use the -q option - for grep, but it appended it after "--". This works - around it by redirecting to /dev/null. The downside - is that this can be slower with big files compared - to proper use of "grep -q". - - Thanks to Gregory Margo. - - src/scripts/xzgrep.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 82d5164839517f55daeadd9ee88c76425db30224 -Author: Lasse Collin -Date: 2011-02-04 22:49:31 +0200 - - xz: Clean up suffix.c. - - struct suffix_pair isn't needed in compresed_name() - so get rid of it there. - - src/xz/suffix.c | 44 ++++++++++++++++++++------------------------ - 1 file changed, 20 insertions(+), 24 deletions(-) - -commit 6decc8b41882c2250f0450eb87b83c9fbf495e95 -Author: Lasse Collin -Date: 2011-02-04 11:29:47 +0200 - - xz: Check if the file already has custom suffix when compressing. - - Now "xz -S .test foo.test" refuses to compress the - file because it already has the suffix .test. The man - page had it documented this way already. - - src/xz/suffix.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit ecda90061df8d39399e707e5c76c2ec0a0f400e5 -Author: Lasse Collin -Date: 2011-02-02 23:01:51 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 0fda1ae5b1aa0a5c629a09e5228db8ba1cd0dd5f -Author: Lasse Collin -Date: 2011-02-02 23:00:33 +0200 - - Translations: Add Polish translation. - - Thanks to Jakub Bogusz. - - po/LINGUAS | 1 + - po/pl.po | 825 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 826 insertions(+) - -commit 00be32978fedc5038748438bf685ac1713d1db83 -Author: Lasse Collin -Date: 2011-02-02 22:24:00 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 7232fcf96bf4bd5f9cd4fc6c93ca2912c665e004 -Author: Lasse Collin -Date: 2011-01-28 20:26:38 +0200 - - Bump package version and liblzma soname to 5.0.1. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 5fbce0b8d96dc96775aa0215e3581addc830e23d -Author: Lasse Collin -Date: 2011-01-28 20:16:57 +0200 - - Update NEWS for 5.0.1. - - NEWS | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit 03ebd1bbb314f9f204940219a835c883bf442475 -Author: Lasse Collin -Date: 2011-01-26 12:19:08 +0200 - - xz: Fix --force on setuid/setgid/sticky and multi-hardlink files. - - xz didn't compress setuid/setgid/sticky files and files - with multiple hard links even with --force. This bug was - introduced in 23ac2c44c3ac76994825adb7f9a8f719f78b5ee4. - - Thanks to Charles Wilson. - - src/xz/file_io.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -commit 7bd0a5e7ccc354f7c2e95c8bc27569c820f6a136 -Author: Lasse Collin -Date: 2011-01-18 21:25:24 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit f71c4e16e913f660977526f0ef8d2acdf458d7c9 -Author: Lasse Collin -Date: 2011-01-18 21:23:50 +0200 - - Add alloc_size and malloc attributes to a few functions. - - Thanks to Cristian Rodríguez for the original patch. - - src/common/sysdefs.h | 6 ++++++ - src/liblzma/common/common.h | 2 +- - src/xz/util.h | 5 +++-- - 3 files changed, 10 insertions(+), 3 deletions(-) - -commit 316cbe24465143edde8f6ffb7532834b7b2ea93f -Author: Lasse Collin -Date: 2010-12-13 16:36:33 +0200 - - Scripts: Fix gzip and bzip2 support in xzdiff. - - src/scripts/xzdiff.in | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit 9311774c493c19deab51ded919dcd2e9c4aa2829 -Author: Lasse Collin -Date: 2010-12-12 21:23:55 +0200 - - Build: Enable ASM on DJGPP by default. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4a42aaee282fc73b482581684d65110506d5efdd -Author: Lasse Collin -Date: 2010-12-12 16:09:42 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit ce56f63c41ee210e6308090eb6d49221fdf67d6c -Author: Lasse Collin -Date: 2010-12-12 16:07:11 +0200 - - Add missing PRIx32 and PRIx64 compatibility definitions. - - This fixes portability to systems that lack C99 inttypes.h. - - Thanks to Juan Manuel Guerrero. - - src/common/sysdefs.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit e6baedddcf54e7da049ebc49183565b99facd4c7 -Author: Lasse Collin -Date: 2010-12-12 14:50:04 +0200 - - DOS-like: Treat \ and : as directory separators in addition to /. - - Juan Manuel Guerrero had fixed this in his XZ Utils port - to DOS/DJGPP. The bug affects also Windows and OS/2. - - src/xz/suffix.c | 33 +++++++++++++++++++++++++++++---- - 1 file changed, 29 insertions(+), 4 deletions(-) - -commit b7afd3e22a8fac115b75c738d40d3eb1de7e286f -Author: Lasse Collin -Date: 2010-12-07 18:52:04 +0200 - - Translations: Fix Czech translation of "sparse file". - - Thanks to Petr Hubený and Marek Černocký. - - po/cs.po | 88 ++++++++++++++++++++++++++++++++-------------------------------- - 1 file changed, 44 insertions(+), 44 deletions(-) - -commit 3e564704bc6f463cb2db11e3f3f0dbd71d85992e -Author: Lasse Collin -Date: 2010-11-15 14:28:26 +0200 - - liblzma: Document the return value of lzma_lzma_preset(). - - src/liblzma/api/lzma/lzma.h | 3 +++ - 1 file changed, 3 insertions(+) - -commit 2964d8d691ed92abdcf214888d79ad6d79774735 -Author: Jonathan Nieder -Date: 2010-11-12 15:22:13 -0600 - - Simplify paths in generated API docs - - Currently the file list generated by Doxygen has src/ at the - beginning of each path. Paths like common/sysdefs.h and - liblzma/api/lzma.h are easier to read without such a prefix. - - Builds from a separate build directory with - - mkdir build - cd build - ../configure - doxygen Doxyfile - - include an even longer prefix /home/someone/src/xz/src; this - patch has the nice side-effect of eliminating that prefix, too. - - Fixes: http://bugs.debian.org/572273 - - Doxyfile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 37c25658efd25b034266daf87cd381d20d1df776 -Author: Lasse Collin -Date: 2010-10-26 15:48:48 +0300 - - Build: Copy the example programs to $docdir/examples. - - The example programs by Daniel Mealha Cabrita were included - in the git repository, but I had forgot to add them to - Makefile.am. Thus, they didn't get included in the source - package at all by "make dist". - - Makefile.am | 5 +++++ - windows/build.bash | 3 ++- - 2 files changed, 7 insertions(+), 1 deletion(-) - -commit e45929260cd902036efd40c5610a8d0a50d5712b -Author: Lasse Collin -Date: 2010-10-23 17:25:52 +0300 - - Build: Fix mydist rule when .git doesn't exist. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 6e1326fcdf6b6209949be57cfe3ad4b781b65168 -Author: Lasse Collin -Date: 2010-10-23 14:15:35 +0300 - - Add NEWS for 5.0.0. - - NEWS | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 62 insertions(+) - -commit b667a3ef6338a2c1db7b7706b1f6c99ea392221c -Author: Lasse Collin -Date: 2010-10-23 14:02:53 +0300 - - Bump version to 5.0.0 and liblzma version-info to 5:0:0. - - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/version.h | 8 ++++---- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit 8c947e9291691629714dafb4536c718b6cc24fbd -Author: Lasse Collin -Date: 2010-10-23 12:30:54 +0300 - - liblzma: Make lzma_code() check the reserved members in lzma_stream. - - If any of the reserved members in lzma_stream are non-zero - or non-NULL, LZMA_OPTIONS_ERROR is returned. It is possible - that a new feature in the future is indicated by just setting - a reserved member to some other value, so the old liblzma - version need to catch it as an unsupported feature. - - src/liblzma/common/common.c | 14 ++++++++++++++ - 1 file changed, 14 insertions(+) - -commit e61d85e082743ebd2dd0ff28fc0a82482ede0538 -Author: Lasse Collin -Date: 2010-10-23 12:26:33 +0300 - - Windows: Use MinGW's stdio functions. - - The non-standard ones from msvcrt.dll appear to work - most of the time with XZ Utils, but there are some - corner cases where things may go very wrong. So it's - good to use the better replacements provided by - MinGW(-w64) runtime. - - src/common/sysdefs.h | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 23e23f1dc029146714c9a98313ab3ea93d71a2fc -Author: Lasse Collin -Date: 2010-10-23 12:21:32 +0300 - - liblzma: Use 512 as INDEX_GROUP_SIZE. - - This lets compiler use shifting instead of 64-bit division. - - src/liblzma/common/index.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 613939fc82603b75b59eee840871a05bc8dd08e0 -Author: Lasse Collin -Date: 2010-10-23 12:20:11 +0300 - - liblzma: A few ABI tweaks to reserve space in structures. - - src/liblzma/api/lzma/base.h | 7 ++++++- - src/liblzma/api/lzma/lzma.h | 4 ++-- - src/liblzma/api/lzma/stream_flags.h | 4 ---- - 3 files changed, 8 insertions(+), 7 deletions(-) - -commit 68b83f252df3d27480a9f6f03445d16f6506fef1 -Author: Lasse Collin -Date: 2010-10-21 23:16:11 +0300 - - xz: Make sure that message_strm() can never return NULL. - - src/xz/message.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit d09c5753e33ff96ee57edb6d1e98e34041203695 -Author: Lasse Collin -Date: 2010-10-21 23:06:31 +0300 - - liblzma: Update the comments in the API headers. - - Adding support for LZMA_FINISH for Index encoding and - decoding needed tiny additions to the relevant .c files too. - - src/liblzma/api/lzma.h | 4 +-- - src/liblzma/api/lzma/base.h | 38 +++++++++++++-------------- - src/liblzma/api/lzma/bcj.h | 4 +-- - src/liblzma/api/lzma/block.h | 4 +-- - src/liblzma/api/lzma/container.h | 26 ++++++++++++------- - src/liblzma/api/lzma/filter.h | 51 ++++++++++++++++++------------------- - src/liblzma/api/lzma/hardware.h | 3 +-- - src/liblzma/api/lzma/index.h | 28 ++++++++++++-------- - src/liblzma/api/lzma/index_hash.h | 2 +- - src/liblzma/api/lzma/lzma.h | 46 ++++++++++++++++++++++----------- - src/liblzma/api/lzma/stream_flags.h | 4 +-- - src/liblzma/api/lzma/vli.h | 31 +++++++++++----------- - src/liblzma/common/index_decoder.c | 1 + - src/liblzma/common/index_encoder.c | 1 + - 14 files changed, 136 insertions(+), 107 deletions(-) - -commit 33c1c0e102eb529588503b8beea0903a45488fad -Author: Lasse Collin -Date: 2010-10-19 12:08:30 +0300 - - Update INSTALL.generic. - - INSTALL.generic | 99 ++++++++++++++++++++++++++++++++++++++++++++++----------- - 1 file changed, 81 insertions(+), 18 deletions(-) - -commit 0076e03641f201c4b77dddd5a6db5880be19a78c -Author: Lasse Collin -Date: 2010-10-19 11:44:37 +0300 - - Clean up a few FIXMEs and TODOs. - - lzma_chunk_size() was commented out because it is - currently useless. - - src/liblzma/common/filter_encoder.c | 2 ++ - src/liblzma/common/filter_encoder.h | 4 ++-- - src/liblzma/lzma/lzma2_decoder.c | 1 - - src/liblzma/lzma/lzma_decoder.c | 4 ++-- - src/liblzma/lzma/lzma_encoder.c | 2 +- - src/xz/message.h | 2 +- - 6 files changed, 8 insertions(+), 7 deletions(-) - -commit ce34ec4f54ff8b753da236f371ad8dd23c8135c9 -Author: Lasse Collin -Date: 2010-10-19 10:21:08 +0300 - - Update docs. - - INSTALL | 192 +++++++++++++++++++++++++++++++++++++++++-------------------- - PACKAGERS | 104 +++++++++------------------------ - TODO | 17 ++++-- - dos/README | 2 +- - 4 files changed, 172 insertions(+), 143 deletions(-) - -commit f0fa880d247e73264d2c04fe31fb3412318a0026 -Author: Lasse Collin -Date: 2010-10-12 15:13:30 +0300 - - xz: Avoid raise() also on OpenVMS. - - This is similar to DOS/DJGPP that killing the program - with a signal will print a backtrace or a similar message. - - src/xz/signals.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ac462b1c47c451f5c62e428306314c4bdad8ae7f -Author: Lasse Collin -Date: 2010-10-11 21:26:19 +0300 - - xz: Avoid SA_RESTART for portability reasons. - - SA_RESTART is not as portable as I had hoped. It's missing - at least from OpenVMS, QNX, and DJGPP). Luckily we can do - fine without SA_RESTART. - - src/xz/message.c | 38 +++++++++++++++----------------------- - src/xz/message.h | 4 ++++ - src/xz/signals.c | 6 ++++++ - 3 files changed, 25 insertions(+), 23 deletions(-) - -commit d52b411716a614c202e89ba732492efb9916cd3f -Author: Lasse Collin -Date: 2010-10-10 17:58:58 +0300 - - xz: Use "%"PRIu32 instead of "%d" in a format string. - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ae74d1bdeb075c3beefe76e1136c5741804e7e91 -Author: Lasse Collin -Date: 2010-10-10 17:43:26 +0300 - - test_files.sh: Fix the first line. - - For some reason this prevented running the test only - on OS/2 and even on that it broke only recently. - - Thanks to Elbert Pol. - - tests/test_files.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d492b80ddd6f9a13419de6d102df7374d8f448e8 -Author: Lasse Collin -Date: 2010-10-10 16:49:01 +0300 - - lzmainfo: Use "%"PRIu32 instead of "%u" for uint32_t. - - src/lzmainfo/lzmainfo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 825e859a9054bd91202e5723c41a17e72f63040a -Author: Lasse Collin -Date: 2010-10-10 16:47:01 +0300 - - lzmainfo: Use fileno(stdin) instead of STDIN_FILENO. - - src/lzmainfo/lzmainfo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit acbc4cdecbeec2a4dfaac04f185ece49b2ff17c8 -Author: Lasse Collin -Date: 2010-10-09 23:20:51 +0300 - - lzmainfo: Use setmode() on DOS-like systems. - - src/lzmainfo/lzmainfo.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit ef364d3abc5647111c5424ea0d83a567e184a23b -Author: Lasse Collin -Date: 2010-10-09 21:51:03 +0300 - - OS/2 and DOS: Be less verbose on signals. - - Calling raise() to kill xz when user has pressed C-c - is a bit verbose on OS/2 and DOS/DJGPP. Instead of - calling raise(), set only the exit status to 1. - - src/xz/signals.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 5629c4be07b6c67e79842b2569da1cedc9c0d69a -Author: Lasse Collin -Date: 2010-10-09 19:28:49 +0300 - - DOS: Update the Makefile, config.h and README. - - This is now simpler and builds only xz.exe. - - dos/Makefile | 211 +++++++++++++++-------------------------------------------- - dos/README | 73 +++++++-------------- - dos/config.h | 45 ++++--------- - 3 files changed, 86 insertions(+), 243 deletions(-) - -commit f25a77e6b9bc48a243ddfbbd755b7960eec7e0ac -Author: Lasse Collin -Date: 2010-10-09 18:57:55 +0300 - - Windows: Put some license info into README-Windows.txt. - - windows/README-Windows.txt | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit e75100f549f85d231df25c07aa94d63e78e2d668 -Author: Lasse Collin -Date: 2010-10-09 18:57:04 +0300 - - Windows: Fix a diagnostics bug in build.bash. - - windows/build.bash | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit efeb998a2b1025df1c1d202cc7d21d866cd1c336 -Author: Lasse Collin -Date: 2010-10-09 13:02:15 +0300 - - lzmainfo: Add Windows resource file. - - src/lzmainfo/Makefile.am | 9 +++++++++ - src/lzmainfo/lzmainfo_w32res.rc | 12 ++++++++++++ - 2 files changed, 21 insertions(+) - -commit 389d418445f1623593dfdbba55d52fbb6d1205f5 -Author: Lasse Collin -Date: 2010-10-09 12:57:25 +0300 - - Add missing public domain notice to lzmadec_w32res.rc. - - src/xzdec/lzmadec_w32res.rc | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 6389c773a4912dd9f111256d74ba1605230a7957 -Author: Lasse Collin -Date: 2010-10-09 12:52:12 +0300 - - Windows: Update common_w32res.rc. - - src/common/common_w32res.rc | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -commit 71275457ca24c9b01721f5cfc3638cf094daf454 -Author: Lasse Collin -Date: 2010-10-09 12:27:08 +0300 - - Windows: Make build.bash prefer MinGW-w32 over MinGW. - - This is simply for licensing reasons. The 64-bit version - will be built with MinGW-w64 anyway (at least for now), - so using it also for 32-bit build allows using the same - copyright notice about the MinGW-w64/w32 runtime. - - Note that using MinGW would require a copyright notice too, - because its runtime is not in the public domain either even - though MinGW's home page claims that it is public domain. - See . - - windows/build.bash | 18 +++++++++--------- - 1 file changed, 9 insertions(+), 9 deletions(-) - -commit 3ac35719d8433af937af6491383d4a50e343099b -Author: Lasse Collin -Date: 2010-10-09 11:33:21 +0300 - - Windows: Copy COPYING-Windows.txt (if it exists) to the package. - - Also, put README-Windows.txt to the doc directory like - the other documentation files. - - windows/build.bash | 14 ++++++++++++-- - 1 file changed, 12 insertions(+), 2 deletions(-) - -commit 7b5db576fd7a4a67813b8437a9ccd4dbc94bbaae -Author: Lasse Collin -Date: 2010-10-08 21:42:37 +0300 - - Windows: Fix build.bash again. - - 630a8beda34af0ac153c8051b1bf01230558e422 wasn't good. - - windows/build.bash | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit d3cd7abe85ec7c2f46cf198b15c00d5d119df3dd -Author: Lasse Collin -Date: 2010-10-08 16:53:20 +0300 - - Use LZMA_VERSION_STRING instead of PACKAGE_VERSION. - - Those are the same thing, and the former makes it a bit - easier to build the code with other build systems, because - one doesn't need to update the version number into custom - config.h. - - This change affects only lzmainfo. Other tools were already - using LZMA_VERSION_STRING. - - src/lzmainfo/lzmainfo.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 084c60d318f2dbaef4078d9b100b4a373d0c3a7f -Author: Lasse Collin -Date: 2010-10-08 15:59:25 +0300 - - configure.ac: Remove two unused defines. - - configure.ac | 4 ---- - 1 file changed, 4 deletions(-) - -commit 11f51b6714357cb67ec7e56ed9575c199b5581fe -Author: Lasse Collin -Date: 2010-10-08 15:32:29 +0300 - - Make tests accommodate missing xz or xzdec. - - tests/test_compress.sh | 47 ++++++++++++++++++++++++++++++----------------- - tests/test_files.sh | 28 ++++++++++++++++++++++++++-- - 2 files changed, 56 insertions(+), 19 deletions(-) - -commit b1c7368f95e93ccdefdd0748e04398c26766f47f -Author: Lasse Collin -Date: 2010-10-08 15:25:45 +0300 - - Build: Add options to disable individual command line tools. - - configure.ac | 38 ++++++++++++++++++++++++++++++ - src/Makefile.am | 15 +++++++++++- - src/scripts/Makefile.am | 62 +++++++++++++++++++++---------------------------- - src/xz/Makefile.am | 6 ++++- - src/xzdec/Makefile.am | 12 ++++++++-- - 5 files changed, 93 insertions(+), 40 deletions(-) - -commit 630a8beda34af0ac153c8051b1bf01230558e422 -Author: Lasse Collin -Date: 2010-10-07 00:44:53 +0300 - - Windows: Make build.bash work without --enable-dynamic=no. - - windows/build.bash | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit f9907503f882a745dce9d84c2968f6c175ba966a -Author: Lasse Collin -Date: 2010-10-05 14:13:16 +0300 - - Build: Remove the static/dynamic tricks. - - Most distros want xz linked against shared liblzma, so - it doesn't help much to require --enable-dynamic for that. - Those who want to avoid PIC on x86-32 to get better - performance, can still do it e.g. by using --disable-shared - to compile xz and then another pass to compile shared liblzma. - - Part of these static/dynamic tricks were needed for Windows - in the past. Nowadays we rely on GCC and binutils to do the - right thing with auto-import. If the Autotooled build system - needs to support some other toolchain on Windows in the future, - this may need some rethinking. - - configure.ac | 74 ------------------------------------------------ - debug/Makefile.am | 5 +--- - src/lzmainfo/Makefile.am | 4 +-- - src/xz/Makefile.am | 4 +-- - src/xzdec/Makefile.am | 4 +-- - tests/Makefile.am | 5 +--- - 6 files changed, 5 insertions(+), 91 deletions(-) - -commit fda4724d8114fccfa31c1839c15479f350c2fb4c -Author: Lasse Collin -Date: 2010-10-05 12:18:58 +0300 - - configure.ac: Silence a warning from Autoconf 2.68. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 80b5675fa62c87426fe86f8fcd20feeabc4361b9 -Author: Lasse Collin -Date: 2010-10-04 19:43:01 +0300 - - A few more languages files to the xz man page. - - Thanks to Jonathan Nieder. - - src/xz/xz.1 | 45 ++++++++++++++++++++++++--------------------- - 1 file changed, 24 insertions(+), 21 deletions(-) - -commit f9722dbeca4dc4c43cfd15d122dafaac50b0a0bb -Author: Lasse Collin -Date: 2010-10-02 12:07:33 +0300 - - Update the FAQ. - - doc/faq.txt | 104 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 100 insertions(+), 4 deletions(-) - -commit 61ae593661e8dc402394e84d567ca2044a51572b -Author: Lasse Collin -Date: 2010-10-02 11:38:20 +0300 - - liblzma: Small fixes to comments in the API headers. - - src/liblzma/api/lzma/lzma.h | 10 +++++++--- - 1 file changed, 7 insertions(+), 3 deletions(-) - -commit 9166682dc601fd42c1b9510572e3f917d18de504 -Author: Lasse Collin -Date: 2010-09-28 11:40:12 +0300 - - Create the PDF versions of the man pages better. - - Makefile.am | 14 +++++++------ - build-aux/manconv.sh | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 66 insertions(+), 6 deletions(-) - -commit 17d3c61edd35de8fa884944fc70d1db86daa5dd8 -Author: Lasse Collin -Date: 2010-09-28 10:59:53 +0300 - - Move version.sh to build-aux. - - Makefile.am | 4 ++-- - build-aux/version.sh | 24 ++++++++++++++++++++++++ - configure.ac | 2 +- - version.sh | 24 ------------------------ - windows/build.bash | 2 +- - 5 files changed, 28 insertions(+), 28 deletions(-) - -commit 84af9d8770451339a692e9b70f96cf56156a6069 -Author: Lasse Collin -Date: 2010-09-28 10:53:02 +0300 - - Update .gitignore. - - .gitignore | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit 31575a449ac64c523da3bab8d0c0b522cdc7c780 -Author: Lasse Collin -Date: 2010-09-28 01:17:14 +0300 - - Fix accomodate -> accommodate on the xz man page. - - src/xz/xz.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cec0ddc8ec4ce81685a51998b978e22167e461f9 -Author: Lasse Collin -Date: 2010-09-27 23:29:34 +0300 - - Major man page updates. - - Lots of content was updated on the xz man page. - - Technical improvements: - - Start a new sentence on a new line. - - Use fairly short lines. - - Use constant-width font for examples (where supported). - - Some minor cleanups. - - Thanks to Jonathan Nieder for some language fixes. - - src/lzmainfo/lzmainfo.1 | 25 +- - src/scripts/xzdiff.1 | 15 +- - src/scripts/xzgrep.1 | 11 +- - src/scripts/xzless.1 | 13 +- - src/scripts/xzmore.1 | 9 +- - src/xz/xz.1 | 1964 ++++++++++++++++++++++++++++++++--------------- - src/xzdec/xzdec.1 | 39 +- - 7 files changed, 1435 insertions(+), 641 deletions(-) - -commit 075257ab0416a0603be930082e31a5703e4ba345 -Author: Lasse Collin -Date: 2010-09-26 18:10:31 +0300 - - Fix the preset -3e. - - depth=0 was missing. - - src/liblzma/lzma/lzma_encoder_presets.c | 1 + - 1 file changed, 1 insertion(+) - -commit 2577da9ebdba13fbe99ae5ee8bde35f7ed60f6d1 -Author: Lasse Collin -Date: 2010-09-23 14:03:10 +0300 - - Add translations.bash and translation notes to README. - - translations.bash prints some messages from xz, which - hopefully makes it a bit easier to test translations. - - README | 96 +++++++++++++++++++++++++++++++++++++++++++++-- - debug/translation.bash | 100 +++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 192 insertions(+), 4 deletions(-) - -commit a3c5997c57e5b1a20aae6d1071b584b4f17d0b23 -Author: Lasse Collin -Date: 2010-09-17 22:14:30 +0300 - - xz: Update the Czech translation. - - Thanks to Marek Černocký. - - po/cs.po | 202 +++++++++++++++++++++++++++++++++++++++++---------------------- - 1 file changed, 131 insertions(+), 71 deletions(-) - -commit a1766af582dc23fddd9da1eeb4b9d61e3eb4c2e6 -Author: Lasse Collin -Date: 2010-09-16 23:40:41 +0300 - - xz: Add Italian translation. - - Thanks to Milo Casagrande and Lorenzo De Liso. - - THANKS | 2 + - po/LINGUAS | 1 + - po/it.po | 902 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 905 insertions(+) - -commit 21088018554e2b0e02914205377ceb6e34a090bd -Author: Lasse Collin -Date: 2010-09-15 00:34:13 +0300 - - xz: Edit a translators comment. - - src/xz/list.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit be16e28ece1b492b8f93382b7fa1cc4da23c6ff6 -Author: Lasse Collin -Date: 2010-09-14 22:47:14 +0300 - - xz: Add German translation. - - Thanks to Andre Noll. - - THANKS | 1 + - po/LINGUAS | 1 + - po/de.po | 903 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 905 insertions(+) - -commit e23ea74f3240e6b69683f9e69d1716e0f9e9092b -Author: Lasse Collin -Date: 2010-09-10 14:30:25 +0300 - - Updated README. - - README | 2 -- - 1 file changed, 2 deletions(-) - -commit 8dad2fd69336985adb9f774fa96dc9c0efcb5a71 -Author: Lasse Collin -Date: 2010-09-10 14:30:07 +0300 - - Updated INSTALL. - - INSTALL | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 0b5f07fe3728c27cce416ddc40f7e4803ae96ac2 -Author: Lasse Collin -Date: 2010-09-10 14:26:20 +0300 - - Updated the git repository address in ChangeLog. - - ChangeLog | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a8760203f93a69bc39fd14520a6e9e7b7d70be06 -Author: Lasse Collin -Date: 2010-09-10 14:09:33 +0300 - - xz: Add a comment to translators about "literal context bits". - - src/xz/message.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit bb0b1004f83cdc4d309e1471c2ecaf9f95ce60c5 -Author: Lasse Collin -Date: 2010-09-10 10:30:33 +0300 - - xz: Multiple fixes. - - The code assumed that printing numbers with thousand separators - and decimal points would always produce only US-ASCII characters. - This was used for buffer sizes (with snprintf(), no overflows) - and aligning columns of the progress indicator and --list. That - assumption was wrong (e.g. LC_ALL=fi_FI.UTF-8 with glibc), so - multibyte character support was added in this commit. The old - way is used if the operating system doesn't have enough multibyte - support (e.g. lacks wcwidth()). - - The sizes of buffers were increased to accomodate multibyte - characters. I don't know how big they should be exactly, but - they aren't used for anything critical, so it's not too bad. - If they still aren't big enough, I hopefully get a bug report. - snprintf() takes care of avoiding buffer overflows. - - Some static buffers were replaced with buffers allocated on - stack. double_to_str() was removed. uint64_to_str() and - uint64_to_nicestr() now share the static buffer and test - for thousand separator support. - - Integrity check names "None" and "Unknown-N" (2 <= N <= 15) - were marked to be translated. I had forgot these, plus they - wouldn't have worked correctly anyway before this commit, - because printing tables with multibyte strings didn't work. - - Thanks to Marek Černocký for reporting the bug about - misaligned table columns in --list output. - - configure.ac | 1 + - m4/tuklib_mbstr.m4 | 30 ++++++ - src/common/tuklib_mbstr.h | 66 +++++++++++++ - src/common/tuklib_mbstr_fw.c | 31 ++++++ - src/common/tuklib_mbstr_width.c | 64 +++++++++++++ - src/xz/Makefile.am | 4 +- - src/xz/list.c | 205 +++++++++++++++++++++++++++------------- - src/xz/message.c | 56 +++++++---- - src/xz/message.h | 10 +- - src/xz/private.h | 1 + - src/xz/util.c | 136 +++++++++----------------- - src/xz/util.h | 7 -- - 12 files changed, 424 insertions(+), 187 deletions(-) - -commit 639f8e2af33cf8a184d59ba56b6df7c098679d61 -Author: Lasse Collin -Date: 2010-09-08 08:49:22 +0300 - - Update the Czech translation. - - Thanks to Marek Černocký. - - po/cs.po | 655 +++++++++++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 454 insertions(+), 201 deletions(-) - -commit 41bc9956ebfd7c86777d33676acf34c45e7ca7c7 -Author: Lasse Collin -Date: 2010-09-07 12:31:40 +0300 - - xz: Add a note to translators. - - src/xz/hardware.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 77a7746616e555fc08028e883a56d06bf0088b81 -Author: Lasse Collin -Date: 2010-09-07 10:42:13 +0300 - - Fix use of N_() and ngettext(). - - I had somehow thought that N_() is usually used - as shorthand for ngettext(). - - This also fixes a missing \n from a call to ngettext(). - - src/common/tuklib_gettext.h | 4 ++-- - src/xz/list.c | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit e6ad39335842343e622ab51207d1d3cb9caad801 -Author: Lasse Collin -Date: 2010-09-06 19:43:12 +0300 - - Add missing files to POTFILES.in. - - po/POTFILES.in | 3 +++ - 1 file changed, 3 insertions(+) - -commit 58f55131820d2e08a1a6beb9ec0ee2378044eb30 -Author: Lasse Collin -Date: 2010-09-06 10:16:24 +0300 - - xz: Improve a comment. - - src/xz/file_io.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit bcb1b898341f7073f51660d7052d7ed6c5461a66 -Author: Lasse Collin -Date: 2010-09-05 21:34:29 +0300 - - xz: Update the comment about NetBSD in file_io.c. - - Thanks to Joerg Sonnenberger. - - src/xz/file_io.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit da014d55972f5addbf6b4360d3d8ed2ef4282170 -Author: Lasse Collin -Date: 2010-09-05 21:11:33 +0300 - - xz: Use an array instead of pointer for stdin_filename. - - Thanks Joerg Sonnenberger. - - src/xz/args.c | 2 +- - src/xz/args.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 8c7d3d1a0781c296c6b6e2465becaffd2132f7ee -Author: Lasse Collin -Date: 2010-09-05 12:16:17 +0300 - - xz: Hopefully ease translating the messages in list.c. - - src/xz/list.c | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) - -commit ef840950ad99cf2955c754875af0e01acf125079 -Author: Lasse Collin -Date: 2010-09-04 23:14:44 +0300 - - xz: Fix grammar. - - src/xz/options.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit c46afd6edc04ea140db6c59e8486f5707c810c13 -Author: Lasse Collin -Date: 2010-09-04 23:12:20 +0300 - - xz: Use lzma_lzma_preset() to initialize the options structure. - - src/xz/options.c | 14 ++------------ - 1 file changed, 2 insertions(+), 12 deletions(-) - -commit 8fd3ac046d0b1416a2094fecc456d9e0f4d5d065 -Author: Lasse Collin -Date: 2010-09-04 22:16:28 +0300 - - Don't set lc=4 with --extreme. - - This should reduce the cases where --extreme makes - compression worse. On the other hand, some other - files may now benefit slightly less from --extreme. - - src/liblzma/lzma/lzma_encoder_presets.c | 1 - - 1 file changed, 1 deletion(-) - -commit 474bac0c33e94aeaca8ada17ab19972b1424bc2b -Author: Lasse Collin -Date: 2010-09-04 22:10:32 +0300 - - xz: Minor improvements to --help and --long-help. - - src/xz/message.c | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit 373ee26f955617295c5c537b04a153a1969140d2 -Author: Jonathan Nieder -Date: 2010-09-03 16:49:15 -0500 - - Adjust memory limits in test_compress.sh - - Testing compression at level -4 now requires 48 MiB of free store at - compression time and 5 MiB at decompression time. - - Signed-off-by: Jonathan Nieder - - tests/test_compress.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2fce9312f36727ea82f3430cc5d3a7d243c5f087 -Author: Lasse Collin -Date: 2010-09-03 15:54:40 +0300 - - xz: Make -vv show also decompressor memory usage. - - src/xz/coder.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit b4b1cbcb53624ab832f8b3189c74450dc7ea29b6 -Author: Lasse Collin -Date: 2010-09-03 15:13:12 +0300 - - Tweak the compression presets -0 .. -5. - - "Extreme" mode might need some further tweaking still. - Docs were not updated yet. - - src/liblzma/lzma/lzma_encoder_presets.c | 29 +++++++++++++++++++---------- - 1 file changed, 19 insertions(+), 10 deletions(-) - -commit 77fe5954cd3d10fb1837372684cbc133b56b6a87 -Author: Lasse Collin -Date: 2010-09-03 12:28:41 +0300 - - liblzma: Adjust default depth calculation for HC3 and HC4. - - It was 8 + nice_len / 4, now it is 4 + nice_len / 4. - This allows faster settings at lower nice_len values, - even though it seems that I won't use automatic depth - calcuation with HC3 and HC4 in the presets. - - src/liblzma/lz/lz_encoder.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit fce69059cf901ce8075a78c7607d591f144a3b5a -Author: Lasse Collin -Date: 2010-09-03 11:11:25 +0300 - - xz: Make --help two lines shorter. - - At least for now, the --help option doesn't list any - options that take arguments, so "Mandatory arguments to..." - can be omitted. - - src/xz/message.c | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -commit a848e47ced6e5e2a564b5c454b2f5a19c2f40298 -Author: Lasse Collin -Date: 2010-09-02 19:22:35 +0300 - - xz: Make setting a preset override a custom filter chain. - - This is more logical behavior than ignoring preset level - options once a custom filter chain has been specified. - - src/xz/coder.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit b3ff7ba044eaeab3e424d7b51fe914daf681b1a3 -Author: Lasse Collin -Date: 2010-09-02 19:09:57 +0300 - - xz: Always warn if adjusting dictionary size due to memlimit. - - src/xz/coder.c | 28 +++++++++------------------- - 1 file changed, 9 insertions(+), 19 deletions(-) - -commit d5653ba8a1ea9c00de4fddc617aba3c51e18139d -Author: Lasse Collin -Date: 2010-08-10 11:04:30 +0300 - - Fix test_compress.sh. - - It broke when --memory option was removed from xzdec. - - Thanks to Jonathan Nieder. - - tests/test_compress.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 792331bdee706aa852a78b171040ebf814c6f3ae -Author: Lasse Collin -Date: 2010-08-07 20:45:18 +0300 - - Disable the memory usage limiter by default. - - For several people, the limiter causes bigger problems that - it solves, so it is better to have it disabled by default. - Those who want to have a limiter by default need to enable - it via the environment variable XZ_DEFAULTS. - - Support for environment variable XZ_DEFAULTS was added. It is - parsed before XZ_OPT and technically identical with it. The - intended uses differ quite a bit though; see the man page. - - The memory usage limit can now be set separately for - compression and decompression using --memlimit-compress and - --memlimit-decompress. To set both at once, -M or --memlimit - can be used. --memory was retained as a legacy alias for - --memlimit for backwards compatibility. - - The semantics of --info-memory were changed in backwards - incompatible way. Compatibility wasn't meaningful due to - changes in the memory usage limiter functionality. - - The memory usage limiter info is no longer shown at the - bottom of xz --long -help. - - The memory usage limiter support for removed completely from xzdec. - - xz's man page was updated to match the above changes. Various - unrelated fixes were also made to the man page. - - src/xz/args.c | 87 +++++++++----- - src/xz/coder.c | 8 +- - src/xz/hardware.c | 96 +++++++++------ - src/xz/hardware.h | 23 ++-- - src/xz/list.c | 2 +- - src/xz/message.c | 39 ++----- - src/xz/message.h | 4 - - src/xz/xz.1 | 341 ++++++++++++++++++++++++++++++++++-------------------- - src/xzdec/xzdec.1 | 45 +------ - src/xzdec/xzdec.c | 176 +--------------------------- - 10 files changed, 373 insertions(+), 448 deletions(-) - -commit 4a45dd4c39f75d25c7a37b6400cb24d4010ca801 -Author: Lasse Collin -Date: 2010-08-06 20:22:16 +0300 - - Add missing const to a global constant in xz. - - src/xz/args.c | 2 +- - src/xz/args.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 01aa4869cb220b7fdad6d1acbabb2233045daa8f -Author: Lasse Collin -Date: 2010-07-28 11:44:55 +0300 - - Language fixes for man pages. - - Thanks to A. Costa and Jonathan Nieder. - - src/lzmainfo/lzmainfo.1 | 4 ++-- - src/xz/xz.1 | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit ce1f0deafe8504e1492bf1b1efb3e3ec950b1a2b -Author: Lasse Collin -Date: 2010-07-27 20:47:12 +0300 - - Windows: Add a note about building a Git repository snapshot - - windows/INSTALL-Windows.txt | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 507a4a4dea1e5462f12f7ed4b076c34e02054a38 -Author: Lasse Collin -Date: 2010-07-27 20:45:03 +0300 - - Windows: build.sh is a bash script so name it correctly. - - INSTALL | 2 +- - windows/INSTALL-Windows.txt | 6 +- - windows/build.bash | 189 ++++++++++++++++++++++++++++++++++++++++++++ - windows/build.sh | 189 -------------------------------------------- - 4 files changed, 193 insertions(+), 193 deletions(-) - -commit b1cbfd40f049a646a639eb78a3e41e9e3ef73339 -Author: Lasse Collin -Date: 2010-07-27 20:27:32 +0300 - - Windows: Don't strip liblzma.a too much. - - windows/build.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit a540198ffb25fad36380c5e92ac20c2d28eec46a -Author: Lasse Collin -Date: 2010-07-13 20:07:26 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit bab0f01ed931f606b4675aa9f9331a17cec09bad -Author: Lasse Collin -Date: 2010-07-13 19:55:50 +0300 - - Add two simple example programs. - - Hopefully these help a bit when learning the basics - of liblzma API. I plan to write detailed examples about - both basic and advanced features with lots of comments, - but these two examples are good have right now. - - The examples were written by Daniel Mealha Cabrita. Thanks. - - doc/examples/xz_pipe_comp.c | 127 ++++++++++++++++++++++++++++++++++++++++++ - doc/examples/xz_pipe_decomp.c | 115 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 242 insertions(+) - -commit c15c42abb3c8c6e77c778ef06c97a4a10b8b5d00 -Author: Lasse Collin -Date: 2010-06-15 14:06:29 +0300 - - Add --no-adjust. - - src/xz/args.c | 6 ++++++ - src/xz/coder.c | 8 ++------ - src/xz/coder.h | 4 ++++ - src/xz/message.c | 6 +++++- - src/xz/xz.1 | 13 +++++++++++-- - 5 files changed, 28 insertions(+), 9 deletions(-) - -commit 2130926dd1c839280358172dfadd8d3054bde2b4 -Author: Lasse Collin -Date: 2010-06-11 21:51:32 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit bc612d0e0c9e4504c59d49168e87a7ae3e458443 -Author: Lasse Collin -Date: 2010-06-11 21:48:32 +0300 - - Clarify the description of the default memlimit in the man page. - - Thanks to Denis Excoffier. - - src/xz/xz.1 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit e1b6935d60a00405e6b5b455a3426d2248cc926c -Author: Lasse Collin -Date: 2010-06-11 21:43:28 +0300 - - Fix string to uint64_t conversion. - - Thanks to Denis Excoffier for the bug report. - - src/xz/util.c | 10 ++++++++-- - src/xzdec/xzdec.c | 13 +++++++++++-- - 2 files changed, 19 insertions(+), 4 deletions(-) - -commit 3e49c8acb0f5312948eddb2342dbb5802d4571d0 -Author: Lasse Collin -Date: 2010-06-11 10:40:28 +0300 - - Put the git commit to the filename in mydist rule. - - Makefile.am | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit d8b41eedce486d400f701b757b7b5e4e32276618 -Author: Lasse Collin -Date: 2010-06-02 23:13:55 +0300 - - Fix compiling with -Werror. - - src/xz/message.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b5fbab6123a39c9a55cd5d7af410e9aae067d5f8 -Author: Lasse Collin -Date: 2010-06-02 23:09:22 +0300 - - Silence a bogus Valgrind warning. - - When using -O2 with GCC, it liked to swap two comparisons - in one "if" statement. It's otherwise fine except that - the latter part, which is seemingly never executed, got - executed (nothing wrong with that) and then triggered - warning in Valgrind about conditional jump depending on - uninitialized variable. A few people find this annoying - so do things a bit differently to avoid the warning. - - src/liblzma/lz/lz_encoder.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 29a7b250e685852f2f97615493ec49acaf528623 -Author: Lasse Collin -Date: 2010-06-02 21:32:12 +0300 - - Fix a Windows-specific FIXME in signal handling code. - - src/xz/main.c | 40 +++++++++++++++++++++++++++++++++++----- - src/xz/private.h | 5 +++++ - src/xz/signals.c | 16 ++++++++-------- - 3 files changed, 48 insertions(+), 13 deletions(-) - -commit e89d987056cee7d4e279be3ef3a6cc690bfc0e6d -Author: Lasse Collin -Date: 2010-06-02 17:46:58 +0300 - - Adjust SA_RESTART workaround. - - I want to get a bug report if something else than - DJGPP lacks SA_RESTART. - - src/xz/message.c | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -commit e243145c84ab5c3be8259fd486ead0de5235b3f0 -Author: Lasse Collin -Date: 2010-06-01 16:02:30 +0300 - - xz man page updates. - - - Concatenating .xz files and padding - - List mode - - Robot mode - - A few examples (but many more are needed) - - src/xz/xz.1 | 385 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- - 1 file changed, 366 insertions(+), 19 deletions(-) - -commit ce6dc3c0a891f23a862f80ec08d3b6f0beb2a562 -Author: Lasse Collin -Date: 2010-06-01 15:51:44 +0300 - - Major update to xz --list. - - src/xz/list.c | 652 ++++++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 471 insertions(+), 181 deletions(-) - -commit 905e54804a899e4ad526d38fdba7e803ab9b71bd -Author: Lasse Collin -Date: 2010-06-01 14:13:03 +0300 - - Rename message_filters_get() to message_filters_to_str(). - - src/xz/message.c | 4 ++-- - src/xz/message.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 4b346ae8af20045027ae5efb068c6d69da3324d2 -Author: Lasse Collin -Date: 2010-06-01 14:09:12 +0300 - - Fix a comment. - - src/liblzma/api/lzma/index.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 07dc34f6da45c9ab757dad7fd5eef522ad27d296 -Author: Lasse Collin -Date: 2010-05-27 16:17:42 +0300 - - Fix lzma_block_compressed_size(). - - src/liblzma/common/block_util.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 44d70cb154225e47eebf15a3cfbdf3794cbb4593 -Author: Lasse Collin -Date: 2010-05-27 14:32:51 +0300 - - Take Cygwin into account in some #if lines. - - This change is no-op, but good to have just in case - for the future. - - src/xz/signals.c | 2 +- - src/xz/signals.h | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit a334348dc02803241cf4e0a539eecdc0e7ad2cc7 -Author: Lasse Collin -Date: 2010-05-27 13:42:44 +0300 - - Remove references to the Subblock filter in xz and tests. - - Thanks to Jonathan Nieder. - - src/xz/message.c | 9 --------- - tests/test_filter_flags.c | 23 ----------------------- - 2 files changed, 32 deletions(-) - -commit 70e5e2f6a7084e6af909deee88ceac2f6efa7893 -Author: Lasse Collin -Date: 2010-05-27 13:35:36 +0300 - - Remove unused chunk_size.c. - - Thanks to Jonathan Nieder for the reminder. - - src/liblzma/common/chunk_size.c | 67 ----------------------------------------- - 1 file changed, 67 deletions(-) - -commit 01a414eaf4be6352c06b48001b041b47e8202faa -Author: Jonathan Nieder -Date: 2010-05-27 02:31:33 -0500 - - Use my_min() instead of MIN() in src/xz/list.c - - This should have been done in - 920a69a8d8e4203c5edddd829d932130eac188ea. - - src/xz/list.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 920a69a8d8e4203c5edddd829d932130eac188ea -Author: Lasse Collin -Date: 2010-05-26 10:36:46 +0300 - - Rename MIN() and MAX() to my_min() and my_max(). - - This should avoid some minor portability issues. - - debug/full_flush.c | 2 +- - debug/sync_flush.c | 2 +- - src/common/sysdefs.h | 12 +++++------- - src/liblzma/common/block_buffer_encoder.c | 2 +- - src/liblzma/common/common.c | 2 +- - src/liblzma/common/stream_buffer_encoder.c | 2 +- - src/liblzma/delta/delta_encoder.c | 2 +- - src/liblzma/lz/lz_decoder.c | 7 ++++--- - src/liblzma/lz/lz_decoder.h | 2 +- - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/lz/lz_encoder.h | 2 +- - src/liblzma/lz/lz_encoder_mf.c | 4 ++-- - src/liblzma/lzma/lzma2_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 14 +++++++------- - src/xz/args.c | 3 ++- - 16 files changed, 31 insertions(+), 31 deletions(-) - -commit 019ae27c24d0c694545a6a46f8b9fb552198b015 -Author: Lasse Collin -Date: 2010-05-26 10:30:20 +0300 - - Fix compilation of debug/known_sizes.c. - - debug/known_sizes.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 98a4856a6ea84f79c790057a6eb89a25bc45b074 -Author: Lasse Collin -Date: 2010-05-26 10:28:54 +0300 - - Remove references to Subblock filter in debug/sync_flush.c. - - debug/sync_flush.c | 13 ------------- - 1 file changed, 13 deletions(-) - -commit 703d2c33c095c41ae0693ee8c27c45e3847e4535 -Author: Lasse Collin -Date: 2010-05-26 10:16:57 +0300 - - Better #error message. - - src/common/sysdefs.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d8a55c48b39703dd83f11089ad01e1ff2ac102e0 -Author: Lasse Collin -Date: 2010-05-26 09:55:47 +0300 - - Remove the Subblock filter code for now. - - The spec isn't finished and the code didn't compile anymore. - It won't be included in XZ Utils 5.0.0. It's easy to get it - back once the spec is done. - - configure.ac | 6 +- - src/liblzma/Makefile.am | 5 - - src/liblzma/api/Makefile.am | 1 - - src/liblzma/api/lzma.h | 1 - - src/liblzma/api/lzma/subblock.h | 200 ----- - src/liblzma/common/common.h | 6 - - src/liblzma/common/filter_common.c | 9 - - src/liblzma/common/filter_decoder.c | 16 - - src/liblzma/common/filter_encoder.c | 12 - - src/liblzma/subblock/Makefile.inc | 20 - - src/liblzma/subblock/subblock_decoder.c | 630 ---------------- - src/liblzma/subblock/subblock_decoder.h | 22 - - src/liblzma/subblock/subblock_decoder_helper.c | 70 -- - src/liblzma/subblock/subblock_decoder_helper.h | 29 - - src/liblzma/subblock/subblock_encoder.c | 984 ------------------------- - src/liblzma/subblock/subblock_encoder.h | 21 - - src/xz/args.c | 9 +- - src/xz/options.c | 61 -- - src/xz/options.h | 7 - - 19 files changed, 4 insertions(+), 2105 deletions(-) - -commit b6377fc990f9b8651149cae0fecb8b9c5904e26d -Author: Lasse Collin -Date: 2010-05-16 18:42:22 +0300 - - Split message_filters(). - - message_filters_to_str() converts the filter chain to - a string. message_filters_show() replaces the original - message_filters(). - - uint32_to_optstr() was also added to show the dictionary - size in nicer format when possible. - - src/xz/coder.c | 2 +- - src/xz/message.c | 187 +++++++++++++++++++++++++++++++++++-------------------- - src/xz/message.h | 14 ++++- - 3 files changed, 134 insertions(+), 69 deletions(-) - -commit d9986db782d6cf0f314342127280519339378fa0 -Author: Lasse Collin -Date: 2010-05-14 23:17:20 +0300 - - Omit lzma_restrict from the API headers. - - It isn't really useful so omitting it makes things - shorter and slightly more readable. - - src/liblzma/api/lzma.h | 12 ------------ - src/liblzma/api/lzma/index.h | 5 ++--- - src/liblzma/api/lzma/vli.h | 11 +++++------ - 3 files changed, 7 insertions(+), 21 deletions(-) - -commit 0d3489efca0a723dca0394809fa3e6170843af4b -Author: Lasse Collin -Date: 2010-05-10 19:57:24 +0300 - - Updated INSTALL. - - INSTALL | 5 ----- - 1 file changed, 5 deletions(-) - -commit 3fb3d594a2b53886adee161b6261e92277f05f7c -Author: Lasse Collin -Date: 2010-05-10 19:54:52 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 6548e304657e77d3a972053db3c41c5daf591113 -Author: Lasse Collin -Date: 2010-05-10 19:54:15 +0300 - - Updates to tuklib_physmem and tuklib_cpucores. - - Don't use #error to generate compile error, because some - compilers actually don't take it as an error. This fixes - tuklib_physmem on IRIX. - - Fix incorrect error check for sysconf() return values. - - Add AIX, HP-UX, and Tru64 specific code to detect the - amount RAM. - - Add HP-UX specific code to detect the number of CPU cores. - - Thanks a lot to Peter O'Gorman for initial patches, - testing, and debugging these fixes. - - m4/tuklib_cpucores.m4 | 33 ++++++++++++++++---- - m4/tuklib_physmem.m4 | 72 ++++++++++++++++++++++++++++++++++++++++++-- - src/common/tuklib_cpucores.c | 14 +++++++-- - src/common/tuklib_physmem.c | 33 +++++++++++++++++++- - 4 files changed, 141 insertions(+), 11 deletions(-) - -commit a290cfee3e23f046889c022aa96b4eca2016fdda -Author: Lasse Collin -Date: 2010-04-12 21:55:56 +0300 - - Show both elapsed time and estimated remaining time in xz -v. - - The extra space for showing both has been taken from the - sizes field. If the sizes grow big, bigger units than MiB - will be used. It makes it slightly difficult to see that - progress is still happening with huge files, but it should - be OK in practice. - - Thanks to Trent W. Buck for - and Jonathan Nieder for suggestions how to fix it. - - THANKS | 1 + - src/xz/message.c | 86 +++++++++++++++++++++++++------------------------------- - 2 files changed, 39 insertions(+), 48 deletions(-) - -commit a1f7a986b8d708f9290da9799ca1b8d7082fad3e -Author: Lasse Collin -Date: 2010-03-31 16:47:25 +0300 - - Add a simple tip to faq.txt about tar and xz. - - Thanks to Gilles Espinasse. - - THANKS | 1 + - doc/faq.txt | 6 ++++++ - 2 files changed, 7 insertions(+) - -commit c737eec91d200d730aa82662affd6b06ebb0bff0 -Author: Lasse Collin -Date: 2010-03-22 21:03:03 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit f4b2b52624b802c786e4e2a8eb6895794dd93b24 -Author: Lasse Collin -Date: 2010-03-07 19:52:25 +0200 - - Fix xzgrep to not break if filenames have spaces or quotes. - - Thanks to someone who reported the bug on IRC. - - src/scripts/xzgrep.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit cf38da00a140bd3bd65b192390ae5553380fd774 -Author: Lasse Collin -Date: 2010-03-07 13:59:32 +0200 - - Treat all integer multiplier suffixes as base-2. - - Originally both base-2 and base-10 were supported, but since - there seems to be little need for base-10 in XZ Utils, treat - everything as base-2 and also be more relaxed about the case - of the first letter of the suffix. Now xz will accept e.g. - KiB, Ki, k, K, kB, and KB, and interpret them all as 1024. The - recommended spelling of the suffixes are still KiB, MiB, and GiB. - - src/xz/util.c | 53 +++++++++++++++++++++++------------------------------ - src/xz/xz.1 | 48 ++++++++++++++++++++++++++++-------------------- - src/xzdec/xzdec.c | 42 ++++++++++++++++-------------------------- - 3 files changed, 67 insertions(+), 76 deletions(-) - -commit 00fc1211ae7b687ac912098f4479112059deccbd -Author: Lasse Collin -Date: 2010-03-07 13:50:23 +0200 - - Consistently round up the memory usage limit in messages. - - It still feels a bit wrong to round 1 byte to 1 MiB but - at least it is now done consistently so that the same - byte value is always rounded the same way to MiB. - - src/xz/message.c | 5 +++-- - src/xzdec/xzdec.c | 7 +++++-- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit 9886d436ff5615fc70eef32ff757b1e934069621 -Author: Lasse Collin -Date: 2010-03-07 13:34:34 +0200 - - Change the default of --enable-assume-ram from 32 to 128 MiB. - - This is to allow files created with "xz -9" to be decompressed - if the amount of RAM cannot be determined. - - INSTALL | 5 ++--- - configure.ac | 11 ++++++----- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 2672bcc9f85ba28ff648e092e9eb4cd9e69ce418 -Author: Lasse Collin -Date: 2010-03-07 13:29:28 +0200 - - Increase the default memory usage limit on "low-memory" systems. - - Previously the default limit was always 40 % of RAM. The - new limit is a little bit more complex: - - - If 40 % of RAM is at least 80 MiB, 40 % of RAM is used - as the limit. - - - If 80 % of RAM is over 80 MiB, 80 MiB is used as the limit. - - - Otherwise 80 % of RAM is used as the limit. - - This should make it possible to decompress files created with - "xz -9" on more systems. Swapping is generally more expected - on systems with less RAM, so higher default limit on them - shouldn't cause too bad surprises in terms of heavy swapping. - Instead, the higher default limit should reduce the number of - bad surprises when it used to prevent decompression of files - created with "xz -9". The DoS prevention system shouldn't be - a DoS itself. - - Note that even with the new default limit, a system with 64 MiB - RAM cannot decompress files created with "xz -9" without user - overriding the limit. This should be OK, because if xz is going - to need more memory than the system has RAM, it will run very - very slowly and thus it's good that user has to override the limit - in that case. - - src/xz/hardware.c | 43 +++++++++++++++++++++++++++++++------------ - src/xz/xz.1 | 21 +++++++++++++++------ - src/xzdec/xzdec.1 | 8 ++++---- - src/xzdec/xzdec.c | 42 ++++++++++++++++++++++++++++++------------ - 4 files changed, 80 insertions(+), 34 deletions(-) - -commit 5527b7269a997e7f335d60f237a64bbf225d9dc7 -Author: Lasse Collin -Date: 2010-03-06 21:36:19 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit d0d1c51aea4351288a7e533cce28cb7f852f6b05 -Author: Lasse Collin -Date: 2010-03-06 21:17:20 +0200 - - Fix missing initialization in lzma_strm_init(). - - With bad luck, lzma_code() could return LZMA_BUF_ERROR - when it shouldn't. - - This has been here since the early days of liblzma. - It got triggered by the modifications made to the xz - tool in commit 18c10c30d2833f394cd7bce0e6a821044b15832f - but only when decompressing .lzma files. Somehow I managed - to miss testing that with Valgrind earlier. - - This fixes . - Thanks to Rafał Mużyło for helping to debug it on IRC. - - src/liblzma/common/common.c | 1 + - 1 file changed, 1 insertion(+) - -commit eb7d51a3faf9298c0c7aa9aaeae1023dcf9e37ea -Author: Lasse Collin -Date: 2010-02-12 13:16:15 +0200 - - Collection of language fixes to comments and docs. - - Thanks to Jonathan Nieder. - - README | 2 +- - configure.ac | 2 +- - doc/faq.txt | 2 +- - extra/7z2lzma/7z2lzma.bash | 2 +- - src/common/tuklib_progname.c | 2 +- - src/common/tuklib_progname.h | 2 +- - src/liblzma/api/lzma/base.h | 8 ++++---- - src/liblzma/api/lzma/bcj.h | 2 +- - src/liblzma/api/lzma/block.h | 2 +- - src/liblzma/api/lzma/check.h | 2 +- - src/liblzma/api/lzma/filter.h | 4 ++-- - src/liblzma/api/lzma/index.h | 6 +++--- - src/liblzma/api/lzma/lzma.h | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - src/liblzma/api/lzma/vli.h | 2 +- - src/liblzma/common/block_header_encoder.c | 2 +- - src/liblzma/common/chunk_size.c | 4 ++-- - src/liblzma/common/common.h | 4 ++-- - src/liblzma/common/filter_buffer_decoder.c | 2 +- - src/liblzma/common/filter_encoder.c | 4 ++-- - src/liblzma/common/index.c | 6 +++--- - src/liblzma/common/index_encoder.c | 2 +- - src/liblzma/common/stream_encoder.c | 2 +- - src/liblzma/common/vli_decoder.c | 2 +- - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/lz/lz_encoder.h | 2 +- - src/liblzma/lzma/lzma2_encoder.c | 2 +- - src/liblzma/lzma/lzma_decoder.c | 4 ++-- - src/liblzma/lzma/lzma_decoder.h | 2 +- - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 +- - src/liblzma/lzma/lzma_encoder_private.h | 2 +- - src/liblzma/simple/simple_coder.c | 2 +- - src/liblzma/subblock/subblock_encoder.c | 2 +- - src/scripts/xzdiff.1 | 2 +- - src/scripts/xzless.1 | 10 +++++----- - src/xz/coder.c | 2 +- - src/xz/file_io.c | 2 +- - src/xz/main.c | 6 +++--- - src/xz/main.h | 2 +- - src/xz/message.c | 10 +++++----- - src/xz/message.h | 2 +- - src/xz/xz.1 | 16 ++++++++-------- - src/xzdec/lzmadec_w32res.rc | 2 +- - src/xzdec/xzdec_w32res.rc | 2 +- - tests/test_index.c | 2 +- - windows/build.sh | 4 ++-- - 47 files changed, 77 insertions(+), 77 deletions(-) - -commit 4785f2021aa6a23f1caf724fcc823e562584f225 -Author: Lasse Collin -Date: 2010-02-12 12:41:20 +0200 - - Fix jl -> jb in ASM files. - - src/liblzma/check/crc32_x86.S | 2 +- - src/liblzma/check/crc64_x86.S | 4 ++-- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 6b50c9429bf85521d355adc61745d06ee017f8c8 -Author: Lasse Collin -Date: 2010-02-12 12:31:22 +0200 - - Use __APPLE__ instead of __MACH__ in ASM files. - - This allows the files to work on HURD. - - Thanks to Jonathan Nieder. - - src/liblzma/check/crc32_x86.S | 8 ++++---- - src/liblzma/check/crc64_x86.S | 8 ++++---- - 2 files changed, 8 insertions(+), 8 deletions(-) - -commit 6503fde658a5cdbdd907a788865470dd64771601 -Author: Lasse Collin -Date: 2010-02-07 19:48:06 +0200 - - Subtle change to liblzma Block handling API. - - lzma_block.version has to be initialized even for - lzma_block_header_decode(). This way a future version - of liblzma won't allocate memory in a way that an old - application doesn't know how to free it. - - The subtlety of this change is that all current apps - using lzma_block_header_decode() will keep working for - now, because the only possible version value is zero, - and lzma_block_header_decode() unconditionally sets the - version to zero even now. Unless fixed, these apps will - break in the future if a new version of the Block options - is ever needed. - - src/liblzma/api/lzma/block.h | 39 ++++++++++++++++--------------------- - src/liblzma/common/stream_decoder.c | 3 +++ - 2 files changed, 20 insertions(+), 22 deletions(-) - -commit dd7c3841ff78cb94ce02b0220c6e4748460970f7 -Author: Lasse Collin -Date: 2010-02-02 11:50:11 +0200 - - Fix wrong assertion. - - This was added in 455e68c030fde8a8c2f5e254c3b3ab9489bf3735. - - src/xz/main.c | 5 +++-- - 1 file changed, 3 insertions(+), 2 deletions(-) - -commit 9d67588c1597849504a3e5ac8bf6f06e7d2ee8be -Author: Lasse Collin -Date: 2010-02-01 22:48:42 +0200 - - Updated TODO. - - TODO | 4 ---- - 1 file changed, 4 deletions(-) - -commit fef6333f52c8801308c3b78acb7942988541d137 -Author: Lasse Collin -Date: 2010-02-01 22:47:54 +0200 - - Fix typos in comments. - - src/xz/list.c | 2 +- - windows/build.sh | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 455e68c030fde8a8c2f5e254c3b3ab9489bf3735 -Author: Lasse Collin -Date: 2010-02-01 22:46:56 +0200 - - Fix signal handling for --list. - - src/xz/main.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -commit 82220a149015616f75641ee8bbea415137535b9b -Author: Lasse Collin -Date: 2010-02-01 11:44:45 +0200 - - Fix compression of symlinks with --force. - - xz --force accepted symlinks, but didn't remove - them after successful compression. Instead, an error - message was displayed. - - src/xz/file_io.c | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -commit d4da177d5ba3d2ef7323a6f1e06ca16e0478810e -Author: Lasse Collin -Date: 2010-02-01 10:20:57 +0200 - - Fix a comment. - - windows/build.sh | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit f9dd797a423a148903cf345b4146cb1fe1eab11d -Author: Lasse Collin -Date: 2010-01-31 23:43:54 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit ee5ddb8b28419fe4923ded5c18a50570a762dcab -Author: Lasse Collin -Date: 2010-01-31 23:41:29 +0200 - - Updated TODO. - - TODO | 17 +++++++++++------ - 1 file changed, 11 insertions(+), 6 deletions(-) - -commit 11936ad3f5a2e97bda3463c7a56a2f4bb9265ea6 -Author: Lasse Collin -Date: 2010-01-31 23:35:04 +0200 - - Mention TODO in README. - - README | 1 + - 1 file changed, 1 insertion(+) - -commit 2901a8e7e82af05675b8cd8758a8ceddb111359f -Author: Lasse Collin -Date: 2010-01-31 23:31:14 +0200 - - Updated INSTALL. - - INSTALL | 52 ++++++++++++++++++++++++++-------------------------- - 1 file changed, 26 insertions(+), 26 deletions(-) - -commit 8884e16864ba53fb4b58623d7537d7ef30c28e11 -Author: Lasse Collin -Date: 2010-01-31 23:28:51 +0200 - - Revise the Windows build files. - - The old Makefile + config.h was deleted, because it - becomes outdated too easily and building with the - Autotools based build system works fine even on Windows. - - windows/build.sh hasn't got much testing, but it should - work to build 32-bit x86 and x86-64 versions of XZ Utils - using MSYS, MinGW or MinGW-w32, and MinGW-w64. - - windows/INSTALL-Windows.txt describes what packages are - needed and how to install them. - - windows/README-Windows.txt is a readme file for the binary - package that build.sh hopefully builds. - - There are no instructions about using Autotools for now, - so those using a git snapshot may want to run - "autoreconf -fi && ./configure && make mydist" on a UN*X - box and then copy the resulting .tar.gz to a Windows. - - windows/INSTALL-Windows.txt | 131 ++++++++++++++++++ - windows/Makefile | 320 -------------------------------------------- - windows/README | 155 --------------------- - windows/README-Windows.txt | 115 ++++++++++++++++ - windows/build.sh | 189 ++++++++++++++++++++++++++ - windows/config.h | 170 ----------------------- - 6 files changed, 435 insertions(+), 645 deletions(-) - -commit 34eb5e201d62f7f46bbe6fe97cfe08cb31b3b88c -Author: Lasse Collin -Date: 2010-01-31 19:52:38 +0200 - - Select the default integrity check type at runtime. - - Previously it was set statically to CRC64 or CRC32 - depending on options passed to the configure script. - - src/xz/coder.c | 19 ++++++++++++++----- - 1 file changed, 14 insertions(+), 5 deletions(-) - -commit 96a4f840e3b9ca5c81e5711ff9c267b194f93ef1 -Author: Lasse Collin -Date: 2010-01-31 18:17:50 +0200 - - Improve displaying of the memory usage limit. - - src/xz/coder.c | 8 +++----- - src/xz/message.c | 37 +++++++++++++++++++++++++++++-------- - src/xz/util.c | 7 +++++++ - src/xz/util.h | 6 ++++++ - 4 files changed, 45 insertions(+), 13 deletions(-) - -commit b3cc4d8edd68a0250cc69680c99b9f7343f99cf2 -Author: Lasse Collin -Date: 2010-01-31 12:53:56 +0200 - - Don't use uninitialized sigset_t. - - If signal handlers haven't been established, then it's - useless to try to block them, especially since the sigset_t - used for blocking hasn't been initialized yet. - - src/xz/signals.c | 34 ++++++++++++++++++++++++---------- - 1 file changed, 24 insertions(+), 10 deletions(-) - -commit 231c3c7098f1099a56abb8afece76fc9b8699f05 -Author: Lasse Collin -Date: 2010-01-31 12:01:54 +0200 - - Delay opening the destionation file and other fixes. - - The opening of the destination file is now delayed a little. - The coder is initialized, and if decompressing, the memory - usage of the first Block compared against the memory - usage limit before the destination file is opened. This - means that if --force was used, the old "target" file won't - be deleted so easily when something goes wrong very early. - Thanks to Mark K for the bug report. - - The above fix required some changes to progress message - handling. Now there is a separate function for setting and - printing the filename. It is used also in list.c. - - list_file() now handles stdin correctly (gives an error). - - A useless check for user_abort was removed from file_io.c. - - src/xz/coder.c | 64 ++++++++++++++++++++++----------- - src/xz/file_io.c | 107 +++++++++++++++++++++++++++---------------------------- - src/xz/file_io.h | 8 +++-- - src/xz/list.c | 28 +++++---------- - src/xz/message.c | 46 +++++++++++++----------- - src/xz/message.h | 29 ++++++++++----- - 6 files changed, 157 insertions(+), 125 deletions(-) - -commit 0dbd0641db99d5e73d51d04ce7a71e52dc6b4105 -Author: Lasse Collin -Date: 2010-01-29 22:48:04 +0200 - - Add list.h to src/xz/Makefile.am. - - This should have been already in - 0bc9eab243dee3be764b3530433a7fcdc3f7c6a1. - - src/xz/Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit b4b1a56e0cbd597157858264f5c7189201ac9018 -Author: Lasse Collin -Date: 2010-01-29 13:24:27 +0200 - - Add lzmainfo.1 to manfiles list to convert to .txt and .pdf. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 5574d64e03ad3a3d6e00e4b0d3e81c7b5529ec95 -Author: Lasse Collin -Date: 2010-01-27 16:42:11 +0200 - - Silence two compiler warnings on DOS-like systems. - - src/common/tuklib_open_stdxxx.c | 6 +++++- - src/xz/file_io.c | 3 +++ - 2 files changed, 8 insertions(+), 1 deletion(-) - -commit b063cc34a30a4edf109343ff373b2b62b8ca72d3 -Author: Lasse Collin -Date: 2010-01-27 13:31:03 +0200 - - Use PACKAGE_URL instead of custom PACKAGE_HOMEPAGE. - - configure.ac | 9 ++------- - src/liblzma/liblzma.pc.in | 2 +- - src/lzmainfo/lzmainfo.c | 2 +- - src/xz/message.c | 2 +- - src/xzdec/xzdec.c | 2 +- - 5 files changed, 6 insertions(+), 11 deletions(-) - -commit 38b8035b5cb5f56457c5fa5a891d6900fcf5984f -Author: Lasse Collin -Date: 2010-01-26 23:37:46 +0200 - - Add a missing space to an error message. - - Thanks to Robert Readman. - - src/xz/args.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e5496f9628ff5979392a80421d0b63a4de8015b4 -Author: Lasse Collin -Date: 2010-01-26 22:53:37 +0200 - - Use past tense in error message in io_unlink(). - - Added a note to translators too. - - Thanks to Robert Readman. - - THANKS | 1 + - src/xz/file_io.c | 14 ++++++++++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -commit d9a9800597ea540090e434132c3b511217df0a2b -Author: Lasse Collin -Date: 2010-01-26 15:42:24 +0200 - - Fix too small static buffer in util.c. - - This was introduced in - 0dd6d007669b946543ca939a44243833c79e08f4 two days ago. - - src/xz/util.c | 9 ++++----- - 1 file changed, 4 insertions(+), 5 deletions(-) - -commit d0b4bbf5da068503c099cd456e294d7673548cc0 -Author: Lasse Collin -Date: 2010-01-26 14:46:43 +0200 - - Minor comment fix. - - src/xz/main.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 0bc9eab243dee3be764b3530433a7fcdc3f7c6a1 -Author: Lasse Collin -Date: 2010-01-24 23:50:54 +0200 - - Add initial version of xz --list. - - This is a bit rough but should be useful for basic things. - Ideas (with detailed examples) about the output format are - welcome. - - The output of --robot --list is not necessarily stable yet, - although I don't currently have any plans about changing it. - - The man page hasn't been updated yet. - - src/xz/Makefile.am | 1 + - src/xz/list.c | 988 ++++++++++++++++++++++++++++++++++------------------- - src/xz/list.h | 18 + - src/xz/main.c | 19 +- - src/xz/private.h | 1 + - 5 files changed, 668 insertions(+), 359 deletions(-) - -commit df254ce03be016e217b511e7acd5d493f9929ca5 -Author: Lasse Collin -Date: 2010-01-24 22:46:11 +0200 - - Add io_pread(). - - It will be used by --list. - - src/xz/file_io.c | 25 +++++++++++++++++++++++++ - src/xz/file_io.h | 17 +++++++++++++++++ - 2 files changed, 42 insertions(+) - -commit ef68dd4a92976276304de2aedfbe34ae91a86abb -Author: Lasse Collin -Date: 2010-01-24 22:45:14 +0200 - - Set LC_NUMERIC=C when --robot is used. - - It is to ensure that floating point numbers - will always have a dot as the decimal separator. - - src/xz/args.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 0dd6d007669b946543ca939a44243833c79e08f4 -Author: Lasse Collin -Date: 2010-01-24 16:57:40 +0200 - - Some improvements to printing sizes in xz. - - src/xz/coder.c | 56 +++++++++++++++------------------------ - src/xz/message.c | 80 ++++++++++++++++++-------------------------------------- - src/xz/message.h | 4 +++ - src/xz/util.c | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ - src/xz/util.h | 44 +++++++++++++++++++++++++++++++ - 5 files changed, 166 insertions(+), 90 deletions(-) - -commit 2a98fdffd68c66371279c211c29153c808ad5c1d -Author: Lasse Collin -Date: 2010-01-20 22:02:35 +0200 - - Fix a typo in README. - - Thanks to R. Bijker. - - README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 07a11dad44e041b01dcfc73e8d4e00731158c06d -Author: Lasse Collin -Date: 2010-01-17 11:59:54 +0200 - - Updated windows/Makefile. - - Thanks to Dan Shechter for the patch. - - It is likely that windows/Makefile will be removed - completely, because Autotols based build nowadays - works well with both 32-bit and 64-bit MinGW (I - just need to update the docs). - - windows/Makefile | 38 +++++++++++++++++++++++++------------- - windows/config.h | 2 ++ - 2 files changed, 27 insertions(+), 13 deletions(-) - -commit 37f31ead9d2b4e467df11450cf29ed7d7e3e25f3 -Author: Lasse Collin -Date: 2010-01-15 11:05:11 +0200 - - Update the xz man page to match the previous two commits. - - src/xz/xz.1 | 9 +++------ - 1 file changed, 3 insertions(+), 6 deletions(-) - -commit 3ffd5d81a43210c8da56da5c5b3637d3f8bc63c7 -Author: Lasse Collin -Date: 2010-01-13 19:10:25 +0200 - - Don't read compressed data from a terminal or write it - to a terminal even if --force is specified. - - It just seems more reasonable this way. - - The new behavior matches bzip2. The old one matched gzip. - - src/xz/main.c | 20 +++++++++----------- - src/xz/util.c | 8 ++++---- - 2 files changed, 13 insertions(+), 15 deletions(-) - -commit 23ac2c44c3ac76994825adb7f9a8f719f78b5ee4 -Author: Lasse Collin -Date: 2010-01-13 18:12:40 +0200 - - Don't compress or decompress special files unless writing - to stdout even if --force is used. - - --force will still enable compression of symlinks, but only - in case they point to a regular file. - - The new way simply seems more reasonable. It matches gzip's - behavior while the old one matched bzip2's behavior. - - src/xz/file_io.c | 15 ++++++++++----- - 1 file changed, 10 insertions(+), 5 deletions(-) - -commit cee12aa852ec0902983dc1f153346ef750157fb9 -Author: Lasse Collin -Date: 2010-01-12 16:30:33 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 153c7740c54b3c90129dbd3d6153ac1303c4d605 -Author: Lasse Collin -Date: 2010-01-12 16:18:14 +0200 - - Add IRIX-specific code to tuklib_physmem and tuklib_cpucores. - - This is untested but it will get tested soon and, if needed, - fixed before 5.0.0. - - Thanks to Stuart Shelton. - - m4/tuklib_cpucores.m4 | 11 +++++++++-- - m4/tuklib_physmem.m4 | 22 +++++++++++++++++++++- - src/common/tuklib_cpucores.c | 6 ++++++ - src/common/tuklib_physmem.c | 19 +++++++++++++++++++ - 4 files changed, 55 insertions(+), 3 deletions(-) - -commit 8ea8dc754a7a5bc2d60db1eac201839cabdab6a1 -Author: Lasse Collin -Date: 2010-01-01 00:29:10 +0200 - - Fix _memconfig() functions. - - This affects lzma_memusage() and lzma_memlimit_get(). - - src/liblzma/api/lzma/index.h | 7 ------- - src/liblzma/common/alone_decoder.c | 11 +++++++---- - src/liblzma/common/index_decoder.c | 10 ++++++---- - src/liblzma/common/stream_decoder.c | 11 +++++++---- - 4 files changed, 20 insertions(+), 19 deletions(-) - -commit 1a7ec87c8ee61dfc2e496d2e1fb7ab0939804691 -Author: Lasse Collin -Date: 2009-12-31 22:45:53 +0200 - - Revised the Index handling code. - - This breaks API and ABI but most apps are not affected - since most apps don't use this part of the API. You will - get a compile error if you are using anything that got - broken. - - Summary of changes: - - - Ability to store Stream Flags, which are needed - for random-access reading in multi-Stream files. - - - Separate function to set size of Stream Padding. - - - Iterator structure makes it possible to read the same - lzma_index from multiple threads at the same time. - - - A lot faster code to locate Blocks. - - - Removed lzma_index_equal() without adding anything - to replace it. I don't know what it should do exactly - with the new features and what actually needs this - function in the first place other than test_index.c, - which now has its own code to compare lzma_indexes. - - src/liblzma/api/lzma/index.h | 572 +++++++--- - src/liblzma/common/index.c | 1553 ++++++++++++++++++---------- - src/liblzma/common/index.h | 6 + - src/liblzma/common/index_decoder.c | 12 +- - src/liblzma/common/index_encoder.c | 36 +- - src/liblzma/common/index_encoder.h | 2 +- - src/liblzma/common/stream_buffer_encoder.c | 6 +- - src/liblzma/common/stream_encoder.c | 3 +- - tests/test_index.c | 371 ++++--- - 9 files changed, 1703 insertions(+), 858 deletions(-) - -commit f29997a846e673cb3b8cbd57de47ed313b3978bb -Author: Lasse Collin -Date: 2009-12-31 21:13:25 +0200 - - Remove c-format tag in cs.po. - - It was fixed in the C code earlier. - - po/cs.po | 1 - - 1 file changed, 1 deletion(-) - -commit 097bad000363e0bf29f8274ad2d7ab59f7dbf644 -Author: Lasse Collin -Date: 2009-12-31 21:11:05 +0200 - - Add missing lzma_nothrow in filter.h. - - src/liblzma/api/lzma/filter.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b56cb1fc31fa2381f92eefc040df85667048d626 -Author: Lasse Collin -Date: 2009-12-09 18:13:44 +0200 - - Remove redefinition of _(msgid) macro from lzmainfo.c. - - src/lzmainfo/lzmainfo.c | 7 ------- - 1 file changed, 7 deletions(-) - -commit 171b03febfe09d9fae6ac8be6aa4518bcaf427d2 -Author: Jonathan Nieder -Date: 2009-12-08 19:41:57 -0600 - - update po/.gitignore - - Since the *.gmo files are deleted by the maintainer-clean target, - I assume they are not meant to be tracked. - - Also add the other files listed in the Makefile’s clean targets - (stamp-poT, xz.po, xz.[12].po, *.new.po, xz.mo) to make sure they - are not accidentally tracked. Most of these are intermediate - files that would not appear unless a build is interrupted or - fails. - - Split the list of untracked files by origin to make it easier to - tell if files are missing in the future. - - Signed-off-by: Jonathan Nieder - - po/.gitignore | 28 ++++++++++++++++++++++------ - 1 file changed, 22 insertions(+), 6 deletions(-) - -commit f7e44c6c11f630519072971b8b07a5729c096c36 -Author: Lasse Collin -Date: 2009-12-09 00:38:55 +0200 - - Always rely on GCC's auto-import on Windows. - - I understood that this is nicer, because then people - don't need to worry about the LZMA_API_STATIC macro. - - Thanks to Charles Wilson and Keith Marshall. - - src/liblzma/api/lzma.h | 16 +++++++++------- - 1 file changed, 9 insertions(+), 7 deletions(-) - -commit 7b76a3e2336f25088957cba92b0dbd854d9caa3c -Author: Lasse Collin -Date: 2009-12-07 21:46:53 +0200 - - Fix file_io.c on DOS-like systems. - - The problem was introduced when adding sparse file - support in 465d1b0d6518c5d980f2db4c2d769f9905bdd902. - - Thanks to Charles Wilson. - - src/xz/file_io.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 0696f5d268362221380e039bad48a86e29067c6a -Author: Lasse Collin -Date: 2009-12-07 20:54:21 +0200 - - Add Czech translation. - - Thanks to Marek Černocký. - - Other people planning to translate xz: Note that the - messages are a little bit in flux still. Translations - are still welcome, just be prepared to some extra work - in case there are changes. - - THANKS | 1 + - po/LINGUAS | 1 + - po/cs.po | 637 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 639 insertions(+) - -commit 5e817a50d276f0a3607638c1c1d449d50b9aa4e5 -Author: Lasse Collin -Date: 2009-12-07 20:32:08 +0200 - - Add a note for translators to add a bug reporting address - for translation bugs. - - src/xz/message.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 6db1c35be9e1e364cdacff6878910e1b7aac2a37 -Author: Lasse Collin -Date: 2009-12-07 20:07:02 +0200 - - Prevent xgettext from taking one regular string as a C format string. - - Thanks to Marek Černocký. - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e0c2776b6ffbd2b1900fde353aceac734edc93d7 -Author: Lasse Collin -Date: 2009-11-28 17:45:22 +0200 - - Remove duplicate code in io_open_dest(). - - Fix a missing _() in the error message too. - - src/xz/file_io.c | 9 +-------- - 1 file changed, 1 insertion(+), 8 deletions(-) - -commit f057a33c6f7c5992389479f2d4feabf2900ba7ee -Author: Lasse Collin -Date: 2009-11-26 10:11:23 +0200 - - Typo fix to sysdefs.h. - - Thanks to Jonathan Nieder. - - src/common/sysdefs.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8767b41534eafdf5e742e12190646bf5740b0cdb -Author: Lasse Collin -Date: 2009-11-26 10:10:36 +0200 - - Fix a memory leak in test_index.c. - - This was introduced in - bd13b04e202b6f495a68eb0766f97085b7c50a06. - - Thanks to Jim Meyering for noticing it. - - tests/test_index.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 919fbaff860acdaa4bcd216500a0b1c960a6db92 -Author: Lasse Collin -Date: 2009-11-25 14:22:19 +0200 - - Add missing error check to coder.c. - - With bad luck this could cause a segfault due to - reading (but not writing) past the end of the buffer. - - src/xz/coder.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -commit bd13b04e202b6f495a68eb0766f97085b7c50a06 -Author: Lasse Collin -Date: 2009-11-25 13:04:10 +0200 - - Fix bugs in lzma_index_read() and lzma_index_cat(). - - lzma_index_read() didn't skip over Stream Padding - if it was the first record in the Index. - - lzma_index_cat() didn't combine small Indexes correctly. - - The test suite was updated to check for these bugs. - - These bugs didn't affect the xz command line tool or - most users of liblzma in any way. - - src/liblzma/common/index.c | 30 +++++++++++++++++++----------- - tests/test_index.c | 28 +++++++++++++++++++++++++--- - 2 files changed, 44 insertions(+), 14 deletions(-) - -commit 1f196909143b888e062bd9a0c4ba8c34d3019bfa -Author: Lasse Collin -Date: 2009-11-25 12:52:56 +0200 - - Index decoder fixes. - - The Index decoder code didn't perfectly match the API docs, - which said that *i will be set to point to the decoded Index - only after decoding has succeeded. The docs were a bit unclear - too. - - Now the decoder will initially set *i to NULL. *i will be set - to point to the decoded Index once decoding has succeeded. - This simplifies applications too, since it avoids dangling - pointers. - - src/liblzma/api/lzma/index.h | 23 ++++++++++++----------- - src/liblzma/common/index_decoder.c | 26 ++++++++++++++++++++------ - 2 files changed, 32 insertions(+), 17 deletions(-) - -commit 465d1b0d6518c5d980f2db4c2d769f9905bdd902 -Author: Lasse Collin -Date: 2009-11-25 11:19:20 +0200 - - Create sparse files by default when decompressing into - a regular file. - - Sparse file creation can be disabled with --no-sparse. - I don't promise yet that the name of this option won't - change before 5.0.0. It's possible that the code, that - checks when it is safe to use sparse output on stdout, - is not good enough, and a more flexible command line - option is needed to configure sparse file handling. - - src/xz/args.c | 6 ++ - src/xz/coder.c | 33 ++++---- - src/xz/file_io.c | 243 +++++++++++++++++++++++++++++++++++++++++++++++-------- - src/xz/file_io.h | 34 ++++++-- - src/xz/message.c | 1 + - src/xz/xz.1 | 11 +++ - 6 files changed, 272 insertions(+), 56 deletions(-) - -commit 37de544414fc2dc5039471d1002ebd015eb3e627 -Author: Lasse Collin -Date: 2009-11-22 12:43:06 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit f1a28b96c900c658fe016852ff62f6c24d1f50fa -Author: Lasse Collin -Date: 2009-11-22 12:05:33 +0200 - - Add missing consts to pointer casts. - - src/liblzma/check/crc32_fast.c | 4 ++-- - src/liblzma/check/crc64_fast.c | 5 +++-- - 2 files changed, 5 insertions(+), 4 deletions(-) - -commit b9b5c54cd438b3ae47b44cc211b71f3bc53e35ef -Author: Lasse Collin -Date: 2009-11-22 12:00:30 +0200 - - Enable assembler code only if it is known to work - on that operating system. - - I'm too lazy to think how to make a good Autoconf test - for this and it's not that important anyway. - - No longer define HAVE_ASM_X86 or HAVE_ASM_X86_64. - Inline assembler (if any) is used if a macro like - __i386__ or __x86_64__ is defined. - - configure.ac | 26 ++++++++++++-------------- - 1 file changed, 12 insertions(+), 14 deletions(-) - -commit 0733f4c9994db696420a405810d5f02c79ebc404 -Author: Lasse Collin -Date: 2009-11-22 11:55:03 +0200 - - Make fastpos.h use tuklib_integer.h instead of bsr.h - when --enable-small has been specified. - - src/liblzma/common/Makefile.inc | 1 - - src/liblzma/common/bsr.h | 60 ----------------------------------------- - src/liblzma/lzma/fastpos.h | 5 +--- - 3 files changed, 1 insertion(+), 65 deletions(-) - -commit 7ac3985d891dcc5773543f84cc5bce6c14841b12 -Author: Lasse Collin -Date: 2009-11-22 11:52:30 +0200 - - Update tuklib_integer.h with bit scan functions. - - Thanks to Joachim Henke for the original patch. - - src/common/tuklib_integer.h | 189 ++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 181 insertions(+), 8 deletions(-) - -commit c74c132f7f79a842c073c66575a4fdb985e4c2e3 -Author: Lasse Collin -Date: 2009-11-20 12:51:19 +0200 - - Update tuklib_cpucores.m4 and tuklib_physmem.m4 from tuklib, - which now use AC_CACHE_CHECK. Using the cache variable, - configure now warns if there is no method to detect the amount - of RAM and recommends using --enable-assume-ram. - - configure.ac | 16 ++++++++++++++++ - m4/tuklib_cpucores.m4 | 31 ++++++++++++++++++------------- - m4/tuklib_physmem.m4 | 50 +++++++++++++++++++++++++++----------------------- - 3 files changed, 61 insertions(+), 36 deletions(-) - -commit d315ca4930ff96e1428c6021c96f209e1abdd83e -Author: Lasse Collin -Date: 2009-11-16 18:16:45 +0200 - - Add support for --info-memory and --robot to xz. - - Currently --robot works only with --info-memory and - --version. --help and --long-help work too, but --robot - has no effect on them. - - Thanks to Jonathan Nieder for the original patches. - - src/xz/args.c | 85 +++++++++++++++++++++++++++++++++----------------------- - src/xz/args.h | 1 + - src/xz/main.c | 11 +++++--- - src/xz/message.c | 47 +++++++++++++++++++++++-------- - src/xz/message.h | 4 +++ - src/xz/xz.1 | 40 +++++++++++++++++++++++--- - 6 files changed, 133 insertions(+), 55 deletions(-) - -commit e330fb7e6b8162894280c8a3dc22fdc05cd2d85e -Author: Lasse Collin -Date: 2009-11-15 12:54:45 +0200 - - Fix wrong indentation caused by incorrect settings - in the text editor. - - src/liblzma/lz/lz_decoder.c | 18 +++++++++--------- - src/liblzma/lzma/lzma2_encoder.c | 6 +++--- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 2 +- - 3 files changed, 13 insertions(+), 13 deletions(-) - -commit 93e418562cf127a9171e87bcd4e9af8e1bfcdae4 -Author: Lasse Collin -Date: 2009-11-15 12:40:17 +0200 - - Add lzma_physmem(). - - I had hoped to keep liblzma as purely a compression - library as possible (e.g. file I/O will go into - a different library), but it seems that applications - linking agaisnt liblzma need some way to determine - the memory usage limit, and knowing the amount of RAM - is one reasonable way to help making such decisions. - - Thanks to Jonathan Nieder for the original patch. - - src/liblzma/Makefile.am | 5 ++-- - src/liblzma/api/Makefile.am | 1 + - src/liblzma/api/lzma.h | 3 +++ - src/liblzma/api/lzma/hardware.h | 51 +++++++++++++++++++++++++++++++++++ - src/liblzma/common/Makefile.inc | 1 + - src/liblzma/common/hardware_physmem.c | 25 +++++++++++++++++ - src/xz/Makefile.am | 1 - - src/xz/hardware.c | 3 +-- - src/xzdec/Makefile.am | 6 ++--- - src/xzdec/xzdec.c | 3 +-- - 10 files changed, 88 insertions(+), 11 deletions(-) - -commit cf39faca59083d38422058c6c97aa757ea7797d0 -Author: Lasse Collin -Date: 2009-11-14 20:21:19 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 2ddcae247c284cc2f396b6cfdab57790c7588b5f -Author: Lasse Collin -Date: 2009-11-14 20:20:03 +0200 - - Some updates to xz man page. - - src/xz/xz.1 | 54 +++++++++++++++++++++++++++++++++++++++++++++++++----- - 1 file changed, 49 insertions(+), 5 deletions(-) - -commit 19b2674f07f8b588dfaf6638396b4b42866d7e23 -Author: Lasse Collin -Date: 2009-11-14 19:51:03 +0200 - - Fix description of --memory in --long-help. - - src/xz/message.c | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - -commit 2291346f0cccf88e605d84b75c9c5aaaaddb5df8 -Author: Lasse Collin -Date: 2009-11-14 19:45:39 +0200 - - Update the debug programs so that they compile again. - - debug/crc32.c | 1 + - debug/memusage.c | 6 ++++-- - debug/sync_flush.c | 14 +++++++++----- - 3 files changed, 14 insertions(+), 7 deletions(-) - -commit 418d64a32e8144210f98a810738fed5a897e8367 -Author: Lasse Collin -Date: 2009-11-14 18:59:19 +0200 - - Fix a design error in liblzma API. - - Originally the idea was that using LZMA_FULL_FLUSH - with Stream encoder would read the filter chain - from the same array that was used to intialize the - Stream encoder. Since most apps wouldn't use - LZMA_FULL_FLUSH, most apps wouldn't need to keep - the filter chain available after initializing the - Stream encoder. However, due to my mistake, it - actually required keeping the array always available. - - Since setting the new filter chain via the array - used at initialization time is not a nice way to do - it for a couple of reasons, this commit ditches it - and introduces lzma_filters_update(). This new function - replaces also the "persistent" flag used by LZMA2 - (and to-be-designed Subblock filter), which was also - an ugly thing to do. - - Thanks to Alexey Tourbin for reminding me about the problem - that Stream encoder used to require keeping the filter - chain allocated. - - src/liblzma/api/lzma/filter.h | 30 +++++++++++++ - src/liblzma/api/lzma/lzma.h | 13 ------ - src/liblzma/common/block_encoder.c | 14 ++++++ - src/liblzma/common/common.c | 20 ++++++++- - src/liblzma/common/common.h | 22 ++++++++++ - src/liblzma/common/easy_encoder.c | 63 ++------------------------- - src/liblzma/common/filter_common.c | 3 ++ - src/liblzma/common/filter_encoder.c | 27 ++++++++++++ - src/liblzma/common/filter_encoder.h | 2 +- - src/liblzma/common/stream_encoder.c | 76 ++++++++++++++++++++++++++++----- - src/liblzma/delta/delta_common.c | 5 +-- - src/liblzma/delta/delta_decoder.c | 3 +- - src/liblzma/delta/delta_encoder.c | 17 +++++++- - src/liblzma/delta/delta_private.h | 2 +- - src/liblzma/lz/lz_encoder.c | 17 ++++++++ - src/liblzma/lz/lz_encoder.h | 4 ++ - src/liblzma/lzma/lzma2_encoder.c | 59 ++++++++++++++----------- - src/liblzma/lzma/lzma_encoder_presets.c | 1 - - src/liblzma/simple/simple_coder.c | 12 ++++++ - src/xz/options.c | 1 - - 20 files changed, 273 insertions(+), 118 deletions(-) - -commit f0bf7634b77263a4dd02b20c71861ab67995da68 -Author: Lasse Collin -Date: 2009-10-17 11:11:58 +0300 - - Fix wrong function name in the previous commit. - - It was meant to be lzma_filters_copy(), not lzma_filters_dup(). - - src/liblzma/api/lzma/filter.h | 2 +- - src/liblzma/common/filter_common.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 6d118a0b9def82e96afba7386ec8d7da0b59649f -Author: Lasse Collin -Date: 2009-10-17 01:47:07 +0300 - - Add lzma_filters_copy(). - - This will be needed internally by liblzma once I fix - a design mistake in the encoder API. This function may - be useful to applications too so it's good to export it. - - src/liblzma/api/lzma/filter.h | 31 ++++++++++++++ - src/liblzma/common/filter_common.c | 82 ++++++++++++++++++++++++++++++++++++++ - 2 files changed, 113 insertions(+) - -commit 78e92c18470483e161388e679c1ee556adb3a691 -Author: Jonathan Nieder -Date: 2009-10-15 20:44:13 -0500 - - Escape dashes in xzmore.1 - - A minus sign is larger, easier to see in a printout, and more - likely to use the same glyph as ASCII hyphen-minus in a terminal - than a hyphen. Since broken manual pagers do not find hyphens - when the user searches for a hyphen-minus, minus signs are also - easier to search for. So use minus signs instead of hyphens to - render sample terminal output. - - src/scripts/xzmore.1 | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7b7fe902d98da28e5769e2aa1e0c08c92384f7ee -Author: Lasse Collin -Date: 2009-10-16 20:35:39 +0300 - - Mention --check=none in --long-help. It was already in - the man page though. - - Thanks to Jim Meyering for noticing this. - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ebfb2c5e1f344e5c6e549b9dedaa49b0749a4a24 -Author: Lasse Collin -Date: 2009-10-04 22:57:12 +0300 - - Use a tuklib module for integer handling. - - This replaces bswap.h and integer.h. - - The tuklib module uses on GNU, - on *BSDs and - on Solaris, which may contain optimized code - like inline assembly. - - configure.ac | 54 +---- - m4/tuklib_integer.m4 | 74 +++++++ - src/common/bswap.h | 52 ----- - src/common/integer.h | 170 --------------- - src/common/tuklib_config.h | 8 +- - src/common/tuklib_integer.h | 350 ++++++++++++++++++++++++++++++ - src/liblzma/check/check.c | 4 +- - src/liblzma/check/crc32_fast.c | 4 +- - src/liblzma/check/crc32_tablegen.c | 8 +- - src/liblzma/check/crc64_fast.c | 4 +- - src/liblzma/check/crc64_tablegen.c | 8 +- - src/liblzma/check/crc_macros.h | 2 - - src/liblzma/check/sha256.c | 18 +- - src/liblzma/common/alone_encoder.c | 2 +- - src/liblzma/common/block_header_decoder.c | 2 +- - src/liblzma/common/block_header_encoder.c | 2 +- - src/liblzma/common/common.h | 2 +- - src/liblzma/common/stream_flags_decoder.c | 6 +- - src/liblzma/common/stream_flags_encoder.c | 6 +- - src/liblzma/lz/lz_encoder_hash.h | 2 +- - src/liblzma/lzma/lzma_decoder.c | 2 +- - src/liblzma/lzma/lzma_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder_private.h | 2 +- - src/liblzma/simple/simple_decoder.c | 2 +- - src/liblzma/simple/simple_encoder.c | 2 +- - tests/test_block_header.c | 4 +- - tests/test_stream_flags.c | 6 +- - tests/tests.h | 2 +- - 28 files changed, 467 insertions(+), 333 deletions(-) - -commit 29fd321033276261b87da7be5223db33d879a4c7 -Author: Lasse Collin -Date: 2009-10-02 14:35:56 +0300 - - Add support for --enable-assume-ram=SIZE. - - INSTALL | 16 ++++++++++++++++ - configure.ac | 24 ++++++++++++++++++++++++ - src/xz/hardware.c | 7 +++---- - src/xzdec/xzdec.c | 5 +++-- - 4 files changed, 46 insertions(+), 6 deletions(-) - -commit 3782b3fee4812b0dd4ffdfa6563ed49f73060f25 -Author: Lasse Collin -Date: 2009-10-02 11:28:17 +0300 - - Use unaligned access (if possible) on both endiannesses - in lz_encoder_hash.h. - - src/liblzma/lz/lz_encoder_hash.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit c5f68b5cc79085a87f950fea53843e27f328068e -Author: Lasse Collin -Date: 2009-10-02 11:03:26 +0300 - - Make liblzma produce the same output on both endiannesses. - - Seems that it is a problem in some cases if the same - version of XZ Utils produces different output on different - endiannesses, so this commit fixes that problem. The output - will still vary between different XZ Utils versions, but I - cannot avoid that for now. - - This commit bloatens the code on big endian systems by 1 KiB, - which should be OK since liblzma is bloated already. ;-) - - src/liblzma/check/crc32_tablegen.c | 30 +++++++++++++++ - src/liblzma/lz/Makefile.inc | 1 + - src/liblzma/lz/lz_encoder.c | 7 +++- - src/liblzma/lz/lz_encoder_hash.h | 35 +++++++++++------ - src/liblzma/lz/lz_encoder_hash_table.h | 68 ++++++++++++++++++++++++++++++++++ - src/liblzma/lz/lz_encoder_mf.c | 1 - - 6 files changed, 128 insertions(+), 14 deletions(-) - -commit 4a84d1adfda35e4fb4d41ecf0feb8223b100517a -Author: Mike Frysinger -Date: 2009-09-26 12:51:50 -0400 - - add lzmainfo to gitignore - - Signed-off-by: Mike Frysinger - - .gitignore | 2 ++ - 1 file changed, 2 insertions(+) - -commit 188a1dcd0cc7867810ed3a55c598d0680922c63b -Author: Lasse Collin -Date: 2009-09-27 11:53:36 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit db9119b9181b307e7ac5d2bae82444d04b902b59 -Author: Lasse Collin -Date: 2009-09-27 11:48:54 +0300 - - Work around a bug in Interix header files. - - Thanks to Markus Duft for the patch. - - src/common/sysdefs.h | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit b3d105e69786a45963176fd2193abe75e05ba738 -Author: Lasse Collin -Date: 2009-09-24 17:50:17 +0300 - - Fix an error in OpenVMS-specific code. - - Thanks to Jouk Jansen. - - src/xz/file_io.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 5e000ff00d4d01e559397b49eb648ad3f159d496 -Author: Lasse Collin -Date: 2009-09-22 18:59:56 +0300 - - Added OpenVMS-specific information to INSTALL. - - INSTALL | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit 932b2e204463d70f3eee5b8a1ea5a23bf9d001a4 -Author: Lasse Collin -Date: 2009-09-22 14:03:02 +0300 - - Better fixes for OpenVMS support. - - Thanks to Jouk Jansen. - - src/xz/file_io.c | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -commit 4c3630ec4179fe9265407a35c4db1374ffc82372 -Author: Lasse Collin -Date: 2009-09-22 13:40:19 +0300 - - Avoid non-standard preprocessor construct. - - Thanks to Jouk Jansen. - - src/common/tuklib_common.h | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 0deb1bb60addd1306b525e0ac0ad2a84eb0390d9 -Author: Lasse Collin -Date: 2009-09-21 19:50:09 +0300 - - Make sure that TUKLIB_DOSLIKE doesn't get defined on Cygwin. - - Thanks to Charles Wilson. - - src/common/tuklib_common.h | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit e599bba4216c0edb8cc8f40adad3a6dba88685f4 -Author: Lasse Collin -Date: 2009-09-19 09:47:30 +0300 - - Various changes. - - Separate a few reusable components from XZ Utils specific - code. The reusable code is now in "tuklib" modules. A few - more could be separated still, e.g. bswap.h. - - Fix some bugs in lzmainfo. - - Fix physmem and cpucores code on OS/2. Thanks to Elbert Pol - for help. - - Add OpenVMS support into physmem. Add a few #ifdefs to ease - building XZ Utils on OpenVMS. Thanks to Jouk Jansen for the - original patch. - - THANKS | 1 + - configure.ac | 12 ++-- - m4/lc_cpucores.m4 | 57 ---------------- - m4/lc_physmem.m4 | 84 ----------------------- - m4/tuklib_common.m4 | 22 ++++++ - m4/tuklib_cpucores.m4 | 72 ++++++++++++++++++++ - m4/tuklib_physmem.m4 | 119 ++++++++++++++++++++++++++++++++ - m4/tuklib_progname.m4 | 25 +++++++ - src/common/cpucores.h | 51 -------------- - src/common/open_stdxxx.h | 49 -------------- - src/common/physmem.h | 144 --------------------------------------- - src/common/sysdefs.h | 4 -- - src/common/tuklib_common.h | 67 ++++++++++++++++++ - src/common/tuklib_config.h | 1 + - src/common/tuklib_cpucores.c | 46 +++++++++++++ - src/common/tuklib_cpucores.h | 23 +++++++ - src/common/tuklib_exit.c | 57 ++++++++++++++++ - src/common/tuklib_exit.h | 25 +++++++ - src/common/tuklib_gettext.h | 44 ++++++++++++ - src/common/tuklib_open_stdxxx.c | 51 ++++++++++++++ - src/common/tuklib_open_stdxxx.h | 23 +++++++ - src/common/tuklib_physmem.c | 146 ++++++++++++++++++++++++++++++++++++++++ - src/common/tuklib_physmem.h | 28 ++++++++ - src/common/tuklib_progname.c | 50 ++++++++++++++ - src/common/tuklib_progname.h | 32 +++++++++ - src/lzmainfo/Makefile.am | 5 +- - src/lzmainfo/lzmainfo.c | 65 ++++++------------ - src/xz/Makefile.am | 7 +- - src/xz/args.c | 8 +-- - src/xz/file_io.c | 43 ++++++------ - src/xz/hardware.c | 8 +-- - src/xz/main.c | 100 ++++++--------------------- - src/xz/main.h | 7 -- - src/xz/message.c | 30 +++++---- - src/xz/message.h | 8 +-- - src/xz/private.h | 11 +-- - src/xz/signals.c | 2 + - src/xz/signals.h | 17 +++-- - src/xz/suffix.c | 2 +- - src/xzdec/Makefile.am | 13 +++- - src/xzdec/xzdec.c | 55 +++++---------- - 41 files changed, 974 insertions(+), 640 deletions(-) - -commit 49cfc8d392cf535f8dd10233225b1fc726fec9ef -Author: Lasse Collin -Date: 2009-09-15 21:07:23 +0300 - - Fix incorrect use of "restrict". - - src/liblzma/api/lzma/vli.h | 4 ++-- - src/liblzma/common/vli_decoder.c | 2 +- - src/liblzma/common/vli_encoder.c | 2 +- - 3 files changed, 4 insertions(+), 4 deletions(-) - -commit 15ffd675ab7af84592eb1c23b0e9f4699aa0fd8c -Author: Lasse Collin -Date: 2009-09-12 14:09:17 +0300 - - Fix GCC version check for nothrow attribute. - - src/liblzma/api/lzma.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6bfdd3a88a819f04c8f202e7d3c6f88a01c7d224 -Author: Lasse Collin -Date: 2009-09-12 14:08:15 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 4ab7b16b9573bdfa32279e4adadff684d5cd58ac -Author: Lasse Collin -Date: 2009-09-12 14:07:36 +0300 - - A few grammar fixes. - - Thanks to Christian Weisgerber for pointing out some of these. - - src/liblzma/api/lzma.h | 4 ++-- - src/liblzma/api/lzma/vli.h | 4 ++-- - src/liblzma/common/block_header_encoder.c | 2 +- - src/liblzma/common/filter_common.c | 2 +- - src/liblzma/lz/lz_encoder.h | 10 +++++----- - src/xz/message.c | 22 +++++++++++----------- - src/xzdec/xzdec.c | 2 +- - 7 files changed, 23 insertions(+), 23 deletions(-) - -commit 8905a33daadcd2d6557c83c81c490b827d566c94 -Author: Lasse Collin -Date: 2009-09-11 17:08:15 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 68059334ff435300ab1ce2c616b0eee1b0d88dd9 -Author: Lasse Collin -Date: 2009-09-11 17:06:32 +0300 - - Add PACKAGE_HOMEPAGE to {windows,dos}/config.h to fix build errors. - - dos/config.h | 3 +++ - windows/config.h | 3 +++ - 2 files changed, 6 insertions(+) - -commit 221be761f467da76875247bc02d7a1716682075d -Author: Lasse Collin -Date: 2009-09-11 10:24:09 +0300 - - Use $(LN_EXEEXT) in symlinks to executables. - - This fixes "make install" on operating systems using - a suffix for executables. - - Cygwin is treated specially. The symlink names won't have - .exe suffix even though the executables themselves have. - Thanks to Charles Wilson. - - configure.ac | 9 +++++++++ - src/xz/Makefile.am | 4 ++-- - 2 files changed, 11 insertions(+), 2 deletions(-) - -commit 18a4233a53d9b82abac7db7d7804684c5fea9c2c -Author: Lasse Collin -Date: 2009-09-11 09:25:09 +0300 - - Fix a couple of warnings. - - src/liblzma/common/stream_decoder.c | 2 +- - src/liblzma/lz/lz_encoder.c | 5 +---- - src/liblzma/lzma/lzma_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 8 ++++---- - tests/tests.h | 2 +- - 5 files changed, 8 insertions(+), 11 deletions(-) - -commit 429910b2ba67611d8df60d1a9da9641bdb5f82b4 -Author: Lasse Collin -Date: 2009-09-05 18:39:21 +0300 - - Add OS/2-specific code to physmem.h. - - Also move DJGPP-specific code near the code meant - for other DOS-like systems. - - src/common/physmem.h | 32 +++++++++++++++++++++----------- - 1 file changed, 21 insertions(+), 11 deletions(-) - -commit 7aca7b3174bcbba4a4915682ff0cd405d63f5740 -Author: Lasse Collin -Date: 2009-09-05 01:21:15 +0300 - - Updated THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit 60ccb80c9c4a0d771acc5b7d9d6f32b17fed1071 -Author: Lasse Collin -Date: 2009-09-05 01:20:29 +0300 - - Use sysctl() != -1 instead of !sysctl() to check if - the function call succeeded. - - NetBSD 4.0 returns positive values on success, but - NetBSD Current and FreeBSD return zero. OpenBSD's - man page doesn't tell what sysctl() returns on - success. All these BSDs return -1 on error. - - Thanks to Robert Elz and Thomas Klausner. - - src/common/cpucores.h | 2 +- - src/common/physmem.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 173368911cf09ab0b03fc4db8f3d4b81d86dce32 -Author: Lasse Collin -Date: 2009-09-02 09:43:51 +0300 - - Mention in INSTALL that --enable-small doesn't modify CFLAGS. - - INSTALL | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 319a0fd7d7e9ebbb71ca6930abfc20777cb4aacc -Author: Lasse Collin -Date: 2009-09-01 20:40:01 +0300 - - Refactored option parsing. - - src/xz/options.c | 70 ++++++++++++++++++++++++++++---------------------------- - 1 file changed, 35 insertions(+), 35 deletions(-) - -commit 25adaaa56e2e51a47a910a8d73452414619a2e53 -Author: Lasse Collin -Date: 2009-09-01 20:23:30 +0300 - - Fix options parsing bug in xz. - - xz used to reject "xz --lzma2=pb=2," while - "xz --lzma2=pb=2,," worked. Now both work. - - src/xz/options.c | 6 ++---- - 1 file changed, 2 insertions(+), 4 deletions(-) - -commit 5f6dddc6c911df02ba660564e78e6de80947c947 -Author: Lasse Collin -Date: 2009-09-01 20:20:19 +0300 - - Updated TODO. - - TODO | 3 +++ - 1 file changed, 3 insertions(+) - -commit 655457b9ada5ec7db398c5392e41290f3f332ea8 -Author: Lasse Collin -Date: 2009-08-31 21:59:25 +0300 - - Revert 43f44160b1ddcbf7e5205c37db09b3bebe7226f9 - and use a fix that works on all systems using - GNU assembler. - - Maybe the assembler code is used e.g. on Solaris x86 - but let's worry about it if this doesn't work on it. - - src/liblzma/check/crc32_x86.S | 7 ++----- - src/liblzma/check/crc64_x86.S | 7 ++----- - 2 files changed, 4 insertions(+), 10 deletions(-) - -commit 162189c3477953805a28f96d3a75cb9ab9417928 -Author: Lasse Collin -Date: 2009-08-30 17:29:19 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 2331f5f97af3e5897e23da45d9df3d664099c7f8 -Author: Lasse Collin -Date: 2009-08-30 17:28:52 +0300 - - Add more OS/2 specific info to INSTALL. - - INSTALL | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 94c66b3297b3ad307eee93cf6b160e3c43997f11 -Author: Lasse Collin -Date: 2009-08-29 14:43:52 +0300 - - Use even more hackish way to support thousand separators. - - Seems that in addition on Windows and DOS, also OpenBSD - lacks support for %'d style printf() format strings. - So far that is the only modern POSIX-like system I know - with this problem, but after this hack, the thousand - separator shouldn't be a problem on any system. - - Maybe testing if a format string like %'d produces - reasonable output is invoking undefined behavior on some - systems, but so far all the problematic systems I've tried - just print the raw format string (e.g. %'d prints 'd). - - Maybe Autoconf test would have been better, but this - hack works also for cross-compilation, and avoids - recompilation in case the system libc starts to support - the thousand separator. - - src/xz/util.c | 36 +++++++++++++++++++++++++----------- - 1 file changed, 25 insertions(+), 11 deletions(-) - -commit 3432e9c6aab851da1227b63dce645d7f190c04d8 -Author: Lasse Collin -Date: 2009-08-29 13:42:56 +0300 - - Updated THANKS. - - THANKS | 3 +++ - 1 file changed, 3 insertions(+) - -commit 27414daadf5727e8ab942374b5ec1c8990122878 -Author: Lasse Collin -Date: 2009-08-29 13:39:21 +0300 - - Fix sysctl() usage. - - This fixes build on *BSDs and Darwin. - - Thanks to Jukka Salmi for the patches. - Richard Koch reported the problem too. - - m4/lc_cpucores.m4 | 2 +- - m4/lc_physmem.m4 | 2 +- - src/common/cpucores.h | 2 +- - src/common/physmem.h | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 43f44160b1ddcbf7e5205c37db09b3bebe7226f9 -Author: Lasse Collin -Date: 2009-08-29 13:35:23 +0300 - - Fix x86 assembler on GCC 3. - - Thanks to Karl Berry. - - src/liblzma/check/crc32_x86.S | 7 +++++-- - src/liblzma/check/crc64_x86.S | 7 +++++-- - 2 files changed, 10 insertions(+), 4 deletions(-) - -commit 682efdc1f9492fdd76c9ce82e7c00ca0768067e8 -Author: Lasse Collin -Date: 2009-08-27 18:36:59 +0300 - - "make dist" fixes - - Makefile.am | 13 ++++++------- - 1 file changed, 6 insertions(+), 7 deletions(-) - -commit c8c184db1c95bf70f78256ec6237845a57f342af -Author: Lasse Collin -Date: 2009-08-27 17:08:33 +0300 - - Update xz man page date. - - src/xz/xz.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9756fce565e98b8fa5fe6ead296d84e7601ec254 -Author: Lasse Collin -Date: 2009-08-27 17:00:22 +0300 - - Fix the debug directory. - - 6a2eb54092fc625d59921a607ff68cd1a90aa898 and - 71f18e8a066a01dda0c8e5508b135ef104e43e4c required - some changes that weren't applied in debug. - - debug/Makefile.am | 5 +++-- - debug/full_flush.c | 1 + - debug/known_sizes.c | 1 + - debug/memusage.c | 1 + - debug/sync_flush.c | 1 + - 5 files changed, 7 insertions(+), 2 deletions(-) - -commit 77007a7fb20187fcf3d1dd9839c79ace2d63f2ea -Author: Lasse Collin -Date: 2009-08-27 16:36:40 +0300 - - Add missing files to EXTRA_DIST. - - Makefile.am | 11 +++++++---- - 1 file changed, 7 insertions(+), 4 deletions(-) - -commit 04dcbfdeb921e5f361a4487134e91e23fffbe09d -Author: Lasse Collin -Date: 2009-08-27 16:21:22 +0300 - - Bumped version to 4.999.9beta. - - src/liblzma/api/lzma/version.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fd7618611a22f42a6913bc8d518c9bbc9252d6b4 -Author: Lasse Collin -Date: 2009-08-27 16:17:47 +0300 - - Updated THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit c29e76c0f910fca0a90a50b78d337f6c32623e9d -Author: Lasse Collin -Date: 2009-08-27 16:12:52 +0300 - - .xz file format specification 1.0.4 (probably). - - Thanks to Christian von Roques, Peter Lawler, - and Jim Meyering for the fixes. - - doc/xz-file-format.txt | 26 +++++++++++++++----------- - 1 file changed, 15 insertions(+), 11 deletions(-) - -commit 696d7ee3953beaf4f0ed18e78917ccf300431966 -Author: Lasse Collin -Date: 2009-08-27 15:43:54 +0300 - - Require GNU libtool 2.2. - - configure.ac | 13 +++---------- - 1 file changed, 3 insertions(+), 10 deletions(-) - -commit 4c3558aa8305a8f8b6c43b8569eb539717ca9e8d -Author: Lasse Collin -Date: 2009-08-27 15:34:45 +0300 - - Add "dos" to EXTRA_DIST. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 35b29e4424ced5a3ababf132283e519080c7b298 -Author: Lasse Collin -Date: 2009-08-27 15:23:27 +0300 - - Updated TODO. - - TODO | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit 23414377192c21f3f34c84cdfe0ef0fbd06a1dea -Author: Lasse Collin -Date: 2009-08-27 15:17:00 +0300 - - Some xz man page improvements. - - src/xz/xz.1 | 78 ++++++++++++++++++++++++++++++++++++++++++++++++------------- - 1 file changed, 62 insertions(+), 16 deletions(-) - -commit 371b04e19fc9051dbaeec51ec0badec6a1f0699d -Author: Lasse Collin -Date: 2009-08-27 10:41:01 +0300 - - Removed doc/bugs.txt. - - doc/bugs.txt | 46 ---------------------------------------------- - 1 file changed, 46 deletions(-) - -commit d88c4072b36d3a76f839185799fb1d91037a1b81 -Author: Lasse Collin -Date: 2009-08-27 10:40:25 +0300 - - Updated README. - - It now includes bug reporting instructions/tips. - - README | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 55 insertions(+), 10 deletions(-) - -commit 92e536d8b8d33a6b12d0802bcd7be4437046f13e -Author: Lasse Collin -Date: 2009-08-27 10:21:18 +0300 - - Fix a typo in FAQ. - - Thanks to Jim Meyering. - - (From now on, I try to always remember to put - the relevant thanks to commit messages.) - - doc/faq.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3e2ba8b58585743e59251e69ad2783eb08357079 -Author: Lasse Collin -Date: 2009-08-27 10:13:46 +0300 - - Updates to liblzma API headers. - - Added lzma_nothrow for every function. It adds - throw() when the header is used in C++ code. - - Some lzma_attrs were added or removed. - - Lots of comments were improved. - - src/liblzma/api/lzma.h | 20 ++++++++ - src/liblzma/api/lzma/base.h | 48 +++++++++--------- - src/liblzma/api/lzma/block.h | 38 ++++++++------- - src/liblzma/api/lzma/check.h | 22 +++++---- - src/liblzma/api/lzma/container.h | 36 ++++++++------ - src/liblzma/api/lzma/filter.h | 81 +++++++++++++++++++------------ - src/liblzma/api/lzma/index.h | 97 ++++++++++++++++++++++--------------- - src/liblzma/api/lzma/index_hash.h | 14 ++++-- - src/liblzma/api/lzma/lzma.h | 87 +++++++++++++++++---------------- - src/liblzma/api/lzma/stream_flags.h | 12 ++--- - src/liblzma/api/lzma/version.h | 10 ++-- - src/liblzma/api/lzma/vli.h | 7 +-- - 12 files changed, 275 insertions(+), 197 deletions(-) - -commit 8e8ebc17c535a1f8846718059b48417409c37050 -Author: Lasse Collin -Date: 2009-08-18 00:30:09 +0300 - - Install faq.txt. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit b198e770a146e4a41f91a93f0b233713f2515848 -Author: Lasse Collin -Date: 2009-08-18 00:26:48 +0300 - - Updated faq.txt. - - Some questions worth answering were removed, because I - currently don't have good up to date answers to them. - - doc/faq.txt | 239 +++++++++++++++++++----------------------------------------- - 1 file changed, 73 insertions(+), 166 deletions(-) - -commit fe111a25cd788d31b581996e4533910388a7f0a9 -Author: Lasse Collin -Date: 2009-08-17 22:45:50 +0300 - - Some xz man changes. - - src/xz/xz.1 | 88 ++++++++++++++++++++++++++++++------------------------------- - 1 file changed, 43 insertions(+), 45 deletions(-) - -commit 10242a21e9abda0c5c6a03501703cc40b8a699a5 -Author: Lasse Collin -Date: 2009-08-16 22:15:42 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 3ce1916c83041113b9cad9ead5c97a527cf8aa1d -Author: Lasse Collin -Date: 2009-08-16 22:15:13 +0300 - - Fix data corruption in LZ/LZMA2 encoder. - - Thanks to Jonathan Stott for the bug report. - - src/liblzma/lz/lz_encoder.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 66da129c8ec33dd66acc92f113f7c1ca740ca81a -Author: Lasse Collin -Date: 2009-08-13 15:15:37 +0300 - - Updated INSTALL and PACKAGERS to match the changes - made in --enable-dynamic. - - INSTALL | 20 ++++++++++++++++---- - PACKAGERS | 11 ++++++----- - 2 files changed, 22 insertions(+), 9 deletions(-) - -commit 8238c4b2402f952c4e492e5b778aa272e57b6705 -Author: Lasse Collin -Date: 2009-08-13 15:03:46 +0300 - - Link lzmainfo against shared liblzma by default. - - src/lzmainfo/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 71f18e8a066a01dda0c8e5508b135ef104e43e4c -Author: Lasse Collin -Date: 2009-08-13 15:00:21 +0300 - - Make --enable-dynamic a tristate option. - - Some programs will by default be linked against static - liblzma and some against shared liblzma. --enable-dynamic - now allows overriding the default to both directions - (all dynamic or all static) even when building both - shared and static liblzma. - - This is quite messy compared to how simple thing it is supposed - to be. The complexity is mostly due to Windows support. - - configure.ac | 77 ++++++++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 57 insertions(+), 20 deletions(-) - -commit 5aa4678b2342dcfc1d2b31aa9fa4f39c539e4b61 -Author: Lasse Collin -Date: 2009-08-13 12:56:47 +0300 - - Fix xz Makefile.am for the man page. - - install-exec-hook -> install-data-hook - - src/xz/Makefile.am | 2 ++ - 1 file changed, 2 insertions(+) - -commit e51b4e49e800bd84e6d589dca2964d3985e88139 -Author: Lasse Collin -Date: 2009-08-13 12:55:45 +0300 - - Add lzmainfo for backward compatibility with LZMA Utils. - - lzmainfo now links against static liblzma. In contrast - to other command line tools in XZ Utils, linking lzmainfo - against static liblzma by default is dumb. This will be - fixed once I have fixed some related issues in configure.ac. - - configure.ac | 1 + - src/Makefile.am | 2 +- - src/lzmainfo/Makefile.am | 29 ++++++ - src/lzmainfo/lzmainfo.1 | 55 +++++++++++ - src/lzmainfo/lzmainfo.c | 242 +++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 328 insertions(+), 1 deletion(-) - -commit a4165d0584376d948c213ec93c6065d24ff6a5e7 -Author: Lasse Collin -Date: 2009-08-13 12:42:36 +0300 - - Sync some error messages from xz to xzdec. - - Make xz error message translation usable outside - xz (at least in upcoming lzmainfo). - - src/xz/main.c | 4 ++-- - src/xzdec/xzdec.c | 6 +++--- - 2 files changed, 5 insertions(+), 5 deletions(-) - -commit df636eb4e066b4e154ce8e66e82c87ba1db652a6 -Author: Lasse Collin -Date: 2009-08-13 09:37:21 +0300 - - Add xz man page to manfiles in toplevel Makefile.am. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit 180bdf58ea5bb07941e0a99b304d9aa832198748 -Author: Lasse Collin -Date: 2009-08-13 09:37:01 +0300 - - Fix first line of xz man page. - - src/xz/xz.1 | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit e1ce2291e759b50ebfcf7cbbcc04cd098f1705a4 -Author: Lasse Collin -Date: 2009-08-10 11:22:31 +0300 - - Added a rough version of the xz man page. - - src/xz/Makefile.am | 15 + - src/xz/xz.1 | 1206 ++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 1221 insertions(+) - -commit e71903fc6101f1c039d702e335b08aad1e1b4100 -Author: Jonathan Nieder -Date: 2009-08-09 13:41:20 -0500 - - “xzdiff a.xz b.xz” always fails - - Attempts to compare two compressed files result in no output and - exit status 2. - - Instead of going to standard output, ‘diff’ output is being - captured in the xz_status variable along with the exit status from - the decompression commands. Later, when this variable is examined - for nonzero status codes, numerals from dates in the ‘diff’ output - make it appear as though decompression failed. - - So let the ‘diff’ output leak to standard output with another file - descriptor. (This trick is used in all similar contexts elsewhere - in xzdiff and in the analogous context in gzip’s zdiff script.) - - src/scripts/xzdiff.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1d314b81aa5b0c4530638ffabd4e0edb52e5362c -Author: Jonathan Nieder -Date: 2009-08-09 13:22:12 -0500 - - xzless: Support compressed standard input - - It can be somewhat confusing that - - less < some_file.txt - - works fine, whereas - - xzless < some_file.txt.xz - - does not. Since version 429, ‘less’ allows a filter specified in - the LESSOPEN environment variable to preprocess its input even if - it comes from standard input, if $LESSOPEN begins with ‘|-’. So - set $LESSOPEN to take advantage of this feature. - - Check less’s version at runtime so xzless can continue to work - with older versions. - - src/scripts/xzless.in | 8 +++++++- - 1 file changed, 7 insertions(+), 1 deletion(-) - -commit a7f5d2fe4826ac68839d00059f05004fb81d5c69 -Author: Lasse Collin -Date: 2009-08-09 20:57:46 +0300 - - GPLv2+ not GPLv2 for Doxyfile.in is probably OK. - - Doxyfile.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b735cde20cc14857136ae65a0e5d336ed7ddc862 -Author: Lasse Collin -Date: 2009-08-02 00:27:29 +0300 - - Added a copyright notice to Doxyfile.in since it contains - lots of comments from Doxygen. - - It seems that the Doxygen authors' intent is to not apply - their copyright on generated files, but since it doesn't - matter for XZ Utils at all, better safe than sorry. - - Doxyfile.in | 3 +++ - 1 file changed, 3 insertions(+) - -commit 0fd157cc008446adfc8f91394f5503868025a642 -Author: Lasse Collin -Date: 2009-08-02 00:11:37 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit b198da96ff9ac8c89b466b4d196c5f3fe1c7904f -Author: Lasse Collin -Date: 2009-08-02 00:10:22 +0300 - - Updated TODO. - - TODO | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 669413bb2db954bbfde3c4542fddbbab53891eb4 -Author: Lasse Collin -Date: 2009-07-30 12:25:55 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit dbbd8fb870ae789d96497911006c869d37148c15 -Author: Jonathan Nieder -Date: 2009-07-28 17:37:24 -0500 - - xzdiff: add missing ;; to case statement - - src/scripts/xzdiff.in | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit adbad2d16cb5909f85d4a429011005613ea62ffe -Author: Lasse Collin -Date: 2009-07-24 13:15:06 +0300 - - Added history.txt to doc_DATA. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit e0236f12569eb36f9b81ce7a1e52e0f73698ac27 -Author: Lasse Collin -Date: 2009-07-24 12:00:40 +0300 - - Updated .gitignore files. - - .gitignore | 36 +++++++++++++++++++----------------- - po/.gitignore | 3 +++ - 2 files changed, 22 insertions(+), 17 deletions(-) - -commit 2f34fb269265e3aba43a2a9c734020a45268826d -Author: Lasse Collin -Date: 2009-07-24 11:34:02 +0300 - - Minor improvements to COPYING. - - COPYING | 11 ++++++++--- - 1 file changed, 8 insertions(+), 3 deletions(-) - -commit 0db1befcfbc120377df4b89923762f16d25f548a -Author: Lasse Collin -Date: 2009-07-23 19:10:55 +0300 - - Fix incorrect usage of getopt_long(), which caused - invalid memory access if XZ_OPT was defined. - - src/xz/args.c | 1 - - 1 file changed, 1 deletion(-) - -commit 8f8ec942d6d21ada2096eaf063411bc8bc7e2d48 -Author: Lasse Collin -Date: 2009-07-20 15:43:32 +0300 - - Avoid internal error with --format=xz --lzma1. - - src/xz/coder.c | 16 ++++++++++++---- - 1 file changed, 12 insertions(+), 4 deletions(-) - -commit 99f9e879a6a8bb54a65da99c12e0f390216c152a -Author: Lasse Collin -Date: 2009-07-19 13:14:20 +0300 - - Major documentation update. - - Installation and packaging instructions were added. - README and other generic docs were revised. - - Some of the documentation files are now installed to $docdir. - - AUTHORS | 35 +++--- - ChangeLog | 7 +- - INSTALL | 327 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - INSTALL.generic | 302 +++++++++++++++++++++++++++++++++++++++++++++++++++ - Makefile.am | 11 ++ - PACKAGERS | 278 +++++++++++++++++++++++++++++++++++++++++++++++ - README | 263 ++++++++++++++++++++------------------------- - THANKS | 17 +-- - 8 files changed, 1070 insertions(+), 170 deletions(-) - -commit ef4cf1851de89022cba5674784f1a8f6343c15b0 -Author: Lasse Collin -Date: 2009-07-19 11:09:31 +0300 - - Added missing author notice to xzless.in. - - src/scripts/xzless.in | 1 + - 1 file changed, 1 insertion(+) - -commit 4c9c989d45b188667799a7a1d6c728ed43f7bf77 -Author: Lasse Collin -Date: 2009-07-18 18:54:55 +0300 - - Use AC_CONFIG_AUX_DIR to clean up the toplevel directory - a little. - - Fixed a related bug in the toplevel Makefile.am. - - Added the build-aux directory to .gitignore. - - .gitignore | 1 + - Makefile.am | 1 - - configure.ac | 3 ++- - 3 files changed, 3 insertions(+), 2 deletions(-) - -commit 366e436090a7a87215e9bf0e3ddcd55f05b50587 -Author: Lasse Collin -Date: 2009-07-18 14:34:08 +0300 - - Updated the totally outdated TODO file. - - TODO | 117 ++++++++++++++++--------------------------------------------------- - 1 file changed, 27 insertions(+), 90 deletions(-) - -commit 64e498c89d8b9966e8663f43bf64d47c26c55c62 -Author: Lasse Collin -Date: 2009-07-18 11:26:39 +0300 - - Added public domain notice into a few files. - - src/common/common_w32res.rc | 9 ++++++++- - src/liblzma/liblzma.pc.in | 7 +++++++ - src/liblzma/liblzma_w32res.rc | 7 +++++++ - src/xz/xz_w32res.rc | 7 +++++++ - src/xzdec/xzdec_w32res.rc | 7 +++++++ - 5 files changed, 36 insertions(+), 1 deletion(-) - -commit a35755c5de808df027675688855d1b621a4fb428 -Author: Lasse Collin -Date: 2009-07-14 21:10:36 +0300 - - Allow extra commas in filter-specific options on xz command line. - - This may slightly ease writing scripts that construct - filter-specific option strings dynamically. - - src/xz/options.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 98f3cac1ad31191c5160a7e48398bf85141e941c -Author: Lasse Collin -Date: 2009-07-14 18:04:31 +0300 - - Accept --lzma2=preset=6e where "e" is equivalent to --extreme - when no custom chain is in use. - - src/xz/options.c | 80 +++++++++++++++++++++++++++++++++++++++++--------------- - 1 file changed, 59 insertions(+), 21 deletions(-) - -commit d873a09e956363e54bf58c577c8f7e487b6fb464 -Author: Lasse Collin -Date: 2009-07-12 19:08:30 +0300 - - Add dist-hook to create ChangeLog from the commit log, - and to conver the man pages to PDF and plain text, which - may be convenient to those who cannot render man pages. - - Makefile.am | 31 +++++++++++++++++++++++++++++++ - 1 file changed, 31 insertions(+) - -commit cd69a5a6c16c289f6f8e2823b03c72289472270f -Author: Lasse Collin -Date: 2009-07-10 11:39:38 +0300 - - BCJ filters: Reject invalid start offsets with LZMA_OPTIONS_ERROR. - - This is a quick and slightly dirty fix to make the code - conform to the latest file format specification. Without - this patch, it's possible to make corrupt files by - specifying start offset that is not a multiple of the - filter's alignment. Custom start offset is almost never - used, so this was only a minor bug. - - The xz command line tool doesn't validate the start offset, - so one will get a bit unclear error message if trying to use - an invalid start offset. - - src/liblzma/simple/arm.c | 2 +- - src/liblzma/simple/armthumb.c | 2 +- - src/liblzma/simple/ia64.c | 2 +- - src/liblzma/simple/powerpc.c | 2 +- - src/liblzma/simple/simple_coder.c | 5 ++++- - src/liblzma/simple/simple_private.h | 3 ++- - src/liblzma/simple/sparc.c | 2 +- - src/liblzma/simple/x86.c | 2 +- - 8 files changed, 12 insertions(+), 8 deletions(-) - -commit eed9953732b801f6c97317fb3160445a8754180b -Author: Lasse Collin -Date: 2009-07-10 11:33:21 +0300 - - Look for full command names instead of substrings - like "un", "cat", and "lz" when determining if - xz is run as unxz, xzcat, lzma, unlzma, or lzcat. - - This is to ensure that if xz is renamed (e.g. via - --program-transform-name), it doesn't so easily - work in wrong mode. - - src/xz/args.c | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -commit 6f62fa88f4ff7ba78565c314c0e6e71c498fa658 -Author: Lasse Collin -Date: 2009-07-08 23:06:46 +0300 - - Updated THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit 1754b7e03e2aa7e2e0196807fe8b0f3f5a637b0e -Author: Lasse Collin -Date: 2009-07-08 23:05:29 +0300 - - Portability improvement to version.sh. - - version.sh | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3bdb53792c0e3e3febe9370e56eda5b08f89410f -Author: Lasse Collin -Date: 2009-07-08 22:50:16 +0300 - - Remove --force from xzdec. - - It was ignored for compatibility with xz, but now that - --decompress --stdout --force copies unrecognized files - as is to stdout, simply ignoring --force in xzdec would - be wrong. xzdec will not support copying unrecognized - data as is to stdout, so it cannot support --force. - - src/xzdec/xzdec.1 | 5 ----- - src/xzdec/xzdec.c | 5 +---- - 2 files changed, 1 insertion(+), 9 deletions(-) - -commit 5f16ef4abf220028a9ddbcb138217597a9455f62 -Author: Lasse Collin -Date: 2009-07-06 10:36:04 +0300 - - Use sed instead of $(SED) so that we don't need to - use AC_PROG_SED. We don't do anything fancy with sed, - so this should work OK. libtool 2.2 sets SED but 1.5 - doesn't, so $(SED) happened to work when using libtool 2.2. - - src/liblzma/Makefile.am | 2 +- - src/scripts/Makefile.am | 28 ++++++++++++++-------------- - src/xz/Makefile.am | 6 +++--- - src/xzdec/Makefile.am | 6 +++--- - 4 files changed, 21 insertions(+), 21 deletions(-) - -commit 96e4b257e101d72072d43e144897d92920270669 -Author: Lasse Collin -Date: 2009-07-05 22:25:17 +0300 - - Major update to the xzgrep and other scripts based on - the latest versions found from gzip CVS repository. - - configure will try to find a POSIX shell to be used by - the scripts. This should ease portability on systems - which have pre-POSIX /bin/sh. - - xzgrep and xzdiff support .xz, .lzma, .gz, and .bz2 files. - xzmore and xzless support only .xz and .lzma files. - - The name of the xz executable used in these scripts is - now correct even if --program-transform-name has been used. - - configure.ac | 14 ++++ - m4/posix-shell.m4 | 63 ++++++++++++++++ - src/scripts/Makefile.am | 24 +++--- - src/scripts/xzdiff | 67 ----------------- - src/scripts/xzdiff.1 | 58 ++++++++------ - src/scripts/xzdiff.in | 172 ++++++++++++++++++++++++++++++++++++++++++ - src/scripts/xzgrep | 123 ------------------------------ - src/scripts/xzgrep.1 | 85 ++++++++++++--------- - src/scripts/xzgrep.in | 196 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/scripts/xzless.1 | 66 ++++++++++++++++ - src/scripts/xzless.in | 51 +++++++++++++ - src/scripts/xzmore | 74 ------------------ - src/scripts/xzmore.1 | 64 +++++++--------- - src/scripts/xzmore.in | 78 +++++++++++++++++++ - 14 files changed, 766 insertions(+), 369 deletions(-) - -commit 25cc7a6e8c2506a0d80084a4c1c67d33e7439100 -Author: Lasse Collin -Date: 2009-07-05 19:26:53 +0300 - - Use @PACKAGE_HOMEPAGE@ in liblzma.pc.in. - - src/liblzma/liblzma.pc.in | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 18c10c30d2833f394cd7bce0e6a821044b15832f -Author: Lasse Collin -Date: 2009-07-04 00:40:44 +0300 - - Make "xz --decompress --stdout --force" copy unrecognized - files as is to standard output. - - This feature is needed to be more compatible with gzip's - behavior. This was more complicated to implement than it - sounds, because the way liblzma is able to return errors with - files of only a few bytes in size. xz now has its own file - type detection code and no longer uses lzma_auto_decoder(). - - src/xz/coder.c | 213 +++++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 178 insertions(+), 35 deletions(-) - -commit 0a289c01ac821ea9c4250aa906b0ae3cfa953633 -Author: Lasse Collin -Date: 2009-07-02 14:30:38 +0300 - - Define PACKAGE_HOMEPAGE in configure.ac and use it in - xz and xzdec. - - Use also PACKAGE_NAME instead of hardcoding "XZ Utils". - - configure.ac | 5 +++++ - src/xz/message.c | 4 ++-- - src/xzdec/xzdec.c | 4 ++-- - 3 files changed, 9 insertions(+), 4 deletions(-) - -commit 5cc99db5bae8633f85559e5cdaef4cd905a4ee9c -Author: Lasse Collin -Date: 2009-07-01 12:21:24 +0300 - - Avoid visibility related compiler warnings on Windows. - - configure.ac | 20 +++++++++----------- - 1 file changed, 9 insertions(+), 11 deletions(-) - -commit 7653d1cf48080e63b189ed9d58dea0e82b6b1c5e -Author: Lasse Collin -Date: 2009-06-30 17:14:39 +0300 - - Use static liblzma by default also for tests. - - tests/Makefile.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit f42ee981668b545ab6d06c6072e262c29605273c -Author: Lasse Collin -Date: 2009-06-30 17:09:57 +0300 - - Build system fixes - - Don't use libtool convenience libraries to avoid recently - discovered long-standing subtle but somewhat severe bugs - in libtool (at least 1.5.22 and 2.2.6 are affected). It - was found when porting XZ Utils to Windows - - but the problem is significant also e.g. on GNU/Linux. - - Unless --disable-shared is passed to configure, static - library built from a set of convenience libraries will - contain PIC objects. That is, while libtool builds non-PIC - objects too, only PIC objects will be used from the - convenience libraries. On 32-bit x86 (tested on mobile XP2400+), - using PIC instead of non-PIC makes the decompressor 10 % slower - with the default CFLAGS. - - So while xz was linked against static liblzma by default, - it got the slower PIC objects unless --disable-shared was - used. I tend develop and benchmark with --disable-shared - due to faster build time, so I hadn't noticed the problem - in benchmarks earlier. - - This commit also adds support for building Windows resources - into liblzma and executables. - - configure.ac | 34 ++++++++++------ - src/liblzma/Makefile.am | 79 +++++++++++++++++++++++++++++-------- - src/liblzma/check/Makefile.am | 47 ---------------------- - src/liblzma/check/Makefile.inc | 51 ++++++++++++++++++++++++ - src/liblzma/common/Makefile.am | 78 ------------------------------------ - src/liblzma/common/Makefile.inc | 67 +++++++++++++++++++++++++++++++ - src/liblzma/common/common.h | 16 +++++--- - src/liblzma/delta/Makefile.am | 28 ------------- - src/liblzma/delta/Makefile.inc | 23 +++++++++++ - src/liblzma/lz/Makefile.am | 29 -------------- - src/liblzma/lz/Makefile.inc | 21 ++++++++++ - src/liblzma/lzma/Makefile.am | 51 ------------------------ - src/liblzma/lzma/Makefile.inc | 43 ++++++++++++++++++++ - src/liblzma/rangecoder/Makefile.am | 26 ------------ - src/liblzma/rangecoder/Makefile.inc | 21 ++++++++++ - src/liblzma/simple/Makefile.am | 51 ------------------------ - src/liblzma/simple/Makefile.inc | 47 ++++++++++++++++++++++ - src/liblzma/subblock/Makefile.am | 26 ------------ - src/liblzma/subblock/Makefile.inc | 20 ++++++++++ - src/xz/Makefile.am | 11 +++++- - src/xzdec/Makefile.am | 20 +++++++++- - 21 files changed, 417 insertions(+), 372 deletions(-) - -commit 89dac1db6f168d7469cfbc4432651d4724c5c0de -Author: Lasse Collin -Date: 2009-06-29 22:19:51 +0300 - - Added a comment about "autoconf -fi" to autogen.sh. - - autogen.sh | 3 +++ - 1 file changed, 3 insertions(+) - -commit 6e685aae4594bc0af1b5032e01bb37d0edaa3ebd -Author: Lasse Collin -Date: 2009-06-28 10:04:24 +0300 - - Add -no-undefined to get shared liblzma on Windows. - - src/liblzma/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 73f560ee5fa064992b76688d9472baf139432540 -Author: Lasse Collin -Date: 2009-06-27 22:57:15 +0300 - - Make physmem() work on Cygwin 1.5 and older. - - src/common/physmem.h | 77 +++++++++++++++++++++++++++------------------------- - 1 file changed, 40 insertions(+), 37 deletions(-) - -commit 7ff0004fbce24ae72eddfe392828ffd7d4639ed1 -Author: Lasse Collin -Date: 2009-06-27 17:28:01 +0300 - - Moved the Windows resource files outside the windows directory - to prepare for building them with Autotools. - - src/common/common_w32res.rc | 46 +++++++++++++++++++++++++++++++++++++++++++ - src/liblzma/liblzma_w32res.rc | 5 +++++ - src/xz/xz_w32res.rc | 5 +++++ - src/xzdec/lzmadec_w32res.rc | 5 +++++ - src/xzdec/xzdec_w32res.rc | 5 +++++ - windows/Makefile | 35 +++++++++++++++++--------------- - windows/common.rc | 46 ------------------------------------------- - windows/liblzma.rc | 5 ----- - windows/lzmadec.rc | 5 ----- - windows/xz.rc | 5 ----- - windows/xzdec.rc | 5 ----- - 11 files changed, 85 insertions(+), 82 deletions(-) - -commit 449c634674f35336a4815d398172e447659a135e -Author: Lasse Collin -Date: 2009-06-27 13:05:03 +0300 - - Added missing $(EXEEXT). - - src/xz/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 792db79f27ad9ab1fb977e23be65c7761f545752 -Author: Lasse Collin -Date: 2009-06-27 12:32:40 +0300 - - Create correct symlinks even when - --program-{prefix,suffix,transform} is passed to configure. - - src/scripts/Makefile.am | 80 ++++++++++++++++++++++++++++--------------------- - src/xz/Makefile.am | 21 ++++++++----- - src/xzdec/Makefile.am | 9 ++++-- - 3 files changed, 65 insertions(+), 45 deletions(-) - -commit 0adc72feb84f5b903f6ad9d3f759b1c326fafc6b -Author: Lasse Collin -Date: 2009-06-27 10:02:24 +0300 - - Silence a compiler warning on DOS-like systems. - - src/xz/file_io.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit ad12edc95254ede3f0cb8dec8645e8789e984c4f -Author: Lasse Collin -Date: 2009-06-27 09:35:15 +0300 - - Updated the filenames in POTFILES.in too. - - po/POTFILES.in | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit b2b1f867532732fe9969131f8713bdd6b0731763 -Author: Lasse Collin -Date: 2009-06-27 00:43:06 +0300 - - Hopefully improved portability of the assembler code in - Autotools based builds on Windows. - - src/liblzma/check/crc32_x86.S | 8 +++++++- - src/liblzma/check/crc64_x86.S | 8 +++++++- - 2 files changed, 14 insertions(+), 2 deletions(-) - -commit c393055947247627a09b6a6b8f20aa0c32f9be16 -Author: Lasse Collin -Date: 2009-06-26 21:17:29 +0300 - - Updated THANKS (most of today's commits are based on - Charles Wilson's patches). - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit da0af22e4b4139b8a10710945f8b245b3a77c97d -Author: Lasse Collin -Date: 2009-06-26 21:00:35 +0300 - - Updated comments to match renamed files. - - src/xz/coder.c | 2 +- - src/xz/coder.h | 2 +- - src/xz/file_io.c | 2 +- - src/xz/file_io.h | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -commit 65014fd211dfbd4be48685998cb5a12aaa29c8d2 -Author: Lasse Collin -Date: 2009-06-26 20:49:54 +0300 - - Rename process.[hc] to coder.[hc] and io.[hc] to file_io.[hc] - to avoid problems on systems with system headers with those - names. - - dos/Makefile | 4 +- - src/xz/Makefile.am | 8 +- - src/xz/coder.c | 488 ++++++++++++++++++++++++++++++++++++ - src/xz/coder.h | 57 +++++ - src/xz/file_io.c | 716 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - src/xz/file_io.h | 86 +++++++ - src/xz/io.c | 716 ----------------------------------------------------- - src/xz/io.h | 86 ------- - src/xz/private.h | 4 +- - src/xz/process.c | 488 ------------------------------------ - src/xz/process.h | 57 ----- - windows/Makefile | 4 +- - 12 files changed, 1357 insertions(+), 1357 deletions(-) - -commit 5e1257466dcb66f1d7a3f71814a5ad885cba43e8 -Author: Lasse Collin -Date: 2009-06-26 20:43:36 +0300 - - Rename process_file() to coder_run(). - - src/xz/main.c | 6 +++--- - src/xz/process.c | 6 +++--- - src/xz/process.h | 5 ++--- - 3 files changed, 8 insertions(+), 9 deletions(-) - -commit cad62551c5fa9865dbe0841a0b3bc729c4fbe8fc -Author: Lasse Collin -Date: 2009-06-26 20:36:45 +0300 - - Ugly hack to make it possible to use the thousand separator - format character with snprintf() on POSIX systems but not - on non-POSIX systems and still keep xgettext working. - - dos/Makefile | 16 +++------------- - src/xz/message.c | 17 +++++++++-------- - src/xz/process.c | 30 +++++++++++++++--------------- - src/xz/util.c | 34 ++++++++++++++++++++++++++++++++++ - src/xz/util.h | 20 ++++++++++++++++++++ - windows/Makefile | 13 +++---------- - 6 files changed, 84 insertions(+), 46 deletions(-) - -commit fe378d47074b16c52b00fe184d119287c68ce2e7 -Author: Lasse Collin -Date: 2009-06-26 15:40:40 +0300 - - Added missing source files to windows/Makefile. - - windows/Makefile | 2 ++ - 1 file changed, 2 insertions(+) - -commit 390a6408563067613b29de895cb40e4d0386d62c -Author: Lasse Collin -Date: 2009-06-26 15:37:53 +0300 - - Basic support for building with Cygwin and MinGW using - the Autotools based build system. It's not good yet, more - fixes will follow. - - configure.ac | 7 +++++++ - src/liblzma/api/lzma.h | 7 +++++-- - src/liblzma/check/crc32_x86.S | 7 ++++--- - src/liblzma/check/crc64_x86.S | 7 ++++--- - src/liblzma/common/common.h | 2 +- - windows/Makefile | 16 +++++++--------- - 6 files changed, 28 insertions(+), 18 deletions(-) - -commit 1c9360b7d1197457aaad2f8888b99f1149861579 -Author: Lasse Collin -Date: 2009-06-26 14:47:31 +0300 - - Fix @variables@ to $(variables) in Makefile.am files. - Fix the ordering of libgnu.a and LTLIBINTL on the linker - command line and added missing LTLIBINTL to tests/Makefile.am. - - debug/Makefile.am | 12 ++++++------ - src/liblzma/check/Makefile.am | 4 ++-- - src/liblzma/common/Makefile.am | 16 ++++++++-------- - src/liblzma/delta/Makefile.am | 4 ++-- - src/liblzma/lz/Makefile.am | 6 +++--- - src/liblzma/lzma/Makefile.am | 8 ++++---- - src/liblzma/rangecoder/Makefile.am | 4 ++-- - src/liblzma/simple/Makefile.am | 4 ++-- - src/liblzma/subblock/Makefile.am | 4 ++-- - src/xz/Makefile.am | 21 +++++++++++---------- - src/xzdec/Makefile.am | 19 ++++++++++--------- - tests/Makefile.am | 12 +++++++----- - 12 files changed, 59 insertions(+), 55 deletions(-) - -commit d45615c555e250209ebb55aa3649abe790f1eeac -Author: Lasse Collin -Date: 2009-06-26 14:20:02 +0300 - - Allow to explicitly specify autotool versions in autogen.sh. - - autogen.sh | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit eaf8367368a329afa48785380f9dca6b681f3397 -Author: Lasse Collin -Date: 2009-06-26 14:18:32 +0300 - - Add version.sh to EXTRA_DIST. - - Makefile.am | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit b317b218e2d383dd27a700094c0de4510540ea18 -Author: Lasse Collin -Date: 2009-06-24 20:14:10 +0300 - - Support HW_PHYSMEM64 - - src/common/physmem.h | 30 +++++++++++++++++++----------- - 1 file changed, 19 insertions(+), 11 deletions(-) - -commit ae82dde5d9cc60c80cc89601b6c51cc1611d48e7 -Author: Lasse Collin -Date: 2009-06-24 13:01:59 +0300 - - Cast a char argument to isspace() to unsigned char. - - src/xz/args.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -commit 1735d31ea347210e914df038eeea4b2626e76e42 -Author: Lasse Collin -Date: 2009-06-05 13:46:26 +0300 - - A few more spelling fixes. Released the .xz spec 1.0.3. - - doc/xz-file-format.txt | 12 +++++++----- - 1 file changed, 7 insertions(+), 5 deletions(-) - -commit 8ed156ce894966103e895aa08f2a9fb912f6fad5 -Author: Lasse Collin -Date: 2009-06-04 23:42:12 +0300 - - Added xzdec man page. - - src/xzdec/Makefile.am | 11 ++++ - src/xzdec/xzdec.1 | 173 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 184 insertions(+) - -commit f6df39afaa84f71439507178a49b2a5dda6e824c -Author: Lasse Collin -Date: 2009-06-04 23:26:47 +0300 - - Harmonized xzdec --memory with xz --memory and made - minor cleanups. - - src/xzdec/xzdec.c | 74 +++++++++++++++++++++++++++++++++++++++---------------- - 1 file changed, 53 insertions(+), 21 deletions(-) - -commit 1774f27c61ce294a56712ca2f4785f90a62441bc -Author: Lasse Collin -Date: 2009-06-04 22:59:55 +0300 - - Fix purporse -> purpose. Thanks to Andrew Dudman. - Released .xz spec 1.0.2 due to this fix too. - - THANKS | 1 + - doc/xz-file-format.txt | 8 +++++--- - src/liblzma/liblzma.pc.in | 2 +- - windows/Makefile | 2 +- - 4 files changed, 8 insertions(+), 5 deletions(-) - -commit cb613455642f48fb51059e22018615f64c59b70f -Author: Lasse Collin -Date: 2009-06-01 14:53:57 +0300 - - The .xz file format version 1.0.1 - - doc/xz-file-format.txt | 29 ++++++++++++++++++++++------- - 1 file changed, 22 insertions(+), 7 deletions(-) - -commit 083c23c680ff844846d177cfc58bb7a874e7e6b9 -Author: Lasse Collin -Date: 2009-05-26 14:48:48 +0300 - - Make the raw value of the Check field available to applications - via lzma_block structure. - - This changes ABI but not doesn't break API. - - src/liblzma/api/lzma/block.h | 17 ++++++++++++++++ - src/liblzma/common/block_buffer_encoder.c | 1 + - src/liblzma/common/block_decoder.c | 34 ++++++++++++++----------------- - src/liblzma/common/block_encoder.c | 21 ++++++++----------- - 4 files changed, 42 insertions(+), 31 deletions(-) - -commit b4f5c814090dc07d4350453576305e41eb9c998d -Author: Lasse Collin -Date: 2009-05-23 16:57:21 +0300 - - Remove undocumented alternative option names --bcj, --ppc, - and --itanium. - - src/xz/args.c | 3 --- - 1 file changed, 3 deletions(-) - -commit b1edee2cdc7ef4411b1a21c07094ec763f071281 -Author: Lasse Collin -Date: 2009-05-23 15:12:23 +0300 - - Add support for specifying the BCJ filter start offset - in the xz command line tool. - - src/xz/args.c | 36 +++++++++++++++++++++--------------- - src/xz/message.c | 14 ++++++++------ - src/xz/options.c | 40 ++++++++++++++++++++++++++++++++++++++++ - src/xz/options.h | 7 +++++++ - 4 files changed, 76 insertions(+), 21 deletions(-) - -commit 72aa0e9c5f4289f10ef5bf240a9448d3017f1ceb -Author: Lasse Collin -Date: 2009-05-23 14:51:09 +0300 - - Updated THANKS. - - THANKS | 2 ++ - 1 file changed, 2 insertions(+) - -commit dcedb6998cefeca6597dd1219328a3abf5acf66d -Author: Lasse Collin -Date: 2009-05-22 16:40:50 +0300 - - Added support for --quiet and --no-warn to xzdec. - Cleaned up the --help message a little. - - src/xzdec/xzdec.c | 76 +++++++++++++++++++++++++++++++++++-------------------- - 1 file changed, 49 insertions(+), 27 deletions(-) - -commit 5f735dae80aa629853f4831d7b84ec1c614979eb -Author: Lasse Collin -Date: 2009-05-22 15:11:52 +0300 - - Use the 40 % of RAM memory usage limit in xzdec too. - - Update the memory usage info text in --help to match - the text in xz --long-help. - - src/xzdec/xzdec.c | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit b60376249e0c586910c4121fab4f791820cc1289 -Author: Lasse Collin -Date: 2009-05-22 14:43:00 +0300 - - Add --no-warn. - - src/xz/args.c | 8 +++++++- - src/xz/main.c | 17 +++++++++++++++++ - src/xz/main.h | 6 ++++++ - src/xz/message.c | 4 ++++ - 4 files changed, 34 insertions(+), 1 deletion(-) - -commit b4f92f522d4b854c0adb7c38be7531e1a6a7b008 -Author: Lasse Collin -Date: 2009-05-22 14:27:40 +0300 - - Fix a comment. - - src/xz/main.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 4dd21d23f22569285ae706b58b0e5904b8db1839 -Author: Lasse Collin -Date: 2009-05-22 14:21:20 +0300 - - Remove the --info option, which was an alias for --list. - - src/xz/args.c | 1 - - 1 file changed, 1 deletion(-) - -commit 8836139b63ce774bdd62abf17ab69b290e08229e -Author: Lasse Collin -Date: 2009-05-22 12:27:43 +0300 - - If xz is run as lzma, unlzma, or lzcat, simply imply - --format=lzma. This means that xz emulating lzma - doesn't decompress .xz files, while before this - commit it did. The new way is slightly simpler in - code and especially in upcoming documentation. - - src/xz/args.c | 17 ++++++----------- - 1 file changed, 6 insertions(+), 11 deletions(-) - -commit b0063023f8adb06ea735ec4af5c6f5b7bdb8e84d -Author: Lasse Collin -Date: 2009-05-22 11:29:50 +0300 - - Make the default memory usage limit 40 % of RAM for both - compressing and decompressing. This should be OK now that - xz automatically scales down the compression settings if - they would exceed the memory usage limit (earlier, the limit - for compression was increased to 90 % because low limit broke - scripts that used "xz -9" on systems with low RAM). - - Support spcifying the memory usage limit as a percentage - of RAM (e.g. --memory=50%). - - Support --threads=0 to reset the thread limit to the default - value (number of available CPU cores). Use UINT32_MAX instead - of SIZE_MAX as the maximum in args.c. hardware.c was already - expecting uint32_t value. - - Cleaned up the output of --help and --long-help. - - src/xz/args.c | 28 +++++++++++++----- - src/xz/hardware.c | 86 +++++++++++++++++++++++-------------------------------- - src/xz/hardware.h | 10 +++---- - src/xz/message.c | 28 +++++++++--------- - src/xz/process.c | 18 +++++------- - 5 files changed, 82 insertions(+), 88 deletions(-) - -commit 071b825b23911a69dd1cd2f8cda004ef8a781fae -Author: Lasse Collin -Date: 2009-05-21 17:22:01 +0300 - - Support special value "max" where xz and xzdec accept an integer. - Don't round the memory usage limit in xzdec --help to avoid - an integer overflow and to not give wrong impression that - the limit is high enough when it may not actually be. - - src/xz/util.c | 4 ++++ - src/xzdec/xzdec.c | 6 +++++- - 2 files changed, 9 insertions(+), 1 deletion(-) - -commit 03ca67fd37dd43fa7f590de340899cd497c10802 -Author: ABCD -Date: 2009-05-20 17:31:18 -0400 - - Install lzdiff, lzgrep, and lzmore as symlinks - - This adds lzdiff, lzgrep, and lzmore to the list of symlinks to install. - It also installs symlinks for the manual pages and removes the new - symlinks on uninstall. - - src/scripts/Makefile.am | 16 ++++++++++++++-- - 1 file changed, 14 insertions(+), 2 deletions(-) - -commit a6f43e64128a6da5cd641de1e1e527433b3e5638 -Author: Lasse Collin -Date: 2009-05-02 16:10:14 +0300 - - Use a GCC-specific #pragma instead of GCC-specific - -Wno-uninitialized to silence a bogus warning. - - configure.ac | 13 ------------- - src/liblzma/check/Makefile.am | 5 ----- - src/liblzma/check/sha256.c | 5 +++++ - 3 files changed, 5 insertions(+), 18 deletions(-) - -commit f6ce63ebdb45a857c8949960c83c9580ae888951 -Author: Lasse Collin -Date: 2009-05-02 14:46:50 +0300 - - Removed --disable-encoder and --disable-decoder. Use the values - given to --enable-encoders and --enable-decoders to determine - if any encoder or decoder support is wanted. - - configure.ac | 48 ++++++++---------------------------------------- - 1 file changed, 8 insertions(+), 40 deletions(-) - -commit be06858d5cf8ba46557395035d821dc332f3f830 -Author: Lasse Collin -Date: 2009-05-01 11:28:52 +0300 - - Remove docs that are too outdated to be updated - (rewrite will be better). - - doc/liblzma-advanced.txt | 324 ----------------------------------------------- - doc/liblzma-hacking.txt | 112 ---------------- - doc/liblzma-intro.txt | 194 ---------------------------- - doc/liblzma-security.txt | 219 -------------------------------- - doc/lzma-intro.txt | 107 ---------------- - 5 files changed, 956 deletions(-) - -commit 0255401e57c96af87c6b159eca28974e79430a82 -Author: Lasse Collin -Date: 2009-05-01 11:21:46 +0300 - - Added documentation about the legacy .lzma file format. - - doc/lzma-file-format.txt | 166 +++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 166 insertions(+) - -commit 1496ff437c46f38303e0e94c511ca604b3a11f85 -Author: Lasse Collin -Date: 2009-05-01 11:20:23 +0300 - - Renamed the file format specification to xz-file-format.txt - which is the filename used on the WWW. - - doc/file-format.txt | 1127 ------------------------------------------------ - doc/xz-file-format.txt | 1127 ++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 1127 insertions(+), 1127 deletions(-) - -commit 21c6b94373d239d7e86bd480fcd558e30391712f -Author: Lasse Collin -Date: 2009-04-28 23:08:32 +0300 - - Fixed a crash in liblzma. - - liblzma tries to avoid useless free()/malloc() pairs in - initialization when multiple files are handled using the - same lzma_stream. This didn't work with filter chains - due to comparison of wrong pointers in lzma_next_coder_init(), - making liblzma think that no memory reallocation is needed - even when it actually is. - - Easy way to trigger this bug is to decompress two files with - a single xz command. The first file should have e.g. x86+LZMA2 - as the filter chain, and the second file just LZMA2. - - src/liblzma/common/alone_decoder.c | 2 +- - src/liblzma/common/alone_encoder.c | 4 ++-- - src/liblzma/common/auto_decoder.c | 2 +- - src/liblzma/common/block_decoder.c | 2 +- - src/liblzma/common/block_encoder.c | 2 +- - src/liblzma/common/common.h | 4 ++-- - src/liblzma/common/easy_encoder.c | 2 +- - src/liblzma/common/index_decoder.c | 2 +- - src/liblzma/common/index_encoder.c | 2 +- - src/liblzma/common/stream_decoder.c | 2 +- - src/liblzma/common/stream_encoder.c | 2 +- - 11 files changed, 13 insertions(+), 13 deletions(-) - -commit e518d167aa5958e469982f4fb3a24b9b6a2b5d1c -Author: Lasse Collin -Date: 2009-04-15 14:13:38 +0300 - - Fix uint32_t -> size_t in ARM and ARM-Thumb filters. - - On 64-bit system it would have gone into infinite - loop if a single input buffer was over 4 GiB (unlikely). - - src/liblzma/simple/arm.c | 2 +- - src/liblzma/simple/armthumb.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 31decdce041581e57c0d8a407d4795b114ef27ca -Author: Lasse Collin -Date: 2009-04-14 11:48:46 +0300 - - Minor fixes to test files' README. - - tests/files/README | 17 +++++++++-------- - 1 file changed, 9 insertions(+), 8 deletions(-) - -commit 4787d654434891c7df5b43959b0d2873718f06e0 -Author: Lasse Collin -Date: 2009-04-13 16:36:41 +0300 - - Updated history.txt. - - doc/history.txt | 123 ++++++++++++++++++++++++++++++-------------------------- - 1 file changed, 66 insertions(+), 57 deletions(-) - -commit 2f0bc9cd40f709152a0177c8e585c0757e9af9c9 -Author: Lasse Collin -Date: 2009-04-13 14:49:48 +0300 - - Quick & dirty update to support xz in diff/grep/more scripts. - - src/scripts/Makefile.am | 38 +++++++++------ - src/scripts/lzdiff | 67 -------------------------- - src/scripts/lzdiff.1 | 51 -------------------- - src/scripts/lzgrep | 123 ------------------------------------------------ - src/scripts/lzgrep.1 | 61 ------------------------ - src/scripts/lzmore | 74 ----------------------------- - src/scripts/lzmore.1 | 55 ---------------------- - src/scripts/xzdiff | 67 ++++++++++++++++++++++++++ - src/scripts/xzdiff.1 | 58 +++++++++++++++++++++++ - src/scripts/xzgrep | 123 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/scripts/xzgrep.1 | 77 ++++++++++++++++++++++++++++++ - src/scripts/xzmore | 74 +++++++++++++++++++++++++++++ - src/scripts/xzmore.1 | 66 ++++++++++++++++++++++++++ - 13 files changed, 489 insertions(+), 445 deletions(-) - -commit 02ddf09bc3079b3e17297729b9e43f14d407b8fc -Author: Lasse Collin -Date: 2009-04-13 11:27:40 +0300 - - Put the interesting parts of XZ Utils into the public domain. - Some minor documentation cleanups were made at the same time. - - COPYING | 67 ++++++++++++++++++++------ - ChangeLog | 2 +- - Doxyfile.in | 8 +-- - Makefile.am | 13 ++--- - autogen.sh | 9 ++++ - configure.ac | 13 ++--- - debug/Makefile.am | 13 ++--- - debug/crc32.c | 13 ++--- - debug/full_flush.c | 13 ++--- - debug/hex2bin.c | 7 ++- - debug/known_sizes.c | 13 ++--- - debug/memusage.c | 13 ++--- - debug/repeat.c | 13 ++--- - debug/sync_flush.c | 13 ++--- - doc/faq.txt | 38 ++------------- - lib/Makefile.am | 18 +++---- - src/Makefile.am | 13 ++--- - src/common/bswap.h | 7 ++- - src/common/cpucores.h | 7 ++- - src/common/integer.h | 7 ++- - src/common/mythread.h | 4 +- - src/common/open_stdxxx.h | 7 ++- - src/common/physmem.h | 7 ++- - src/common/sysdefs.h | 13 ++--- - src/liblzma/Makefile.am | 13 ++--- - src/liblzma/api/Makefile.am | 13 ++--- - src/liblzma/api/lzma.h | 38 +++++++++------ - src/liblzma/api/lzma/base.h | 20 +++----- - src/liblzma/api/lzma/bcj.h | 18 +++---- - src/liblzma/api/lzma/block.h | 18 +++---- - src/liblzma/api/lzma/check.h | 18 +++---- - src/liblzma/api/lzma/container.h | 18 +++---- - src/liblzma/api/lzma/delta.h | 18 +++---- - src/liblzma/api/lzma/filter.h | 18 +++---- - src/liblzma/api/lzma/index.h | 18 +++---- - src/liblzma/api/lzma/index_hash.h | 22 +++------ - src/liblzma/api/lzma/lzma.h | 18 +++---- - src/liblzma/api/lzma/stream_flags.h | 18 +++---- - src/liblzma/api/lzma/subblock.h | 18 +++---- - src/liblzma/api/lzma/version.h | 18 +++---- - src/liblzma/api/lzma/vli.h | 46 ++++++++---------- - src/liblzma/check/Makefile.am | 8 ++- - src/liblzma/check/check.c | 7 ++- - src/liblzma/check/check.h | 7 ++- - src/liblzma/check/crc32_fast.c | 30 +++++------- - src/liblzma/check/crc32_small.c | 7 ++- - src/liblzma/check/crc32_table.c | 7 ++- - src/liblzma/check/crc32_tablegen.c | 7 ++- - src/liblzma/check/crc32_x86.S | 21 +++++--- - src/liblzma/check/crc64_fast.c | 20 +++----- - src/liblzma/check/crc64_small.c | 7 ++- - src/liblzma/check/crc64_table.c | 7 ++- - src/liblzma/check/crc64_tablegen.c | 7 ++- - src/liblzma/check/crc64_x86.S | 14 ++++-- - src/liblzma/check/crc_macros.h | 9 ++-- - src/liblzma/check/sha256.c | 23 +++++---- - src/liblzma/common/Makefile.am | 13 ++--- - src/liblzma/common/alone_decoder.c | 13 ++--- - src/liblzma/common/alone_decoder.h | 13 ++--- - src/liblzma/common/alone_encoder.c | 13 ++--- - src/liblzma/common/auto_decoder.c | 13 ++--- - src/liblzma/common/block_buffer_decoder.c | 13 ++--- - src/liblzma/common/block_buffer_encoder.c | 13 ++--- - src/liblzma/common/block_decoder.c | 13 ++--- - src/liblzma/common/block_decoder.h | 13 ++--- - src/liblzma/common/block_encoder.c | 13 ++--- - src/liblzma/common/block_encoder.h | 13 ++--- - src/liblzma/common/block_header_decoder.c | 13 ++--- - src/liblzma/common/block_header_encoder.c | 13 ++--- - src/liblzma/common/block_util.c | 13 ++--- - src/liblzma/common/bsr.h | 7 ++- - src/liblzma/common/chunk_size.c | 13 ++--- - src/liblzma/common/common.c | 13 ++--- - src/liblzma/common/common.h | 13 ++--- - src/liblzma/common/easy_buffer_encoder.c | 13 ++--- - src/liblzma/common/easy_decoder_memusage.c | 13 ++--- - src/liblzma/common/easy_encoder.c | 13 ++--- - src/liblzma/common/easy_encoder_memusage.c | 13 ++--- - src/liblzma/common/easy_preset.c | 13 ++--- - src/liblzma/common/easy_preset.h | 13 ++--- - src/liblzma/common/filter_buffer_decoder.c | 13 ++--- - src/liblzma/common/filter_buffer_encoder.c | 13 ++--- - src/liblzma/common/filter_common.c | 13 ++--- - src/liblzma/common/filter_common.h | 13 ++--- - src/liblzma/common/filter_decoder.c | 13 ++--- - src/liblzma/common/filter_decoder.h | 13 ++--- - src/liblzma/common/filter_encoder.c | 13 ++--- - src/liblzma/common/filter_encoder.h | 13 ++--- - src/liblzma/common/filter_flags_decoder.c | 13 ++--- - src/liblzma/common/filter_flags_encoder.c | 13 ++--- - src/liblzma/common/index.c | 13 ++--- - src/liblzma/common/index.h | 13 ++--- - src/liblzma/common/index_decoder.c | 13 ++--- - src/liblzma/common/index_encoder.c | 13 ++--- - src/liblzma/common/index_encoder.h | 13 ++--- - src/liblzma/common/index_hash.c | 13 ++--- - src/liblzma/common/stream_buffer_decoder.c | 13 ++--- - src/liblzma/common/stream_buffer_encoder.c | 13 ++--- - src/liblzma/common/stream_decoder.c | 13 ++--- - src/liblzma/common/stream_decoder.h | 13 ++--- - src/liblzma/common/stream_encoder.c | 13 ++--- - src/liblzma/common/stream_encoder.h | 13 ++--- - src/liblzma/common/stream_flags_common.c | 13 ++--- - src/liblzma/common/stream_flags_common.h | 13 ++--- - src/liblzma/common/stream_flags_decoder.c | 13 ++--- - src/liblzma/common/stream_flags_encoder.c | 13 ++--- - src/liblzma/common/vli_decoder.c | 13 ++--- - src/liblzma/common/vli_encoder.c | 13 ++--- - src/liblzma/common/vli_size.c | 13 ++--- - src/liblzma/delta/Makefile.am | 13 ++--- - src/liblzma/delta/delta_common.c | 13 ++--- - src/liblzma/delta/delta_common.h | 13 ++--- - src/liblzma/delta/delta_decoder.c | 13 ++--- - src/liblzma/delta/delta_decoder.h | 13 ++--- - src/liblzma/delta/delta_encoder.c | 13 ++--- - src/liblzma/delta/delta_encoder.h | 13 ++--- - src/liblzma/delta/delta_private.h | 13 ++--- - src/liblzma/lz/Makefile.am | 13 ++--- - src/liblzma/lz/lz_decoder.c | 17 ++----- - src/liblzma/lz/lz_decoder.h | 17 ++----- - src/liblzma/lz/lz_encoder.c | 17 ++----- - src/liblzma/lz/lz_encoder.h | 17 ++----- - src/liblzma/lz/lz_encoder_hash.h | 13 ++--- - src/liblzma/lz/lz_encoder_mf.c | 17 ++----- - src/liblzma/lzma/Makefile.am | 13 ++--- - src/liblzma/lzma/fastpos.h | 17 ++----- - src/liblzma/lzma/fastpos_tablegen.c | 17 ++----- - src/liblzma/lzma/lzma2_decoder.c | 17 ++----- - src/liblzma/lzma/lzma2_decoder.h | 17 ++----- - src/liblzma/lzma/lzma2_encoder.c | 17 ++----- - src/liblzma/lzma/lzma2_encoder.h | 17 ++----- - src/liblzma/lzma/lzma_common.h | 17 ++----- - src/liblzma/lzma/lzma_decoder.c | 17 ++----- - src/liblzma/lzma/lzma_decoder.h | 17 ++----- - src/liblzma/lzma/lzma_encoder.c | 17 ++----- - src/liblzma/lzma/lzma_encoder.h | 17 ++----- - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 13 ++--- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 13 ++--- - src/liblzma/lzma/lzma_encoder_presets.c | 13 ++--- - src/liblzma/lzma/lzma_encoder_private.h | 17 ++----- - src/liblzma/rangecoder/Makefile.am | 13 ++--- - src/liblzma/rangecoder/price.h | 13 ++--- - src/liblzma/rangecoder/price_tablegen.c | 16 ++---- - src/liblzma/rangecoder/range_common.h | 17 ++----- - src/liblzma/rangecoder/range_decoder.h | 17 ++----- - src/liblzma/rangecoder/range_encoder.h | 17 ++----- - src/liblzma/simple/Makefile.am | 13 ++--- - src/liblzma/simple/arm.c | 17 ++----- - src/liblzma/simple/armthumb.c | 17 ++----- - src/liblzma/simple/ia64.c | 17 ++----- - src/liblzma/simple/powerpc.c | 17 ++----- - src/liblzma/simple/simple_coder.c | 13 ++--- - src/liblzma/simple/simple_coder.h | 14 ++---- - src/liblzma/simple/simple_decoder.c | 13 ++--- - src/liblzma/simple/simple_decoder.h | 13 ++--- - src/liblzma/simple/simple_encoder.c | 13 ++--- - src/liblzma/simple/simple_encoder.h | 13 ++--- - src/liblzma/simple/simple_private.h | 13 ++--- - src/liblzma/simple/sparc.c | 17 ++----- - src/liblzma/simple/x86.c | 17 ++----- - src/liblzma/subblock/Makefile.am | 13 ++--- - src/liblzma/subblock/subblock_decoder.c | 13 ++--- - src/liblzma/subblock/subblock_decoder.h | 13 ++--- - src/liblzma/subblock/subblock_decoder_helper.c | 13 ++--- - src/liblzma/subblock/subblock_decoder_helper.h | 13 ++--- - src/liblzma/subblock/subblock_encoder.c | 13 ++--- - src/liblzma/subblock/subblock_encoder.h | 13 ++--- - src/scripts/Makefile.am | 7 +++ - src/xz/Makefile.am | 13 ++--- - src/xz/args.c | 13 ++--- - src/xz/args.h | 13 ++--- - src/xz/hardware.c | 13 ++--- - src/xz/hardware.h | 13 ++--- - src/xz/io.c | 13 ++--- - src/xz/io.h | 13 ++--- - src/xz/list.c | 13 ++--- - src/xz/main.c | 13 ++--- - src/xz/main.h | 13 ++--- - src/xz/message.c | 13 ++--- - src/xz/message.h | 13 ++--- - src/xz/options.c | 13 ++--- - src/xz/options.h | 13 ++--- - src/xz/private.h | 13 ++--- - src/xz/process.c | 13 ++--- - src/xz/process.h | 13 ++--- - src/xz/signals.c | 13 ++--- - src/xz/signals.h | 13 ++--- - src/xz/suffix.c | 13 ++--- - src/xz/suffix.h | 13 ++--- - src/xz/util.c | 13 ++--- - src/xz/util.h | 13 ++--- - src/xzdec/Makefile.am | 13 ++--- - src/xzdec/xzdec.c | 13 ++--- - tests/Makefile.am | 13 ++--- - tests/bcj_test.c | 7 ++- - tests/create_compress_files.c | 13 ++--- - tests/test_block.c | 13 ++--- - tests/test_block_header.c | 13 ++--- - tests/test_check.c | 13 ++--- - tests/test_compress.sh | 13 ++--- - tests/test_files.sh | 13 ++--- - tests/test_filter_flags.c | 13 ++--- - tests/test_index.c | 13 ++--- - tests/test_stream_flags.c | 13 ++--- - tests/tests.h | 13 ++--- - windows/common.rc | 2 +- - 206 files changed, 868 insertions(+), 2023 deletions(-) - -commit e79c42d854657ae7f75613bd80c1a35ff7c525cb -Author: Lasse Collin -Date: 2009-04-10 11:17:02 +0300 - - Fix off-by-one in LZ decoder. - - Fortunately, this bug had no security risk other than accepting - some corrupt files as valid. - - src/liblzma/lz/lz_decoder.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 94eb9ad46f1fded6d8369cf3d38bb9754c1375af -Author: Pavel Roskin -Date: 2009-03-31 12:15:01 -0400 - - Fix minor typos in README - - README | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 9bab5336ebd765ec4e12252f416eefdf04eba750 -Author: Lasse Collin -Date: 2009-03-31 21:52:51 +0300 - - Add a note and work-around instructions to README about - problems detecting a C99 compiler when some standard - headers are missing. - - README | 11 +++++++++++ - 1 file changed, 11 insertions(+) - -commit a0497ff7a06f9350349264fe9b52dfefc6d53ead -Author: Lasse Collin -Date: 2009-03-18 16:54:38 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 390e69887fc5e0a108eb41203bed9acd100a3d76 -Author: Lasse Collin -Date: 2009-03-18 16:51:41 +0200 - - Fix wrong macro names in lc_cpucores.m4 and cpucores.h. - Thanks to Bert Wesarg. - - m4/lc_cpucores.m4 | 4 ++-- - src/common/cpucores.h | 4 ++-- - 2 files changed, 4 insertions(+), 4 deletions(-) - -commit 0df9299e2478c2a0c62c05b1ae14a85a353e20d6 -Author: Lasse Collin -Date: 2009-03-01 09:03:08 +0200 - - Test for Linux-specific sysinfo() only on Linux systems. - Some other systems have sysinfo() with different semantics. - - m4/lc_physmem.m4 | 28 +++++++++++++++++++--------- - 1 file changed, 19 insertions(+), 9 deletions(-) - -commit cf751edfde3ad6e088dc18e0522d31ae38405933 -Author: Lasse Collin -Date: 2009-03-01 09:00:06 +0200 - - Added AC_CONFIG_MACRO_DIR to configure.ac. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 63df14c57dee7c461717784287056688482a7eb9 -Author: Lasse Collin -Date: 2009-03-01 08:58:41 +0200 - - Fix the Autoconf test for getopt_long replacement. - It was broken by e114502b2bc371e4a45449832cb69be036360722. - - m4/getopt.m4 | 4 ++++ - 1 file changed, 4 insertions(+) - -commit fd6a380f4eda4f00be5f2aa8d222992cd74a714f -Author: Lasse Collin -Date: 2009-02-22 19:07:54 +0200 - - Add a rough explanation of --extreme to output of --help. - - src/xz/message.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 68bf7ac2984d3627369a240ef0491934d53f7899 -Author: Lasse Collin -Date: 2009-02-22 18:52:49 +0200 - - Fixes to progress message handling in xz: - - - Don't use Windows-specific code on Windows. The old code - required at least Windows 2000. Now it should work on - Windows 98 and later, and maybe on Windows 95 too. - - - Use less precision when showing estimated remaining time. - - - Fix some small design issues. - - src/xz/message.c | 483 +++++++++++++++++++++++++++++++++++-------------------- - src/xz/message.h | 28 ++-- - src/xz/process.c | 53 +++--- - 3 files changed, 351 insertions(+), 213 deletions(-) - -commit 47c2e21f82242f50f18713a27d644c2c94ab3fea -Author: Lasse Collin -Date: 2009-02-18 13:00:10 +0200 - - Added files missing from the previous commit. - - src/liblzma/api/lzma/container.h | 33 +++++++++++++++++++++++++++++++++ - src/liblzma/common/Makefile.am | 7 ++++++- - 2 files changed, 39 insertions(+), 1 deletion(-) - -commit 489a3dbaa0465f04400804e956a1cfbbee3654a2 -Author: Lasse Collin -Date: 2009-02-17 10:43:00 +0200 - - Added lzma_easy_buffer_encode(). Splitted easy.c into small - pieces to avoid unneeded dependencies making statically - linked applications bigger than needed. - - dos/Makefile | 6 +- - src/liblzma/common/easy.c | 128 ----------------------------- - src/liblzma/common/easy_buffer_encoder.c | 34 ++++++++ - src/liblzma/common/easy_decoder_memusage.c | 31 +++++++ - src/liblzma/common/easy_encoder.c | 87 ++++++++++++++++++++ - src/liblzma/common/easy_encoder_memusage.c | 31 +++++++ - src/liblzma/common/easy_preset.c | 34 ++++++++ - src/liblzma/common/easy_preset.h | 39 +++++++++ - windows/Makefile | 6 +- - 9 files changed, 266 insertions(+), 130 deletions(-) - -commit 7494816ab08d82f4d6409788825930c4e43cfd0d -Author: Lasse Collin -Date: 2009-02-15 15:48:45 +0200 - - Make physmem.h work on old Windows versions. - Thanks to Hongbo Ni for the original patch. - - src/common/physmem.h | 31 +++++++++++++++++++++++++++---- - 1 file changed, 27 insertions(+), 4 deletions(-) - -commit 11ae4ae35fd70182c713f2d914b7cb1143bc76f0 -Author: Lasse Collin -Date: 2009-02-14 20:44:52 +0200 - - Fix microsecond vs. nanosecond confusion in my_time(). - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3084d662d2646ab7eb58daf0dc32cf3f9a74eec7 -Author: Lasse Collin -Date: 2009-02-14 00:45:29 +0200 - - Cleanups to the code that detects the amount of RAM and - the number of CPU cores. Added support for using sysinfo() - on Linux systems whose libc lacks appropriate sysconf() - support (at least dietlibc). The Autoconf macros were - split into separate files, and CPU core count detection - was moved from hardware.c to cpucores.h. The core count - isn't used for anything real for now, so a problematic - part in process.c was commented out. - - configure.ac | 89 ++------------------------------------------------- - m4/lc_cpucores.m4 | 57 +++++++++++++++++++++++++++++++++ - m4/lc_physmem.m4 | 74 ++++++++++++++++++++++++++++++++++++++++++ - src/common/cpucores.h | 52 ++++++++++++++++++++++++++++++ - src/common/physmem.h | 21 +++++++----- - src/xz/args.c | 4 +-- - src/xz/hardware.c | 50 +++++++++++++---------------- - src/xz/hardware.h | 11 +++++-- - src/xz/message.c | 5 +-- - src/xz/process.c | 2 ++ - 10 files changed, 235 insertions(+), 130 deletions(-) - -commit 9c62371eab2706c46b1072f5935e28cb4cd9dca8 -Author: Lasse Collin -Date: 2009-02-13 18:23:50 +0200 - - Initial port to DOS using DJGPP. - - dos/Makefile | 261 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ - dos/README | 113 ++++++++++++++++++++++++++ - dos/config.h | 150 ++++++++++++++++++++++++++++++++++ - 3 files changed, 524 insertions(+) - -commit 0dae8b7751d09e9c5a482d5519daaee4800ce203 -Author: Lasse Collin -Date: 2009-02-13 18:02:05 +0200 - - Windows port: Take advantage of the version number macros. - Now the version number is not duplicated in the - Windows-specific files anymore. - - windows/Makefile | 2 +- - windows/common.rc | 16 ++++++++-------- - windows/config.h | 15 --------------- - 3 files changed, 9 insertions(+), 24 deletions(-) - -commit fdbc0cfa71f7d660855098a609175ba384259529 -Author: Lasse Collin -Date: 2009-02-13 18:00:03 +0200 - - Changed how the version number is specified in various places. - Now configure.ac will get the version number directly from - src/liblzma/api/lzma/version.h. The intent is to reduce the - number of places where the version number is duplicated. In - future, support for displaying Git commit ID may be added too. - - configure.ac | 3 +- - src/liblzma/api/lzma/version.h | 70 ++++++++++++++++++++++++++++++++++++++++-- - src/liblzma/common/common.c | 2 +- - src/xz/message.c | 2 +- - src/xzdec/xzdec.c | 2 +- - version.sh | 23 ++++++++++++++ - 6 files changed, 95 insertions(+), 7 deletions(-) - -commit 1d924e584b146136989f48c13fff2632896efb3d -Author: Lasse Collin -Date: 2009-02-13 17:30:30 +0200 - - Fix handling of integrity check type in the xz command line tool. - - src/xz/args.c | 9 ++++++++- - src/xz/process.c | 4 ++++ - 2 files changed, 12 insertions(+), 1 deletion(-) - -commit 96c46df7deb231ea68a03d8d1da9de4c774e36d8 -Author: Lasse Collin -Date: 2009-02-13 17:29:02 +0200 - - Improve support for DOS-like systems. - Here DOS-like means DOS, Windows, and OS/2. - - src/common/physmem.h | 12 ++++++++++++ - src/common/sysdefs.h | 4 ++++ - src/liblzma/check/crc32_x86.S | 6 +++--- - src/liblzma/check/crc64_x86.S | 6 +++--- - src/xz/args.c | 13 +++++-------- - src/xz/io.c | 39 +++++++++++++++++++++++++-------------- - src/xz/main.c | 23 +++++++++++++++++++++++ - src/xz/message.c | 3 +++ - src/xz/suffix.c | 5 +++++ - src/xzdec/xzdec.c | 5 +++-- - 10 files changed, 86 insertions(+), 30 deletions(-) - -commit b6a30ee8c2de60ecd722cd05223e4ba72f822e33 -Author: Lasse Collin -Date: 2009-02-11 20:02:32 +0200 - - Remove dead directories from .gitignore. - - .gitignore | 2 -- - 1 file changed, 2 deletions(-) - -commit 1ec5b0027911d94cb6f98892cbc690f818d8a861 -Author: Jim Meyering -Date: 2009-02-11 14:45:14 +0100 - - .gitignore vs. Makefiles - - How about this for those of us who do srcdir builds? - - .gitignore | 22 ++++++++++++++++++++++ - 1 file changed, 22 insertions(+) - -commit 154f5aec2de201c674841de4fcc9804c2a87af07 -Author: Lasse Collin -Date: 2009-02-10 21:48:35 +0200 - - Removed Makefile from .gitignore since not all Makefiles - in the repository are generated by Autotools. People - should do test builds in a separate build directory anyway. - - .gitignore | 1 - - 1 file changed, 1 deletion(-) - -commit e605c2663691b0a4c307786aa368d124ea081daa -Author: Lasse Collin -Date: 2009-02-10 21:48:05 +0200 - - Added resource files for the Windows build. - - windows/Makefile | 37 ++++++++++++++++++++++--------------- - windows/common.rc | 46 ++++++++++++++++++++++++++++++++++++++++++++++ - windows/liblzma.rc | 5 +++++ - windows/lzmadec.rc | 5 +++++ - windows/xz.rc | 5 +++++ - windows/xzdec.rc | 5 +++++ - 6 files changed, 88 insertions(+), 15 deletions(-) - -commit a3bbbe05d32b1f7ea9eb98805df4dda2e811b476 -Author: Lasse Collin -Date: 2009-02-09 14:54:31 +0200 - - Let the user specify custom CFLAGS on the make command - line. Previously custom CFLAGS worked only when they were - passed to configure. - - configure.ac | 58 ++++++++++++++++++++++--------------------- - src/liblzma/check/Makefile.am | 2 +- - 2 files changed, 31 insertions(+), 29 deletions(-) - -commit 53f7598998b1860a69c51243b5d2e34623c6bf60 -Author: Lasse Collin -Date: 2009-02-08 21:35:11 +0200 - - Fix aliasing issue in physmem.h. - - src/common/physmem.h | 19 ++++++++++--------- - 1 file changed, 10 insertions(+), 9 deletions(-) - -commit 0e27028d74c5c7a8e036ae2a9b8cecb0ac79d3a6 -Author: Lasse Collin -Date: 2009-02-08 18:24:50 +0200 - - Add a separate internal function to initialize the CRC32 - table, which is used also by LZ encoder. This was needed - because calling lzma_crc32() and ignoring the result is - a no-op due to lzma_attr_pure. - - src/liblzma/check/check.h | 1 + - src/liblzma/check/crc32_small.c | 10 +++++++++- - src/liblzma/lz/lz_encoder.c | 4 ++-- - 3 files changed, 12 insertions(+), 3 deletions(-) - -commit ae1ad9af54210c9a2be336b1316532da5071516c -Author: Lasse Collin -Date: 2009-02-08 18:17:05 +0200 - - Make "xz --force" to write to terminal as the error - message suggests. - - src/xz/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 79e25eded48d2fe33f31441ab7a034f902e335f8 -Author: Lasse Collin -Date: 2009-02-08 10:37:50 +0200 - - Support both slash and backslash as path component - separator on Windows when parsing argv[0]. - - src/xz/args.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit bc7c7109cc4410055a888c1c70cbd1c9445c4361 -Author: Lasse Collin -Date: 2009-02-07 23:18:13 +0200 - - Omit the wrong and (even if corrected) nowadays useless rm - from autogen.sh. - - autogen.sh | 28 ---------------------------- - 1 file changed, 28 deletions(-) - -commit edfc2031e56f8a2ccda063f02936b3a848d88723 -Author: Lasse Collin -Date: 2009-02-07 21:41:52 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 880c3309386aac58fc4f3d7ca99bd31bcb1526a3 -Author: Lasse Collin -Date: 2009-02-07 21:17:07 +0200 - - Make it easy to choose if command line tools should be - linked statically or dynamically against liblzma. The - default is still to use static liblzma, but it can now - be changed by passing --enable-dynamic to configure. - Thanks to Mike Frysinger for the original patch. - - Fixed a few minor bugs in configure.ac. - - configure.ac | 39 +++++++++++++++++++++++++++++++++++++++ - src/xz/Makefile.am | 8 +++----- - src/xzdec/Makefile.am | 5 +++-- - 3 files changed, 45 insertions(+), 7 deletions(-) - -commit 3f86532407e4ace3debb62be16035e009b56ca36 -Author: Mike Frysinger -Date: 2009-02-06 23:38:39 -0500 - - add gitignore files - - Signed-off-by: Mike Frysinger - - .gitignore | 32 ++++++++++++++++++++++++++++++++ - m4/.gitignore | 35 +++++++++++++++++++++++++++++++++++ - po/.gitignore | 12 ++++++++++++ - 3 files changed, 79 insertions(+) - -commit bd7ca1dad5c146b6217799ffaa230c32d207a3e5 -Author: Lasse Collin -Date: 2009-02-07 17:07:52 +0200 - - Assume 32 MiB of RAM on unsupported operating systems like - the comment in hardware.c already said. - - src/xz/hardware.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d0ab8c1c73ae712adb0d26fbb9da762d99a63618 -Author: Lasse Collin -Date: 2009-02-07 16:26:58 +0200 - - MinGW support: Don't build fastpos_tablegen.c as part of - liblzma. Build both static and dynamic liblzma, and also - static and dynamic versions of the command line tools. - - windows/Makefile | 92 ++++++++++++++++++++++++++++++++++++++++++-------------- - windows/README | 10 ------ - 2 files changed, 69 insertions(+), 33 deletions(-) - -commit bfd91198e44a52bd9bfe3cd6dcae5edab7c6eb45 -Author: Lasse Collin -Date: 2009-02-07 15:55:47 +0200 - - Support LZMA_API_STATIC in assembler files to - avoid __declspec(dllexport) equivalent. - - src/liblzma/check/crc32_x86.S | 4 ++++ - src/liblzma/check/crc64_x86.S | 2 ++ - 2 files changed, 6 insertions(+) - -commit 3306cf3883492720b3c34baa02f4eb4227d91c73 -Author: Lasse Collin -Date: 2009-02-07 11:11:50 +0200 - - Introduced LZMA_API_STATIC macro, which the applications - need to #define when linking against static liblzma on - platforms like Windows. Most developers don't need to - care about LZMA_API_STATIC at all. - - src/liblzma/api/lzma.h | 31 ++++++++++++++++++++++++------- - src/liblzma/common/common.h | 2 +- - 2 files changed, 25 insertions(+), 8 deletions(-) - -commit b719e63c5f4c91d2d5e2ea585d4c055ec3767d0b -Author: Lasse Collin -Date: 2009-02-06 16:55:45 +0200 - - Another grammar fix - - README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit fe5434f940f75fec3611cf9d9edf78c4da8ac760 -Author: Lasse Collin -Date: 2009-02-06 12:30:23 +0200 - - Grammar fix in README. - - README | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3dfa58a9eedf5a0e566452b078801c9cbcf7a245 -Author: Lasse Collin -Date: 2009-02-06 10:06:32 +0200 - - Some MSYS installations (e.g. MsysGit) don't include - install.exe, so don't rely on it. - - windows/Makefile | 12 +++++++----- - windows/README | 11 ++++++----- - 2 files changed, 13 insertions(+), 10 deletions(-) - -commit 975d8fd72a5148d46b2e1745f7a211cf1dfd9d31 -Author: Lasse Collin -Date: 2009-02-06 09:13:15 +0200 - - Recreated the BCJ test files for x86 and SPARC. The old files - were linked with crt*.o, which are copyrighted, and thus the - old test files were not in the public domain as a whole. They - are freely distributable though, but it is better to be careful - and avoid including any copyrighted pieces in the test files. - The new files are just compiled and assembled object files, - and thus don't contain any copyrighted code. - - tests/bcj_test.c | 2 +- - tests/compress_prepared_bcj_sparc | Bin 6804 -> 1240 bytes - tests/compress_prepared_bcj_x86 | Bin 4649 -> 1388 bytes - tests/files/good-1-sparc-lzma2.xz | Bin 2296 -> 612 bytes - tests/files/good-1-x86-lzma2.xz | Bin 1936 -> 716 bytes - 5 files changed, 1 insertion(+), 1 deletion(-) - -commit 094b1b09a531f0d201ec81f2b07346a995fd80b9 -Author: Lasse Collin -Date: 2009-02-05 21:21:27 +0200 - - Add the "windows" directory to EXTRA_DIST. - - Makefile.am | 1 + - 1 file changed, 1 insertion(+) - -commit e1c3412eec7acec7ca3b32c9c828f3147dc65b49 -Author: Lasse Collin -Date: 2009-02-05 09:17:51 +0200 - - Added initial experimental makefile for use with MinGW. - - windows/Makefile | 253 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - windows/README | 164 ++++++++++++++++++++++++++++++++++++ - windows/config.h | 180 +++++++++++++++++++++++++++++++++++++++ - 3 files changed, 597 insertions(+) - -commit 75905a9afc0ee89954ede7d08af70d1148bf0fd9 -Author: Lasse Collin -Date: 2009-02-05 09:12:57 +0200 - - Various code cleanups the the xz command line tool. - It now builds with MinGW. - - src/common/physmem.h | 13 ++++ - src/xz/Makefile.am | 2 + - src/xz/args.h | 8 --- - src/xz/hardware.h | 10 +-- - src/xz/io.c | 93 +++++++++++++++++++------- - src/xz/io.h | 12 ++-- - src/xz/main.c | 132 ++----------------------------------- - src/xz/main.h | 22 ------- - src/xz/message.c | 65 ++++++++++++++++--- - src/xz/message.h | 6 -- - src/xz/options.h | 8 --- - src/xz/private.h | 18 ++++-- - src/xz/process.h | 10 +-- - src/xz/signals.c | 180 +++++++++++++++++++++++++++++++++++++++++++++++++++ - src/xz/signals.h | 51 +++++++++++++++ - src/xz/suffix.h | 5 -- - src/xz/util.c | 5 +- - src/xz/util.h | 5 -- - 18 files changed, 399 insertions(+), 246 deletions(-) - -commit d0c0b9e94e0af59d1d8f7f4829695d6efe19ccfe -Author: Lasse Collin -Date: 2009-02-03 12:15:17 +0200 - - Another utime() fix. - - src/xz/io.c | 9 +++++---- - 1 file changed, 5 insertions(+), 4 deletions(-) - -commit ccf92a29e8c7234284f1568c1ec0fd7cb98356ca -Author: Lasse Collin -Date: 2009-02-03 10:41:11 +0200 - - Fix wrong filename argument for utime() and utimes(). - This doesn't affect most systems, since most systems - have better functions available. - - src/xz/io.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 99c1c2abfae2e87f3c17e929783e6d1bb7a3f302 -Author: Lasse Collin -Date: 2009-02-02 21:19:01 +0200 - - Updated the x86 assembler code: - - Use call/ret pair to get instruction pointer for PIC. - - Use PIC only if PIC or __PIC__ is #defined. - - The code should work on MinGW and Darwin in addition - to GNU/Linux and Solaris. - - configure.ac | 6 ---- - src/liblzma/check/crc32_x86.S | 84 ++++++++++++++++++++++++++++++++++++------- - src/liblzma/check/crc64_x86.S | 82 ++++++++++++++++++++++++++++++++++++------ - 3 files changed, 144 insertions(+), 28 deletions(-) - -commit 22a0c6dd940b78cdac2f4a4b4b0e7cc0ac15021f -Author: Lasse Collin -Date: 2009-02-02 20:14:03 +0200 - - Modify LZMA_API macro so that it works on Windows with - other compilers than MinGW. This may hurt readability - of the API headers slightly, but I don't know any - better way to do this. - - src/liblzma/api/lzma.h | 6 ++--- - src/liblzma/api/lzma/base.h | 11 ++++---- - src/liblzma/api/lzma/block.h | 22 ++++++++-------- - src/liblzma/api/lzma/check.h | 10 ++++---- - src/liblzma/api/lzma/container.h | 22 ++++++++-------- - src/liblzma/api/lzma/filter.h | 28 ++++++++++----------- - src/liblzma/api/lzma/index.h | 40 +++++++++++++++--------------- - src/liblzma/api/lzma/index_hash.h | 10 ++++---- - src/liblzma/api/lzma/lzma.h | 6 ++--- - src/liblzma/api/lzma/stream_flags.h | 10 ++++---- - src/liblzma/api/lzma/version.h | 4 +-- - src/liblzma/api/lzma/vli.h | 6 ++--- - src/liblzma/check/check.c | 4 +-- - src/liblzma/check/crc32_fast.c | 2 +- - src/liblzma/check/crc32_small.c | 2 +- - src/liblzma/check/crc64_fast.c | 2 +- - src/liblzma/check/crc64_small.c | 2 +- - src/liblzma/common/alone_decoder.c | 2 +- - src/liblzma/common/alone_encoder.c | 2 +- - src/liblzma/common/auto_decoder.c | 2 +- - src/liblzma/common/block_buffer_decoder.c | 2 +- - src/liblzma/common/block_buffer_encoder.c | 4 +-- - src/liblzma/common/block_decoder.c | 2 +- - src/liblzma/common/block_encoder.c | 2 +- - src/liblzma/common/block_header_decoder.c | 2 +- - src/liblzma/common/block_header_encoder.c | 4 +-- - src/liblzma/common/block_util.c | 6 ++--- - src/liblzma/common/chunk_size.c | 2 +- - src/liblzma/common/common.c | 16 ++++++------ - src/liblzma/common/common.h | 2 +- - src/liblzma/common/easy.c | 6 ++--- - src/liblzma/common/filter_buffer_decoder.c | 2 +- - src/liblzma/common/filter_buffer_encoder.c | 2 +- - src/liblzma/common/filter_decoder.c | 8 +++--- - src/liblzma/common/filter_encoder.c | 12 ++++----- - src/liblzma/common/filter_flags_decoder.c | 2 +- - src/liblzma/common/filter_flags_encoder.c | 4 +-- - src/liblzma/common/index.c | 32 ++++++++++++------------ - src/liblzma/common/index_decoder.c | 4 +-- - src/liblzma/common/index_encoder.c | 4 +-- - src/liblzma/common/index_hash.c | 10 ++++---- - src/liblzma/common/stream_buffer_decoder.c | 2 +- - src/liblzma/common/stream_buffer_encoder.c | 4 +-- - src/liblzma/common/stream_decoder.c | 2 +- - src/liblzma/common/stream_encoder.c | 2 +- - src/liblzma/common/stream_flags_common.c | 2 +- - src/liblzma/common/stream_flags_decoder.c | 4 +-- - src/liblzma/common/stream_flags_encoder.c | 4 +-- - src/liblzma/common/vli_decoder.c | 2 +- - src/liblzma/common/vli_encoder.c | 2 +- - src/liblzma/common/vli_size.c | 2 +- - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder_presets.c | 2 +- - 54 files changed, 177 insertions(+), 176 deletions(-) - -commit 8dd7b6052e18621e2e6c62f40f762ee88bd3eb65 -Author: Lasse Collin -Date: 2009-02-01 22:40:35 +0200 - - Fix a bug in lzma_block_buffer_decode(), although this - function should be rewritten anyway. - - src/liblzma/common/block_buffer_decoder.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit 55fd41431e61fb8178858283d636b6781e33e847 -Author: Lasse Collin -Date: 2009-02-01 22:39:07 +0200 - - Added initial version of raw buffer-to-buffer coding - functions, and cleaned up filter.h API header a little. - May be very buggy, not tested yet. - - src/liblzma/api/lzma/filter.h | 84 +++++++++++++++++++------- - src/liblzma/common/Makefile.am | 2 + - src/liblzma/common/filter_buffer_decoder.c | 94 ++++++++++++++++++++++++++++++ - src/liblzma/common/filter_buffer_encoder.c | 61 +++++++++++++++++++ - 4 files changed, 221 insertions(+), 20 deletions(-) - -commit 3e54ecee5cad30a5ca361a88a99230407abc0699 -Author: Lasse Collin -Date: 2009-02-01 00:11:20 +0200 - - Fix missing newlines in xzdec.c. - - src/xzdec/xzdec.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit d64ca34f1b6f34e86adefc7f735b4eff8e6d4a35 -Author: Lasse Collin -Date: 2009-02-01 00:10:07 +0200 - - Use __cdecl also for function pointers in liblzma API when - on Windows. - - src/liblzma/api/lzma.h | 18 +++++++++++------- - src/liblzma/api/lzma/base.h | 4 ++-- - src/liblzma/common/common.h | 18 +++++++----------- - 3 files changed, 20 insertions(+), 20 deletions(-) - -commit 6a2eb54092fc625d59921a607ff68cd1a90aa898 -Author: Lasse Collin -Date: 2009-01-31 11:01:48 +0200 - - Add LZMA_API to liblzma API headers. It's useful at least - on Windows. sysdefs.h no longer #includes lzma.h, so lzma.h - has to be #included separately where needed. - - src/common/sysdefs.h | 2 -- - src/liblzma/api/lzma.h | 17 ++++++++++++++ - src/liblzma/api/lzma/base.h | 10 ++++---- - src/liblzma/api/lzma/block.h | 25 +++++++++++--------- - src/liblzma/api/lzma/check.h | 12 ++++++---- - src/liblzma/api/lzma/container.h | 23 +++++++++--------- - src/liblzma/api/lzma/filter.h | 24 +++++++++---------- - src/liblzma/api/lzma/index.h | 47 +++++++++++++++++++++---------------- - src/liblzma/api/lzma/index_hash.h | 11 +++++---- - src/liblzma/api/lzma/lzma.h | 8 ++++--- - src/liblzma/api/lzma/stream_flags.h | 10 ++++---- - src/liblzma/api/lzma/version.h | 4 ++-- - src/liblzma/api/lzma/vli.h | 10 ++++---- - src/liblzma/common/common.h | 13 ++++++++-- - src/xz/private.h | 1 + - src/xzdec/xzdec.c | 1 + - tests/tests.h | 1 + - 17 files changed, 131 insertions(+), 88 deletions(-) - -commit d9993fcb4dfc1f93abaf31ae23b3ef1f3123892b -Author: Lasse Collin -Date: 2009-01-31 10:13:09 +0200 - - Use _WIN32 instead of WIN32 in xzdec.c to test if compiling on Windows. - - src/xzdec/xzdec.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 2dbdc5befb33c3703e4609809101047c67caf343 -Author: Lasse Collin -Date: 2009-01-31 10:02:52 +0200 - - Fix two lines in lzma.h on which the # wasn't at the - beginning of the line. - - src/liblzma/api/lzma.h | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 4ab760109106dc04f39dd81c97d50f528d1b51c1 -Author: Lasse Collin -Date: 2009-01-31 09:55:05 +0200 - - Add support for using liblzma headers in MSVC, which has no - stdint.h or inttypes.h. - - src/liblzma/api/lzma.h | 70 +++++++++++++++++++++++++++++++++----------------- - 1 file changed, 46 insertions(+), 24 deletions(-) - -commit b2172cf823d3be34cb0246cb4cb32d105e2a34c9 -Author: Lasse Collin -Date: 2009-01-31 08:49:54 +0200 - - Fix # -> ## in a macro in lzma.h. - - src/liblzma/api/lzma.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1aae8698746d3c87a93f8398cdde2de9ba1f7208 -Author: Lasse Collin -Date: 2009-01-30 18:50:16 +0200 - - Updated README. - - README | 30 ++++++++++++++++++++---------- - 1 file changed, 20 insertions(+), 10 deletions(-) - -commit f54bcf6f80d585236bc03ce49f7c73e1abaa17eb -Author: Lasse Collin -Date: 2009-01-30 00:29:58 +0200 - - Remove dangling crc64_init.c. - - src/liblzma/check/crc64_init.c | 55 ------------------------------------------ - 1 file changed, 55 deletions(-) - -commit 982da7ed314398420c38bf154a8f759d5f18b480 -Author: Lasse Collin -Date: 2009-01-28 17:16:38 +0200 - - The .xz file format specification version 1.0.0 is now - officially released. The format has been technically the same - since 2008-11-19, but now that it is frozen, people can start - using it without a fear that the format will break. - - doc/file-format.txt | 84 +++++++++++++++++++++++++++++++---------------------- - 1 file changed, 49 insertions(+), 35 deletions(-) - -commit c4683a660b4372156bdaf92f0cdc54a58f95ee6f -Author: Lasse Collin -Date: 2009-01-28 08:45:59 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 3241317093595db9f79104faafe93cb989c9f858 -Author: Lasse Collin -Date: 2009-01-28 08:43:26 +0200 - - Fix uninitialized variables in alone_decoder.c. This bug was - triggered by the previous commit, since these variables were - not used by anything before support for a preset dictionary. - - src/liblzma/common/alone_decoder.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit f76e39cf930f888d460b443d18f977ebedea8b2a -Author: Lasse Collin -Date: 2009-01-27 18:36:05 +0200 - - Added initial support for preset dictionary for raw LZMA1 - and LZMA2. It is not supported by the .xz format or the xz - command line tool yet. - - src/liblzma/lz/lz_decoder.c | 35 +++++++++++++++++++++++++---------- - src/liblzma/lz/lz_decoder.h | 9 ++++++++- - src/liblzma/lz/lz_encoder.c | 18 ++++++++++++++++-- - src/liblzma/lzma/lzma2_decoder.c | 9 ++++++--- - src/liblzma/lzma/lzma2_encoder.c | 12 +++++++----- - src/liblzma/lzma/lzma_decoder.c | 10 ++++++---- - src/liblzma/lzma/lzma_decoder.h | 2 +- - src/liblzma/lzma/lzma_encoder.c | 9 ++++++++- - 8 files changed, 77 insertions(+), 27 deletions(-) - -commit 449b8c832b26c3633f3bec60095e57d2d3ada1f3 -Author: Lasse Collin -Date: 2009-01-26 20:09:17 +0200 - - Regenerate the CRC tables without trailing blanks. - - src/liblzma/check/crc32_table_be.h | 1008 +++++++++++++++++------------------ - src/liblzma/check/crc32_table_le.h | 1008 +++++++++++++++++------------------ - src/liblzma/check/crc64_table_be.h | 1016 ++++++++++++++++++------------------ - src/liblzma/check/crc64_table_le.h | 1016 ++++++++++++++++++------------------ - 4 files changed, 2024 insertions(+), 2024 deletions(-) - -commit 850f7400428dc9c5fd08a2f35a5bd2c9e45aede2 -Author: Jim Meyering -Date: 2009-01-19 21:37:16 +0100 - - remove trailing blanks from all but .xz files - - debug/known_sizes.c | 2 +- - extra/scanlzma/scanlzma.c | 5 ++--- - src/liblzma/check/crc32_tablegen.c | 2 +- - src/liblzma/check/crc64_tablegen.c | 2 +- - src/scripts/lzdiff.1 | 4 ++-- - src/scripts/lzmore.1 | 6 +++--- - tests/test_compress.sh | 4 ++-- - 7 files changed, 12 insertions(+), 13 deletions(-) - -commit 667481f1aad34e1ed15738e7913a9c7e256b4cf5 -Author: Lasse Collin -Date: 2009-01-26 14:34:10 +0200 - - Add lzma_block_buffer_decode(). - - src/liblzma/api/lzma/block.h | 41 +++++++++++++++ - src/liblzma/common/Makefile.am | 1 + - src/liblzma/common/block_buffer_decoder.c | 87 +++++++++++++++++++++++++++++++ - 3 files changed, 129 insertions(+) - -commit 5fb34d8324d3e7e0061df25d0086b64c8726b19d -Author: Lasse Collin -Date: 2009-01-26 14:33:28 +0200 - - Add more sanity checks to lzma_stream_buffer_decode(). - - src/liblzma/common/stream_buffer_decoder.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit c129748675a5daa8838df92bde32cc04f6ce61ba -Author: Lasse Collin -Date: 2009-01-26 14:33:13 +0200 - - Avoid hardcoded constant in easy.c. - - src/liblzma/common/easy.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1859d22d75e072463db74c25bc3f5a7992e5fdf6 -Author: Lasse Collin -Date: 2009-01-26 13:06:49 +0200 - - Tiny bit better sanity check in block_util.c - - src/liblzma/common/block_util.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2c5fe958e4bbe9b147b10c255955dfe2827fb8e7 -Author: Lasse Collin -Date: 2009-01-25 01:35:56 +0200 - - Fix a dumb bug in Block decoder, which made it return - LZMA_DATA_ERROR with valid data. The bug was added in - e114502b2bc371e4a45449832cb69be036360722. - - src/liblzma/common/block_decoder.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit c81f13ff29271de7293f8af3d81848b1dcae3d19 -Author: Lasse Collin -Date: 2009-01-23 22:27:50 +0200 - - Added lzma_stream_buffer_decode() and made minor cleanups. - - src/liblzma/api/lzma/block.h | 3 +- - src/liblzma/api/lzma/container.h | 51 ++++++++++++++++- - src/liblzma/common/Makefile.am | 1 + - src/liblzma/common/stream_buffer_decoder.c | 91 ++++++++++++++++++++++++++++++ - 4 files changed, 144 insertions(+), 2 deletions(-) - -commit 0b3318661ce749550b8531dfd469639a08930391 -Author: Lasse Collin -Date: 2009-01-22 12:53:33 +0200 - - Fix a comment. - - src/liblzma/common/common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9ec80355a7212a0a2f8c89d98e51b1d8b4e34eec -Author: Lasse Collin -Date: 2009-01-20 16:37:27 +0200 - - Add some single-call buffer-to-buffer coding functions. - - src/liblzma/api/lzma/block.h | 57 ++++++ - src/liblzma/api/lzma/container.h | 56 ++++++ - src/liblzma/api/lzma/index.h | 70 ++++++- - src/liblzma/common/Makefile.am | 2 + - src/liblzma/common/block_buffer_encoder.c | 305 +++++++++++++++++++++++++++++ - src/liblzma/common/index_decoder.c | 83 ++++++-- - src/liblzma/common/index_encoder.c | 59 +++++- - src/liblzma/common/stream_buffer_encoder.c | 138 +++++++++++++ - tests/test_index.c | 24 +++ - 9 files changed, 768 insertions(+), 26 deletions(-) - -commit d8b58d099340f8f4007b24b211ee41a7210c061c -Author: Lasse Collin -Date: 2009-01-20 13:45:41 +0200 - - Block encoder cleanups - - src/liblzma/common/block_encoder.c | 28 +++++++--------------------- - src/liblzma/common/block_encoder.h | 25 +++++++++++++++++++++++++ - 2 files changed, 32 insertions(+), 21 deletions(-) - -commit 0c09810cb3635cb575cb54e694d41523e7d0a335 -Author: Lasse Collin -Date: 2009-01-20 10:35:15 +0200 - - Use LZMA_PROG_ERROR in lzma_code() as documented in base.h. - - src/liblzma/common/common.c | 24 ++++++++---------------- - 1 file changed, 8 insertions(+), 16 deletions(-) - -commit 2f1a8e8eb898f6c036cde55d153ad348bfab3c00 -Author: Lasse Collin -Date: 2009-01-19 22:53:18 +0200 - - Fix handling of non-fatal errors in lzma_code(). - - src/liblzma/common/common.c | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -commit 4810b6bc25087be872960b9dd1d11ff07735dc88 -Author: Lasse Collin -Date: 2009-01-19 14:00:33 +0200 - - Move some LZMA2 constants to lzma2_encoder.h so that they - can be used outside lzma2_encoder.c. - - src/liblzma/lzma/lzma2_encoder.c | 13 ------------- - src/liblzma/lzma/lzma2_encoder.h | 14 ++++++++++++++ - src/liblzma/lzma/lzma_encoder.c | 3 ++- - 3 files changed, 16 insertions(+), 14 deletions(-) - -commit 00be5d2e09f9c7a6a8563465ad8b8042866817a4 -Author: Lasse Collin -Date: 2009-01-19 13:52:36 +0200 - - Remove dead code. - - src/liblzma/lzma/lzma_encoder.h | 8 -------- - 1 file changed, 8 deletions(-) - -commit 128586213f77c9bd82b7e9a62927f6d0c3769d85 -Author: Lasse Collin -Date: 2009-01-17 14:24:25 +0200 - - Beta was supposed to be API stable but I had forgot to rename - lzma_memlimit_encoder and lzma_memlimit_decoder to - lzma_raw_encoder_memlimit and lzma_raw_decoder_memlimit. :-( - Now it is fixed. Hopefully it doesn't cause too much trouble - to those who already thought API is stable. - - src/liblzma/api/lzma/filter.h | 4 ++-- - src/liblzma/common/easy.c | 4 ++-- - src/liblzma/common/filter_common.c | 2 +- - src/liblzma/common/filter_common.h | 2 +- - src/liblzma/common/filter_decoder.c | 4 ++-- - src/liblzma/common/filter_encoder.c | 4 ++-- - src/liblzma/common/stream_decoder.c | 2 +- - src/xz/process.c | 6 +++--- - 8 files changed, 14 insertions(+), 14 deletions(-) - -commit b056379490be5c584c264a967f0540041a163a1e -Author: Lasse Collin -Date: 2009-01-15 14:29:22 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit dc8f3be06d54ef6e6cfb5134dd3d25edd08cef89 -Author: Lasse Collin -Date: 2009-01-15 14:27:32 +0200 - - Fixed a bug in 7z2lzma.bash to make it work with .7z files - that use something else than 2^n as the dictionary size. - Thanks to Dan Shechter for the bug report. - - extra/7z2lzma/7z2lzma.bash | 47 +++++++++++++++++++++++----------------------- - 1 file changed, 24 insertions(+), 23 deletions(-) - -commit 8286a60b8f4bd5accfbc9d229d2204bac31994f2 -Author: Lasse Collin -Date: 2009-01-07 18:41:15 +0200 - - Use pthread_sigmask() instead of sigprocmask() when pthreads - are enabled. - - src/common/mythread.h | 6 ++++++ - src/xz/main.c | 4 ++-- - src/xz/private.h | 1 + - 3 files changed, 9 insertions(+), 2 deletions(-) - -commit 4fd43cb3a906f6da2943f69239ee984c4787c9a9 -Author: Lasse Collin -Date: 2008-12-31 20:01:00 +0200 - - Bumped version to 4.999.8beta right after the release - of 4.999.7beta. - - configure.ac | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 061748f5932719643cda73383db715167d543c22 -Author: Lasse Collin -Date: 2008-12-31 18:59:02 +0200 - - Disable Subblock filter from test_compress.sh since it is - disabled by default in configure.ac. - - tests/test_compress.sh | 22 +++++++++++++--------- - 1 file changed, 13 insertions(+), 9 deletions(-) - -commit 9c45658ddc8bd4a7819ef8547d3e7ccf73203e78 -Author: Lasse Collin -Date: 2008-12-31 17:44:20 +0200 - - Disable both Subblock encoder and decoder my default, - since they are not finished and may have security issues too. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit b59f1e98f50694cf6a8f1b342fd878feebdb2f88 -Author: Lasse Collin -Date: 2008-12-31 17:42:50 +0200 - - Update some files in debug directory. - - debug/full_flush.c | 2 -- - debug/memusage.c | 2 -- - debug/sync_flush.c | 2 -- - 3 files changed, 6 deletions(-) - -commit d1d17a40d33a9682424ca37282813492f2cba6d0 -Author: Lasse Collin -Date: 2008-12-31 17:41:46 +0200 - - Prepare for 4.999.7beta release. - - AUTHORS | 4 ++-- - README | 34 +++++++++++++++++----------------- - configure.ac | 4 ++-- - src/liblzma/api/lzma/version.h | 2 +- - 4 files changed, 22 insertions(+), 22 deletions(-) - -commit 88d3e6b0b18e24142b6d3b41dc1b84b00c49fef3 -Author: Lasse Collin -Date: 2008-12-31 17:15:03 +0200 - - Cleaned up some comments in the API headers. - - src/liblzma/api/lzma/check.h | 23 +++++++++++------------ - src/liblzma/api/lzma/container.h | 2 +- - src/liblzma/api/lzma/version.h | 4 +++- - 3 files changed, 15 insertions(+), 14 deletions(-) - -commit 322ecf93c961e45a1da8c4a794a7fdacefcd7f40 -Author: Lasse Collin -Date: 2008-12-31 16:29:39 +0200 - - Renamed lzma_options_simple to lzma_options_bcj in the API. - The internal implementation is still using the name "simple". - It may need some cleanups, so I look at it later. - - src/liblzma/api/Makefile.am | 2 +- - src/liblzma/api/lzma.h | 2 +- - src/liblzma/api/lzma/bcj.h | 94 +++++++++++++++++++++++++++++++++++++ - src/liblzma/api/lzma/simple.h | 94 ------------------------------------- - src/liblzma/simple/simple_coder.c | 2 +- - src/liblzma/simple/simple_decoder.c | 4 +- - src/liblzma/simple/simple_encoder.c | 4 +- - tests/test_filter_flags.c | 8 ++-- - 8 files changed, 105 insertions(+), 105 deletions(-) - -commit 7eea8bec3abfed883efba66264a1452a1c04f6b0 -Author: Lasse Collin -Date: 2008-12-31 00:57:27 +0200 - - Fixed missing quoting in configure.ac. - - configure.ac | 38 +++++++++++++++++++------------------- - 1 file changed, 19 insertions(+), 19 deletions(-) - -commit 28e75f7086dbe9501d926c370375c69dfb1236ce -Author: Lasse Collin -Date: 2008-12-31 00:48:23 +0200 - - Updated src/liblzma/Makefile.am to use liblzma.pc.in, which - should have been in the previous commit. - - src/liblzma/Makefile.am | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 7ed9d943b31d3ee9c5fb2387e84a241ba33afe90 -Author: Lasse Collin -Date: 2008-12-31 00:30:49 +0200 - - Remove lzma_init() and other init functions from liblzma API. - Half of developers were already forgetting to use these - functions, which could have caused total breakage in some future - liblzma version or even now if --enable-small was used. Now - liblzma uses pthread_once() to do the initializations unless - it has been built with --disable-threads which make these - initializations thread-unsafe. - - When --enable-small isn't used, liblzma currently gets needlessly - linked against libpthread (on systems that have it). While it is - stupid for now, liblzma will need threads in future anyway, so - this stupidity will be temporary only. - - When --enable-small is used, different code CRC32 and CRC64 is - now used than without --enable-small. This made the resulting - binary slightly smaller, but the main reason was to clean it up - and to handle the lack of lzma_init_check(). - - The pkg-config file lzma.pc was renamed to liblzma.pc. I'm not - sure if it works correctly and portably for static linking - (Libs.private includes -pthread or other operating system - specific flags). Hopefully someone complains if it is bad. - - lzma_rc_prices[] is now included as a precomputed array even - with --enable-small. It's just 128 bytes now that it uses uint8_t - instead of uint32_t. Smaller array seemed to be at least as fast - as the more bloated uint32_t array on x86; hopefully it's not bad - on other architectures. - - configure.ac | 29 ++++++++-- - src/common/mythread.h | 34 ++++++++++++ - src/liblzma/api/Makefile.am | 1 - - src/liblzma/api/lzma.h | 1 - - src/liblzma/api/lzma/init.h | 85 ----------------------------- - src/liblzma/check/Makefile.am | 29 ++++------ - src/liblzma/check/check.c | 10 ++-- - src/liblzma/check/check.h | 25 ++++----- - src/liblzma/check/check_init.c | 37 ------------- - src/liblzma/check/crc32.c | 88 ------------------------------- - src/liblzma/check/crc32_fast.c | 88 +++++++++++++++++++++++++++++++ - src/liblzma/check/crc32_init.c | 55 ------------------- - src/liblzma/check/crc32_small.c | 54 +++++++++++++++++++ - src/liblzma/check/crc32_tablegen.c | 55 ++++++++++++++++--- - src/liblzma/check/crc64.c | 75 -------------------------- - src/liblzma/check/crc64_fast.c | 75 ++++++++++++++++++++++++++ - src/liblzma/check/crc64_small.c | 54 +++++++++++++++++++ - src/liblzma/check/crc64_tablegen.c | 55 ++++++++++++++++--- - src/liblzma/common/Makefile.am | 3 -- - src/liblzma/common/common.h | 1 + - src/liblzma/common/init.c | 39 -------------- - src/liblzma/common/init_decoder.c | 31 ----------- - src/liblzma/common/init_encoder.c | 40 -------------- - src/liblzma/liblzma.pc.in | 12 +++++ - src/liblzma/lz/lz_encoder.c | 6 +++ - src/liblzma/lzma.pc.in | 11 ---- - src/liblzma/rangecoder/Makefile.am | 8 +-- - src/liblzma/rangecoder/price.h | 16 +----- - src/liblzma/rangecoder/price_table.c | 2 +- - src/liblzma/rangecoder/price_table_init.c | 55 ------------------- - src/liblzma/rangecoder/price_tablegen.c | 51 +++++++++++++++--- - src/xz/Makefile.am | 5 +- - src/xz/main.c | 3 -- - src/xzdec/xzdec.c | 3 -- - tests/test_block_header.c | 1 - - tests/test_check.c | 2 - - tests/test_filter_flags.c | 2 - - tests/test_index.c | 2 - - tests/test_stream_flags.c | 2 - - tests/tests.h | 2 +- - 40 files changed, 519 insertions(+), 628 deletions(-) - -commit 5cda29b5665004fc0f21d0c41d78022a6a559ab2 -Author: Lasse Collin -Date: 2008-12-27 19:40:31 +0200 - - Use 28 MiB as memory usage limit for encoding in test_compress.sh. - - tests/test_compress.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 050eb14d29e2537c014662e83599fd8a77f13c45 -Author: Lasse Collin -Date: 2008-12-27 19:32:20 +0200 - - Revert a change made in 3b34851de1eaf358cf9268922fa0eeed8278d680 - that was related to LZMA_MODE_FAST. The original code is slightly - faster although it compresses slightly worse. But since it is fast - mode, it is better to select the faster version. - - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 23 ++++++++--------------- - 1 file changed, 8 insertions(+), 15 deletions(-) - -commit 4820f10d0f173864f6a2ea7479663b509ac53358 -Author: Lasse Collin -Date: 2008-12-27 19:30:19 +0200 - - Some xz command line tool improvements. - - src/xz/args.c | 23 +++++----- - src/xz/message.c | 4 +- - src/xz/options.c | 2 +- - src/xz/process.c | 133 +++++++++++++++++++++++++++++++++++++++++++------------ - src/xz/process.h | 3 ++ - 5 files changed, 121 insertions(+), 44 deletions(-) - -commit e33194e79d8f5ce07cb4aca909b324ae75098f7e -Author: Lasse Collin -Date: 2008-12-27 19:27:49 +0200 - - Bunch of liblzma tweaks, including some API changes. - The API and ABI should now be very close to stable, - although the code behind it isn't yet. - - src/liblzma/api/lzma.h | 8 ++-- - src/liblzma/api/lzma/block.h | 63 ++++++++++++++++++++++++- - src/liblzma/api/lzma/container.h | 76 +++++++++++++++---------------- - src/liblzma/api/lzma/lzma.h | 41 +++++++++-------- - src/liblzma/common/alone_decoder.c | 36 +++++++-------- - src/liblzma/common/alone_encoder.c | 22 ++++----- - src/liblzma/common/auto_decoder.c | 2 +- - src/liblzma/common/block_decoder.c | 54 +++++++++++----------- - src/liblzma/common/block_decoder.h | 4 +- - src/liblzma/common/block_encoder.c | 37 ++++++++------- - src/liblzma/common/block_encoder.h | 4 +- - src/liblzma/common/block_header_decoder.c | 41 +++++++++-------- - src/liblzma/common/block_header_encoder.c | 51 ++++++++++----------- - src/liblzma/common/block_util.c | 3 +- - src/liblzma/common/easy.c | 45 ++++++------------ - src/liblzma/common/stream_decoder.c | 3 +- - src/liblzma/common/stream_decoder.h | 2 +- - src/liblzma/common/stream_encoder.c | 3 +- - src/liblzma/common/stream_encoder.h | 2 +- - src/liblzma/common/stream_flags_decoder.c | 2 +- - src/liblzma/common/stream_flags_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder.c | 2 +- - src/liblzma/lzma/lzma_encoder_presets.c | 53 +++++++-------------- - 23 files changed, 294 insertions(+), 262 deletions(-) - -commit 4d00652e75dd2736aedc3a3a8baff3dd0ea38074 -Author: Lasse Collin -Date: 2008-12-18 13:42:52 +0200 - - Updated Makefile.am that was missing from the previous commit. - - src/liblzma/common/Makefile.am | 1 - - 1 file changed, 1 deletion(-) - -commit 634636fa56ccee6e744f78b0abed76c8940f2f8f -Author: Lasse Collin -Date: 2008-12-17 21:49:53 +0200 - - Remove the alignment functions for now. Maybe they will - be added back in some form later, but the current version - wasn't modular, so it would need fixing anyway. - - src/liblzma/api/Makefile.am | 1 - - src/liblzma/api/lzma.h | 1 - - src/liblzma/api/lzma/alignment.h | 60 --------------------- - src/liblzma/common/alignment.c | 114 --------------------------------------- - 4 files changed, 176 deletions(-) - -commit 4fed98417d1687f5eccccb42a133fde3ec81216a -Author: Lasse Collin -Date: 2008-12-17 20:11:23 +0200 - - xz message handling improvements - - src/xz/message.c | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++----- - src/xz/message.h | 7 +++- - src/xz/process.c | 28 ++++++++++++- - 3 files changed, 146 insertions(+), 14 deletions(-) - -commit 653e457e3756ef35e5d1b2be3523b3e4b1e9ee4d -Author: Lasse Collin -Date: 2008-12-15 23:26:43 +0200 - - Fix a dumb bug in .lzma decoder which was introduced in - the previous commit. (Probably the previous commit has - other bugs too, it wasn't tested.) - - src/liblzma/common/alone_decoder.c | 29 ++++++++++++++--------------- - 1 file changed, 14 insertions(+), 15 deletions(-) - -commit 671a5adf1e844bfdd6fd327016c3c28694493158 -Author: Lasse Collin -Date: 2008-12-15 19:39:13 +0200 - - Bunch of liblzma API cleanups and fixes. - - src/liblzma/api/lzma.h | 122 +++++++++++---------- - src/liblzma/api/lzma/base.h | 174 ++++++++++++++++++----------- - src/liblzma/api/lzma/block.h | 211 +++++++++++++++++++++++------------- - src/liblzma/api/lzma/check.h | 28 ++--- - src/liblzma/api/lzma/container.h | 155 +++++++++++++------------- - src/liblzma/api/lzma/delta.h | 12 +- - src/liblzma/api/lzma/filter.h | 27 +++-- - src/liblzma/api/lzma/index.h | 97 ++++++++++++++--- - src/liblzma/api/lzma/index_hash.h | 26 +++-- - src/liblzma/api/lzma/init.h | 2 +- - src/liblzma/api/lzma/lzma.h | 12 +- - src/liblzma/api/lzma/simple.h | 4 +- - src/liblzma/api/lzma/stream_flags.h | 46 +++++--- - src/liblzma/api/lzma/version.h | 6 +- - src/liblzma/api/lzma/vli.h | 17 ++- - src/liblzma/common/alone_decoder.c | 47 +++++--- - src/liblzma/common/auto_decoder.c | 29 +++++ - src/liblzma/common/block_util.c | 52 +++++---- - src/liblzma/common/common.c | 58 ++++++++++ - src/liblzma/common/common.h | 9 +- - src/liblzma/common/easy.c | 33 ++++-- - src/liblzma/common/filter_common.c | 2 +- - src/liblzma/common/index.c | 11 ++ - src/liblzma/common/index_decoder.c | 46 ++++++-- - src/liblzma/common/stream_decoder.c | 47 ++++++-- - src/liblzma/lzma/lzma2_encoder.c | 6 +- - tests/test_index.c | 10 +- - 27 files changed, 863 insertions(+), 426 deletions(-) - -commit 17781c2c20fd77029cb32e77792889f2f211d69d -Author: Lasse Collin -Date: 2008-12-15 14:26:52 +0200 - - The LZMA2 decoder fix introduced a bug to LZ decoder, - which made LZ decoder return too early after dictionary - reset. This fixes it. - - src/liblzma/lz/lz_decoder.c | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) - -commit f9f2d1e74398500724041f7fb3c38db35ad8c8d8 -Author: Lasse Collin -Date: 2008-12-15 11:20:22 +0200 - - Added two new test files. - - tests/files/README | 7 +++++++ - tests/files/bad-1-lzma2-8.xz | Bin 0 -> 464 bytes - tests/files/good-1-lzma2-4.xz | Bin 0 -> 464 bytes - 3 files changed, 7 insertions(+) - -commit ff7fb2c605bccc411069e07b9f11fb957aea2ddf -Author: Lasse Collin -Date: 2008-12-15 10:01:59 +0200 - - Fix data corruption in LZMA2 decoder. - - src/liblzma/lz/lz_decoder.c | 17 ++++++++++++++++- - src/liblzma/lz/lz_decoder.h | 8 +++++--- - src/liblzma/lzma/lzma2_decoder.c | 15 +++++++++++---- - 3 files changed, 32 insertions(+), 8 deletions(-) - -commit 1ceebcf7e1bd30b95125f0ad67a09fdb6215d613 -Author: Lasse Collin -Date: 2008-12-13 00:54:11 +0200 - - Name the package "xz" in configure.ac. - - configure.ac | 11 ++++------- - 1 file changed, 4 insertions(+), 7 deletions(-) - -commit a94bf00d0af9b423851905b031be5a645a657820 -Author: Lasse Collin -Date: 2008-12-12 22:43:21 +0200 - - Some adjustments to GCC warning flags. The important change - is the removal of -pedantic. It messes up -Werror (which I - really want to keep so that I don't miss any warnings) with - printf format strings that are in POSIX but not in C99. - - configure.ac | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - -commit 8582d392baacd2cdac07ca60041f8c661323676d -Author: Lasse Collin -Date: 2008-12-10 01:31:00 +0200 - - Remove obsolete comment. - - src/xz/message.c | 1 - - 1 file changed, 1 deletion(-) - -commit b1ae6dd731ea3636c3c2bfc7aefa71457d3328f1 -Author: Lasse Collin -Date: 2008-12-10 01:27:15 +0200 - - Use "decompression" consistently in --long-help. - - src/xz/message.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1ea9e7f15afd5d3981e2432710e932320597bca9 -Author: Lasse Collin -Date: 2008-12-10 01:23:58 +0200 - - Added preset=NUM to --lzma1 and --lzma2. This makes it easy - to take a preset as a template and modify it a little. - - src/xz/message.c | 1 + - src/xz/options.c | 8 ++++++++ - 2 files changed, 9 insertions(+) - -commit bceb3918dbb21f34976bfdd4c171a81319de71f7 -Author: Lasse Collin -Date: 2008-12-09 17:43:31 +0200 - - Put the file format specification into the public domain. - Same will be done to the actual code later. - - doc/file-format.txt | 24 +++++++++--------------- - 1 file changed, 9 insertions(+), 15 deletions(-) - -commit 6efa2d80d46a38861016f41f0eb6fa2ec9260fe6 -Author: Lasse Collin -Date: 2008-12-09 17:41:49 +0200 - - Make the memusage functions of LZMA1 and LZMA2 encoders - to validate the filter options. Add missing validation - to LZMA2 encoder when options are changed in the middle - of encoding. - - src/liblzma/lzma/lzma2_encoder.c | 5 ++++- - src/liblzma/lzma/lzma_encoder.c | 44 +++++++++++++++++++++++++++------------- - src/liblzma/lzma/lzma_encoder.h | 2 +- - 3 files changed, 35 insertions(+), 16 deletions(-) - -commit f20a03206b71ff01b827bb7a932411d6a6a4e06a -Author: Lasse Collin -Date: 2008-12-09 10:36:24 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit ef7890d56453dca1aeb2e12db29b7e418d93dde4 -Author: Lasse Collin -Date: 2008-12-01 23:04:12 +0200 - - In command line tool, take advantage of memusage calculation's - ability to also validate the filter chain and options (not - implemented yet for all filters). - - src/xz/process.c | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) - -commit ccd57afa09e332d664d6d6a7498702791ea5f659 -Author: Lasse Collin -Date: 2008-12-01 22:59:28 +0200 - - Validate the filter chain before checking filter-specific - memory usage. - - src/liblzma/common/filter_common.c | 14 ++++++++++---- - 1 file changed, 10 insertions(+), 4 deletions(-) - -commit c596fda40b62fe1683d0ac34d0c673dcaae2aa15 -Author: Lasse Collin -Date: 2008-12-01 22:58:22 +0200 - - Make the memusage functions of LZMA1 and LZMA2 decoders - to validate the filter options. - - src/liblzma/lzma/lzma2_decoder.c | 7 ++----- - src/liblzma/lzma/lzma_decoder.c | 14 ++++++++++---- - src/liblzma/lzma/lzma_decoder.h | 5 +++++ - 3 files changed, 17 insertions(+), 9 deletions(-) - -commit c58f469be5bb9b0bdab825c6687445fd553f4f3a -Author: Lasse Collin -Date: 2008-12-01 22:55:18 +0200 - - Added the changes for Delta filter that should have been - part of 656ec87882ee74b192c4ea4a233a235eca7b04d4. - - src/liblzma/common/filter_decoder.c | 2 +- - src/liblzma/common/filter_encoder.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit cd708015202dbf7585b84a8781462a20c42a324b -Author: Lasse Collin -Date: 2008-12-01 22:50:28 +0200 - - LZMA2 decoder cleanups. Make it require new LZMA properties - also in the first LZMA chunk after a dictionary reset in - uncompressed chunk. - - src/liblzma/lzma/lzma2_decoder.c | 95 +++++++++++++++++----------------------- - 1 file changed, 41 insertions(+), 54 deletions(-) - -commit 656ec87882ee74b192c4ea4a233a235eca7b04d4 -Author: Lasse Collin -Date: 2008-12-01 16:30:11 +0200 - - Added lzma_delta_coder_memusage() which also validates - the options. - - src/liblzma/delta/Makefile.am | 3 ++- - src/liblzma/delta/delta_common.c | 28 ++++++++++++++++++------- - src/liblzma/delta/delta_common.h | 19 +---------------- - src/liblzma/delta/delta_decoder.c | 2 +- - src/liblzma/delta/delta_decoder.h | 2 +- - src/liblzma/delta/delta_encoder.c | 14 ++++--------- - src/liblzma/delta/delta_encoder.h | 2 +- - src/liblzma/delta/delta_private.h | 44 +++++++++++++++++++++++++++++++++++++++ - 8 files changed, 75 insertions(+), 39 deletions(-) - -commit 691a9155b7a28882baf37e9d1e969e32e91dbc7a -Author: Lasse Collin -Date: 2008-11-29 10:03:49 +0200 - - Automake includes the m4 directory, so don't add it in - Makefile.am separately. - - Updated THANKS. - - Makefile.am | 1 - - THANKS | 1 + - 2 files changed, 1 insertion(+), 1 deletion(-) - -commit c7007ddf06ac2b0e018d71d281c21b99f16e7ae0 -Author: Lasse Collin -Date: 2008-11-28 12:00:48 +0200 - - Tested using COLUMNS environment variable to avoid broken - progress indicator but since COLUMNS isn't usually available, - the code was left commented out. - - src/xz/message.c | 14 +++++++++----- - 1 file changed, 9 insertions(+), 5 deletions(-) - -commit ae65dcfde27014e4d811e1a1308aa5d0fe8debbd -Author: Lasse Collin -Date: 2008-11-27 19:28:59 +0200 - - Cleanups to message.c. - - src/xz/message.c | 47 ++++++++++++++++++----------------------------- - 1 file changed, 18 insertions(+), 29 deletions(-) - -commit a8368b75cdcd5427299001cc42839287f27b244d -Author: Lasse Collin -Date: 2008-11-25 02:37:47 +0200 - - Remove the nowadays unneeded memory limitting malloc() wrapper. - - src/liblzma/api/Makefile.am | 1 - - src/liblzma/api/lzma.h | 1 - - src/liblzma/api/lzma/memlimit.h | 207 -------------------------- - src/liblzma/common/Makefile.am | 1 - - src/liblzma/common/memory_limiter.c | 288 ------------------------------------ - tests/Makefile.am | 2 - - tests/test_memlimit.c | 114 -------------- - 7 files changed, 614 deletions(-) - -commit 69472ee5f055a2bb6f28106f0923e1461fd1d080 -Author: Lasse Collin -Date: 2008-11-23 15:09:03 +0200 - - VLI encoder and decoder cleanups. Made encoder return - LZMA_PROG_ERROR in single-call mode if there's no output - space. - - src/liblzma/common/vli_decoder.c | 15 +++++++++------ - src/liblzma/common/vli_encoder.c | 31 ++++++++++++++++++++++++------- - 2 files changed, 33 insertions(+), 13 deletions(-) - -commit 4249c8c15a08f55b51b7012e6aaafce3aa9eb650 -Author: Lasse Collin -Date: 2008-11-22 17:44:33 +0200 - - Typo fix - - src/xz/process.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 6d1d6f4598d121253dbe1084c6866b66e95c361b -Author: Lasse Collin -Date: 2008-11-20 22:59:10 +0200 - - Support NetBSD's errno for O_NOFOLLOW. - - src/xz/io.c | 8 ++++++++ - 1 file changed, 8 insertions(+) - -commit f901a290eef67b8ea4720ccdf5f46edf775ed9d7 -Author: Lasse Collin -Date: 2008-11-20 18:05:52 +0200 - - Build xzdec and lzmadec from xzdec.c. xzdec supports only .xz - files and lzmadec only .lzma files. - - src/xzdec/Makefile.am | 7 +- - src/xzdec/xzdec.c | 311 ++++++++++++++++++++++---------------------------- - 2 files changed, 140 insertions(+), 178 deletions(-) - -commit 86a0ed8f01c8ed44721223f885e679c71b7bb94c -Author: Lasse Collin -Date: 2008-11-20 11:01:29 +0200 - - Minor cleanups to xzdec. - - src/xzdec/xzdec.c | 20 ++++++++++---------- - 1 file changed, 10 insertions(+), 10 deletions(-) - -commit 54f716ba8905d09752dcd1519455a40bd21d5317 -Author: Lasse Collin -Date: 2008-11-19 23:55:22 +0200 - - Added missing check for uint16_t. - - configure.ac | 1 + - 1 file changed, 1 insertion(+) - -commit 1880a3927b23f265f63b2adb86fbdb81ea09eb06 -Author: Lasse Collin -Date: 2008-11-19 23:52:24 +0200 - - Renamed lzma to xz and lzmadec to xzdec. We create symlinks - lzma, unlzma, and lzcat in "make install" for backwards - compatibility with LZMA Utils 4.32.x; I'm not sure if this - should be the default though. - - configure.ac | 4 +- - po/POTFILES.in | 21 +- - src/Makefile.am | 2 +- - src/lzma/Makefile.am | 72 ---- - src/lzma/args.c | 500 --------------------------- - src/lzma/args.h | 56 --- - src/lzma/hardware.c | 122 ------- - src/lzma/hardware.h | 45 --- - src/lzma/io.c | 658 ----------------------------------- - src/lzma/io.h | 97 ------ - src/lzma/list.c | 477 -------------------------- - src/lzma/main.c | 402 ---------------------- - src/lzma/main.h | 60 ---- - src/lzma/message.c | 892 ------------------------------------------------ - src/lzma/message.h | 132 ------- - src/lzma/options.c | 352 ------------------- - src/lzma/options.h | 46 --- - src/lzma/private.h | 52 --- - src/lzma/process.c | 391 --------------------- - src/lzma/process.h | 70 ---- - src/lzma/suffix.c | 213 ------------ - src/lzma/suffix.h | 40 --- - src/lzma/util.c | 199 ----------- - src/lzma/util.h | 71 ---- - src/lzmadec/Makefile.am | 29 -- - src/lzmadec/lzmadec.c | 492 -------------------------- - src/xz/Makefile.am | 74 ++++ - src/xz/args.c | 500 +++++++++++++++++++++++++++ - src/xz/args.h | 56 +++ - src/xz/hardware.c | 122 +++++++ - src/xz/hardware.h | 45 +++ - src/xz/io.c | 658 +++++++++++++++++++++++++++++++++++ - src/xz/io.h | 97 ++++++ - src/xz/list.c | 477 ++++++++++++++++++++++++++ - src/xz/main.c | 402 ++++++++++++++++++++++ - src/xz/main.h | 60 ++++ - src/xz/message.c | 892 ++++++++++++++++++++++++++++++++++++++++++++++++ - src/xz/message.h | 132 +++++++ - src/xz/options.c | 352 +++++++++++++++++++ - src/xz/options.h | 46 +++ - src/xz/private.h | 52 +++ - src/xz/process.c | 391 +++++++++++++++++++++ - src/xz/process.h | 70 ++++ - src/xz/suffix.c | 213 ++++++++++++ - src/xz/suffix.h | 40 +++ - src/xz/util.c | 199 +++++++++++ - src/xz/util.h | 71 ++++ - src/xzdec/Makefile.am | 29 ++ - src/xzdec/xzdec.c | 492 ++++++++++++++++++++++++++ - tests/test_compress.sh | 29 +- - tests/test_files.sh | 4 +- - 51 files changed, 5498 insertions(+), 5500 deletions(-) - -commit e114502b2bc371e4a45449832cb69be036360722 -Author: Lasse Collin -Date: 2008-11-19 20:46:52 +0200 - - Oh well, big messy commit again. Some highlights: - - Updated to the latest, probably final file format version. - - Command line tool reworked to not use threads anymore. - Threading will probably go into liblzma anyway. - - Memory usage limit is now about 30 % for uncompression - and about 90 % for compression. - - Progress indicator with --verbose - - Simplified --help and full --long-help - - Upgraded to the last LGPLv2.1+ getopt_long from gnulib. - - Some bug fixes - - THANKS | 1 + - configure.ac | 48 +- - debug/full_flush.c | 6 +- - debug/known_sizes.c | 2 +- - debug/memusage.c | 2 +- - debug/sync_flush.c | 10 +- - doc/file-format.txt | 260 ++++---- - lib/Makefile.am | 10 +- - lib/getopt.c | 14 +- - lib/getopt.in.h | 226 +++++++ - lib/getopt1.c | 8 +- - lib/getopt_.h | 226 ------- - lib/gettext.h | 240 ------- - m4/getopt.m4 | 64 +- - src/common/bswap.h | 15 +- - src/common/physmem.h | 4 + - src/common/sysdefs.h | 12 +- - src/liblzma/api/lzma/block.h | 47 +- - src/liblzma/api/lzma/filter.h | 8 + - src/liblzma/api/lzma/index.h | 20 +- - src/liblzma/api/lzma/index_hash.h | 4 +- - src/liblzma/common/block_decoder.c | 59 +- - src/liblzma/common/block_encoder.c | 41 +- - src/liblzma/common/block_header_decoder.c | 31 +- - src/liblzma/common/block_header_encoder.c | 69 +-- - src/liblzma/common/block_util.c | 45 +- - src/liblzma/common/common.h | 8 - - src/liblzma/common/filter_common.c | 4 +- - src/liblzma/common/index.c | 259 ++++---- - src/liblzma/common/index.h | 33 +- - src/liblzma/common/index_decoder.c | 31 +- - src/liblzma/common/index_encoder.c | 16 +- - src/liblzma/common/index_hash.c | 68 +- - src/liblzma/common/stream_decoder.c | 9 +- - src/liblzma/common/stream_encoder.c | 6 +- - src/liblzma/lz/lz_decoder.h | 4 +- - src/liblzma/subblock/subblock_decoder.c | 3 +- - src/lzma/Makefile.am | 9 +- - src/lzma/alloc.c | 106 ---- - src/lzma/alloc.h | 42 -- - src/lzma/args.c | 531 +++++++--------- - src/lzma/args.h | 42 +- - src/lzma/error.c | 162 ----- - src/lzma/error.h | 67 -- - src/lzma/hardware.c | 75 ++- - src/lzma/hardware.h | 16 +- - src/lzma/help.c | 170 ----- - src/lzma/help.h | 32 - - src/lzma/io.c | 757 +++++++++++------------ - src/lzma/io.h | 51 +- - src/lzma/main.c | 392 ++++++++---- - src/lzma/main.h | 60 ++ - src/lzma/message.c | 892 +++++++++++++++++++++++++++ - src/lzma/message.h | 132 ++++ - src/lzma/options.c | 42 +- - src/lzma/options.h | 6 +- - src/lzma/private.h | 28 +- - src/lzma/process.c | 525 ++++++++-------- - src/lzma/process.h | 40 ++ - src/lzma/suffix.c | 52 +- - src/lzma/suffix.h | 17 +- - src/lzma/util.c | 100 +-- - src/lzma/util.h | 43 +- - src/lzmadec/lzmadec.c | 36 +- - tests/files/README | 12 +- - tests/files/bad-1-block_header-1.xz | Bin 64 -> 64 bytes - tests/files/bad-1-block_header-2.xz | Bin 64 -> 64 bytes - tests/files/bad-1-block_header-3.xz | Bin 68 -> 68 bytes - tests/files/bad-1-block_header-4.xz | Bin 72 -> 76 bytes - tests/files/bad-1-block_header-5.xz | Bin 0 -> 72 bytes - tests/files/bad-1-check-crc32.xz | Bin 68 -> 68 bytes - tests/files/bad-1-check-crc64.xz | Bin 72 -> 72 bytes - tests/files/bad-1-check-sha256.xz | Bin 96 -> 96 bytes - tests/files/bad-1-lzma2-1.xz | Bin 64 -> 64 bytes - tests/files/bad-1-lzma2-2.xz | Bin 424 -> 424 bytes - tests/files/bad-1-lzma2-3.xz | Bin 424 -> 424 bytes - tests/files/bad-1-lzma2-4.xz | Bin 408 -> 408 bytes - tests/files/bad-1-lzma2-5.xz | Bin 408 -> 408 bytes - tests/files/bad-1-lzma2-6.xz | Bin 68 -> 68 bytes - tests/files/bad-1-lzma2-7.xz | Bin 408 -> 408 bytes - tests/files/bad-1-stream_flags-1.xz | Bin 68 -> 68 bytes - tests/files/bad-1-stream_flags-2.xz | Bin 68 -> 68 bytes - tests/files/bad-1-stream_flags-3.xz | Bin 68 -> 68 bytes - tests/files/bad-1-vli-1.xz | Bin 72 -> 72 bytes - tests/files/bad-1-vli-2.xz | Bin 72 -> 76 bytes - tests/files/bad-2-compressed_data_padding.xz | Bin 92 -> 92 bytes - tests/files/bad-2-index-1.xz | Bin 92 -> 92 bytes - tests/files/bad-2-index-2.xz | Bin 92 -> 92 bytes - tests/files/bad-2-index-3.xz | Bin 92 -> 92 bytes - tests/files/bad-2-index-4.xz | Bin 92 -> 92 bytes - tests/files/bad-2-index-5.xz | Bin 0 -> 92 bytes - tests/files/good-1-3delta-lzma2.xz | Bin 528 -> 528 bytes - tests/files/good-1-block_header-1.xz | Bin 72 -> 72 bytes - tests/files/good-1-block_header-2.xz | Bin 68 -> 68 bytes - tests/files/good-1-block_header-3.xz | Bin 68 -> 68 bytes - tests/files/good-1-check-crc32.xz | Bin 68 -> 68 bytes - tests/files/good-1-check-crc64.xz | Bin 72 -> 72 bytes - tests/files/good-1-check-none.xz | Bin 64 -> 64 bytes - tests/files/good-1-check-sha256.xz | Bin 96 -> 96 bytes - tests/files/good-1-delta-lzma2.tiff.xz | Bin 51312 -> 51316 bytes - tests/files/good-1-lzma2-1.xz | Bin 424 -> 424 bytes - tests/files/good-1-lzma2-2.xz | Bin 424 -> 424 bytes - tests/files/good-1-lzma2-3.xz | Bin 408 -> 408 bytes - tests/files/good-1-sparc-lzma2.xz | Bin 2292 -> 2296 bytes - tests/files/good-1-x86-lzma2.xz | Bin 1936 -> 1936 bytes - tests/files/good-2-lzma2.xz | Bin 92 -> 92 bytes - tests/files/unsupported-block_header.xz | Bin 68 -> 68 bytes - tests/files/unsupported-check.xz | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-1.xz | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-2.xz | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-3.xz | Bin 68 -> 68 bytes - tests/test_block_header.c | 16 +- - tests/test_index.c | 42 +- - 113 files changed, 3462 insertions(+), 2946 deletions(-) - -commit 3c3905b53462ae235c9438d86a4dc51086410932 -Author: Lasse Collin -Date: 2008-10-09 11:12:29 +0300 - - Fixed the test that should have been fixed as part - of 1e8e4fd1f3e50129b4541406ad765d2aa1233943. - - tests/test_block_header.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0f295bf7a3ece01f667caae318cc3e3424085886 -Author: Lasse Collin -Date: 2008-10-07 16:42:18 +0300 - - Fixed some help messages. - - src/lzma/help.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 1e8e4fd1f3e50129b4541406ad765d2aa1233943 -Author: Lasse Collin -Date: 2008-10-07 09:40:31 +0300 - - Made the preset numbering more logical in liblzma API. - - src/liblzma/api/lzma/container.h | 20 ++++++++++---------- - src/liblzma/api/lzma/lzma.h | 2 +- - src/liblzma/lzma/lzma_encoder_presets.c | 3 ++- - src/lzma/args.c | 8 ++++---- - src/lzma/args.h | 2 +- - 5 files changed, 18 insertions(+), 17 deletions(-) - -commit 5e4df4c3c09c82bbbb1a916784e3dc717ca4ff81 -Author: Lasse Collin -Date: 2008-10-03 19:36:09 +0300 - - Removed fi from po/LINGUAS. - - po/LINGUAS | 1 - - 1 file changed, 1 deletion(-) - -commit fcfb86c7770328cfffa2e83b176af9a1ba2d9128 -Author: Lasse Collin -Date: 2008-10-03 07:06:48 +0300 - - Fixed suffix handling with --format=raw. - - src/lzma/suffix.c | 28 +++++++++++++++++++--------- - 1 file changed, 19 insertions(+), 9 deletions(-) - -commit bd137524f2f50e30ba054f42f1f6536cd3cee920 -Author: Lasse Collin -Date: 2008-10-02 22:51:46 +0300 - - Initial changes to change the suffix of the new format to .xz. - This also fixes a bug related to --suffix option. Some issues - with suffixes with --format=raw were not fixed. - - src/lzma/args.c | 67 +++++++++++++++++++++++++++++++-------------- - src/lzma/args.h | 13 +++++---- - src/lzma/help.c | 4 +-- - src/lzma/process.c | 24 +++++++++------- - src/lzma/suffix.c | 74 +++++++++++++++++++++++++++++++++++++++++--------- - tests/test_compress.sh | 3 +- - 6 files changed, 133 insertions(+), 52 deletions(-) - -commit 4c321a41c482821aa3c4d64cdf886a6ed904d844 -Author: Lasse Collin -Date: 2008-09-30 17:43:55 +0300 - - Renamed the test files from .lzma suffix to .xz suffix. - - tests/files/README | 128 ++++++++++++------------- - tests/files/bad-0-backward_size.lzma | Bin 32 -> 0 bytes - tests/files/bad-0-backward_size.xz | Bin 0 -> 32 bytes - tests/files/bad-0-empty-truncated.lzma | Bin 31 -> 0 bytes - tests/files/bad-0-empty-truncated.xz | Bin 0 -> 31 bytes - tests/files/bad-0-footer_magic.lzma | Bin 32 -> 0 bytes - tests/files/bad-0-footer_magic.xz | Bin 0 -> 32 bytes - tests/files/bad-0-header_magic.lzma | Bin 32 -> 0 bytes - tests/files/bad-0-header_magic.xz | Bin 0 -> 32 bytes - tests/files/bad-0-nonempty_index.lzma | Bin 32 -> 0 bytes - tests/files/bad-0-nonempty_index.xz | Bin 0 -> 32 bytes - tests/files/bad-0cat-alone.lzma | Bin 55 -> 0 bytes - tests/files/bad-0cat-alone.xz | Bin 0 -> 55 bytes - tests/files/bad-0cat-header_magic.lzma | Bin 64 -> 0 bytes - tests/files/bad-0cat-header_magic.xz | Bin 0 -> 64 bytes - tests/files/bad-0catpad-empty.lzma | Bin 69 -> 0 bytes - tests/files/bad-0catpad-empty.xz | Bin 0 -> 69 bytes - tests/files/bad-0pad-empty.lzma | Bin 37 -> 0 bytes - tests/files/bad-0pad-empty.xz | Bin 0 -> 37 bytes - tests/files/bad-1-block_header-1.lzma | Bin 64 -> 0 bytes - tests/files/bad-1-block_header-1.xz | Bin 0 -> 64 bytes - tests/files/bad-1-block_header-2.lzma | Bin 64 -> 0 bytes - tests/files/bad-1-block_header-2.xz | Bin 0 -> 64 bytes - tests/files/bad-1-block_header-3.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-block_header-3.xz | Bin 0 -> 68 bytes - tests/files/bad-1-block_header-4.lzma | Bin 72 -> 0 bytes - tests/files/bad-1-block_header-4.xz | Bin 0 -> 72 bytes - tests/files/bad-1-check-crc32.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-check-crc32.xz | Bin 0 -> 68 bytes - tests/files/bad-1-check-crc64.lzma | Bin 72 -> 0 bytes - tests/files/bad-1-check-crc64.xz | Bin 0 -> 72 bytes - tests/files/bad-1-check-sha256.lzma | Bin 96 -> 0 bytes - tests/files/bad-1-check-sha256.xz | Bin 0 -> 96 bytes - tests/files/bad-1-lzma2-1.lzma | Bin 64 -> 0 bytes - tests/files/bad-1-lzma2-1.xz | Bin 0 -> 64 bytes - tests/files/bad-1-lzma2-2.lzma | Bin 424 -> 0 bytes - tests/files/bad-1-lzma2-2.xz | Bin 0 -> 424 bytes - tests/files/bad-1-lzma2-3.lzma | Bin 424 -> 0 bytes - tests/files/bad-1-lzma2-3.xz | Bin 0 -> 424 bytes - tests/files/bad-1-lzma2-4.lzma | Bin 408 -> 0 bytes - tests/files/bad-1-lzma2-4.xz | Bin 0 -> 408 bytes - tests/files/bad-1-lzma2-5.lzma | Bin 408 -> 0 bytes - tests/files/bad-1-lzma2-5.xz | Bin 0 -> 408 bytes - tests/files/bad-1-lzma2-6.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-lzma2-6.xz | Bin 0 -> 68 bytes - tests/files/bad-1-lzma2-7.lzma | Bin 408 -> 0 bytes - tests/files/bad-1-lzma2-7.xz | Bin 0 -> 408 bytes - tests/files/bad-1-stream_flags-1.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-stream_flags-1.xz | Bin 0 -> 68 bytes - tests/files/bad-1-stream_flags-2.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-stream_flags-2.xz | Bin 0 -> 68 bytes - tests/files/bad-1-stream_flags-3.lzma | Bin 68 -> 0 bytes - tests/files/bad-1-stream_flags-3.xz | Bin 0 -> 68 bytes - tests/files/bad-1-vli-1.lzma | Bin 72 -> 0 bytes - tests/files/bad-1-vli-1.xz | Bin 0 -> 72 bytes - tests/files/bad-1-vli-2.lzma | Bin 72 -> 0 bytes - tests/files/bad-1-vli-2.xz | Bin 0 -> 72 bytes - tests/files/bad-2-compressed_data_padding.lzma | Bin 92 -> 0 bytes - tests/files/bad-2-compressed_data_padding.xz | Bin 0 -> 92 bytes - tests/files/bad-2-index-1.lzma | Bin 92 -> 0 bytes - tests/files/bad-2-index-1.xz | Bin 0 -> 92 bytes - tests/files/bad-2-index-2.lzma | Bin 92 -> 0 bytes - tests/files/bad-2-index-2.xz | Bin 0 -> 92 bytes - tests/files/bad-2-index-3.lzma | Bin 92 -> 0 bytes - tests/files/bad-2-index-3.xz | Bin 0 -> 92 bytes - tests/files/bad-2-index-4.lzma | Bin 92 -> 0 bytes - tests/files/bad-2-index-4.xz | Bin 0 -> 92 bytes - tests/files/good-0-empty.lzma | Bin 32 -> 0 bytes - tests/files/good-0-empty.xz | Bin 0 -> 32 bytes - tests/files/good-0cat-empty.lzma | Bin 64 -> 0 bytes - tests/files/good-0cat-empty.xz | Bin 0 -> 64 bytes - tests/files/good-0catpad-empty.lzma | Bin 68 -> 0 bytes - tests/files/good-0catpad-empty.xz | Bin 0 -> 68 bytes - tests/files/good-0pad-empty.lzma | Bin 36 -> 0 bytes - tests/files/good-0pad-empty.xz | Bin 0 -> 36 bytes - tests/files/good-1-3delta-lzma2.lzma | Bin 528 -> 0 bytes - tests/files/good-1-3delta-lzma2.xz | Bin 0 -> 528 bytes - tests/files/good-1-block_header-1.lzma | Bin 72 -> 0 bytes - tests/files/good-1-block_header-1.xz | Bin 0 -> 72 bytes - tests/files/good-1-block_header-2.lzma | Bin 68 -> 0 bytes - tests/files/good-1-block_header-2.xz | Bin 0 -> 68 bytes - tests/files/good-1-block_header-3.lzma | Bin 68 -> 0 bytes - tests/files/good-1-block_header-3.xz | Bin 0 -> 68 bytes - tests/files/good-1-check-crc32.lzma | Bin 68 -> 0 bytes - tests/files/good-1-check-crc32.xz | Bin 0 -> 68 bytes - tests/files/good-1-check-crc64.lzma | Bin 72 -> 0 bytes - tests/files/good-1-check-crc64.xz | Bin 0 -> 72 bytes - tests/files/good-1-check-none.lzma | Bin 64 -> 0 bytes - tests/files/good-1-check-none.xz | Bin 0 -> 64 bytes - tests/files/good-1-check-sha256.lzma | Bin 96 -> 0 bytes - tests/files/good-1-check-sha256.xz | Bin 0 -> 96 bytes - tests/files/good-1-delta-lzma2.tiff.lzma | Bin 51312 -> 0 bytes - tests/files/good-1-delta-lzma2.tiff.xz | Bin 0 -> 51312 bytes - tests/files/good-1-lzma2-1.lzma | Bin 424 -> 0 bytes - tests/files/good-1-lzma2-1.xz | Bin 0 -> 424 bytes - tests/files/good-1-lzma2-2.lzma | Bin 424 -> 0 bytes - tests/files/good-1-lzma2-2.xz | Bin 0 -> 424 bytes - tests/files/good-1-lzma2-3.lzma | Bin 408 -> 0 bytes - tests/files/good-1-lzma2-3.xz | Bin 0 -> 408 bytes - tests/files/good-1-sparc-lzma2.lzma | Bin 2292 -> 0 bytes - tests/files/good-1-sparc-lzma2.xz | Bin 0 -> 2292 bytes - tests/files/good-1-x86-lzma2.lzma | Bin 1936 -> 0 bytes - tests/files/good-1-x86-lzma2.xz | Bin 0 -> 1936 bytes - tests/files/good-2-lzma2.lzma | Bin 92 -> 0 bytes - tests/files/good-2-lzma2.xz | Bin 0 -> 92 bytes - tests/files/unsupported-block_header.lzma | Bin 68 -> 0 bytes - tests/files/unsupported-block_header.xz | Bin 0 -> 68 bytes - tests/files/unsupported-check.lzma | Bin 68 -> 0 bytes - tests/files/unsupported-check.xz | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-1.lzma | Bin 68 -> 0 bytes - tests/files/unsupported-filter_flags-1.xz | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-2.lzma | Bin 68 -> 0 bytes - tests/files/unsupported-filter_flags-2.xz | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-3.lzma | Bin 68 -> 0 bytes - tests/files/unsupported-filter_flags-3.xz | Bin 0 -> 68 bytes - tests/test_files.sh | 6 +- - 116 files changed, 66 insertions(+), 68 deletions(-) - -commit 8e60c889a2816a63013a35c99ce26bf28f5b78eb -Author: Lasse Collin -Date: 2008-09-30 13:57:44 +0300 - - Fixed Stream decoder to actually use the first_stream variable. - - src/liblzma/common/stream_decoder.c | 5 +++++ - 1 file changed, 5 insertions(+) - -commit 3bdbc12c054d1961133ee19802af7dd3c3494543 -Author: Lasse Collin -Date: 2008-09-30 13:56:57 +0300 - - Added one more test file. - - tests/files/README | 15 +++++++++++---- - tests/files/bad-0cat-header_magic.lzma | Bin 0 -> 64 bytes - 2 files changed, 11 insertions(+), 4 deletions(-) - -commit a6639022fdc536e5659b070a465221b4cf7c51fa -Author: Lasse Collin -Date: 2008-09-30 13:34:07 +0300 - - Fixed uninitialized variable in Stream decoder. - - src/liblzma/common/stream_decoder.c | 1 + - 1 file changed, 1 insertion(+) - -commit ed3709000a3f17ecefab29b2235d7e2221b00003 -Author: Lasse Collin -Date: 2008-09-30 13:27:28 +0300 - - Added two test files. - - tests/files/README | 6 ++++++ - tests/files/bad-0-footer_magic.lzma | Bin 0 -> 32 bytes - tests/files/bad-0-header_magic.lzma | Bin 0 -> 32 bytes - 3 files changed, 6 insertions(+) - -commit ea560b0ea80525752bdcd0074d24f8dc170bbe29 -Author: Lasse Collin -Date: 2008-09-27 23:49:24 +0300 - - Fix conflicting Subblock helper filter's ID. - - src/liblzma/common/common.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ad97483b6e55142fd8d5c041db057017a891cd95 -Author: Lasse Collin -Date: 2008-09-27 23:37:13 +0300 - - Changed magic bytes to match the updated spec. Filename - suffix wasn't changed yet. - - src/liblzma/common/auto_decoder.c | 4 ++-- - src/liblzma/common/stream_flags_common.c | 2 +- - tests/files/bad-0-backward_size.lzma | Bin 32 -> 32 bytes - tests/files/bad-0-empty-truncated.lzma | Bin 31 -> 31 bytes - tests/files/bad-0-nonempty_index.lzma | Bin 32 -> 32 bytes - tests/files/bad-0cat-alone.lzma | Bin 55 -> 55 bytes - tests/files/bad-0catpad-empty.lzma | Bin 69 -> 69 bytes - tests/files/bad-0pad-empty.lzma | Bin 37 -> 37 bytes - tests/files/bad-1-block_header-1.lzma | Bin 64 -> 64 bytes - tests/files/bad-1-block_header-2.lzma | Bin 64 -> 64 bytes - tests/files/bad-1-block_header-3.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-block_header-4.lzma | Bin 72 -> 72 bytes - tests/files/bad-1-check-crc32.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-check-crc64.lzma | Bin 72 -> 72 bytes - tests/files/bad-1-check-sha256.lzma | Bin 96 -> 96 bytes - tests/files/bad-1-lzma2-1.lzma | Bin 64 -> 64 bytes - tests/files/bad-1-lzma2-2.lzma | Bin 424 -> 424 bytes - tests/files/bad-1-lzma2-3.lzma | Bin 424 -> 424 bytes - tests/files/bad-1-lzma2-4.lzma | Bin 408 -> 408 bytes - tests/files/bad-1-lzma2-5.lzma | Bin 408 -> 408 bytes - tests/files/bad-1-lzma2-6.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-lzma2-7.lzma | Bin 408 -> 408 bytes - tests/files/bad-1-stream_flags-1.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-stream_flags-2.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-stream_flags-3.lzma | Bin 68 -> 68 bytes - tests/files/bad-1-vli-1.lzma | Bin 72 -> 72 bytes - tests/files/bad-1-vli-2.lzma | Bin 72 -> 72 bytes - tests/files/bad-2-compressed_data_padding.lzma | Bin 92 -> 92 bytes - tests/files/bad-2-index-1.lzma | Bin 92 -> 92 bytes - tests/files/bad-2-index-2.lzma | Bin 92 -> 92 bytes - tests/files/bad-2-index-3.lzma | Bin 92 -> 92 bytes - tests/files/bad-2-index-4.lzma | Bin 92 -> 92 bytes - tests/files/good-0-empty.lzma | Bin 32 -> 32 bytes - tests/files/good-0cat-empty.lzma | Bin 64 -> 64 bytes - tests/files/good-0catpad-empty.lzma | Bin 68 -> 68 bytes - tests/files/good-0pad-empty.lzma | Bin 36 -> 36 bytes - tests/files/good-1-3delta-lzma2.lzma | Bin 528 -> 528 bytes - tests/files/good-1-block_header-1.lzma | Bin 72 -> 72 bytes - tests/files/good-1-block_header-2.lzma | Bin 68 -> 68 bytes - tests/files/good-1-block_header-3.lzma | Bin 68 -> 68 bytes - tests/files/good-1-check-crc32.lzma | Bin 68 -> 68 bytes - tests/files/good-1-check-crc64.lzma | Bin 72 -> 72 bytes - tests/files/good-1-check-none.lzma | Bin 64 -> 64 bytes - tests/files/good-1-check-sha256.lzma | Bin 96 -> 96 bytes - tests/files/good-1-delta-lzma2.tiff.lzma | Bin 51312 -> 51312 bytes - tests/files/good-1-lzma2-1.lzma | Bin 424 -> 424 bytes - tests/files/good-1-lzma2-2.lzma | Bin 424 -> 424 bytes - tests/files/good-1-lzma2-3.lzma | Bin 408 -> 408 bytes - tests/files/good-1-sparc-lzma2.lzma | Bin 2292 -> 2292 bytes - tests/files/good-1-x86-lzma2.lzma | Bin 1936 -> 1936 bytes - tests/files/good-2-lzma2.lzma | Bin 92 -> 92 bytes - tests/files/unsupported-block_header.lzma | Bin 68 -> 68 bytes - tests/files/unsupported-check.lzma | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-1.lzma | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-2.lzma | Bin 68 -> 68 bytes - tests/files/unsupported-filter_flags-3.lzma | Bin 68 -> 68 bytes - 56 files changed, 3 insertions(+), 3 deletions(-) - -commit 7a57069167e9e63394e2b095ee3a63253fcb51c7 -Author: Lasse Collin -Date: 2008-09-27 23:16:09 +0300 - - Remove po/fi.po since I'm not keeping it updated for now. - - po/fi.po | 446 --------------------------------------------------------------- - 1 file changed, 446 deletions(-) - -commit 018ae09df8f2fee5a7374f307df4cb42fad0b81e -Author: Lasse Collin -Date: 2008-09-27 23:13:54 +0300 - - Fix also test_compress.sh. - - tests/test_compress.sh | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 3a62a5fb85d2eebd8666e64ed5d364d095062858 -Author: Lasse Collin -Date: 2008-09-27 23:01:15 +0300 - - Fixed compilation of test_filter_flags.c, which was broken by - 1dcecfb09b55157b8653d747963069c8bed74f04. - - tests/test_filter_flags.c | 16 ++++++++-------- - 1 file changed, 8 insertions(+), 8 deletions(-) - -commit c6ca26eef7cd07eba449035514e2b8f9ac3111c0 -Author: Lasse Collin -Date: 2008-09-27 19:11:02 +0300 - - Updated file format specification. It changes the suffix - of the new format to .xz and removes the recently added - LZMA filter. - - doc/file-format.txt | 125 ++++++++++++++-------------------------------------- - 1 file changed, 32 insertions(+), 93 deletions(-) - -commit 1dcecfb09b55157b8653d747963069c8bed74f04 -Author: Lasse Collin -Date: 2008-09-27 19:09:21 +0300 - - Some API changes, bug fixes, cleanups etc. - - configure.ac | 18 +- - debug/full_flush.c | 7 +- - debug/known_sizes.c | 6 +- - debug/memusage.c | 22 +-- - debug/sync_flush.c | 18 +- - src/liblzma/Makefile.am | 2 +- - src/liblzma/api/lzma/delta.h | 8 +- - src/liblzma/api/lzma/lzma.h | 230 ++++++++++++++++--------- - src/liblzma/common/alignment.c | 7 +- - src/liblzma/common/alone_decoder.c | 11 +- - src/liblzma/common/alone_encoder.c | 9 +- - src/liblzma/common/chunk_size.c | 2 +- - src/liblzma/common/easy.c | 20 ++- - src/liblzma/common/filter_common.c | 4 +- - src/liblzma/common/filter_decoder.c | 4 +- - src/liblzma/common/filter_encoder.c | 4 +- - src/liblzma/common/init_encoder.c | 2 +- - src/liblzma/delta/delta_common.c | 12 +- - src/liblzma/delta/delta_common.h | 2 +- - src/liblzma/delta/delta_decoder.c | 2 +- - src/liblzma/delta/delta_encoder.c | 6 +- - src/liblzma/lz/lz_encoder.c | 30 ++-- - src/liblzma/lz/lz_encoder.h | 26 +-- - src/liblzma/lz/lz_encoder_mf.c | 30 ++-- - src/liblzma/lzma/Makefile.am | 4 +- - src/liblzma/lzma/lzma2_decoder.c | 10 +- - src/liblzma/lzma/lzma2_encoder.c | 27 ++- - src/liblzma/lzma/lzma_common.h | 26 ++- - src/liblzma/lzma/lzma_decoder.c | 37 ++-- - src/liblzma/lzma/lzma_encoder.c | 51 +++--- - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 10 +- - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 20 +-- - src/liblzma/lzma/lzma_encoder_presets.c | 50 ++++-- - src/liblzma/rangecoder/Makefile.am | 4 +- - src/liblzma/subblock/subblock_decoder.c | 2 +- - src/lzma/args.c | 33 ++-- - src/lzma/help.c | 17 +- - src/lzma/options.c | 92 +++++----- - tests/test_block_header.c | 9 +- - tests/test_compress.sh | 4 +- - tests/test_filter_flags.c | 2 +- - 41 files changed, 482 insertions(+), 398 deletions(-) - -commit 5cc5064cae603b649c64c40125c7dd365de54c9d -Author: Lasse Collin -Date: 2008-09-27 11:28:49 +0300 - - Added 7z2lzma.bash. - - extra/7z2lzma/7z2lzma.bash | 114 +++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 114 insertions(+) - -commit f147666a5cd15542d4e427da58629f4a71cc38e1 -Author: Lasse Collin -Date: 2008-09-17 22:11:39 +0300 - - Miscellaneous LZ and LZMA encoder cleanups - - src/liblzma/api/lzma/lzma.h | 14 ------- - src/liblzma/lz/lz_encoder.c | 8 +++- - src/liblzma/lzma/Makefile.am | 1 - - src/liblzma/lzma/lzma_encoder.c | 64 ++++++++++++-------------------- - src/liblzma/lzma/lzma_encoder_features.c | 59 ----------------------------- - 5 files changed, 29 insertions(+), 117 deletions(-) - -commit 13d68b069849e19c33822cd8996cd6447890abb1 -Author: Lasse Collin -Date: 2008-09-13 13:54:00 +0300 - - LZ decoder cleanup - - src/liblzma/lz/lz_decoder.c | 5 ++--- - 1 file changed, 2 insertions(+), 3 deletions(-) - -commit 13a74b78e37f16c9096ba5fe1859cc04eaa2f9f7 -Author: Lasse Collin -Date: 2008-09-13 12:10:43 +0300 - - Renamed constants: - - LZMA_VLI_VALUE_MAX -> LZMA_VLI_MAX - - LZMA_VLI_VALUE_UNKNOWN -> LZMA_VLI_UNKNOWN - - LZMA_HEADER_ERRRO -> LZMA_OPTIONS_ERROR - - debug/full_flush.c | 2 +- - debug/known_sizes.c | 2 +- - debug/sync_flush.c | 2 +- - src/liblzma/api/lzma/alignment.h | 2 +- - src/liblzma/api/lzma/base.h | 4 ++-- - src/liblzma/api/lzma/block.h | 28 ++++++++++++++-------------- - src/liblzma/api/lzma/container.h | 12 ++++++------ - src/liblzma/api/lzma/filter.h | 28 ++++++++++++++-------------- - src/liblzma/api/lzma/index.h | 2 +- - src/liblzma/api/lzma/lzma.h | 4 ++-- - src/liblzma/api/lzma/simple.h | 2 +- - src/liblzma/api/lzma/stream_flags.h | 20 ++++++++++---------- - src/liblzma/api/lzma/vli.h | 16 ++++++++-------- - src/liblzma/common/alignment.c | 6 +++--- - src/liblzma/common/alone_decoder.c | 2 +- - src/liblzma/common/auto_decoder.c | 2 +- - src/liblzma/common/block_decoder.c | 12 ++++++------ - src/liblzma/common/block_encoder.c | 6 +++--- - src/liblzma/common/block_header_decoder.c | 16 ++++++++-------- - src/liblzma/common/block_header_encoder.c | 24 ++++++++++++------------ - src/liblzma/common/block_util.c | 8 ++++---- - src/liblzma/common/chunk_size.c | 2 +- - src/liblzma/common/easy.c | 4 ++-- - src/liblzma/common/filter_common.c | 22 +++++++++++----------- - src/liblzma/common/filter_decoder.c | 6 +++--- - src/liblzma/common/filter_encoder.c | 14 +++++++------- - src/liblzma/common/index.c | 24 +++++++++++------------- - src/liblzma/common/index.h | 2 +- - src/liblzma/common/index_hash.c | 13 ++++++------- - src/liblzma/common/stream_decoder.c | 4 ++-- - src/liblzma/common/stream_encoder.c | 4 ++-- - src/liblzma/common/stream_flags_common.c | 6 +++--- - src/liblzma/common/stream_flags_decoder.c | 6 +++--- - src/liblzma/common/stream_flags_encoder.c | 4 ++-- - src/liblzma/common/vli_encoder.c | 2 +- - src/liblzma/common/vli_size.c | 2 +- - src/liblzma/delta/delta_common.c | 2 +- - src/liblzma/delta/delta_decoder.c | 2 +- - src/liblzma/delta/delta_encoder.c | 2 +- - src/liblzma/lz/lz_decoder.c | 2 +- - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/lzma/lzma2_decoder.c | 6 +++--- - src/liblzma/lzma/lzma_decoder.c | 14 +++++++------- - src/liblzma/lzma/lzma_encoder.c | 8 ++++---- - src/liblzma/simple/simple_coder.c | 2 +- - src/liblzma/simple/simple_decoder.c | 2 +- - src/liblzma/subblock/subblock_decoder.c | 6 +++--- - src/liblzma/subblock/subblock_encoder.c | 17 ++++++++--------- - src/lzma/args.c | 2 +- - src/lzma/error.c | 2 +- - src/lzma/list.c | 6 +++--- - src/lzmadec/lzmadec.c | 2 +- - tests/test_block.c | 8 ++++---- - tests/test_block_header.c | 30 +++++++++++++++--------------- - tests/test_filter_flags.c | 2 +- - tests/test_index.c | 2 +- - tests/test_stream_flags.c | 8 ++++---- - tests/tests.h | 2 +- - 58 files changed, 220 insertions(+), 224 deletions(-) - -commit 320601b2c7b08fc7da9da18d5bf7c3c1a189b080 -Author: Lasse Collin -Date: 2008-09-12 22:41:40 +0300 - - Improved the Stream Flags handling API. - - src/liblzma/api/lzma/stream_flags.h | 84 +++++++++++++++++++++++++++++-- - src/liblzma/common/stream_decoder.c | 5 +- - src/liblzma/common/stream_encoder.c | 2 + - src/liblzma/common/stream_flags_common.c | 28 ++++++++--- - src/liblzma/common/stream_flags_common.h | 9 ++++ - src/liblzma/common/stream_flags_decoder.c | 3 +- - src/liblzma/common/stream_flags_encoder.c | 10 ++-- - tests/test_stream_flags.c | 8 ++- - 8 files changed, 129 insertions(+), 20 deletions(-) - -commit ec490da5228263b25bf786bb23d1008468f55b30 -Author: Lasse Collin -Date: 2008-09-11 23:10:44 +0300 - - Simplified debug/known_sizes.c to match the relaxed - requirements of Block encoder. - - debug/known_sizes.c | 14 +++++--------- - 1 file changed, 5 insertions(+), 9 deletions(-) - -commit 16e8b98f2659347edfa74afdbbb9e73311153cb9 -Author: Lasse Collin -Date: 2008-09-11 23:09:24 +0300 - - Remove a check from Block encoder that should have already - been removed in 2ba01bfa755e47ff6af84a978e3c8d63d7d2775e. - - src/liblzma/common/block_encoder.c | 5 ----- - 1 file changed, 5 deletions(-) - -commit 5a710c3805bdf6d7e3c92e954e4e4565b27bcb13 -Author: Lasse Collin -Date: 2008-09-11 20:02:38 +0300 - - Remove bogus #includes. - - src/liblzma/common/Makefile.am | 1 - - src/liblzma/common/stream_decoder.c | 3 --- - src/liblzma/common/stream_encoder.c | 1 - - src/liblzma/common/stream_flags_decoder.h | 31 ------------------------------- - 4 files changed, 36 deletions(-) - -commit 01892b2ca5f69bed0ea746e04b604030d57806bb -Author: Lasse Collin -Date: 2008-09-11 10:49:14 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 962f2231d49409fe6852e44ffe8c5dbabb04bc7d -Author: Lasse Collin -Date: 2008-09-11 10:48:12 +0300 - - Fix a compiler error on big endian systems that don't - support unaligned memory access. - - src/common/integer.h | 32 ++++++++++++++++++-------------- - 1 file changed, 18 insertions(+), 14 deletions(-) - -commit fa3ab0df8ae7a8a1ad55b52266dc0fd387458671 -Author: Lasse Collin -Date: 2008-09-11 10:46:14 +0300 - - Silence a compiler warning. - - src/lzma/process.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9373e81e18822db4972819442ea4c2cb9955470b -Author: Lasse Collin -Date: 2008-09-10 19:16:32 +0300 - - Bumped version to 4.999.6alpha. - - configure.ac | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit cb072b7c8442ba68bb0c62c0abbbe939794887a3 -Author: Lasse Collin -Date: 2008-09-10 17:02:00 +0300 - - Check for LZMA_FILTER_RESERVED_START in filter_flags_encoder.c. - Use LZMA_PROG_ERROR instead of LZMA_HEADER_ERROR if the Filter ID - is in the reserved range. This allows Block Header encoder to - detect unallowed Filter IDs, which is good for Stream encoder. - - src/liblzma/common/filter_flags_encoder.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 123ab0acec435c9e9866a99e30482116cfbd9ba5 -Author: Lasse Collin -Date: 2008-09-10 16:44:32 +0300 - - Filter handling cleanups - - src/liblzma/api/lzma/filter.h | 133 +++++++++++++++++++++++++++--------- - src/liblzma/common/filter_common.h | 3 + - src/liblzma/common/filter_decoder.c | 80 +++++++--------------- - src/liblzma/common/filter_decoder.h | 5 -- - src/liblzma/common/filter_encoder.c | 82 +++++++--------------- - src/liblzma/common/filter_encoder.h | 4 -- - 6 files changed, 156 insertions(+), 151 deletions(-) - -commit 9cfcd0c4f2f865d8fbbb46ea28344a9be0dd8ad1 -Author: Lasse Collin -Date: 2008-09-10 00:33:00 +0300 - - Comments - - src/liblzma/common/stream_encoder.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 2ba01bfa755e47ff6af84a978e3c8d63d7d2775e -Author: Lasse Collin -Date: 2008-09-10 00:27:02 +0300 - - Cleaned up Block encoder and moved the no longer shared - code from block_private.h to block_decoder.c. Now the Block - encoder doesn't need compressed_size and uncompressed_size - from lzma_block structure to be initialized. - - src/liblzma/api/lzma/block.h | 3 -- - src/liblzma/common/Makefile.am | 1 - - src/liblzma/common/block_decoder.c | 23 +++++++++- - src/liblzma/common/block_encoder.c | 92 ++++++++++++++++++-------------------- - src/liblzma/common/block_private.h | 47 ------------------- - 5 files changed, 66 insertions(+), 100 deletions(-) - -commit 07efcb5a6bc5d7018798ebd728586f84183e7d64 -Author: Lasse Collin -Date: 2008-09-07 10:23:13 +0300 - - Changed Filter ID of LZMA to 0x20. - - doc/file-format.txt | 4 ++-- - src/liblzma/api/lzma/lzma.h | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit 32fe5fa541e82c08e054086279079ae5016bd8d8 -Author: Lasse Collin -Date: 2008-09-06 23:42:50 +0300 - - Comments - - src/liblzma/api/lzma/base.h | 81 ++++++++++++++++++++++++++-------------- - src/liblzma/api/lzma/container.h | 6 ++- - src/liblzma/lz/lz_encoder.c | 3 +- - src/liblzma/lz/lz_encoder.h | 12 +++--- - src/liblzma/lz/lz_encoder_mf.c | 2 +- - 5 files changed, 65 insertions(+), 39 deletions(-) - -commit 0a31ed9d5e3cde4feb094b66f3a8b2c074605d84 -Author: Lasse Collin -Date: 2008-09-06 15:14:30 +0300 - - Some API cleanups - - src/liblzma/api/lzma/base.h | 314 +++++++++++++++++++++++------------- - src/liblzma/api/lzma/check.h | 10 ++ - src/liblzma/api/lzma/container.h | 40 +++-- - src/liblzma/common/auto_decoder.c | 18 +-- - src/liblzma/common/common.c | 7 + - src/liblzma/common/common.h | 18 ++- - src/liblzma/common/easy.c | 2 +- - src/liblzma/common/stream_decoder.c | 31 ++-- - src/lzma/process.c | 2 +- - src/lzmadec/lzmadec.c | 6 +- - tests/tests.h | 72 +++------ - 11 files changed, 301 insertions(+), 219 deletions(-) - -commit da98df54400998be2a6c3876f9655a3c51b93c10 -Author: Lasse Collin -Date: 2008-09-04 11:53:06 +0300 - - Added support for raw encoding and decoding to the command - line tool, and made various cleanups. --lzma was renamed to - --lzma1 to prevent people from accidentally using LZMA when - they want LZMA2. - - src/lzma/args.c | 17 +++++++++-------- - src/lzma/args.h | 1 + - src/lzma/help.c | 24 ++++++------------------ - src/lzma/process.c | 42 ++++++++++++++++++++++++++++++++++-------- - 4 files changed, 50 insertions(+), 34 deletions(-) - -commit 2496aee8a7741a8a0d42987db41ff2cf1a4bdabd -Author: Lasse Collin -Date: 2008-09-04 10:39:15 +0300 - - Don't allow LZMA_SYNC_FLUSH with decoders anymore. There's - simply nothing that would use it. Allow LZMA_FINISH to the - decoders, which will usually ignore it (auto decoder and - Stream decoder being exceptions). - - src/liblzma/common/alone_decoder.c | 1 - - src/liblzma/common/block_decoder.c | 2 +- - src/liblzma/common/filter_decoder.c | 2 +- - 3 files changed, 2 insertions(+), 3 deletions(-) - -commit bea301c26d5d52675e11e0236faec0492af98f60 -Author: Lasse Collin -Date: 2008-09-03 17:06:25 +0300 - - Minor updates to the file format specification. - - doc/file-format.txt | 105 ++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 85 insertions(+), 20 deletions(-) - -commit 9c75b089b4a9e0edcf4cf7970a4383768707d6c8 -Author: Lasse Collin -Date: 2008-09-02 19:33:32 +0300 - - Command line tool fixes - - src/lzma/process.c | 21 +++++++++++++-------- - 1 file changed, 13 insertions(+), 8 deletions(-) - -commit bab0590504b5aeff460ab4ca8c964dd7c1bad9e4 -Author: Lasse Collin -Date: 2008-09-02 19:31:42 +0300 - - Auto decoder cleanup - - src/liblzma/common/auto_decoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 689602336d126a46b60d791a67decab65e1e81f5 -Author: Lasse Collin -Date: 2008-09-02 19:12:12 +0300 - - Updated auto decoder to handle LZMA_CONCATENATED when decoding - LZMA_Alone files. Decoding of concatenated LZMA_Alone files is - intentionally not supported, so it is better to put this in - auto decoder than LZMA_Alone decoder. - - src/liblzma/common/auto_decoder.c | 87 ++++++++++++++++++++++++++++++++------- - 1 file changed, 71 insertions(+), 16 deletions(-) - -commit 80c4158f19904026433eb6f5d5ca98a0ecd4f66c -Author: Lasse Collin -Date: 2008-09-02 14:56:52 +0300 - - Stream decoder cleanups - - src/liblzma/common/stream_decoder.c | 57 +++++++++++++++++++++---------------- - 1 file changed, 32 insertions(+), 25 deletions(-) - -commit fc681657450ce57be1fe08f7a15d31dcc705e514 -Author: Lasse Collin -Date: 2008-09-02 11:45:39 +0300 - - Some fixes to LZ encoder. - - src/liblzma/lz/lz_encoder.c | 56 ++++++++++++++++++++----- - src/liblzma/lz/lz_encoder.h | 18 ++++---- - src/liblzma/lz/lz_encoder_mf.c | 95 +++++++++++++++++------------------------- - 3 files changed, 94 insertions(+), 75 deletions(-) - -commit ede675f9ac1ca82a7d7c290324adba672118bc8d -Author: Lasse Collin -Date: 2008-08-31 11:47:01 +0300 - - Fix wrong pointer calculation in LZMA encoder. - - src/liblzma/lzma/lzma_encoder.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 3b34851de1eaf358cf9268922fa0eeed8278d680 -Author: Lasse Collin -Date: 2008-08-28 22:53:15 +0300 - - Sort of garbage collection commit. :-| Many things are still - broken. API has changed a lot and it will still change a - little more here and there. The command line tool doesn't - have all the required changes to reflect the API changes, so - it's easy to get "internal error" or trigger assertions. - - configure.ac | 356 +++--- - debug/Makefile.am | 5 +- - debug/crc32.c | 45 + - debug/full_flush.c | 14 +- - debug/hex2bin.c | 54 + - debug/known_sizes.c | 135 ++ - debug/memusage.c | 8 +- - debug/sync_flush.c | 20 +- - src/common/integer.h | 26 +- - src/common/sysdefs.h | 42 +- - src/liblzma/Makefile.am | 17 +- - src/liblzma/api/Makefile.am | 6 +- - src/liblzma/api/lzma.h | 161 ++- - src/liblzma/api/lzma/alignment.h | 6 +- - src/liblzma/api/lzma/alone.h | 52 - - src/liblzma/api/lzma/auto.h | 36 - - src/liblzma/api/lzma/base.h | 61 +- - src/liblzma/api/lzma/block.h | 38 +- - src/liblzma/api/lzma/check.h | 41 +- - src/liblzma/api/lzma/container.h | 252 ++++ - src/liblzma/api/lzma/delta.h | 36 +- - src/liblzma/api/lzma/easy.h | 121 -- - src/liblzma/api/lzma/filter.h | 74 +- - src/liblzma/api/lzma/index.h | 40 +- - src/liblzma/api/lzma/index_hash.h | 12 +- - src/liblzma/api/lzma/lzma.h | 222 ++-- - src/liblzma/api/lzma/memlimit.h | 15 +- - src/liblzma/api/lzma/raw.h | 60 - - src/liblzma/api/lzma/simple.h | 2 +- - src/liblzma/api/lzma/stream.h | 53 - - src/liblzma/api/lzma/stream_flags.h | 17 +- - src/liblzma/api/lzma/subblock.h | 4 +- - src/liblzma/api/lzma/version.h | 10 +- - src/liblzma/api/lzma/vli.h | 131 +- - src/liblzma/check/check.c | 128 +- - src/liblzma/check/check.h | 67 +- - src/liblzma/check/sha256.c | 29 +- - src/liblzma/common/Makefile.am | 51 +- - src/liblzma/common/alignment.c | 4 +- - src/liblzma/common/allocator.c | 58 - - src/liblzma/common/alone_decoder.c | 49 +- - src/liblzma/common/alone_decoder.h | 9 +- - src/liblzma/common/alone_encoder.c | 13 +- - src/liblzma/common/auto_decoder.c | 38 +- - src/liblzma/common/block_decoder.c | 67 +- - src/liblzma/common/block_decoder.h | 2 +- - src/liblzma/common/block_encoder.c | 42 +- - src/liblzma/common/block_encoder.h | 2 +- - src/liblzma/common/block_header_decoder.c | 6 +- - src/liblzma/common/block_header_encoder.c | 9 +- - src/liblzma/common/block_util.c | 10 +- - src/liblzma/common/code.c | 203 --- - src/liblzma/common/common.c | 298 +++++ - src/liblzma/common/common.h | 237 ++-- - src/liblzma/common/delta_common.c | 66 - - src/liblzma/common/delta_common.h | 44 - - src/liblzma/common/delta_decoder.c | 61 - - src/liblzma/common/delta_decoder.h | 28 - - src/liblzma/common/delta_encoder.c | 98 -- - src/liblzma/common/delta_encoder.h | 28 - - src/liblzma/common/easy.c | 18 +- - src/liblzma/common/features.c | 66 - - src/liblzma/common/filter_common.c | 262 ++++ - src/liblzma/common/filter_common.h | 52 + - src/liblzma/common/filter_decoder.c | 236 ++++ - src/liblzma/common/filter_decoder.h | 35 + - src/liblzma/common/filter_encoder.c | 308 +++++ - src/liblzma/common/filter_encoder.h | 38 + - src/liblzma/common/filter_flags_decoder.c | 185 +-- - src/liblzma/common/filter_flags_encoder.c | 261 +--- - src/liblzma/common/index_decoder.c | 14 +- - src/liblzma/common/index_encoder.c | 16 +- - src/liblzma/common/index_hash.c | 8 +- - src/liblzma/common/init_encoder.c | 2 +- - src/liblzma/common/memory_usage.c | 112 -- - src/liblzma/common/next_coder.c | 65 - - src/liblzma/common/raw_common.c | 127 -- - src/liblzma/common/raw_common.h | 30 - - src/liblzma/common/raw_decoder.c | 116 -- - src/liblzma/common/raw_decoder.h | 29 - - src/liblzma/common/raw_encoder.c | 111 -- - src/liblzma/common/raw_encoder.h | 29 - - src/liblzma/common/stream_common.c | 23 - - src/liblzma/common/stream_common.h | 31 - - src/liblzma/common/stream_decoder.c | 238 +++- - src/liblzma/common/stream_decoder.h | 4 +- - src/liblzma/common/stream_encoder.c | 35 +- - src/liblzma/common/stream_encoder.h | 2 +- - src/liblzma/common/stream_flags_common.c | 40 + - src/liblzma/common/stream_flags_common.h | 31 + - src/liblzma/common/stream_flags_decoder.c | 2 +- - src/liblzma/common/stream_flags_encoder.c | 2 +- - src/liblzma/common/stream_flags_equal.c | 36 - - src/liblzma/common/version.c | 25 - - src/liblzma/common/vli_decoder.c | 29 +- - src/liblzma/common/vli_encoder.c | 23 +- - src/liblzma/common/vli_size.c | 37 + - src/liblzma/delta/Makefile.am | 34 + - src/liblzma/delta/delta_common.c | 66 + - src/liblzma/delta/delta_common.h | 44 + - src/liblzma/delta/delta_decoder.c | 82 ++ - src/liblzma/delta/delta_decoder.h | 32 + - src/liblzma/delta/delta_encoder.c | 119 ++ - src/liblzma/delta/delta_encoder.h | 30 + - src/liblzma/lz/Makefile.am | 35 +- - src/liblzma/lz/bt2.c | 27 - - src/liblzma/lz/bt2.h | 31 - - src/liblzma/lz/bt3.c | 29 - - src/liblzma/lz/bt3.h | 31 - - src/liblzma/lz/bt4.c | 30 - - src/liblzma/lz/bt4.h | 31 - - src/liblzma/lz/hc3.c | 30 - - src/liblzma/lz/hc3.h | 31 - - src/liblzma/lz/hc4.c | 31 - - src/liblzma/lz/hc4.h | 31 - - src/liblzma/lz/lz_decoder.c | 547 +++----- - src/liblzma/lz/lz_decoder.h | 308 ++--- - src/liblzma/lz/lz_encoder.c | 780 ++++++------ - src/liblzma/lz/lz_encoder.h | 334 +++-- - src/liblzma/lz/lz_encoder_hash.h | 104 ++ - src/liblzma/lz/lz_encoder_mf.c | 780 ++++++++++++ - src/liblzma/lz/lz_encoder_private.h | 40 - - src/liblzma/lz/match_c.h | 412 ------ - src/liblzma/lz/match_h.h | 69 -- - src/liblzma/lzma/Makefile.am | 37 +- - src/liblzma/lzma/fastpos.h | 8 +- - src/liblzma/lzma/lzma2_decoder.c | 318 +++++ - src/liblzma/lzma/lzma2_decoder.h | 35 + - src/liblzma/lzma/lzma2_encoder.c | 406 ++++++ - src/liblzma/lzma/lzma2_encoder.h | 34 + - src/liblzma/lzma/lzma_common.h | 208 +++- - src/liblzma/lzma/lzma_decoder.c | 1306 ++++++++++++-------- - src/liblzma/lzma/lzma_decoder.h | 21 +- - src/liblzma/lzma/lzma_encoder.c | 576 +++++++-- - src/liblzma/lzma/lzma_encoder.h | 38 +- - src/liblzma/lzma/lzma_encoder_features.c | 2 +- - src/liblzma/lzma/lzma_encoder_getoptimum.c | 925 -------------- - src/liblzma/lzma/lzma_encoder_getoptimumfast.c | 201 --- - src/liblzma/lzma/lzma_encoder_init.c | 228 ---- - src/liblzma/lzma/lzma_encoder_optimum_fast.c | 193 +++ - src/liblzma/lzma/lzma_encoder_optimum_normal.c | 875 +++++++++++++ - src/liblzma/lzma/lzma_encoder_presets.c | 52 +- - src/liblzma/lzma/lzma_encoder_private.h | 174 +-- - src/liblzma/lzma/lzma_literal.c | 51 - - src/liblzma/lzma/lzma_literal.h | 71 -- - src/liblzma/rangecoder/Makefile.am | 10 +- - src/liblzma/rangecoder/price.h | 111 ++ - src/liblzma/rangecoder/price_table.c | 84 +- - src/liblzma/rangecoder/price_table_gen.c | 55 - - src/liblzma/rangecoder/price_table_init.c | 33 +- - src/liblzma/rangecoder/price_tablegen.c | 56 + - src/liblzma/rangecoder/range_common.h | 17 +- - src/liblzma/rangecoder/range_decoder.h | 209 ++-- - src/liblzma/rangecoder/range_encoder.h | 92 +- - src/liblzma/simple/Makefile.am | 12 + - src/liblzma/simple/simple_coder.c | 8 +- - src/liblzma/simple/simple_decoder.c | 47 + - src/liblzma/simple/simple_decoder.h | 29 + - src/liblzma/simple/simple_encoder.c | 45 + - src/liblzma/simple/simple_encoder.h | 30 + - src/liblzma/subblock/Makefile.am | 4 +- - src/liblzma/subblock/subblock_decoder.c | 20 +- - src/liblzma/subblock/subblock_decoder_helper.c | 2 +- - src/liblzma/subblock/subblock_encoder.c | 28 +- - src/lzma/args.c | 35 +- - src/lzma/args.h | 4 +- - src/lzma/options.c | 14 +- - src/lzma/process.c | 88 +- - src/lzmadec/lzmadec.c | 157 +-- - tests/Makefile.am | 1 + - tests/files/README | 303 ++--- - tests/files/bad-0-backward_size.lzma | Bin 0 -> 32 bytes - tests/files/bad-0-empty-truncated.lzma | Bin 0 -> 31 bytes - tests/files/bad-0-nonempty_index.lzma | Bin 0 -> 32 bytes - tests/files/bad-0cat-alone.lzma | Bin 0 -> 55 bytes - tests/files/bad-0catpad-empty.lzma | Bin 0 -> 69 bytes - tests/files/bad-0pad-empty.lzma | Bin 0 -> 37 bytes - tests/files/bad-1-block_header-1.lzma | Bin 0 -> 64 bytes - tests/files/bad-1-block_header-2.lzma | Bin 0 -> 64 bytes - tests/files/bad-1-block_header-3.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-block_header-4.lzma | Bin 0 -> 72 bytes - tests/files/bad-1-check-crc32.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-check-crc64.lzma | Bin 0 -> 72 bytes - tests/files/bad-1-check-sha256.lzma | Bin 0 -> 96 bytes - tests/files/bad-1-lzma2-1.lzma | Bin 0 -> 64 bytes - tests/files/bad-1-lzma2-2.lzma | Bin 0 -> 424 bytes - tests/files/bad-1-lzma2-3.lzma | Bin 0 -> 424 bytes - tests/files/bad-1-lzma2-4.lzma | Bin 0 -> 408 bytes - tests/files/bad-1-lzma2-5.lzma | Bin 0 -> 408 bytes - tests/files/bad-1-lzma2-6.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-lzma2-7.lzma | Bin 0 -> 408 bytes - tests/files/bad-1-stream_flags-1.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-stream_flags-2.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-stream_flags-3.lzma | Bin 0 -> 68 bytes - tests/files/bad-1-vli-1.lzma | Bin 0 -> 72 bytes - tests/files/bad-1-vli-2.lzma | Bin 0 -> 72 bytes - tests/files/bad-2-compressed_data_padding.lzma | Bin 0 -> 92 bytes - tests/files/bad-2-index-1.lzma | Bin 0 -> 92 bytes - tests/files/bad-2-index-2.lzma | Bin 0 -> 92 bytes - tests/files/bad-2-index-3.lzma | Bin 0 -> 92 bytes - tests/files/bad-2-index-4.lzma | Bin 0 -> 92 bytes - tests/files/bad-cat-single-none-pad_garbage_1.lzma | Bin 65 -> 0 bytes - tests/files/bad-cat-single-none-pad_garbage_2.lzma | Bin 65 -> 0 bytes - tests/files/bad-cat-single-none-pad_garbage_3.lzma | Bin 65 -> 0 bytes - tests/files/bad-multi-none-1.lzma | Bin 54 -> 0 bytes - tests/files/bad-multi-none-2.lzma | Bin 53 -> 0 bytes - tests/files/bad-multi-none-3.lzma | Bin 53 -> 0 bytes - tests/files/bad-multi-none-block_1.lzma | Bin 66 -> 0 bytes - tests/files/bad-multi-none-block_2.lzma | Bin 66 -> 0 bytes - tests/files/bad-multi-none-block_3.lzma | Bin 58 -> 0 bytes - tests/files/bad-multi-none-extra_1.lzma | Bin 54 -> 0 bytes - tests/files/bad-multi-none-extra_2.lzma | Bin 54 -> 0 bytes - tests/files/bad-multi-none-extra_3.lzma | Bin 55 -> 0 bytes - tests/files/bad-multi-none-header_1.lzma | Bin 57 -> 0 bytes - tests/files/bad-multi-none-header_2.lzma | Bin 61 -> 0 bytes - tests/files/bad-multi-none-header_3.lzma | Bin 59 -> 0 bytes - tests/files/bad-multi-none-header_4.lzma | Bin 59 -> 0 bytes - tests/files/bad-multi-none-header_5.lzma | Bin 58 -> 0 bytes - tests/files/bad-multi-none-header_6.lzma | Bin 59 -> 0 bytes - tests/files/bad-multi-none-header_7.lzma | Bin 59 -> 0 bytes - tests/files/bad-multi-none-index_1.lzma | Bin 51 -> 0 bytes - tests/files/bad-multi-none-index_2.lzma | Bin 49 -> 0 bytes - tests/files/bad-multi-none-index_3.lzma | Bin 51 -> 0 bytes - tests/files/bad-multi-none-index_4.lzma | Bin 51 -> 0 bytes - tests/files/bad-single-data_after_eopm_1.lzma | Bin 55 -> 0 bytes - tests/files/bad-single-data_after_eopm_2.lzma | Bin 56 -> 0 bytes - tests/files/bad-single-lzma-flush_beginning.lzma | Bin 53 -> 0 bytes - tests/files/bad-single-lzma-flush_twice.lzma | Bin 63 -> 0 bytes - tests/files/bad-single-none-empty.lzma | Bin 19 -> 0 bytes - .../files/bad-single-none-footer_filter_flags.lzma | Bin 30 -> 0 bytes - tests/files/bad-single-none-too_long_vli.lzma | Bin 39 -> 0 bytes - tests/files/bad-single-none-truncated.lzma | Bin 29 -> 0 bytes - tests/files/bad-single-subblock-padding_loop.lzma | Bin 43 -> 0 bytes - tests/files/bad-single-subblock1023-slow.lzma | Bin 7886 -> 0 bytes - tests/files/bad-single-subblock_subblock.lzma | Bin 26 -> 0 bytes - tests/files/good-0-empty.lzma | Bin 0 -> 32 bytes - tests/files/good-0cat-empty.lzma | Bin 0 -> 64 bytes - tests/files/good-0catpad-empty.lzma | Bin 0 -> 68 bytes - tests/files/good-0pad-empty.lzma | Bin 0 -> 36 bytes - tests/files/good-1-3delta-lzma2.lzma | Bin 0 -> 528 bytes - tests/files/good-1-block_header-1.lzma | Bin 0 -> 72 bytes - tests/files/good-1-block_header-2.lzma | Bin 0 -> 68 bytes - tests/files/good-1-block_header-3.lzma | Bin 0 -> 68 bytes - tests/files/good-1-check-crc32.lzma | Bin 0 -> 68 bytes - tests/files/good-1-check-crc64.lzma | Bin 0 -> 72 bytes - tests/files/good-1-check-none.lzma | Bin 0 -> 64 bytes - tests/files/good-1-check-sha256.lzma | Bin 0 -> 96 bytes - tests/files/good-1-delta-lzma2.tiff.lzma | Bin 0 -> 51312 bytes - tests/files/good-1-lzma2-1.lzma | Bin 0 -> 424 bytes - tests/files/good-1-lzma2-2.lzma | Bin 0 -> 424 bytes - tests/files/good-1-lzma2-3.lzma | Bin 0 -> 408 bytes - tests/files/good-1-sparc-lzma2.lzma | Bin 0 -> 2292 bytes - tests/files/good-1-x86-lzma2.lzma | Bin 0 -> 1936 bytes - tests/files/good-2-lzma2.lzma | Bin 0 -> 92 bytes - tests/files/good-cat-single-none-pad.lzma | Bin 64 -> 0 bytes - tests/files/good-multi-none-1.lzma | Bin 75 -> 0 bytes - tests/files/good-multi-none-2.lzma | Bin 53 -> 0 bytes - tests/files/good-multi-none-block_1.lzma | Bin 66 -> 0 bytes - tests/files/good-multi-none-block_2.lzma | Bin 58 -> 0 bytes - tests/files/good-multi-none-extra_1.lzma | Bin 51 -> 0 bytes - tests/files/good-multi-none-extra_2.lzma | Bin 79 -> 0 bytes - tests/files/good-multi-none-extra_3.lzma | Bin 55 -> 0 bytes - tests/files/good-multi-none-header_1.lzma | Bin 58 -> 0 bytes - tests/files/good-multi-none-header_2.lzma | Bin 66 -> 0 bytes - tests/files/good-multi-none-header_3.lzma | Bin 59 -> 0 bytes - tests/files/good-single-delta-lzma.tiff.lzma | Bin 51409 -> 0 bytes - tests/files/good-single-lzma-empty.lzma | Bin 21 -> 0 bytes - tests/files/good-single-lzma-flush_1.lzma | Bin 48 -> 0 bytes - tests/files/good-single-lzma-flush_2.lzma | Bin 63 -> 0 bytes - tests/files/good-single-lzma.lzma | Bin 44 -> 0 bytes - tests/files/good-single-none-empty_1.lzma | Bin 18 -> 0 bytes - tests/files/good-single-none-empty_2.lzma | Bin 26 -> 0 bytes - tests/files/good-single-none-empty_3.lzma | Bin 19 -> 0 bytes - tests/files/good-single-none-pad.lzma | Bin 32 -> 0 bytes - tests/files/good-single-none.lzma | Bin 30 -> 0 bytes - tests/files/good-single-sparc-lzma.lzma | Bin 2263 -> 0 bytes - tests/files/good-single-subblock-lzma.lzma | Bin 50 -> 0 bytes - tests/files/good-single-subblock_implicit.lzma | Bin 35 -> 0 bytes - tests/files/good-single-subblock_rle.lzma | Bin 118 -> 0 bytes - tests/files/good-single-x86-lzma.lzma | Bin 1909 -> 0 bytes - tests/files/malicious-multi-metadata-64PiB.lzma | Bin 51 -> 0 bytes - tests/files/malicious-single-subblock-256MiB.lzma | Bin 30 -> 0 bytes - tests/files/malicious-single-subblock-64PiB.lzma | Bin 45 -> 0 bytes - tests/files/malicious-single-subblock31-slow.lzma | Bin 1233 -> 0 bytes - tests/files/unsupported-block_header.lzma | Bin 0 -> 68 bytes - tests/files/unsupported-check.lzma | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-1.lzma | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-2.lzma | Bin 0 -> 68 bytes - tests/files/unsupported-filter_flags-3.lzma | Bin 0 -> 68 bytes - tests/test_block_header.c | 28 +- - tests/test_compress.sh | 4 +- - tests/test_filter_flags.c | 51 +- - tests/test_stream_flags.c | 4 +- - tests/tests.h | 8 + - 294 files changed, 9768 insertions(+), 8195 deletions(-) - -commit 57b9a145a527f0716822615e5ed536d33aebd3fc -Author: Lasse Collin -Date: 2008-06-20 17:16:32 +0300 - - Fix test_filter_flags to match the new restriction of lc+lp. - - tests/test_filter_flags.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit eaafc4367c77ec1d910e16d11b4da293969d97a3 -Author: Lasse Collin -Date: 2008-06-20 16:19:54 +0300 - - Remove some redundant code from LZMA encoder. - - src/liblzma/lzma/lzma_encoder.c | 15 +-------------- - 1 file changed, 1 insertion(+), 14 deletions(-) - -commit 0809c46534fa5664fe35d9e98d95e87312ed130e -Author: Lasse Collin -Date: 2008-06-19 16:35:08 +0300 - - Add limit of lc + lp <= 4. Now we can allocate the - literal coder as part of the main LZMA encoder or - decoder structure. - - Make the LZMA decoder to rely on the current internal API - to free the allocated memory in case an error occurs. - - src/liblzma/api/lzma/lzma.h | 10 +++++- - src/liblzma/lzma/lzma_decoder.c | 57 ++++++++------------------------- - src/liblzma/lzma/lzma_encoder_init.c | 13 ++++---- - src/liblzma/lzma/lzma_encoder_private.h | 2 +- - src/liblzma/lzma/lzma_literal.c | 39 +++++----------------- - src/liblzma/lzma/lzma_literal.h | 13 +++----- - 6 files changed, 43 insertions(+), 91 deletions(-) - -commit d25ab1b96178f06a0e724f58e3cd68300b2b1275 -Author: Lasse Collin -Date: 2008-06-18 21:45:19 +0300 - - Comments - - src/liblzma/lzma/lzma_encoder.c | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - -commit 6368a2fa5901c75864be5171dd57a50af7adbb41 -Author: Lasse Collin -Date: 2008-06-18 19:19:02 +0300 - - Delete old code that was supposed to be already deleted - from test_block_header.c. - - tests/test_block_header.c | 30 ------------------------------ - 1 file changed, 30 deletions(-) - -commit 7d17818cec8597f847b0a2537fde991bbc3d9e96 -Author: Lasse Collin -Date: 2008-06-18 18:02:10 +0300 - - Update the code to mostly match the new simpler file format - specification. Simplify things by removing most of the - support for known uncompressed size in most places. - There are some miscellaneous changes here and there too. - - The API of liblzma has got many changes and still some - more will be done soon. While most of the code has been - updated, some things are not fixed (the command line tool - will choke with invalid filter chain, if nothing else). - - Subblock filter is somewhat broken for now. It will be - updated once the encoded format of the Subblock filter - has been decided. - - configure.ac | 41 +- - debug/full_flush.c | 16 +- - debug/sync_flush.c | 15 +- - src/common/bswap.h | 44 ++ - src/common/integer.h | 167 +++++ - src/liblzma/api/Makefile.am | 5 +- - src/liblzma/api/lzma.h | 9 +- - src/liblzma/api/lzma/alone.h | 32 +- - src/liblzma/api/lzma/auto.h | 7 +- - src/liblzma/api/lzma/base.h | 15 + - src/liblzma/api/lzma/block.h | 306 +++------- - src/liblzma/api/lzma/check.h | 18 +- - src/liblzma/api/lzma/copy.h | 29 - - src/liblzma/api/lzma/easy.h | 61 +- - src/liblzma/api/lzma/extra.h | 114 ---- - src/liblzma/api/lzma/filter.h | 5 +- - src/liblzma/api/lzma/index.h | 204 ++++++- - src/liblzma/api/lzma/index_hash.h | 94 +++ - src/liblzma/api/lzma/info.h | 315 ---------- - src/liblzma/api/lzma/lzma.h | 2 +- - src/liblzma/api/lzma/metadata.h | 100 --- - src/liblzma/api/lzma/raw.h | 20 +- - src/liblzma/api/lzma/stream.h | 157 +---- - src/liblzma/api/lzma/stream_flags.h | 146 +++-- - src/liblzma/api/lzma/version.h | 2 +- - src/liblzma/api/lzma/vli.h | 83 ++- - src/liblzma/check/Makefile.am | 1 - - src/liblzma/check/check.c | 55 +- - src/liblzma/check/check.h | 47 +- - src/liblzma/check/check_byteswap.h | 43 -- - src/liblzma/check/crc32_init.c | 2 +- - src/liblzma/check/crc64_init.c | 2 +- - src/liblzma/check/crc_macros.h | 2 +- - src/liblzma/check/sha256.c | 53 +- - src/liblzma/common/Makefile.am | 31 +- - src/liblzma/common/alignment.c | 5 +- - src/liblzma/common/alone_decoder.c | 77 +-- - src/liblzma/common/alone_encoder.c | 99 ++- - src/liblzma/common/auto_decoder.c | 18 +- - src/liblzma/common/block_decoder.c | 298 +++------ - src/liblzma/common/block_encoder.c | 228 ++----- - src/liblzma/common/block_header_decoder.c | 400 +++--------- - src/liblzma/common/block_header_encoder.c | 207 +++---- - src/liblzma/common/block_private.h | 51 +- - src/liblzma/common/block_util.c | 73 +++ - src/liblzma/common/common.h | 44 +- - src/liblzma/common/copy_coder.c | 144 ----- - src/liblzma/common/copy_coder.h | 31 - - src/liblzma/common/delta_common.c | 4 - - src/liblzma/common/delta_common.h | 4 - - src/liblzma/common/delta_decoder.c | 55 +- - src/liblzma/common/delta_encoder.c | 7 +- - src/liblzma/common/easy.c | 122 ++++ - src/liblzma/common/easy_common.c | 54 -- - src/liblzma/common/easy_common.h | 28 - - src/liblzma/common/easy_multi.c | 103 ---- - src/liblzma/common/easy_single.c | 37 -- - src/liblzma/common/extra.c | 34 -- - src/liblzma/common/features.c | 4 - - src/liblzma/common/filter_flags_decoder.c | 384 ++++-------- - src/liblzma/common/filter_flags_encoder.c | 120 +--- - src/liblzma/common/index.c | 773 ++++++++++++++++++++--- - src/liblzma/common/index.h | 67 ++ - src/liblzma/common/index_decoder.c | 252 ++++++++ - src/liblzma/common/index_encoder.c | 222 +++++++ - src/liblzma/common/index_encoder.h | 30 + - src/liblzma/common/index_hash.c | 340 +++++++++++ - src/liblzma/common/info.c | 814 ------------------------- - src/liblzma/common/memory_usage.c | 1 - - src/liblzma/common/metadata_decoder.c | 578 ------------------ - src/liblzma/common/metadata_decoder.h | 31 - - src/liblzma/common/metadata_encoder.c | 435 ------------- - src/liblzma/common/metadata_encoder.h | 30 - - src/liblzma/common/raw_common.c | 178 ++---- - src/liblzma/common/raw_common.h | 5 +- - src/liblzma/common/raw_decoder.c | 19 +- - src/liblzma/common/raw_decoder.h | 3 +- - src/liblzma/common/raw_encoder.c | 101 +-- - src/liblzma/common/raw_encoder.h | 3 +- - src/liblzma/common/stream_common.h | 3 + - src/liblzma/common/stream_decoder.c | 458 +++++--------- - src/liblzma/common/stream_decoder.h | 28 + - src/liblzma/common/stream_encoder.c | 282 +++++++++ - src/liblzma/common/stream_encoder.h | 30 + - src/liblzma/common/stream_encoder_multi.c | 445 -------------- - src/liblzma/common/stream_encoder_multi.h | 26 - - src/liblzma/common/stream_encoder_single.c | 219 ------- - src/liblzma/common/stream_flags_decoder.c | 260 ++------ - src/liblzma/common/stream_flags_encoder.c | 56 +- - src/liblzma/common/stream_flags_equal.c | 36 ++ - src/liblzma/common/vli_decoder.c | 68 ++- - src/liblzma/common/vli_encoder.c | 59 +- - src/liblzma/common/vli_reverse_decoder.c | 55 -- - src/liblzma/lz/lz_decoder.c | 6 +- - src/liblzma/lz/lz_decoder.h | 10 +- - src/liblzma/lzma/lzma_decoder.c | 13 +- - src/liblzma/lzma/lzma_decoder.h | 10 +- - src/liblzma/simple/simple_coder.c | 29 +- - src/liblzma/simple/simple_private.h | 4 - - src/liblzma/subblock/subblock_decoder.c | 106 +--- - src/liblzma/subblock/subblock_decoder_helper.c | 5 +- - src/liblzma/subblock/subblock_encoder.c | 8 +- - src/lzma/args.c | 22 +- - src/lzma/args.h | 2 - - src/lzma/error.c | 6 + - src/lzma/process.c | 26 +- - src/lzmadec/lzmadec.c | 8 +- - tests/Makefile.am | 5 +- - tests/test_block_header.c | 411 +++++-------- - tests/test_compress.sh | 65 +- - tests/test_filter_flags.c | 116 ++-- - tests/test_index.c | 504 ++++++++++++++- - tests/test_info.c | 717 ---------------------- - tests/test_stream_flags.c | 134 ++-- - tests/tests.h | 14 +- - 115 files changed, 4846 insertions(+), 8156 deletions(-) - -commit bf6348d1a3ff09fdc06940468f318f75ffa6af11 -Author: Lasse Collin -Date: 2008-06-17 15:03:46 +0300 - - Update the file format specification draft. The new one is - a lot simpler than the previous versions, but it also means - that the existing code will change a lot. - - doc/file-format.txt | 1794 +++++++++++++++------------------------------------ - 1 file changed, 508 insertions(+), 1286 deletions(-) - -commit 803194ddd26f01ff60ba4e9924c6087a56b29827 -Author: Lasse Collin -Date: 2008-06-11 21:42:47 +0300 - - Fix uninitialized variable in LZMA encoder. This was - introduced in 369f72fd656f537a9a8e06f13e6d0d4c242be22f. - - src/liblzma/lzma/lzma_encoder_init.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 0ea98e52ba87453497b1355c51f13bad55c8924a -Author: Lasse Collin -Date: 2008-06-11 15:08:44 +0300 - - Improve command line integer parsing a little in lzma and - lzmadec to make them accept also KiB in addition Ki etc. - Fix also memory usage information in lzmadec --help. - - src/lzma/util.c | 23 ++++++++++++++--------- - src/lzmadec/lzmadec.c | 31 ++++++++++++++++++------------- - 2 files changed, 32 insertions(+), 22 deletions(-) - -commit 436fa5fae96d4e35759aed33066060f09ee8c6ef -Author: Lasse Collin -Date: 2008-06-10 20:36:12 +0300 - - s/decompressed/compressed/ in the command line tool's - error message. - - src/lzma/main.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 369f72fd656f537a9a8e06f13e6d0d4c242be22f -Author: Lasse Collin -Date: 2008-06-01 12:48:17 +0300 - - Fix a buffer overflow in the LZMA encoder. It was due to my - misunderstanding of the code. There's no tiny fix for this - problem, so I also cleaned up the code in general. - - This reduces the speed of the encoder 2-5 % in the fastest - compression mode ("lzma -1"). High compression modes should - have no noticeable performance difference. - - This commit breaks things (especially LZMA_SYNC_FLUSH) but I - will fix them once the new format and LZMA2 has been roughly - implemented. Plain LZMA won't support LZMA_SYNC_FLUSH at all - and won't be supported in the new .lzma format. This may - change still but this is what it looks like now. - - Support for known uncompressed size (that is, LZMA or LZMA2 - without EOPM) is likely to go away. This means there will - be API changes. - - src/liblzma/lz/lz_encoder.c | 113 +---- - src/liblzma/lz/lz_encoder.h | 18 +- - src/liblzma/lzma/lzma_encoder.c | 551 ++++++++++++------------- - src/liblzma/lzma/lzma_encoder_getoptimum.c | 59 ++- - src/liblzma/lzma/lzma_encoder_getoptimumfast.c | 4 +- - src/liblzma/lzma/lzma_encoder_init.c | 9 +- - src/liblzma/lzma/lzma_encoder_private.h | 15 +- - src/liblzma/rangecoder/range_encoder.h | 383 +++++++++-------- - 8 files changed, 532 insertions(+), 620 deletions(-) - -commit e55e0e873ce2511325749d415ae547d62ab5f00d -Author: Lasse Collin -Date: 2008-05-30 11:53:41 +0300 - - Typo fixes from meyering. - - doc/faq.txt | 4 ++-- - doc/liblzma-advanced.txt | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) - -commit ed6664146fcbe9cc4a3b23b31632182ed812ea93 -Author: Lasse Collin -Date: 2008-05-11 14:24:42 +0300 - - Remove support for pre-C89 libc versions that lack memcpy, - memmove, and memset. - - configure.ac | 2 +- - src/common/sysdefs.h | 15 ++------------- - src/liblzma/common/allocator.c | 2 +- - 3 files changed, 4 insertions(+), 15 deletions(-) - -commit b09464bf9ae694afc2d1dc26188ac4e2e8af0a63 -Author: Lasse Collin -Date: 2008-05-11 14:17:21 +0300 - - Improved C99 compiler detection in configure.ac. It will - pass -std=gnu99 instead of -std=c99 to GCC now, but -pedantic - should still give warnings about GNU extensions like before - except with some special keywords like asm(). - - configure.ac | 24 ++++++++++++------------ - 1 file changed, 12 insertions(+), 12 deletions(-) - -commit 11de5d5267f7a0a7f0a4d34eec147e65eaf9f9cf -Author: Lasse Collin -Date: 2008-05-06 15:15:07 +0300 - - Bunch of grammar fixes from meyering. - - doc/liblzma-security.txt | 8 ++++---- - src/liblzma/api/lzma/memlimit.h | 6 +++--- - src/lzma/help.c | 2 +- - tests/files/README | 2 +- - 4 files changed, 9 insertions(+), 9 deletions(-) - -commit dc192b6343ae36276c85fcf7ef6006147816eadc -Author: Lasse Collin -Date: 2008-05-06 13:41:05 +0300 - - Typo fix - - src/liblzma/api/lzma/init.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 944b62b93239b27b338d117f2668c0e95849659b -Author: Lasse Collin -Date: 2008-05-04 22:29:27 +0300 - - Don't print an error message on broken pipe unless --verbose - is used. - - src/lzma/io.c | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -commit 8e074349e47ea6832b8fdf9244e581d453733433 -Author: Lasse Collin -Date: 2008-04-30 22:16:17 +0300 - - Fix a crash with --format=alone if other filters than LZMA - are specified on the command line. - - src/lzma/args.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit 2f361ac19b7fd3abcd362de4d470e6a9eb495b73 -Author: Lasse Collin -Date: 2008-04-28 17:08:27 +0300 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 3be21fb12f4cec2cf07799e8960382f4cb375369 -Author: Lasse Collin -Date: 2008-04-28 17:06:34 +0300 - - Fixed wrong spelling "limitter" to "limiter". This affects - liblzma's API. - - doc/liblzma-security.txt | 14 +- - src/liblzma/api/lzma/base.h | 4 +- - src/liblzma/api/lzma/memlimit.h | 10 +- - src/liblzma/api/lzma/stream.h | 4 +- - src/liblzma/common/Makefile.am | 2 +- - src/liblzma/common/memory_limiter.c | 288 +++++++++++++++++++++++++++++++++++ - src/liblzma/common/memory_limitter.c | 288 ----------------------------------- - src/lzma/list.c | 6 +- - src/lzmadec/lzmadec.c | 12 +- - tests/test_memlimit.c | 4 +- - 10 files changed, 316 insertions(+), 316 deletions(-) - -commit beeb81060821dfec4e7898e0d44b7900dcb2215e -Author: Lasse Collin -Date: 2008-04-25 15:39:50 +0300 - - Prevent LZ encoder from hanging with known uncompressed - size. The "fix" breaks LZMA_SYNC_FLUSH at end of stream - with known uncompressed size, but since it currently seems - likely that support for encoding with known uncompressed - size will go away anyway, I'm not fixing this problem now. - - src/liblzma/lz/lz_encoder.c | 9 +++++++-- - 1 file changed, 7 insertions(+), 2 deletions(-) - -commit c324325f9f13cdeb92153c5d00962341ba070ca2 -Author: Lasse Collin -Date: 2008-04-25 13:58:56 +0300 - - Removed src/liblzma/common/sysdefs.h symlink, which was - annoying, because "make dist" put two copies of sysdefs.h - into the tarball instead of the symlink. - - src/liblzma/check/crc32_table.c | 2 +- - src/liblzma/check/crc64_table.c | 2 +- - src/liblzma/common/Makefile.am | 1 - - src/liblzma/common/common.h | 2 +- - src/liblzma/common/sysdefs.h | 1 - - 5 files changed, 3 insertions(+), 5 deletions(-) - -commit d3ba30243c75c13d094de1793f9c58acdbacc692 -Author: Lasse Collin -Date: 2008-04-25 13:41:29 +0300 - - Added memusage.c to debug directory. - - debug/Makefile.am | 3 ++- - debug/memusage.c | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 57 insertions(+), 1 deletion(-) - -commit 8f804c29aa8471ccd6438ddca254092b8869ca52 -Author: Lasse Collin -Date: 2008-04-25 13:32:35 +0300 - - Bumped version number to 4.999.3alpha. It will become 5.0.0 - once we have a stable release (won't be very soon). The - version number is no longer related to version of LZMA SDK. - - Made some small Automake-related changes to toplevel - Makefile.am and configure.ac. - - Makefile.am | 7 +++++-- - README | 29 +++++++++++++++++++++++++++++ - configure.ac | 4 ++-- - src/liblzma/api/lzma/version.h | 22 ++++++++++------------ - 4 files changed, 46 insertions(+), 16 deletions(-) - -commit c99037ea10f121cbacf60c37a36c29768ae53447 -Author: Lasse Collin -Date: 2008-04-24 20:25:39 +0300 - - Fix a memory leak by calling free(extra->data) in - lzma_extra_free(). - - src/liblzma/common/extra.c | 1 + - 1 file changed, 1 insertion(+) - -commit 22ba3b0b5043fa481903482ce85015fe775939e5 -Author: Lasse Collin -Date: 2008-04-24 20:23:05 +0300 - - Make unlzma and lzcat symlinks. - - src/lzma/Makefile.am | 12 ++++++++++++ - 1 file changed, 12 insertions(+) - -commit 17c36422d4cbc2c70d5c83ec389406f92cd9e85e -Author: Lasse Collin -Date: 2008-04-24 20:20:27 +0300 - - Fixed a bug in command line option parsing. - - src/lzma/options.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 283f939974c32c47f05d495e8dea455ec646ed64 -Author: Lasse Collin -Date: 2008-04-24 20:19:20 +0300 - - Added two assert()s. - - src/liblzma/lzma/lzma_encoder.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit eb348a60b6e19a7c093f892434f23c4756973ffd -Author: Lasse Collin -Date: 2008-04-24 19:22:53 +0300 - - Switch to uint16_t as the type of range coder probabilities. - - src/liblzma/rangecoder/range_common.h | 25 +++++++++++++++++++------ - 1 file changed, 19 insertions(+), 6 deletions(-) - -commit 6c5306e312bcfd254cf654f88c04e34ba786df3d -Author: Lasse Collin -Date: 2008-04-24 18:39:57 +0300 - - Fix wrong return type (uint32_t -> bool). - - src/liblzma/lz/lz_encoder.c | 2 +- - src/liblzma/lz/lz_encoder.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 712cfe3ebfd24df24d8896b1315c53c3bc4369c8 -Author: Lasse Collin -Date: 2008-04-24 18:38:00 +0300 - - Fix data corruption in LZ encoder with LZMA_SYNC_FLUSH. - - src/liblzma/lz/lz_encoder.c | 16 ++++++++++++++++ - src/liblzma/lz/lz_encoder.h | 4 ++++ - src/liblzma/lz/match_c.h | 23 ++++++++++++++++++----- - 3 files changed, 38 insertions(+), 5 deletions(-) - -commit bc04486e368d20b3027cde625267762aae063965 -Author: Lasse Collin -Date: 2008-04-24 17:33:01 +0300 - - Fix fastpos problem in Makefile.am when built with --enable-small. - - src/liblzma/lzma/Makefile.am | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 7ab493924e0ed590a5121a15ee54038d238880d3 -Author: Lasse Collin -Date: 2008-04-24 17:30:51 +0300 - - Use 64-bit integer as range encoder's cache size. This fixes a - theoretical data corruption, which should be very hard to trigger - even intentionally. - - src/liblzma/rangecoder/range_encoder.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 641998c3e1ecc8b598fe0eb051fab8b9535c291b -Author: Lasse Collin -Date: 2008-03-24 16:38:40 +0200 - - Replaced the range decoder optimization that used arithmetic - right shift with as fast version that doesn't need - arithmetic right shift. Removed the related check from - configure.ac. - - configure.ac | 1 - - m4/ax_c_arithmetic_rshift.m4 | 36 ----------------------- - src/liblzma/rangecoder/range_decoder.h | 53 ++++++++++------------------------ - 3 files changed, 16 insertions(+), 74 deletions(-) - -commit ad999efd279d95f1e7ac555b14170e8e9020488c -Author: Lasse Collin -Date: 2008-03-22 14:39:34 +0200 - - Take advantage of arithmetic right shift in range decoder. - - src/liblzma/rangecoder/range_decoder.h | 52 ++++++++++++++++++++++++---------- - 1 file changed, 37 insertions(+), 15 deletions(-) - -commit 03e0e8a0d7228b6ff1f0af39e2c040a4e425973d -Author: Lasse Collin -Date: 2008-03-22 14:18:29 +0200 - - Added autoconf check to detect if we can use arithmetic - right shift for optimizations. - - configure.ac | 1 + - m4/ax_c_arithmetic_rshift.m4 | 36 ++++++++++++++++++++++++++++++++++++ - 2 files changed, 37 insertions(+) - -commit 7521bbdc83acab834594a22bec50c8e1bd836298 -Author: Lasse Collin -Date: 2008-03-22 01:26:36 +0200 - - Update a comment to use the variable name rep_len_decoder. - - (And BTW, the previous commit actually did change the - program logic slightly.) - - src/liblzma/lzma/lzma_decoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 63b74d000eedaebb8485f623e56864ff5ab71064 -Author: Lasse Collin -Date: 2008-03-22 00:57:33 +0200 - - Demystified the "state" variable in LZMA code. Use the - word literal instead of char for better consistency. - There are still some names with _char instead of _literal - in lzma_optimum, these may be changed later. - - Renamed length coder variables. - - This commit doesn't change the program logic. - - src/liblzma/lzma/lzma_common.h | 69 ++++++++++++++++++++++-------- - src/liblzma/lzma/lzma_decoder.c | 47 ++++++++++---------- - src/liblzma/lzma/lzma_encoder.c | 14 +++--- - src/liblzma/lzma/lzma_encoder_getoptimum.c | 34 +++++++-------- - src/liblzma/lzma/lzma_encoder_init.c | 5 ++- - src/liblzma/lzma/lzma_encoder_private.h | 8 ++-- - 6 files changed, 107 insertions(+), 70 deletions(-) - -commit e6eb0a26757e851cef62b9440319a8e73b015cb9 -Author: Lasse Collin -Date: 2008-03-14 23:16:11 +0200 - - Fix data corruption in LZMA encoder. Note that this bug was - specific to liblzma and was *not* present in LZMA SDK. - - src/liblzma/lzma/lzma_encoder.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 7d516f5129e4373a6d57249d7f608c634c66bf12 -Author: Lasse Collin -Date: 2008-03-14 21:32:37 +0200 - - Fix a comment API header. - - src/liblzma/api/lzma/lzma.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 748d6e4274921a350bd0a317380309717441ef9c -Author: Lasse Collin -Date: 2008-03-12 23:14:50 +0200 - - Make lzma_stream.next_in const. Let's see if anyone complains. - - src/liblzma/api/lzma/base.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit bfde3b24a5ae25ce53c854762b6148952386b025 -Author: Lasse Collin -Date: 2008-03-11 15:35:34 +0200 - - Apply a minor speed optimization to LZMA decoder. - - src/liblzma/lzma/lzma_decoder.c | 85 +++++++++++++++++++++-------------------- - 1 file changed, 43 insertions(+), 42 deletions(-) - -commit f310c50286d9e4e9c6170bb65348c9bb430a65b4 -Author: Lasse Collin -Date: 2008-03-11 15:17:16 +0200 - - Initialize the last byte of the dictionary to zero so that - lz_get_byte(lz, 0) returns zero. This was broken by - 1a3b21859818e4d8e89a1da99699233c1bfd197d. - - src/liblzma/lz/lz_decoder.c | 1 + - 1 file changed, 1 insertion(+) - -commit 5ead36cf7f823093672a4e43c3180b38c9abbaff -Author: Lasse Collin -Date: 2008-03-10 15:57:55 +0200 - - Really fix the price count initialization. - - src/liblzma/lzma/lzma_encoder_init.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit d4d7feb83d1a1ded8f662a82e21e053841ca726c -Author: Lasse Collin -Date: 2008-03-10 13:47:17 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 0541c5ea63ef3c0ff85eeddb0a420e56b0c65258 -Author: Lasse Collin -Date: 2008-03-10 13:46:48 +0200 - - Initialize align_price_count and match_price_count in - lzma_encoder_init.c. While we don't call - fill_distances_prices() and fill_align_prices() in - lzma_lzma_encoder_init(), we still need to initialize - these two variables so that the fill functions get - called in lzma_encoder_getoptimum.c in the beginning - of a stream. - - src/liblzma/lzma/lzma_encoder_init.c | 2 ++ - 1 file changed, 2 insertions(+) - -commit 596fa1fac72823e4ef5bc26bb53f9090445bf748 -Author: Lasse Collin -Date: 2008-03-10 13:44:29 +0200 - - Always initialize lz->temp_size in lz_decoder.c. temp_size did - get initialized as a side-effect after allocating a new decoder, - but not when the decoder was reused. - - src/liblzma/lz/lz_decoder.c | 11 ++++++----- - 1 file changed, 6 insertions(+), 5 deletions(-) - -commit 45e43e169527e7a98a8c8a821d37bf25822b764d -Author: Lasse Collin -Date: 2008-03-10 13:41:25 +0200 - - Don't fill allocated memory with 0xFD when debugging is - enabled. It hides errors from Valgrind. - - src/liblzma/common/allocator.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit c0e19e0662205f81a86da8903cdc325d50635870 -Author: Lasse Collin -Date: 2008-02-28 10:24:31 +0200 - - Remove two redundant validity checks from the LZMA decoder. - These are already checked elsewhere, so omitting these - gives (very) tiny speed up. - - src/liblzma/lzma/lzma_decoder.c | 23 ++++------------------- - 1 file changed, 4 insertions(+), 19 deletions(-) - -commit de7485806284d1614095ae8cb2ebbb5d74c9ac45 -Author: Lasse Collin -Date: 2008-02-06 13:25:32 +0200 - - Tiny clean up to file-format.txt. - - doc/file-format.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 1a3b21859818e4d8e89a1da99699233c1bfd197d -Author: Lasse Collin -Date: 2008-02-02 14:51:06 +0200 - - Don't memzero() the history buffer when initializing LZ - decoder. There's no danger of information leak here, so - it isn't required. Doing memzero() takes a lot of time - with large dictionaries, which could make it easier to - construct DoS attack to consume too much CPU time. - - src/liblzma/lz/lz_decoder.c | 7 +++---- - 1 file changed, 3 insertions(+), 4 deletions(-) - -commit 7e796e312bf644ea95aea0ff85480f47cfa30fc0 -Author: Lasse Collin -Date: 2008-02-01 08:39:26 +0200 - - Do uncompressed size validation in raw encoder. This way - it gets done for not only raw encoder, but also Block - and LZMA_Alone encoders. - - src/liblzma/common/raw_encoder.c | 90 ++++++++++++++++++++++++++++++++-------- - 1 file changed, 73 insertions(+), 17 deletions(-) - -commit 7dd48578a3853e0cfab9f1830bc30927173ec4bc -Author: Lasse Collin -Date: 2008-02-01 08:32:05 +0200 - - Avoid unneeded function call in raw_common.c. - - src/liblzma/common/raw_common.c | 20 +++++++++++--------- - 1 file changed, 11 insertions(+), 9 deletions(-) - -commit b596fac963c3ff96f615d4d9b427a213ec341211 -Author: Lasse Collin -Date: 2008-01-26 21:42:38 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit e9f6e9c075ad93141a568d94f7d4eb0f2edbd6c2 -Author: Lasse Collin -Date: 2008-01-26 21:40:23 +0200 - - Added note.GNU-stack to x86 assembler files. It is needed - when using non-executable stack. - - src/liblzma/check/crc32_x86.S | 9 +++++++++ - src/liblzma/check/crc64_x86.S | 9 +++++++++ - 2 files changed, 18 insertions(+) - -commit 4c7ad179c78f97f68ad548cb40a9dfa6871655ae -Author: Lasse Collin -Date: 2008-01-26 19:12:50 +0200 - - Added api/lzma/easy.h. I had forgot to add this to the - git repo. Thanks to Stephan Kulow. - - src/liblzma/api/lzma/easy.h | 174 ++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 174 insertions(+) - -commit 288b232f54c3692cd36f471d4042f51daf3ea79f -Author: Lasse Collin -Date: 2008-01-26 11:09:17 +0200 - - Added more test files. - - tests/files/README | 11 +++++++++++ - tests/files/bad-multi-none-header_7.lzma | Bin 0 -> 59 bytes - tests/files/good-single-sparc-lzma.lzma | Bin 0 -> 2263 bytes - tests/files/good-single-x86-lzma.lzma | Bin 0 -> 1909 bytes - 4 files changed, 11 insertions(+) - -commit c467b0defccf233d0c79234407bc38d7d09574d3 -Author: Lasse Collin -Date: 2008-01-26 10:47:55 +0200 - - Added more test files. - - tests/files/README | 6 ++++++ - tests/files/bad-multi-none-block_3.lzma | Bin 0 -> 58 bytes - tests/files/good-multi-none-block_2.lzma | Bin 0 -> 58 bytes - 3 files changed, 6 insertions(+) - -commit f9842f712732c482f2def9f24437851e57dd83f8 -Author: Lasse Collin -Date: 2008-01-26 00:25:34 +0200 - - Return LZMA_HEADER_ERROR if LZMA_SYNC_FLUSH is used with any - of the so called simple filters. If there is demand, limited - support for LZMA_SYNC_FLUSH may be added in future. - - After this commit, using LZMA_SYNC_FLUSH shouldn't cause - undefined behavior in any situation. - - src/liblzma/api/lzma/simple.h | 9 +++++++++ - src/liblzma/simple/simple_coder.c | 8 ++++++++ - 2 files changed, 17 insertions(+) - -commit e988ea1d1a286dd0f27af0657f9665d5cd8573aa -Author: Lasse Collin -Date: 2008-01-25 23:50:35 +0200 - - Added more Multi-Block test files. Improved some - descriptions in the test files' README. - - tests/files/README | 34 +++++++++++++++++++++++++------ - tests/files/bad-multi-none-block_1.lzma | Bin 0 -> 66 bytes - tests/files/bad-multi-none-block_2.lzma | Bin 0 -> 66 bytes - tests/files/good-multi-none-block_1.lzma | Bin 0 -> 66 bytes - 4 files changed, 28 insertions(+), 6 deletions(-) - -commit 4441e004185cd4c61bda184010eca5924c9dec87 -Author: Lasse Collin -Date: 2008-01-25 23:12:36 +0200 - - Combine lzma_options_block validation needed by both Block - encoder and decoder, and put the shared things to - block_private.h. Improved the checks a little so that - they may detect too big Compressed Size at initialization - time if lzma_options_block.total_size or .total_limit is - known. - - Allow encoding and decoding Blocks with combinations of - fields that are not allowed by the file format specification. - Doing this requires that the application passes such a - combination in lzma_options_lzma; liblzma doesn't do that, - but it's not impossible that someone could find them useful - in some custom file format. - - src/liblzma/common/block_decoder.c | 37 ++++++++++++---------------- - src/liblzma/common/block_encoder.c | 32 +++++------------------- - src/liblzma/common/block_private.h | 50 ++++++++++++++++++++++++++++++++++++++ - 3 files changed, 71 insertions(+), 48 deletions(-) - -commit bf4200c818fcf9102e56328d39cde91bfa13cfb6 -Author: Lasse Collin -Date: 2008-01-25 19:21:22 +0200 - - Added test_memlimit.c. - - tests/Makefile.am | 2 + - tests/test_memlimit.c | 114 ++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 116 insertions(+) - -commit 7b8fc7e6b501a32a36636dac79ecb57099269005 -Author: Lasse Collin -Date: 2008-01-25 19:20:28 +0200 - - Improved the memory limitter: - - Added lzma_memlimit_max() and lzma_memlimit_reached() - API functions. - - Added simple estimation of malloc()'s memory usage - overhead. - - Fixed integer overflow detection in lzma_memlimit_alloc(). - - Made some white space cleanups and added more comments. - - The description of lzma_memlimit_max() in memlimit.h is bad - and should be improved. - - src/liblzma/api/lzma/memlimit.h | 35 +++++++++++++ - src/liblzma/common/memory_limitter.c | 97 ++++++++++++++++++++++++++++++------ - 2 files changed, 118 insertions(+), 14 deletions(-) - -commit e0c3d0043da2f670cfdb1abbb3223d5a594ad8db -Author: Lasse Collin -Date: 2008-01-25 13:55:52 +0200 - - Use more parenthesis in succeed() macro in tests/tests.h. - - tests/tests.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 1fd76d488179580d37f31ee11948f4932aed31fd -Author: Lasse Collin -Date: 2008-01-24 14:49:34 +0200 - - Added more Multi-Block Stream test files. - - tests/files/README | 23 +++++++++++++++++++++++ - tests/files/bad-multi-none-header_2.lzma | Bin 0 -> 61 bytes - tests/files/bad-multi-none-header_3.lzma | Bin 0 -> 59 bytes - tests/files/bad-multi-none-header_4.lzma | Bin 0 -> 59 bytes - tests/files/bad-multi-none-header_5.lzma | Bin 0 -> 58 bytes - tests/files/bad-multi-none-header_6.lzma | Bin 0 -> 59 bytes - tests/files/good-multi-none-header_3.lzma | Bin 0 -> 59 bytes - 7 files changed, 23 insertions(+) - -commit 6e27b1098a28f4ce09bfa6df68ad94182dfc2936 -Author: Lasse Collin -Date: 2008-01-24 00:46:05 +0200 - - Added bunch of test files containing Multi-Block Streams. - - tests/files/README | 53 ++++++++++++++++++++++++++++++ - tests/files/bad-multi-none-1.lzma | Bin 0 -> 54 bytes - tests/files/bad-multi-none-2.lzma | Bin 0 -> 53 bytes - tests/files/bad-multi-none-3.lzma | Bin 0 -> 53 bytes - tests/files/bad-multi-none-extra_1.lzma | Bin 0 -> 54 bytes - tests/files/bad-multi-none-extra_2.lzma | Bin 0 -> 54 bytes - tests/files/bad-multi-none-extra_3.lzma | Bin 0 -> 55 bytes - tests/files/bad-multi-none-header_1.lzma | Bin 0 -> 57 bytes - tests/files/bad-multi-none-index_1.lzma | Bin 0 -> 51 bytes - tests/files/bad-multi-none-index_2.lzma | Bin 0 -> 49 bytes - tests/files/bad-multi-none-index_3.lzma | Bin 0 -> 51 bytes - tests/files/bad-multi-none-index_4.lzma | Bin 0 -> 51 bytes - tests/files/good-multi-none-1.lzma | Bin 0 -> 75 bytes - tests/files/good-multi-none-2.lzma | Bin 0 -> 53 bytes - tests/files/good-multi-none-extra_1.lzma | Bin 0 -> 51 bytes - tests/files/good-multi-none-extra_2.lzma | Bin 0 -> 79 bytes - tests/files/good-multi-none-extra_3.lzma | Bin 0 -> 55 bytes - tests/files/good-multi-none-header_1.lzma | Bin 0 -> 58 bytes - tests/files/good-multi-none-header_2.lzma | Bin 0 -> 66 bytes - 19 files changed, 53 insertions(+) - -commit db9df0a9609c01a00a227329fb96e983971040f5 -Author: Lasse Collin -Date: 2008-01-23 23:43:00 +0200 - - Fix decoding of empty Metadata Blocks, that don't have - even the Metadata Flags field. Earlier the code allowed - such files; now they are prohibited as the file format - specification requires. - - src/liblzma/common/metadata_decoder.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit 765f0b05f6e95ed9194fb90819cee189ebbac36b -Author: Lasse Collin -Date: 2008-01-23 23:38:18 +0200 - - Fix a bug related to 99e12af4e2b866c011fe0106cd1e0bfdcc8fe9c6. - lzma_metadata.header_metadata_size was not properly set to - zero if the Metadata had only the Metadata Flags field. - - src/liblzma/common/metadata_decoder.c | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -commit 3a7cc5c3dec7b078941f961b0393b86c418883b6 -Author: Lasse Collin -Date: 2008-01-23 23:35:49 +0200 - - Fix decoding of Extra Records that have empty Data. - - src/liblzma/common/metadata_decoder.c | 13 ++++++++++++- - 1 file changed, 12 insertions(+), 1 deletion(-) - -commit e5fdec93e273855c1bcc2579b83cfb481a9a1492 -Author: Lasse Collin -Date: 2008-01-23 22:02:38 +0200 - - Add the trailing '\0' to lzma_extra.data as the API header - already documents. - - src/liblzma/common/metadata_decoder.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit ed40dc5a2c28a8dfccab8c165b3780738eeef93e -Author: Lasse Collin -Date: 2008-01-23 21:21:21 +0200 - - Added debug/full_flush.c. - - debug/Makefile.am | 3 +- - debug/full_flush.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 107 insertions(+), 1 deletion(-) - -commit ae0cd09a666a1682da8fc09487322227679e218d -Author: Lasse Collin -Date: 2008-01-23 21:05:33 +0200 - - Return LZMA_STREAM_END instead of LZMA_OK if - LZMA_SYNC_FLUSH or LZMA_FULL_FLUSH is used when - there's no unfinished Block open. - - src/liblzma/common/stream_encoder_multi.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -commit 0e80ded13dfceb98f9494cbb5381a95eb44d03db -Author: Lasse Collin -Date: 2008-01-23 20:05:01 +0200 - - Added bad-single-none-footer_filter_flags.lzma and - bad-single-none-too_long_vli.lzma. - - tests/files/README | 5 +++++ - tests/files/bad-single-none-footer_filter_flags.lzma | Bin 0 -> 30 bytes - tests/files/bad-single-none-too_long_vli.lzma | Bin 0 -> 39 bytes - 3 files changed, 5 insertions(+) - -commit 8c8eb14055d8dd536b1b1c58fb284d34bb8ed1dd -Author: Lasse Collin -Date: 2008-01-23 13:42:35 +0200 - - Fixed a typo. - - src/liblzma/subblock/subblock_decoder_helper.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 980f65a9a10160c4d105767871e3002b9aaba3e0 -Author: Lasse Collin -Date: 2008-01-23 13:40:45 +0200 - - Fix a memory leak in the Subblock encoder. - - src/liblzma/subblock/subblock_encoder.c | 1 + - 1 file changed, 1 insertion(+) - -commit 99e12af4e2b866c011fe0106cd1e0bfdcc8fe9c6 -Author: Lasse Collin -Date: 2008-01-23 13:36:07 +0200 - - Fix Size of Header Metadata Block handling. Now - lzma_metadata.header_metadata_size == LZMA_VLI_VALUE_UNKNOWN - is not allowed at all. To indicate missing Header Metadata - Block, header_metadata_size must be set to zero. This is - what Metadata decoder does after this patch too. - - Note that other missing fields in lzma_metadata are still - indicated with LZMA_VLI_VALUE_UNKNOWN. This isn't as - illogical as it sounds at first, because missing Size of - Header Metadata Block means that Header Metadata Block is - not present in the Stream. With other Metadata fields, - a missing field means only that the value is unknown. - - src/liblzma/common/info.c | 13 ++++--------- - src/liblzma/common/metadata_decoder.c | 6 ++++++ - src/liblzma/common/metadata_encoder.c | 11 +++++------ - tests/test_info.c | 4 ++-- - 4 files changed, 17 insertions(+), 17 deletions(-) - -commit 58b78ab20c1bcced45cf71ae6684868fc90b4b81 -Author: Lasse Collin -Date: 2008-01-23 13:15:55 +0200 - - Fix a memory leak in metadata_decoder.c. - - src/liblzma/common/metadata_decoder.c | 1 + - 1 file changed, 1 insertion(+) - -commit 4d8cdbdab44400fd98f0f18a0f701e27cd1acdae -Author: Lasse Collin -Date: 2008-01-23 13:13:58 +0200 - - Fix the fix 863028cb7ad6d8d0455fa69348f56b376d7b908f which - just moved to problem. Now it's really fixed. - - src/liblzma/common/info.c | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 67321de963ccf69410b3868b8e31534fe18a90de -Author: Lasse Collin -Date: 2008-01-23 00:21:04 +0200 - - Take advantage of return_if_error() macro in - lzma_info_metadata_set() in info.c. - - src/liblzma/common/info.c | 24 ++++++++---------------- - 1 file changed, 8 insertions(+), 16 deletions(-) - -commit 863028cb7ad6d8d0455fa69348f56b376d7b908f -Author: Lasse Collin -Date: 2008-01-23 00:18:32 +0200 - - Fixed a dangling pointer that caused invalid free(). - - src/liblzma/common/info.c | 1 + - 1 file changed, 1 insertion(+) - -commit cf49f42a6bd40143f54a6b10d6e605599e958c0b -Author: Lasse Collin -Date: 2008-01-22 22:49:24 +0200 - - Added lzma_easy_* functions. These should make using - liblzma as easy as using zlib, because the easy API - don't require developers to know any fancy LZMA options. - - Note that Multi-Block Stream encoding is currently broken. - The easy API should be OK, the bug(s) are elsewhere. - - src/liblzma/api/Makefile.am | 1 + - src/liblzma/api/lzma.h | 1 + - src/liblzma/common/Makefile.am | 5 ++ - src/liblzma/common/easy_common.c | 54 ++++++++++++++++ - src/liblzma/common/easy_common.h | 28 ++++++++ - src/liblzma/common/easy_multi.c | 103 ++++++++++++++++++++++++++++++ - src/liblzma/common/easy_single.c | 37 +++++++++++ - src/liblzma/common/stream_encoder_multi.c | 3 +- - src/liblzma/common/stream_encoder_multi.h | 26 ++++++++ - 9 files changed, 256 insertions(+), 2 deletions(-) - -commit 1747b85a43abc1c3f152dbd349be2ef4089ecf6a -Author: Lasse Collin -Date: 2008-01-22 21:16:22 +0200 - - Fix Multi-Block Stream encoder's EOPM usage. - - src/liblzma/common/stream_encoder_multi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 0ed6f1adcea540fb9593ca115d36de537f7f0dc6 -Author: Lasse Collin -Date: 2008-01-22 00:15:11 +0200 - - Made lzma_extra pointers const in lzma_options_stream. - - src/liblzma/api/lzma/stream.h | 4 ++-- - src/liblzma/common/stream_encoder_multi.c | 8 ++++++-- - 2 files changed, 8 insertions(+), 4 deletions(-) - -commit 305afa38f64c75af8e81c4167e2d8fa8d85b53a4 -Author: Lasse Collin -Date: 2008-01-20 20:15:21 +0200 - - Updated debug/sync_flush.c. - - debug/sync_flush.c | 26 ++++++++++++++++++++++++-- - 1 file changed, 24 insertions(+), 2 deletions(-) - -commit d53e9b77054cfade6a643e77d085273a348b189c -Author: Lasse Collin -Date: 2008-01-20 20:14:26 +0200 - - Added debug/repeat.c. - - debug/Makefile.am | 1 + - debug/repeat.c | 43 +++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 44 insertions(+) - -commit 107259e306bcfc2336a0fb870fb58034c28faa52 -Author: Lasse Collin -Date: 2008-01-20 20:12:58 +0200 - - Fix alignment handling bugs in Subblock encoder. - - This leaves one known alignment bug unfixed: If repeat count - doesn't fit into 28-bit integer, the encoder has to split - this to multiple Subblocks with Subblock Type `Repeating Data'. - The extra Subblocks may have wrong alignment. Correct alignment - is restored after the split Repeating Data has been completely - written out. - - Since the encoder doesn't even try to fix the alignment unless - the size of Data is at least 4 bytes, to trigger this bug you - need at least 4 GiB of repeating data with sequence length of - 4 or more bytes. Since the worst thing done by this bug is - misaligned data (no data corruption), this bug simply isn't - worth fixing, because a proper fix isn't simple. - - src/liblzma/subblock/subblock_encoder.c | 170 ++++++++++++++++++++++---------- - 1 file changed, 119 insertions(+), 51 deletions(-) - -commit e141fe18950400faaa3503ff88ac20eacd73e88c -Author: Lasse Collin -Date: 2008-01-19 21:16:33 +0200 - - Implemented LZMA_SYNC_FLUSH support to the Subblock encoder. - The API for handing Subfilters was changed to make it - consistent with LZMA_SYNC_FLUSH. - - A few sanity checks were added for Subfilter handling. Some - small bugs were fixed. More comments were added. - - src/liblzma/api/lzma/subblock.h | 29 ++-- - src/liblzma/subblock/subblock_encoder.c | 263 ++++++++++++++++++++++++-------- - 2 files changed, 214 insertions(+), 78 deletions(-) - -commit 23c227a864a3b69f38c6a74306161d4e6918d1cc -Author: Lasse Collin -Date: 2008-01-19 15:19:21 +0200 - - Revised the Delta filter implementation. The initialization - function is still shared between encoder and decoder, but the - actual coding is in separate files for encoder and decoder. - - There are now separate functions for the actual delta - calculation depending on if Delta is the last filter in the - chain or not. If it is the last, the new code copies the - data from input to output buffer and does the delta - calculation at the same time. The old code first copied the - data, then did the delta in the target buffer, which required - reading through the data twice. - - Support for LZMA_SYNC_FLUSH was added to the Delta encoder. - This doesn't change anything in the file format. - - src/liblzma/common/Makefile.am | 14 ++- - src/liblzma/common/delta_coder.c | 189 ------------------------------------- - src/liblzma/common/delta_coder.h | 31 ------ - src/liblzma/common/delta_common.c | 70 ++++++++++++++ - src/liblzma/common/delta_common.h | 48 ++++++++++ - src/liblzma/common/delta_decoder.c | 102 ++++++++++++++++++++ - src/liblzma/common/delta_decoder.h | 28 ++++++ - src/liblzma/common/delta_encoder.c | 97 +++++++++++++++++++ - src/liblzma/common/delta_encoder.h | 28 ++++++ - src/liblzma/common/raw_decoder.c | 2 +- - src/liblzma/common/raw_encoder.c | 2 +- - 11 files changed, 387 insertions(+), 224 deletions(-) - -commit 61dc82f3e306b25ce3cd3d529df9ec7a0ec04b73 -Author: Lasse Collin -Date: 2008-01-18 20:18:08 +0200 - - Added the debug directory and the first debug tool - (sync_flush). These tools are not built unless the - user runs "make" in the debug directory. - - Makefile.am | 1 + - configure.ac | 1 + - debug/Makefile.am | 30 ++++++++++++++ - debug/README | 17 ++++++++ - debug/sync_flush.c | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 5 files changed, 165 insertions(+) - -commit 0ae3208db94585eb8294b97ded387de0a3a07646 -Author: Lasse Collin -Date: 2008-01-18 20:13:00 +0200 - - Added test files to test usage of flush marker in LZMA. - - tests/files/README | 12 ++++++++++++ - tests/files/bad-single-lzma-flush_beginning.lzma | Bin 0 -> 53 bytes - tests/files/bad-single-lzma-flush_twice.lzma | Bin 0 -> 63 bytes - tests/files/good-single-lzma-flush_1.lzma | Bin 0 -> 48 bytes - tests/files/good-single-lzma-flush_2.lzma | Bin 0 -> 63 bytes - 5 files changed, 12 insertions(+) - -commit ab5feaf1fcc146ef9fd39360c53c290bec39524e -Author: Lasse Collin -Date: 2008-01-18 20:02:52 +0200 - - Fix LZMA_SYNC_FLUSH handling in LZ and LZMA encoders. - That code is now almost completely in LZ coder, where - it can be shared with other LZ77-based algorithms in - future. - - src/liblzma/lz/lz_encoder.c | 34 ++++++++++++++++++++++++++-------- - src/liblzma/lz/lz_encoder.h | 1 + - src/liblzma/lzma/lzma_encoder.c | 27 ++------------------------- - 3 files changed, 29 insertions(+), 33 deletions(-) - -commit 079c4f7fc26b3d0b33d9ae7536697b45f3b73585 -Author: Lasse Collin -Date: 2008-01-18 17:21:24 +0200 - - Don't add -g to CFLAGS when --enable-debug is specified. - It's the job of the user to put that in CFLAGS. - - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -commit 61d1784d8f1761d979a6da6e223e279ca33815e6 -Author: Lasse Collin -Date: 2008-01-18 14:17:37 +0200 - - Set stdin and stdout to binary mode on Windows. This patch is - a forward port of b7b22fcb979a16d3a47c8001f058c9f7d4416068 - from lzma-utils-legacy.git. I don't know if the new code base - builds on Windows, but this is a start. - - src/lzmadec/lzmadec.c | 9 +++++++++ - 1 file changed, 9 insertions(+) - -commit c9cba976913e55ff9aac8a8133cc94416c7c1c9c -Author: Lasse Collin -Date: 2008-01-18 00:50:29 +0200 - - Added test_compress.sh and bunch of files needed by it. - This new set of tests compress and decompress several - test files with many different compression options. - This set of tests will be extended later. - - tests/Makefile.am | 30 ++++--- - tests/bcj_test.c | 66 ++++++++++++++ - tests/compress_prepared_bcj_sparc | Bin 0 -> 6804 bytes - tests/compress_prepared_bcj_x86 | Bin 0 -> 4649 bytes - tests/create_compress_files.c | 164 ++++++++++++++++++++++++++++++++++ - tests/test_compress.sh | 183 ++++++++++++++++++++++++++++++++++++++ - 6 files changed, 433 insertions(+), 10 deletions(-) - -commit 33be3c0e24d8f43376ccf71cc77d53671e792f07 -Author: Lasse Collin -Date: 2008-01-17 18:56:53 +0200 - - Subblock decoder: Don't exit the main loop in decode_buffer() - too early if we hit End of Input while decoding a Subblock of - type Repeating Data. To keep the loop termination condition - elegant, the order of enumerations in coder->sequence were - changed. - - To keep the case-labels in roughly the same order as the - enumerations in coder->sequence, large chunks of code was - moved around. This made the diff big and ugly compared to - the amount of the actual changes made. - - src/liblzma/subblock/subblock_decoder.c | 272 ++++++++++++++++---------------- - 1 file changed, 139 insertions(+), 133 deletions(-) - -commit b254bd97b1cdb68d127523d91ca9e054ed89c4fd -Author: Lasse Collin -Date: 2008-01-17 17:39:42 +0200 - - Fix wrong too small size of argument unfiltered_max - in ia64_coder_init(). It triggered assert() in - simple_coder.c, and could have caused a buffer overflow. - - This error was probably a copypaste mistake, since most - of the simple filters use unfiltered_max = 4. - - src/liblzma/simple/ia64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 8f5794c8f1a30e8e3b524b415bbe81af2e04c64a -Author: Lasse Collin -Date: 2008-01-17 17:27:45 +0200 - - Added --delta to the output of "lzma --help". - - src/lzma/help.c | 4 ++++ - 1 file changed, 4 insertions(+) - -commit f88590e0014b38d40465937c19f25f05f16c79ae -Author: Lasse Collin -Date: 2008-01-17 13:14:20 +0200 - - Fix Subblock docoder: If Subblock filter was used with known - Uncompressed Size, and the last output byte was from RLE, - the code didn't stop decoding as it should have done. - - src/liblzma/subblock/subblock_decoder.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -commit bc0b945ca376e333077644d2f7fd54c2848aab8a -Author: Lasse Collin -Date: 2008-01-16 16:33:37 +0200 - - Tiny non-technical edits to file-format.txt. - - doc/file-format.txt | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 7599bb7064ccf007f054595dedda7927af868252 -Author: Lasse Collin -Date: 2008-01-16 14:48:04 +0200 - - Plugged a memory leak in stream_decoder.c. - - src/liblzma/common/stream_decoder.c | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -commit 0b581539311f3712946e81e747839f8fb5f441a7 -Author: Lasse Collin -Date: 2008-01-16 14:47:27 +0200 - - Added memory leak detection to lzmadec.c. - - src/lzmadec/lzmadec.c | 3 +++ - 1 file changed, 3 insertions(+) - -commit 5b5b13c7bb8fde6331064d21f3ebde41072480c4 -Author: Lasse Collin -Date: 2008-01-16 14:46:50 +0200 - - Added lzma_memlimit_count(). - - src/liblzma/api/lzma/memlimit.h | 10 ++++++++++ - src/liblzma/common/memory_limitter.c | 19 +++++++++++++++++++ - 2 files changed, 29 insertions(+) - -commit 19389f2b82ec54fd4c847a18f16482e7be4c9887 -Author: Lasse Collin -Date: 2008-01-16 14:31:44 +0200 - - Added ARRAY_SIZE(array) macro. - - src/common/sysdefs.h | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 9bc33a54cbf83952130adbcb1be32c6882485416 -Author: Lasse Collin -Date: 2008-01-16 13:27:03 +0200 - - Make Uncompresed Size validation more strict - in alone_decoder.c. - - src/liblzma/common/alone_decoder.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 01d71d60b79027e1ce3eb9c79ae5191e1407c883 -Author: Lasse Collin -Date: 2008-01-15 17:46:59 +0200 - - Free the allocated memory in lzmadec if debugging is - enabled. This should make it possible to detect possible - memory leaks with Valgrind. - - src/lzmadec/lzmadec.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -commit 8235e6e5b2878f76633afcda9a334640db503ef5 -Author: Lasse Collin -Date: 2008-01-15 16:25:38 +0200 - - Fix memory leaks from test_block_header.c. - - tests/test_block_header.c | 19 +++++++++++++++++-- - 1 file changed, 17 insertions(+), 2 deletions(-) - -commit f10fc6a69d40b6d5c9cfbf8d3746f49869c2e2f6 -Author: Lasse Collin -Date: 2008-01-15 14:23:35 +0200 - - Use fastpos.h when encoding LZMA dictionary size in - Filter Flags encoder. - - src/liblzma/common/filter_flags_encoder.c | 40 +++++++++++++++---------------- - 1 file changed, 19 insertions(+), 21 deletions(-) - -commit e5728142a2048979f5c0c2149ce71ae952a092e1 -Author: Lasse Collin -Date: 2008-01-15 14:02:22 +0200 - - Revised the fastpos code. It now uses the slightly faster - table-based version from LZMA SDK 4.57. This should be - fast on most systems. - - A simpler and smaller alternative version is also provided. - On some CPUs this can be even a little faster than the - default table-based version (see comments in fastpos.h), - but on most systems the table-based code is faster. - - src/liblzma/common/init_encoder.c | 3 - - src/liblzma/lzma/Makefile.am | 4 + - src/liblzma/lzma/fastpos.h | 156 +++++++++ - src/liblzma/lzma/fastpos_table.c | 519 +++++++++++++++++++++++++++++ - src/liblzma/lzma/fastpos_tablegen.c | 63 ++++ - src/liblzma/lzma/lzma_common.h | 3 +- - src/liblzma/lzma/lzma_encoder.c | 1 + - src/liblzma/lzma/lzma_encoder_getoptimum.c | 1 + - src/liblzma/lzma/lzma_encoder_init.c | 22 -- - src/liblzma/lzma/lzma_encoder_private.h | 21 -- - 10 files changed, 746 insertions(+), 47 deletions(-) - -commit 10437b5b567f6a025ff16c45a572e417a0a9cc26 -Author: Lasse Collin -Date: 2008-01-15 13:32:13 +0200 - - Added bsr.h. - - src/liblzma/common/Makefile.am | 1 + - src/liblzma/common/bsr.h | 61 ++++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 62 insertions(+) - -commit f3c88e8b8d8dd57f4bba5f0921eebf276437c244 -Author: Lasse Collin -Date: 2008-01-15 13:29:14 +0200 - - Fixed assembler detection in configure.ac, and added - detection for x86_64. - - configure.ac | 32 ++++++++++++++++---------------- - 1 file changed, 16 insertions(+), 16 deletions(-) - -commit 54ec204f58287f50d3976288295da4188a19192b -Author: Lasse Collin -Date: 2008-01-15 12:20:41 +0200 - - Omit invalid space from printf() format string - in price_table_gen.c. - - src/liblzma/rangecoder/price_table_gen.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 01b4b19f49f00e17a0f9cb8754c672ac0847b6e1 -Author: Lasse Collin -Date: 2008-01-15 09:54:34 +0200 - - Removed a few unused macros from lzma_common.h. - - src/liblzma/lzma/lzma_common.h | 8 ++------ - 1 file changed, 2 insertions(+), 6 deletions(-) - -commit 19bd7f3cf25e4ff8487ef7098ca4a7b58681961d -Author: Lasse Collin -Date: 2008-01-15 08:37:42 +0200 - - Fix a typo in lzma_encoder.c. - - src/liblzma/lzma/lzma_encoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9f9b1983013048f2142e8bc7e240149d2687bedc -Author: Lasse Collin -Date: 2008-01-15 08:36:25 +0200 - - Convert bittree_get_price() and bittree_reverse_get_price() - from macros to inline functions. - - src/liblzma/lzma/lzma_encoder.c | 19 +++----- - src/liblzma/lzma/lzma_encoder_getoptimum.c | 16 +++---- - src/liblzma/rangecoder/range_encoder.h | 76 +++++++++++++++++------------- - 3 files changed, 56 insertions(+), 55 deletions(-) - -commit 78e85cb1a7667c54853670d2eb09d754bcbda87d -Author: Lasse Collin -Date: 2008-01-15 07:44:59 +0200 - - Fix CRC code in case --enable-small is used. - - src/liblzma/check/crc32_init.c | 2 +- - src/liblzma/check/crc64_init.c | 2 +- - src/liblzma/common/init_decoder.c | 2 -- - src/liblzma/common/init_encoder.c | 2 -- - tests/test_check.c | 2 ++ - 5 files changed, 4 insertions(+), 6 deletions(-) - -commit 949d4346e2d75bcd9dcb66c394d8d851d8db3aa0 -Author: Lasse Collin -Date: 2008-01-15 07:41:39 +0200 - - Fix typo in test_index.c. - - tests/test_index.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit d13d693155c176fc9e9ad5c50d48ccba27c2d9c6 -Author: Lasse Collin -Date: 2008-01-15 07:40:21 +0200 - - Added precomputed range coder probability price table. - - src/liblzma/common/init_encoder.c | 5 ++- - src/liblzma/rangecoder/Makefile.am | 9 +++- - src/liblzma/rangecoder/price_table.c | 70 +++++++++++++++++++++++++++++++ - src/liblzma/rangecoder/price_table_gen.c | 55 ++++++++++++++++++++++++ - src/liblzma/rangecoder/price_table_init.c | 48 +++++++++++++++++++++ - src/liblzma/rangecoder/range_common.h | 4 +- - src/liblzma/rangecoder/range_encoder.c | 46 -------------------- - src/liblzma/rangecoder/range_encoder.h | 21 +++++----- - 8 files changed, 197 insertions(+), 61 deletions(-) - -commit 362dc3843b373c1007a50a4719f378981f18ae03 -Author: Lasse Collin -Date: 2008-01-14 13:42:43 +0200 - - Remove RC_BUFFER_SIZE from lzma_encoder_private.h - and replace it with a sanity check. - - src/liblzma/lzma/lzma_encoder_private.h | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - -commit e22b37968d153683fec61ad37b6b160cb7ca4ddc -Author: Lasse Collin -Date: 2008-01-14 13:39:54 +0200 - - Major changes to LZ encoder, LZMA encoder, and range encoder. - These changes implement support for LZMA_SYNC_FLUSH in LZMA - encoder, and move the temporary buffer needed by range encoder - from lzma_range_encoder structure to lzma_lz_encoder. - - src/liblzma/lz/lz_encoder.c | 138 ++++++++++++++++++++++++++++----- - src/liblzma/lz/lz_encoder.h | 17 ++-- - src/liblzma/lzma/lzma_encoder.c | 74 ++++++++++-------- - src/liblzma/rangecoder/range_encoder.h | 117 ++++++++-------------------- - 4 files changed, 206 insertions(+), 140 deletions(-) - -commit b59ef3973781f892c0a72b5e5934194567100be5 -Author: Lasse Collin -Date: 2008-01-14 13:34:29 +0200 - - Added one assert() to process.c of the command line tool. - - src/lzma/process.c | 1 + - 1 file changed, 1 insertion(+) - -commit 9547e734a00ddb64c851fa3f116e4f9e7d763ea7 -Author: Lasse Collin -Date: 2008-01-14 12:09:52 +0200 - - Don't use coder->lz.stream_end_was_reached in assertions - in match_c.h. - - src/liblzma/lz/match_c.h | 2 -- - 1 file changed, 2 deletions(-) - -commit 3e09e1c05871f3757f759b801890ccccc9286608 -Author: Lasse Collin -Date: 2008-01-14 12:08:02 +0200 - - In lzma_read_match_distances(), don't use - coder->lz.stream_end_was_reached. That variable - will be removed, and the check isn't required anyway. - Rearrange the check so that it doesn't make one to - think that there could be an integer overflow. - - src/liblzma/lzma/lzma_encoder_private.h | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit a670fec8021e5962429689c194148a04c3418872 -Author: Lasse Collin -Date: 2008-01-14 11:56:41 +0200 - - Small LZMA_SYNC_FLUSH fixes to Block and Single-Stream encoders. - - src/liblzma/common/block_encoder.c | 4 ++-- - src/liblzma/common/stream_encoder_single.c | 1 + - 2 files changed, 3 insertions(+), 2 deletions(-) - -commit 3599dba9570a6972a16b6398d6c838e9b420e985 -Author: Lasse Collin -Date: 2008-01-14 11:54:56 +0200 - - More fixes to LZMA decoder's flush marker handling. - - src/liblzma/lzma/lzma_decoder.c | 52 ++++++++++++++++++++++++----------------- - 1 file changed, 30 insertions(+), 22 deletions(-) - -commit f73c2ab6079ed5675a42b39d584a567befbd4624 -Author: Lasse Collin -Date: 2008-01-10 17:13:42 +0200 - - Eliminate lzma_lz_encoder.must_move_pos. It's needed - only in one place which isn't performance criticial. - - src/liblzma/lz/lz_encoder.c | 6 ++---- - src/liblzma/lz/lz_encoder.h | 4 ---- - 2 files changed, 2 insertions(+), 8 deletions(-) - -commit 382808514a42b2f4b4a64515e2dfb3fc1bc48ecd -Author: Lasse Collin -Date: 2008-01-09 20:05:57 +0200 - - Define HAVE_ASM_X86 when x86 assembler optimizations are - used. This #define will be useful for inline assembly. - - configure.ac | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -commit 0e70fbe4032351aab13a1cd8e5deced105c0b276 -Author: Lasse Collin -Date: 2008-01-09 12:06:46 +0200 - - Added good-single-none-empty_3.lzma and - bad-single-none-empty.lzma. - - tests/files/README | 6 ++++++ - tests/files/bad-single-none-empty.lzma | Bin 0 -> 19 bytes - tests/files/good-single-none-empty_3.lzma | Bin 0 -> 19 bytes - 3 files changed, 6 insertions(+) - -commit 379fbbe84d922c7cc00afa65c6f0c095da596b19 -Author: Lasse Collin -Date: 2008-01-08 23:11:59 +0200 - - Take advantage of return_if_error() in block_decoder.c. - - src/liblzma/common/block_decoder.c | 23 +++++++---------------- - 1 file changed, 7 insertions(+), 16 deletions(-) - -commit 97d5fa82077e57815dfad995dc393c2809a78539 -Author: Lasse Collin -Date: 2008-01-08 23:10:57 +0200 - - Updated tests/files/README. - - tests/files/README | 15 +++++++++------ - 1 file changed, 9 insertions(+), 6 deletions(-) - -commit 3bb9bb310936cba6a743b4f06739a397dec7c28f -Author: Lasse Collin -Date: 2008-01-08 23:05:40 +0200 - - Added test files with empty Compressed Data. - - tests/files/README | 6 ++++++ - tests/files/good-single-lzma-empty.lzma | Bin 0 -> 21 bytes - tests/files/good-single-none-empty_1.lzma | Bin 0 -> 18 bytes - tests/files/good-single-none-empty_2.lzma | Bin 0 -> 26 bytes - 4 files changed, 6 insertions(+) - -commit 7054c5f5888ac6a7178cd43dc9583ce6c7e78c9f -Author: Lasse Collin -Date: 2008-01-08 22:58:42 +0200 - - Fix decoding of Blocks that have only Block Header. - - src/liblzma/common/block_decoder.c | 37 ++++++++++++++----------------------- - 1 file changed, 14 insertions(+), 23 deletions(-) - -commit 753e4d95cd1cf29c632dfe1a670af7c67aeffbf4 -Author: Lasse Collin -Date: 2008-01-08 22:27:46 +0200 - - Added good-single-subblock_implicit.lzma. - - tests/files/README | 2 ++ - tests/files/good-single-subblock_implicit.lzma | Bin 0 -> 35 bytes - 2 files changed, 2 insertions(+) - -commit faeac7b7aca75f86afed1e7cc06279d9d497c627 -Author: Lasse Collin -Date: 2008-01-08 18:50:30 +0200 - - Disable CRC32 from Block Headers when --check=none - has been specified. - - src/lzma/process.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit a751126dbb656767ed4666cf0e5d3e17349d93d1 -Author: Lasse Collin -Date: 2008-01-08 13:36:29 +0200 - - Fixed encoding of empty files. Arguments to is_size_valid() - were in wrong order in block_encoder.c. - - src/liblzma/common/block_encoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 9080267603b1006c4867c823307dca9df8be0d20 -Author: Lasse Collin -Date: 2008-01-08 13:35:36 +0200 - - Added a few test files. - - tests/files/README | 21 ++++++++++++++++++--- - tests/files/bad-cat-single-none-pad_garbage_1.lzma | Bin 0 -> 65 bytes - tests/files/bad-cat-single-none-pad_garbage_2.lzma | Bin 0 -> 65 bytes - tests/files/bad-cat-single-none-pad_garbage_3.lzma | Bin 0 -> 65 bytes - tests/files/bad-single-data_after_eopm.lzma | Bin 55 -> 0 bytes - tests/files/bad-single-data_after_eopm_1.lzma | Bin 0 -> 55 bytes - tests/files/bad-single-none-truncated.lzma | Bin 0 -> 29 bytes - 7 files changed, 18 insertions(+), 3 deletions(-) - -commit b4943ccf73b64fc93a90a23474509c316f55eb2b -Author: Lasse Collin -Date: 2008-01-08 12:29:58 +0200 - - Avoid using ! in test_files.sh, because that doesn't work - with some ancient /bin/sh versions. - - tests/test_files.sh | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -commit e2417b2b9134f3f65e14b61e23cd3644d8954353 -Author: Lasse Collin -Date: 2008-01-08 00:48:30 +0200 - - More pre-C99 inttypes.h compatibility fixes. Now the code - should work even if the system has no inttypes.h. - - src/common/physmem.h | 11 ----------- - src/liblzma/check/crc32_init.c | 5 +---- - src/liblzma/check/crc32_tablegen.c | 7 ++----- - src/liblzma/check/crc64_init.c | 5 +---- - src/liblzma/check/crc64_tablegen.c | 7 ++----- - 5 files changed, 6 insertions(+), 29 deletions(-) - -commit 5d227e51c23639423f4ade06aabb54e131f8505e -Author: Lasse Collin -Date: 2008-01-07 23:25:32 +0200 - - Updated fi.po although it's currently pretty much crap. - - po/fi.po | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -commit c7189d981a1b27c63da0c1ee80d9b5cd8ce1733d -Author: Lasse Collin -Date: 2008-01-07 23:14:25 +0200 - - Test for $GCC = yes instead of if it is non-empty. This - way it is possible to use ac_cv_c_compiler_gnu=no to - force configure to think it is using non-GNU C compiler. - - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 3dbbea82b74bb841c995ad332a3aeca613015e10 -Author: Lasse Collin -Date: 2008-01-07 21:49:41 +0200 - - Added test_files.sh to tests/Makefile.am so it gets - included in the tarball with "make dist". - - tests/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2fd2d181543feab1b4003f3ac6e85625fbee04f0 -Author: Lasse Collin -Date: 2008-01-07 18:22:24 +0200 - - Cosmetic edit to test_files.sh. - - tests/test_files.sh | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -commit 9a71d573100a990ceb30ce0bec6a9a15d795605f -Author: Lasse Collin -Date: 2008-01-07 18:09:44 +0200 - - Added tests/files/README. - - tests/files/README | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ - 1 file changed, 108 insertions(+) - -commit 47f48fe9936ed72617a60fbd015df7e0e47a1e43 -Author: Lasse Collin -Date: 2008-01-07 14:20:57 +0200 - - Tell in COPYING that everything in tests/files is - public domain. - - COPYING | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -commit 3502b3e1d00251d3c8dda96079440705c28d8225 -Author: Lasse Collin -Date: 2008-01-07 14:19:05 +0200 - - Cleaned up the tests/files directory. - - tests/files/bad-single-subblock-padding_loop.lzma | Bin 0 -> 43 bytes - tests/files/bad-single-subblock1023-slow.lzma | Bin 0 -> 7886 bytes - tests/files/malicious-single-subblock-loop.lzma | Bin 43 -> 0 bytes - tests/files/malicious-single-subblock-lzma.lzma | Bin 505 -> 0 bytes - tests/files/malicious-single-subblock1023-slow.lzma | Bin 7886 -> 0 bytes - 5 files changed, 0 insertions(+), 0 deletions(-) - -commit 908b2ac604b9940369d7fe8a45e9eb6da5d2a24c -Author: Lasse Collin -Date: 2008-01-07 13:49:19 +0200 - - Added test_files.sh to test decoding of the files in - the tests/files directory. It doesn't test the malicious - files yet. - - tests/Makefile.am | 4 +++- - tests/test_files.sh | 40 ++++++++++++++++++++++++++++++++++++++++ - 2 files changed, 43 insertions(+), 1 deletion(-) - -commit ecb2a6548f5978022a8fa931719dc575f5fd3bf6 -Author: Lasse Collin -Date: 2008-01-07 11:23:13 +0200 - - Updated README regarding the assembler optimizations. - - README | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -commit eacb8050438d3e6146c86eb9732d3fb1ef1825cb -Author: Lasse Collin -Date: 2008-01-07 10:58:00 +0200 - - Updated THANKS. - - THANKS | 1 + - 1 file changed, 1 insertion(+) - -commit 1239649f96132b18e3b7e2dd152ecf53a195caa8 -Author: Lasse Collin -Date: 2008-01-06 21:47:17 +0200 - - Cosmetic changes to configure.ac. - - configure.ac | 14 ++++++-------- - 1 file changed, 6 insertions(+), 8 deletions(-) - -commit 88ee301ec2e4506a30ec7ac9aaa2288e2dcadd0e -Author: Lasse Collin -Date: 2008-01-06 19:46:38 +0200 - - Automatically disable assembler code on Darwin x86. - Darwin has different ABI than GNU+Linux and Solaris, - thus the assembler code doesn't assemble on Darwin. - - configure.ac | 17 +++++++++++++++-- - 1 file changed, 15 insertions(+), 2 deletions(-) - -commit c15a7abf66e3a70792f7444115e484c7981c8284 -Author: Lasse Collin -Date: 2008-01-06 19:45:27 +0200 - - With printf(), use PRIu64 with a cast to uint64_t instead - of %zu, because some pre-C99 libc versions don't support %zu. - - src/lzma/help.c | 13 +++++++------ - src/lzmadec/lzmadec.c | 6 ++++-- - 2 files changed, 11 insertions(+), 8 deletions(-) - -commit 4e7e54c4c522ab2f6a7abb92cefc4f707e9568fb -Author: Lasse Collin -Date: 2008-01-06 16:27:41 +0200 - - Introduced compatibility with systems that have pre-C99 - or no inttypes.h. This is useful when the compiler has - good enough support for C99, but libc headers don't. - - Changed liblzma API so that sys/types.h and inttypes.h - have to be #included before #including lzma.h. On systems - that don't have C99 inttypes.h, it's the problem of the - applications to provide the required types and macros - before #including lzma.h. - - If lzma.h defined the missing types and macros, it could - conflict with third-party applications whose configure - has detected that the types are missing and defined them - in config.h already. An alternative would have been - introducing lzma_uint32 and similar types, but that would - just be an extra pain on modern systems. - - configure.ac | 13 ++++++++- - doc/liblzma-intro.txt | 10 +++++-- - src/common/sysdefs.h | 59 +++++++++++++++++++++++++++++++++++++- - src/liblzma/api/lzma.h | 40 +++++++++++++++++--------- - src/liblzma/check/crc32_table.c | 4 +-- - src/liblzma/check/crc32_table_be.h | 2 -- - src/liblzma/check/crc32_table_le.h | 2 -- - src/liblzma/check/crc32_tablegen.c | 1 - - src/liblzma/check/crc64_table.c | 4 +-- - src/liblzma/check/crc64_table_be.h | 2 -- - src/liblzma/check/crc64_table_le.h | 2 -- - src/liblzma/check/crc64_tablegen.c | 1 - - src/lzma/private.h | 1 - - 13 files changed, 106 insertions(+), 35 deletions(-) - -commit a71864f77dfb76b5d78a270641539947c312583a -Author: Lasse Collin -Date: 2008-01-05 19:57:00 +0200 - - Fix typo in comment (INT64_MAX -> UINT64_MAX). - - src/liblzma/api/lzma/vli.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 072927905a3b66281c6311b4b351caa501d8b73a -Author: Lasse Collin -Date: 2008-01-05 19:42:04 +0200 - - Rearranged testing of GCC-specific flags. - - configure.ac | 33 +++++++++++++++++++++++---------- - 1 file changed, 23 insertions(+), 10 deletions(-) - -commit d160ee32598c6d1cd9054ef019e8c9331208b188 -Author: Lasse Collin -Date: 2008-01-05 01:20:24 +0200 - - Another bug fix for flush marker detection. - - src/liblzma/lzma/lzma_decoder.c | 10 +++++++++- - 1 file changed, 9 insertions(+), 1 deletion(-) - -commit fc67f79f607cbfa78c6f47a69dec098d8659b162 -Author: Lasse Collin -Date: 2008-01-04 21:37:01 +0200 - - Fix stupid bugs in flush marker detection. - - src/liblzma/lzma/lzma_decoder.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -commit 0029cbbabe87d491fc046a55a629a6d556010baa -Author: Lasse Collin -Date: 2008-01-04 21:30:33 +0200 - - Added support for flush marker, which will be in files - that use LZMA_SYNC_FLUSH with encoder (not implemented - yet). This is a new feature in the raw LZMA format, - which isn't supported by old decoders. This shouldn't - be a problem in practice, since lzma_alone_encoder() - will not allow LZMA_SYNC_FLUSH, and thus not allow - creating files on decodable with old decoders. - - Made lzma_decoder.c to require tab width of 4 characters - if one wants to fit the code in 80 columns. This makes - the code easier to read. - - src/liblzma/lzma/lzma_common.h | 4 + - src/liblzma/lzma/lzma_decoder.c | 217 ++++++++++++++++++---------------------- - 2 files changed, 104 insertions(+), 117 deletions(-) - -commit bbfd1f6ab058a7e661545205befcb7f70c5685ab -Author: Lasse Collin -Date: 2008-01-04 20:45:05 +0200 - - Moved range decoder initialization (reading the first - five input bytes) from LZMA decoder to range decoder - header. Did the same for decoding of direct bits. - - src/liblzma/lzma/lzma_decoder.c | 42 +++------------- - src/liblzma/rangecoder/range_decoder.h | 87 +++++++++++++++++++++++----------- - 2 files changed, 66 insertions(+), 63 deletions(-) - -commit 5db745cd2a74f6ed2e52f5c716c08ed0daf17ebc -Author: Lasse Collin -Date: 2007-12-14 11:15:21 +0200 - - Added a note to README that --disable-assembler - must be used on Darwin. - - README | 4 ++++ - 1 file changed, 4 insertions(+) - -commit 44b333d4615b5aabc557a0e1b6bb0096da3fae24 -Author: Lasse Collin -Date: 2007-12-14 10:07:10 +0200 - - Use the filename suffix .S instead of .s for assembler files - so that the preprocessor removes the /* */ style comments, - which are not supported by some non-GNU assemblers (Solaris) - that otherwise work with this code. - - src/liblzma/check/Makefile.am | 4 +- - src/liblzma/check/crc32_x86.S | 217 ++++++++++++++++++++++++++++++++++++++++++ - src/liblzma/check/crc32_x86.s | 217 ------------------------------------------ - src/liblzma/check/crc64_x86.S | 203 +++++++++++++++++++++++++++++++++++++++ - src/liblzma/check/crc64_x86.s | 203 --------------------------------------- - 5 files changed, 422 insertions(+), 422 deletions(-) - -commit ec1c82b2e82f395f6e8e19ac212a639644330cd7 -Author: Lasse Collin -Date: 2007-12-14 09:59:05 +0200 - - Fixed wrong symbol name in crc64_x86.s. - - src/liblzma/check/crc64_x86.s | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 2881570df6803eed2fe550af34574e8e61794804 -Author: Lasse Collin -Date: 2007-12-14 09:53:24 +0200 - - Use .globl instead of .global in x86 assembler code for - better portability. Still needs fixing the commenting. - - src/liblzma/check/crc32_x86.s | 2 +- - src/liblzma/check/crc64_x86.s | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit 698470b8f33fc0e5f27dafa93b39b6dd5dde5a66 -Author: Lasse Collin -Date: 2007-12-13 20:14:37 +0200 - - Fixed a few short options that take an argument. - short_opts[] was missing colons to indicate - required argument. Thanks to Fabio Pedretti for - the bug report. - - src/lzma/args.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 918bcb0e0728d2d976621e9f35b56f224f11d989 -Author: Lasse Collin -Date: 2007-12-11 17:08:04 +0200 - - Removed uncompressed size tracking from Delta encoder too. - - src/liblzma/common/delta_coder.c | 21 +++------------------ - 1 file changed, 3 insertions(+), 18 deletions(-) - -commit 3e16d51dd645667b05ff826665b1fc353aa41cd9 -Author: Lasse Collin -Date: 2007-12-11 16:49:19 +0200 - - Remove uncompressed size tracking from the filter encoders. - It's not strictly needed there, and just complicates the - code. LZ encoder never even had this feature. - - The primary reason to have uncompressed size tracking in - filter encoders was validating that the application - doesn't give different amount of input that it had - promised. A side effect was to validate internal workings - of liblzma. - - Uncompressed size tracking is still present in the Block - encoder. Maybe it should be added to LZMA_Alone and raw - encoders too. It's simpler to have one coder just to - validate the uncompressed size instead of having it - in every filter. - - src/liblzma/common/copy_coder.c | 25 ++-------------------- - src/liblzma/simple/simple_coder.c | 29 ++++--------------------- - src/liblzma/subblock/subblock_encoder.c | 38 ++++++--------------------------- - 3 files changed, 12 insertions(+), 80 deletions(-) - -commit 5286723e0d1ac386d5b07f08d78e61becf895a5a -Author: Lasse Collin -Date: 2007-12-11 14:10:53 +0200 - - Get rid of no-NLS gnulib. I don't know how to get it - working with Automake. People who want smaller lzmadec - should use --disable-nls on non-GNU systems. - - lib/Makefile.am | 10 +--------- - src/lzma/Makefile.am | 2 +- - src/lzmadec/Makefile.am | 4 +++- - 3 files changed, 5 insertions(+), 11 deletions(-) - -commit ce8b036a6c7a43b290356b673d953f6d76b2be64 -Author: Lasse Collin -Date: 2007-12-11 14:09:35 +0200 - - Fixed a typo in tests/Makefile.am which prevented - building the tests if gnulib was needed. - - tests/Makefile.am | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit 7c1ad41eb611ed89e5bb8792a3beb533b7aa59f4 -Author: Lasse Collin -Date: 2007-12-11 11:18:58 +0200 - - Fixed wrong type of flags_size in Subblock encoder. - - src/liblzma/subblock/subblock_encoder.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -commit ce64df716243fdc40359090d1f6541f3a4f5f21a -Author: Lasse Collin -Date: 2007-12-10 20:44:16 +0200 - - Bumped version number to 4.42.3alpha. - - configure.ac | 2 +- - src/liblzma/api/lzma/version.h | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit b499a0403ea5c41d6a25b40275eb6c57643052ce -Author: Lasse Collin -Date: 2007-12-10 15:02:50 +0200 - - Disabled some unneeded warnings and made "make dist" work. - - Makefile.am | 9 +++------ - configure.ac | 9 ++++++--- - po/fi.po | 47 ++++++++++++++++++++++++----------------------- - 3 files changed, 33 insertions(+), 32 deletions(-) - -commit 2ab8adb5165a0b77114a7eb21f9ff1e6a266f172 -Author: Lasse Collin -Date: 2007-12-09 21:43:15 +0200 - - Added LZMA_SYNC_FLUSH support to the Copy filter. - - src/liblzma/common/copy_coder.c | 92 +++++++++++++++++++++++++---------------- - 1 file changed, 57 insertions(+), 35 deletions(-) - -commit 329c272d501e88793dda5540358d55c12428d194 -Author: Lasse Collin -Date: 2007-12-09 17:14:07 +0200 - - Added missing LZMA_API to the C versions of the CRC functions. - The x86 assembler versions were already OK. - - src/liblzma/check/crc32.c | 2 +- - src/liblzma/check/crc64.c | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -commit c90daf86ce683fa8cf80491d624ffb158dfbd9d7 -Author: Jim Meyering -Date: 2007-12-09 15:34:25 +0100 - - * tests/test_block_header.c (test3): Remove duplicate initializer. - - autogen.sh | 2 +- - tests/test_block_header.c | 1 - - 2 files changed, 1 insertion(+), 2 deletions(-) - -commit 07ac881779a8477f2c1ab112b91a129e24aa743c -Author: Lasse Collin -Date: 2007-12-09 17:06:45 +0200 - - Take advantage of return_if_error() macro in more places. - Cleaned Subblock filter's initialization code too. - - src/liblzma/common/block_decoder.c | 22 +++------- - src/liblzma/common/delta_coder.c | 8 +--- - src/liblzma/common/stream_decoder.c | 17 +++----- - src/liblzma/common/stream_encoder_multi.c | 68 ++++++++++-------------------- - src/liblzma/common/stream_encoder_single.c | 8 ++-- - src/liblzma/subblock/subblock_decoder.c | 33 +++++---------- - src/liblzma/subblock/subblock_encoder.c | 45 ++++++-------------- - 7 files changed, 63 insertions(+), 138 deletions(-) - -commit 41338717964f510ee61d70b25bd4c502ec9f77cf -Author: Lasse Collin -Date: 2007-12-09 12:13:01 +0200 - - Added a bunch of .lzma test files. - - tests/files/bad-single-data_after_eopm.lzma | Bin 0 -> 55 bytes - tests/files/bad-single-data_after_eopm_2.lzma | Bin 0 -> 56 bytes - tests/files/bad-single-subblock_subblock.lzma | Bin 0 -> 26 bytes - tests/files/good-cat-single-none-pad.lzma | Bin 0 -> 64 bytes - tests/files/good-single-delta-lzma.tiff.lzma | Bin 0 -> 51409 bytes - tests/files/good-single-lzma.lzma | Bin 0 -> 44 bytes - tests/files/good-single-none-pad.lzma | Bin 0 -> 32 bytes - tests/files/good-single-none.lzma | Bin 0 -> 30 bytes - tests/files/good-single-subblock-lzma.lzma | Bin 0 -> 50 bytes - tests/files/good-single-subblock_rle.lzma | Bin 0 -> 118 bytes - tests/files/malicious-multi-metadata-64PiB.lzma | Bin 0 -> 51 bytes - tests/files/malicious-single-subblock-256MiB.lzma | Bin 0 -> 30 bytes - tests/files/malicious-single-subblock-64PiB.lzma | Bin 0 -> 45 bytes - tests/files/malicious-single-subblock-loop.lzma | Bin 0 -> 43 bytes - tests/files/malicious-single-subblock-lzma.lzma | Bin 0 -> 505 bytes - tests/files/malicious-single-subblock1023-slow.lzma | Bin 0 -> 7886 bytes - tests/files/malicious-single-subblock31-slow.lzma | Bin 0 -> 1233 bytes - 17 files changed, 0 insertions(+), 0 deletions(-) - -commit ff946ceb7975d4f11950afd33f6315b4d20d1a03 -Author: Lasse Collin -Date: 2007-12-09 11:24:48 +0200 - - Re-enabled the security checks in Subblock decoder - that were disabled for debugging reasons. - - src/liblzma/subblock/subblock_decoder.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -commit 2bf36d22d2c24ac3f488e63b35564fa2f6dab8d1 -Author: Lasse Collin -Date: 2007-12-09 11:03:28 +0200 - - Fixed the tests to build with -Werror. - - tests/test_block_header.c | 2 +- - tests/test_check.c | 2 +- - tests/test_filter_flags.c | 2 +- - tests/test_index.c | 14 +++++++------- - tests/test_info.c | 2 +- - tests/test_stream_flags.c | 2 +- - 6 files changed, 12 insertions(+), 12 deletions(-) - -commit 5d018dc03549c1ee4958364712fb0c94e1bf2741 -Author: Lasse Collin -Date: 2007-12-09 00:42:33 +0200 - - Imported to git. - - AUTHORS | 18 + - COPYING | 24 + - COPYING.GPLv2 | 339 +++++ - COPYING.GPLv3 | 674 +++++++++ - COPYING.LGPLv2.1 | 504 +++++++ - ChangeLog | 2 + - Doxyfile.in | 1229 ++++++++++++++++ - Makefile.am | 38 + - NEWS | 0 - README | 151 ++ - THANKS | 23 + - TODO | 109 ++ - autogen.sh | 38 + - configure.ac | 611 ++++++++ - doc/bugs.txt | 46 + - doc/faq.txt | 247 ++++ - doc/file-format.txt | 1861 ++++++++++++++++++++++++ - doc/history.txt | 140 ++ - doc/liblzma-advanced.txt | 324 +++++ - doc/liblzma-hacking.txt | 112 ++ - doc/liblzma-intro.txt | 188 +++ - doc/liblzma-security.txt | 219 +++ - doc/lzma-intro.txt | 107 ++ - extra/scanlzma/scanlzma.c | 85 ++ - lib/Makefile.am | 40 + - lib/getopt.c | 1191 +++++++++++++++ - lib/getopt1.c | 171 +++ - lib/getopt_.h | 226 +++ - lib/getopt_int.h | 131 ++ - lib/gettext.h | 240 +++ - m4/acx_pthread.m4 | 279 ++++ - m4/getopt.m4 | 83 ++ - po/LINGUAS | 1 + - po/Makevars | 46 + - po/POTFILES.in | 13 + - po/fi.po | 445 ++++++ - src/Makefile.am | 16 + - src/common/open_stdxxx.h | 50 + - src/common/physmem.h | 77 + - src/common/sysdefs.h | 100 ++ - src/liblzma/Makefile.am | 47 + - src/liblzma/api/Makefile.am | 39 + - src/liblzma/api/lzma.h | 122 ++ - src/liblzma/api/lzma/alignment.h | 60 + - src/liblzma/api/lzma/alone.h | 82 ++ - src/liblzma/api/lzma/auto.h | 41 + - src/liblzma/api/lzma/base.h | 410 ++++++ - src/liblzma/api/lzma/block.h | 409 ++++++ - src/liblzma/api/lzma/check.h | 128 ++ - src/liblzma/api/lzma/copy.h | 29 + - src/liblzma/api/lzma/delta.h | 49 + - src/liblzma/api/lzma/extra.h | 114 ++ - src/liblzma/api/lzma/filter.h | 166 +++ - src/liblzma/api/lzma/index.h | 84 ++ - src/liblzma/api/lzma/info.h | 315 ++++ - src/liblzma/api/lzma/init.h | 85 ++ - src/liblzma/api/lzma/lzma.h | 312 ++++ - src/liblzma/api/lzma/memlimit.h | 157 ++ - src/liblzma/api/lzma/metadata.h | 100 ++ - src/liblzma/api/lzma/raw.h | 72 + - src/liblzma/api/lzma/simple.h | 85 ++ - src/liblzma/api/lzma/stream.h | 178 +++ - src/liblzma/api/lzma/stream_flags.h | 142 ++ - src/liblzma/api/lzma/subblock.h | 197 +++ - src/liblzma/api/lzma/version.h | 59 + - src/liblzma/api/lzma/vli.h | 244 ++++ - src/liblzma/check/Makefile.am | 64 + - src/liblzma/check/check.c | 160 ++ - src/liblzma/check/check.h | 102 ++ - src/liblzma/check/check_byteswap.h | 43 + - src/liblzma/check/check_init.c | 37 + - src/liblzma/check/crc32.c | 88 ++ - src/liblzma/check/crc32_init.c | 58 + - src/liblzma/check/crc32_table.c | 22 + - src/liblzma/check/crc32_table_be.h | 527 +++++++ - src/liblzma/check/crc32_table_le.h | 527 +++++++ - src/liblzma/check/crc32_tablegen.c | 55 + - src/liblzma/check/crc32_x86.s | 217 +++ - src/liblzma/check/crc64.c | 75 + - src/liblzma/check/crc64_init.c | 58 + - src/liblzma/check/crc64_table.c | 22 + - src/liblzma/check/crc64_table_be.h | 523 +++++++ - src/liblzma/check/crc64_table_le.h | 523 +++++++ - src/liblzma/check/crc64_tablegen.c | 56 + - src/liblzma/check/crc64_x86.s | 203 +++ - src/liblzma/check/crc_macros.h | 33 + - src/liblzma/check/sha256.c | 203 +++ - src/liblzma/common/Makefile.am | 94 ++ - src/liblzma/common/alignment.c | 118 ++ - src/liblzma/common/allocator.c | 57 + - src/liblzma/common/alone_decoder.c | 197 +++ - src/liblzma/common/alone_decoder.h | 24 + - src/liblzma/common/alone_encoder.c | 167 +++ - src/liblzma/common/auto_decoder.c | 113 ++ - src/liblzma/common/block_decoder.c | 405 ++++++ - src/liblzma/common/block_decoder.h | 29 + - src/liblzma/common/block_encoder.c | 375 +++++ - src/liblzma/common/block_encoder.h | 29 + - src/liblzma/common/block_header_decoder.c | 373 +++++ - src/liblzma/common/block_header_encoder.c | 211 +++ - src/liblzma/common/block_private.h | 46 + - src/liblzma/common/chunk_size.c | 74 + - src/liblzma/common/code.c | 203 +++ - src/liblzma/common/common.h | 271 ++++ - src/liblzma/common/copy_coder.c | 143 ++ - src/liblzma/common/copy_coder.h | 31 + - src/liblzma/common/delta_coder.c | 210 +++ - src/liblzma/common/delta_coder.h | 31 + - src/liblzma/common/extra.c | 33 + - src/liblzma/common/features.c | 70 + - src/liblzma/common/filter_flags_decoder.c | 382 +++++ - src/liblzma/common/filter_flags_encoder.c | 359 +++++ - src/liblzma/common/index.c | 140 ++ - src/liblzma/common/info.c | 823 +++++++++++ - src/liblzma/common/init.c | 39 + - src/liblzma/common/init_decoder.c | 33 + - src/liblzma/common/init_encoder.c | 44 + - src/liblzma/common/memory_limitter.c | 200 +++ - src/liblzma/common/memory_usage.c | 113 ++ - src/liblzma/common/metadata_decoder.c | 555 +++++++ - src/liblzma/common/metadata_decoder.h | 31 + - src/liblzma/common/metadata_encoder.c | 436 ++++++ - src/liblzma/common/metadata_encoder.h | 30 + - src/liblzma/common/next_coder.c | 65 + - src/liblzma/common/raw_common.c | 175 +++ - src/liblzma/common/raw_common.h | 31 + - src/liblzma/common/raw_decoder.c | 127 ++ - src/liblzma/common/raw_decoder.h | 30 + - src/liblzma/common/raw_encoder.c | 124 ++ - src/liblzma/common/raw_encoder.h | 30 + - src/liblzma/common/stream_common.c | 23 + - src/liblzma/common/stream_common.h | 28 + - src/liblzma/common/stream_decoder.c | 454 ++++++ - src/liblzma/common/stream_encoder_multi.c | 460 ++++++ - src/liblzma/common/stream_encoder_single.c | 220 +++ - src/liblzma/common/stream_flags_decoder.c | 258 ++++ - src/liblzma/common/stream_flags_decoder.h | 31 + - src/liblzma/common/stream_flags_encoder.c | 75 + - src/liblzma/common/sysdefs.h | 1 + - src/liblzma/common/version.c | 25 + - src/liblzma/common/vli_decoder.c | 69 + - src/liblzma/common/vli_encoder.c | 81 ++ - src/liblzma/common/vli_reverse_decoder.c | 55 + - src/liblzma/lz/Makefile.am | 63 + - src/liblzma/lz/bt2.c | 27 + - src/liblzma/lz/bt2.h | 31 + - src/liblzma/lz/bt3.c | 29 + - src/liblzma/lz/bt3.h | 31 + - src/liblzma/lz/bt4.c | 30 + - src/liblzma/lz/bt4.h | 31 + - src/liblzma/lz/hc3.c | 30 + - src/liblzma/lz/hc3.h | 31 + - src/liblzma/lz/hc4.c | 31 + - src/liblzma/lz/hc4.h | 31 + - src/liblzma/lz/lz_decoder.c | 462 ++++++ - src/liblzma/lz/lz_decoder.h | 214 +++ - src/liblzma/lz/lz_encoder.c | 481 ++++++ - src/liblzma/lz/lz_encoder.h | 161 ++ - src/liblzma/lz/lz_encoder_private.h | 40 + - src/liblzma/lz/match_c.h | 401 +++++ - src/liblzma/lz/match_h.h | 69 + - src/liblzma/lzma.pc.in | 11 + - src/liblzma/lzma/Makefile.am | 43 + - src/liblzma/lzma/lzma_common.h | 128 ++ - src/liblzma/lzma/lzma_decoder.c | 844 +++++++++++ - src/liblzma/lzma/lzma_decoder.h | 41 + - src/liblzma/lzma/lzma_encoder.c | 413 ++++++ - src/liblzma/lzma/lzma_encoder.h | 35 + - src/liblzma/lzma/lzma_encoder_features.c | 59 + - src/liblzma/lzma/lzma_encoder_getoptimum.c | 893 ++++++++++++ - src/liblzma/lzma/lzma_encoder_getoptimumfast.c | 201 +++ - src/liblzma/lzma/lzma_encoder_init.c | 245 ++++ - src/liblzma/lzma/lzma_encoder_presets.c | 34 + - src/liblzma/lzma/lzma_encoder_private.h | 225 +++ - src/liblzma/lzma/lzma_literal.c | 74 + - src/liblzma/lzma/lzma_literal.h | 74 + - src/liblzma/rangecoder/Makefile.am | 28 + - src/liblzma/rangecoder/range_common.h | 68 + - src/liblzma/rangecoder/range_decoder.h | 189 +++ - src/liblzma/rangecoder/range_encoder.c | 46 + - src/liblzma/rangecoder/range_encoder.h | 317 ++++ - src/liblzma/simple/Makefile.am | 46 + - src/liblzma/simple/arm.c | 76 + - src/liblzma/simple/armthumb.c | 81 ++ - src/liblzma/simple/ia64.c | 117 ++ - src/liblzma/simple/powerpc.c | 80 + - src/liblzma/simple/simple_coder.c | 306 ++++ - src/liblzma/simple/simple_coder.h | 68 + - src/liblzma/simple/simple_private.h | 86 ++ - src/liblzma/simple/sparc.c | 88 ++ - src/liblzma/simple/x86.c | 161 ++ - src/liblzma/subblock/Makefile.am | 33 + - src/liblzma/subblock/subblock_decoder.c | 681 +++++++++ - src/liblzma/subblock/subblock_decoder.h | 29 + - src/liblzma/subblock/subblock_decoder_helper.c | 80 + - src/liblzma/subblock/subblock_decoder_helper.h | 36 + - src/liblzma/subblock/subblock_encoder.c | 841 +++++++++++ - src/liblzma/subblock/subblock_encoder.h | 28 + - src/lzma/Makefile.am | 63 + - src/lzma/alloc.c | 106 ++ - src/lzma/alloc.h | 42 + - src/lzma/args.c | 566 +++++++ - src/lzma/args.h | 64 + - src/lzma/error.c | 156 ++ - src/lzma/error.h | 67 + - src/lzma/hardware.c | 99 ++ - src/lzma/hardware.h | 31 + - src/lzma/help.c | 178 +++ - src/lzma/help.h | 32 + - src/lzma/io.c | 664 +++++++++ - src/lzma/io.h | 60 + - src/lzma/list.c | 477 ++++++ - src/lzma/main.c | 254 ++++ - src/lzma/options.c | 346 +++++ - src/lzma/options.h | 46 + - src/lzma/private.h | 55 + - src/lzma/process.c | 458 ++++++ - src/lzma/process.h | 30 + - src/lzma/suffix.c | 145 ++ - src/lzma/suffix.h | 25 + - src/lzma/util.c | 182 +++ - src/lzma/util.h | 32 + - src/lzmadec/Makefile.am | 27 + - src/lzmadec/lzmadec.c | 515 +++++++ - src/scripts/Makefile.am | 24 + - src/scripts/lzdiff | 67 + - src/scripts/lzdiff.1 | 51 + - src/scripts/lzgrep | 123 ++ - src/scripts/lzgrep.1 | 61 + - src/scripts/lzmore | 74 + - src/scripts/lzmore.1 | 55 + - tests/Makefile.am | 43 + - tests/test_block.c | 59 + - tests/test_block_header.c | 352 +++++ - tests/test_check.c | 90 ++ - tests/test_filter_flags.c | 326 +++++ - tests/test_index.c | 43 + - tests/test_info.c | 717 +++++++++ - tests/test_stream_flags.c | 191 +++ - tests/tests.h | 148 ++ - 240 files changed, 42513 insertions(+) diff --git a/Build/source/extra/xz/Doxyfile.in b/Build/source/extra/xz/Doxyfile.in deleted file mode 100644 index 386706ab2e2..00000000000 --- a/Build/source/extra/xz/Doxyfile.in +++ /dev/null @@ -1,1234 +0,0 @@ -# Doxyfile 1.4.7 - -# Copyright (C) 1997-2007 by Dimitri van Heesch -# License: GNU GPLv2+ - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project -# -# All text after a hash (#) is considered a comment and will be ignored -# The format is: -# TAG = value [value, ...] -# For lists items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (" ") - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded -# by quotes) that should identify the project. - -PROJECT_NAME = "@PACKAGE_NAME@" - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. -# This could be handy for archiving the generated documentation or -# if some version control system is used. - -PROJECT_NUMBER = "@PACKAGE_VERSION@" - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) -# base path where the generated documentation will be put. -# If a relative path is entered, it will be relative to the location -# where doxygen was started. If left blank the current directory will be used. - -OUTPUT_DIRECTORY = doc - -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create -# 4096 sub-directories (in 2 levels) under the output directory of each output -# format and will distribute the generated files over these directories. -# Enabling this option can be useful when feeding doxygen a huge amount of -# source files, where putting all generated files in the same directory would -# otherwise cause performance problems for the file system. - -CREATE_SUBDIRS = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# The default language is English, other supported languages are: -# Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, -# Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, -# Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, -# Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, -# Swedish, and Ukrainian. - -OUTPUT_LANGUAGE = English - -# This tag can be used to specify the encoding used in the generated output. -# The encoding is not always determined by the language that is chosen, -# but also whether or not the output is meant for Windows or non-Windows users. -# In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES -# forces the Windows encoding (this is the default for the Windows binary), -# whereas setting the tag to NO uses a Unix-style encoding (the default for -# all platforms other than Windows). - -USE_WINDOWS_ENCODING = NO - -# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will -# include brief member descriptions after the members that are listed in -# the file and class documentation (similar to JavaDoc). -# Set to NO to disable this. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend -# the brief description of a member or function before the detailed description. -# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator -# that is used to form the text in various listings. Each string -# in this list, if found as the leading text of the brief description, will be -# stripped from the text and the result after processing the whole list, is -# used as the annotated text. Otherwise, the brief description is used as-is. -# If left blank, the following values are used ("$name" is automatically -# replaced with the name of the entity): "The $name class" "The $name widget" -# "The $name file" "is" "provides" "specifies" "contains" -# "represents" "a" "an" "the" - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# Doxygen will generate a detailed section even if there is only a brief -# description. - -ALWAYS_DETAILED_SEC = YES - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full -# path before files name in the file list and in the header files. If set -# to NO the shortest path that makes the file name unique will be used. - -FULL_PATH_NAMES = YES - -# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag -# can be used to strip a user-defined part of the path. Stripping is -# only done if one of the specified strings matches the left-hand part of -# the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the -# path to strip. - -STRIP_FROM_PATH = @top_srcdir@/src - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of -# the path mentioned in the documentation of a class, which tells -# the reader which header file to include in order to use a class. -# If left blank only the name of the header file containing the class -# definition is used. Otherwise one should specify the include paths that -# are normally passed to the compiler using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter -# (but less readable) file names. This can be useful is your file systems -# doesn't support long names like on DOS, Mac, or CD-ROM. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen -# will interpret the first line (until the first dot) of a JavaDoc-style -# comment as the brief description. If set to NO, the JavaDoc -# comments will behave just like the Qt-style comments (thus requiring an -# explicit @brief command for a brief description. - -JAVADOC_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen -# treat a multi-line C++ special comment block (i.e. a block of //! or /// -# comments) as a brief description. This used to be the default behaviour. -# The new default is to treat a multi-line C++ comment block as a detailed -# description. Set this tag to YES if you prefer the old behaviour instead. - -MULTILINE_CPP_IS_BRIEF = NO - -# If the DETAILS_AT_TOP tag is set to YES then Doxygen -# will output the detailed description near the top, like JavaDoc. -# If set to NO, the detailed description appears after the member -# documentation. - -DETAILS_AT_TOP = NO - -# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented -# member inherits the documentation from any documented member that it -# re-implements. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce -# a new page for each member. If set to NO, the documentation of a member will -# be part of the file/class/namespace that contains it. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. -# Doxygen uses this value to replace tabs by spaces in code fragments. - -TAB_SIZE = 8 - -# This tag can be used to specify a number of aliases that acts -# as commands in the documentation. An alias has the form "name=value". -# For example adding "sideeffect=\par Side Effects:\n" will allow you to -# put the command \sideeffect (or @sideeffect) in the documentation, which -# will result in a user-defined paragraph with heading "Side Effects:". -# You can put \n's in the value part of an alias to insert newlines. - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C -# sources only. Doxygen will then generate output that is more tailored for C. -# For instance, some of the names that are used will be different. The list -# of all members will be omitted, etc. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. - -DISTRIBUTE_GROUP_DOC = NO - -# Set the SUBGROUPING tag to YES (the default) to allow class member groups of -# the same type (for instance a group of public functions) to be put as a -# subgroup of that type (e.g. under the Public Functions section). Set it to -# NO to prevent subgrouping. Alternatively, this can be done per class using -# the \nosubgrouping command. - -SUBGROUPING = YES - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in -# documentation are documented, even if no documentation was available. -# Private class members and static file members will be hidden unless -# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class -# will be included in the documentation. - -EXTRACT_PRIVATE = YES - -# If the EXTRACT_STATIC tag is set to YES all static members of a file -# will be included in the documentation. - -EXTRACT_STATIC = YES - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) -# defined locally in source files will be included in the documentation. -# If set to NO only classes defined in header files are included. - -EXTRACT_LOCAL_CLASSES = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all -# undocumented members of documented classes, files or namespaces. -# If set to NO (the default) these members will be included in the -# various overviews, but no documentation section is generated. -# This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. -# If set to NO (the default) these classes will be included in the various -# overviews. This option has no effect if EXTRACT_ALL is enabled. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all -# friend (class|struct|union) declarations. -# If set to NO (the default) these declarations will be included in the -# documentation. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any -# documentation blocks found inside the body of a function. -# If set to NO (the default) these blocks will be appended to the -# function's detailed documentation block. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation -# that is typed after a \internal command is included. If the tag is set -# to NO (the default) then the documentation will be excluded. -# Set it to YES to include the internal documentation. - -INTERNAL_DOCS = NO - -# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate -# file names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen -# will show members with their full class and namespace scopes in the -# documentation. If set to YES the scope will be hidden. - -HIDE_SCOPE_NAMES = NO - -# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen -# will put a list of the files that are included by a file in the documentation -# of that file. - -SHOW_INCLUDE_FILES = YES - -# If the INLINE_INFO tag is set to YES (the default) then a tag [inline] -# is inserted in the documentation for inline members. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen -# will sort the (detailed) documentation of file and class members -# alphabetically by member name. If set to NO the members will appear in -# declaration order. - -SORT_MEMBER_DOCS = NO - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the -# brief documentation of file, namespace and class members alphabetically -# by member name. If set to NO (the default) the members will appear in -# declaration order. - -SORT_BRIEF_DOCS = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be -# sorted by fully-qualified names, including namespaces. If set to -# NO (the default), the class list will be sorted only by class name, -# not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the -# alphabetical list. - -SORT_BY_SCOPE_NAME = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or -# disable (NO) the todo list. This list is created by putting \todo -# commands in the documentation. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or -# disable (NO) the test list. This list is created by putting \test -# commands in the documentation. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or -# disable (NO) the bug list. This list is created by putting \bug -# commands in the documentation. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or -# disable (NO) the deprecated list. This list is created by putting -# \deprecated commands in the documentation. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional -# documentation sections, marked by \if sectionname ... \endif. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines -# the initial value of a variable or define consists of for it to appear in -# the documentation. If the initializer consists of more lines than specified -# here it will be hidden. Use a value of 0 to hide initializers completely. -# The appearance of the initializer of individual variables and defines in the -# documentation can be controlled using \showinitializer or \hideinitializer -# command in the documentation regardless of this setting. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated -# at the bottom of the documentation of classes and structs. If set to YES the -# list will mention the files that were used to generate the documentation. - -SHOW_USED_FILES = YES - -# If the sources in your project are distributed over multiple directories -# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy -# in the documentation. The default is NO. - -SHOW_DIRECTORIES = NO - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from the -# version control system). Doxygen will invoke the program by executing (via -# popen()) the command , where is the value of -# the FILE_VERSION_FILTER tag, and is the name of an input file -# provided by doxygen. Whatever the program writes to standard output -# is used as the file version. See the manual for examples. - -FILE_VERSION_FILTER = - -#--------------------------------------------------------------------------- -# configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated -# by doxygen. Possible values are YES and NO. If left blank NO is used. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated by doxygen. Possible values are YES and NO. If left blank -# NO is used. - -WARNINGS = YES - -# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings -# for undocumented members. If EXTRACT_ALL is set to YES then this flag will -# automatically be disabled. - -WARN_IF_UNDOCUMENTED = YES - -# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some -# parameters in a documented function, or documenting parameters that -# don't exist or using markup commands wrongly. - -WARN_IF_DOC_ERROR = YES - -# This WARN_NO_PARAMDOC option can be abled to get warnings for -# functions that are documented, but have no documentation for their parameters -# or return value. If set to NO (the default) doxygen will only warn about -# wrong or incomplete parameter documentation, but not about the absence of -# documentation. - -WARN_NO_PARAMDOC = NO - -# The WARN_FORMAT tag determines the format of the warning messages that -# doxygen can produce. The string should contain the $file, $line, and $text -# tags, which will be replaced by the file and line number from which the -# warning originated and the warning text. Optionally the format may contain -# $version, which will be replaced by the version of the file (if it could -# be obtained via FILE_VERSION_FILTER) - -WARN_FORMAT = "$file:$line: $text" - -# The WARN_LOGFILE tag can be used to specify a file to which warning -# and error messages should be written. If left blank the output is written -# to stderr. - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag can be used to specify the files and/or directories that contain -# documented source files. You may enter file names like "myfile.cpp" or -# directories like "/usr/src/myproject". Separate the files or directories -# with spaces. - -INPUT = @top_srcdir@/src - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank the following patterns are tested: -# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx -# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py - -FILE_PATTERNS = *.h *.c - -# The RECURSIVE tag can be used to turn specify whether or not subdirectories -# should be searched for input files as well. Possible values are YES and NO. -# If left blank NO is used. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used select whether or not files or -# directories that are symbolic links (a Unix filesystem feature) are excluded -# from the input. - -EXCLUDE_SYMLINKS = YES - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. Note that the wildcards are matched -# against the file with absolute path, so to exclude all test directories -# for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or -# directories that contain example code fragments that are included (see -# the \include command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp -# and *.h) to filter out the source-files in the directories. If left -# blank all files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude -# commands irrespective of the value of the RECURSIVE tag. -# Possible values are YES and NO. If left blank NO is used. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or -# directories that contain image that are included in the documentation (see -# the \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command , where -# is the value of the INPUT_FILTER tag, and is the name of an -# input file. Doxygen will then use the output that the filter program writes -# to standard output. If FILTER_PATTERNS is specified, this tag will be -# ignored. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: -# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further -# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER -# is applied to all files. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will be used to filter the input files when producing source -# files to browse (i.e. when SOURCE_BROWSER is set to YES). - -FILTER_SOURCE_FILES = NO - -#--------------------------------------------------------------------------- -# configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will -# be generated. Documented entities will be cross-referenced with these sources. -# Note: To get rid of all source code in the generated output, make sure also -# VERBATIM_HEADERS is set to NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body -# of functions and classes directly in the documentation. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct -# doxygen to hide any special comment blocks from generated source code -# fragments. Normal C and C++ comments will always remain visible. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES (the default) -# then for each documented function all documented -# functions referencing it will be listed. - -REFERENCED_BY_RELATION = YES - -# If the REFERENCES_RELATION tag is set to YES (the default) -# then for each documented function all documented entities -# called/used by that function will be listed. - -REFERENCES_RELATION = YES - -# If the REFERENCES_LINK_SOURCE tag is set to YES (the default) -# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from -# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will -# link to the source code. Otherwise they will link to the documentstion. - -REFERENCES_LINK_SOURCE = YES - -# If the USE_HTAGS tag is set to YES then the references to source code -# will point to the HTML generated by the htags(1) tool instead of doxygen -# built-in source browser. The htags tool is part of GNU's global source -# tagging system (see http://www.gnu.org/software/global/global.html). You -# will need version 4.8.6 or higher. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen -# will generate a verbatim copy of the header file for each class for -# which an include is specified. Set to NO to disable this. - -VERBATIM_HEADERS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index -# of all compounds will be generated. Enable this if the project -# contains a lot of classes, structs, unions or interfaces. - -ALPHABETICAL_INDEX = NO - -# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then -# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns -# in which this list will be split (can be a number in the range [1..20]) - -COLS_IN_ALPHA_INDEX = 5 - -# In case all classes in a project start with a common prefix, all -# classes will be put under the same header in the alphabetical index. -# The IGNORE_PREFIX tag can be used to specify one or more prefixes that -# should be ignored while generating the index headers. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES (the default) Doxygen will -# generate HTML output. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `html' will be used as the default path. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for -# each generated HTML page (for example: .htm,.php,.asp). If it is left blank -# doxygen will generate files with .html extension. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a personal HTML header for -# each generated HTML page. If it is left blank doxygen will generate a -# standard header. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a personal HTML footer for -# each generated HTML page. If it is left blank doxygen will generate a -# standard footer. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading -# style sheet that is used by each HTML page. It can be used to -# fine-tune the look of the HTML output. If the tag is left blank doxygen -# will generate a default style sheet. Note that doxygen will try to copy -# the style sheet file to the HTML output directory, so don't put your own -# stylesheet in the HTML output directory as well, or it will be erased! - -HTML_STYLESHEET = - -# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, -# files or namespaces will be aligned in HTML using tables. If set to -# NO a bullet list will be used. - -HTML_ALIGN_MEMBERS = YES - -# If the GENERATE_HTMLHELP tag is set to YES, additional index files -# will be generated that can be used as input for tools like the -# Microsoft HTML help workshop to generate a compressed HTML help file (.chm) -# of the generated HTML documentation. - -GENERATE_HTMLHELP = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can -# be used to specify the file name of the resulting .chm file. You -# can add a path in front of the file if the result should not be -# written to the html output directory. - -CHM_FILE = - -# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can -# be used to specify the location (absolute path including file name) of -# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run -# the HTML help compiler on the generated index.hhp. - -HHC_LOCATION = - -# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag -# controls if a separate .chi index file is generated (YES) or that -# it should be included in the master .chm file (NO). - -GENERATE_CHI = NO - -# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag -# controls whether a binary table of contents is generated (YES) or a -# normal table of contents (NO) in the .chm file. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members -# to the contents of the HTML help documentation and to the tree view. - -TOC_EXPAND = NO - -# The DISABLE_INDEX tag can be used to turn on/off the condensed index at -# top of each HTML page. The value NO (the default) enables the index and -# the value YES disables it. - -DISABLE_INDEX = NO - -# This tag can be used to set the number of enum values (range [1..20]) -# that doxygen will group on one line in the generated HTML documentation. - -ENUM_VALUES_PER_LINE = 4 - -# If the GENERATE_TREEVIEW tag is set to YES, a side panel will be -# generated containing a tree-like index structure (just like the one that -# is generated for HTML Help). For this to work a browser that supports -# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, -# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are -# probably better off using the HTML help feature. - -GENERATE_TREEVIEW = NO - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be -# used to set the initial width (in pixels) of the frame in which the tree -# is shown. - -TREEVIEW_WIDTH = 250 - -#--------------------------------------------------------------------------- -# configuration options related to the LaTeX output -#--------------------------------------------------------------------------- - -# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will -# generate Latex output. - -GENERATE_LATEX = YES - -# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `latex' will be used as the default path. - -LATEX_OUTPUT = latex - -# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be -# invoked. If left blank `latex' will be used as the default command name. - -LATEX_CMD_NAME = latex - -# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to -# generate index for LaTeX. If left blank `makeindex' will be used as the -# default command name. - -MAKEINDEX_CMD_NAME = makeindex - -# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact -# LaTeX documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_LATEX = NO - -# The PAPER_TYPE tag can be used to set the paper type that is used -# by the printer. Possible values are: a4, a4wide, letter, legal and -# executive. If left blank a4wide will be used. - -PAPER_TYPE = a4wide - -# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX -# packages that should be included in the LaTeX output. - -EXTRA_PACKAGES = - -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for -# the generated latex document. The header should contain everything until -# the first chapter. If it is left blank doxygen will generate a -# standard header. Notice: only use this tag if you know what you are doing! - -LATEX_HEADER = - -# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated -# is prepared for conversion to pdf (using ps2pdf). The pdf file will -# contain links (just like the HTML output) instead of page references -# This makes the output suitable for online browsing using a pdf viewer. - -PDF_HYPERLINKS = NO - -# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of -# plain latex in the generated Makefile. Set this option to YES to get a -# higher quality PDF documentation. - -USE_PDFLATEX = YES - -# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. -# command to the generated LaTeX files. This will instruct LaTeX to keep -# running if errors occur, instead of asking the user for help. -# This option is also used when generating formulas in HTML. - -LATEX_BATCHMODE = NO - -# If LATEX_HIDE_INDICES is set to YES then doxygen will not -# include the index chapters (such as File Index, Compound Index, etc.) -# in the output. - -LATEX_HIDE_INDICES = NO - -#--------------------------------------------------------------------------- -# configuration options related to the RTF output -#--------------------------------------------------------------------------- - -# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output -# The RTF output is optimized for Word 97 and may not look very pretty with -# other RTF readers or editors. - -GENERATE_RTF = NO - -# The RTF_OUTPUT tag is used to specify where the RTF docs will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `rtf' will be used as the default path. - -RTF_OUTPUT = rtf - -# If the COMPACT_RTF tag is set to YES Doxygen generates more compact -# RTF documents. This may be useful for small projects and may help to -# save some trees in general. - -COMPACT_RTF = NO - -# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated -# will contain hyperlink fields. The RTF file will -# contain links (just like the HTML output) instead of page references. -# This makes the output suitable for online browsing using WORD or other -# programs which support those fields. -# Note: wordpad (write) and others do not support links. - -RTF_HYPERLINKS = NO - -# Load stylesheet definitions from file. Syntax is similar to doxygen's -# config file, i.e. a series of assignments. You only have to provide -# replacements, missing definitions are set to their default value. - -RTF_STYLESHEET_FILE = - -# Set optional variables used in the generation of an rtf document. -# Syntax is similar to doxygen's config file. - -RTF_EXTENSIONS_FILE = - -#--------------------------------------------------------------------------- -# configuration options related to the man page output -#--------------------------------------------------------------------------- - -# If the GENERATE_MAN tag is set to YES (the default) Doxygen will -# generate man pages - -GENERATE_MAN = NO - -# The MAN_OUTPUT tag is used to specify where the man pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `man' will be used as the default path. - -MAN_OUTPUT = man - -# The MAN_EXTENSION tag determines the extension that is added to -# the generated man pages (default is the subroutine's section .3) - -MAN_EXTENSION = .3 - -# If the MAN_LINKS tag is set to YES and Doxygen generates man output, -# then it will generate one additional man file for each entity -# documented in the real man page(s). These additional files -# only source the real man page, but without them the man command -# would be unable to find the correct page. The default is NO. - -MAN_LINKS = NO - -#--------------------------------------------------------------------------- -# configuration options related to the XML output -#--------------------------------------------------------------------------- - -# If the GENERATE_XML tag is set to YES Doxygen will -# generate an XML file that captures the structure of -# the code including all documentation. - -GENERATE_XML = NO - -# The XML_OUTPUT tag is used to specify where the XML pages will be put. -# If a relative path is entered the value of OUTPUT_DIRECTORY will be -# put in front of it. If left blank `xml' will be used as the default path. - -XML_OUTPUT = xml - -# The XML_SCHEMA tag can be used to specify an XML schema, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify an XML DTD, -# which can be used by a validating XML parser to check the -# syntax of the XML files. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES Doxygen will -# dump the program listings (including syntax highlighting -# and cross-referencing information) to the XML output. Note that -# enabling this will significantly increase the size of the XML output. - -XML_PROGRAMLISTING = YES - -#--------------------------------------------------------------------------- -# configuration options for the AutoGen Definitions output -#--------------------------------------------------------------------------- - -# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will -# generate an AutoGen Definitions (see autogen.sf.net) file -# that captures the structure of the code including all -# documentation. Note that this feature is still experimental -# and incomplete at the moment. - -GENERATE_AUTOGEN_DEF = NO - -#--------------------------------------------------------------------------- -# configuration options related to the Perl module output -#--------------------------------------------------------------------------- - -# If the GENERATE_PERLMOD tag is set to YES Doxygen will -# generate a Perl module file that captures the structure of -# the code including all documentation. Note that this -# feature is still experimental and incomplete at the -# moment. - -GENERATE_PERLMOD = NO - -# If the PERLMOD_LATEX tag is set to YES Doxygen will generate -# the necessary Makefile rules, Perl scripts and LaTeX code to be able -# to generate PDF and DVI output from the Perl module output. - -PERLMOD_LATEX = NO - -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be -# nicely formatted so it can be parsed by a human reader. This is useful -# if you want to understand what is going on. On the other hand, if this -# tag is set to NO the size of the Perl module output will be much smaller -# and Perl will parse it just the same. - -PERLMOD_PRETTY = YES - -# The names of the make variables in the generated doxyrules.make file -# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. -# This is useful so different doxyrules.make files included by the same -# Makefile don't overwrite each other's variables. - -PERLMOD_MAKEVAR_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the preprocessor -#--------------------------------------------------------------------------- - -# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will -# evaluate all C-preprocessor directives found in the sources and include -# files. - -ENABLE_PREPROCESSING = YES - -# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro -# names in the source code. If set to NO (the default) only conditional -# compilation will be performed. Macro expansion can be done in a controlled -# way by setting EXPAND_ONLY_PREDEF to YES. - -MACRO_EXPANSION = YES - -# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES -# then the macro expansion is limited to the macros specified with the -# PREDEFINED and EXPAND_AS_DEFINED tags. - -EXPAND_ONLY_PREDEF = YES - -# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files -# in the INCLUDE_PATH (see below) will be search if a #include is found. - -SEARCH_INCLUDES = YES - -# The INCLUDE_PATH tag can be used to specify one or more directories that -# contain include files that are not input files but should be processed by -# the preprocessor. - -INCLUDE_PATH = - -# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard -# patterns (like *.h and *.hpp) to filter out the header-files in the -# directories. If left blank, the patterns specified with FILE_PATTERNS will -# be used. - -INCLUDE_FILE_PATTERNS = - -# The PREDEFINED tag can be used to specify one or more macro names that -# are defined before the preprocessor is started (similar to the -D option of -# gcc). The argument of the tag is a list of macros of the form: name -# or name=definition (no spaces). If the definition and the = are -# omitted =1 is assumed. To prevent a macro definition from being -# undefined via #undef or recursively expanded use the := operator -# instead of the = operator. - -PREDEFINED = LZMA_API(type)=type \ - LZMA_API_IMPORT \ - LZMA_API_CALL= - -# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then -# this tag can be used to specify a list of macro names that should be expanded. -# The macro definition that is found in the sources will be used. -# Use the PREDEFINED tag if you want to use a different macro definition. - -EXPAND_AS_DEFINED = - -# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then -# doxygen's preprocessor will remove all function-like macros that are alone -# on a line, have an all uppercase name, and do not end with a semicolon. Such -# function macros are typically used for boiler-plate code, and will confuse -# the parser if not removed. - -SKIP_FUNCTION_MACROS = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to external references -#--------------------------------------------------------------------------- - -# The TAGFILES option can be used to specify one or more tagfiles. -# Optionally an initial location of the external documentation -# can be added for each tagfile. The format of a tag file without -# this location is as follows: -# TAGFILES = file1 file2 ... -# Adding location for the tag files is done as follows: -# TAGFILES = file1=loc1 "file2 = loc2" ... -# where "loc1" and "loc2" can be relative or absolute paths or -# URLs. If a location is present for each tag, the installdox tool -# does not have to be run to correct the links. -# Note that each tag file must have a unique name -# (where the name does NOT include the path) -# If a tag file is not located in the directory in which doxygen -# is run, you must also specify the path to the tagfile here. - -TAGFILES = - -# When a file name is specified after GENERATE_TAGFILE, doxygen will create -# a tag file that is based on the input files it reads. - -GENERATE_TAGFILE = - -# If the ALLEXTERNALS tag is set to YES all external classes will be listed -# in the class index. If set to NO only the inherited external classes -# will be listed. - -ALLEXTERNALS = NO - -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed -# in the modules index. If set to NO, only the current project's groups will -# be listed. - -EXTERNAL_GROUPS = YES - -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of `which perl'). - -PERL_PATH = /usr/bin/perl - -#--------------------------------------------------------------------------- -# Configuration options related to the dot tool -#--------------------------------------------------------------------------- - -# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will -# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base -# or super classes. Setting the tag to NO turns the diagrams off. Note that -# this option is superseded by the HAVE_DOT option below. This is only a -# fallback. It is recommended to install and use dot, since it yields more -# powerful graphs. - -CLASS_DIAGRAMS = YES - -# If set to YES, the inheritance and collaboration graphs will hide -# inheritance and usage relations if the target is undocumented -# or is not a class. - -HIDE_UNDOC_RELATIONS = YES - -# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is -# available from the path. This tool is part of Graphviz, a graph visualization -# toolkit from AT&T and Lucent Bell Labs. The other options in this section -# have no effect if this option is set to NO (the default) - -HAVE_DOT = NO - -# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect inheritance relations. Setting this tag to YES will force the -# the CLASS_DIAGRAMS tag to NO. - -CLASS_GRAPH = YES - -# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for each documented class showing the direct and -# indirect implementation dependencies (inheritance, containment, and -# class references variables) of the class with other documented classes. - -COLLABORATION_GRAPH = YES - -# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen -# will generate a graph for groups, showing the direct groups dependencies - -GROUP_GRAPHS = YES - -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and -# collaboration diagrams in a style similar to the OMG's Unified Modeling -# Language. - -UML_LOOK = NO - -# If set to YES, the inheritance and collaboration graphs will show the -# relations between templates and their instances. - -TEMPLATE_RELATIONS = NO - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT -# tags are set to YES then doxygen will generate a graph for each documented -# file showing the direct and indirect include dependencies of the file with -# other documented files. - -INCLUDE_GRAPH = YES - -# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and -# HAVE_DOT tags are set to YES then doxygen will generate a graph for each -# documented header file showing the documented files that directly or -# indirectly include this file. - -INCLUDED_BY_GRAPH = YES - -# If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a call dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. - -CALL_GRAPH = NO - -# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then doxygen will -# generate a caller dependency graph for every global function or class method. -# Note that enabling this option will significantly increase the time of a run. -# So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. - -CALLER_GRAPH = NO - -# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen -# will graphical hierarchy of all classes instead of a textual one. - -GRAPHICAL_HIERARCHY = YES - -# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES -# then doxygen will show the dependencies a directory has on other directories -# in a graphical way. The dependency relations are determined by the #include -# relations between the files in the directories. - -DIRECTORY_GRAPH = YES - -# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. Possible values are png, jpg, or gif -# If left blank png will be used. - -DOT_IMAGE_FORMAT = png - -# The tag DOT_PATH can be used to specify the path where the dot tool can be -# found. If left blank, it is assumed the dot tool can be found in the path. - -DOT_PATH = - -# The DOTFILE_DIRS tag can be used to specify one or more directories that -# contain dot files that are included in the documentation (see the -# \dotfile command). - -DOTFILE_DIRS = - -# The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_WIDTH = 1024 - -# The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height -# (in pixels) of the graphs generated by dot. If a graph becomes larger than -# this value, doxygen will try to truncate the graph, so that it fits within -# the specified constraint. Beware that most browsers cannot cope with very -# large images. - -MAX_DOT_GRAPH_HEIGHT = 1024 - -# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the -# graphs generated by dot. A depth value of 3 means that only nodes reachable -# from the root by following a path via at most 3 edges will be shown. Nodes -# that lay further from the root node will be omitted. Note that setting this -# option to 1 or 2 may greatly reduce the computation time needed for large -# code bases. Also note that a graph may be further truncated if the graph's -# image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH -# and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), -# the graph is not depth-constrained. - -MAX_DOT_GRAPH_DEPTH = 0 - -# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent -# background. This is disabled by default, which results in a white background. -# Warning: Depending on the platform used, enabling this option may lead to -# badly anti-aliased labels on the edges of a graph (i.e. they become hard to -# read). - -DOT_TRANSPARENT = NO - -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output -# files in one run (i.e. multiple -o and -T options on the command line). This -# makes dot run faster, but since only newer versions of dot (>1.8.10) -# support this, this feature is disabled by default. - -DOT_MULTI_TARGETS = NO - -# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will -# generate a legend page explaining the meaning of the various boxes and -# arrows in the dot generated graphs. - -GENERATE_LEGEND = YES - -# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will -# remove the intermediate dot files that are used to generate -# the various graphs. - -DOT_CLEANUP = YES - -#--------------------------------------------------------------------------- -# Configuration::additions related to the search engine -#--------------------------------------------------------------------------- - -# The SEARCHENGINE tag specifies whether or not a search engine should be -# used. If set to NO the values of all tags below this one will be ignored. - -SEARCHENGINE = NO diff --git a/Build/source/extra/xz/INSTALL b/Build/source/extra/xz/INSTALL deleted file mode 100644 index 8b393190447..00000000000 --- a/Build/source/extra/xz/INSTALL +++ /dev/null @@ -1,465 +0,0 @@ - -XZ Utils Installation -===================== - - 0. Preface - 1. Supported platforms - 1.1. Compilers - 1.2. Platform-specific notes - 1.2.1. AIX - 1.2.2. IRIX - 1.2.3. MINIX 3 - 1.2.4. OpenVMS - 1.2.5. Solaris, OpenSolaris, and derivatives - 1.2.6. Tru64 - 1.2.7. Windows - 1.2.8. DOS - 1.3. Adding support for new platforms - 2. configure options - 2.1. Static vs. dynamic linking of liblzma - 2.2. Optimizing xzdec and lzmadec - 3. xzgrep and other scripts - 3.1. Dependencies - 3.2. PATH - 4. Troubleshooting - 4.1. "No C99 compiler was found." - 4.2. "No POSIX conforming shell (sh) was found." - 4.3. configure works but build fails at crc32_x86.S - 4.4. Lots of warnings about symbol visibility - - -0. Preface ----------- - - If you aren't familiar with building packages that use GNU Autotools, - see the file INSTALL.generic for generic instructions before reading - further. - - If you are going to build a package for distribution, see also the - file PACKAGERS. It contains information that should help making the - binary packages as good as possible, but the information isn't very - interesting to those making local builds for private use or for use - in special situations like embedded systems. - - -1. Supported platforms ----------------------- - - XZ Utils are developed on GNU/Linux, but they should work on many - POSIX-like operating systems like *BSDs and Solaris, and even on - a few non-POSIX operating systems. - - -1.1. Compilers - - A C99 compiler is required to compile XZ Utils. If you use GCC, you - need at least version 3.x.x. GCC version 2.xx.x doesn't support some - C99 features used in XZ Utils source code, thus GCC 2 won't compile - XZ Utils. - - XZ Utils takes advantage of some GNU C extensions when building - with GCC. Because these extensions are used only when building - with GCC, it should be possible to use any C99 compiler. - - -1.2. Platform-specific notes - -1.2.1. AIX - - If you use IBM XL C compiler, pass CC=xlc_r to configure. If - you use CC=xlc instead, you must disable threading support - with --disable-threads (usually not recommended). - - -1.2.2. IRIX - - MIPSpro 7.4.4m has been reported to produce broken code if using - the -O2 optimization flag ("make check" fails). Using -O1 should - work. - - A problem has been reported when using shared liblzma. Passing - --disable-shared to configure works around this. Alternatively, - putting "-64" to CFLAGS to build a 64-bit version might help too. - - -1.2.3. MINIX 3 - - The default install of MINIX 3 includes Amsterdam Compiler Kit (ACK), - which doesn't support C99. Install GCC to compile XZ Utils. - - MINIX 3.1.8 and older have bugs in /usr/include/stdint.h, which has - to be patched before XZ Utils can be compiled correctly. See - . - - MINIX 3.2.0 and later use a different libc and aren't affected by - the above bug. - - XZ Utils doesn't have code to detect the amount of physical RAM and - number of CPU cores on MINIX 3. - - See section 4.4 in this file about symbol visibility warnings (you - may want to pass gl_cv_cc_visibility=no to configure). - - -1.2.4. OpenVMS - - XZ Utils can be built for OpenVMS, but the build system files - are not included in the XZ Utils source package. The required - OpenVMS-specific files are maintained by Jouk Jansen and can be - downloaded here: - - http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils - - -1.2.5. Solaris, OpenSolaris, and derivatives - - The following linker error has been reported on some x86 systems: - - ld: fatal: relocation error: R_386_GOTOFF: ... - - This can be worked around by passing gl_cv_cc_visibility=no - as an argument to the configure script. - - -1.2.6. Tru64 - - If you try to use the native C compiler on Tru64 (passing CC=cc to - configure), you may need the workaround mention in section 4.1 in - this file (pass also ac_cv_prog_cc_c99= to configure). - - -1.2.7. Windows - - Building XZ Utils on Windows is supported under MinGW + MSYS, - MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to - ease packaging XZ Utils with MinGW(-w64) + MSYS into a - redistributable .zip or .7z file. See windows/INSTALL-Windows.txt - for more information. - - It might be possible to build liblzma with a non-GNU toolchain too, - but that will probably require writing a separate makefile. Building - the command line tools with non-GNU toolchains will be harder than - building only liblzma. - - Even if liblzma is built with MinGW, the resulting DLL or static - library can be used by other compilers and linkers, including MSVC. - Thus, it shouldn't be a problem to use MinGW to build liblzma even - if you cannot use MinGW to build the rest of your project. See - windows/README-Windows.txt for details. - - -1.2.8. DOS - - There is an experimental Makefile in the "dos" directory to build - XZ Utils on DOS using DJGPP. Support for long file names (LFN) is - needed. See dos/README for more information. - - GNU Autotools based build hasn't been tried on DOS. If you try, I - would like to hear if it worked. - - -1.3. Adding support for new platforms - - If you have written patches to make XZ Utils to work on previously - unsupported platform, please send the patches to me! I will consider - including them to the official version. It's nice to minimize the - need of third-party patching. - - One exception: Don't request or send patches to change the whole - source package to C89. I find C99 substantially nicer to write and - maintain. However, the public library headers must be in C89 to - avoid frustrating those who maintain programs, which are strictly - in C89 or C++. - - -2. configure options --------------------- - - In most cases, the defaults are what you want. Many of the options - below are useful only when building a size-optimized version of - liblzma or command line tools. - - --enable-encoders=LIST - --disable-encoders - Specify a comma-separated LIST of filter encoders to - build. See "./configure --help" for exact list of - available filter encoders. The default is to build all - supported encoders. - - If LIST is empty or --disable-encoders is used, no filter - encoders will be built and also the code shared between - encoders will be omitted. - - Disabling encoders will remove some symbols from the - liblzma ABI, so this option should be used only when it - is known to not cause problems. - - --enable-decoders=LIST - --disable-decoders - This is like --enable-encoders but for decoders. The - default is to build all supported decoders. - - --enable-match-finders=LIST - liblzma includes two categories of match finders: - hash chains and binary trees. Hash chains (hc3 and hc4) - are quite fast but they don't provide the best compression - ratio. Binary trees (bt2, bt3 and bt4) give excellent - compression ratio, but they are slower and need more - memory than hash chains. - - You need to enable at least one match finder to build the - LZMA1 or LZMA2 filter encoders. Usually hash chains are - used only in the fast mode, while binary trees are used to - when the best compression ratio is wanted. - - The default is to build all the match finders if LZMA1 - or LZMA2 filter encoders are being built. - - --enable-checks=LIST - liblzma support multiple integrity checks. CRC32 is - mandatory, and cannot be omitted. See "./configure --help" - for exact list of available integrity check types. - - liblzma and the command line tools can decompress files - which use unsupported integrity check type, but naturally - the file integrity cannot be verified in that case. - - Disabling integrity checks may remove some symbols from - the liblzma ABI, so this option should be used only when - it is known to not cause problems. - - --disable-xz - --disable-xzdec - --disable-lzmadec - --disable-lzmainfo - Don't build and install the command line tool mentioned - in the option name. - - NOTE: Disabling xz will skip some tests in "make check". - - NOTE: If xzdec is disabled and lzmadec is left enabled, - a dangling man page symlink lzmadec.1 -> xzdec.1 is - created. - - --disable-lzma-links - Don't create symlinks for LZMA Utils compatibility. - This includes lzma, unlzma, and lzcat. If scripts are - installed, also lzdiff, lzcmp, lzgrep, lzegrep, lzfgrep, - lzmore, and lzless will be omitted if this option is used. - - --disable-scripts - Don't install the scripts xzdiff, xzgrep, xzmore, xzless, - and their symlinks. - - --disable-assembler - liblzma includes some assembler optimizations. Currently - there is only assembler code for CRC32 and CRC64 for - 32-bit x86. - - All the assembler code in liblzma is position-independent - code, which is suitable for use in shared libraries and - position-independent executables. So far only i386 - instructions are used, but the code is optimized for i686 - class CPUs. If you are compiling liblzma exclusively for - pre-i686 systems, you may want to disable the assembler - code. - - --enable-unaligned-access - Allow liblzma to use unaligned memory access for 16-bit - and 32-bit loads and stores. This should be enabled only - when the hardware supports this, i.e. when unaligned - access is fast. Some operating system kernels emulate - unaligned access, which is extremely slow. This option - shouldn't be used on systems that rely on such emulation. - - Unaligned access is enabled by default on x86, x86-64, - and big endian PowerPC. - - --enable-small - Reduce the size of liblzma by selecting smaller but - semantically equivalent version of some functions, and - omit precomputed lookup tables. This option tends to - make liblzma slightly slower. - - Note that while omitting the precomputed tables makes - liblzma smaller on disk, the tables are still needed at - run time, and need to be computed at startup. This also - means that the RAM holding the tables won't be shared - between applications linked against shared liblzma. - - This option doesn't modify CFLAGS to tell the compiler - to optimize for size. You need to add -Os or equivalent - flag(s) to CFLAGS manually. - - --enable-assume-ram=SIZE - On the most common operating systems, XZ Utils is able to - detect the amount of physical memory on the system. This - information is used by the options --memlimit-compress, - --memlimit-decompress, and --memlimit when setting the - limit to a percentage of total RAM. - - On some systems, there is no code to detect the amount of - RAM though. Using --enable-assume-ram one can set how much - memory to assume on these systems. SIZE is given as MiB. - The default is 128 MiB. - - Feel free to send patches to add support for detecting - the amount of RAM on the operating system you use. See - src/common/tuklib_physmem.c for details. - - --disable-threads - Disable threading support. This makes some things - thread-unsafe, meaning that if multithreaded application - calls liblzma functions from more than one thread, - something bad may happen. - - Use this option if threading support causes you trouble, - or if you know that you will use liblzma only from - single-threaded applications and want to avoid dependency - on libpthread. - - --enable-debug - This enables the assert() macro and possibly some other - run-time consistency checks. It makes the code slower, so - you normally don't want to have this enabled. - - --enable-werror - If building with GCC, make all compiler warnings an error, - that abort the compilation. This may help catching bugs, - and should work on most systems. This has no effect on the - resulting binaries. - - -2.1. Static vs. dynamic linking of liblzma - - On 32-bit x86, linking against static liblzma can give a minor - speed improvement. Static libraries on x86 are usually compiled as - position-dependent code (non-PIC) and shared libraries are built as - position-independent code (PIC). PIC wastes one register, which can - make the code slightly slower compared to a non-PIC version. (Note - that this doesn't apply to x86-64.) - - If you want to link xz against static liblzma, the simplest way - is to pass --disable-shared to configure. If you want also shared - liblzma, run configure again and run "make install" only for - src/liblzma. - - -2.2. Optimizing xzdec and lzmadec - - xzdec and lzmadec are intended to be relatively small instead of - optimizing for the best speed. Thus, it is a good idea to build - xzdec and lzmadec separately: - - - To link the tools against static liblzma, pass --disable-shared - to configure. - - - To select somewhat size-optimized variant of some things in - liblzma, pass --enable-small to configure. - - - Tell the compiler to optimize for size instead of speed. - E.g. with GCC, put -Os into CFLAGS. - - - xzdec and lzmadec will never use multithreading capabilities of - liblzma. You can avoid dependency on libpthread by passing - --disable-threads to configure. - - - There are and will be no translated messages for xzdec and - lzmadec, so it is fine to pass also --disable-nls to configure. - - - Only decoder code is needed, so you can speed up the build - slightly by passing --disable-encoders to configure. This - shouldn't affect the final size of the executables though, - because the linker is able to omit the encoder code anyway. - - If you have no use for xzdec or lzmadec, you can disable them with - --disable-xzdec and --disable-lzmadec. - - -3. xzgrep and other scripts ---------------------------- - -3.1. Dependencies - - POSIX shell (sh) and bunch of other standard POSIX tools are required - to run the scripts. The configure script tries to find a POSIX - compliant sh, but if it fails, you can force the shell by passing - gl_cv_posix_shell=/path/to/posix-sh as an argument to the configure - script. - - Some of the scripts require also mktemp. The original mktemp can be - found from . On GNU, most will use the mktemp - program from GNU coreutils instead of the original implementation. - Both mktemp versions are fine for XZ Utils (and practically for - everything else too). - - -3.2. PATH - - The scripts assume that the required tools (standard POSIX utilities, - mktemp, and xz) are in PATH; the scripts don't set the PATH themselves. - Some people like this while some think this is a bug. Those in the - latter group can easily patch the scripts before running the configure - script by taking advantage of a placeholder line in the scripts. - - For example, to make the scripts prefix /usr/bin:/bin to PATH: - - perl -pi -e 's|^#SET_PATH.*$|PATH=/usr/bin:/bin:\$PATH|' \ - src/scripts/xz*.in - - -4. Troubleshooting ------------------- - -4.1. "No C99 compiler was found." - - You need a C99 compiler to build XZ Utils. If the configure script - cannot find a C99 compiler and you think you have such a compiler - installed, set the compiler command by passing CC=/path/to/c99 as - an argument to the configure script. - - If you get this error even when you think your compiler supports C99, - you can override the test by passing ac_cv_prog_cc_c99= as an argument - to the configure script. The test for C99 compiler is not perfect (and - it is not as easy to make it perfect as it sounds), so sometimes this - may be needed. You will get a compile error if your compiler doesn't - support enough C99. - - -4.2. "No POSIX conforming shell (sh) was found." - - xzgrep and other scripts need a shell that (roughly) conforms - to POSIX. The configure script tries to find such a shell. If - it fails, you can force the shell to be used by passing - gl_cv_posix_shell=/path/to/posix-sh as an argument to the configure - script. - - -4.3. configure works but build fails at crc32_x86.S - - The easy fix is to pass --disable-assembler to the configure script. - - The configure script determines if assembler code can be used by - looking at the configure triplet; there is currently no check if - the assembler code can actually actually be built. The x86 assembler - code should work on x86 GNU/Linux, *BSDs, Solaris, Darwin, MinGW, - Cygwin, and DJGPP. On other x86 systems, there may be problems and - the assembler code may need to be disabled with the configure option. - - If you get this error when building for x86-64, you have specified or - the configure script has misguessed your architecture. Pass the - correct configure triplet using the --build=CPU-COMPANY-SYSTEM option - (see INSTALL.generic). - - -4.4. Lots of warnings about symbol visibility - - On some systems where symbol visibility isn't supported, GCC may - still accept the visibility options and attributes, which will make - configure think that visibility is supported. This will result in - many compiler warnings. You can avoid the warnings by forcing the - visibility support off by passing gl_cv_cc_visibility=no as an - argument to the configure script. This has no effect on the - resulting binaries, but fewer warnings looks nicer and may allow - using --enable-werror. - diff --git a/Build/source/extra/xz/INSTALL.generic b/Build/source/extra/xz/INSTALL.generic deleted file mode 100644 index 81fd332cef8..00000000000 --- a/Build/source/extra/xz/INSTALL.generic +++ /dev/null @@ -1,365 +0,0 @@ -Installation Instructions -************************* - -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, -2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. - - Copying and distribution of this file, with or without modification, -are permitted in any medium without royalty provided the copyright -notice and this notice are preserved. This file is offered as-is, -without warranty of any kind. - -Basic Installation -================== - - Briefly, the shell commands `./configure; make; make install' should -configure, build, and install this package. The following -more-detailed instructions are generic; see the `README' file for -instructions specific to this package. Some packages provide this -`INSTALL' file but do not implement all of the features documented -below. The lack of an optional feature in a given package is not -necessarily a bug. More recommendations for GNU packages can be found -in *note Makefile Conventions: (standards)Makefile Conventions. - - The `configure' shell script attempts to guess correct values for -various system-dependent variables used during compilation. It uses -those values to create a `Makefile' in each directory of the package. -It may also create one or more `.h' files containing system-dependent -definitions. Finally, it creates a shell script `config.status' that -you can run in the future to recreate the current configuration, and a -file `config.log' containing compiler output (useful mainly for -debugging `configure'). - - It can also use an optional file (typically called `config.cache' -and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. Caching is -disabled by default to prevent problems with accidental use of stale -cache files. - - If you need to do unusual things to compile the package, please try -to figure out how `configure' could check whether to do them, and mail -diffs or instructions to the address given in the `README' so they can -be considered for the next release. If you are using the cache, and at -some point `config.cache' contains results you don't want to keep, you -may remove or edit it. - - The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You need `configure.ac' if -you want to change it or regenerate `configure' using a newer version -of `autoconf'. - - The simplest way to compile this package is: - - 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. - - Running `configure' might take a while. While running, it prints - some messages telling which features it is checking for. - - 2. Type `make' to compile the package. - - 3. Optionally, type `make check' to run any self-tests that come with - the package, generally using the just-built uninstalled binaries. - - 4. Type `make install' to install the programs and any data files and - documentation. When installing into a prefix owned by root, it is - recommended that the package be configured and built as a regular - user, and only the `make install' phase executed with root - privileges. - - 5. Optionally, type `make installcheck' to repeat any self-tests, but - this time using the binaries in their final installed location. - This target does not install anything. Running this target as a - regular user, particularly if the prior `make install' required - root privileges, verifies that the installation completed - correctly. - - 6. You can remove the program binaries and object files from the - source code directory by typing `make clean'. To also remove the - files that `configure' created (so you can compile the package for - a different kind of computer), type `make distclean'. There is - also a `make maintainer-clean' target, but that is intended mainly - for the package's developers. If you use it, you may have to get - all sorts of other programs in order to regenerate files that came - with the distribution. - - 7. Often, you can also type `make uninstall' to remove the installed - files again. In practice, not all packages have tested that - uninstallation works correctly, even though it is required by the - GNU Coding Standards. - - 8. Some packages, particularly those that use Automake, provide `make - distcheck', which can by used by developers to test that all other - targets like `make install' and `make uninstall' work correctly. - This target is generally not run by end users. - -Compilers and Options -===================== - - Some systems require unusual options for compilation or linking that -the `configure' script does not know about. Run `./configure --help' -for details on some of the pertinent environment variables. - - You can give `configure' initial values for configuration parameters -by setting variables in the command line or in the environment. Here -is an example: - - ./configure CC=c99 CFLAGS=-g LIBS=-lposix - - *Note Defining Variables::, for more details. - -Compiling For Multiple Architectures -==================================== - - You can compile the package for more than one kind of computer at the -same time, by placing the object files for each architecture in their -own directory. To do this, you can use GNU `make'. `cd' to the -directory where you want the object files and executables to go and run -the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. This -is known as a "VPATH" build. - - With a non-GNU `make', it is safer to compile the package for one -architecture at a time in the source code directory. After you have -installed the package for one architecture, use `make distclean' before -reconfiguring for another architecture. - - On MacOS X 10.5 and later systems, you can create libraries and -executables that work on multiple system types--known as "fat" or -"universal" binaries--by specifying multiple `-arch' options to the -compiler but only a single `-arch' option to the preprocessor. Like -this: - - ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ - CPP="gcc -E" CXXCPP="g++ -E" - - This is not guaranteed to produce working output in all cases, you -may have to build one architecture at a time and combine the results -using the `lipo' tool if you have problems. - -Installation Names -================== - - By default, `make install' installs the package's commands under -`/usr/local/bin', include files under `/usr/local/include', etc. You -can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX', where PREFIX must be an -absolute file name. - - You can specify separate installation prefixes for -architecture-specific files and architecture-independent files. If you -pass the option `--exec-prefix=PREFIX' to `configure', the package uses -PREFIX as the prefix for installing programs and libraries. -Documentation and other data files still use the regular prefix. - - In addition, if you use an unusual directory layout you can give -options like `--bindir=DIR' to specify different values for particular -kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. In general, the -default for these options is expressed in terms of `${prefix}', so that -specifying just `--prefix' will affect all of the other directory -specifications that were not explicitly provided. - - The most portable way to affect installation locations is to pass the -correct locations to `configure'; however, many packages provide one or -both of the following shortcuts of passing variable assignments to the -`make install' command line to change installation locations without -having to reconfigure or recompile. - - The first method involves providing an override variable for each -affected directory. For example, `make install -prefix=/alternate/directory' will choose an alternate location for all -directory configuration variables that were expressed in terms of -`${prefix}'. Any directories that were specified during `configure', -but not in terms of `${prefix}', must each be overridden at install -time for the entire installation to be relocated. The approach of -makefile variable overrides for each directory variable is required by -the GNU Coding Standards, and ideally causes no recompilation. -However, some platforms have known limitations with the semantics of -shared libraries that end up requiring recompilation when using this -method, particularly noticeable in packages that use GNU Libtool. - - The second method involves providing the `DESTDIR' variable. For -example, `make install DESTDIR=/alternate/directory' will prepend -`/alternate/directory' before all installation names. The approach of -`DESTDIR' overrides is not required by the GNU Coding Standards, and -does not work on platforms that have drive letters. On the other hand, -it does better at avoiding recompilation issues, and works well even -when some directory options were not specified in terms of `${prefix}' -at `configure' time. - -Optional Features -================= - - If the package supports it, you can cause programs to be installed -with an extra prefix or suffix on their names by giving `configure' the -option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. - - Some packages pay attention to `--enable-FEATURE' options to -`configure', where FEATURE indicates an optional part of the package. -They may also pay attention to `--with-PACKAGE' options, where PACKAGE -is something like `gnu-as' or `x' (for the X Window System). The -`README' should mention any `--enable-' and `--with-' options that the -package recognizes. - - For packages that use the X Window System, `configure' can usually -find the X include and library files automatically, but if it doesn't, -you can use the `configure' options `--x-includes=DIR' and -`--x-libraries=DIR' to specify their locations. - - Some packages offer the ability to configure how verbose the -execution of `make' will be. For these packages, running `./configure ---enable-silent-rules' sets the default to minimal output, which can be -overridden with `make V=1'; while running `./configure ---disable-silent-rules' sets the default to verbose, which can be -overridden with `make V=0'. - -Particular systems -================== - - On HP-UX, the default C compiler is not ANSI C compatible. If GNU -CC is not installed, it is recommended to use the following options in -order to use an ANSI C compiler: - - ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" - -and if that doesn't work, install pre-built binaries of GCC for HP-UX. - - On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot -parse its `' header file. The option `-nodtk' can be used as -a workaround. If GNU CC is not installed, it is therefore recommended -to try - - ./configure CC="cc" - -and if that doesn't work, try - - ./configure CC="cc -nodtk" - - On Solaris, don't put `/usr/ucb' early in your `PATH'. This -directory contains several dysfunctional programs; working variants of -these programs are available in `/usr/bin'. So, if you need `/usr/ucb' -in your `PATH', put it _after_ `/usr/bin'. - - On Haiku, software installed for all users goes in `/boot/common', -not `/usr/local'. It is recommended to use the following options: - - ./configure --prefix=/boot/common - -Specifying the System Type -========================== - - There may be some features `configure' cannot figure out -automatically, but needs to determine by the type of machine the package -will run on. Usually, assuming the package is built to be run on the -_same_ architectures, `configure' can figure that out, but if it prints -a message saying it cannot guess the machine type, give it the -`--build=TYPE' option. TYPE can either be a short name for the system -type, such as `sun4', or a canonical name which has the form: - - CPU-COMPANY-SYSTEM - -where SYSTEM can have one of these forms: - - OS - KERNEL-OS - - See the file `config.sub' for the possible values of each field. If -`config.sub' isn't included in this package, then this package doesn't -need to know the machine type. - - If you are _building_ compiler tools for cross-compiling, you should -use the option `--target=TYPE' to select the type of system they will -produce code for. - - If you want to _use_ a cross compiler, that generates code for a -platform different from the build platform, you should specify the -"host" platform (i.e., that on which the generated programs will -eventually be run) with `--host=TYPE'. - -Sharing Defaults -================ - - If you want to set default values for `configure' scripts to share, -you can create a site shell script called `config.site' that gives -default values for variables like `CC', `cache_file', and `prefix'. -`configure' looks for `PREFIX/share/config.site' if it exists, then -`PREFIX/etc/config.site' if it exists. Or, you can set the -`CONFIG_SITE' environment variable to the location of the site script. -A warning: not all `configure' scripts look for a site script. - -Defining Variables -================== - - Variables not defined in a site shell script can be set in the -environment passed to `configure'. However, some packages may run -configure again during the build, and the customized values of these -variables may be lost. In order to avoid this problem, you should set -them in the `configure' command line, using `VAR=value'. For example: - - ./configure CC=/usr/local2/bin/gcc - -causes the specified `gcc' to be used as the C compiler (unless it is -overridden in the site shell script). - -Unfortunately, this technique does not work for `CONFIG_SHELL' due to -an Autoconf bug. Until the bug is fixed you can use this workaround: - - CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash - -`configure' Invocation -====================== - - `configure' recognizes the following options to control how it -operates. - -`--help' -`-h' - Print a summary of all of the options to `configure', and exit. - -`--help=short' -`--help=recursive' - Print a summary of the options unique to this package's - `configure', and exit. The `short' variant lists options used - only in the top level, while the `recursive' variant lists options - also present in any nested packages. - -`--version' -`-V' - Print the version of Autoconf used to generate the `configure' - script, and exit. - -`--cache-file=FILE' - Enable the cache: use and save the results of the tests in FILE, - traditionally `config.cache'. FILE defaults to `/dev/null' to - disable caching. - -`--config-cache' -`-C' - Alias for `--cache-file=config.cache'. - -`--quiet' -`--silent' -`-q' - Do not print messages saying which checks are being made. To - suppress all normal output, redirect it to `/dev/null' (any error - messages will still be shown). - -`--srcdir=DIR' - Look for the package's source code in directory DIR. Usually - `configure' can determine that directory automatically. - -`--prefix=DIR' - Use DIR as the installation prefix. *note Installation Names:: - for more details, including other options available for fine-tuning - the installation locations. - -`--no-create' -`-n' - Run the configure checks, but stop before creating any output - files. - -`configure' also accepts some other, not widely useful, options. Run -`configure --help' for more details. - diff --git a/Build/source/extra/xz/Makefile.am b/Build/source/extra/xz/Makefile.am deleted file mode 100644 index 8aa6dfc5612..00000000000 --- a/Build/source/extra/xz/Makefile.am +++ /dev/null @@ -1,105 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -# Use -n to prevent gzip from adding a timestamp to the .gz headers. -GZIP_ENV = -9n - -DIST_SUBDIRS = lib src po tests debug -SUBDIRS = - -if COND_GNULIB -SUBDIRS += lib -endif - -SUBDIRS += src po tests - -dist_doc_DATA = \ - AUTHORS \ - COPYING \ - COPYING.GPLv2 \ - NEWS \ - README \ - THANKS \ - TODO \ - doc/faq.txt \ - doc/history.txt \ - doc/xz-file-format.txt \ - doc/lzma-file-format.txt - -examplesdir = $(docdir)/examples -dist_examples_DATA = \ - doc/examples/00_README.txt \ - doc/examples/01_compress_easy.c \ - doc/examples/02_decompress.c \ - doc/examples/03_compress_custom.c \ - doc/examples/Makefile - -examplesolddir = $(docdir)/examples_old -dist_examplesold_DATA = \ - doc/examples_old/xz_pipe_comp.c \ - doc/examples_old/xz_pipe_decomp.c - -EXTRA_DIST = \ - extra \ - dos \ - windows \ - macosx \ - autogen.sh \ - Doxyfile.in \ - COPYING.GPLv2 \ - COPYING.GPLv3 \ - COPYING.LGPLv2.1 \ - INSTALL.generic \ - PACKAGERS \ - build-aux/manconv.sh \ - build-aux/version.sh - -ACLOCAL_AMFLAGS = -I m4 - -# List of man pages to conver to PDF and plain text in the dist-hook target. -manfiles = \ - src/xz/xz.1 \ - src/xzdec/xzdec.1 \ - src/lzmainfo/lzmainfo.1 \ - src/scripts/xzdiff.1 \ - src/scripts/xzgrep.1 \ - src/scripts/xzless.1 \ - src/scripts/xzmore.1 - -# Create ChangeLog from output of "git log --date=iso --stat". -# Convert the man pages to PDF and plain text (ASCII only) formats. -dist-hook: - if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ - ( cd "$(srcdir)" && git log --date=iso --stat ) \ - > "$(distdir)/ChangeLog"; \ - fi - if type groff > /dev/null 2>&1 && type ps2pdf > /dev/null 2>&1; then \ - dest="$(distdir)/doc/man" && \ - $(MKDIR_P) "$$dest/pdf-a4" "$$dest/pdf-letter" "$$dest/txt" && \ - for FILE in $(manfiles); do \ - BASE=`basename $$FILE .1` && \ - sh "$(srcdir)/build-aux/manconv.sh" pdf a4 \ - < "$(srcdir)/$$FILE" \ - > "$$dest/pdf-a4/$$BASE-a4.pdf" && \ - sh "$(srcdir)/build-aux/manconv.sh" pdf letter \ - < "$(srcdir)/$$FILE" \ - > "$$dest/pdf-letter/$$BASE-letter.pdf" && \ - sh "$(srcdir)/build-aux/manconv.sh" ascii \ - < "$(srcdir)/$$FILE" \ - > "$$dest/txt/$$BASE.txt"; \ - done; \ - fi - -# This works with GNU tar and gives cleaner package than normal 'make dist'. -mydist: - VERSION=$(VERSION); \ - if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ - SNAPSHOT=`cd "$(srcdir)" && git describe --abbrev=4 | cut -b2-`; \ - test -n "$$SNAPSHOT" && VERSION=$$SNAPSHOT; \ - fi; \ - TAR_OPTIONS='--owner=0 --group=0 --numeric-owner --mode=u+rw,go+r-w' \ - $(MAKE) VERSION="$$VERSION" dist-gzip diff --git a/Build/source/extra/xz/Makefile.in b/Build/source/extra/xz/Makefile.in deleted file mode 100644 index e93ccbce890..00000000000 --- a/Build/source/extra/xz/Makefile.in +++ /dev/null @@ -1,1055 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@COND_GNULIB_TRUE@am__append_1 = lib -subdir = . -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/configure $(am__configure_deps) \ - $(srcdir)/config.h.in $(srcdir)/Doxyfile.in $(dist_doc_DATA) \ - $(dist_examples_DATA) $(dist_examplesold_DATA) ABOUT-NLS \ - AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO \ - build-aux/compile build-aux/config.guess \ - build-aux/config.rpath build-aux/config.sub build-aux/depcomp \ - build-aux/install-sh build-aux/missing build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/compile \ - $(top_srcdir)/build-aux/config.guess \ - $(top_srcdir)/build-aux/config.rpath \ - $(top_srcdir)/build-aux/config.sub \ - $(top_srcdir)/build-aux/install-sh \ - $(top_srcdir)/build-aux/ltmain.sh \ - $(top_srcdir)/build-aux/missing -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ - configure.lineno config.status.lineno -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = config.h -CONFIG_CLEAN_FILES = Doxyfile -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(docdir)" "$(DESTDIR)$(examplesdir)" \ - "$(DESTDIR)$(examplesolddir)" -DATA = $(dist_doc_DATA) $(dist_examples_DATA) $(dist_examplesold_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - cscope distdir dist dist-all distcheck -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ - $(LISP)config.h.in -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -CSCOPE = cscope -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -distdir = $(PACKAGE)-$(VERSION) -top_distdir = $(distdir) -am__remove_distdir = \ - if test -d "$(distdir)"; then \ - find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ - && rm -rf "$(distdir)" \ - || { sleep 5 && rm -rf "$(distdir)"; }; \ - else :; fi -am__post_remove_distdir = $(am__remove_distdir) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -DIST_ARCHIVES = $(distdir).tar.gz -DIST_TARGETS = dist-gzip -distuninstallcheck_listfiles = find . -type f -print -am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ - | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' -distcleancheck_listfiles = find . -type f -print -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ - -# Use -n to prevent gzip from adding a timestamp to the .gz headers. -GZIP_ENV = -9n -DIST_SUBDIRS = lib src po tests debug -SUBDIRS = $(am__append_1) src po tests -dist_doc_DATA = \ - AUTHORS \ - COPYING \ - COPYING.GPLv2 \ - NEWS \ - README \ - THANKS \ - TODO \ - doc/faq.txt \ - doc/history.txt \ - doc/xz-file-format.txt \ - doc/lzma-file-format.txt - -examplesdir = $(docdir)/examples -dist_examples_DATA = \ - doc/examples/00_README.txt \ - doc/examples/01_compress_easy.c \ - doc/examples/02_decompress.c \ - doc/examples/03_compress_custom.c \ - doc/examples/Makefile - -examplesolddir = $(docdir)/examples_old -dist_examplesold_DATA = \ - doc/examples_old/xz_pipe_comp.c \ - doc/examples_old/xz_pipe_decomp.c - -EXTRA_DIST = \ - extra \ - dos \ - windows \ - macosx \ - autogen.sh \ - Doxyfile.in \ - COPYING.GPLv2 \ - COPYING.GPLv3 \ - COPYING.LGPLv2.1 \ - INSTALL.generic \ - PACKAGERS \ - build-aux/manconv.sh \ - build-aux/version.sh - -ACLOCAL_AMFLAGS = -I m4 - -# List of man pages to conver to PDF and plain text in the dist-hook target. -manfiles = \ - src/xz/xz.1 \ - src/xzdec/xzdec.1 \ - src/lzmainfo/lzmainfo.1 \ - src/scripts/xzdiff.1 \ - src/scripts/xzgrep.1 \ - src/scripts/xzless.1 \ - src/scripts/xzmore.1 - -all: config.h - $(MAKE) $(AM_MAKEFLAGS) all-recursive - -.SUFFIXES: -am--refresh: Makefile - @: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \ - $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \ - && exit 0; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - echo ' $(SHELL) ./config.status'; \ - $(SHELL) ./config.status;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - $(SHELL) ./config.status --recheck - -$(top_srcdir)/configure: $(am__configure_deps) - $(am__cd) $(srcdir) && $(AUTOCONF) -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) -$(am__aclocal_m4_deps): - -config.h: stamp-h1 - @test -f $@ || rm -f stamp-h1 - @test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1 - -stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status - @rm -f stamp-h1 - cd $(top_builddir) && $(SHELL) ./config.status config.h -$(srcdir)/config.h.in: $(am__configure_deps) - ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) - rm -f stamp-h1 - touch $@ - -distclean-hdr: - -rm -f config.h stamp-h1 -Doxyfile: $(top_builddir)/config.status $(srcdir)/Doxyfile.in - cd $(top_builddir) && $(SHELL) ./config.status $@ - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -distclean-libtool: - -rm -f libtool config.lt -install-dist_docDATA: $(dist_doc_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-dist_docDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -install-dist_examplesDATA: $(dist_examples_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_examples_DATA)'; test -n "$(examplesdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(examplesdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(examplesdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(examplesdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(examplesdir)" || exit $$?; \ - done - -uninstall-dist_examplesDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_examples_DATA)'; test -n "$(examplesdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(examplesdir)'; $(am__uninstall_files_from_dir) -install-dist_examplesoldDATA: $(dist_examplesold_DATA) - @$(NORMAL_INSTALL) - @list='$(dist_examplesold_DATA)'; test -n "$(examplesolddir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(examplesolddir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(examplesolddir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(examplesolddir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(examplesolddir)" || exit $$?; \ - done - -uninstall-dist_examplesoldDATA: - @$(NORMAL_UNINSTALL) - @list='$(dist_examplesold_DATA)'; test -n "$(examplesolddir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(examplesolddir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscope: cscope.files - test ! -s cscope.files \ - || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) -clean-cscope: - -rm -f cscope.files -cscope.files: clean-cscope cscopelist -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -rm -f cscope.out cscope.in.out cscope.po.out cscope.files - -distdir: $(DISTFILES) - $(am__remove_distdir) - test -d "$(distdir)" || mkdir "$(distdir)" - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$(top_distdir)" distdir="$(distdir)" \ - dist-hook - -test -n "$(am__skip_mode_fix)" \ - || find "$(distdir)" -type d ! -perm -755 \ - -exec chmod u+rwx,go+rx {} \; -o \ - ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ - ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ - || chmod -R a+r "$(distdir)" - @if test -z "$(am__skip_length_check)" && find "$(distdir)" -type f -print | \ - grep '^...................................................................................................' 1>&2; then \ - echo 'error: the above filenames are too long' 1>&2; \ - exit 1; \ - else :; fi -dist-gzip: distdir - tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz - $(am__post_remove_distdir) - -dist-bzip2: distdir - tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 - $(am__post_remove_distdir) - -dist-lzip: distdir - tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz - $(am__post_remove_distdir) - -dist-xz: distdir - tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz - $(am__post_remove_distdir) - -dist-tarZ: distdir - @echo WARNING: "Support for shar distribution archives is" \ - "deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z - $(am__post_remove_distdir) - -dist-shar: distdir - @echo WARNING: "Support for distribution archives compressed with" \ - "legacy program 'compress' is deprecated." >&2 - @echo WARNING: "It will be removed altogether in Automake 2.0" >&2 - shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz - $(am__post_remove_distdir) - -dist-zip: distdir - -rm -f $(distdir).zip - zip -rq $(distdir).zip $(distdir) - $(am__post_remove_distdir) - -dist dist-all: - $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' - $(am__post_remove_distdir) - -# This target untars the dist file and tries a VPATH configuration. Then -# it guarantees that the distribution is self-contained by making another -# tarfile. -distcheck: dist - case '$(DIST_ARCHIVES)' in \ - *.tar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ - *.tar.bz2*) \ - bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ - *.tar.lz*) \ - lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ - *.tar.xz*) \ - xz -dc $(distdir).tar.xz | $(am__untar) ;;\ - *.tar.Z*) \ - uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ - *.shar.gz*) \ - GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ - *.zip*) \ - unzip $(distdir).zip ;;\ - esac - chmod -R a-w $(distdir) - chmod u+w $(distdir) - mkdir $(distdir)/_build $(distdir)/_inst - chmod a-w $(distdir) - test -d $(distdir)/_build || exit 0; \ - dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ - && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ - && am__cwd=`pwd` \ - && $(am__cd) $(distdir)/_build \ - && ../configure \ - $(AM_DISTCHECK_CONFIGURE_FLAGS) \ - $(DISTCHECK_CONFIGURE_FLAGS) \ - --srcdir=.. --prefix="$$dc_install_base" \ - && $(MAKE) $(AM_MAKEFLAGS) \ - && $(MAKE) $(AM_MAKEFLAGS) dvi \ - && $(MAKE) $(AM_MAKEFLAGS) check \ - && $(MAKE) $(AM_MAKEFLAGS) install \ - && $(MAKE) $(AM_MAKEFLAGS) installcheck \ - && $(MAKE) $(AM_MAKEFLAGS) uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ - distuninstallcheck \ - && chmod -R a-w "$$dc_install_base" \ - && ({ \ - (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ - && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ - distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ - } || { rm -rf "$$dc_destdir"; exit 1; }) \ - && rm -rf "$$dc_destdir" \ - && $(MAKE) $(AM_MAKEFLAGS) dist \ - && rm -rf $(DIST_ARCHIVES) \ - && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ - && cd "$$am__cwd" \ - || exit 1 - $(am__post_remove_distdir) - @(echo "$(distdir) archives ready for distribution: "; \ - list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ - sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' -distuninstallcheck: - @test -n '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: trying to run $@ with an empty' \ - '$$(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - $(am__cd) '$(distuninstallcheck_dir)' || { \ - echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ - exit 1; \ - }; \ - test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left after uninstall:" ; \ - if test -n "$(DESTDIR)"; then \ - echo " (check DESTDIR support)"; \ - fi ; \ - $(distuninstallcheck_listfiles) ; \ - exit 1; } >&2 -distcleancheck: distclean - @if test '$(srcdir)' = . ; then \ - echo "ERROR: distcleancheck can only run from a VPATH build" ; \ - exit 1 ; \ - fi - @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ - || { echo "ERROR: files left in build directory after distclean:" ; \ - $(distcleancheck_listfiles) ; \ - exit 1; } >&2 -check-am: all-am -check: check-recursive -all-am: Makefile $(DATA) config.h -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(docdir)" "$(DESTDIR)$(examplesdir)" "$(DESTDIR)$(examplesolddir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-hdr \ - distclean-libtool distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-dist_docDATA install-dist_examplesDATA \ - install-dist_examplesoldDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f $(am__CONFIG_DISTCLEAN_FILES) - -rm -rf $(top_srcdir)/autom4te.cache - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-dist_docDATA uninstall-dist_examplesDATA \ - uninstall-dist_examplesoldDATA - -.MAKE: $(am__recursive_targets) all install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ - am--refresh check check-am clean clean-cscope clean-generic \ - clean-libtool cscope cscopelist-am ctags ctags-am dist \ - dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ - dist-tarZ dist-xz dist-zip distcheck distclean \ - distclean-generic distclean-hdr distclean-libtool \ - distclean-tags distcleancheck distdir distuninstallcheck dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dist_docDATA \ - install-dist_examplesDATA install-dist_examplesoldDATA \ - install-dvi install-dvi-am install-exec install-exec-am \ - install-html install-html-am install-info install-info-am \ - install-man install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs installdirs-am maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-dist_docDATA \ - uninstall-dist_examplesDATA uninstall-dist_examplesoldDATA - - -# Create ChangeLog from output of "git log --date=iso --stat". -# Convert the man pages to PDF and plain text (ASCII only) formats. -dist-hook: - if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ - ( cd "$(srcdir)" && git log --date=iso --stat ) \ - > "$(distdir)/ChangeLog"; \ - fi - if type groff > /dev/null 2>&1 && type ps2pdf > /dev/null 2>&1; then \ - dest="$(distdir)/doc/man" && \ - $(MKDIR_P) "$$dest/pdf-a4" "$$dest/pdf-letter" "$$dest/txt" && \ - for FILE in $(manfiles); do \ - BASE=`basename $$FILE .1` && \ - sh "$(srcdir)/build-aux/manconv.sh" pdf a4 \ - < "$(srcdir)/$$FILE" \ - > "$$dest/pdf-a4/$$BASE-a4.pdf" && \ - sh "$(srcdir)/build-aux/manconv.sh" pdf letter \ - < "$(srcdir)/$$FILE" \ - > "$$dest/pdf-letter/$$BASE-letter.pdf" && \ - sh "$(srcdir)/build-aux/manconv.sh" ascii \ - < "$(srcdir)/$$FILE" \ - > "$$dest/txt/$$BASE.txt"; \ - done; \ - fi - -# This works with GNU tar and gives cleaner package than normal 'make dist'. -mydist: - VERSION=$(VERSION); \ - if test -d "$(srcdir)/.git" && type git > /dev/null 2>&1; then \ - SNAPSHOT=`cd "$(srcdir)" && git describe --abbrev=4 | cut -b2-`; \ - test -n "$$SNAPSHOT" && VERSION=$$SNAPSHOT; \ - fi; \ - TAR_OPTIONS='--owner=0 --group=0 --numeric-owner --mode=u+rw,go+r-w' \ - $(MAKE) VERSION="$$VERSION" dist-gzip - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/NEWS b/Build/source/extra/xz/NEWS deleted file mode 100644 index b4f55fc9596..00000000000 --- a/Build/source/extra/xz/NEWS +++ /dev/null @@ -1,215 +0,0 @@ - -XZ Utils Release Notes -====================== - -5.0.5 (2013-06-30) - - * lzmadec and liblzma's lzma_alone_decoder(): Support decompressing - .lzma files that have less common settings in the headers - (dictionary size other than 2^n or 2^n + 2^(n-1), or uncompressed - size greater than 256 GiB). The limitations existed to avoid false - positives when detecting .lzma files. The lc + lp <= 4 limitation - still remains since liblzma's LZMA decoder has that limitation. - - NOTE: xz's .lzma support or liblzma's lzma_auto_decoder() are NOT - affected by this change. They still consider uncommon .lzma headers - as not being in the .lzma format. Changing this would give way too - many false positives. - - * xz: - - - Interaction of preset and custom filter chain options was - made less illogical. This affects only certain less typical - uses cases so few people are expected to notice this change. - - Now when a custom filter chain option (e.g. --lzma2) is - specified, all preset options (-0 ... -9, -e) earlier are on - the command line are completely forgotten. Similarly, when - a preset option is specified, all custom filter chain options - earlier on the command line are completely forgotten. - - Example 1: "xz -9 --lzma2=preset=5 -e" is equivalent to "xz -e" - which is equivalent to "xz -6e". Earlier -e didn't put xz back - into preset mode and thus the example command was equivalent - to "xz --lzma2=preset=5". - - Example 2: "xz -9e --lzma2=preset=5 -7" is equivalent to - "xz -7". Earlier a custom filter chain option didn't make - xz forget the -e option so the example was equivalent to - "xz -7e". - - - Fixes and improvements to error handling. - - - Various fixes to the man page. - - * xzless: Fixed to work with "less" versions 448 and later. - - * xzgrep: Made -h an alias for --no-filename. - - * Include the previously missing debug/translation.bash which can - be useful for translators. - - * Include a build script for Mac OS X. This has been in the Git - repository since 2010 but due to a mistake in Makefile.am the - script hasn't been included in a release tarball before. - - -5.0.4 (2012-06-22) - - * liblzma: - - - Fix lzma_index_init(). It could crash if memory allocation - failed. - - - Fix the possibility of an incorrect LZMA_BUF_ERROR when a BCJ - filter is used and the application only provides exactly as - much output space as is the uncompressed size of the file. - - - Fix a bug in doc/examples_old/xz_pipe_decompress.c. It didn't - check if the last call to lzma_code() really returned - LZMA_STREAM_END, which made the program think that truncated - files are valid. - - - New example programs in doc/examples (old programs are now in - doc/examples_old). These have more comments and more detailed - error handling. - - * Fix "xz -lvv foo.xz". It could crash on some corrupted files. - - * Fix output of "xz --robot -lv" and "xz --robot -lvv" which - incorrectly printed the filename also in the "foo (x/x)" format. - - * Fix exit status of "xzdiff foo.xz bar.xz". - - * Fix exit status of "xzgrep foo binary_file". - - * Fix portability to EBCDIC systems. - - * Fix a configure issue on AIX with the XL C compiler. See INSTALL - for details. - - * Update French, German, Italian, and Polish translations. - - -5.0.3 (2011-05-21) - - * liblzma fixes: - - - A memory leak was fixed. - - - lzma_stream_buffer_encode() no longer creates an empty .xz - Block if encoding an empty buffer. Such an empty Block with - LZMA2 data would trigger a bug in 5.0.1 and older (see the - first bullet point in 5.0.2 notes). When releasing 5.0.2, - I thought that no encoder creates this kind of files but - I was wrong. - - - Validate function arguments better in a few functions. Most - importantly, specifying an unsupported integrity check to - lzma_stream_buffer_encode() no longer creates a corrupt .xz - file. Probably no application tries to do that, so this - shouldn't be a big problem in practice. - - - Document that lzma_block_buffer_encode(), - lzma_easy_buffer_encode(), lzma_stream_encoder(), and - lzma_stream_buffer_encode() may return LZMA_UNSUPPORTED_CHECK. - - - The return values of the _memusage() functions are now - documented better. - - * Fix command name detection in xzgrep. xzegrep and xzfgrep now - correctly use egrep and fgrep instead of grep. - - * French translation was added. - - -5.0.2 (2011-04-01) - - * LZMA2 decompressor now correctly accepts LZMA2 streams with no - uncompressed data. Previously it considered them corrupt. The - bug can affect applications that use raw LZMA2 streams. It is - very unlikely to affect .xz files because no compressor creates - .xz files with empty LZMA2 streams. (Empty .xz files are a - different thing than empty LZMA2 streams.) - - * "xz --suffix=.foo filename.foo" now refuses to compress the - file due to it already having the suffix .foo. It was already - documented on the man page, but the code lacked the test. - - * "xzgrep -l foo bar.xz" works now. - - * Polish translation was added. - - -5.0.1 (2011-01-29) - - * xz --force now (de)compresses files that have setuid, setgid, - or sticky bit set and files that have multiple hard links. - The man page had it documented this way already, but the code - had a bug. - - * gzip and bzip2 support in xzdiff was fixed. - - * Portability fixes - - * Minor fix to Czech translation - - -5.0.0 (2010-10-23) - - Only the most important changes compared to 4.999.9beta are listed - here. One change is especially important: - - * The memory usage limit is now disabled by default. Some scripts - written before this change may have used --memory=max on xz command - line or in XZ_OPT. THESE USES OF --memory=max SHOULD BE REMOVED - NOW, because they interfere with user's ability to set the memory - usage limit himself. If user-specified limit causes problems to - your script, blame the user. - - Other significant changes: - - * Added support for XZ_DEFAULTS environment variable. This variable - allows users to set default options for xz, e.g. default memory - usage limit or default compression level. Scripts that use xz - must never set or unset XZ_DEFAULTS. Scripts should use XZ_OPT - instead if they need a way to pass options to xz via an - environment variable. - - * The compression settings associated with the preset levels - -0 ... -9 have been changed. --extreme was changed a little too. - It is now less likely to make compression worse, but with some - files the new --extreme may compress slightly worse than the old - --extreme. - - * If a preset level (-0 ... -9) is specified after a custom filter - chain options have been used (e.g. --lzma2), the custom filter - chain will be forgotten. Earlier the preset options were - completely ignored after custom filter chain options had been - seen. - - * xz will create sparse files when decompressing if the uncompressed - data contains long sequences of binary zeros. This is done even - when writing to standard output that is connected to a regular - file and certain additional conditions are met to make it safe. - - * Support for "xz --list" was added. Combine with --verbose or - --verbose --verbose (-vv) for detailed output. - - * I had hoped that liblzma API would have been stable after - 4.999.9beta, but there have been a couple of changes in the - advanced features, which don't affect most applications: - - - Index handling code was revised. If you were using the old - API, you will get a compiler error (so it's easy to notice). - - - A subtle but important change was made to the Block handling - API. lzma_block.version has to be initialized even for - lzma_block_header_decode(). Code that doesn't do it will work - for now, but might break in the future, which makes this API - change easy to miss. - - * The major soname has been bumped to 5.0.0. liblzma API and ABI - are now stable, so the need to recompile programs linking against - liblzma shouldn't arise soon. - diff --git a/Build/source/extra/xz/PACKAGERS b/Build/source/extra/xz/PACKAGERS deleted file mode 100644 index 6c5d219cb7e..00000000000 --- a/Build/source/extra/xz/PACKAGERS +++ /dev/null @@ -1,231 +0,0 @@ - -Information to packagers of XZ Utils -==================================== - - 0. Preface - 1. Package naming - 2. Package description - 3. License - 4. configure options - 5. Additional documentation - 6. Extra files - 7. Installing XZ Utils and LZMA Utils in parallel - 8. Example - - -0. Preface ----------- - - This document is meant for people who create and maintain XZ Utils - packages for operating system distributions. The focus is on GNU/Linux - systems, but most things apply to other systems too. - - While the standard "configure && make DESTDIR=$PKG install" should - give a pretty good package, there are some details which packagers - may want to tweak. - - Packagers should also read the INSTALL file. - - -1. Package naming ------------------ - - The preferred name for the XZ Utils package is "xz", because that's - the name of the upstream tarball. Naturally you may have good reasons - to use some other name; I won't get angry about it. ;-) It's just nice - to be able to point people to the correct package name without asking - what distro they have. - - If your distro policy is to split things into small pieces, here is - one suggestion: - - xz xz, xzdec, scripts (xzdiff, xzgrep, etc.), docs - xz-lzma lzma, unlzma, lzcat, lzgrep etc. symlinks and - lzmadec binary for compatibility with LZMA Utils - liblzma liblzma.so.* - liblzma-devel liblzma.so, liblzma.a, API headers - - -2. Package description ----------------------- - - Here is a suggestion which you may use as the package description. - If you can use only one-line description, pick only the first line. - Naturally, feel free to use some other description if you find it - better, and maybe send it to me too. - - Library and command line tools for XZ and LZMA compressed files - - XZ Utils provide a general purpose data compression library - and command line tools. The native file format is the .xz - format, but also the legacy .lzma format is supported. The .xz - format supports multiple compression algorithms, of which LZMA2 - is currently the primary algorithm. With typical files, XZ Utils - create about 30 % smaller files than gzip. - - If you are splitting XZ Utils into multiple packages, here are some - suggestions for package descriptions: - - xz: - - Command line tools for XZ and LZMA compressed files - - This package includes the xz compression tool and other command - line tools from XZ Utils. xz has command line syntax similar to - that of gzip. The native file format is the .xz format, but also - the legacy .lzma format is supported. The .xz format supports - multiple compression algorithms, of which LZMA2 is currently the - primary algorithm. With typical files, XZ Utils create about 30 % - smaller files than gzip. - - Note that this package doesn't include the files needed for - LZMA Utils 4.32.x compatibility. Install also the xz-lzma - package to make XZ Utils emulate LZMA Utils 4.32.x. - - xz-lzma: - - LZMA Utils emulation with XZ Utils - - This package includes executables and symlinks to make - XZ Utils emulate lzma, unlzma, lzcat, and other command - line tools found from the legacy LZMA Utils 4.32.x package. - - liblzma: - - Library for XZ and LZMA compressed files - - liblzma is a general purpose data compression library with - an API similar to that of zlib. liblzma supports multiple - algorithms, of which LZMA2 is currently the primary algorithm. - The native file format is .xz, but also the legacy .lzma - format and raw streams (no headers at all) are supported. - - This package includes the shared library. - - liblzma-devel: - - Library for XZ and LZMA compressed files - - This package includes the API headers, static library, and - other development files related to liblzma. - - -3. License ----------- - - If the package manager supports a license field, you probably should - put GPLv2+ there (GNU GPL v2 or later). The interesting parts of - XZ Utils are in the public domain, but some less important files - ending up into the binary package are under GPLv2+. So it is simplest - to just say GPLv2+ if you cannot specify "public domain and GPLv2+". - - If you split XZ Utils into multiple packages as described earlier - in this file, liblzma and liblzma-dev packages will contain only - public domain code (from XZ Utils at least; compiler or linker may - add some third-party code, which may be copyrighted). - - -4. configure options --------------------- - - Unless you are building a package for a distribution that is meant - only for embedded systems, don't use the following configure options: - - --enable-debug - --enable-encoders (*) - --enable-decoders - --enable-match-finders - --enable-checks - --enable-small (*) - --disable-threads (*) - - (*) These are OK when building xzdec and lzmadec as described - in INSTALL. - - xzdec and lzmadec don't provide any functionality that isn't already - available in the xz tool. Shipping xzdec and lzmadec without size - optimization and statically-linked liblzma isn't very useful. Doing - that would give users the xzdec man page, which may make it easier - for people to find out that such tools exists, but the executables - wouldn't have any advantage over the full-featured xz. - - -5. Additional documentation ---------------------------- - - "make install" copies some additional documentation to $docdir - (--docdir in configure). There is a copy of the GNU GPL v2, which - can be replaced with a symlink if your distro ships with shared - copies of the common license texts. - - liblzma API is currently only documented using Doxygen tags in the - API headers. It hasn't been tested much how good results Doxygen - is able to make from the tags (e.g. Doxyfile might need tweaking, - the tagging may need to be improved etc.), so it might be simpler - to just let people read docs directly from the .h files for now, - and also save quite a bit in package size at the same time. - - -6. Extra files --------------- - - The "extra" directory contains some small extra tools or other files. - The exact set of extra files can vary between XZ Utils releases. The - extra files have only limited use or they are too dangerous to be - put directly to $bindir (7z2lzma.sh is a good example, since it can - silently create corrupt output if certain conditions are not met). - - If you feel like it, you may copy the extra directory under the doc - directory (e.g. /usr/share/doc/xz/extra). Maybe some people will find - them useful. However, most people needing these tools probably are - able to find them from the source package too. - - The "debug" directory contains some tools that are useful only when - hacking on XZ Utils. Don't package these tools. - - -7. Installing XZ Utils and LZMA Utils in parallel -------------------------------------------------- - - XZ Utils and LZMA Utils 4.32.x can be installed in parallel by - omitting the compatibility symlinks (lzma, unlzma, lzcat, lzgrep etc.) - from the XZ Utils package. It's probably a good idea to still package - the symlinks into a separate package so that users may choose if they - want to use XZ Utils or LZMA Utils for handling .lzma files. - - -8. Example ----------- - - Here is an example for i686 GNU/Linux that - - links xz and lzmainfo against shared liblzma; - - links size-optimized xzdec and lzmadec against static liblzma - while avoiding libpthread dependency; - - includes only shared liblzma in the final package; and - - copies also the "extra" directory to the package. - - PKG=/tmp/xz-pkg - tar xf xz-x.y.z.tar.gz - cd xz-x.y.z - ./configure \ - --prefix=/usr \ - --disable-static \ - --disable-xzdec \ - --disable-lzmadec \ - CFLAGS='-march=i686 -mtune=generic -O2' - make - make DESTDIR=$PKG install-strip - make clean - ./configure \ - --prefix=/usr \ - --disable-shared \ - --disable-nls \ - --disable-encoders \ - --enable-small \ - --disable-threads \ - CFLAGS='-march=i686 -mtune=generic -Os' - make -C src/liblzma - make -C src/xzdec - make -C src/xzdec DESTDIR=$PKG install-strip - cp -a extra $PKG/usr/share/doc/xz - diff --git a/Build/source/extra/xz/README b/Build/source/extra/xz/README deleted file mode 100644 index ab8aadfb533..00000000000 --- a/Build/source/extra/xz/README +++ /dev/null @@ -1,308 +0,0 @@ - -XZ Utils -======== - - 0. Overview - 1. Documentation - 1.1. Overall documentation - 1.2. Documentation for command-line tools - 1.3. Documentation for liblzma - 2. Version numbering - 3. Reporting bugs - 4. Translating the xz tool - 5. Other implementations of the .xz format - 6. Contact information - - -0. Overview ------------ - - XZ Utils provide a general-purpose data-compression library plus - command-line tools. The native file format is the .xz format, but - also the legacy .lzma format is supported. The .xz format supports - multiple compression algorithms, which are called "filters" in the - context of XZ Utils. The primary filter is currently LZMA2. With - typical files, XZ Utils create about 30 % smaller files than gzip. - - To ease adapting support for the .xz format into existing applications - and scripts, the API of liblzma is somewhat similar to the API of the - popular zlib library. For the same reason, the command-line tool xz - has a command-line syntax similar to that of gzip. - - When aiming for the highest compression ratio, the LZMA2 encoder uses - a lot of CPU time and may use, depending on the settings, even - hundreds of megabytes of RAM. However, in fast modes, the LZMA2 encoder - competes with bzip2 in compression speed, RAM usage, and compression - ratio. - - LZMA2 is reasonably fast to decompress. It is a little slower than - gzip, but a lot faster than bzip2. Being fast to decompress means - that the .xz format is especially nice when the same file will be - decompressed very many times (usually on different computers), which - is the case e.g. when distributing software packages. In such - situations, it's not too bad if the compression takes some time, - since that needs to be done only once to benefit many people. - - With some file types, combining (or "chaining") LZMA2 with an - additional filter can improve the compression ratio. A filter chain may - contain up to four filters, although usually only one or two are used. - For example, putting a BCJ (Branch/Call/Jump) filter before LZMA2 - in the filter chain can improve compression ratio of executable files. - - Since the .xz format allows adding new filter IDs, it is possible that - some day there will be a filter that is, for example, much faster to - compress than LZMA2 (but probably with worse compression ratio). - Similarly, it is possible that some day there is a filter that will - compress better than LZMA2. - - XZ Utils doesn't support multithreaded compression or decompression - yet. It has been planned though and taken into account when designing - the .xz file format. - - -1. Documentation ----------------- - -1.1. Overall documentation - - README This file - - INSTALL.generic Generic install instructions for those not familiar - with packages using GNU Autotools - INSTALL Installation instructions specific to XZ Utils - PACKAGERS Information to packagers of XZ Utils - - COPYING XZ Utils copyright and license information - COPYING.GPLv2 GNU General Public License version 2 - COPYING.GPLv3 GNU General Public License version 3 - COPYING.LGPLv2.1 GNU Lesser General Public License version 2.1 - - AUTHORS The main authors of XZ Utils - THANKS Incomplete list of people who have helped making - this software - NEWS User-visible changes between XZ Utils releases - ChangeLog Detailed list of changes (commit log) - TODO Known bugs and some sort of to-do list - - Note that only some of the above files are included in binary - packages. - - -1.2. Documentation for command-line tools - - The command-line tools are documented as man pages. In source code - releases (and possibly also in some binary packages), the man pages - are also provided in plain text (ASCII only) and PDF formats in the - directory "doc/man" to make the man pages more accessible to those - whose operating system doesn't provide an easy way to view man pages. - - -1.3. Documentation for liblzma - - The liblzma API headers include short docs about each function - and data type as Doxygen tags. These docs should be quite OK as - a quick reference. - - I have planned to write a bunch of very well documented example - programs, which (due to comments) should work as a tutorial to - various features of liblzma. No such example programs have been - written yet. - - For now, if you have never used liblzma, libbzip2, or zlib, I - recommend learning the *basics* of the zlib API. Once you know that, - it should be easier to learn liblzma. - - http://zlib.net/manual.html - http://zlib.net/zlib_how.html - - -2. Version numbering --------------------- - - The version number format of XZ Utils is X.Y.ZS: - - - X is the major version. When this is incremented, the library - API and ABI break. - - - Y is the minor version. It is incremented when new features - are added without breaking the existing API or ABI. An even Y - indicates a stable release and an odd Y indicates unstable - (alpha or beta version). - - - Z is the revision. This has a different meaning for stable and - unstable releases: - - * Stable: Z is incremented when bugs get fixed without adding - any new features. This is intended to be convenient for - downstream distributors that want bug fixes but don't want - any new features to minimize the risk of introducing new bugs. - - * Unstable: Z is just a counter. API or ABI of features added - in earlier unstable releases having the same X.Y may break. - - - S indicates stability of the release. It is missing from the - stable releases, where Y is an even number. When Y is odd, S - is either "alpha" or "beta" to make it very clear that such - versions are not stable releases. The same X.Y.Z combination is - not used for more than one stability level, i.e. after X.Y.Zalpha, - the next version can be X.Y.(Z+1)beta but not X.Y.Zbeta. - - -3. Reporting bugs ------------------ - - Naturally it is easiest for me if you already know what causes the - unexpected behavior. Even better if you have a patch to propose. - However, quite often the reason for unexpected behavior is unknown, - so here are a few things to do before sending a bug report: - - 1. Try to create a small example how to reproduce the issue. - - 2. Compile XZ Utils with debugging code using configure switches - --enable-debug and, if possible, --disable-shared. If you are - using GCC, use CFLAGS='-O0 -ggdb3'. Don't strip the resulting - binaries. - - 3. Turn on core dumps. The exact command depends on your shell; - for example in GNU bash it is done with "ulimit -c unlimited", - and in tcsh with "limit coredumpsize unlimited". - - 4. Try to reproduce the suspected bug. If you get "assertion failed" - message, be sure to include the complete message in your bug - report. If the application leaves a coredump, get a backtrace - using gdb: - $ gdb /path/to/app-binary # Load the app to the debugger. - (gdb) core core # Open the coredump. - (gdb) bt # Print the backtrace. Copy & paste to bug report. - (gdb) quit # Quit gdb. - - Report your bug via email or IRC (see Contact information below). - Don't send core dump files or any executables. If you have a small - example file(s) (total size less than 256 KiB), please include - it/them as an attachment. If you have bigger test files, put them - online somewhere and include a URL to the file(s) in the bug report. - - Always include the exact version number of XZ Utils in the bug report. - If you are using a snapshot from the git repository, use "git describe" - to get the exact snapshot version. If you are using XZ Utils shipped - in an operating system distribution, mention the distribution name, - distribution version, and exact xz package version; if you cannot - repeat the bug with the code compiled from unpatched source code, - you probably need to report a bug to your distribution's bug tracking - system. - - -4. Translating the xz tool --------------------------- - - The messages from the xz tool have been translated into a few - languages. Before starting to translate into a new language, ask - the author whether someone else hasn't already started working on it. - - Test your translation. Testing includes comparing the translated - output to the original English version by running the same commands - in both your target locale and with LC_ALL=C. Ask someone to - proof-read and test the translation. - - Testing can be done e.g. by installing xz into a temporary directory: - - ./configure --disable-shared --prefix=/tmp/xz-test - # - make -C po update-po - make install - bash debug/translation.bash | less - bash debug/translation.bash | less -S # For --list outputs - - Repeat the above as needed (no need to re-run configure though). - - Note especially the following: - - - The output of --help and --long-help must look nice on - an 80-column terminal. It's OK to add extra lines if needed. - - - In contrast, don't add extra lines to error messages and such. - They are often preceded with e.g. a filename on the same line, - so you have no way to predict where to put a \n. Let the terminal - do the wrapping even if it looks ugly. Adding new lines will be - even uglier in the generic case even if it looks nice in a few - limited examples. - - - Be careful with column alignment in tables and table-like output - (--list, --list --verbose --verbose, --info-memory, --help, and - --long-help): - - * All descriptions of options in --help should start in the - same column (but it doesn't need to be the same column as - in the English messages; just be consistent if you change it). - Check that both --help and --long-help look OK, since they - share several strings. - - * --list --verbose and --info-memory print lines that have - the format "Description: %s". If you need a longer - description, you can put extra space between the colon - and %s. Then you may need to add extra space to other - strings too so that the result as a whole looks good (all - values start at the same column). - - * The columns of the actual tables in --list --verbose --verbose - should be aligned properly. Abbreviate if necessary. It might - be good to keep at least 2 or 3 spaces between column headings - and avoid spaces in the headings so that the columns stand out - better, but this is a matter of opinion. Do what you think - looks best. - - - Be careful to put a period at the end of a sentence when the - original version has it, and don't put it when the original - doesn't have it. Similarly, be careful with \n characters - at the beginning and end of the strings. - - - Read the TRANSLATORS comments that have been extracted from the - source code and included in xz.pot. If they suggest testing the - translation with some type of command, do it. If testing needs - input files, use e.g. tests/files/good-*.xz. - - - When updating the translation, read the fuzzy (modified) strings - carefully, and don't mark them as updated before you actually - have updated them. Reading through the unchanged messages can be - good too; sometimes you may find a better wording for them. - - - If you find language problems in the original English strings, - feel free to suggest improvements. Ask if something is unclear. - - - The translated messages should be understandable (sometimes this - may be a problem with the original English messages too). Don't - make a direct word-by-word translation from English especially if - the result doesn't sound good in your language. - - In short, take your time and pay attention to the details. Making - a good translation is not a quick and trivial thing to do. The - translated xz should look as polished as the English version. - - -5. Other implementations of the .xz format ------------------------------------------- - - 7-Zip and the p7zip port of 7-Zip support the .xz format starting - from the version 9.00alpha. - - http://7-zip.org/ - http://p7zip.sourceforge.net/ - - XZ Embedded is a limited implementation written for use in the Linux - kernel, but it is also suitable for other embedded use. - - http://tukaani.org/xz/embedded.html - - -6. Contact information ----------------------- - - If you have questions, bug reports, patches etc. related to XZ Utils, - contact Lasse Collin (in Finnish or English). - I'm sometimes slow at replying. If you haven't got a reply within two - weeks, assume that your email has got lost and resend it or use IRC. - - You can find me also from #tukaani on Freenode; my nick is Larhzu. - The channel tends to be pretty quiet, so just ask your question and - someone may wake up. - diff --git a/Build/source/extra/xz/THANKS b/Build/source/extra/xz/THANKS deleted file mode 100644 index 36b2e74c9fe..00000000000 --- a/Build/source/extra/xz/THANKS +++ /dev/null @@ -1,95 +0,0 @@ - -Thanks -====== - -Some people have helped more, some less, but nevertheless everyone's help -has been important. :-) In alphabetical order: - - Mark Adler - - H. Peter Anvin - - Jeff Bastian - - Nelson H. F. Beebe - - Karl Berry - - Anders F. Björklund - - Emmanuel Blot - - Martin Blumenstingl - - Jakub Bogusz - - Maarten Bosmans - - Trent W. Buck - - James Buren - - David Burklund - - Daniel Mealha Cabrita - - Milo Casagrande - - Marek Černocký - - Chris Donawa - - Andrew Dudman - - Markus Duft - - İsmail Dönmez - - Robert Elz - - Gilles Espinasse - - Denis Excoffier - - Michael Felt - - Mike Frysinger - - Jason Gorski - - Juan Manuel Guerrero - - Joachim Henke - - Peter Ivanov - - Jouk Jansen - - Per Øyvind Karlsen - - Thomas Klausner - - Richard Koch - - Ville Koskinen - - Stephan Kulow - - Peter Lawler - - Hin-Tak Leung - - Andraž 'ruskie' Levstik - - Cary Lewis - - Wim Lewis - - Lorenzo De Liso - - Bela Lubkin - - Gregory Margo - - Jim Meyering - - Conley Moorhous - - Rafał Mużyło - - Adrien Nader - - Hongbo Ni - - Jonathan Nieder - - Andre Noll - - Peter O'Gorman - - Peter Pallinger - - Igor Pavlov - - Diego Elio Pettenò - - Elbert Pol - - Mikko Pouru - - Pavel Raiskup - - Robert Readman - - Bernhard Reutner-Fischer - - Eric S. Raymond - - Cristian Rodríguez - - Christian von Roques - - Jukka Salmi - - Alexandre Sauvé - - Benno Schulenberg - - Andreas Schwab - - Dan Shechter - - Stuart Shelton - - Jonathan Stott - - Dan Stromberg - - Paul Townsend - - Mohammed Adnène Trojette - - Alexey Tourbin - - Patrick J. Volkerding - - Martin Väth - - Christian Weisgerber - - Bert Wesarg - - Ralf Wildenhues - - Charles Wilson - - Lars Wirzenius - - Pilorz Wojciech - - Ryan Young - - Andreas Zieringer - -Also thanks to all the people who have participated in the Tukaani project. - -I have probably forgot to add some names to the above list. Sorry about -that and thanks for your help. - diff --git a/Build/source/extra/xz/TODO b/Build/source/extra/xz/TODO deleted file mode 100644 index 55fc4755603..00000000000 --- a/Build/source/extra/xz/TODO +++ /dev/null @@ -1,67 +0,0 @@ - -XZ Utils To-Do List -=================== - -Known bugs ----------- - - The test suite is too incomplete. - - If the memory usage limit is less than about 13 MiB, xz is unable to - automatically scale down the compression settings enough even though - it would be possible by switching from BT2/BT3/BT4 match finder to - HC3/HC4. - - The code to detect number of CPU cores doesn't count hyperthreading - as multiple cores. In context of xz, it probably should. - Hyperthreading is good at least with p7zip. - - XZ Utils compress some files significantly worse than LZMA Utils. - This is due to faster compression presets used by XZ Utils, and - can often be worked around by using "xz --extreme". With some files - --extreme isn't enough though: it's most likely with files that - compress extremely well, so going from compression ratio of 0.003 - to 0.004 means big relative increase in the compressed file size. - - xz doesn't quote unprintable characters when it displays file names - given on the command line. - - tuklib_exit() doesn't block signals => EINTR is possible. - - SIGTSTP is not handled. If xz is stopped, the estimated remaining - time and calculated (de)compression speed won't make sense in the - progress indicator (xz --verbose). - - -Missing features ----------------- - - xz doesn't support copying extended attributes, access control - lists etc. from source to target file. - - Multithreaded compression - - Multithreaded decompression - - Buffer-to-buffer coding could use less RAM (especially when - decompressing LZMA1 or LZMA2). - - I/O library is not implemented (similar to gzopen() in zlib). - It will be a separate library that supports uncompressed, .gz, - .bz2, .lzma, and .xz files. - - lzma_strerror() to convert lzma_ret to human readable form? - This is tricky, because the same error codes are used with - slightly different meanings, and this cannot be fixed anymore. - - -Documentation -------------- - - Some tutorial is needed for liblzma. I have planned to write some - extremely well commented example programs, which would work as - a tutorial. I suppose the Doxygen tags are quite OK as a quick - reference once one is familiar with the liblzma API. - - Document the LZMA1 and LZMA2 algorithms. - diff --git a/Build/source/extra/xz/aclocal.m4 b/Build/source/extra/xz/aclocal.m4 deleted file mode 100644 index bb10015a7ef..00000000000 --- a/Build/source/extra/xz/aclocal.m4 +++ /dev/null @@ -1,1225 +0,0 @@ -# generated automatically by aclocal 1.14.1 -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. - -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, -[m4_warning([this file was generated for autoconf 2.69. -You have another version of autoconf. It may work, but is not guaranteed to. -If you have problems, you may need to regenerate the build system entirely. -To do so, use the procedure documented by the package, typically 'autoreconf'.])]) - -# Copyright (C) 2002-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_AUTOMAKE_VERSION(VERSION) -# ---------------------------- -# Automake X.Y traces this macro to ensure aclocal.m4 has been -# generated from the m4 files accompanying Automake X.Y. -# (This private macro should not be called outside this file.) -AC_DEFUN([AM_AUTOMAKE_VERSION], -[am__api_version='1.14' -dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to -dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.14.1], [], - [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl -]) - -# _AM_AUTOCONF_VERSION(VERSION) -# ----------------------------- -# aclocal traces this macro to find the Autoconf version. -# This is a private macro too. Using m4_define simplifies -# the logic in aclocal, which can simply ignore this definition. -m4_define([_AM_AUTOCONF_VERSION], []) - -# AM_SET_CURRENT_AUTOMAKE_VERSION -# ------------------------------- -# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. -AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.14.1])dnl -m4_ifndef([AC_AUTOCONF_VERSION], - [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) - -# Figure out how to run the assembler. -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_AS -# ---------- -AC_DEFUN([AM_PROG_AS], -[# By default we simply use the C compiler to build assembly code. -AC_REQUIRE([AC_PROG_CC]) -test "${CCAS+set}" = set || CCAS=$CC -test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS -AC_ARG_VAR([CCAS], [assembler compiler command (defaults to CC)]) -AC_ARG_VAR([CCASFLAGS], [assembler compiler flags (defaults to CFLAGS)]) -_AM_IF_OPTION([no-dependencies],, [_AM_DEPENDENCIES([CCAS])])dnl -]) - -# AM_AUX_DIR_EXPAND -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets -# $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to -# '$srcdir', '$srcdir/..', or '$srcdir/../..'. -# -# Of course, Automake must honor this variable whenever it calls a -# tool from the auxiliary directory. The problem is that $srcdir (and -# therefore $ac_aux_dir as well) can be either absolute or relative, -# depending on how configure is run. This is pretty annoying, since -# it makes $ac_aux_dir quite unusable in subdirectories: in the top -# source directory, any form will work fine, but in subdirectories a -# relative path needs to be adjusted first. -# -# $ac_aux_dir/missing -# fails when called from a subdirectory if $ac_aux_dir is relative -# $top_srcdir/$ac_aux_dir/missing -# fails if $ac_aux_dir is absolute, -# fails when called from a subdirectory in a VPATH build with -# a relative $ac_aux_dir -# -# The reason of the latter failure is that $top_srcdir and $ac_aux_dir -# are both prefixed by $srcdir. In an in-source build this is usually -# harmless because $srcdir is '.', but things will broke when you -# start a VPATH build or use an absolute $srcdir. -# -# So we could use something similar to $top_srcdir/$ac_aux_dir/missing, -# iff we strip the leading $srcdir from $ac_aux_dir. That would be: -# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` -# and then we would define $MISSING as -# MISSING="\${SHELL} $am_aux_dir/missing" -# This will work as long as MISSING is not called from configure, because -# unfortunately $(top_srcdir) has no meaning in configure. -# However there are other variables, like CC, which are often used in -# configure, and could therefore not use this "fixed" $ac_aux_dir. -# -# Another solution, used here, is to always expand $ac_aux_dir to an -# absolute PATH. The drawback is that using absolute paths prevent a -# configured tree to be moved without reconfiguration. - -AC_DEFUN([AM_AUX_DIR_EXPAND], -[dnl Rely on autoconf to set up CDPATH properly. -AC_PREREQ([2.50])dnl -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` -]) - -# AM_CONDITIONAL -*- Autoconf -*- - -# Copyright (C) 1997-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_CONDITIONAL(NAME, SHELL-CONDITION) -# ------------------------------------- -# Define a conditional. -AC_DEFUN([AM_CONDITIONAL], -[AC_PREREQ([2.52])dnl - m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], - [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl -AC_SUBST([$1_TRUE])dnl -AC_SUBST([$1_FALSE])dnl -_AM_SUBST_NOTMAKE([$1_TRUE])dnl -_AM_SUBST_NOTMAKE([$1_FALSE])dnl -m4_define([_AM_COND_VALUE_$1], [$2])dnl -if $2; then - $1_TRUE= - $1_FALSE='#' -else - $1_TRUE='#' - $1_FALSE= -fi -AC_CONFIG_COMMANDS_PRE( -[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then - AC_MSG_ERROR([[conditional "$1" was never defined. -Usually this means the macro was only invoked conditionally.]]) -fi])]) - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be -# written in clear, in which case automake, when reading aclocal.m4, -# will think it sees a *use*, and therefore will trigger all it's -# C support machinery. Also note that it means that autoscan, seeing -# CC etc. in the Makefile, will ask for an AC_PROG_CC use... - - -# _AM_DEPENDENCIES(NAME) -# ---------------------- -# See how the compiler implements dependency checking. -# NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". -# We try a few techniques and use that to set a single cache variable. -# -# We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was -# modified to invoke _AM_DEPENDENCIES(CC); we would have a circular -# dependency, and given that the user is not expected to run this macro, -# just rely on AC_PROG_CC. -AC_DEFUN([_AM_DEPENDENCIES], -[AC_REQUIRE([AM_SET_DEPDIR])dnl -AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl -AC_REQUIRE([AM_MAKE_INCLUDE])dnl -AC_REQUIRE([AM_DEP_TRACK])dnl - -m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], - [$1], [CXX], [depcc="$CXX" am_compiler_list=], - [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], - [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], - [$1], [UPC], [depcc="$UPC" am_compiler_list=], - [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], - [depcc="$$1" am_compiler_list=]) - -AC_CACHE_CHECK([dependency style of $depcc], - [am_cv_$1_dependencies_compiler_type], -[if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_$1_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` - fi - am__universal=false - m4_case([$1], [CC], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac], - [CXX], - [case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac]) - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_$1_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_$1_dependencies_compiler_type=none -fi -]) -AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) -AM_CONDITIONAL([am__fastdep$1], [ - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) -]) - - -# AM_SET_DEPDIR -# ------------- -# Choose a directory name for dependency files. -# This macro is AC_REQUIREd in _AM_DEPENDENCIES. -AC_DEFUN([AM_SET_DEPDIR], -[AC_REQUIRE([AM_SET_LEADING_DOT])dnl -AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl -]) - - -# AM_DEP_TRACK -# ------------ -AC_DEFUN([AM_DEP_TRACK], -[AC_ARG_ENABLE([dependency-tracking], [dnl -AS_HELP_STRING( - [--enable-dependency-tracking], - [do not reject slow dependency extractors]) -AS_HELP_STRING( - [--disable-dependency-tracking], - [speeds up one-time build])]) -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi -AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) -AC_SUBST([AMDEPBACKSLASH])dnl -_AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl -AC_SUBST([am__nodep])dnl -_AM_SUBST_NOTMAKE([am__nodep])dnl -]) - -# Generate code to set up dependency tracking. -*- Autoconf -*- - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - - -# _AM_OUTPUT_DEPENDENCY_COMMANDS -# ------------------------------ -AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[{ - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`AS_DIRNAME("$mf")` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`AS_DIRNAME(["$file"])` - AS_MKDIR_P([$dirpart/$fdir]) - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} -])# _AM_OUTPUT_DEPENDENCY_COMMANDS - - -# AM_OUTPUT_DEPENDENCY_COMMANDS -# ----------------------------- -# This macro should only be invoked once -- use via AC_REQUIRE. -# -# This code is only required when automatic dependency tracking -# is enabled. FIXME. This creates each '.P' file that we will -# need in order to bootstrap the dependency handling code. -AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], -[AC_CONFIG_COMMANDS([depfiles], - [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], - [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) -]) - -# Do all the work for Automake. -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This macro actually does too much. Some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -dnl Redefine AC_PROG_CC to automatically invoke _AM_PROG_CC_C_O. -m4_define([AC_PROG_CC], -m4_defn([AC_PROG_CC]) -[_AM_PROG_CC_C_O -]) - -# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) -# AM_INIT_AUTOMAKE([OPTIONS]) -# ----------------------------------------------- -# The call with PACKAGE and VERSION arguments is the old style -# call (pre autoconf-2.50), which is being phased out. PACKAGE -# and VERSION should now be passed to AC_INIT and removed from -# the call to AM_INIT_AUTOMAKE. -# We support both call styles for the transition. After -# the next Automake release, Autoconf can make the AC_INIT -# arguments mandatory, and then we can depend on a new Autoconf -# release and drop the old call support. -AC_DEFUN([AM_INIT_AUTOMAKE], -[AC_PREREQ([2.65])dnl -dnl Autoconf wants to disallow AM_ names. We explicitly allow -dnl the ones we care about. -m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl -AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl -AC_REQUIRE([AC_PROG_INSTALL])dnl -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi -AC_SUBST([CYGPATH_W]) - -# Define the identity of the package. -dnl Distinguish between old-style and new-style calls. -m4_ifval([$2], -[AC_DIAGNOSE([obsolete], - [$0: two- and three-arguments forms are deprecated.]) -m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl - AC_SUBST([PACKAGE], [$1])dnl - AC_SUBST([VERSION], [$2])], -[_AM_SET_OPTIONS([$1])dnl -dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. -m4_if( - m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), - [ok:ok],, - [m4_fatal([AC_INIT should be called with package and version arguments])])dnl - AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl - AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl - -_AM_IF_OPTION([no-define],, -[AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) - AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl - -# Some tools Automake needs. -AC_REQUIRE([AM_SANITY_CHECK])dnl -AC_REQUIRE([AC_ARG_PROGRAM])dnl -AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) -AM_MISSING_PROG([AUTOCONF], [autoconf]) -AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) -AM_MISSING_PROG([AUTOHEADER], [autoheader]) -AM_MISSING_PROG([MAKEINFO], [makeinfo]) -AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -AC_SUBST([mkdir_p], ['$(MKDIR_P)']) -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([AC_PROG_MAKE_SET])dnl -AC_REQUIRE([AM_SET_LEADING_DOT])dnl -_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], - [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], - [_AM_PROG_TAR([v7])])]) -_AM_IF_OPTION([no-dependencies],, -[AC_PROVIDE_IFELSE([AC_PROG_CC], - [_AM_DEPENDENCIES([CC])], - [m4_define([AC_PROG_CC], - m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_CXX], - [_AM_DEPENDENCIES([CXX])], - [m4_define([AC_PROG_CXX], - m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJC], - [_AM_DEPENDENCIES([OBJC])], - [m4_define([AC_PROG_OBJC], - m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl -AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], - [_AM_DEPENDENCIES([OBJCXX])], - [m4_define([AC_PROG_OBJCXX], - m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl -]) -AC_REQUIRE([AM_SILENT_RULES])dnl -dnl The testsuite driver may need to know about EXEEXT, so add the -dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This -dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. -AC_CONFIG_COMMANDS_PRE(dnl -[m4_provide_if([_AM_COMPILER_EXEEXT], - [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - AC_MSG_ERROR([Your 'rm' program is bad, sorry.]) - fi -fi]) - -dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not -dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further -dnl mangled by Autoconf and run in a shell conditional statement. -m4_define([_AC_COMPILER_EXEEXT], -m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) - -# When config.status generates a header, we must update the stamp-h file. -# This file resides in the same directory as the config header -# that is generated. The stamp files are numbered to have different names. - -# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the -# loop where config.status creates the headers, so we can generate -# our stamp files there. -AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], -[# Compute $1's index in $config_headers. -_am_arg=$1 -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_SH -# ------------------ -# Define $install_sh. -AC_DEFUN([AM_PROG_INSTALL_SH], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi -AC_SUBST([install_sh])]) - -# Copyright (C) 2003-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# Check whether the underlying file-system supports filenames -# with a leading dot. For instance MS-DOS doesn't. -AC_DEFUN([AM_SET_LEADING_DOT], -[rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null -AC_SUBST([am__leading_dot])]) - -# Check to see how 'make' treats includes. -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MAKE_INCLUDE() -# ----------------- -# Check to see how make treats includes. -AC_DEFUN([AM_MAKE_INCLUDE], -[am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -AC_MSG_CHECKING([for style of include used by $am_make]) -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi -AC_SUBST([am__include]) -AC_SUBST([am__quote]) -AC_MSG_RESULT([$_am_result]) -rm -f confinc confmf -]) - -# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- - -# Copyright (C) 1997-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_MISSING_PROG(NAME, PROGRAM) -# ------------------------------ -AC_DEFUN([AM_MISSING_PROG], -[AC_REQUIRE([AM_MISSING_HAS_RUN]) -$1=${$1-"${am_missing_run}$2"} -AC_SUBST($1)]) - -# AM_MISSING_HAS_RUN -# ------------------ -# Define MISSING if not defined so far and test if it is modern enough. -# If it is, set am_missing_run to use it, otherwise, to nothing. -AC_DEFUN([AM_MISSING_HAS_RUN], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([missing])dnl -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - AC_MSG_WARN(['missing' script is too old or missing]) -fi -]) - -# Copyright (C) 2003-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_MKDIR_P -# --------------- -# Check for 'mkdir -p'. -AC_DEFUN([AM_PROG_MKDIR_P], -[AC_PREREQ([2.60])dnl -AC_REQUIRE([AC_PROG_MKDIR_P])dnl -dnl FIXME we are no longer going to remove this! adjust warning -dnl FIXME message accordingly. -AC_DIAGNOSE([obsolete], -[$0: this macro is deprecated, and will soon be removed. -You should use the Autoconf-provided 'AC][_PROG_MKDIR_P' macro instead, -and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.]) -dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, -dnl while keeping a definition of mkdir_p for backward compatibility. -dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. -dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of -dnl Makefile.ins that do not define MKDIR_P, so we do our own -dnl adjustment using top_builddir (which is defined more often than -dnl MKDIR_P). -AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl -case $mkdir_p in - [[\\/$]]* | ?:[[\\/]]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac -]) - -# Helper functions for option handling. -*- Autoconf -*- - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_MANGLE_OPTION(NAME) -# ----------------------- -AC_DEFUN([_AM_MANGLE_OPTION], -[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) - -# _AM_SET_OPTION(NAME) -# -------------------- -# Set option NAME. Presently that only means defining a flag for this option. -AC_DEFUN([_AM_SET_OPTION], -[m4_define(_AM_MANGLE_OPTION([$1]), [1])]) - -# _AM_SET_OPTIONS(OPTIONS) -# ------------------------ -# OPTIONS is a space-separated list of Automake options. -AC_DEFUN([_AM_SET_OPTIONS], -[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) - -# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) -# ------------------------------------------- -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -AC_DEFUN([_AM_IF_OPTION], -[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_CC_C_O -# --------------- -# Like AC_PROG_CC_C_O, but changed for automake. We rewrite AC_PROG_CC -# to automatically call this. -AC_DEFUN([_AM_PROG_CC_C_O], -[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl -AC_REQUIRE_AUX_FILE([compile])dnl -AC_LANG_PUSH([C])dnl -AC_CACHE_CHECK( - [whether $CC understands -c and -o together], - [am_cv_prog_cc_c_o], - [AC_LANG_CONFTEST([AC_LANG_PROGRAM([])]) - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if AM_RUN_LOG([$CC -c conftest.$ac_ext -o conftest2.$ac_objext]) \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i]) -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -AC_LANG_POP([C])]) - -# For backward compatibility. -AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_RUN_LOG(COMMAND) -# ------------------- -# Run COMMAND, save the exit status in ac_status, and log it. -# (This has been adapted from Autoconf's _AC_RUN_LOG macro.) -AC_DEFUN([AM_RUN_LOG], -[{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD - ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - (exit $ac_status); }]) - -# Check to make sure that the build environment is sane. -*- Autoconf -*- - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SANITY_CHECK -# --------------- -AC_DEFUN([AM_SANITY_CHECK], -[AC_MSG_CHECKING([whether build environment is sane]) -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[[\\\"\#\$\&\'\`$am_lf]]*) - AC_MSG_ERROR([unsafe absolute working directory name]);; -esac -case $srcdir in - *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) - AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$[*]" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$[*]" != "X $srcdir/configure conftest.file" \ - && test "$[*]" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken - alias in your environment]) - fi - if test "$[2]" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$[2]" = conftest.file - ) -then - # Ok. - : -else - AC_MSG_ERROR([newly created file is older than distributed files! -Check your system clock]) -fi -AC_MSG_RESULT([yes]) -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi -AC_CONFIG_COMMANDS_PRE( - [AC_MSG_CHECKING([that generated files are newer than configure]) - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - AC_MSG_RESULT([done])]) -rm -f conftest.file -]) - -# Copyright (C) 2009-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_SILENT_RULES([DEFAULT]) -# -------------------------- -# Enable less verbose build rules; with the default set to DEFAULT -# ("yes" being less verbose, "no" or empty being verbose). -AC_DEFUN([AM_SILENT_RULES], -[AC_ARG_ENABLE([silent-rules], [dnl -AS_HELP_STRING( - [--enable-silent-rules], - [less verbose build output (undo: "make V=1")]) -AS_HELP_STRING( - [--disable-silent-rules], - [verbose build output (undo: "make V=0")])dnl -]) -case $enable_silent_rules in @%:@ ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; -esac -dnl -dnl A few 'make' implementations (e.g., NonStop OS and NextStep) -dnl do not support nested variable expansions. -dnl See automake bug#9928 and bug#10237. -am_make=${MAKE-make} -AC_CACHE_CHECK([whether $am_make supports nested variables], - [am_cv_make_support_nested_variables], - [if AS_ECHO([['TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi]) -if test $am_cv_make_support_nested_variables = yes; then - dnl Using '$V' instead of '$(V)' breaks IRIX make. - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AC_SUBST([AM_V])dnl -AM_SUBST_NOTMAKE([AM_V])dnl -AC_SUBST([AM_DEFAULT_V])dnl -AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl -AC_SUBST([AM_DEFAULT_VERBOSITY])dnl -AM_BACKSLASH='\' -AC_SUBST([AM_BACKSLASH])dnl -_AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl -]) - -# Copyright (C) 2001-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# AM_PROG_INSTALL_STRIP -# --------------------- -# One issue with vendor 'install' (even GNU) is that you can't -# specify the program used to strip binaries. This is especially -# annoying in cross-compiling environments, where the build's strip -# is unlikely to handle the host's binaries. -# Fortunately install-sh will honor a STRIPPROG variable, so we -# always use install-sh in "make install-strip", and initialize -# STRIPPROG with the value of the STRIP variable (set by the user). -AC_DEFUN([AM_PROG_INSTALL_STRIP], -[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. -if test "$cross_compiling" != no; then - AC_CHECK_TOOL([STRIP], [strip], :) -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" -AC_SUBST([INSTALL_STRIP_PROGRAM])]) - -# Copyright (C) 2006-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_SUBST_NOTMAKE(VARIABLE) -# --------------------------- -# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. -# This macro is traced by Automake. -AC_DEFUN([_AM_SUBST_NOTMAKE]) - -# AM_SUBST_NOTMAKE(VARIABLE) -# -------------------------- -# Public sister of _AM_SUBST_NOTMAKE. -AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) - -# Check how to create a tarball. -*- Autoconf -*- - -# Copyright (C) 2004-2013 Free Software Foundation, Inc. -# -# This file is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# _AM_PROG_TAR(FORMAT) -# -------------------- -# Check how to create a tarball in format FORMAT. -# FORMAT should be one of 'v7', 'ustar', or 'pax'. -# -# Substitute a variable $(am__tar) that is a command -# writing to stdout a FORMAT-tarball containing the directory -# $tardir. -# tardir=directory && $(am__tar) > result.tar -# -# Substitute a variable $(am__untar) that extract such -# a tarball read from stdin. -# $(am__untar) < result.tar -# -AC_DEFUN([_AM_PROG_TAR], -[# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AC_SUBST([AMTAR], ['$${TAR-tar}']) - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' - -m4_if([$1], [v7], - [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], - - [m4_case([$1], - [ustar], - [# The POSIX 1988 'ustar' format is defined with fixed-size fields. - # There is notably a 21 bits limit for the UID and the GID. In fact, - # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 - # and bug#13588). - am_max_uid=2097151 # 2^21 - 1 - am_max_gid=$am_max_uid - # The $UID and $GID variables are not portable, so we need to resort - # to the POSIX-mandated id(1) utility. Errors in the 'id' calls - # below are definitely unexpected, so allow the users to see them - # (that is, avoid stderr redirection). - am_uid=`id -u || echo unknown` - am_gid=`id -g || echo unknown` - AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) - if test $am_uid -le $am_max_uid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi - AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) - if test $am_gid -le $am_max_gid; then - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - _am_tools=none - fi], - - [pax], - [], - - [m4_fatal([Unknown tar format])]) - - AC_MSG_CHECKING([how to create a $1 tar archive]) - - # Go ahead even if we have the value already cached. We do so because we - # need to set the values for the 'am__tar' and 'am__untar' variables. - _am_tools=${am_cv_prog_tar_$1-$_am_tools} - - for _am_tool in $_am_tools; do - case $_am_tool in - gnutar) - for _am_tar in tar gnutar gtar; do - AM_RUN_LOG([$_am_tar --version]) && break - done - am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' - am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' - am__untar="$_am_tar -xf -" - ;; - plaintar) - # Must skip GNU tar: if it does not support --format= it doesn't create - # ustar tarball either. - (tar --version) >/dev/null 2>&1 && continue - am__tar='tar chf - "$$tardir"' - am__tar_='tar chf - "$tardir"' - am__untar='tar xf -' - ;; - pax) - am__tar='pax -L -x $1 -w "$$tardir"' - am__tar_='pax -L -x $1 -w "$tardir"' - am__untar='pax -r' - ;; - cpio) - am__tar='find "$$tardir" -print | cpio -o -H $1 -L' - am__tar_='find "$tardir" -print | cpio -o -H $1 -L' - am__untar='cpio -i -H $1 -d' - ;; - none) - am__tar=false - am__tar_=false - am__untar=false - ;; - esac - - # If the value was cached, stop now. We just wanted to have am__tar - # and am__untar set. - test -n "${am_cv_prog_tar_$1}" && break - - # tar/untar a dummy directory, and stop if the command works. - rm -rf conftest.dir - mkdir conftest.dir - echo GrepMe > conftest.dir/file - AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) - rm -rf conftest.dir - if test -s conftest.tar; then - AM_RUN_LOG([$am__untar /dev/null 2>&1 && break - fi - done - rm -rf conftest.dir - - AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) - AC_MSG_RESULT([$am_cv_prog_tar_$1])]) - -AC_SUBST([am__tar]) -AC_SUBST([am__untar]) -]) # _AM_PROG_TAR - -m4_include([m4/ax_pthread.m4]) -m4_include([m4/getopt.m4]) -m4_include([m4/gettext.m4]) -m4_include([m4/iconv.m4]) -m4_include([m4/intlmacosx.m4]) -m4_include([m4/lib-ld.m4]) -m4_include([m4/lib-link.m4]) -m4_include([m4/lib-prefix.m4]) -m4_include([m4/libtool.m4]) -m4_include([m4/ltoptions.m4]) -m4_include([m4/ltsugar.m4]) -m4_include([m4/ltversion.m4]) -m4_include([m4/lt~obsolete.m4]) -m4_include([m4/nls.m4]) -m4_include([m4/po.m4]) -m4_include([m4/posix-shell.m4]) -m4_include([m4/progtest.m4]) -m4_include([m4/tuklib_common.m4]) -m4_include([m4/tuklib_cpucores.m4]) -m4_include([m4/tuklib_integer.m4]) -m4_include([m4/tuklib_mbstr.m4]) -m4_include([m4/tuklib_physmem.m4]) -m4_include([m4/tuklib_progname.m4]) -m4_include([m4/visibility.m4]) diff --git a/Build/source/extra/xz/autogen.sh b/Build/source/extra/xz/autogen.sh deleted file mode 100755 index f0195ecadd3..00000000000 --- a/Build/source/extra/xz/autogen.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh - -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# The result of using "autoreconf -fi" should be identical to using this -# script. I'm leaving this script here just in case someone finds it useful. - -set -e -x - -${AUTOPOINT:-autopoint} -f -${LIBTOOLIZE:-libtoolize} -c -f || glibtoolize -c -f -${ACLOCAL:-aclocal} -I m4 -${AUTOCONF:-autoconf} -${AUTOHEADER:-autoheader} -${AUTOMAKE:-automake} -acf --foreign diff --git a/Build/source/extra/xz/build-aux/compile b/Build/source/extra/xz/build-aux/compile deleted file mode 100755 index 531136b068e..00000000000 --- a/Build/source/extra/xz/build-aux/compile +++ /dev/null @@ -1,347 +0,0 @@ -#! /bin/sh -# Wrapper for compilers which do not understand '-c -o'. - -scriptversion=2012-10-14.11; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. -# Written by Tom Tromey . -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# This file is maintained in Automake, please report -# bugs to or send patches to -# . - -nl=' -' - -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent tools from complaining about whitespace usage. -IFS=" "" $nl" - -file_conv= - -# func_file_conv build_file lazy -# Convert a $build file to $host form and store it in $file -# Currently only supports Windows hosts. If the determined conversion -# type is listed in (the comma separated) LAZY, no conversion will -# take place. -func_file_conv () -{ - file=$1 - case $file in - / | /[!/]*) # absolute file, and not a UNC file - if test -z "$file_conv"; then - # lazily determine how to convert abs files - case `uname -s` in - MINGW*) - file_conv=mingw - ;; - CYGWIN*) - file_conv=cygwin - ;; - *) - file_conv=wine - ;; - esac - fi - case $file_conv/,$2, in - *,$file_conv,*) - ;; - mingw/*) - file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` - ;; - cygwin/*) - file=`cygpath -m "$file" || echo "$file"` - ;; - wine/*) - file=`winepath -w "$file" || echo "$file"` - ;; - esac - ;; - esac -} - -# func_cl_dashL linkdir -# Make cl look for libraries in LINKDIR -func_cl_dashL () -{ - func_file_conv "$1" - if test -z "$lib_path"; then - lib_path=$file - else - lib_path="$lib_path;$file" - fi - linker_opts="$linker_opts -LIBPATH:$file" -} - -# func_cl_dashl library -# Do a library search-path lookup for cl -func_cl_dashl () -{ - lib=$1 - found=no - save_IFS=$IFS - IFS=';' - for dir in $lib_path $LIB - do - IFS=$save_IFS - if $shared && test -f "$dir/$lib.dll.lib"; then - found=yes - lib=$dir/$lib.dll.lib - break - fi - if test -f "$dir/$lib.lib"; then - found=yes - lib=$dir/$lib.lib - break - fi - if test -f "$dir/lib$lib.a"; then - found=yes - lib=$dir/lib$lib.a - break - fi - done - IFS=$save_IFS - - if test "$found" != yes; then - lib=$lib.lib - fi -} - -# func_cl_wrapper cl arg... -# Adjust compile command to suit cl -func_cl_wrapper () -{ - # Assume a capable shell - lib_path= - shared=: - linker_opts= - for arg - do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - eat=1 - case $2 in - *.o | *.[oO][bB][jJ]) - func_file_conv "$2" - set x "$@" -Fo"$file" - shift - ;; - *) - func_file_conv "$2" - set x "$@" -Fe"$file" - shift - ;; - esac - ;; - -I) - eat=1 - func_file_conv "$2" mingw - set x "$@" -I"$file" - shift - ;; - -I*) - func_file_conv "${1#-I}" mingw - set x "$@" -I"$file" - shift - ;; - -l) - eat=1 - func_cl_dashl "$2" - set x "$@" "$lib" - shift - ;; - -l*) - func_cl_dashl "${1#-l}" - set x "$@" "$lib" - shift - ;; - -L) - eat=1 - func_cl_dashL "$2" - ;; - -L*) - func_cl_dashL "${1#-L}" - ;; - -static) - shared=false - ;; - -Wl,*) - arg=${1#-Wl,} - save_ifs="$IFS"; IFS=',' - for flag in $arg; do - IFS="$save_ifs" - linker_opts="$linker_opts $flag" - done - IFS="$save_ifs" - ;; - -Xlinker) - eat=1 - linker_opts="$linker_opts $2" - ;; - -*) - set x "$@" "$1" - shift - ;; - *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) - func_file_conv "$1" - set x "$@" -Tp"$file" - shift - ;; - *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) - func_file_conv "$1" mingw - set x "$@" "$file" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift - done - if test -n "$linker_opts"; then - linker_opts="-link$linker_opts" - fi - exec "$@" $linker_opts - exit 1 -} - -eat= - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: compile [--help] [--version] PROGRAM [ARGS] - -Wrapper for compilers which do not understand '-c -o'. -Remove '-o dest.o' from ARGS, run PROGRAM with the remaining -arguments, and rename the output as expected. - -If you are trying to build a whole package this is not the -right script to run: please start by reading the file 'INSTALL'. - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "compile $scriptversion" - exit $? - ;; - cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) - func_cl_wrapper "$@" # Doesn't return... - ;; -esac - -ofile= -cfile= - -for arg -do - if test -n "$eat"; then - eat= - else - case $1 in - -o) - # configure might choose to run compile as 'compile cc -o foo foo.c'. - # So we strip '-o arg' only if arg is an object. - eat=1 - case $2 in - *.o | *.obj) - ofile=$2 - ;; - *) - set x "$@" -o "$2" - shift - ;; - esac - ;; - *.c) - cfile=$1 - set x "$@" "$1" - shift - ;; - *) - set x "$@" "$1" - shift - ;; - esac - fi - shift -done - -if test -z "$ofile" || test -z "$cfile"; then - # If no '-o' option was seen then we might have been invoked from a - # pattern rule where we don't need one. That is ok -- this is a - # normal compilation that the losing compiler can handle. If no - # '.c' file was seen then we are probably linking. That is also - # ok. - exec "$@" -fi - -# Name of file we expect compiler to create. -cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` - -# Create the lock directory. -# Note: use '[/\\:.-]' here to ensure that we don't use the same name -# that we are using for the .o file. Also, base the name on the expected -# object file name, since that is what matters with a parallel build. -lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d -while true; do - if mkdir "$lockdir" >/dev/null 2>&1; then - break - fi - sleep 1 -done -# FIXME: race condition here if user kills between mkdir and trap. -trap "rmdir '$lockdir'; exit 1" 1 2 15 - -# Run the compile. -"$@" -ret=$? - -if test -f "$cofile"; then - test "$cofile" = "$ofile" || mv "$cofile" "$ofile" -elif test -f "${cofile}bj"; then - test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" -fi - -rmdir "$lockdir" -exit $ret - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/Build/source/extra/xz/build-aux/config.guess b/Build/source/extra/xz/build-aux/config.guess deleted file mode 100755 index 1f5c50c0d15..00000000000 --- a/Build/source/extra/xz/build-aux/config.guess +++ /dev/null @@ -1,1420 +0,0 @@ -#! /bin/sh -# Attempt to guess a canonical system name. -# Copyright 1992-2014 Free Software Foundation, Inc. - -timestamp='2014-03-23' - -# This file is free software; you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, see . -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). -# -# Originally written by Per Bothner. -# -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD -# -# Please send patches with a ChangeLog entry to config-patches@gnu.org. - - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] - -Output the configuration name of the system \`$me' is run on. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.guess ($timestamp) - -Originally written by Per Bothner. -Copyright 1992-2014 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" >&2 - exit 1 ;; - * ) - break ;; - esac -done - -if test $# != 0; then - echo "$me: too many arguments$help" >&2 - exit 1 -fi - -trap 'exit 1' 1 2 15 - -# CC_FOR_BUILD -- compiler used by this script. Note that the use of a -# compiler to aid in system detection is discouraged as it requires -# temporary files to be created and, as you can see below, it is a -# headache to deal with in a portable fashion. - -# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still -# use `HOST_CC' if defined, but it is deprecated. - -# Portable tmp directory creation inspired by the Autoconf team. - -set_cc_for_build=' -trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; -trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; -: ${TMPDIR=/tmp} ; - { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || - { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || - { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || - { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; -dummy=$tmp/dummy ; -tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; -case $CC_FOR_BUILD,$HOST_CC,$CC in - ,,) echo "int x;" > $dummy.c ; - for c in cc gcc c89 c99 ; do - if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then - CC_FOR_BUILD="$c"; break ; - fi ; - done ; - if test x"$CC_FOR_BUILD" = x ; then - CC_FOR_BUILD=no_compiler_found ; - fi - ;; - ,,*) CC_FOR_BUILD=$CC ;; - ,*,*) CC_FOR_BUILD=$HOST_CC ;; -esac ; set_cc_for_build= ;' - -# This is needed to find uname on a Pyramid OSx when run in the BSD universe. -# (ghazi@noc.rutgers.edu 1994-08-24) -if (test -f /.attbin/uname) >/dev/null 2>&1 ; then - PATH=$PATH:/.attbin ; export PATH -fi - -UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown -UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown -UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown -UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown - -case "${UNAME_SYSTEM}" in -Linux|GNU|GNU/*) - # If the system lacks a compiler, then just pick glibc. - # We could probably try harder. - LIBC=gnu - - eval $set_cc_for_build - cat <<-EOF > $dummy.c - #include - #if defined(__UCLIBC__) - LIBC=uclibc - #elif defined(__dietlibc__) - LIBC=dietlibc - #else - LIBC=gnu - #endif - EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'` - ;; -esac - -# Note: order is significant - the case branches are not exclusive. - -case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in - *:NetBSD:*:*) - # NetBSD (nbsd) targets should (where applicable) match one or - # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, - # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently - # switched to ELF, *-*-netbsd* would select the old - # object file format. This provides both forward - # compatibility and a consistent mechanism for selecting the - # object file format. - # - # Note: NetBSD doesn't particularly care about the vendor - # portion of the name. We always set it to "unknown". - sysctl="sysctl -n hw.machine_arch" - UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ - /usr/sbin/$sysctl 2>/dev/null || echo unknown)` - case "${UNAME_MACHINE_ARCH}" in - armeb) machine=armeb-unknown ;; - arm*) machine=arm-unknown ;; - sh3el) machine=shl-unknown ;; - sh3eb) machine=sh-unknown ;; - sh5el) machine=sh5le-unknown ;; - *) machine=${UNAME_MACHINE_ARCH}-unknown ;; - esac - # The Operating System including object format, if it has switched - # to ELF recently, or will in the future. - case "${UNAME_MACHINE_ARCH}" in - arm*|i386|m68k|ns32k|sh3*|sparc|vax) - eval $set_cc_for_build - if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ELF__ - then - # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). - # Return netbsd for either. FIX? - os=netbsd - else - os=netbsdelf - fi - ;; - *) - os=netbsd - ;; - esac - # The OS release - # Debian GNU/NetBSD machines have a different userland, and - # thus, need a distinct triplet. However, they do not need - # kernel version information, so it can be replaced with a - # suitable tag, in the style of linux-gnu. - case "${UNAME_VERSION}" in - Debian*) - release='-gnu' - ;; - *) - release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` - ;; - esac - # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: - # contains redundant information, the shorter form: - # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. - echo "${machine}-${os}${release}" - exit ;; - *:Bitrig:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} - exit ;; - *:OpenBSD:*:*) - UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` - echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} - exit ;; - *:ekkoBSD:*:*) - echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} - exit ;; - *:SolidBSD:*:*) - echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} - exit ;; - macppc:MirBSD:*:*) - echo powerpc-unknown-mirbsd${UNAME_RELEASE} - exit ;; - *:MirBSD:*:*) - echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} - exit ;; - alpha:OSF1:*:*) - case $UNAME_RELEASE in - *4.0) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - ;; - *5.*) - UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` - ;; - esac - # According to Compaq, /usr/sbin/psrinfo has been available on - # OSF/1 and Tru64 systems produced since 1995. I hope that - # covers most systems running today. This code pipes the CPU - # types through head -n 1, so we only detect the type of CPU 0. - ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` - case "$ALPHA_CPU_TYPE" in - "EV4 (21064)") - UNAME_MACHINE="alpha" ;; - "EV4.5 (21064)") - UNAME_MACHINE="alpha" ;; - "LCA4 (21066/21068)") - UNAME_MACHINE="alpha" ;; - "EV5 (21164)") - UNAME_MACHINE="alphaev5" ;; - "EV5.6 (21164A)") - UNAME_MACHINE="alphaev56" ;; - "EV5.6 (21164PC)") - UNAME_MACHINE="alphapca56" ;; - "EV5.7 (21164PC)") - UNAME_MACHINE="alphapca57" ;; - "EV6 (21264)") - UNAME_MACHINE="alphaev6" ;; - "EV6.7 (21264A)") - UNAME_MACHINE="alphaev67" ;; - "EV6.8CB (21264C)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8AL (21264B)") - UNAME_MACHINE="alphaev68" ;; - "EV6.8CX (21264D)") - UNAME_MACHINE="alphaev68" ;; - "EV6.9A (21264/EV69A)") - UNAME_MACHINE="alphaev69" ;; - "EV7 (21364)") - UNAME_MACHINE="alphaev7" ;; - "EV7.9 (21364A)") - UNAME_MACHINE="alphaev79" ;; - esac - # A Pn.n version is a patched version. - # A Vn.n version is a released version. - # A Tn.n version is a released field test version. - # A Xn.n version is an unreleased experimental baselevel. - # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - # Reset EXIT trap before exiting to avoid spurious non-zero exit code. - exitcode=$? - trap '' 0 - exit $exitcode ;; - Alpha\ *:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # Should we change UNAME_MACHINE based on the output of uname instead - # of the specific Alpha model? - echo alpha-pc-interix - exit ;; - 21064:Windows_NT:50:3) - echo alpha-dec-winnt3.5 - exit ;; - Amiga*:UNIX_System_V:4.0:*) - echo m68k-unknown-sysv4 - exit ;; - *:[Aa]miga[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-amigaos - exit ;; - *:[Mm]orph[Oo][Ss]:*:*) - echo ${UNAME_MACHINE}-unknown-morphos - exit ;; - *:OS/390:*:*) - echo i370-ibm-openedition - exit ;; - *:z/VM:*:*) - echo s390-ibm-zvmoe - exit ;; - *:OS400:*:*) - echo powerpc-ibm-os400 - exit ;; - arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) - echo arm-acorn-riscix${UNAME_RELEASE} - exit ;; - arm*:riscos:*:*|arm*:RISCOS:*:*) - echo arm-unknown-riscos - exit ;; - SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) - echo hppa1.1-hitachi-hiuxmpp - exit ;; - Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) - # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. - if test "`(/bin/universe) 2>/dev/null`" = att ; then - echo pyramid-pyramid-sysv3 - else - echo pyramid-pyramid-bsd - fi - exit ;; - NILE*:*:*:dcosx) - echo pyramid-pyramid-svr4 - exit ;; - DRS?6000:unix:4.0:6*) - echo sparc-icl-nx6 - exit ;; - DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) - case `/usr/bin/uname -p` in - sparc) echo sparc-icl-nx7; exit ;; - esac ;; - s390x:SunOS:*:*) - echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4H:SunOS:5.*:*) - echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) - echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) - echo i386-pc-auroraux${UNAME_RELEASE} - exit ;; - i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) - eval $set_cc_for_build - SUN_ARCH="i386" - # If there is a compiler, see if it is configured for 64-bit objects. - # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. - # This test works for both compilers. - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - SUN_ARCH="x86_64" - fi - fi - echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:6*:*) - # According to config.sub, this is the proper way to canonicalize - # SunOS6. Hard to guess exactly what SunOS6 will be like, but - # it's likely to be more like Solaris than SunOS4. - echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - sun4*:SunOS:*:*) - case "`/usr/bin/arch -k`" in - Series*|S4*) - UNAME_RELEASE=`uname -v` - ;; - esac - # Japanese Language versions have a version number like `4.1.3-JL'. - echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` - exit ;; - sun3*:SunOS:*:*) - echo m68k-sun-sunos${UNAME_RELEASE} - exit ;; - sun*:*:4.2BSD:*) - UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` - test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 - case "`/bin/arch`" in - sun3) - echo m68k-sun-sunos${UNAME_RELEASE} - ;; - sun4) - echo sparc-sun-sunos${UNAME_RELEASE} - ;; - esac - exit ;; - aushp:SunOS:*:*) - echo sparc-auspex-sunos${UNAME_RELEASE} - exit ;; - # The situation for MiNT is a little confusing. The machine name - # can be virtually everything (everything which is not - # "atarist" or "atariste" at least should have a processor - # > m68000). The system name ranges from "MiNT" over "FreeMiNT" - # to the lowercase version "mint" (or "freemint"). Finally - # the system name "TOS" denotes a system which is actually not - # MiNT. But MiNT is downward compatible to TOS, so this should - # be no problem. - atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) - echo m68k-atari-mint${UNAME_RELEASE} - exit ;; - milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) - echo m68k-milan-mint${UNAME_RELEASE} - exit ;; - hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) - echo m68k-hades-mint${UNAME_RELEASE} - exit ;; - *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) - echo m68k-unknown-mint${UNAME_RELEASE} - exit ;; - m68k:machten:*:*) - echo m68k-apple-machten${UNAME_RELEASE} - exit ;; - powerpc:machten:*:*) - echo powerpc-apple-machten${UNAME_RELEASE} - exit ;; - RISC*:Mach:*:*) - echo mips-dec-mach_bsd4.3 - exit ;; - RISC*:ULTRIX:*:*) - echo mips-dec-ultrix${UNAME_RELEASE} - exit ;; - VAX*:ULTRIX*:*:*) - echo vax-dec-ultrix${UNAME_RELEASE} - exit ;; - 2020:CLIX:*:* | 2430:CLIX:*:*) - echo clipper-intergraph-clix${UNAME_RELEASE} - exit ;; - mips:*:*:UMIPS | mips:*:*:RISCos) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c -#ifdef __cplusplus -#include /* for printf() prototype */ - int main (int argc, char *argv[]) { -#else - int main (argc, argv) int argc; char *argv[]; { -#endif - #if defined (host_mips) && defined (MIPSEB) - #if defined (SYSTYPE_SYSV) - printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_SVR4) - printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); - #endif - #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) - printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); - #endif - #endif - exit (-1); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && - dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && - SYSTEM_NAME=`$dummy $dummyarg` && - { echo "$SYSTEM_NAME"; exit; } - echo mips-mips-riscos${UNAME_RELEASE} - exit ;; - Motorola:PowerMAX_OS:*:*) - echo powerpc-motorola-powermax - exit ;; - Motorola:*:4.3:PL8-*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) - echo powerpc-harris-powermax - exit ;; - Night_Hawk:Power_UNIX:*:*) - echo powerpc-harris-powerunix - exit ;; - m88k:CX/UX:7*:*) - echo m88k-harris-cxux7 - exit ;; - m88k:*:4*:R4*) - echo m88k-motorola-sysv4 - exit ;; - m88k:*:3*:R3*) - echo m88k-motorola-sysv3 - exit ;; - AViiON:dgux:*:*) - # DG/UX returns AViiON for all architectures - UNAME_PROCESSOR=`/usr/bin/uname -p` - if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] - then - if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ - [ ${TARGET_BINARY_INTERFACE}x = x ] - then - echo m88k-dg-dgux${UNAME_RELEASE} - else - echo m88k-dg-dguxbcs${UNAME_RELEASE} - fi - else - echo i586-dg-dgux${UNAME_RELEASE} - fi - exit ;; - M88*:DolphinOS:*:*) # DolphinOS (SVR3) - echo m88k-dolphin-sysv3 - exit ;; - M88*:*:R3*:*) - # Delta 88k system running SVR3 - echo m88k-motorola-sysv3 - exit ;; - XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) - echo m88k-tektronix-sysv3 - exit ;; - Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) - echo m68k-tektronix-bsd - exit ;; - *:IRIX*:*:*) - echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` - exit ;; - ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. - echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id - exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' - i*86:AIX:*:*) - echo i386-ibm-aix - exit ;; - ia64:AIX:*:*) - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} - exit ;; - *:AIX:2:3) - if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - - main() - { - if (!__power_pc()) - exit(1); - puts("powerpc-ibm-aix3.2.5"); - exit(0); - } -EOF - if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` - then - echo "$SYSTEM_NAME" - else - echo rs6000-ibm-aix3.2.5 - fi - elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then - echo rs6000-ibm-aix3.2.4 - else - echo rs6000-ibm-aix3.2 - fi - exit ;; - *:AIX:*:[4567]) - IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` - if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then - IBM_ARCH=rs6000 - else - IBM_ARCH=powerpc - fi - if [ -x /usr/bin/oslevel ] ; then - IBM_REV=`/usr/bin/oslevel` - else - IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} - fi - echo ${IBM_ARCH}-ibm-aix${IBM_REV} - exit ;; - *:AIX:*:*) - echo rs6000-ibm-aix - exit ;; - ibmrt:4.4BSD:*|romp-ibm:BSD:*) - echo romp-ibm-bsd4.4 - exit ;; - ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and - echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to - exit ;; # report: romp-ibm BSD 4.3 - *:BOSX:*:*) - echo rs6000-bull-bosx - exit ;; - DPX/2?00:B.O.S.:*:*) - echo m68k-bull-sysv3 - exit ;; - 9000/[34]??:4.3bsd:1.*:*) - echo m68k-hp-bsd - exit ;; - hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) - echo m68k-hp-bsd4.4 - exit ;; - 9000/[34678]??:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - case "${UNAME_MACHINE}" in - 9000/31? ) HP_ARCH=m68000 ;; - 9000/[34]?? ) HP_ARCH=m68k ;; - 9000/[678][0-9][0-9]) - if [ -x /usr/bin/getconf ]; then - sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` - sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` - case "${sc_cpu_version}" in - 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 - 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 - 532) # CPU_PA_RISC2_0 - case "${sc_kernel_bits}" in - 32) HP_ARCH="hppa2.0n" ;; - 64) HP_ARCH="hppa2.0w" ;; - '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 - esac ;; - esac - fi - if [ "${HP_ARCH}" = "" ]; then - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - - #define _HPUX_SOURCE - #include - #include - - int main () - { - #if defined(_SC_KERNEL_BITS) - long bits = sysconf(_SC_KERNEL_BITS); - #endif - long cpu = sysconf (_SC_CPU_VERSION); - - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1"); break; - case CPU_PA_RISC2_0: - #if defined(_SC_KERNEL_BITS) - switch (bits) - { - case 64: puts ("hppa2.0w"); break; - case 32: puts ("hppa2.0n"); break; - default: puts ("hppa2.0"); break; - } break; - #else /* !defined(_SC_KERNEL_BITS) */ - puts ("hppa2.0"); break; - #endif - default: puts ("hppa1.0"); break; - } - exit (0); - } -EOF - (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` - test -z "$HP_ARCH" && HP_ARCH=hppa - fi ;; - esac - if [ ${HP_ARCH} = "hppa2.0w" ] - then - eval $set_cc_for_build - - # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating - # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler - # generating 64-bit code. GNU and HP use different nomenclature: - # - # $ CC_FOR_BUILD=cc ./config.guess - # => hppa2.0w-hp-hpux11.23 - # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess - # => hppa64-hp-hpux11.23 - - if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep -q __LP64__ - then - HP_ARCH="hppa2.0w" - else - HP_ARCH="hppa64" - fi - fi - echo ${HP_ARCH}-hp-hpux${HPUX_REV} - exit ;; - ia64:HP-UX:*:*) - HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` - echo ia64-hp-hpux${HPUX_REV} - exit ;; - 3050*:HI-UX:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include - int - main () - { - long cpu = sysconf (_SC_CPU_VERSION); - /* The order matters, because CPU_IS_HP_MC68K erroneously returns - true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct - results, however. */ - if (CPU_IS_PA_RISC (cpu)) - { - switch (cpu) - { - case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; - case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; - case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; - default: puts ("hppa-hitachi-hiuxwe2"); break; - } - } - else if (CPU_IS_HP_MC68K (cpu)) - puts ("m68k-hitachi-hiuxwe2"); - else puts ("unknown-hitachi-hiuxwe2"); - exit (0); - } -EOF - $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && - { echo "$SYSTEM_NAME"; exit; } - echo unknown-hitachi-hiuxwe2 - exit ;; - 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) - echo hppa1.1-hp-bsd - exit ;; - 9000/8??:4.3bsd:*:*) - echo hppa1.0-hp-bsd - exit ;; - *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) - echo hppa1.0-hp-mpeix - exit ;; - hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) - echo hppa1.1-hp-osf - exit ;; - hp8??:OSF1:*:*) - echo hppa1.0-hp-osf - exit ;; - i*86:OSF1:*:*) - if [ -x /usr/sbin/sysversion ] ; then - echo ${UNAME_MACHINE}-unknown-osf1mk - else - echo ${UNAME_MACHINE}-unknown-osf1 - fi - exit ;; - parisc*:Lites*:*:*) - echo hppa1.1-hp-lites - exit ;; - C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) - echo c1-convex-bsd - exit ;; - C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) - if getsysinfo -f scalar_acc - then echo c32-convex-bsd - else echo c2-convex-bsd - fi - exit ;; - C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) - echo c34-convex-bsd - exit ;; - C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) - echo c38-convex-bsd - exit ;; - C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) - echo c4-convex-bsd - exit ;; - CRAY*Y-MP:*:*:*) - echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*[A-Z]90:*:*:*) - echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ - | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ - -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ - -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*TS:*:*:*) - echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*T3E:*:*:*) - echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - CRAY*SV1:*:*:*) - echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - *:UNICOS/mp:*:*) - echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' - exit ;; - F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) - FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` - echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - 5000:UNIX_System_V:4.*:*) - FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` - FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` - echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" - exit ;; - i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) - echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} - exit ;; - sparc*:BSD/OS:*:*) - echo sparc-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:BSD/OS:*:*) - echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} - exit ;; - *:FreeBSD:*:*) - UNAME_PROCESSOR=`/usr/bin/uname -p` - case ${UNAME_PROCESSOR} in - amd64) - echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - *) - echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; - esac - exit ;; - i*:CYGWIN*:*) - echo ${UNAME_MACHINE}-pc-cygwin - exit ;; - *:MINGW64*:*) - echo ${UNAME_MACHINE}-pc-mingw64 - exit ;; - *:MINGW*:*) - echo ${UNAME_MACHINE}-pc-mingw32 - exit ;; - *:MSYS*:*) - echo ${UNAME_MACHINE}-pc-msys - exit ;; - i*:windows32*:*) - # uname -m includes "-pc" on this system. - echo ${UNAME_MACHINE}-mingw32 - exit ;; - i*:PW*:*) - echo ${UNAME_MACHINE}-pc-pw32 - exit ;; - *:Interix*:*) - case ${UNAME_MACHINE} in - x86) - echo i586-pc-interix${UNAME_RELEASE} - exit ;; - authenticamd | genuineintel | EM64T) - echo x86_64-unknown-interix${UNAME_RELEASE} - exit ;; - IA64) - echo ia64-unknown-interix${UNAME_RELEASE} - exit ;; - esac ;; - [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) - echo i${UNAME_MACHINE}-pc-mks - exit ;; - 8664:Windows_NT:*) - echo x86_64-pc-mks - exit ;; - i*:Windows_NT*:* | Pentium*:Windows_NT*:*) - # How do we know it's Interix rather than the generic POSIX subsystem? - # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we - # UNAME_MACHINE based on the output of uname instead of i386? - echo i586-pc-interix - exit ;; - i*:UWIN*:*) - echo ${UNAME_MACHINE}-pc-uwin - exit ;; - amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) - echo x86_64-unknown-cygwin - exit ;; - p*:CYGWIN*:*) - echo powerpcle-unknown-cygwin - exit ;; - prep*:SunOS:5.*:*) - echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` - exit ;; - *:GNU:*:*) - # the GNU system - echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` - exit ;; - *:GNU/*:*:*) - # other systems with GNU libc and userland - echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} - exit ;; - i*86:Minix:*:*) - echo ${UNAME_MACHINE}-pc-minix - exit ;; - aarch64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - aarch64_be:Linux:*:*) - UNAME_MACHINE=aarch64_be - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep -q ld.so.1 - if test "$?" = 0 ; then LIBC="gnulibc1" ; fi - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arc:Linux:*:* | arceb:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - arm*:Linux:*:*) - eval $set_cc_for_build - if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_EABI__ - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - else - if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep -q __ARM_PCS_VFP - then - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi - else - echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf - fi - fi - exit ;; - avr32*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - cris:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - crisv32:Linux:*:*) - echo ${UNAME_MACHINE}-axis-linux-${LIBC} - exit ;; - frv:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - hexagon:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:Linux:*:*) - echo ${UNAME_MACHINE}-pc-linux-${LIBC} - exit ;; - ia64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m32r*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - m68*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - mips:Linux:*:* | mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef ${UNAME_MACHINE} - #undef ${UNAME_MACHINE}el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=${UNAME_MACHINE}el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=${UNAME_MACHINE} - #else - CPU= - #endif - #endif -EOF - eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } - ;; - openrisc*:Linux:*:*) - echo or1k-unknown-linux-${LIBC} - exit ;; - or32:Linux:*:* | or1k*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - padre:Linux:*:*) - echo sparc-unknown-linux-${LIBC} - exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-${LIBC} - exit ;; - parisc:Linux:*:* | hppa:Linux:*:*) - # Look for CPU level - case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in - PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; - PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; - *) echo hppa-unknown-linux-${LIBC} ;; - esac - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-${LIBC} - exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-${LIBC} - exit ;; - ppc64le:Linux:*:*) - echo powerpc64le-unknown-linux-${LIBC} - exit ;; - ppcle:Linux:*:*) - echo powerpcle-unknown-linux-${LIBC} - exit ;; - s390:Linux:*:* | s390x:Linux:*:*) - echo ${UNAME_MACHINE}-ibm-linux-${LIBC} - exit ;; - sh64*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sh*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - sparc:Linux:*:* | sparc64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - tile*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - vax:Linux:*:*) - echo ${UNAME_MACHINE}-dec-linux-${LIBC} - exit ;; - x86_64:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - xtensa*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-${LIBC} - exit ;; - i*86:DYNIX/ptx:4*:*) - # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. - # earlier versions are messed up and put the nodename in both - # sysname and nodename. - echo i386-sequent-sysv4 - exit ;; - i*86:UNIX_SV:4.2MP:2.*) - # Unixware is an offshoot of SVR4, but it has its own version - # number series starting with 2... - # I am not positive that other SVR4 systems won't match this, - # I just have to hope. -- rms. - # Use sysv4.2uw... so that sysv4* matches it. - echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} - exit ;; - i*86:OS/2:*:*) - # If we were able to find `uname', then EMX Unix compatibility - # is probably installed. - echo ${UNAME_MACHINE}-pc-os2-emx - exit ;; - i*86:XTS-300:*:STOP) - echo ${UNAME_MACHINE}-unknown-stop - exit ;; - i*86:atheos:*:*) - echo ${UNAME_MACHINE}-unknown-atheos - exit ;; - i*86:syllable:*:*) - echo ${UNAME_MACHINE}-pc-syllable - exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) - echo i386-unknown-lynxos${UNAME_RELEASE} - exit ;; - i*86:*DOS:*:*) - echo ${UNAME_MACHINE}-pc-msdosdjgpp - exit ;; - i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) - UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` - if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then - echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} - else - echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} - fi - exit ;; - i*86:*:5:[678]*) - # UnixWare 7.x, OpenUNIX and OpenServer 6. - case `/bin/uname -X | grep "^Machine"` in - *486*) UNAME_MACHINE=i486 ;; - *Pentium) UNAME_MACHINE=i586 ;; - *Pent*|*Celeron) UNAME_MACHINE=i686 ;; - esac - echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} - exit ;; - i*86:*:3.2:*) - if test -f /usr/options/cb.name; then - UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then - UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` - (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 - (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ - && UNAME_MACHINE=i586 - (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ - && UNAME_MACHINE=i686 - (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ - && UNAME_MACHINE=i686 - echo ${UNAME_MACHINE}-pc-sco$UNAME_REL - else - echo ${UNAME_MACHINE}-pc-sysv32 - fi - exit ;; - pc:*:*:*) - # Left here for compatibility: - # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i586. - # Note: whatever this is, it MUST be the same as what config.sub - # prints for the "djgpp" host, or else GDB configury will decide that - # this is a cross-build. - echo i586-pc-msdosdjgpp - exit ;; - Intel:Mach:3*:*) - echo i386-pc-mach3 - exit ;; - paragon:*:*:*) - echo i860-intel-osf1 - exit ;; - i860:*:4.*:*) # i860-SVR4 - if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then - echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 - else # Add other i860-SVR4 vendors below as they are discovered. - echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 - fi - exit ;; - mini*:CTIX:SYS*5:*) - # "miniframe" - echo m68010-convergent-sysv - exit ;; - mc68k:UNIX:SYSTEM5:3.51m) - echo m68k-convergent-sysv - exit ;; - M680?0:D-NIX:5.3:*) - echo m68k-diab-dnix - exit ;; - M68*:*:R3V[5678]*:*) - test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; - 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) - OS_REL='' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4; exit; } ;; - NCR*:*:4.2:* | MPRAS*:*:4.2:*) - OS_REL='.3' - test -r /etc/.relid \ - && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` - /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ - && { echo i486-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } - /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ - && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; - m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) - echo m68k-unknown-lynxos${UNAME_RELEASE} - exit ;; - mc68030:UNIX_System_V:4.*:*) - echo m68k-atari-sysv4 - exit ;; - TSUNAMI:LynxOS:2.*:*) - echo sparc-unknown-lynxos${UNAME_RELEASE} - exit ;; - rs6000:LynxOS:2.*:*) - echo rs6000-unknown-lynxos${UNAME_RELEASE} - exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) - echo powerpc-unknown-lynxos${UNAME_RELEASE} - exit ;; - SM[BE]S:UNIX_SV:*:*) - echo mips-dde-sysv${UNAME_RELEASE} - exit ;; - RM*:ReliantUNIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - RM*:SINIX-*:*:*) - echo mips-sni-sysv4 - exit ;; - *:SINIX-*:*:*) - if uname -p 2>/dev/null >/dev/null ; then - UNAME_MACHINE=`(uname -p) 2>/dev/null` - echo ${UNAME_MACHINE}-sni-sysv4 - else - echo ns32k-sni-sysv - fi - exit ;; - PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort - # says - echo i586-unisys-sysv4 - exit ;; - *:UNIX_System_V:4*:FTX*) - # From Gerald Hewes . - # How about differentiating between stratus architectures? -djm - echo hppa1.1-stratus-sysv4 - exit ;; - *:*:*:FTX*) - # From seanf@swdc.stratus.com. - echo i860-stratus-sysv4 - exit ;; - i*86:VOS:*:*) - # From Paul.Green@stratus.com. - echo ${UNAME_MACHINE}-stratus-vos - exit ;; - *:VOS:*:*) - # From Paul.Green@stratus.com. - echo hppa1.1-stratus-vos - exit ;; - mc68*:A/UX:*:*) - echo m68k-apple-aux${UNAME_RELEASE} - exit ;; - news*:NEWS-OS:6*:*) - echo mips-sony-newsos6 - exit ;; - R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) - if [ -d /usr/nec ]; then - echo mips-nec-sysv${UNAME_RELEASE} - else - echo mips-unknown-sysv${UNAME_RELEASE} - fi - exit ;; - BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. - echo powerpc-be-beos - exit ;; - BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. - echo powerpc-apple-beos - exit ;; - BePC:BeOS:*:*) # BeOS running on Intel PC compatible. - echo i586-pc-beos - exit ;; - BePC:Haiku:*:*) # Haiku running on Intel PC compatible. - echo i586-pc-haiku - exit ;; - x86_64:Haiku:*:*) - echo x86_64-unknown-haiku - exit ;; - SX-4:SUPER-UX:*:*) - echo sx4-nec-superux${UNAME_RELEASE} - exit ;; - SX-5:SUPER-UX:*:*) - echo sx5-nec-superux${UNAME_RELEASE} - exit ;; - SX-6:SUPER-UX:*:*) - echo sx6-nec-superux${UNAME_RELEASE} - exit ;; - SX-7:SUPER-UX:*:*) - echo sx7-nec-superux${UNAME_RELEASE} - exit ;; - SX-8:SUPER-UX:*:*) - echo sx8-nec-superux${UNAME_RELEASE} - exit ;; - SX-8R:SUPER-UX:*:*) - echo sx8r-nec-superux${UNAME_RELEASE} - exit ;; - Power*:Rhapsody:*:*) - echo powerpc-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Rhapsody:*:*) - echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} - exit ;; - *:Darwin:*:*) - UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown - eval $set_cc_for_build - if test "$UNAME_PROCESSOR" = unknown ; then - UNAME_PROCESSOR=powerpc - fi - if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then - if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then - if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ - (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ - grep IS_64BIT_ARCH >/dev/null - then - case $UNAME_PROCESSOR in - i386) UNAME_PROCESSOR=x86_64 ;; - powerpc) UNAME_PROCESSOR=powerpc64 ;; - esac - fi - fi - elif test "$UNAME_PROCESSOR" = i386 ; then - # Avoid executing cc on OS X 10.9, as it ships with a stub - # that puts up a graphical alert prompting to install - # developer tools. Any system running Mac OS X 10.7 or - # later (Darwin 11 and later) is required to have a 64-bit - # processor. This is not true of the ARM version of Darwin - # that Apple uses in portable devices. - UNAME_PROCESSOR=x86_64 - fi - echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} - exit ;; - *:procnto*:*:* | *:QNX:[0123456789]*:*) - UNAME_PROCESSOR=`uname -p` - if test "$UNAME_PROCESSOR" = "x86"; then - UNAME_PROCESSOR=i386 - UNAME_MACHINE=pc - fi - echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} - exit ;; - *:QNX:*:4*) - echo i386-pc-qnx - exit ;; - NEO-?:NONSTOP_KERNEL:*:*) - echo neo-tandem-nsk${UNAME_RELEASE} - exit ;; - NSE-*:NONSTOP_KERNEL:*:*) - echo nse-tandem-nsk${UNAME_RELEASE} - exit ;; - NSR-?:NONSTOP_KERNEL:*:*) - echo nsr-tandem-nsk${UNAME_RELEASE} - exit ;; - *:NonStop-UX:*:*) - echo mips-compaq-nonstopux - exit ;; - BS2000:POSIX*:*:*) - echo bs2000-siemens-sysv - exit ;; - DS/*:UNIX_System_V:*:*) - echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} - exit ;; - *:Plan9:*:*) - # "uname -m" is not consistent, so use $cputype instead. 386 - # is converted to i386 for consistency with other x86 - # operating systems. - if test "$cputype" = "386"; then - UNAME_MACHINE=i386 - else - UNAME_MACHINE="$cputype" - fi - echo ${UNAME_MACHINE}-unknown-plan9 - exit ;; - *:TOPS-10:*:*) - echo pdp10-unknown-tops10 - exit ;; - *:TENEX:*:*) - echo pdp10-unknown-tenex - exit ;; - KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) - echo pdp10-dec-tops20 - exit ;; - XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) - echo pdp10-xkl-tops20 - exit ;; - *:TOPS-20:*:*) - echo pdp10-unknown-tops20 - exit ;; - *:ITS:*:*) - echo pdp10-unknown-its - exit ;; - SEI:*:*:SEIUX) - echo mips-sei-seiux${UNAME_RELEASE} - exit ;; - *:DragonFly:*:*) - echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` - exit ;; - *:*VMS:*:*) - UNAME_MACHINE=`(uname -p) 2>/dev/null` - case "${UNAME_MACHINE}" in - A*) echo alpha-dec-vms ; exit ;; - I*) echo ia64-dec-vms ; exit ;; - V*) echo vax-dec-vms ; exit ;; - esac ;; - *:XENIX:*:SysV) - echo i386-pc-xenix - exit ;; - i*86:skyos:*:*) - echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' - exit ;; - i*86:rdos:*:*) - echo ${UNAME_MACHINE}-pc-rdos - exit ;; - i*86:AROS:*:*) - echo ${UNAME_MACHINE}-pc-aros - exit ;; - x86_64:VMkernel:*:*) - echo ${UNAME_MACHINE}-unknown-esx - exit ;; -esac - -cat >&2 < in order to provide the needed -information to handle your system. - -config.guess timestamp = $timestamp - -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null` - -hostinfo = `(hostinfo) 2>/dev/null` -/bin/universe = `(/bin/universe) 2>/dev/null` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` -/bin/arch = `(/bin/arch) 2>/dev/null` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` - -UNAME_MACHINE = ${UNAME_MACHINE} -UNAME_RELEASE = ${UNAME_RELEASE} -UNAME_SYSTEM = ${UNAME_SYSTEM} -UNAME_VERSION = ${UNAME_VERSION} -EOF - -exit 1 - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Build/source/extra/xz/build-aux/config.rpath b/Build/source/extra/xz/build-aux/config.rpath deleted file mode 100755 index 17298f2348b..00000000000 --- a/Build/source/extra/xz/build-aux/config.rpath +++ /dev/null @@ -1,672 +0,0 @@ -#! /bin/sh -# Output a system dependent set of variables, describing how to set the -# run time search path of shared libraries in an executable. -# -# Copyright 1996-2010 Free Software Foundation, Inc. -# Taken from GNU libtool, 2001 -# Originally by Gordon Matzigkeit , 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. -# -# The first argument passed to this file is the canonical host specification, -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# The environment variables CC, GCC, LDFLAGS, LD, with_gnu_ld -# should be set by the caller. -# -# The set of defined variables is at the end of this script. - -# Known limitations: -# - On IRIX 6.5 with CC="cc", the run time search patch must not be longer -# than 256 bytes, otherwise the compiler driver will dump core. The only -# known workaround is to choose shorter directory names for the build -# directory and/or the installation directory. - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a -shrext=.so - -host="$1" -host_cpu=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` -host_vendor=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` -host_os=`echo "$host" | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` - -# Code taken from libtool.m4's _LT_CC_BASENAME. - -for cc_temp in $CC""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`echo "$cc_temp" | sed -e 's%^.*/%%'` - -# Code taken from libtool.m4's _LT_COMPILER_PIC. - -wl= -if test "$GCC" = yes; then - wl='-Wl,' -else - case "$host_os" in - aix*) - wl='-Wl,' - ;; - darwin*) - case $cc_basename in - xlc*) - wl='-Wl,' - ;; - esac - ;; - mingw* | cygwin* | pw32* | os2* | cegcc*) - ;; - hpux9* | hpux10* | hpux11*) - wl='-Wl,' - ;; - irix5* | irix6* | nonstopux*) - wl='-Wl,' - ;; - newsos6) - ;; - linux* | k*bsd*-gnu) - case $cc_basename in - ecc*) - wl='-Wl,' - ;; - icc* | ifort*) - wl='-Wl,' - ;; - lf95*) - wl='-Wl,' - ;; - pgcc | pgf77 | pgf90) - wl='-Wl,' - ;; - ccc*) - wl='-Wl,' - ;; - como) - wl='-lopt=' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - wl='-Wl,' - ;; - esac - ;; - esac - ;; - osf3* | osf4* | osf5*) - wl='-Wl,' - ;; - rdos*) - ;; - solaris*) - wl='-Wl,' - ;; - sunos4*) - wl='-Qoption ld ' - ;; - sysv4 | sysv4.2uw2* | sysv4.3*) - wl='-Wl,' - ;; - sysv4*MP*) - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - wl='-Wl,' - ;; - unicos*) - wl='-Wl,' - ;; - uts4*) - ;; - esac -fi - -# Code taken from libtool.m4's _LT_LINKER_SHLIBS. - -hardcode_libdir_flag_spec= -hardcode_libdir_separator= -hardcode_direct=no -hardcode_minus_L=no - -case "$host_os" in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; -esac - -ld_shlibs=yes -if test "$with_gnu_ld" = yes; then - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - # Unlike libtool, we use -rpath here, not --rpath, since the documented - # option of GNU ld is called -rpath, not --rpath. - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - case "$host_os" in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # Samuel A. Falvo II reports - # that the semantics of dynamic libraries on AmigaOS, at least up - # to version 4, is to share data among multiple programs linked - # with the same dynamic library. Since this doesn't match the - # behavior of shared libraries on other platforms, we cannot use - # them. - ld_shlibs=no - ;; - beos*) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - cygwin* | mingw* | pw32* | cegcc*) - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - interix[3-9]*) - hardcode_direct=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - gnu* | linux* | k*bsd*-gnu) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - netbsd*) - ;; - solaris*) - if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - elif $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' - else - ld_shlibs=no - fi - ;; - esac - ;; - sunos4*) - hardcode_direct=yes - ;; - *) - if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then - : - else - ld_shlibs=no - fi - ;; - esac - if test "$ld_shlibs" = no; then - hardcode_libdir_flag_spec= - fi -else - case "$host_os" in - aix3*) - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - else - aix_use_runtimelinking=no - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - fi - hardcode_direct=yes - hardcode_libdir_separator=':' - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && \ - strings "$collect2name" | grep resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - fi - # Begin _LT_AC_SYS_LIBPATH_AIX. - echo 'int main () { return 0; }' > conftest.c - ${CC} ${LDFLAGS} conftest.c -o conftest - aix_libpath=`dump -H conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - if test -z "$aix_libpath"; then - aix_libpath=`dump -HX64 conftest 2>/dev/null | sed -n -e '/Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/; p; } -}'` - fi - if test -z "$aix_libpath"; then - aix_libpath="/usr/lib:/lib" - fi - rm -f conftest.c conftest - # End _LT_AC_SYS_LIBPATH_AIX. - if test "$aix_use_runtimelinking" = yes; then - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - else - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - fi - fi - ;; - amigaos*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - # see comment about different semantics on the GNU ld section - ld_shlibs=no - ;; - bsdi[45]*) - ;; - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - hardcode_libdir_flag_spec=' ' - libext=lib - ;; - darwin* | rhapsody*) - hardcode_direct=no - if test "$GCC" = yes ; then - : - else - case $cc_basename in - xlc*) - ;; - *) - ld_shlibs=no - ;; - esac - fi - ;; - dgux*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - freebsd1*) - ld_shlibs=no - ;; - freebsd2.2*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - freebsd2*) - hardcode_direct=yes - hardcode_minus_L=yes - ;; - freebsd* | dragonfly*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - hpux9*) - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - hpux10*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - hpux11*) - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - ;; - *) - hardcode_direct=yes - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - irix5* | irix6* | nonstopux*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - netbsd*) - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - ;; - newsos6) - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - else - case "$host_os" in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - osf3*) - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - osf4* | osf5*) - if test "$GCC" = yes; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - # Both cc and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - hardcode_libdir_separator=: - ;; - solaris*) - hardcode_libdir_flag_spec='-R$libdir' - ;; - sunos4*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - ;; - sysv4) - case $host_vendor in - sni) - hardcode_direct=yes # is this really true??? - ;; - siemens) - hardcode_direct=no - ;; - motorola) - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - ;; - sysv4.3*) - ;; - sysv4*MP*) - if test -d /usr/nec; then - ld_shlibs=yes - fi - ;; - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - ;; - sysv5* | sco3.2v5* | sco5v6*) - hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' - hardcode_libdir_separator=':' - ;; - uts4*) - hardcode_libdir_flag_spec='-L$libdir' - ;; - *) - ld_shlibs=no - ;; - esac -fi - -# Check dynamic linker characteristics -# Code taken from libtool.m4's _LT_SYS_DYNAMIC_LINKER. -# Unlike libtool.m4, here we don't care about _all_ names of the library, but -# only about the one the linker finds when passed -lNAME. This is the last -# element of library_names_spec in libtool.m4, or possibly two of them if the -# linker has special search rules. -library_names_spec= # the last element of library_names_spec in libtool.m4 -libname_spec='lib$name' -case "$host_os" in - aix3*) - library_names_spec='$libname.a' - ;; - aix[4-9]*) - library_names_spec='$libname$shrext' - ;; - amigaos*) - library_names_spec='$libname.a' - ;; - beos*) - library_names_spec='$libname$shrext' - ;; - bsdi[45]*) - library_names_spec='$libname$shrext' - ;; - cygwin* | mingw* | pw32* | cegcc*) - shrext=.dll - library_names_spec='$libname.dll.a $libname.lib' - ;; - darwin* | rhapsody*) - shrext=.dylib - library_names_spec='$libname$shrext' - ;; - dgux*) - library_names_spec='$libname$shrext' - ;; - freebsd1*) - ;; - freebsd* | dragonfly*) - case "$host_os" in - freebsd[123]*) - library_names_spec='$libname$shrext$versuffix' ;; - *) - library_names_spec='$libname$shrext' ;; - esac - ;; - gnu*) - library_names_spec='$libname$shrext' - ;; - hpux9* | hpux10* | hpux11*) - case $host_cpu in - ia64*) - shrext=.so - ;; - hppa*64*) - shrext=.sl - ;; - *) - shrext=.sl - ;; - esac - library_names_spec='$libname$shrext' - ;; - interix[3-9]*) - library_names_spec='$libname$shrext' - ;; - irix5* | irix6* | nonstopux*) - library_names_spec='$libname$shrext' - case "$host_os" in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= ;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 ;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 ;; - *) libsuff= shlibsuff= ;; - esac - ;; - esac - ;; - linux*oldld* | linux*aout* | linux*coff*) - ;; - linux* | k*bsd*-gnu) - library_names_spec='$libname$shrext' - ;; - knetbsd*-gnu) - library_names_spec='$libname$shrext' - ;; - netbsd*) - library_names_spec='$libname$shrext' - ;; - newsos6) - library_names_spec='$libname$shrext' - ;; - nto-qnx*) - library_names_spec='$libname$shrext' - ;; - openbsd*) - library_names_spec='$libname$shrext$versuffix' - ;; - os2*) - libname_spec='$name' - shrext=.dll - library_names_spec='$libname.a' - ;; - osf3* | osf4* | osf5*) - library_names_spec='$libname$shrext' - ;; - rdos*) - ;; - solaris*) - library_names_spec='$libname$shrext' - ;; - sunos4*) - library_names_spec='$libname$shrext$versuffix' - ;; - sysv4 | sysv4.3*) - library_names_spec='$libname$shrext' - ;; - sysv4*MP*) - library_names_spec='$libname$shrext' - ;; - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - library_names_spec='$libname$shrext' - ;; - uts4*) - library_names_spec='$libname$shrext' - ;; -esac - -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' -escaped_wl=`echo "X$wl" | sed -e 's/^X//' -e "$sed_quote_subst"` -shlibext=`echo "$shrext" | sed -e 's,^\.,,'` -escaped_libname_spec=`echo "X$libname_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_library_names_spec=`echo "X$library_names_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` -escaped_hardcode_libdir_flag_spec=`echo "X$hardcode_libdir_flag_spec" | sed -e 's/^X//' -e "$sed_quote_subst"` - -LC_ALL=C sed -e 's/^\([a-zA-Z0-9_]*\)=/acl_cv_\1=/' <. -# -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that -# program. This Exception is an additional permission under section 7 -# of the GNU General Public License, version 3 ("GPLv3"). - - -# Please send patches with a ChangeLog entry to config-patches@gnu.org. -# -# Configuration subroutine to validate and canonicalize a configuration type. -# Supply the specified configuration type as an argument. -# If it is invalid, we print an error message on stderr and exit with code 1. -# Otherwise, we print the canonical config type on stdout and succeed. - -# You can get the latest version of this script from: -# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD - -# This file is supposed to be the same for all GNU packages -# and recognize all the CPU types, system types and aliases -# that are meaningful with *any* GNU software. -# Each package is responsible for reporting which valid configurations -# it does not support. The user should be able to distinguish -# a failure to support a valid configuration from a meaningless -# configuration. - -# The goal of this file is to map all the various variations of a given -# machine specification into a single specification in the form: -# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM -# or in some cases, the newer four-part form: -# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM -# It is wrong to echo any other type of specification. - -me=`echo "$0" | sed -e 's,.*/,,'` - -usage="\ -Usage: $0 [OPTION] CPU-MFR-OPSYS - $0 [OPTION] ALIAS - -Canonicalize a configuration name. - -Operation modes: - -h, --help print this help, then exit - -t, --time-stamp print date of last modification, then exit - -v, --version print version number, then exit - -Report bugs and patches to ." - -version="\ -GNU config.sub ($timestamp) - -Copyright 1992-2014 Free Software Foundation, Inc. - -This is free software; see the source for copying conditions. There is NO -warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - -help=" -Try \`$me --help' for more information." - -# Parse command line -while test $# -gt 0 ; do - case $1 in - --time-stamp | --time* | -t ) - echo "$timestamp" ; exit ;; - --version | -v ) - echo "$version" ; exit ;; - --help | --h* | -h ) - echo "$usage"; exit ;; - -- ) # Stop option processing - shift; break ;; - - ) # Use stdin as input. - break ;; - -* ) - echo "$me: invalid option $1$help" - exit 1 ;; - - *local*) - # First pass through any local machine types. - echo $1 - exit ;; - - * ) - break ;; - esac -done - -case $# in - 0) echo "$me: missing argument$help" >&2 - exit 1;; - 1) ;; - *) echo "$me: too many arguments$help" >&2 - exit 1;; -esac - -# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). -# Here we must recognize all the valid KERNEL-OS combinations. -maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` -case $maybe_os in - nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ - linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ - knetbsd*-gnu* | netbsd*-gnu* | \ - kopensolaris*-gnu* | \ - storm-chaos* | os2-emx* | rtmk-nova*) - os=-$maybe_os - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` - ;; - android-linux) - os=-linux-android - basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown - ;; - *) - basic_machine=`echo $1 | sed 's/-[^-]*$//'` - if [ $basic_machine != $1 ] - then os=`echo $1 | sed 's/.*-/-/'` - else os=; fi - ;; -esac - -### Let's recognize common machines as not being operating systems so -### that things like config.sub decstation-3100 work. We also -### recognize some manufacturers as not being operating systems, so we -### can provide default operating systems below. -case $os in - -sun*os*) - # Prevent following clause from handling this invalid input. - ;; - -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ - -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ - -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ - -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ - -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ - -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray | -microblaze*) - os= - basic_machine=$1 - ;; - -bluegene*) - os=-cnk - ;; - -sim | -cisco | -oki | -wec | -winbond) - os= - basic_machine=$1 - ;; - -scout) - ;; - -wrs) - os=-vxworks - basic_machine=$1 - ;; - -chorusos*) - os=-chorusos - basic_machine=$1 - ;; - -chorusrdb) - os=-chorusrdb - basic_machine=$1 - ;; - -hiux*) - os=-hiuxwe2 - ;; - -sco6) - os=-sco5v6 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5) - os=-sco3.2v5 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco4) - os=-sco3.2v4 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2.[4-9]*) - os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco3.2v[4-9]*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco5v6*) - # Don't forget version if it is 3.2v4 or newer. - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -sco*) - os=-sco3.2v2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -udk*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -isc) - os=-isc2.2 - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -clix*) - basic_machine=clipper-intergraph - ;; - -isc*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` - ;; - -lynx*178) - os=-lynxos178 - ;; - -lynx*5) - os=-lynxos5 - ;; - -lynx*) - os=-lynxos - ;; - -ptx*) - basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` - ;; - -windowsnt*) - os=`echo $os | sed -e 's/windowsnt/winnt/'` - ;; - -psos*) - os=-psos - ;; - -mint | -mint[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; -esac - -# Decode aliases for certain CPU-COMPANY combinations. -case $basic_machine in - # Recognize the basic CPU types without company name. - # Some are omitted here because they have special meanings below. - 1750a | 580 \ - | a29k \ - | aarch64 | aarch64_be \ - | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ - | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ - | am33_2.0 \ - | arc | arceb \ - | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ - | avr | avr32 \ - | be32 | be64 \ - | bfin \ - | c4x | c8051 | clipper \ - | d10v | d30v | dlx | dsp16xx \ - | epiphany \ - | fido | fr30 | frv \ - | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ - | hexagon \ - | i370 | i860 | i960 | ia64 \ - | ip2k | iq2000 \ - | k1om \ - | le32 | le64 \ - | lm32 \ - | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ - | mips | mipsbe | mipseb | mipsel | mipsle \ - | mips16 \ - | mips64 | mips64el \ - | mips64octeon | mips64octeonel \ - | mips64orion | mips64orionel \ - | mips64r5900 | mips64r5900el \ - | mips64vr | mips64vrel \ - | mips64vr4100 | mips64vr4100el \ - | mips64vr4300 | mips64vr4300el \ - | mips64vr5000 | mips64vr5000el \ - | mips64vr5900 | mips64vr5900el \ - | mipsisa32 | mipsisa32el \ - | mipsisa32r2 | mipsisa32r2el \ - | mipsisa64 | mipsisa64el \ - | mipsisa64r2 | mipsisa64r2el \ - | mipsisa64sb1 | mipsisa64sb1el \ - | mipsisa64sr71k | mipsisa64sr71kel \ - | mipsr5900 | mipsr5900el \ - | mipstx39 | mipstx39el \ - | mn10200 | mn10300 \ - | moxie \ - | mt \ - | msp430 \ - | nds32 | nds32le | nds32be \ - | nios | nios2 | nios2eb | nios2el \ - | ns16k | ns32k \ - | open8 | or1k | or1knd | or32 \ - | pdp10 | pdp11 | pj | pjl \ - | powerpc | powerpc64 | powerpc64le | powerpcle \ - | pyramid \ - | rl78 | rx \ - | score \ - | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ - | sh64 | sh64le \ - | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ - | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ - | spu \ - | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ - | ubicom32 \ - | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ - | we32k \ - | x86 | xc16x | xstormy16 | xtensa \ - | z8k | z80) - basic_machine=$basic_machine-unknown - ;; - c54x) - basic_machine=tic54x-unknown - ;; - c55x) - basic_machine=tic55x-unknown - ;; - c6x) - basic_machine=tic6x-unknown - ;; - m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip) - basic_machine=$basic_machine-unknown - os=-none - ;; - m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) - ;; - ms1) - basic_machine=mt-unknown - ;; - - strongarm | thumb | xscale) - basic_machine=arm-unknown - ;; - xgate) - basic_machine=$basic_machine-unknown - os=-none - ;; - xscaleeb) - basic_machine=armeb-unknown - ;; - - xscaleel) - basic_machine=armel-unknown - ;; - - # We use `pc' rather than `unknown' - # because (1) that's what they normally are, and - # (2) the word "unknown" tends to confuse beginning users. - i*86 | x86_64) - basic_machine=$basic_machine-pc - ;; - # Object if more than one company name word. - *-*-*) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; - # Recognize the basic CPU types with company name. - 580-* \ - | a29k-* \ - | aarch64-* | aarch64_be-* \ - | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ - | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ - | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ - | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ - | avr-* | avr32-* \ - | be32-* | be64-* \ - | bfin-* | bs2000-* \ - | c[123]* | c30-* | [cjt]90-* | c4x-* \ - | c8051-* | clipper-* | craynv-* | cydra-* \ - | d10v-* | d30v-* | dlx-* \ - | elxsi-* \ - | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ - | h8300-* | h8500-* \ - | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ - | hexagon-* \ - | i*86-* | i860-* | i960-* | ia64-* \ - | ip2k-* | iq2000-* \ - | k1om-* \ - | le32-* | le64-* \ - | lm32-* \ - | m32c-* | m32r-* | m32rle-* \ - | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ - | microblaze-* | microblazeel-* \ - | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ - | mips16-* \ - | mips64-* | mips64el-* \ - | mips64octeon-* | mips64octeonel-* \ - | mips64orion-* | mips64orionel-* \ - | mips64r5900-* | mips64r5900el-* \ - | mips64vr-* | mips64vrel-* \ - | mips64vr4100-* | mips64vr4100el-* \ - | mips64vr4300-* | mips64vr4300el-* \ - | mips64vr5000-* | mips64vr5000el-* \ - | mips64vr5900-* | mips64vr5900el-* \ - | mipsisa32-* | mipsisa32el-* \ - | mipsisa32r2-* | mipsisa32r2el-* \ - | mipsisa64-* | mipsisa64el-* \ - | mipsisa64r2-* | mipsisa64r2el-* \ - | mipsisa64sb1-* | mipsisa64sb1el-* \ - | mipsisa64sr71k-* | mipsisa64sr71kel-* \ - | mipsr5900-* | mipsr5900el-* \ - | mipstx39-* | mipstx39el-* \ - | mmix-* \ - | mt-* \ - | msp430-* \ - | nds32-* | nds32le-* | nds32be-* \ - | nios-* | nios2-* | nios2eb-* | nios2el-* \ - | none-* | np1-* | ns16k-* | ns32k-* \ - | open8-* \ - | or1k*-* \ - | orion-* \ - | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ - | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ - | pyramid-* \ - | rl78-* | romp-* | rs6000-* | rx-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ - | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ - | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ - | sparclite-* \ - | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ - | tahoe-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ - | tile*-* \ - | tron-* \ - | ubicom32-* \ - | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ - | vax-* \ - | we32k-* \ - | x86-* | x86_64-* | xc16x-* | xps100-* \ - | xstormy16-* | xtensa*-* \ - | ymp-* \ - | z8k-* | z80-*) - ;; - # Recognize the basic CPU types without company name, with glob match. - xtensa*) - basic_machine=$basic_machine-unknown - ;; - # Recognize the various machine names and aliases which stand - # for a CPU type and a company and sometimes even an OS. - 386bsd) - basic_machine=i386-unknown - os=-bsd - ;; - 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) - basic_machine=m68000-att - ;; - 3b*) - basic_machine=we32k-att - ;; - a29khif) - basic_machine=a29k-amd - os=-udi - ;; - abacus) - basic_machine=abacus-unknown - ;; - adobe68k) - basic_machine=m68010-adobe - os=-scout - ;; - alliant | fx80) - basic_machine=fx80-alliant - ;; - altos | altos3068) - basic_machine=m68k-altos - ;; - am29k) - basic_machine=a29k-none - os=-bsd - ;; - amd64) - basic_machine=x86_64-pc - ;; - amd64-*) - basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - amdahl) - basic_machine=580-amdahl - os=-sysv - ;; - amiga | amiga-*) - basic_machine=m68k-unknown - ;; - amigaos | amigados) - basic_machine=m68k-unknown - os=-amigaos - ;; - amigaunix | amix) - basic_machine=m68k-unknown - os=-sysv4 - ;; - apollo68) - basic_machine=m68k-apollo - os=-sysv - ;; - apollo68bsd) - basic_machine=m68k-apollo - os=-bsd - ;; - aros) - basic_machine=i386-pc - os=-aros - ;; - aux) - basic_machine=m68k-apple - os=-aux - ;; - balance) - basic_machine=ns32k-sequent - os=-dynix - ;; - blackfin) - basic_machine=bfin-unknown - os=-linux - ;; - blackfin-*) - basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - bluegene*) - basic_machine=powerpc-ibm - os=-cnk - ;; - c54x-*) - basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c55x-*) - basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c6x-*) - basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - c90) - basic_machine=c90-cray - os=-unicos - ;; - cegcc) - basic_machine=arm-unknown - os=-cegcc - ;; - convex-c1) - basic_machine=c1-convex - os=-bsd - ;; - convex-c2) - basic_machine=c2-convex - os=-bsd - ;; - convex-c32) - basic_machine=c32-convex - os=-bsd - ;; - convex-c34) - basic_machine=c34-convex - os=-bsd - ;; - convex-c38) - basic_machine=c38-convex - os=-bsd - ;; - cray | j90) - basic_machine=j90-cray - os=-unicos - ;; - craynv) - basic_machine=craynv-cray - os=-unicosmp - ;; - cr16 | cr16-*) - basic_machine=cr16-unknown - os=-elf - ;; - crds | unos) - basic_machine=m68k-crds - ;; - crisv32 | crisv32-* | etraxfs*) - basic_machine=crisv32-axis - ;; - cris | cris-* | etrax*) - basic_machine=cris-axis - ;; - crx) - basic_machine=crx-unknown - os=-elf - ;; - da30 | da30-*) - basic_machine=m68k-da30 - ;; - decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) - basic_machine=mips-dec - ;; - decsystem10* | dec10*) - basic_machine=pdp10-dec - os=-tops10 - ;; - decsystem20* | dec20*) - basic_machine=pdp10-dec - os=-tops20 - ;; - delta | 3300 | motorola-3300 | motorola-delta \ - | 3300-motorola | delta-motorola) - basic_machine=m68k-motorola - ;; - delta88) - basic_machine=m88k-motorola - os=-sysv3 - ;; - dicos) - basic_machine=i686-pc - os=-dicos - ;; - djgpp) - basic_machine=i586-pc - os=-msdosdjgpp - ;; - dpx20 | dpx20-*) - basic_machine=rs6000-bull - os=-bosx - ;; - dpx2* | dpx2*-bull) - basic_machine=m68k-bull - os=-sysv3 - ;; - ebmon29k) - basic_machine=a29k-amd - os=-ebmon - ;; - elxsi) - basic_machine=elxsi-elxsi - os=-bsd - ;; - encore | umax | mmax) - basic_machine=ns32k-encore - ;; - es1800 | OSE68k | ose68k | ose | OSE) - basic_machine=m68k-ericsson - os=-ose - ;; - fx2800) - basic_machine=i860-alliant - ;; - genix) - basic_machine=ns32k-ns - ;; - gmicro) - basic_machine=tron-gmicro - os=-sysv - ;; - go32) - basic_machine=i386-pc - os=-go32 - ;; - h3050r* | hiux*) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - h8300hms) - basic_machine=h8300-hitachi - os=-hms - ;; - h8300xray) - basic_machine=h8300-hitachi - os=-xray - ;; - h8500hms) - basic_machine=h8500-hitachi - os=-hms - ;; - harris) - basic_machine=m88k-harris - os=-sysv3 - ;; - hp300-*) - basic_machine=m68k-hp - ;; - hp300bsd) - basic_machine=m68k-hp - os=-bsd - ;; - hp300hpux) - basic_machine=m68k-hp - os=-hpux - ;; - hp3k9[0-9][0-9] | hp9[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k2[0-9][0-9] | hp9k31[0-9]) - basic_machine=m68000-hp - ;; - hp9k3[2-9][0-9]) - basic_machine=m68k-hp - ;; - hp9k6[0-9][0-9] | hp6[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hp9k7[0-79][0-9] | hp7[0-79][0-9]) - basic_machine=hppa1.1-hp - ;; - hp9k78[0-9] | hp78[0-9]) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) - # FIXME: really hppa2.0-hp - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][13679] | hp8[0-9][13679]) - basic_machine=hppa1.1-hp - ;; - hp9k8[0-9][0-9] | hp8[0-9][0-9]) - basic_machine=hppa1.0-hp - ;; - hppa-next) - os=-nextstep3 - ;; - hppaosf) - basic_machine=hppa1.1-hp - os=-osf - ;; - hppro) - basic_machine=hppa1.1-hp - os=-proelf - ;; - i370-ibm* | ibm*) - basic_machine=i370-ibm - ;; - i*86v32) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv32 - ;; - i*86v4*) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv4 - ;; - i*86v) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-sysv - ;; - i*86sol2) - basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` - os=-solaris2 - ;; - i386mach) - basic_machine=i386-mach - os=-mach - ;; - i386-vsta | vsta) - basic_machine=i386-unknown - os=-vsta - ;; - iris | iris4d) - basic_machine=mips-sgi - case $os in - -irix*) - ;; - *) - os=-irix4 - ;; - esac - ;; - isi68 | isi) - basic_machine=m68k-isi - os=-sysv - ;; - m68knommu) - basic_machine=m68k-unknown - os=-linux - ;; - m68knommu-*) - basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - m88k-omron*) - basic_machine=m88k-omron - ;; - magnum | m3230) - basic_machine=mips-mips - os=-sysv - ;; - merlin) - basic_machine=ns32k-utek - os=-sysv - ;; - microblaze*) - basic_machine=microblaze-xilinx - ;; - mingw64) - basic_machine=x86_64-pc - os=-mingw64 - ;; - mingw32) - basic_machine=i686-pc - os=-mingw32 - ;; - mingw32ce) - basic_machine=arm-unknown - os=-mingw32ce - ;; - miniframe) - basic_machine=m68000-convergent - ;; - *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) - basic_machine=m68k-atari - os=-mint - ;; - mips3*-*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` - ;; - mips3*) - basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown - ;; - monitor) - basic_machine=m68k-rom68k - os=-coff - ;; - morphos) - basic_machine=powerpc-unknown - os=-morphos - ;; - msdos) - basic_machine=i386-pc - os=-msdos - ;; - ms1-*) - basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` - ;; - msys) - basic_machine=i686-pc - os=-msys - ;; - mvs) - basic_machine=i370-ibm - os=-mvs - ;; - nacl) - basic_machine=le32-unknown - os=-nacl - ;; - ncr3000) - basic_machine=i486-ncr - os=-sysv4 - ;; - netbsd386) - basic_machine=i386-unknown - os=-netbsd - ;; - netwinder) - basic_machine=armv4l-rebel - os=-linux - ;; - news | news700 | news800 | news900) - basic_machine=m68k-sony - os=-newsos - ;; - news1000) - basic_machine=m68030-sony - os=-newsos - ;; - news-3600 | risc-news) - basic_machine=mips-sony - os=-newsos - ;; - necv70) - basic_machine=v70-nec - os=-sysv - ;; - next | m*-next ) - basic_machine=m68k-next - case $os in - -nextstep* ) - ;; - -ns2*) - os=-nextstep2 - ;; - *) - os=-nextstep3 - ;; - esac - ;; - nh3000) - basic_machine=m68k-harris - os=-cxux - ;; - nh[45]000) - basic_machine=m88k-harris - os=-cxux - ;; - nindy960) - basic_machine=i960-intel - os=-nindy - ;; - mon960) - basic_machine=i960-intel - os=-mon960 - ;; - nonstopux) - basic_machine=mips-compaq - os=-nonstopux - ;; - np1) - basic_machine=np1-gould - ;; - neo-tandem) - basic_machine=neo-tandem - ;; - nse-tandem) - basic_machine=nse-tandem - ;; - nsr-tandem) - basic_machine=nsr-tandem - ;; - op50n-* | op60c-*) - basic_machine=hppa1.1-oki - os=-proelf - ;; - openrisc | openrisc-*) - basic_machine=or32-unknown - ;; - os400) - basic_machine=powerpc-ibm - os=-os400 - ;; - OSE68000 | ose68000) - basic_machine=m68000-ericsson - os=-ose - ;; - os68k) - basic_machine=m68k-none - os=-os68k - ;; - pa-hitachi) - basic_machine=hppa1.1-hitachi - os=-hiuxwe2 - ;; - paragon) - basic_machine=i860-intel - os=-osf - ;; - parisc) - basic_machine=hppa-unknown - os=-linux - ;; - parisc-*) - basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` - os=-linux - ;; - pbd) - basic_machine=sparc-tti - ;; - pbb) - basic_machine=m68k-tti - ;; - pc532 | pc532-*) - basic_machine=ns32k-pc532 - ;; - pc98) - basic_machine=i386-pc - ;; - pc98-*) - basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium | p5 | k5 | k6 | nexgen | viac3) - basic_machine=i586-pc - ;; - pentiumpro | p6 | 6x86 | athlon | athlon_*) - basic_machine=i686-pc - ;; - pentiumii | pentium2 | pentiumiii | pentium3) - basic_machine=i686-pc - ;; - pentium4) - basic_machine=i786-pc - ;; - pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) - basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumpro-* | p6-* | 6x86-* | athlon-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) - basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pentium4-*) - basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - pn) - basic_machine=pn-gould - ;; - power) basic_machine=power-ibm - ;; - ppc | ppcbe) basic_machine=powerpc-unknown - ;; - ppc-* | ppcbe-*) - basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppcle | powerpclittle | ppc-le | powerpc-little) - basic_machine=powerpcle-unknown - ;; - ppcle-* | powerpclittle-*) - basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64) basic_machine=powerpc64-unknown - ;; - ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ppc64le | powerpc64little | ppc64-le | powerpc64-little) - basic_machine=powerpc64le-unknown - ;; - ppc64le-* | powerpc64little-*) - basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - ps2) - basic_machine=i386-ibm - ;; - pw32) - basic_machine=i586-unknown - os=-pw32 - ;; - rdos | rdos64) - basic_machine=x86_64-pc - os=-rdos - ;; - rdos32) - basic_machine=i386-pc - os=-rdos - ;; - rom68k) - basic_machine=m68k-rom68k - os=-coff - ;; - rm[46]00) - basic_machine=mips-siemens - ;; - rtpc | rtpc-*) - basic_machine=romp-ibm - ;; - s390 | s390-*) - basic_machine=s390-ibm - ;; - s390x | s390x-*) - basic_machine=s390x-ibm - ;; - sa29200) - basic_machine=a29k-amd - os=-udi - ;; - sb1) - basic_machine=mipsisa64sb1-unknown - ;; - sb1el) - basic_machine=mipsisa64sb1el-unknown - ;; - sde) - basic_machine=mipsisa32-sde - os=-elf - ;; - sei) - basic_machine=mips-sei - os=-seiux - ;; - sequent) - basic_machine=i386-sequent - ;; - sh) - basic_machine=sh-hitachi - os=-hms - ;; - sh5el) - basic_machine=sh5le-unknown - ;; - sh64) - basic_machine=sh64-unknown - ;; - sparclite-wrs | simso-wrs) - basic_machine=sparclite-wrs - os=-vxworks - ;; - sps7) - basic_machine=m68k-bull - os=-sysv2 - ;; - spur) - basic_machine=spur-unknown - ;; - st2000) - basic_machine=m68k-tandem - ;; - stratus) - basic_machine=i860-stratus - os=-sysv4 - ;; - strongarm-* | thumb-*) - basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` - ;; - sun2) - basic_machine=m68000-sun - ;; - sun2os3) - basic_machine=m68000-sun - os=-sunos3 - ;; - sun2os4) - basic_machine=m68000-sun - os=-sunos4 - ;; - sun3os3) - basic_machine=m68k-sun - os=-sunos3 - ;; - sun3os4) - basic_machine=m68k-sun - os=-sunos4 - ;; - sun4os3) - basic_machine=sparc-sun - os=-sunos3 - ;; - sun4os4) - basic_machine=sparc-sun - os=-sunos4 - ;; - sun4sol2) - basic_machine=sparc-sun - os=-solaris2 - ;; - sun3 | sun3-*) - basic_machine=m68k-sun - ;; - sun4) - basic_machine=sparc-sun - ;; - sun386 | sun386i | roadrunner) - basic_machine=i386-sun - ;; - sv1) - basic_machine=sv1-cray - os=-unicos - ;; - symmetry) - basic_machine=i386-sequent - os=-dynix - ;; - t3e) - basic_machine=alphaev5-cray - os=-unicos - ;; - t90) - basic_machine=t90-cray - os=-unicos - ;; - tile*) - basic_machine=$basic_machine-unknown - os=-linux-gnu - ;; - tx39) - basic_machine=mipstx39-unknown - ;; - tx39el) - basic_machine=mipstx39el-unknown - ;; - toad1) - basic_machine=pdp10-xkl - os=-tops20 - ;; - tower | tower-32) - basic_machine=m68k-ncr - ;; - tpf) - basic_machine=s390x-ibm - os=-tpf - ;; - udi29k) - basic_machine=a29k-amd - os=-udi - ;; - ultra3) - basic_machine=a29k-nyu - os=-sym1 - ;; - v810 | necv810) - basic_machine=v810-nec - os=-none - ;; - vaxv) - basic_machine=vax-dec - os=-sysv - ;; - vms) - basic_machine=vax-dec - os=-vms - ;; - vpp*|vx|vx-*) - basic_machine=f301-fujitsu - ;; - vxworks960) - basic_machine=i960-wrs - os=-vxworks - ;; - vxworks68) - basic_machine=m68k-wrs - os=-vxworks - ;; - vxworks29k) - basic_machine=a29k-wrs - os=-vxworks - ;; - w65*) - basic_machine=w65-wdc - os=-none - ;; - w89k-*) - basic_machine=hppa1.1-winbond - os=-proelf - ;; - xbox) - basic_machine=i686-pc - os=-mingw32 - ;; - xps | xps100) - basic_machine=xps100-honeywell - ;; - xscale-* | xscalee[bl]-*) - basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` - ;; - ymp) - basic_machine=ymp-cray - os=-unicos - ;; - z8k-*-coff) - basic_machine=z8k-unknown - os=-sim - ;; - z80-*-coff) - basic_machine=z80-unknown - os=-sim - ;; - none) - basic_machine=none-none - os=-none - ;; - -# Here we handle the default manufacturer of certain CPU types. It is in -# some cases the only manufacturer, in others, it is the most popular. - w89k) - basic_machine=hppa1.1-winbond - ;; - op50n) - basic_machine=hppa1.1-oki - ;; - op60c) - basic_machine=hppa1.1-oki - ;; - romp) - basic_machine=romp-ibm - ;; - mmix) - basic_machine=mmix-knuth - ;; - rs6000) - basic_machine=rs6000-ibm - ;; - vax) - basic_machine=vax-dec - ;; - pdp10) - # there are many clones, so DEC is not a safe bet - basic_machine=pdp10-unknown - ;; - pdp11) - basic_machine=pdp11-dec - ;; - we32k) - basic_machine=we32k-att - ;; - sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) - basic_machine=sh-unknown - ;; - sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) - basic_machine=sparc-sun - ;; - cydra) - basic_machine=cydra-cydrome - ;; - orion) - basic_machine=orion-highlevel - ;; - orion105) - basic_machine=clipper-highlevel - ;; - mac | mpw | mac-mpw) - basic_machine=m68k-apple - ;; - pmac | pmac-mpw) - basic_machine=powerpc-apple - ;; - *-unknown) - # Make sure to match an already-canonicalized machine name. - ;; - *) - echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 - exit 1 - ;; -esac - -# Here we canonicalize certain aliases for manufacturers. -case $basic_machine in - *-digital*) - basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` - ;; - *-commodore*) - basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` - ;; - *) - ;; -esac - -# Decode manufacturer-specific aliases for certain operating systems. - -if [ x"$os" != x"" ] -then -case $os in - # First match some system type aliases - # that might get confused with valid system types. - # -solaris* is a basic system type, with this one exception. - -auroraux) - os=-auroraux - ;; - -solaris1 | -solaris1.*) - os=`echo $os | sed -e 's|solaris1|sunos4|'` - ;; - -solaris) - os=-solaris2 - ;; - -svr4*) - os=-sysv4 - ;; - -unixware*) - os=-sysv4.2uw - ;; - -gnu/linux*) - os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` - ;; - # First accept the basic system types. - # The portable systems comes first. - # Each alternative MUST END IN A *, to match a version number. - # -sysv* is not here because it comes later, after sysvr4. - -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ - | -sym* | -kopensolaris* | -plan9* \ - | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* | -aros* \ - | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ - | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ - | -bitrig* | -openbsd* | -solidbsd* \ - | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ - | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ - | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ - | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* | -cegcc* \ - | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ - | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ - | -linux-newlib* | -linux-musl* | -linux-uclibc* \ - | -uxpv* | -beos* | -mpeix* | -udk* \ - | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ - | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ - | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ - | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ - | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ - | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* | -tirtos*) - # Remember, each alternative MUST END IN *, to match a version number. - ;; - -qnx*) - case $basic_machine in - x86-* | i*86-*) - ;; - *) - os=-nto$os - ;; - esac - ;; - -nto-qnx*) - ;; - -nto*) - os=`echo $os | sed -e 's|nto|nto-qnx|'` - ;; - -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ - | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ - | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) - ;; - -mac*) - os=`echo $os | sed -e 's|mac|macos|'` - ;; - -linux-dietlibc) - os=-linux-dietlibc - ;; - -linux*) - os=`echo $os | sed -e 's|linux|linux-gnu|'` - ;; - -sunos5*) - os=`echo $os | sed -e 's|sunos5|solaris2|'` - ;; - -sunos6*) - os=`echo $os | sed -e 's|sunos6|solaris3|'` - ;; - -opened*) - os=-openedition - ;; - -os400*) - os=-os400 - ;; - -wince*) - os=-wince - ;; - -osfrose*) - os=-osfrose - ;; - -osf*) - os=-osf - ;; - -utek*) - os=-bsd - ;; - -dynix*) - os=-bsd - ;; - -acis*) - os=-aos - ;; - -atheos*) - os=-atheos - ;; - -syllable*) - os=-syllable - ;; - -386bsd) - os=-bsd - ;; - -ctix* | -uts*) - os=-sysv - ;; - -nova*) - os=-rtmk-nova - ;; - -ns2 ) - os=-nextstep2 - ;; - -nsk*) - os=-nsk - ;; - # Preserve the version number of sinix5. - -sinix5.*) - os=`echo $os | sed -e 's|sinix|sysv|'` - ;; - -sinix*) - os=-sysv4 - ;; - -tpf*) - os=-tpf - ;; - -triton*) - os=-sysv3 - ;; - -oss*) - os=-sysv3 - ;; - -svr4) - os=-sysv4 - ;; - -svr3) - os=-sysv3 - ;; - -sysvr4) - os=-sysv4 - ;; - # This must come after -sysvr4. - -sysv*) - ;; - -ose*) - os=-ose - ;; - -es1800*) - os=-ose - ;; - -xenix) - os=-xenix - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - os=-mint - ;; - -aros*) - os=-aros - ;; - -zvmoe) - os=-zvmoe - ;; - -dicos*) - os=-dicos - ;; - -nacl*) - ;; - -none) - ;; - *) - # Get rid of the `-' at the beginning of $os. - os=`echo $os | sed 's/[^-]*-//'` - echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 - exit 1 - ;; -esac -else - -# Here we handle the default operating systems that come with various machines. -# The value should be what the vendor currently ships out the door with their -# machine or put another way, the most popular os provided with the machine. - -# Note that if you're going to try to match "-MANUFACTURER" here (say, -# "-sun"), then you have to tell the case statement up towards the top -# that MANUFACTURER isn't an operating system. Otherwise, code above -# will signal an error saying that MANUFACTURER isn't an operating -# system, and we'll never get to this point. - -case $basic_machine in - score-*) - os=-elf - ;; - spu-*) - os=-elf - ;; - *-acorn) - os=-riscix1.2 - ;; - arm*-rebel) - os=-linux - ;; - arm*-semi) - os=-aout - ;; - c4x-* | tic4x-*) - os=-coff - ;; - c8051-*) - os=-elf - ;; - hexagon-*) - os=-elf - ;; - tic54x-*) - os=-coff - ;; - tic55x-*) - os=-coff - ;; - tic6x-*) - os=-coff - ;; - # This must come before the *-dec entry. - pdp10-*) - os=-tops20 - ;; - pdp11-*) - os=-none - ;; - *-dec | vax-*) - os=-ultrix4.2 - ;; - m68*-apollo) - os=-domain - ;; - i386-sun) - os=-sunos4.0.2 - ;; - m68000-sun) - os=-sunos3 - ;; - m68*-cisco) - os=-aout - ;; - mep-*) - os=-elf - ;; - mips*-cisco) - os=-elf - ;; - mips*-*) - os=-elf - ;; - or32-*) - os=-coff - ;; - *-tti) # must be before sparc entry or we get the wrong os. - os=-sysv3 - ;; - sparc-* | *-sun) - os=-sunos4.1.1 - ;; - *-be) - os=-beos - ;; - *-haiku) - os=-haiku - ;; - *-ibm) - os=-aix - ;; - *-knuth) - os=-mmixware - ;; - *-wec) - os=-proelf - ;; - *-winbond) - os=-proelf - ;; - *-oki) - os=-proelf - ;; - *-hp) - os=-hpux - ;; - *-hitachi) - os=-hiux - ;; - i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) - os=-sysv - ;; - *-cbm) - os=-amigaos - ;; - *-dg) - os=-dgux - ;; - *-dolphin) - os=-sysv3 - ;; - m68k-ccur) - os=-rtu - ;; - m88k-omron*) - os=-luna - ;; - *-next ) - os=-nextstep - ;; - *-sequent) - os=-ptx - ;; - *-crds) - os=-unos - ;; - *-ns) - os=-genix - ;; - i370-*) - os=-mvs - ;; - *-next) - os=-nextstep3 - ;; - *-gould) - os=-sysv - ;; - *-highlevel) - os=-bsd - ;; - *-encore) - os=-bsd - ;; - *-sgi) - os=-irix - ;; - *-siemens) - os=-sysv4 - ;; - *-masscomp) - os=-rtu - ;; - f30[01]-fujitsu | f700-fujitsu) - os=-uxpv - ;; - *-rom68k) - os=-coff - ;; - *-*bug) - os=-coff - ;; - *-apple) - os=-macos - ;; - *-atari*) - os=-mint - ;; - *) - os=-none - ;; -esac -fi - -# Here we handle the case where we know the os, and the CPU type, but not the -# manufacturer. We pick the logical manufacturer. -vendor=unknown -case $basic_machine in - *-unknown) - case $os in - -riscix*) - vendor=acorn - ;; - -sunos*) - vendor=sun - ;; - -cnk*|-aix*) - vendor=ibm - ;; - -beos*) - vendor=be - ;; - -hpux*) - vendor=hp - ;; - -mpeix*) - vendor=hp - ;; - -hiux*) - vendor=hitachi - ;; - -unos*) - vendor=crds - ;; - -dgux*) - vendor=dg - ;; - -luna*) - vendor=omron - ;; - -genix*) - vendor=ns - ;; - -mvs* | -opened*) - vendor=ibm - ;; - -os400*) - vendor=ibm - ;; - -ptx*) - vendor=sequent - ;; - -tpf*) - vendor=ibm - ;; - -vxsim* | -vxworks* | -windiss*) - vendor=wrs - ;; - -aux*) - vendor=apple - ;; - -hms*) - vendor=hitachi - ;; - -mpw* | -macos*) - vendor=apple - ;; - -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) - vendor=atari - ;; - -vos*) - vendor=stratus - ;; - esac - basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` - ;; -esac - -echo $basic_machine$os -exit - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "timestamp='" -# time-stamp-format: "%:y-%02m-%02d" -# time-stamp-end: "'" -# End: diff --git a/Build/source/extra/xz/build-aux/depcomp b/Build/source/extra/xz/build-aux/depcomp deleted file mode 100755 index 31788017b8f..00000000000 --- a/Build/source/extra/xz/build-aux/depcomp +++ /dev/null @@ -1,756 +0,0 @@ -#! /bin/sh -# depcomp - compile a program generating dependencies as side-effects - -scriptversion=2013-05-30.07; # UTC - -# Copyright (C) 1999-2013 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -# Originally written by Alexandre Oliva . - -case $1 in - '') - echo "$0: No command. Try '$0 --help' for more information." 1>&2 - exit 1; - ;; - -h | --h*) - cat <<\EOF -Usage: depcomp [--help] [--version] PROGRAM [ARGS] - -Run PROGRAMS ARGS to compile a file, generating dependencies -as side-effects. - -Environment variables: - depmode Dependency tracking mode. - source Source file read by 'PROGRAMS ARGS'. - object Object file output by 'PROGRAMS ARGS'. - DEPDIR directory where to store dependencies. - depfile Dependency file to output. - tmpdepfile Temporary file to use when outputting dependencies. - libtool Whether libtool is used (yes/no). - -Report bugs to . -EOF - exit $? - ;; - -v | --v*) - echo "depcomp $scriptversion" - exit $? - ;; -esac - -# Get the directory component of the given path, and save it in the -# global variables '$dir'. Note that this directory component will -# be either empty or ending with a '/' character. This is deliberate. -set_dir_from () -{ - case $1 in - */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; - *) dir=;; - esac -} - -# Get the suffix-stripped basename of the given path, and save it the -# global variable '$base'. -set_base_from () -{ - base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` -} - -# If no dependency file was actually created by the compiler invocation, -# we still have to create a dummy depfile, to avoid errors with the -# Makefile "include basename.Plo" scheme. -make_dummy_depfile () -{ - echo "#dummy" > "$depfile" -} - -# Factor out some common post-processing of the generated depfile. -# Requires the auxiliary global variable '$tmpdepfile' to be set. -aix_post_process_depfile () -{ - # If the compiler actually managed to produce a dependency file, - # post-process it. - if test -f "$tmpdepfile"; then - # Each line is of the form 'foo.o: dependency.h'. - # Do two passes, one to just change these to - # $object: dependency.h - # and one to simply output - # dependency.h: - # which is needed to avoid the deleted-header problem. - { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" - sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" - } > "$depfile" - rm -f "$tmpdepfile" - else - make_dummy_depfile - fi -} - -# A tabulation character. -tab=' ' -# A newline character. -nl=' -' -# Character ranges might be problematic outside the C locale. -# These definitions help. -upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ -lower=abcdefghijklmnopqrstuvwxyz -digits=0123456789 -alpha=${upper}${lower} - -if test -z "$depmode" || test -z "$source" || test -z "$object"; then - echo "depcomp: Variables source, object and depmode must be set" 1>&2 - exit 1 -fi - -# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. -depfile=${depfile-`echo "$object" | - sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} -tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} - -rm -f "$tmpdepfile" - -# Avoid interferences from the environment. -gccflag= dashmflag= - -# Some modes work just like other modes, but use different flags. We -# parameterize here, but still list the modes in the big case below, -# to make depend.m4 easier to write. Note that we *cannot* use a case -# here, because this file can only contain one case statement. -if test "$depmode" = hp; then - # HP compiler uses -M and no extra arg. - gccflag=-M - depmode=gcc -fi - -if test "$depmode" = dashXmstdout; then - # This is just like dashmstdout with a different argument. - dashmflag=-xM - depmode=dashmstdout -fi - -cygpath_u="cygpath -u -f -" -if test "$depmode" = msvcmsys; then - # This is just like msvisualcpp but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvisualcpp -fi - -if test "$depmode" = msvc7msys; then - # This is just like msvc7 but w/o cygpath translation. - # Just convert the backslash-escaped backslashes to single forward - # slashes to satisfy depend.m4 - cygpath_u='sed s,\\\\,/,g' - depmode=msvc7 -fi - -if test "$depmode" = xlc; then - # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. - gccflag=-qmakedep=gcc,-MF - depmode=gcc -fi - -case "$depmode" in -gcc3) -## gcc 3 implements dependency tracking that does exactly what -## we want. Yay! Note: for some reason libtool 1.4 doesn't like -## it if -MD -MP comes after the -MF stuff. Hmm. -## Unfortunately, FreeBSD c89 acceptance of flags depends upon -## the command line argument order; so add the flags where they -## appear in depend2.am. Note that the slowdown incurred here -## affects only configure: in makefiles, %FASTDEP% shortcuts this. - for arg - do - case $arg in - -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; - *) set fnord "$@" "$arg" ;; - esac - shift # fnord - shift # $arg - done - "$@" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - mv "$tmpdepfile" "$depfile" - ;; - -gcc) -## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. -## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. -## (see the conditional assignment to $gccflag above). -## There are various ways to get dependency output from gcc. Here's -## why we pick this rather obscure method: -## - Don't want to use -MD because we'd like the dependencies to end -## up in a subdir. Having to rename by hand is ugly. -## (We might end up doing this anyway to support other compilers.) -## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like -## -MM, not -M (despite what the docs say). Also, it might not be -## supported by the other compilers which use the 'gcc' depmode. -## - Using -M directly means running the compiler twice (even worse -## than renaming). - if test -z "$gccflag"; then - gccflag=-MD, - fi - "$@" -Wp,"$gccflag$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The second -e expression handles DOS-style file names with drive - # letters. - sed -e 's/^[^:]*: / /' \ - -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" -## This next piece of magic avoids the "deleted header file" problem. -## The problem is that when a header file which appears in a .P file -## is deleted, the dependency causes make to die (because there is -## typically no way to rebuild the header). We avoid this by adding -## dummy dependencies for each header file. Too bad gcc doesn't do -## this for us directly. -## Some versions of gcc put a space before the ':'. On the theory -## that the space means something, we add a space to the output as -## well. hp depmode also adds that space, but also prefixes the VPATH -## to the object. Take care to not repeat it in the output. -## Some versions of the HPUX 10.20 sed can't process this invocation -## correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -xlc) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -aix) - # The C for AIX Compiler uses -M and outputs the dependencies - # in a .u file. In older versions, this file always lives in the - # current directory. Also, the AIX compiler puts '$object:' at the - # start of each line; $object doesn't have directory information. - # Version 6 uses the directory in both cases. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.u - tmpdepfile2=$base.u - tmpdepfile3=$dir.libs/$base.u - "$@" -Wc,-M - else - tmpdepfile1=$dir$base.u - tmpdepfile2=$dir$base.u - tmpdepfile3=$dir$base.u - "$@" -M - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - aix_post_process_depfile - ;; - -tcc) - # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 - # FIXME: That version still under development at the moment of writing. - # Make that this statement remains true also for stable, released - # versions. - # It will wrap lines (doesn't matter whether long or short) with a - # trailing '\', as in: - # - # foo.o : \ - # foo.c \ - # foo.h \ - # - # It will put a trailing '\' even on the last line, and will use leading - # spaces rather than leading tabs (at least since its commit 0394caf7 - # "Emit spaces for -MD"). - "$@" -MD -MF "$tmpdepfile" - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. - # We have to change lines of the first kind to '$object: \'. - sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" - # And for each line of the second kind, we have to emit a 'dep.h:' - # dummy dependency, to avoid the deleted-header problem. - sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" - rm -f "$tmpdepfile" - ;; - -## The order of this option in the case statement is important, since the -## shell code in configure will try each of these formats in the order -## listed in this file. A plain '-MD' option would be understood by many -## compilers, so we must ensure this comes after the gcc and icc options. -pgcc) - # Portland's C compiler understands '-MD'. - # Will always output deps to 'file.d' where file is the root name of the - # source file under compilation, even if file resides in a subdirectory. - # The object file name does not affect the name of the '.d' file. - # pgcc 10.2 will output - # foo.o: sub/foo.c sub/foo.h - # and will wrap long lines using '\' : - # foo.o: sub/foo.c ... \ - # sub/foo.h ... \ - # ... - set_dir_from "$object" - # Use the source, not the object, to determine the base name, since - # that's sadly what pgcc will do too. - set_base_from "$source" - tmpdepfile=$base.d - - # For projects that build the same source file twice into different object - # files, the pgcc approach of using the *source* file root name can cause - # problems in parallel builds. Use a locking strategy to avoid stomping on - # the same $tmpdepfile. - lockdir=$base.d-lock - trap " - echo '$0: caught signal, cleaning up...' >&2 - rmdir '$lockdir' - exit 1 - " 1 2 13 15 - numtries=100 - i=$numtries - while test $i -gt 0; do - # mkdir is a portable test-and-set. - if mkdir "$lockdir" 2>/dev/null; then - # This process acquired the lock. - "$@" -MD - stat=$? - # Release the lock. - rmdir "$lockdir" - break - else - # If the lock is being held by a different process, wait - # until the winning process is done or we timeout. - while test -d "$lockdir" && test $i -gt 0; do - sleep 1 - i=`expr $i - 1` - done - fi - i=`expr $i - 1` - done - trap - 1 2 13 15 - if test $i -le 0; then - echo "$0: failed to acquire lock after $numtries attempts" >&2 - echo "$0: check lockdir '$lockdir'" >&2 - exit 1 - fi - - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - # Each line is of the form `foo.o: dependent.h', - # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. - # Do two passes, one to just change these to - # `$object: dependent.h' and one to simply `dependent.h:'. - sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -hp2) - # The "hp" stanza above does not work with aCC (C++) and HP's ia64 - # compilers, which have integrated preprocessors. The correct option - # to use with these is +Maked; it writes dependencies to a file named - # 'foo.d', which lands next to the object file, wherever that - # happens to be. - # Much of this is similar to the tru64 case; see comments there. - set_dir_from "$object" - set_base_from "$object" - if test "$libtool" = yes; then - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir.libs/$base.d - "$@" -Wc,+Maked - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - "$@" +Maked - fi - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" - do - test -f "$tmpdepfile" && break - done - if test -f "$tmpdepfile"; then - sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" - # Add 'dependent.h:' lines. - sed -ne '2,${ - s/^ *// - s/ \\*$// - s/$/:/ - p - }' "$tmpdepfile" >> "$depfile" - else - make_dummy_depfile - fi - rm -f "$tmpdepfile" "$tmpdepfile2" - ;; - -tru64) - # The Tru64 compiler uses -MD to generate dependencies as a side - # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. - # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put - # dependencies in 'foo.d' instead, so we check for that too. - # Subdirectories are respected. - set_dir_from "$object" - set_base_from "$object" - - if test "$libtool" = yes; then - # Libtool generates 2 separate objects for the 2 libraries. These - # two compilations output dependencies in $dir.libs/$base.o.d and - # in $dir$base.o.d. We have to check for both files, because - # one of the two compilations can be disabled. We should prefer - # $dir$base.o.d over $dir.libs/$base.o.d because the latter is - # automatically cleaned when .libs/ is deleted, while ignoring - # the former would cause a distcleancheck panic. - tmpdepfile1=$dir$base.o.d # libtool 1.5 - tmpdepfile2=$dir.libs/$base.o.d # Likewise. - tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 - "$@" -Wc,-MD - else - tmpdepfile1=$dir$base.d - tmpdepfile2=$dir$base.d - tmpdepfile3=$dir$base.d - "$@" -MD - fi - - stat=$? - if test $stat -ne 0; then - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - exit $stat - fi - - for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" - do - test -f "$tmpdepfile" && break - done - # Same post-processing that is required for AIX mode. - aix_post_process_depfile - ;; - -msvc7) - if test "$libtool" = yes; then - showIncludes=-Wc,-showIncludes - else - showIncludes=-showIncludes - fi - "$@" $showIncludes > "$tmpdepfile" - stat=$? - grep -v '^Note: including file: ' "$tmpdepfile" - if test $stat -ne 0; then - rm -f "$tmpdepfile" - exit $stat - fi - rm -f "$depfile" - echo "$object : \\" > "$depfile" - # The first sed program below extracts the file names and escapes - # backslashes for cygpath. The second sed program outputs the file - # name when reading, but also accumulates all include files in the - # hold buffer in order to output them again at the end. This only - # works with sed implementations that can handle large buffers. - sed < "$tmpdepfile" -n ' -/^Note: including file: *\(.*\)/ { - s//\1/ - s/\\/\\\\/g - p -}' | $cygpath_u | sort -u | sed -n ' -s/ /\\ /g -s/\(.*\)/'"$tab"'\1 \\/p -s/.\(.*\) \\/\1:/ -H -$ { - s/.*/'"$tab"'/ - G - p -}' >> "$depfile" - echo >> "$depfile" # make sure the fragment doesn't end with a backslash - rm -f "$tmpdepfile" - ;; - -msvc7msys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -#nosideeffect) - # This comment above is used by automake to tell side-effect - # dependency tracking mechanisms from slower ones. - -dashmstdout) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout, regardless of -o. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - test -z "$dashmflag" && dashmflag=-M - # Require at least two characters before searching for ':' - # in the target name. This is to cope with DOS-style filenames: - # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. - "$@" $dashmflag | - sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" - rm -f "$depfile" - cat < "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process this sed invocation - # correctly. Breaking it into two sed invocations is a workaround. - tr ' ' "$nl" < "$tmpdepfile" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -dashXmstdout) - # This case only exists to satisfy depend.m4. It is never actually - # run, as this mode is specially recognized in the preamble. - exit 1 - ;; - -makedepend) - "$@" || exit $? - # Remove any Libtool call - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - # X makedepend - shift - cleared=no eat=no - for arg - do - case $cleared in - no) - set ""; shift - cleared=yes ;; - esac - if test $eat = yes; then - eat=no - continue - fi - case "$arg" in - -D*|-I*) - set fnord "$@" "$arg"; shift ;; - # Strip any option that makedepend may not understand. Remove - # the object too, otherwise makedepend will parse it as a source file. - -arch) - eat=yes ;; - -*|$object) - ;; - *) - set fnord "$@" "$arg"; shift ;; - esac - done - obj_suffix=`echo "$object" | sed 's/^.*\././'` - touch "$tmpdepfile" - ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" - rm -f "$depfile" - # makedepend may prepend the VPATH from the source file name to the object. - # No need to regex-escape $object, excess matching of '.' is harmless. - sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" - # Some versions of the HPUX 10.20 sed can't process the last invocation - # correctly. Breaking it into two sed invocations is a workaround. - sed '1,2d' "$tmpdepfile" \ - | tr ' ' "$nl" \ - | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ - | sed -e 's/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" "$tmpdepfile".bak - ;; - -cpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - # Remove '-o $object'. - IFS=" " - for arg - do - case $arg in - -o) - shift - ;; - $object) - shift - ;; - *) - set fnord "$@" "$arg" - shift # fnord - shift # $arg - ;; - esac - done - - "$@" -E \ - | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ - | sed '$ s: \\$::' > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - cat < "$tmpdepfile" >> "$depfile" - sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvisualcpp) - # Important note: in order to support this mode, a compiler *must* - # always write the preprocessed file to stdout. - "$@" || exit $? - - # Remove the call to Libtool. - if test "$libtool" = yes; then - while test "X$1" != 'X--mode=compile'; do - shift - done - shift - fi - - IFS=" " - for arg - do - case "$arg" in - -o) - shift - ;; - $object) - shift - ;; - "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") - set fnord "$@" - shift - shift - ;; - *) - set fnord "$@" "$arg" - shift - shift - ;; - esac - done - "$@" -E 2>/dev/null | - sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" - rm -f "$depfile" - echo "$object : \\" > "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" - echo "$tab" >> "$depfile" - sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" - rm -f "$tmpdepfile" - ;; - -msvcmsys) - # This case exists only to let depend.m4 do its work. It works by - # looking at the text of this script. This case will never be run, - # since it is checked for above. - exit 1 - ;; - -none) - exec "$@" - ;; - -*) - echo "Unknown depmode $depmode" 1>&2 - exit 1 - ;; -esac - -exit 0 - -# Local Variables: -# mode: shell-script -# sh-indentation: 2 -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/Build/source/extra/xz/build-aux/install-sh b/Build/source/extra/xz/build-aux/install-sh deleted file mode 100755 index 04367377519..00000000000 --- a/Build/source/extra/xz/build-aux/install-sh +++ /dev/null @@ -1,480 +0,0 @@ -#!/bin/sh -# install - install a program, script, or datafile - -scriptversion=2013-10-30.23; # UTC - -# This originates from X11R5 (mit/util/scripts/install.sh), which was -# later released in X11R6 (xc/config/util/install.sh) with the -# following copyright and license. -# -# Copyright (C) 1994 X Consortium -# -# Permission is hereby granted, free of charge, to any person obtaining a copy -# of this software and associated documentation files (the "Software"), to -# deal in the Software without restriction, including without limitation the -# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or -# sell copies of the Software, and to permit persons to whom the Software is -# furnished to do so, subject to the following conditions: -# -# The above copyright notice and this permission notice shall be included in -# all copies or substantial portions of the Software. -# -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- -# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -# -# Except as contained in this notice, the name of the X Consortium shall not -# be used in advertising or otherwise to promote the sale, use or other deal- -# ings in this Software without prior written authorization from the X Consor- -# tium. -# -# -# FSF changes to this file are in the public domain. -# -# Calling this script install-sh is preferred over install.sh, to prevent -# 'make' implicit rules from creating a file called install from it -# when there is no Makefile. -# -# This script is compatible with the BSD install script, but was written -# from scratch. - -tab=' ' -nl=' -' -IFS=" $tab$nl" - -# Set DOITPROG to "echo" to test this script. - -doit=${DOITPROG-} -doit_exec=${doit:-exec} - -# Put in absolute file names if you don't have them in your path; -# or use environment vars. - -chgrpprog=${CHGRPPROG-chgrp} -chmodprog=${CHMODPROG-chmod} -chownprog=${CHOWNPROG-chown} -cmpprog=${CMPPROG-cmp} -cpprog=${CPPROG-cp} -mkdirprog=${MKDIRPROG-mkdir} -mvprog=${MVPROG-mv} -rmprog=${RMPROG-rm} -stripprog=${STRIPPROG-strip} - -posix_mkdir= - -# Desired mode of installed file. -mode=0755 - -chgrpcmd= -chmodcmd=$chmodprog -chowncmd= -mvcmd=$mvprog -rmcmd="$rmprog -f" -stripcmd= - -src= -dst= -dir_arg= -dst_arg= - -copy_on_change=false -no_target_directory= - -usage="\ -Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE - or: $0 [OPTION]... SRCFILES... DIRECTORY - or: $0 [OPTION]... -t DIRECTORY SRCFILES... - or: $0 [OPTION]... -d DIRECTORIES... - -In the 1st form, copy SRCFILE to DSTFILE. -In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. -In the 4th, create DIRECTORIES. - -Options: - --help display this help and exit. - --version display version info and exit. - - -c (ignored) - -C install only if different (preserve the last data modification time) - -d create directories instead of installing files. - -g GROUP $chgrpprog installed files to GROUP. - -m MODE $chmodprog installed files to MODE. - -o USER $chownprog installed files to USER. - -s $stripprog installed files. - -t DIRECTORY install into DIRECTORY. - -T report an error if DSTFILE is a directory. - -Environment variables override the default commands: - CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG - RMPROG STRIPPROG -" - -while test $# -ne 0; do - case $1 in - -c) ;; - - -C) copy_on_change=true;; - - -d) dir_arg=true;; - - -g) chgrpcmd="$chgrpprog $2" - shift;; - - --help) echo "$usage"; exit $?;; - - -m) mode=$2 - case $mode in - *' '* | *"$tab"* | *"$nl"* | *'*'* | *'?'* | *'['*) - echo "$0: invalid mode: $mode" >&2 - exit 1;; - esac - shift;; - - -o) chowncmd="$chownprog $2" - shift;; - - -s) stripcmd=$stripprog;; - - -t) dst_arg=$2 - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - shift;; - - -T) no_target_directory=true;; - - --version) echo "$0 $scriptversion"; exit $?;; - - --) shift - break;; - - -*) echo "$0: invalid option: $1" >&2 - exit 1;; - - *) break;; - esac - shift -done - -if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then - # When -d is used, all remaining arguments are directories to create. - # When -t is used, the destination is already specified. - # Otherwise, the last argument is the destination. Remove it from $@. - for arg - do - if test -n "$dst_arg"; then - # $@ is not empty: it contains at least $arg. - set fnord "$@" "$dst_arg" - shift # fnord - fi - shift # arg - dst_arg=$arg - # Protect names problematic for 'test' and other utilities. - case $dst_arg in - -* | [=\(\)!]) dst_arg=./$dst_arg;; - esac - done -fi - -if test $# -eq 0; then - if test -z "$dir_arg"; then - echo "$0: no input file specified." >&2 - exit 1 - fi - # It's OK to call 'install-sh -d' without argument. - # This can happen when creating conditional directories. - exit 0 -fi - -if test -z "$dir_arg"; then - do_exit='(exit $ret); exit $ret' - trap "ret=129; $do_exit" 1 - trap "ret=130; $do_exit" 2 - trap "ret=141; $do_exit" 13 - trap "ret=143; $do_exit" 15 - - # Set umask so as not to create temps with too-generous modes. - # However, 'strip' requires both read and write access to temps. - case $mode in - # Optimize common cases. - *644) cp_umask=133;; - *755) cp_umask=22;; - - *[0-7]) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw='% 200' - fi - cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; - *) - if test -z "$stripcmd"; then - u_plus_rw= - else - u_plus_rw=,u+rw - fi - cp_umask=$mode$u_plus_rw;; - esac -fi - -for src -do - # Protect names problematic for 'test' and other utilities. - case $src in - -* | [=\(\)!]) src=./$src;; - esac - - if test -n "$dir_arg"; then - dst=$src - dstdir=$dst - test -d "$dstdir" - dstdir_status=$? - else - - # Waiting for this to be detected by the "$cpprog $src $dsttmp" command - # might cause directories to be created, which would be especially bad - # if $src (and thus $dsttmp) contains '*'. - if test ! -f "$src" && test ! -d "$src"; then - echo "$0: $src does not exist." >&2 - exit 1 - fi - - if test -z "$dst_arg"; then - echo "$0: no destination specified." >&2 - exit 1 - fi - dst=$dst_arg - - # If destination is a directory, append the input filename; won't work - # if double slashes aren't ignored. - if test -d "$dst"; then - if test -n "$no_target_directory"; then - echo "$0: $dst_arg: Is a directory" >&2 - exit 1 - fi - dstdir=$dst - dst=$dstdir/`basename "$src"` - dstdir_status=0 - else - dstdir=`dirname "$dst"` - test -d "$dstdir" - dstdir_status=$? - fi - fi - - obsolete_mkdir_used=false - - if test $dstdir_status != 0; then - case $posix_mkdir in - '') - # Create intermediate dirs using mode 755 as modified by the umask. - # This is like FreeBSD 'install' as of 1997-10-28. - umask=`umask` - case $stripcmd.$umask in - # Optimize common cases. - *[2367][2367]) mkdir_umask=$umask;; - .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; - - *[0-7]) - mkdir_umask=`expr $umask + 22 \ - - $umask % 100 % 40 + $umask % 20 \ - - $umask % 10 % 4 + $umask % 2 - `;; - *) mkdir_umask=$umask,go-w;; - esac - - # With -d, create the new directory with the user-specified mode. - # Otherwise, rely on $mkdir_umask. - if test -n "$dir_arg"; then - mkdir_mode=-m$mode - else - mkdir_mode= - fi - - posix_mkdir=false - case $umask in - *[123567][0-7][0-7]) - # POSIX mkdir -p sets u+wx bits regardless of umask, which - # is incompatible with FreeBSD 'install' when (umask & 300) != 0. - ;; - *) - tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ - trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 - - if (umask $mkdir_umask && - exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 - then - if test -z "$dir_arg" || { - # Check for POSIX incompatibilities with -m. - # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or - # other-writable bit of parent directory when it shouldn't. - # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. - ls_ld_tmpdir=`ls -ld "$tmpdir"` - case $ls_ld_tmpdir in - d????-?r-*) different_mode=700;; - d????-?--*) different_mode=755;; - *) false;; - esac && - $mkdirprog -m$different_mode -p -- "$tmpdir" && { - ls_ld_tmpdir_1=`ls -ld "$tmpdir"` - test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" - } - } - then posix_mkdir=: - fi - rmdir "$tmpdir/d" "$tmpdir" - else - # Remove any dirs left behind by ancient mkdir implementations. - rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null - fi - trap '' 0;; - esac;; - esac - - if - $posix_mkdir && ( - umask $mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" - ) - then : - else - - # The umask is ridiculous, or mkdir does not conform to POSIX, - # or it failed possibly due to a race condition. Create the - # directory the slow way, step by step, checking for races as we go. - - case $dstdir in - /*) prefix='/';; - [-=\(\)!]*) prefix='./';; - *) prefix='';; - esac - - oIFS=$IFS - IFS=/ - set -f - set fnord $dstdir - shift - set +f - IFS=$oIFS - - prefixes= - - for d - do - test X"$d" = X && continue - - prefix=$prefix$d - if test -d "$prefix"; then - prefixes= - else - if $posix_mkdir; then - (umask=$mkdir_umask && - $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break - # Don't fail if two instances are running concurrently. - test -d "$prefix" || exit 1 - else - case $prefix in - *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; - *) qprefix=$prefix;; - esac - prefixes="$prefixes '$qprefix'" - fi - fi - prefix=$prefix/ - done - - if test -n "$prefixes"; then - # Don't fail if two instances are running concurrently. - (umask $mkdir_umask && - eval "\$doit_exec \$mkdirprog $prefixes") || - test -d "$dstdir" || exit 1 - obsolete_mkdir_used=true - fi - fi - fi - - if test -n "$dir_arg"; then - { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && - { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || - test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 - else - - # Make a couple of temp file names in the proper directory. - dsttmp=$dstdir/_inst.$$_ - rmtmp=$dstdir/_rm.$$_ - - # Trap to clean up those temp files at exit. - trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 - - # Copy the file name to the temp name. - (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && - - # and set any options; do chmod last to preserve setuid bits. - # - # If any of these fail, we abort the whole thing. If we want to - # ignore errors from any of these, just make sure not to ignore - # errors from the above "$doit $cpprog $src $dsttmp" command. - # - { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && - { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && - { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && - { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && - - # If -C, don't bother to copy if it wouldn't change the file. - if $copy_on_change && - old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && - new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && - set -f && - set X $old && old=:$2:$4:$5:$6 && - set X $new && new=:$2:$4:$5:$6 && - set +f && - test "$old" = "$new" && - $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 - then - rm -f "$dsttmp" - else - # Rename the file to the real destination. - $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || - - # The rename failed, perhaps because mv can't rename something else - # to itself, or perhaps because mv is so ancient that it does not - # support -f. - { - # Now remove or move aside any old file at destination location. - # We try this two ways since rm can't unlink itself on some - # systems and the destination file might be busy for other - # reasons. In this case, the final cleanup might fail but the new - # file should still install successfully. - { - test ! -f "$dst" || - $doit $rmcmd -f "$dst" 2>/dev/null || - { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && - { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } - } || - { echo "$0: cannot unlink or rename $dst" >&2 - (exit 1); exit 1 - } - } && - - # Now rename the file to the real destination. - $doit $mvcmd "$dsttmp" "$dst" - } - fi || exit 1 - - trap '' 0 - fi -done - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/Build/source/extra/xz/build-aux/ltmain.sh b/Build/source/extra/xz/build-aux/ltmain.sh deleted file mode 100755 index 63ae69dc6fe..00000000000 --- a/Build/source/extra/xz/build-aux/ltmain.sh +++ /dev/null @@ -1,9655 +0,0 @@ - -# libtool (GNU libtool) 2.4.2 -# Written by Gordon Matzigkeit , 1996 - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, -# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. -# This is free software; see the source for copying conditions. There is NO -# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -# GNU Libtool is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, -# or obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -# Usage: $progname [OPTION]... [MODE-ARG]... -# -# Provide generalized library-building support services. -# -# --config show all configuration variables -# --debug enable verbose shell tracing -# -n, --dry-run display commands without modifying any files -# --features display basic configuration information and exit -# --mode=MODE use operation mode MODE -# --preserve-dup-deps don't remove duplicate dependency libraries -# --quiet, --silent don't print informational messages -# --no-quiet, --no-silent -# print informational messages (default) -# --no-warn don't display warning messages -# --tag=TAG use configuration variables from tag TAG -# -v, --verbose print more informational messages than default -# --no-verbose don't print the extra informational messages -# --version print version information -# -h, --help, --help-all print short, long, or detailed help message -# -# MODE must be one of the following: -# -# clean remove files from the build directory -# compile compile a source file into a libtool object -# execute automatically set library path, then run a program -# finish complete the installation of libtool libraries -# install install libraries or executables -# link create a library or an executable -# uninstall remove libraries from an installed directory -# -# MODE-ARGS vary depending on the MODE. When passed as first option, -# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. -# Try `$progname --help --mode=MODE' for a more detailed description of MODE. -# -# When reporting a bug, please describe a test case to reproduce it and -# include the following information: -# -# host-triplet: $host -# shell: $SHELL -# compiler: $LTCC -# compiler flags: $LTCFLAGS -# linker: $LD (gnu? $with_gnu_ld) -# $progname: (GNU libtool) 2.4.2 -# automake: $automake_version -# autoconf: $autoconf_version -# -# Report bugs to . -# GNU libtool home page: . -# General help using GNU software: . - -PROGRAM=libtool -PACKAGE=libtool -VERSION=2.4.2 -TIMESTAMP="" -package_revision=1.3337 - -# Be Bourne compatible -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' -} - -# NLS nuisances: We save the old values to restore during execute mode. -lt_user_locale= -lt_safe_locale= -for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES -do - eval "if test \"\${$lt_var+set}\" = set; then - save_$lt_var=\$$lt_var - $lt_var=C - export $lt_var - lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" - lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" - fi" -done -LC_ALL=C -LANGUAGE=C -export LANGUAGE LC_ALL - -$lt_unset CDPATH - - -# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh -# is ksh but when the shell is invoked as "sh" and the current value of -# the _XPG environment variable is not equal to 1 (one), the special -# positional parameter $0, within a function call, is the name of the -# function. -progpath="$0" - - - -: ${CP="cp -f"} -test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} -: ${MAKE="make"} -: ${MKDIR="mkdir"} -: ${MV="mv -f"} -: ${RM="rm -f"} -: ${SHELL="${CONFIG_SHELL-/bin/sh}"} -: ${Xsed="$SED -e 1s/^X//"} - -# Global variables: -EXIT_SUCCESS=0 -EXIT_FAILURE=1 -EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. -EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. - -exit_status=$EXIT_SUCCESS - -# Make sure IFS has a sensible default -lt_nl=' -' -IFS=" $lt_nl" - -dirname="s,/[^/]*$,," -basename="s,^.*/,," - -# func_dirname file append nondir_replacement -# Compute the dirname of FILE. If nonempty, add APPEND to the result, -# otherwise set result to NONDIR_REPLACEMENT. -func_dirname () -{ - func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi -} # func_dirname may be replaced by extended shell implementation - - -# func_basename file -func_basename () -{ - func_basename_result=`$ECHO "${1}" | $SED "$basename"` -} # func_basename may be replaced by extended shell implementation - - -# func_dirname_and_basename file append nondir_replacement -# perform func_basename and func_dirname in a single function -# call: -# dirname: Compute the dirname of FILE. If nonempty, -# add APPEND to the result, otherwise set result -# to NONDIR_REPLACEMENT. -# value returned in "$func_dirname_result" -# basename: Compute filename of FILE. -# value retuned in "$func_basename_result" -# Implementation must be kept synchronized with func_dirname -# and func_basename. For efficiency, we do not delegate to -# those functions but instead duplicate the functionality here. -func_dirname_and_basename () -{ - # Extract subdirectory from the argument. - func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` - if test "X$func_dirname_result" = "X${1}"; then - func_dirname_result="${3}" - else - func_dirname_result="$func_dirname_result${2}" - fi - func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` -} # func_dirname_and_basename may be replaced by extended shell implementation - - -# func_stripname prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# func_strip_suffix prefix name -func_stripname () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname may be replaced by extended shell implementation - - -# These SED scripts presuppose an absolute path with a trailing slash. -pathcar='s,^/\([^/]*\).*$,\1,' -pathcdr='s,^/[^/]*,,' -removedotparts=':dotsl - s@/\./@/@g - t dotsl - s,/\.$,/,' -collapseslashes='s@/\{1,\}@/@g' -finalslash='s,/*$,/,' - -# func_normal_abspath PATH -# Remove doubled-up and trailing slashes, "." path components, -# and cancel out any ".." path components in PATH after making -# it an absolute path. -# value returned in "$func_normal_abspath_result" -func_normal_abspath () -{ - # Start from root dir and reassemble the path. - func_normal_abspath_result= - func_normal_abspath_tpath=$1 - func_normal_abspath_altnamespace= - case $func_normal_abspath_tpath in - "") - # Empty path, that just means $cwd. - func_stripname '' '/' "`pwd`" - func_normal_abspath_result=$func_stripname_result - return - ;; - # The next three entries are used to spot a run of precisely - # two leading slashes without using negated character classes; - # we take advantage of case's first-match behaviour. - ///*) - # Unusual form of absolute path, do nothing. - ;; - //*) - # Not necessarily an ordinary path; POSIX reserves leading '//' - # and for example Cygwin uses it to access remote file shares - # over CIFS/SMB, so we conserve a leading double slash if found. - func_normal_abspath_altnamespace=/ - ;; - /*) - # Absolute path, do nothing. - ;; - *) - # Relative path, prepend $cwd. - func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath - ;; - esac - # Cancel out all the simple stuff to save iterations. We also want - # the path to end with a slash for ease of parsing, so make sure - # there is one (and only one) here. - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` - while :; do - # Processed it all yet? - if test "$func_normal_abspath_tpath" = / ; then - # If we ascended to the root using ".." the result may be empty now. - if test -z "$func_normal_abspath_result" ; then - func_normal_abspath_result=/ - fi - break - fi - func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcar"` - func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ - -e "$pathcdr"` - # Figure out what to do with it - case $func_normal_abspath_tcomponent in - "") - # Trailing empty path component, ignore it. - ;; - ..) - # Parent dir; strip last assembled component from result. - func_dirname "$func_normal_abspath_result" - func_normal_abspath_result=$func_dirname_result - ;; - *) - # Actual path component, append it. - func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent - ;; - esac - done - # Restore leading double-slash if one was found on entry. - func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result -} - -# func_relative_path SRCDIR DSTDIR -# generates a relative path from SRCDIR to DSTDIR, with a trailing -# slash if non-empty, suitable for immediately appending a filename -# without needing to append a separator. -# value returned in "$func_relative_path_result" -func_relative_path () -{ - func_relative_path_result= - func_normal_abspath "$1" - func_relative_path_tlibdir=$func_normal_abspath_result - func_normal_abspath "$2" - func_relative_path_tbindir=$func_normal_abspath_result - - # Ascend the tree starting from libdir - while :; do - # check if we have found a prefix of bindir - case $func_relative_path_tbindir in - $func_relative_path_tlibdir) - # found an exact match - func_relative_path_tcancelled= - break - ;; - $func_relative_path_tlibdir*) - # found a matching prefix - func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" - func_relative_path_tcancelled=$func_stripname_result - if test -z "$func_relative_path_result"; then - func_relative_path_result=. - fi - break - ;; - *) - func_dirname $func_relative_path_tlibdir - func_relative_path_tlibdir=${func_dirname_result} - if test "x$func_relative_path_tlibdir" = x ; then - # Have to descend all the way to the root! - func_relative_path_result=../$func_relative_path_result - func_relative_path_tcancelled=$func_relative_path_tbindir - break - fi - func_relative_path_result=../$func_relative_path_result - ;; - esac - done - - # Now calculate path; take care to avoid doubling-up slashes. - func_stripname '' '/' "$func_relative_path_result" - func_relative_path_result=$func_stripname_result - func_stripname '/' '/' "$func_relative_path_tcancelled" - if test "x$func_stripname_result" != x ; then - func_relative_path_result=${func_relative_path_result}/${func_stripname_result} - fi - - # Normalisation. If bindir is libdir, return empty string, - # else relative path ending with a slash; either way, target - # file name can be directly appended. - if test ! -z "$func_relative_path_result"; then - func_stripname './' '' "$func_relative_path_result/" - func_relative_path_result=$func_stripname_result - fi -} - -# The name of this program: -func_dirname_and_basename "$progpath" -progname=$func_basename_result - -# Make sure we have an absolute path for reexecution: -case $progpath in - [\\/]*|[A-Za-z]:\\*) ;; - *[\\/]*) - progdir=$func_dirname_result - progdir=`cd "$progdir" && pwd` - progpath="$progdir/$progname" - ;; - *) - save_IFS="$IFS" - IFS=${PATH_SEPARATOR-:} - for progdir in $PATH; do - IFS="$save_IFS" - test -x "$progdir/$progname" && break - done - IFS="$save_IFS" - test -n "$progdir" || progdir=`pwd` - progpath="$progdir/$progname" - ;; -esac - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -Xsed="${SED}"' -e 1s/^X//' -sed_quote_subst='s/\([`"$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution that turns a string into a regex matching for the -# string literally. -sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' - -# Sed substitution that converts a w32 file name or path -# which contains forward slashes, into one that contains -# (escaped) backslashes. A very naive implementation. -lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' - -# Re-`\' parameter expansions in output of double_quote_subst that were -# `\'-ed in input to the same. If an odd number of `\' preceded a '$' -# in input to double_quote_subst, that '$' was protected from expansion. -# Since each input `\' is now two `\'s, look for any number of runs of -# four `\'s followed by two `\'s and then a '$'. `\' that '$'. -bs='\\' -bs2='\\\\' -bs4='\\\\\\\\' -dollar='\$' -sed_double_backslash="\ - s/$bs4/&\\ -/g - s/^$bs2$dollar/$bs&/ - s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g - s/\n//g" - -# Standard options: -opt_dry_run=false -opt_help=false -opt_quiet=false -opt_verbose=false -opt_warning=: - -# func_echo arg... -# Echo program name prefixed message, along with the current mode -# name if it has been set yet. -func_echo () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" -} - -# func_verbose arg... -# Echo program name prefixed message in verbose mode only. -func_verbose () -{ - $opt_verbose && func_echo ${1+"$@"} - - # A bug in bash halts the script if the last line of a function - # fails when set -e is in force, so we need another command to - # work around that: - : -} - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -# func_error arg... -# Echo program name prefixed message to standard error. -func_error () -{ - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 -} - -# func_warning arg... -# Echo program name prefixed warning message to standard error. -func_warning () -{ - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 - - # bash bug again: - : -} - -# func_fatal_error arg... -# Echo program name prefixed message to standard error, and exit. -func_fatal_error () -{ - func_error ${1+"$@"} - exit $EXIT_FAILURE -} - -# func_fatal_help arg... -# Echo program name prefixed message to standard error, followed by -# a help hint, and exit. -func_fatal_help () -{ - func_error ${1+"$@"} - func_fatal_error "$help" -} -help="Try \`$progname --help' for more information." ## default - - -# func_grep expression filename -# Check whether EXPRESSION matches any line of FILENAME, without output. -func_grep () -{ - $GREP "$1" "$2" >/dev/null 2>&1 -} - - -# func_mkdir_p directory-path -# Make sure the entire path to DIRECTORY-PATH is available. -func_mkdir_p () -{ - my_directory_path="$1" - my_dir_list= - - if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then - - # Protect directory names starting with `-' - case $my_directory_path in - -*) my_directory_path="./$my_directory_path" ;; - esac - - # While some portion of DIR does not yet exist... - while test ! -d "$my_directory_path"; do - # ...make a list in topmost first order. Use a colon delimited - # list incase some portion of path contains whitespace. - my_dir_list="$my_directory_path:$my_dir_list" - - # If the last portion added has no slash in it, the list is done - case $my_directory_path in */*) ;; *) break ;; esac - - # ...otherwise throw away the child directory and loop - my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` - done - my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` - - save_mkdir_p_IFS="$IFS"; IFS=':' - for my_dir in $my_dir_list; do - IFS="$save_mkdir_p_IFS" - # mkdir can fail with a `File exist' error if two processes - # try to create one of the directories concurrently. Don't - # stop in that case! - $MKDIR "$my_dir" 2>/dev/null || : - done - IFS="$save_mkdir_p_IFS" - - # Bail out if we (or some other process) failed to create a directory. - test -d "$my_directory_path" || \ - func_fatal_error "Failed to create \`$1'" - fi -} - - -# func_mktempdir [string] -# Make a temporary directory that won't clash with other running -# libtool processes, and avoids race conditions if possible. If -# given, STRING is the basename for that directory. -func_mktempdir () -{ - my_template="${TMPDIR-/tmp}/${1-$progname}" - - if test "$opt_dry_run" = ":"; then - # Return a directory name, but don't create it in dry-run mode - my_tmpdir="${my_template}-$$" - else - - # If mktemp works, use that first and foremost - my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` - - if test ! -d "$my_tmpdir"; then - # Failing that, at least try and use $RANDOM to avoid a race - my_tmpdir="${my_template}-${RANDOM-0}$$" - - save_mktempdir_umask=`umask` - umask 0077 - $MKDIR "$my_tmpdir" - umask $save_mktempdir_umask - fi - - # If we're not in dry-run mode, bomb out on failure - test -d "$my_tmpdir" || \ - func_fatal_error "cannot create temporary directory \`$my_tmpdir'" - fi - - $ECHO "$my_tmpdir" -} - - -# func_quote_for_eval arg -# Aesthetically quote ARG to be evaled later. -# This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT -# is double-quoted, suitable for a subsequent eval, whereas -# FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters -# which are still active within double quotes backslashified. -func_quote_for_eval () -{ - case $1 in - *[\\\`\"\$]*) - func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; - *) - func_quote_for_eval_unquoted_result="$1" ;; - esac - - case $func_quote_for_eval_unquoted_result in - # Double-quote args containing shell metacharacters to delay - # word splitting, command substitution and and variable - # expansion for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" - ;; - *) - func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" - esac -} - - -# func_quote_for_expand arg -# Aesthetically quote ARG to be evaled later; same as above, -# but do not quote variable references. -func_quote_for_expand () -{ - case $1 in - *[\\\`\"]*) - my_arg=`$ECHO "$1" | $SED \ - -e "$double_quote_subst" -e "$sed_double_backslash"` ;; - *) - my_arg="$1" ;; - esac - - case $my_arg in - # Double-quote args containing shell metacharacters to delay - # word splitting and command substitution for a subsequent eval. - # Many Bourne shells cannot handle close brackets correctly - # in scan sets, so we specify it separately. - *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") - my_arg="\"$my_arg\"" - ;; - esac - - func_quote_for_expand_result="$my_arg" -} - - -# func_show_eval cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. -func_show_eval () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$my_cmd" - my_status=$? - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - - -# func_show_eval_locale cmd [fail_exp] -# Unless opt_silent is true, then output CMD. Then, if opt_dryrun is -# not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP -# is given, then evaluate it. Use the saved locale for evaluation. -func_show_eval_locale () -{ - my_cmd="$1" - my_fail_exp="${2-:}" - - ${opt_silent-false} || { - func_quote_for_expand "$my_cmd" - eval "func_echo $func_quote_for_expand_result" - } - - if ${opt_dry_run-false}; then :; else - eval "$lt_user_locale - $my_cmd" - my_status=$? - eval "$lt_safe_locale" - if test "$my_status" -eq 0; then :; else - eval "(exit $my_status); $my_fail_exp" - fi - fi -} - -# func_tr_sh -# Turn $1 into a string suitable for a shell variable name. -# Result is stored in $func_tr_sh_result. All characters -# not in the set a-zA-Z0-9_ are replaced with '_'. Further, -# if $1 begins with a digit, a '_' is prepended as well. -func_tr_sh () -{ - case $1 in - [0-9]* | *[!a-zA-Z0-9_]*) - func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` - ;; - * ) - func_tr_sh_result=$1 - ;; - esac -} - - -# func_version -# Echo version message to standard output and exit. -func_version () -{ - $opt_debug - - $SED -n '/(C)/!b go - :more - /\./!{ - N - s/\n# / / - b more - } - :go - /^# '$PROGRAM' (GNU /,/# warranty; / { - s/^# // - s/^# *$// - s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ - p - }' < "$progpath" - exit $? -} - -# func_usage -# Echo short help message to standard output and exit. -func_usage () -{ - $opt_debug - - $SED -n '/^# Usage:/,/^# *.*--help/ { - s/^# // - s/^# *$// - s/\$progname/'$progname'/ - p - }' < "$progpath" - echo - $ECHO "run \`$progname --help | more' for full usage" - exit $? -} - -# func_help [NOEXIT] -# Echo long help message to standard output and exit, -# unless 'noexit' is passed as argument. -func_help () -{ - $opt_debug - - $SED -n '/^# Usage:/,/# Report bugs to/ { - :print - s/^# // - s/^# *$// - s*\$progname*'$progname'* - s*\$host*'"$host"'* - s*\$SHELL*'"$SHELL"'* - s*\$LTCC*'"$LTCC"'* - s*\$LTCFLAGS*'"$LTCFLAGS"'* - s*\$LD*'"$LD"'* - s/\$with_gnu_ld/'"$with_gnu_ld"'/ - s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ - s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ - p - d - } - /^# .* home page:/b print - /^# General help using/b print - ' < "$progpath" - ret=$? - if test -z "$1"; then - exit $ret - fi -} - -# func_missing_arg argname -# Echo program name prefixed message to standard error and set global -# exit_cmd. -func_missing_arg () -{ - $opt_debug - - func_error "missing argument for $1." - exit_cmd=exit -} - - -# func_split_short_opt shortopt -# Set func_split_short_opt_name and func_split_short_opt_arg shell -# variables after splitting SHORTOPT after the 2nd character. -func_split_short_opt () -{ - my_sed_short_opt='1s/^\(..\).*$/\1/;q' - my_sed_short_rest='1s/^..\(.*\)$/\1/;q' - - func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` - func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` -} # func_split_short_opt may be replaced by extended shell implementation - - -# func_split_long_opt longopt -# Set func_split_long_opt_name and func_split_long_opt_arg shell -# variables after splitting LONGOPT at the `=' sign. -func_split_long_opt () -{ - my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' - my_sed_long_arg='1s/^--[^=]*=//' - - func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` - func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` -} # func_split_long_opt may be replaced by extended shell implementation - -exit_cmd=: - - - - - -magic="%%%MAGIC variable%%%" -magic_exe="%%%MAGIC EXE variable%%%" - -# Global variables. -nonopt= -preserve_args= -lo2o="s/\\.lo\$/.${objext}/" -o2lo="s/\\.${objext}\$/.lo/" -extracted_archives= -extracted_serial=0 - -# If this variable is set in any of the actions, the command in it -# will be execed at the end. This prevents here-documents from being -# left over by shells. -exec_cmd= - -# func_append var value -# Append VALUE to the end of shell variable VAR. -func_append () -{ - eval "${1}=\$${1}\${2}" -} # func_append may be replaced by extended shell implementation - -# func_append_quoted var value -# Quote VALUE and append to the end of shell variable VAR, separated -# by a space. -func_append_quoted () -{ - func_quote_for_eval "${2}" - eval "${1}=\$${1}\\ \$func_quote_for_eval_result" -} # func_append_quoted may be replaced by extended shell implementation - - -# func_arith arithmetic-term... -func_arith () -{ - func_arith_result=`expr "${@}"` -} # func_arith may be replaced by extended shell implementation - - -# func_len string -# STRING may not start with a hyphen. -func_len () -{ - func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` -} # func_len may be replaced by extended shell implementation - - -# func_lo2o object -func_lo2o () -{ - func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` -} # func_lo2o may be replaced by extended shell implementation - - -# func_xform libobj-or-source -func_xform () -{ - func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` -} # func_xform may be replaced by extended shell implementation - - -# func_fatal_configuration arg... -# Echo program name prefixed message to standard error, followed by -# a configuration failure hint, and exit. -func_fatal_configuration () -{ - func_error ${1+"$@"} - func_error "See the $PACKAGE documentation for more information." - func_fatal_error "Fatal configuration error." -} - - -# func_config -# Display the configuration for all the tags in this script. -func_config () -{ - re_begincf='^# ### BEGIN LIBTOOL' - re_endcf='^# ### END LIBTOOL' - - # Default configuration. - $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" - - # Now print the configurations for the tags. - for tagname in $taglist; do - $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" - done - - exit $? -} - -# func_features -# Display the features supported by this script. -func_features () -{ - echo "host: $host" - if test "$build_libtool_libs" = yes; then - echo "enable shared libraries" - else - echo "disable shared libraries" - fi - if test "$build_old_libs" = yes; then - echo "enable static libraries" - else - echo "disable static libraries" - fi - - exit $? -} - -# func_enable_tag tagname -# Verify that TAGNAME is valid, and either flag an error and exit, or -# enable the TAGNAME tag. We also add TAGNAME to the global $taglist -# variable here. -func_enable_tag () -{ - # Global variable: - tagname="$1" - - re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" - re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" - sed_extractcf="/$re_begincf/,/$re_endcf/p" - - # Validate tagname. - case $tagname in - *[!-_A-Za-z0-9,/]*) - func_fatal_error "invalid tag name: $tagname" - ;; - esac - - # Don't test for the "default" C tag, as we know it's - # there but not specially marked. - case $tagname in - CC) ;; - *) - if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then - taglist="$taglist $tagname" - - # Evaluate the configuration. Be careful to quote the path - # and the sed script, to avoid splitting on whitespace, but - # also don't use non-portable quotes within backquotes within - # quotes we have to do it in 2 steps: - extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` - eval "$extractedcf" - else - func_error "ignoring unknown tag $tagname" - fi - ;; - esac -} - -# func_check_version_match -# Ensure that we are using m4 macros, and libtool script from the same -# release of libtool. -func_check_version_match () -{ - if test "$package_revision" != "$macro_revision"; then - if test "$VERSION" != "$macro_version"; then - if test -z "$macro_version"; then - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from an older release. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, but the -$progname: definition of this LT_INIT comes from $PACKAGE $macro_version. -$progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION -$progname: and run autoconf again. -_LT_EOF - fi - else - cat >&2 <<_LT_EOF -$progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, -$progname: but the definition of this LT_INIT comes from revision $macro_revision. -$progname: You should recreate aclocal.m4 with macros from revision $package_revision -$progname: of $PACKAGE $VERSION and run autoconf again. -_LT_EOF - fi - - exit $EXIT_MISMATCH - fi -} - - -# Shorthand for --mode=foo, only valid as the first argument -case $1 in -clean|clea|cle|cl) - shift; set dummy --mode clean ${1+"$@"}; shift - ;; -compile|compil|compi|comp|com|co|c) - shift; set dummy --mode compile ${1+"$@"}; shift - ;; -execute|execut|execu|exec|exe|ex|e) - shift; set dummy --mode execute ${1+"$@"}; shift - ;; -finish|finis|fini|fin|fi|f) - shift; set dummy --mode finish ${1+"$@"}; shift - ;; -install|instal|insta|inst|ins|in|i) - shift; set dummy --mode install ${1+"$@"}; shift - ;; -link|lin|li|l) - shift; set dummy --mode link ${1+"$@"}; shift - ;; -uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) - shift; set dummy --mode uninstall ${1+"$@"}; shift - ;; -esac - - - -# Option defaults: -opt_debug=: -opt_dry_run=false -opt_config=false -opt_preserve_dup_deps=false -opt_features=false -opt_finish=false -opt_help=false -opt_help_all=false -opt_silent=: -opt_warning=: -opt_verbose=: -opt_silent=false -opt_verbose=false - - -# Parse options once, thoroughly. This comes as soon as possible in the -# script to make things like `--version' happen as quickly as we can. -{ - # this just eases exit handling - while test $# -gt 0; do - opt="$1" - shift - case $opt in - --debug|-x) opt_debug='set -x' - func_echo "enabling shell trace mode" - $opt_debug - ;; - --dry-run|--dryrun|-n) - opt_dry_run=: - ;; - --config) - opt_config=: -func_config - ;; - --dlopen|-dlopen) - optarg="$1" - opt_dlopen="${opt_dlopen+$opt_dlopen -}$optarg" - shift - ;; - --preserve-dup-deps) - opt_preserve_dup_deps=: - ;; - --features) - opt_features=: -func_features - ;; - --finish) - opt_finish=: -set dummy --mode finish ${1+"$@"}; shift - ;; - --help) - opt_help=: - ;; - --help-all) - opt_help_all=: -opt_help=': help-all' - ;; - --mode) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_mode="$optarg" -case $optarg in - # Valid mode arguments: - clean|compile|execute|finish|install|link|relink|uninstall) ;; - - # Catch anything else as an error - *) func_error "invalid argument for $opt" - exit_cmd=exit - break - ;; -esac - shift - ;; - --no-silent|--no-quiet) - opt_silent=false -func_append preserve_args " $opt" - ;; - --no-warning|--no-warn) - opt_warning=false -func_append preserve_args " $opt" - ;; - --no-verbose) - opt_verbose=false -func_append preserve_args " $opt" - ;; - --silent|--quiet) - opt_silent=: -func_append preserve_args " $opt" - opt_verbose=false - ;; - --verbose|-v) - opt_verbose=: -func_append preserve_args " $opt" -opt_silent=false - ;; - --tag) - test $# = 0 && func_missing_arg $opt && break - optarg="$1" - opt_tag="$optarg" -func_append preserve_args " $opt $optarg" -func_enable_tag "$optarg" - shift - ;; - - -\?|-h) func_usage ;; - --help) func_help ;; - --version) func_version ;; - - # Separate optargs to long options: - --*=*) - func_split_long_opt "$opt" - set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} - shift - ;; - - # Separate non-argument short options: - -\?*|-h*|-n*|-v*) - func_split_short_opt "$opt" - set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} - shift - ;; - - --) break ;; - -*) func_fatal_help "unrecognized option \`$opt'" ;; - *) set dummy "$opt" ${1+"$@"}; shift; break ;; - esac - done - - # Validate options: - - # save first non-option argument - if test "$#" -gt 0; then - nonopt="$opt" - shift - fi - - # preserve --debug - test "$opt_debug" = : || func_append preserve_args " --debug" - - case $host in - *cygwin* | *mingw* | *pw32* | *cegcc*) - # don't eliminate duplications in $postdeps and $predeps - opt_duplicate_compiler_generated_deps=: - ;; - *) - opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps - ;; - esac - - $opt_help || { - # Sanity checks first: - func_check_version_match - - if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then - func_fatal_configuration "not configured to build any kind of library" - fi - - # Darwin sucks - eval std_shrext=\"$shrext_cmds\" - - # Only execute mode is allowed to have -dlopen flags. - if test -n "$opt_dlopen" && test "$opt_mode" != execute; then - func_error "unrecognized option \`-dlopen'" - $ECHO "$help" 1>&2 - exit $EXIT_FAILURE - fi - - # Change the help message to a mode-specific one. - generic_help="$help" - help="Try \`$progname --help --mode=$opt_mode' for more information." - } - - - # Bail if the options were screwed - $exit_cmd $EXIT_FAILURE -} - - - - -## ----------- ## -## Main. ## -## ----------- ## - -# func_lalib_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_lalib_p () -{ - test -f "$1" && - $SED -e 4q "$1" 2>/dev/null \ - | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 -} - -# func_lalib_unsafe_p file -# True iff FILE is a libtool `.la' library or `.lo' object file. -# This function implements the same check as func_lalib_p without -# resorting to external programs. To this end, it redirects stdin and -# closes it afterwards, without saving the original file descriptor. -# As a safety measure, use it only where a negative result would be -# fatal anyway. Works if `file' does not exist. -func_lalib_unsafe_p () -{ - lalib_p=no - if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then - for lalib_p_l in 1 2 3 4 - do - read lalib_p_line - case "$lalib_p_line" in - \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; - esac - done - exec 0<&5 5<&- - fi - test "$lalib_p" = yes -} - -# func_ltwrapper_script_p file -# True iff FILE is a libtool wrapper script -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_script_p () -{ - func_lalib_p "$1" -} - -# func_ltwrapper_executable_p file -# True iff FILE is a libtool wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_executable_p () -{ - func_ltwrapper_exec_suffix= - case $1 in - *.exe) ;; - *) func_ltwrapper_exec_suffix=.exe ;; - esac - $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 -} - -# func_ltwrapper_scriptname file -# Assumes file is an ltwrapper_executable -# uses $file to determine the appropriate filename for a -# temporary ltwrapper_script. -func_ltwrapper_scriptname () -{ - func_dirname_and_basename "$1" "" "." - func_stripname '' '.exe' "$func_basename_result" - func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" -} - -# func_ltwrapper_p file -# True iff FILE is a libtool wrapper script or wrapper executable -# This function is only a basic sanity check; it will hardly flush out -# determined imposters. -func_ltwrapper_p () -{ - func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" -} - - -# func_execute_cmds commands fail_cmd -# Execute tilde-delimited COMMANDS. -# If FAIL_CMD is given, eval that upon failure. -# FAIL_CMD may read-access the current command in variable CMD! -func_execute_cmds () -{ - $opt_debug - save_ifs=$IFS; IFS='~' - for cmd in $1; do - IFS=$save_ifs - eval cmd=\"$cmd\" - func_show_eval "$cmd" "${2-:}" - done - IFS=$save_ifs -} - - -# func_source file -# Source FILE, adding directory component if necessary. -# Note that it is not necessary on cygwin/mingw to append a dot to -# FILE even if both FILE and FILE.exe exist: automatic-append-.exe -# behavior happens only for exec(3), not for open(2)! Also, sourcing -# `FILE.' does not work on cygwin managed mounts. -func_source () -{ - $opt_debug - case $1 in - */* | *\\*) . "$1" ;; - *) . "./$1" ;; - esac -} - - -# func_resolve_sysroot PATH -# Replace a leading = in PATH with a sysroot. Store the result into -# func_resolve_sysroot_result -func_resolve_sysroot () -{ - func_resolve_sysroot_result=$1 - case $func_resolve_sysroot_result in - =*) - func_stripname '=' '' "$func_resolve_sysroot_result" - func_resolve_sysroot_result=$lt_sysroot$func_stripname_result - ;; - esac -} - -# func_replace_sysroot PATH -# If PATH begins with the sysroot, replace it with = and -# store the result into func_replace_sysroot_result. -func_replace_sysroot () -{ - case "$lt_sysroot:$1" in - ?*:"$lt_sysroot"*) - func_stripname "$lt_sysroot" '' "$1" - func_replace_sysroot_result="=$func_stripname_result" - ;; - *) - # Including no sysroot. - func_replace_sysroot_result=$1 - ;; - esac -} - -# func_infer_tag arg -# Infer tagged configuration to use if any are available and -# if one wasn't chosen via the "--tag" command line option. -# Only attempt this if the compiler in the base compile -# command doesn't match the default compiler. -# arg is usually of the form 'gcc ...' -func_infer_tag () -{ - $opt_debug - if test -n "$available_tags" && test -z "$tagname"; then - CC_quoted= - for arg in $CC; do - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case $@ in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" - CC_quoted= - for arg in $CC; do - # Double-quote args containing other shell metacharacters. - func_append_quoted CC_quoted "$arg" - done - CC_expanded=`func_echo_all $CC` - CC_quoted_expanded=`func_echo_all $CC_quoted` - case "$@ " in - " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ - " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" -# else -# func_verbose "using $tagname tagged configuration" - fi - ;; - esac - fi -} - - - -# func_write_libtool_object output_name pic_name nonpic_name -# Create a libtool object file (analogous to a ".la" file), -# but don't create it if we're doing a dry run. -func_write_libtool_object () -{ - write_libobj=${1} - if test "$build_libtool_libs" = yes; then - write_lobj=\'${2}\' - else - write_lobj=none - fi - - if test "$build_old_libs" = yes; then - write_oldobj=\'${3}\' - else - write_oldobj=none - fi - - $opt_dry_run || { - cat >${write_libobj}T </dev/null` - if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then - func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | - $SED -e "$lt_sed_naive_backslashify"` - else - func_convert_core_file_wine_to_w32_result= - fi - fi -} -# end: func_convert_core_file_wine_to_w32 - - -# func_convert_core_path_wine_to_w32 ARG -# Helper function used by path conversion functions when $build is *nix, and -# $host is mingw, cygwin, or some other w32 environment. Relies on a correctly -# configured wine environment available, with the winepath program in $build's -# $PATH. Assumes ARG has no leading or trailing path separator characters. -# -# ARG is path to be converted from $build format to win32. -# Result is available in $func_convert_core_path_wine_to_w32_result. -# Unconvertible file (directory) names in ARG are skipped; if no directory names -# are convertible, then the result may be empty. -func_convert_core_path_wine_to_w32 () -{ - $opt_debug - # unfortunately, winepath doesn't convert paths, only file names - func_convert_core_path_wine_to_w32_result="" - if test -n "$1"; then - oldIFS=$IFS - IFS=: - for func_convert_core_path_wine_to_w32_f in $1; do - IFS=$oldIFS - func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" - if test -n "$func_convert_core_file_wine_to_w32_result" ; then - if test -z "$func_convert_core_path_wine_to_w32_result"; then - func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" - else - func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" - fi - fi - done - IFS=$oldIFS - fi -} -# end: func_convert_core_path_wine_to_w32 - - -# func_cygpath ARGS... -# Wrapper around calling the cygpath program via LT_CYGPATH. This is used when -# when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) -# $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or -# (2), returns the Cygwin file name or path in func_cygpath_result (input -# file name or path is assumed to be in w32 format, as previously converted -# from $build's *nix or MSYS format). In case (3), returns the w32 file name -# or path in func_cygpath_result (input file name or path is assumed to be in -# Cygwin format). Returns an empty string on error. -# -# ARGS are passed to cygpath, with the last one being the file name or path to -# be converted. -# -# Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH -# environment variable; do not put it in $PATH. -func_cygpath () -{ - $opt_debug - if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then - func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` - if test "$?" -ne 0; then - # on failure, ensure result is empty - func_cygpath_result= - fi - else - func_cygpath_result= - func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" - fi -} -#end: func_cygpath - - -# func_convert_core_msys_to_w32 ARG -# Convert file name or path ARG from MSYS format to w32 format. Return -# result in func_convert_core_msys_to_w32_result. -func_convert_core_msys_to_w32 () -{ - $opt_debug - # awkward: cmd appends spaces to result - func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | - $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` -} -#end: func_convert_core_msys_to_w32 - - -# func_convert_file_check ARG1 ARG2 -# Verify that ARG1 (a file name in $build format) was converted to $host -# format in ARG2. Otherwise, emit an error message, but continue (resetting -# func_to_host_file_result to ARG1). -func_convert_file_check () -{ - $opt_debug - if test -z "$2" && test -n "$1" ; then - func_error "Could not determine host file name corresponding to" - func_error " \`$1'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback: - func_to_host_file_result="$1" - fi -} -# end func_convert_file_check - - -# func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH -# Verify that FROM_PATH (a path in $build format) was converted to $host -# format in TO_PATH. Otherwise, emit an error message, but continue, resetting -# func_to_host_file_result to a simplistic fallback value (see below). -func_convert_path_check () -{ - $opt_debug - if test -z "$4" && test -n "$3"; then - func_error "Could not determine the host path corresponding to" - func_error " \`$3'" - func_error "Continuing, but uninstalled executables may not work." - # Fallback. This is a deliberately simplistic "conversion" and - # should not be "improved". See libtool.info. - if test "x$1" != "x$2"; then - lt_replace_pathsep_chars="s|$1|$2|g" - func_to_host_path_result=`echo "$3" | - $SED -e "$lt_replace_pathsep_chars"` - else - func_to_host_path_result="$3" - fi - fi -} -# end func_convert_path_check - - -# func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG -# Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT -# and appending REPL if ORIG matches BACKPAT. -func_convert_path_front_back_pathsep () -{ - $opt_debug - case $4 in - $1 ) func_to_host_path_result="$3$func_to_host_path_result" - ;; - esac - case $4 in - $2 ) func_append func_to_host_path_result "$3" - ;; - esac -} -# end func_convert_path_front_back_pathsep - - -################################################## -# $build to $host FILE NAME CONVERSION FUNCTIONS # -################################################## -# invoked via `$to_host_file_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# Result will be available in $func_to_host_file_result. - - -# func_to_host_file ARG -# Converts the file name ARG from $build format to $host format. Return result -# in func_to_host_file_result. -func_to_host_file () -{ - $opt_debug - $to_host_file_cmd "$1" -} -# end func_to_host_file - - -# func_to_tool_file ARG LAZY -# converts the file name ARG from $build format to toolchain format. Return -# result in func_to_tool_file_result. If the conversion in use is listed -# in (the comma separated) LAZY, no conversion takes place. -func_to_tool_file () -{ - $opt_debug - case ,$2, in - *,"$to_tool_file_cmd",*) - func_to_tool_file_result=$1 - ;; - *) - $to_tool_file_cmd "$1" - func_to_tool_file_result=$func_to_host_file_result - ;; - esac -} -# end func_to_tool_file - - -# func_convert_file_noop ARG -# Copy ARG to func_to_host_file_result. -func_convert_file_noop () -{ - func_to_host_file_result="$1" -} -# end func_convert_file_noop - - -# func_convert_file_msys_to_w32 ARG -# Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_file_result. -func_convert_file_msys_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_to_host_file_result="$func_convert_core_msys_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_w32 - - -# func_convert_file_cygwin_to_w32 ARG -# Convert file name ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_file_cygwin_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # because $build is cygwin, we call "the" cygpath in $PATH; no need to use - # LT_CYGPATH in this case. - func_to_host_file_result=`cygpath -m "$1"` - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_cygwin_to_w32 - - -# func_convert_file_nix_to_w32 ARG -# Convert file name ARG from *nix to w32 format. Requires a wine environment -# and a working winepath. Returns result in func_to_host_file_result. -func_convert_file_nix_to_w32 () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_file_wine_to_w32 "$1" - func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_w32 - - -# func_convert_file_msys_to_cygwin ARG -# Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_file_msys_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - func_convert_core_msys_to_w32 "$1" - func_cygpath -u "$func_convert_core_msys_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_msys_to_cygwin - - -# func_convert_file_nix_to_cygwin ARG -# Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed -# in a wine environment, working winepath, and LT_CYGPATH set. Returns result -# in func_to_host_file_result. -func_convert_file_nix_to_cygwin () -{ - $opt_debug - func_to_host_file_result="$1" - if test -n "$1"; then - # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. - func_convert_core_file_wine_to_w32 "$1" - func_cygpath -u "$func_convert_core_file_wine_to_w32_result" - func_to_host_file_result="$func_cygpath_result" - fi - func_convert_file_check "$1" "$func_to_host_file_result" -} -# end func_convert_file_nix_to_cygwin - - -############################################# -# $build to $host PATH CONVERSION FUNCTIONS # -############################################# -# invoked via `$to_host_path_cmd ARG' -# -# In each case, ARG is the path to be converted from $build to $host format. -# The result will be available in $func_to_host_path_result. -# -# Path separators are also converted from $build format to $host format. If -# ARG begins or ends with a path separator character, it is preserved (but -# converted to $host format) on output. -# -# All path conversion functions are named using the following convention: -# file name conversion function : func_convert_file_X_to_Y () -# path conversion function : func_convert_path_X_to_Y () -# where, for any given $build/$host combination the 'X_to_Y' value is the -# same. If conversion functions are added for new $build/$host combinations, -# the two new functions must follow this pattern, or func_init_to_host_path_cmd -# will break. - - -# func_init_to_host_path_cmd -# Ensures that function "pointer" variable $to_host_path_cmd is set to the -# appropriate value, based on the value of $to_host_file_cmd. -to_host_path_cmd= -func_init_to_host_path_cmd () -{ - $opt_debug - if test -z "$to_host_path_cmd"; then - func_stripname 'func_convert_file_' '' "$to_host_file_cmd" - to_host_path_cmd="func_convert_path_${func_stripname_result}" - fi -} - - -# func_to_host_path ARG -# Converts the path ARG from $build format to $host format. Return result -# in func_to_host_path_result. -func_to_host_path () -{ - $opt_debug - func_init_to_host_path_cmd - $to_host_path_cmd "$1" -} -# end func_to_host_path - - -# func_convert_path_noop ARG -# Copy ARG to func_to_host_path_result. -func_convert_path_noop () -{ - func_to_host_path_result="$1" -} -# end func_convert_path_noop - - -# func_convert_path_msys_to_w32 ARG -# Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic -# conversion to w32 is not available inside the cwrapper. Returns result in -# func_to_host_path_result. -func_convert_path_msys_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from ARG. MSYS - # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; - # and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_msys_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_msys_to_w32 - - -# func_convert_path_cygwin_to_w32 ARG -# Convert path ARG from Cygwin to w32 format. Returns result in -# func_to_host_file_result. -func_convert_path_cygwin_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_cygwin_to_w32 - - -# func_convert_path_nix_to_w32 ARG -# Convert path ARG from *nix to w32 format. Requires a wine environment and -# a working winepath. Returns result in func_to_host_file_result. -func_convert_path_nix_to_w32 () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" - func_convert_path_check : ";" \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" - fi -} -# end func_convert_path_nix_to_w32 - - -# func_convert_path_msys_to_cygwin ARG -# Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. -# Returns result in func_to_host_file_result. -func_convert_path_msys_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # See func_convert_path_msys_to_w32: - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_msys_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_msys_to_cygwin - - -# func_convert_path_nix_to_cygwin ARG -# Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a -# a wine environment, working winepath, and LT_CYGPATH set. Returns result in -# func_to_host_file_result. -func_convert_path_nix_to_cygwin () -{ - $opt_debug - func_to_host_path_result="$1" - if test -n "$1"; then - # Remove leading and trailing path separator characters from - # ARG. msys behavior is inconsistent here, cygpath turns them - # into '.;' and ';.', and winepath ignores them completely. - func_stripname : : "$1" - func_to_host_path_tmp1=$func_stripname_result - func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" - func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" - func_to_host_path_result="$func_cygpath_result" - func_convert_path_check : : \ - "$func_to_host_path_tmp1" "$func_to_host_path_result" - func_convert_path_front_back_pathsep ":*" "*:" : "$1" - fi -} -# end func_convert_path_nix_to_cygwin - - -# func_mode_compile arg... -func_mode_compile () -{ - $opt_debug - # Get the compilation command and the source file. - base_compile= - srcfile="$nonopt" # always keep a non-empty value in "srcfile" - suppress_opt=yes - suppress_output= - arg_mode=normal - libobj= - later= - pie_flag= - - for arg - do - case $arg_mode in - arg ) - # do not "continue". Instead, add this to base_compile - lastarg="$arg" - arg_mode=normal - ;; - - target ) - libobj="$arg" - arg_mode=normal - continue - ;; - - normal ) - # Accept any command-line options. - case $arg in - -o) - test -n "$libobj" && \ - func_fatal_error "you cannot specify \`-o' more than once" - arg_mode=target - continue - ;; - - -pie | -fpie | -fPIE) - func_append pie_flag " $arg" - continue - ;; - - -shared | -static | -prefer-pic | -prefer-non-pic) - func_append later " $arg" - continue - ;; - - -no-suppress) - suppress_opt=no - continue - ;; - - -Xcompiler) - arg_mode=arg # the next one goes into the "base_compile" arg list - continue # The current "srcfile" will either be retained or - ;; # replaced later. I would guess that would be a bug. - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - lastarg= - save_ifs="$IFS"; IFS=',' - for arg in $args; do - IFS="$save_ifs" - func_append_quoted lastarg "$arg" - done - IFS="$save_ifs" - func_stripname ' ' '' "$lastarg" - lastarg=$func_stripname_result - - # Add the arguments to base_compile. - func_append base_compile " $lastarg" - continue - ;; - - *) - # Accept the current argument as the source file. - # The previous "srcfile" becomes the current argument. - # - lastarg="$srcfile" - srcfile="$arg" - ;; - esac # case $arg - ;; - esac # case $arg_mode - - # Aesthetically quote the previous argument. - func_append_quoted base_compile "$lastarg" - done # for arg - - case $arg_mode in - arg) - func_fatal_error "you must specify an argument for -Xcompile" - ;; - target) - func_fatal_error "you must specify a target with \`-o'" - ;; - *) - # Get the name of the library object. - test -z "$libobj" && { - func_basename "$srcfile" - libobj="$func_basename_result" - } - ;; - esac - - # Recognize several different file suffixes. - # If the user specifies -o file.o, it is replaced with file.lo - case $libobj in - *.[cCFSifmso] | \ - *.ada | *.adb | *.ads | *.asm | \ - *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ - *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) - func_xform "$libobj" - libobj=$func_xform_result - ;; - esac - - case $libobj in - *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; - *) - func_fatal_error "cannot determine name of library object from \`$libobj'" - ;; - esac - - func_infer_tag $base_compile - - for arg in $later; do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - continue - ;; - - -static) - build_libtool_libs=no - build_old_libs=yes - continue - ;; - - -prefer-pic) - pic_mode=yes - continue - ;; - - -prefer-non-pic) - pic_mode=no - continue - ;; - esac - done - - func_quote_for_eval "$libobj" - test "X$libobj" != "X$func_quote_for_eval_result" \ - && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ - && func_warning "libobj name \`$libobj' may not contain shell special characters." - func_dirname_and_basename "$obj" "/" "" - objname="$func_basename_result" - xdir="$func_dirname_result" - lobj=${xdir}$objdir/$objname - - test -z "$base_compile" && \ - func_fatal_help "you must specify a compilation command" - - # Delete any leftover library objects. - if test "$build_old_libs" = yes; then - removelist="$obj $lobj $libobj ${libobj}T" - else - removelist="$lobj $libobj ${libobj}T" - fi - - # On Cygwin there's no "real" PIC flag so we must build both object types - case $host_os in - cygwin* | mingw* | pw32* | os2* | cegcc*) - pic_mode=default - ;; - esac - if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then - # non-PIC code in shared libraries is not supported - pic_mode=default - fi - - # Calculate the filename of the output object if compiler does - # not support -o with -c - if test "$compiler_c_o" = no; then - output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} - lockfile="$output_obj.lock" - else - output_obj= - need_locks=no - lockfile= - fi - - # Lock this critical section if it is needed - # We use this script file to make the link, it avoids creating a new file - if test "$need_locks" = yes; then - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - elif test "$need_locks" = warn; then - if test -f "$lockfile"; then - $ECHO "\ -*** ERROR, $lockfile exists and contains: -`cat $lockfile 2>/dev/null` - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - func_append removelist " $output_obj" - $ECHO "$srcfile" > "$lockfile" - fi - - $opt_dry_run || $RM $removelist - func_append removelist " $lockfile" - trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 - - func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 - srcfile=$func_to_tool_file_result - func_quote_for_eval "$srcfile" - qsrcfile=$func_quote_for_eval_result - - # Only build a PIC object if we are building libtool libraries. - if test "$build_libtool_libs" = yes; then - # Without this assignment, base_compile gets emptied. - fbsd_hideous_sh_bug=$base_compile - - if test "$pic_mode" != no; then - command="$base_compile $qsrcfile $pic_flag" - else - # Don't build PIC code - command="$base_compile $qsrcfile" - fi - - func_mkdir_p "$xdir$objdir" - - if test -z "$output_obj"; then - # Place PIC objects in $objdir - func_append command " -o $lobj" - fi - - func_show_eval_locale "$command" \ - 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed, then go on to compile the next one - if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then - func_show_eval '$MV "$output_obj" "$lobj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - - # Allow error messages only from the first compilation. - if test "$suppress_opt" = yes; then - suppress_output=' >/dev/null 2>&1' - fi - fi - - # Only build a position-dependent object if we build old libraries. - if test "$build_old_libs" = yes; then - if test "$pic_mode" != yes; then - # Don't build PIC code - command="$base_compile $qsrcfile$pie_flag" - else - command="$base_compile $qsrcfile $pic_flag" - fi - if test "$compiler_c_o" = yes; then - func_append command " -o $obj" - fi - - # Suppress compiler output if we already did a PIC compilation. - func_append command "$suppress_output" - func_show_eval_locale "$command" \ - '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' - - if test "$need_locks" = warn && - test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then - $ECHO "\ -*** ERROR, $lockfile contains: -`cat $lockfile 2>/dev/null` - -but it should contain: -$srcfile - -This indicates that another process is trying to use the same -temporary object file, and libtool could not work around it because -your compiler does not support \`-c' and \`-o' together. If you -repeat this compilation, it may succeed, by chance, but you had better -avoid parallel builds (make -j) in this platform, or get a better -compiler." - - $opt_dry_run || $RM $removelist - exit $EXIT_FAILURE - fi - - # Just move the object if needed - if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then - func_show_eval '$MV "$output_obj" "$obj"' \ - 'error=$?; $opt_dry_run || $RM $removelist; exit $error' - fi - fi - - $opt_dry_run || { - func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" - - # Unlock the critical section if it was locked - if test "$need_locks" != no; then - removelist=$lockfile - $RM "$lockfile" - fi - } - - exit $EXIT_SUCCESS -} - -$opt_help || { - test "$opt_mode" = compile && func_mode_compile ${1+"$@"} -} - -func_mode_help () -{ - # We need to display help for each of the modes. - case $opt_mode in - "") - # Generic help is extracted from the usage comments - # at the start of this file. - func_help - ;; - - clean) - $ECHO \ -"Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... - -Remove files from the build directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, object or program, all the files associated -with it are deleted. Otherwise, only FILE itself is deleted using RM." - ;; - - compile) - $ECHO \ -"Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE - -Compile a source file into a libtool library object. - -This mode accepts the following additional options: - - -o OUTPUT-FILE set the output file name to OUTPUT-FILE - -no-suppress do not suppress compiler output for multiple passes - -prefer-pic try to build PIC objects only - -prefer-non-pic try to build non-PIC objects only - -shared do not build a \`.o' file suitable for static linking - -static only build a \`.o' file suitable for static linking - -Wc,FLAG pass FLAG directly to the compiler - -COMPILE-COMMAND is a command to be used in creating a \`standard' object file -from the given SOURCEFILE. - -The output file name is determined by removing the directory component from -SOURCEFILE, then substituting the C source code suffix \`.c' with the -library object suffix, \`.lo'." - ;; - - execute) - $ECHO \ -"Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... - -Automatically set library path, then run a program. - -This mode accepts the following additional options: - - -dlopen FILE add the directory containing FILE to the library path - -This mode sets the library path environment variable according to \`-dlopen' -flags. - -If any of the ARGS are libtool executable wrappers, then they are translated -into their corresponding uninstalled binary, and any of their required library -directories are added to the library path. - -Then, COMMAND is executed, with ARGS as arguments." - ;; - - finish) - $ECHO \ -"Usage: $progname [OPTION]... --mode=finish [LIBDIR]... - -Complete the installation of libtool libraries. - -Each LIBDIR is a directory that contains libtool libraries. - -The commands that this mode executes may require superuser privileges. Use -the \`--dry-run' option if you just want to see what would be executed." - ;; - - install) - $ECHO \ -"Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... - -Install executables or libraries. - -INSTALL-COMMAND is the installation command. The first component should be -either the \`install' or \`cp' program. - -The following components of INSTALL-COMMAND are treated specially: - - -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation - -The rest of the components are interpreted as arguments to that command (only -BSD-compatible install options are recognized)." - ;; - - link) - $ECHO \ -"Usage: $progname [OPTION]... --mode=link LINK-COMMAND... - -Link object files or libraries together to form another library, or to -create an executable program. - -LINK-COMMAND is a command using the C compiler that you would use to create -a program from several object files. - -The following components of LINK-COMMAND are treated specially: - - -all-static do not do any dynamic linking at all - -avoid-version do not add a version suffix if possible - -bindir BINDIR specify path to binaries directory (for systems where - libraries must be found in the PATH setting at runtime) - -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime - -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols - -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) - -export-symbols SYMFILE - try to export only the symbols listed in SYMFILE - -export-symbols-regex REGEX - try to export only the symbols matching REGEX - -LLIBDIR search LIBDIR for required installed libraries - -lNAME OUTPUT-FILE requires the installed library libNAME - -module build a library that can dlopened - -no-fast-install disable the fast-install mode - -no-install link a not-installable executable - -no-undefined declare that a library does not refer to external symbols - -o OUTPUT-FILE create OUTPUT-FILE from the specified objects - -objectlist FILE Use a list of object files found in FILE to specify objects - -precious-files-regex REGEX - don't remove output files matching REGEX - -release RELEASE specify package release information - -rpath LIBDIR the created library will eventually be installed in LIBDIR - -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries - -shared only do dynamic linking of libtool libraries - -shrext SUFFIX override the standard shared library file extension - -static do not do any dynamic linking of uninstalled libtool libraries - -static-libtool-libs - do not do any dynamic linking of libtool libraries - -version-info CURRENT[:REVISION[:AGE]] - specify library version info [each variable defaults to 0] - -weak LIBNAME declare that the target provides the LIBNAME interface - -Wc,FLAG - -Xcompiler FLAG pass linker-specific FLAG directly to the compiler - -Wl,FLAG - -Xlinker FLAG pass linker-specific FLAG directly to the linker - -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) - -All other options (arguments beginning with \`-') are ignored. - -Every other argument is treated as a filename. Files ending in \`.la' are -treated as uninstalled libtool libraries, other files are standard or library -object files. - -If the OUTPUT-FILE ends in \`.la', then a libtool library is created, -only library objects (\`.lo' files) may be specified, and \`-rpath' is -required, except when creating a convenience library. - -If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created -using \`ar' and \`ranlib', or on Windows using \`lib'. - -If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file -is created, otherwise an executable program is created." - ;; - - uninstall) - $ECHO \ -"Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... - -Remove libraries from an installation directory. - -RM is the name of the program to use to delete files associated with each FILE -(typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed -to RM. - -If FILE is a libtool library, all the files associated with it are deleted. -Otherwise, only FILE itself is deleted using RM." - ;; - - *) - func_fatal_help "invalid operation mode \`$opt_mode'" - ;; - esac - - echo - $ECHO "Try \`$progname --help' for more information about other modes." -} - -# Now that we've collected a possible --mode arg, show help if necessary -if $opt_help; then - if test "$opt_help" = :; then - func_mode_help - else - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - func_mode_help - done - } | sed -n '1p; 2,$s/^Usage:/ or: /p' - { - func_help noexit - for opt_mode in compile link execute install finish uninstall clean; do - echo - func_mode_help - done - } | - sed '1d - /^When reporting/,/^Report/{ - H - d - } - $x - /information about other modes/d - /more detailed .*MODE/d - s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' - fi - exit $? -fi - - -# func_mode_execute arg... -func_mode_execute () -{ - $opt_debug - # The first argument is the command name. - cmd="$nonopt" - test -z "$cmd" && \ - func_fatal_help "you must specify a COMMAND" - - # Handle -dlopen flags immediately. - for file in $opt_dlopen; do - test -f "$file" \ - || func_fatal_help "\`$file' is not a file" - - dir= - case $file in - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$lib' is not a valid libtool archive" - - # Read the libtool library. - dlname= - library_names= - func_source "$file" - - # Skip this library if it cannot be dlopened. - if test -z "$dlname"; then - # Warn if it was a shared library. - test -n "$library_names" && \ - func_warning "\`$file' was not linked with \`-export-dynamic'" - continue - fi - - func_dirname "$file" "" "." - dir="$func_dirname_result" - - if test -f "$dir/$objdir/$dlname"; then - func_append dir "/$objdir" - else - if test ! -f "$dir/$dlname"; then - func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" - fi - fi - ;; - - *.lo) - # Just add the directory containing the .lo file. - func_dirname "$file" "" "." - dir="$func_dirname_result" - ;; - - *) - func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" - continue - ;; - esac - - # Get the absolute pathname. - absdir=`cd "$dir" && pwd` - test -n "$absdir" && dir="$absdir" - - # Now add the directory to shlibpath_var. - if eval "test -z \"\$$shlibpath_var\""; then - eval "$shlibpath_var=\"\$dir\"" - else - eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" - fi - done - - # This variable tells wrapper scripts just to set shlibpath_var - # rather than running their programs. - libtool_execute_magic="$magic" - - # Check if any of the arguments is a wrapper script. - args= - for file - do - case $file in - -* | *.la | *.lo ) ;; - *) - # Do a test to see if this is really a libtool program. - if func_ltwrapper_script_p "$file"; then - func_source "$file" - # Transform arg to wrapped name. - file="$progdir/$program" - elif func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - func_source "$func_ltwrapper_scriptname_result" - # Transform arg to wrapped name. - file="$progdir/$program" - fi - ;; - esac - # Quote arguments (to preserve shell metacharacters). - func_append_quoted args "$file" - done - - if test "X$opt_dry_run" = Xfalse; then - if test -n "$shlibpath_var"; then - # Export the shlibpath_var. - eval "export $shlibpath_var" - fi - - # Restore saved environment variables - for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES - do - eval "if test \"\${save_$lt_var+set}\" = set; then - $lt_var=\$save_$lt_var; export $lt_var - else - $lt_unset $lt_var - fi" - done - - # Now prepare to actually exec the command. - exec_cmd="\$cmd$args" - else - # Display what would be done. - if test -n "$shlibpath_var"; then - eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" - echo "export $shlibpath_var" - fi - $ECHO "$cmd$args" - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = execute && func_mode_execute ${1+"$@"} - - -# func_mode_finish arg... -func_mode_finish () -{ - $opt_debug - libs= - libdirs= - admincmds= - - for opt in "$nonopt" ${1+"$@"} - do - if test -d "$opt"; then - func_append libdirs " $opt" - - elif test -f "$opt"; then - if func_lalib_unsafe_p "$opt"; then - func_append libs " $opt" - else - func_warning "\`$opt' is not a valid libtool archive" - fi - - else - func_fatal_error "invalid argument \`$opt'" - fi - done - - if test -n "$libs"; then - if test -n "$lt_sysroot"; then - sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` - sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" - else - sysroot_cmd= - fi - - # Remove sysroot references - if $opt_dry_run; then - for lib in $libs; do - echo "removing references to $lt_sysroot and \`=' prefixes from $lib" - done - else - tmpdir=`func_mktempdir` - for lib in $libs; do - sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ - > $tmpdir/tmp-la - mv -f $tmpdir/tmp-la $lib - done - ${RM}r "$tmpdir" - fi - fi - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - for libdir in $libdirs; do - if test -n "$finish_cmds"; then - # Do each command in the finish commands. - func_execute_cmds "$finish_cmds" 'admincmds="$admincmds -'"$cmd"'"' - fi - if test -n "$finish_eval"; then - # Do the single finish_eval. - eval cmds=\"$finish_eval\" - $opt_dry_run || eval "$cmds" || func_append admincmds " - $cmds" - fi - done - fi - - # Exit here if they wanted silent mode. - $opt_silent && exit $EXIT_SUCCESS - - if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then - echo "----------------------------------------------------------------------" - echo "Libraries have been installed in:" - for libdir in $libdirs; do - $ECHO " $libdir" - done - echo - echo "If you ever happen to want to link against installed libraries" - echo "in a given directory, LIBDIR, you must either use libtool, and" - echo "specify the full pathname of the library, or use the \`-LLIBDIR'" - echo "flag during linking and do at least one of the following:" - if test -n "$shlibpath_var"; then - echo " - add LIBDIR to the \`$shlibpath_var' environment variable" - echo " during execution" - fi - if test -n "$runpath_var"; then - echo " - add LIBDIR to the \`$runpath_var' environment variable" - echo " during linking" - fi - if test -n "$hardcode_libdir_flag_spec"; then - libdir=LIBDIR - eval flag=\"$hardcode_libdir_flag_spec\" - - $ECHO " - use the \`$flag' linker flag" - fi - if test -n "$admincmds"; then - $ECHO " - have your system administrator run these commands:$admincmds" - fi - if test -f /etc/ld.so.conf; then - echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" - fi - echo - - echo "See any operating system documentation about shared libraries for" - case $host in - solaris2.[6789]|solaris2.1[0-9]) - echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" - echo "pages." - ;; - *) - echo "more information, such as the ld(1) and ld.so(8) manual pages." - ;; - esac - echo "----------------------------------------------------------------------" - fi - exit $EXIT_SUCCESS -} - -test "$opt_mode" = finish && func_mode_finish ${1+"$@"} - - -# func_mode_install arg... -func_mode_install () -{ - $opt_debug - # There may be an optional sh(1) argument at the beginning of - # install_prog (especially on Windows NT). - if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || - # Allow the use of GNU shtool's install command. - case $nonopt in *shtool*) :;; *) false;; esac; then - # Aesthetically quote it. - func_quote_for_eval "$nonopt" - install_prog="$func_quote_for_eval_result " - arg=$1 - shift - else - install_prog= - arg=$nonopt - fi - - # The real first argument should be the name of the installation program. - # Aesthetically quote it. - func_quote_for_eval "$arg" - func_append install_prog "$func_quote_for_eval_result" - install_shared_prog=$install_prog - case " $install_prog " in - *[\\\ /]cp\ *) install_cp=: ;; - *) install_cp=false ;; - esac - - # We need to accept at least all the BSD install flags. - dest= - files= - opts= - prev= - install_type= - isdir=no - stripme= - no_mode=: - for arg - do - arg2= - if test -n "$dest"; then - func_append files " $dest" - dest=$arg - continue - fi - - case $arg in - -d) isdir=yes ;; - -f) - if $install_cp; then :; else - prev=$arg - fi - ;; - -g | -m | -o) - prev=$arg - ;; - -s) - stripme=" -s" - continue - ;; - -*) - ;; - *) - # If the previous option needed an argument, then skip it. - if test -n "$prev"; then - if test "x$prev" = x-m && test -n "$install_override_mode"; then - arg2=$install_override_mode - no_mode=false - fi - prev= - else - dest=$arg - continue - fi - ;; - esac - - # Aesthetically quote the argument. - func_quote_for_eval "$arg" - func_append install_prog " $func_quote_for_eval_result" - if test -n "$arg2"; then - func_quote_for_eval "$arg2" - fi - func_append install_shared_prog " $func_quote_for_eval_result" - done - - test -z "$install_prog" && \ - func_fatal_help "you must specify an install program" - - test -n "$prev" && \ - func_fatal_help "the \`$prev' option requires an argument" - - if test -n "$install_override_mode" && $no_mode; then - if $install_cp; then :; else - func_quote_for_eval "$install_override_mode" - func_append install_shared_prog " -m $func_quote_for_eval_result" - fi - fi - - if test -z "$files"; then - if test -z "$dest"; then - func_fatal_help "no file or destination specified" - else - func_fatal_help "you must specify a destination" - fi - fi - - # Strip any trailing slash from the destination. - func_stripname '' '/' "$dest" - dest=$func_stripname_result - - # Check to see that the destination is a directory. - test -d "$dest" && isdir=yes - if test "$isdir" = yes; then - destdir="$dest" - destname= - else - func_dirname_and_basename "$dest" "" "." - destdir="$func_dirname_result" - destname="$func_basename_result" - - # Not a directory, so check to see that there is only one file specified. - set dummy $files; shift - test "$#" -gt 1 && \ - func_fatal_help "\`$dest' is not a directory" - fi - case $destdir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - for file in $files; do - case $file in - *.lo) ;; - *) - func_fatal_help "\`$destdir' must be an absolute directory name" - ;; - esac - done - ;; - esac - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - staticlibs= - future_libdirs= - current_libdirs= - for file in $files; do - - # Do each installation. - case $file in - *.$libext) - # Do the static libraries later. - func_append staticlibs " $file" - ;; - - *.la) - func_resolve_sysroot "$file" - file=$func_resolve_sysroot_result - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$file" \ - || func_fatal_help "\`$file' is not a valid libtool archive" - - library_names= - old_library= - relink_command= - func_source "$file" - - # Add the libdir to current_libdirs if it is the destination. - if test "X$destdir" = "X$libdir"; then - case "$current_libdirs " in - *" $libdir "*) ;; - *) func_append current_libdirs " $libdir" ;; - esac - else - # Note the libdir as a future libdir. - case "$future_libdirs " in - *" $libdir "*) ;; - *) func_append future_libdirs " $libdir" ;; - esac - fi - - func_dirname "$file" "/" "" - dir="$func_dirname_result" - func_append dir "$objdir" - - if test -n "$relink_command"; then - # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` - - # Don't allow the user to place us outside of our expected - # location b/c this prevents finding dependent libraries that - # are installed to the same prefix. - # At present, this check doesn't affect windows .dll's that - # are installed into $libdir/../bin (currently, that works fine) - # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" - - if test -n "$inst_prefix_dir"; then - # Stick the inst_prefix_dir data into the link command. - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` - else - relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` - fi - - func_warning "relinking \`$file'" - func_show_eval "$relink_command" \ - 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' - fi - - # See the names of the shared library. - set dummy $library_names; shift - if test -n "$1"; then - realname="$1" - shift - - srcname="$realname" - test -n "$relink_command" && srcname="$realname"T - - # Install the shared library and build the symlinks. - func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ - 'exit $?' - tstripme="$stripme" - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - case $realname in - *.dll.a) - tstripme="" - ;; - esac - ;; - esac - if test -n "$tstripme" && test -n "$striplib"; then - func_show_eval "$striplib $destdir/$realname" 'exit $?' - fi - - if test "$#" -gt 0; then - # Delete the old symlinks, and create new ones. - # Try `ln -sf' first, because the `ln' binary might depend on - # the symlink we replace! Solaris /bin/ln does not understand -f, - # so we also need to try rm && ln -s. - for linkname - do - test "$linkname" != "$realname" \ - && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" - done - fi - - # Do each command in the postinstall commands. - lib="$destdir/$realname" - func_execute_cmds "$postinstall_cmds" 'exit $?' - fi - - # Install the pseudo-library for information purposes. - func_basename "$file" - name="$func_basename_result" - instname="$dir/$name"i - func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' - - # Maybe install the static library, too. - test -n "$old_library" && func_append staticlibs " $dir/$old_library" - ;; - - *.lo) - # Install (i.e. copy) a libtool object. - - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # Deduce the name of the destination old-style object file. - case $destfile in - *.lo) - func_lo2o "$destfile" - staticdest=$func_lo2o_result - ;; - *.$objext) - staticdest="$destfile" - destfile= - ;; - *) - func_fatal_help "cannot copy a libtool object to \`$destfile'" - ;; - esac - - # Install the libtool object if requested. - test -n "$destfile" && \ - func_show_eval "$install_prog $file $destfile" 'exit $?' - - # Install the old object if enabled. - if test "$build_old_libs" = yes; then - # Deduce the name of the old-style object file. - func_lo2o "$file" - staticobj=$func_lo2o_result - func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' - fi - exit $EXIT_SUCCESS - ;; - - *) - # Figure out destination file name, if it wasn't already specified. - if test -n "$destname"; then - destfile="$destdir/$destname" - else - func_basename "$file" - destfile="$func_basename_result" - destfile="$destdir/$destfile" - fi - - # If the file is missing, and there is a .exe on the end, strip it - # because it is most likely a libtool script we actually want to - # install - stripped_ext="" - case $file in - *.exe) - if test ! -f "$file"; then - func_stripname '' '.exe' "$file" - file=$func_stripname_result - stripped_ext=".exe" - fi - ;; - esac - - # Do a test to see if this is really a libtool program. - case $host in - *cygwin* | *mingw*) - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - wrapper=$func_ltwrapper_scriptname_result - else - func_stripname '' '.exe' "$file" - wrapper=$func_stripname_result - fi - ;; - *) - wrapper=$file - ;; - esac - if func_ltwrapper_script_p "$wrapper"; then - notinst_deplibs= - relink_command= - - func_source "$wrapper" - - # Check the variables that should have been set. - test -z "$generated_by_libtool_version" && \ - func_fatal_error "invalid libtool wrapper script \`$wrapper'" - - finalize=yes - for lib in $notinst_deplibs; do - # Check to see that each library is installed. - libdir= - if test -f "$lib"; then - func_source "$lib" - fi - libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test - if test -n "$libdir" && test ! -f "$libfile"; then - func_warning "\`$lib' has not been installed in \`$libdir'" - finalize=no - fi - done - - relink_command= - func_source "$wrapper" - - outputname= - if test "$fast_install" = no && test -n "$relink_command"; then - $opt_dry_run || { - if test "$finalize" = yes; then - tmpdir=`func_mktempdir` - func_basename "$file$stripped_ext" - file="$func_basename_result" - outputname="$tmpdir/$file" - # Replace the output file specification. - relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` - - $opt_silent || { - func_quote_for_expand "$relink_command" - eval "func_echo $func_quote_for_expand_result" - } - if eval "$relink_command"; then : - else - func_error "error: relink \`$file' with the above command before installing it" - $opt_dry_run || ${RM}r "$tmpdir" - continue - fi - file="$outputname" - else - func_warning "cannot relink \`$file'" - fi - } - else - # Install the binary that we compiled earlier. - file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` - fi - fi - - # remove .exe since cygwin /usr/bin/install will append another - # one anyway - case $install_prog,$host in - */usr/bin/install*,*cygwin*) - case $file:$destfile in - *.exe:*.exe) - # this is ok - ;; - *.exe:*) - destfile=$destfile.exe - ;; - *:*.exe) - func_stripname '' '.exe' "$destfile" - destfile=$func_stripname_result - ;; - esac - ;; - esac - func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' - $opt_dry_run || if test -n "$outputname"; then - ${RM}r "$tmpdir" - fi - ;; - esac - done - - for file in $staticlibs; do - func_basename "$file" - name="$func_basename_result" - - # Set up the ranlib parameters. - oldlib="$destdir/$name" - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - - func_show_eval "$install_prog \$file \$oldlib" 'exit $?' - - if test -n "$stripme" && test -n "$old_striplib"; then - func_show_eval "$old_striplib $tool_oldlib" 'exit $?' - fi - - # Do each command in the postinstall commands. - func_execute_cmds "$old_postinstall_cmds" 'exit $?' - done - - test -n "$future_libdirs" && \ - func_warning "remember to run \`$progname --finish$future_libdirs'" - - if test -n "$current_libdirs"; then - # Maybe just do a dry run. - $opt_dry_run && current_libdirs=" -n$current_libdirs" - exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' - else - exit $EXIT_SUCCESS - fi -} - -test "$opt_mode" = install && func_mode_install ${1+"$@"} - - -# func_generate_dlsyms outputname originator pic_p -# Extract symbols from dlprefiles and create ${outputname}S.o with -# a dlpreopen symbol table. -func_generate_dlsyms () -{ - $opt_debug - my_outputname="$1" - my_originator="$2" - my_pic_p="${3-no}" - my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` - my_dlsyms= - - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - if test -n "$NM" && test -n "$global_symbol_pipe"; then - my_dlsyms="${my_outputname}S.c" - else - func_error "not configured to extract global symbols from dlpreopened files" - fi - fi - - if test -n "$my_dlsyms"; then - case $my_dlsyms in - "") ;; - *.c) - # Discover the nlist of each of the dlfiles. - nlist="$output_objdir/${my_outputname}.nm" - - func_show_eval "$RM $nlist ${nlist}S ${nlist}T" - - # Parse the name list into a source file. - func_verbose "creating $output_objdir/$my_dlsyms" - - $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ -/* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ -/* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ - -#ifdef __cplusplus -extern \"C\" { -#endif - -#if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) -#pragma GCC diagnostic ignored \"-Wstrict-prototypes\" -#endif - -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -/* External symbol declarations for the compiler. */\ -" - - if test "$dlself" = yes; then - func_verbose "generating symbol list for \`$output'" - - $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" - - # Add our own program objects to the symbol list. - progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` - for progfile in $progfiles; do - func_to_tool_file "$progfile" func_convert_file_msys_to_w32 - func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" - $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" - done - - if test -n "$exclude_expsyms"; then - $opt_dry_run || { - eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - if test -n "$export_symbols_regex"; then - $opt_dry_run || { - eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - } - fi - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - export_symbols="$output_objdir/$outputname.exp" - $opt_dry_run || { - $RM $export_symbols - eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' - ;; - esac - } - else - $opt_dry_run || { - eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' - eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' - eval '$MV "$nlist"T "$nlist"' - case $host in - *cygwin* | *mingw* | *cegcc* ) - eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' - eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' - ;; - esac - } - fi - fi - - for dlprefile in $dlprefiles; do - func_verbose "extracting global C symbols from \`$dlprefile'" - func_basename "$dlprefile" - name="$func_basename_result" - case $host in - *cygwin* | *mingw* | *cegcc* ) - # if an import library, we need to obtain dlname - if func_win32_import_lib_p "$dlprefile"; then - func_tr_sh "$dlprefile" - eval "curr_lafile=\$libfile_$func_tr_sh_result" - dlprefile_dlbasename="" - if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then - # Use subshell, to avoid clobbering current variable values - dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` - if test -n "$dlprefile_dlname" ; then - func_basename "$dlprefile_dlname" - dlprefile_dlbasename="$func_basename_result" - else - # no lafile. user explicitly requested -dlpreopen . - $sharedlib_from_linklib_cmd "$dlprefile" - dlprefile_dlbasename=$sharedlib_from_linklib_result - fi - fi - $opt_dry_run || { - if test -n "$dlprefile_dlbasename" ; then - eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' - else - func_warning "Could not compute DLL name from $name" - eval '$ECHO ": $name " >> "$nlist"' - fi - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | - $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" - } - else # not an import lib - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - fi - ;; - *) - $opt_dry_run || { - eval '$ECHO ": $name " >> "$nlist"' - func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 - eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" - } - ;; - esac - done - - $opt_dry_run || { - # Make sure we have at least an empty file. - test -f "$nlist" || : > "$nlist" - - if test -n "$exclude_expsyms"; then - $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T - $MV "$nlist"T "$nlist" - fi - - # Try sorting and uniquifying the output. - if $GREP -v "^: " < "$nlist" | - if sort -k 3 /dev/null 2>&1; then - sort -k 3 - else - sort +2 - fi | - uniq > "$nlist"S; then - : - else - $GREP -v "^: " < "$nlist" > "$nlist"S - fi - - if test -f "$nlist"S; then - eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' - else - echo '/* NONE */' >> "$output_objdir/$my_dlsyms" - fi - - echo >> "$output_objdir/$my_dlsyms" "\ - -/* The mapping between symbol names and symbols. */ -typedef struct { - const char *name; - void *address; -} lt_dlsymlist; -extern LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[]; -LT_DLSYM_CONST lt_dlsymlist -lt_${my_prefix}_LTX_preloaded_symbols[] = -{\ - { \"$my_originator\", (void *) 0 }," - - case $need_lib_prefix in - no) - eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - *) - eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" - ;; - esac - echo >> "$output_objdir/$my_dlsyms" "\ - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt_${my_prefix}_LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif\ -" - } # !$opt_dry_run - - pic_flag_for_symtable= - case "$compile_command " in - *" -static "*) ;; - *) - case $host in - # compiling the symbol table file with pic_flag works around - # a FreeBSD bug that causes programs to crash when -lm is - # linked before any other PIC object. But we must not use - # pic_flag when linking with -static. The problem exists in - # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. - *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) - pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; - *-*-hpux*) - pic_flag_for_symtable=" $pic_flag" ;; - *) - if test "X$my_pic_p" != Xno; then - pic_flag_for_symtable=" $pic_flag" - fi - ;; - esac - ;; - esac - symtab_cflags= - for arg in $LTCFLAGS; do - case $arg in - -pie | -fpie | -fPIE) ;; - *) func_append symtab_cflags " $arg" ;; - esac - done - - # Now compile the dynamic symbol file. - func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' - - # Clean up the generated files. - func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' - - # Transform the symbol file into the correct name. - symfileobj="$output_objdir/${my_outputname}S.$objext" - case $host in - *cygwin* | *mingw* | *cegcc* ) - if test -f "$output_objdir/$my_outputname.def"; then - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` - else - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - fi - ;; - *) - compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` - ;; - esac - ;; - *) - func_fatal_error "unknown suffix for \`$my_dlsyms'" - ;; - esac - else - # We keep going just in case the user didn't refer to - # lt_preloaded_symbols. The linker will fail if global_symbol_pipe - # really was required. - - # Nullify the symbol file. - compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` - finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` - fi -} - -# func_win32_libid arg -# return the library type of file 'arg' -# -# Need a lot of goo to handle *both* DLLs and import libs -# Has to be a shell function in order to 'eat' the argument -# that is supplied when $file_magic_command is called. -# Despite the name, also deal with 64 bit binaries. -func_win32_libid () -{ - $opt_debug - win32_libid_type="unknown" - win32_fileres=`file -L $1 2>/dev/null` - case $win32_fileres in - *ar\ archive\ import\ library*) # definitely import - win32_libid_type="x86 archive import" - ;; - *ar\ archive*) # could be an import, or static - # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. - if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | - $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then - func_to_tool_file "$1" func_convert_file_msys_to_w32 - win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | - $SED -n -e ' - 1,100{ - / I /{ - s,.*,import, - p - q - } - }'` - case $win32_nmres in - import*) win32_libid_type="x86 archive import";; - *) win32_libid_type="x86 archive static";; - esac - fi - ;; - *DLL*) - win32_libid_type="x86 DLL" - ;; - *executable*) # but shell scripts are "executable" too... - case $win32_fileres in - *MS\ Windows\ PE\ Intel*) - win32_libid_type="x86 DLL" - ;; - esac - ;; - esac - $ECHO "$win32_libid_type" -} - -# func_cygming_dll_for_implib ARG -# -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib () -{ - $opt_debug - sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` -} - -# func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs -# -# The is the core of a fallback implementation of a -# platform-specific function to extract the name of the -# DLL associated with the specified import library LIBNAME. -# -# SECTION_NAME is either .idata$6 or .idata$7, depending -# on the platform and compiler that created the implib. -# -# Echos the name of the DLL associated with the -# specified import library. -func_cygming_dll_for_implib_fallback_core () -{ - $opt_debug - match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` - $OBJDUMP -s --section "$1" "$2" 2>/dev/null | - $SED '/^Contents of section '"$match_literal"':/{ - # Place marker at beginning of archive member dllname section - s/.*/====MARK====/ - p - d - } - # These lines can sometimes be longer than 43 characters, but - # are always uninteresting - /:[ ]*file format pe[i]\{,1\}-/d - /^In archive [^:]*:/d - # Ensure marker is printed - /^====MARK====/p - # Remove all lines with less than 43 characters - /^.\{43\}/!d - # From remaining lines, remove first 43 characters - s/^.\{43\}//' | - $SED -n ' - # Join marker and all lines until next marker into a single line - /^====MARK====/ b para - H - $ b para - b - :para - x - s/\n//g - # Remove the marker - s/^====MARK====// - # Remove trailing dots and whitespace - s/[\. \t]*$// - # Print - /./p' | - # we now have a list, one entry per line, of the stringified - # contents of the appropriate section of all members of the - # archive which possess that section. Heuristic: eliminate - # all those which have a first or second character that is - # a '.' (that is, objdump's representation of an unprintable - # character.) This should work for all archives with less than - # 0x302f exports -- but will fail for DLLs whose name actually - # begins with a literal '.' or a single character followed by - # a '.'. - # - # Of those that remain, print the first one. - $SED -e '/^\./d;/^.\./d;q' -} - -# func_cygming_gnu_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is a GNU/binutils-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_gnu_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` - test -n "$func_cygming_gnu_implib_tmp" -} - -# func_cygming_ms_implib_p ARG -# This predicate returns with zero status (TRUE) if -# ARG is an MS-style import library. Returns -# with nonzero status (FALSE) otherwise. -func_cygming_ms_implib_p () -{ - $opt_debug - func_to_tool_file "$1" func_convert_file_msys_to_w32 - func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` - test -n "$func_cygming_ms_implib_tmp" -} - -# func_cygming_dll_for_implib_fallback ARG -# Platform-specific function to extract the -# name of the DLL associated with the specified -# import library ARG. -# -# This fallback implementation is for use when $DLLTOOL -# does not support the --identify-strict option. -# Invoked by eval'ing the libtool variable -# $sharedlib_from_linklib_cmd -# Result is available in the variable -# $sharedlib_from_linklib_result -func_cygming_dll_for_implib_fallback () -{ - $opt_debug - if func_cygming_gnu_implib_p "$1" ; then - # binutils import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` - elif func_cygming_ms_implib_p "$1" ; then - # ms-generated import library - sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` - else - # unknown - sharedlib_from_linklib_result="" - fi -} - - -# func_extract_an_archive dir oldlib -func_extract_an_archive () -{ - $opt_debug - f_ex_an_ar_dir="$1"; shift - f_ex_an_ar_oldlib="$1" - if test "$lock_old_archive_extraction" = yes; then - lockfile=$f_ex_an_ar_oldlib.lock - until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do - func_echo "Waiting for $lockfile to be removed" - sleep 2 - done - fi - func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ - 'stat=$?; rm -f "$lockfile"; exit $stat' - if test "$lock_old_archive_extraction" = yes; then - $opt_dry_run || rm -f "$lockfile" - fi - if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then - : - else - func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" - fi -} - - -# func_extract_archives gentop oldlib ... -func_extract_archives () -{ - $opt_debug - my_gentop="$1"; shift - my_oldlibs=${1+"$@"} - my_oldobjs="" - my_xlib="" - my_xabs="" - my_xdir="" - - for my_xlib in $my_oldlibs; do - # Extract the objects. - case $my_xlib in - [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; - *) my_xabs=`pwd`"/$my_xlib" ;; - esac - func_basename "$my_xlib" - my_xlib="$func_basename_result" - my_xlib_u=$my_xlib - while :; do - case " $extracted_archives " in - *" $my_xlib_u "*) - func_arith $extracted_serial + 1 - extracted_serial=$func_arith_result - my_xlib_u=lt$extracted_serial-$my_xlib ;; - *) break ;; - esac - done - extracted_archives="$extracted_archives $my_xlib_u" - my_xdir="$my_gentop/$my_xlib_u" - - func_mkdir_p "$my_xdir" - - case $host in - *-darwin*) - func_verbose "Extracting $my_xabs" - # Do not bother doing anything if just a dry run - $opt_dry_run || { - darwin_orig_dir=`pwd` - cd $my_xdir || exit $? - darwin_archive=$my_xabs - darwin_curdir=`pwd` - darwin_base_archive=`basename "$darwin_archive"` - darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` - if test -n "$darwin_arches"; then - darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` - darwin_arch= - func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" - for darwin_arch in $darwin_arches ; do - func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" - $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" - cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" - func_extract_an_archive "`pwd`" "${darwin_base_archive}" - cd "$darwin_curdir" - $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" - done # $darwin_arches - ## Okay now we've a bunch of thin objects, gotta fatten them up :) - darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` - darwin_file= - darwin_files= - for darwin_file in $darwin_filelist; do - darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` - $LIPO -create -output "$darwin_file" $darwin_files - done # $darwin_filelist - $RM -rf unfat-$$ - cd "$darwin_orig_dir" - else - cd $darwin_orig_dir - func_extract_an_archive "$my_xdir" "$my_xabs" - fi # $darwin_arches - } # !$opt_dry_run - ;; - *) - func_extract_an_archive "$my_xdir" "$my_xabs" - ;; - esac - my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` - done - - func_extract_archives_result="$my_oldobjs" -} - - -# func_emit_wrapper [arg=no] -# -# Emit a libtool wrapper script on stdout. -# Don't directly open a file because we may want to -# incorporate the script contents within a cygwin/mingw -# wrapper executable. Must ONLY be called from within -# func_mode_link because it depends on a number of variables -# set therein. -# -# ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR -# variable will take. If 'yes', then the emitted script -# will assume that the directory in which it is stored is -# the $objdir directory. This is a cygwin/mingw-specific -# behavior. -func_emit_wrapper () -{ - func_emit_wrapper_arg1=${1-no} - - $ECHO "\ -#! $SHELL - -# $output - temporary wrapper script for $objdir/$outputname -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# The $output program cannot be directly executed until all the libtool -# libraries that it depends on are installed. -# -# This wrapper script should never be moved out of the build directory. -# If it is, it will not operate correctly. - -# Sed substitution that helps us do robust quoting. It backslashifies -# metacharacters that are still active within double-quoted strings. -sed_quote_subst='$sed_quote_subst' - -# Be Bourne compatible -if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then - emulate sh - NULLCMD=: - # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac -fi -BIN_SH=xpg4; export BIN_SH # for Tru64 -DUALCASE=1; export DUALCASE # for MKS sh - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -relink_command=\"$relink_command\" - -# This environment variable determines our operation mode. -if test \"\$libtool_install_magic\" = \"$magic\"; then - # install mode needs the following variables: - generated_by_libtool_version='$macro_version' - notinst_deplibs='$notinst_deplibs' -else - # When we are sourced in execute mode, \$file and \$ECHO are already set. - if test \"\$libtool_execute_magic\" != \"$magic\"; then - file=\"\$0\"" - - qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` - $ECHO "\ - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - ECHO=\"$qECHO\" - fi - -# Very basic option parsing. These options are (a) specific to -# the libtool wrapper, (b) are identical between the wrapper -# /script/ and the wrapper /executable/ which is used only on -# windows platforms, and (c) all begin with the string "--lt-" -# (application programs are unlikely to have options which match -# this pattern). -# -# There are only two supported options: --lt-debug and -# --lt-dump-script. There is, deliberately, no --lt-help. -# -# The first argument to this parsing function should be the -# script's $0 value, followed by "$@". -lt_option_debug= -func_parse_lt_options () -{ - lt_script_arg0=\$0 - shift - for lt_opt - do - case \"\$lt_opt\" in - --lt-debug) lt_option_debug=1 ;; - --lt-dump-script) - lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` - test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. - lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` - cat \"\$lt_dump_D/\$lt_dump_F\" - exit 0 - ;; - --lt-*) - \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 - exit 1 - ;; - esac - done - - # Print the debug banner immediately: - if test -n \"\$lt_option_debug\"; then - echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 - fi -} - -# Used when --lt-debug. Prints its arguments to stdout -# (redirection is the responsibility of the caller) -func_lt_dump_args () -{ - lt_dump_args_N=1; - for lt_arg - do - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" - lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` - done -} - -# Core function for launching the target application -func_exec_program_core () -{ -" - case $host in - # Backslashes separate directories on plain windows - *-*-mingw | *-*-os2* | *-cegcc*) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} -" - ;; - - *) - $ECHO "\ - if test -n \"\$lt_option_debug\"; then - \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 - func_lt_dump_args \${1+\"\$@\"} 1>&2 - fi - exec \"\$progdir/\$program\" \${1+\"\$@\"} -" - ;; - esac - $ECHO "\ - \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 - exit 1 -} - -# A function to encapsulate launching the target application -# Strips options in the --lt-* namespace from \$@ and -# launches target application with the remaining arguments. -func_exec_program () -{ - case \" \$* \" in - *\\ --lt-*) - for lt_wr_arg - do - case \$lt_wr_arg in - --lt-*) ;; - *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; - esac - shift - done ;; - esac - func_exec_program_core \${1+\"\$@\"} -} - - # Parse options - func_parse_lt_options \"\$0\" \${1+\"\$@\"} - - # Find the directory that this script lives in. - thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` - test \"x\$thisdir\" = \"x\$file\" && thisdir=. - - # Follow symbolic links until we get to the real thisdir. - file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` - while test -n \"\$file\"; do - destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` - - # If there was a directory component, then change thisdir. - if test \"x\$destdir\" != \"x\$file\"; then - case \"\$destdir\" in - [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; - *) thisdir=\"\$thisdir/\$destdir\" ;; - esac - fi - - file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` - file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` - done - - # Usually 'no', except on cygwin/mingw when embedded into - # the cwrapper. - WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 - if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then - # special case for '.' - if test \"\$thisdir\" = \".\"; then - thisdir=\`pwd\` - fi - # remove .libs from thisdir - case \"\$thisdir\" in - *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; - $objdir ) thisdir=. ;; - esac - fi - - # Try to get the absolute directory name. - absdir=\`cd \"\$thisdir\" && pwd\` - test -n \"\$absdir\" && thisdir=\"\$absdir\" -" - - if test "$fast_install" = yes; then - $ECHO "\ - program=lt-'$outputname'$exeext - progdir=\"\$thisdir/$objdir\" - - if test ! -f \"\$progdir/\$program\" || - { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ - test \"X\$file\" != \"X\$progdir/\$program\"; }; then - - file=\"\$\$-\$program\" - - if test ! -d \"\$progdir\"; then - $MKDIR \"\$progdir\" - else - $RM \"\$progdir/\$file\" - fi" - - $ECHO "\ - - # relink executable if necessary - if test -n \"\$relink_command\"; then - if relink_command_output=\`eval \$relink_command 2>&1\`; then : - else - $ECHO \"\$relink_command_output\" >&2 - $RM \"\$progdir/\$file\" - exit 1 - fi - fi - - $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || - { $RM \"\$progdir/\$program\"; - $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } - $RM \"\$progdir/\$file\" - fi" - else - $ECHO "\ - program='$outputname' - progdir=\"\$thisdir/$objdir\" -" - fi - - $ECHO "\ - - if test -f \"\$progdir/\$program\"; then" - - # fixup the dll searchpath if we need to. - # - # Fix the DLL searchpath if we need to. Do this before prepending - # to shlibpath, because on Windows, both are PATH and uninstalled - # libraries must come first. - if test -n "$dllsearchpath"; then - $ECHO "\ - # Add the dll search path components to the executable PATH - PATH=$dllsearchpath:\$PATH -" - fi - - # Export our shlibpath_var if we have one. - if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then - $ECHO "\ - # Add our own library path to $shlibpath_var - $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" - - # Some systems cannot cope with colon-terminated $shlibpath_var - # The second colon is a workaround for a bug in BeOS R4 sed - $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` - - export $shlibpath_var -" - fi - - $ECHO "\ - if test \"\$libtool_execute_magic\" != \"$magic\"; then - # Run the actual program with our arguments. - func_exec_program \${1+\"\$@\"} - fi - else - # The program doesn't exist. - \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 - \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 - \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 - exit 1 - fi -fi\ -" -} - - -# func_emit_cwrapperexe_src -# emit the source code for a wrapper executable on stdout -# Must ONLY be called from within func_mode_link because -# it depends on a number of variable set therein. -func_emit_cwrapperexe_src () -{ - cat < -#include -#ifdef _MSC_VER -# include -# include -# include -#else -# include -# include -# ifdef __CYGWIN__ -# include -# endif -#endif -#include -#include -#include -#include -#include -#include -#include -#include - -/* declarations of non-ANSI functions */ -#if defined(__MINGW32__) -# ifdef __STRICT_ANSI__ -int _putenv (const char *); -# endif -#elif defined(__CYGWIN__) -# ifdef __STRICT_ANSI__ -char *realpath (const char *, char *); -int putenv (char *); -int setenv (const char *, const char *, int); -# endif -/* #elif defined (other platforms) ... */ -#endif - -/* portability defines, excluding path handling macros */ -#if defined(_MSC_VER) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -# define S_IXUSR _S_IEXEC -# ifndef _INTPTR_T_DEFINED -# define _INTPTR_T_DEFINED -# define intptr_t int -# endif -#elif defined(__MINGW32__) -# define setmode _setmode -# define stat _stat -# define chmod _chmod -# define getcwd _getcwd -# define putenv _putenv -#elif defined(__CYGWIN__) -# define HAVE_SETENV -# define FOPEN_WB "wb" -/* #elif defined (other platforms) ... */ -#endif - -#if defined(PATH_MAX) -# define LT_PATHMAX PATH_MAX -#elif defined(MAXPATHLEN) -# define LT_PATHMAX MAXPATHLEN -#else -# define LT_PATHMAX 1024 -#endif - -#ifndef S_IXOTH -# define S_IXOTH 0 -#endif -#ifndef S_IXGRP -# define S_IXGRP 0 -#endif - -/* path handling portability macros */ -#ifndef DIR_SEPARATOR -# define DIR_SEPARATOR '/' -# define PATH_SEPARATOR ':' -#endif - -#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ - defined (__OS2__) -# define HAVE_DOS_BASED_FILE_SYSTEM -# define FOPEN_WB "wb" -# ifndef DIR_SEPARATOR_2 -# define DIR_SEPARATOR_2 '\\' -# endif -# ifndef PATH_SEPARATOR_2 -# define PATH_SEPARATOR_2 ';' -# endif -#endif - -#ifndef DIR_SEPARATOR_2 -# define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) -#else /* DIR_SEPARATOR_2 */ -# define IS_DIR_SEPARATOR(ch) \ - (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) -#endif /* DIR_SEPARATOR_2 */ - -#ifndef PATH_SEPARATOR_2 -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) -#else /* PATH_SEPARATOR_2 */ -# define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) -#endif /* PATH_SEPARATOR_2 */ - -#ifndef FOPEN_WB -# define FOPEN_WB "w" -#endif -#ifndef _O_BINARY -# define _O_BINARY 0 -#endif - -#define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) -#define XFREE(stale) do { \ - if (stale) { free ((void *) stale); stale = 0; } \ -} while (0) - -#if defined(LT_DEBUGWRAPPER) -static int lt_debug = 1; -#else -static int lt_debug = 0; -#endif - -const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ - -void *xmalloc (size_t num); -char *xstrdup (const char *string); -const char *base_name (const char *name); -char *find_executable (const char *wrapper); -char *chase_symlinks (const char *pathspec); -int make_executable (const char *path); -int check_executable (const char *path); -char *strendzap (char *str, const char *pat); -void lt_debugprintf (const char *file, int line, const char *fmt, ...); -void lt_fatal (const char *file, int line, const char *message, ...); -static const char *nonnull (const char *s); -static const char *nonempty (const char *s); -void lt_setenv (const char *name, const char *value); -char *lt_extend_str (const char *orig_value, const char *add, int to_end); -void lt_update_exe_path (const char *name, const char *value); -void lt_update_lib_path (const char *name, const char *value); -char **prepare_spawn (char **argv); -void lt_dump_script (FILE *f); -EOF - - cat <= 0) - && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) - return 1; - else - return 0; -} - -int -make_executable (const char *path) -{ - int rval = 0; - struct stat st; - - lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", - nonempty (path)); - if ((!path) || (!*path)) - return 0; - - if (stat (path, &st) >= 0) - { - rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); - } - return rval; -} - -/* Searches for the full path of the wrapper. Returns - newly allocated full path name if found, NULL otherwise - Does not chase symlinks, even on platforms that support them. -*/ -char * -find_executable (const char *wrapper) -{ - int has_slash = 0; - const char *p; - const char *p_next; - /* static buffer for getcwd */ - char tmp[LT_PATHMAX + 1]; - int tmp_len; - char *concat_name; - - lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", - nonempty (wrapper)); - - if ((wrapper == NULL) || (*wrapper == '\0')) - return NULL; - - /* Absolute path? */ -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - else - { -#endif - if (IS_DIR_SEPARATOR (wrapper[0])) - { - concat_name = xstrdup (wrapper); - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } -#if defined (HAVE_DOS_BASED_FILE_SYSTEM) - } -#endif - - for (p = wrapper; *p; p++) - if (*p == '/') - { - has_slash = 1; - break; - } - if (!has_slash) - { - /* no slashes; search PATH */ - const char *path = getenv ("PATH"); - if (path != NULL) - { - for (p = path; *p; p = p_next) - { - const char *q; - size_t p_len; - for (q = p; *q; q++) - if (IS_PATH_SEPARATOR (*q)) - break; - p_len = q - p; - p_next = (*q == '\0' ? q : q + 1); - if (p_len == 0) - { - /* empty path: current directory */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = - XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - } - else - { - concat_name = - XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, p, p_len); - concat_name[p_len] = '/'; - strcpy (concat_name + p_len + 1, wrapper); - } - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - } - } - /* not found in PATH; assume curdir */ - } - /* Relative path | not found in path: prepend cwd */ - if (getcwd (tmp, LT_PATHMAX) == NULL) - lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", - nonnull (strerror (errno))); - tmp_len = strlen (tmp); - concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); - memcpy (concat_name, tmp, tmp_len); - concat_name[tmp_len] = '/'; - strcpy (concat_name + tmp_len + 1, wrapper); - - if (check_executable (concat_name)) - return concat_name; - XFREE (concat_name); - return NULL; -} - -char * -chase_symlinks (const char *pathspec) -{ -#ifndef S_ISLNK - return xstrdup (pathspec); -#else - char buf[LT_PATHMAX]; - struct stat s; - char *tmp_pathspec = xstrdup (pathspec); - char *p; - int has_symlinks = 0; - while (strlen (tmp_pathspec) && !has_symlinks) - { - lt_debugprintf (__FILE__, __LINE__, - "checking path component for symlinks: %s\n", - tmp_pathspec); - if (lstat (tmp_pathspec, &s) == 0) - { - if (S_ISLNK (s.st_mode) != 0) - { - has_symlinks = 1; - break; - } - - /* search backwards for last DIR_SEPARATOR */ - p = tmp_pathspec + strlen (tmp_pathspec) - 1; - while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - p--; - if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) - { - /* no more DIR_SEPARATORS left */ - break; - } - *p = '\0'; - } - else - { - lt_fatal (__FILE__, __LINE__, - "error accessing file \"%s\": %s", - tmp_pathspec, nonnull (strerror (errno))); - } - } - XFREE (tmp_pathspec); - - if (!has_symlinks) - { - return xstrdup (pathspec); - } - - tmp_pathspec = realpath (pathspec, buf); - if (tmp_pathspec == 0) - { - lt_fatal (__FILE__, __LINE__, - "could not follow symlinks for %s", pathspec); - } - return xstrdup (tmp_pathspec); -#endif -} - -char * -strendzap (char *str, const char *pat) -{ - size_t len, patlen; - - assert (str != NULL); - assert (pat != NULL); - - len = strlen (str); - patlen = strlen (pat); - - if (patlen <= len) - { - str += len - patlen; - if (strcmp (str, pat) == 0) - *str = '\0'; - } - return str; -} - -void -lt_debugprintf (const char *file, int line, const char *fmt, ...) -{ - va_list args; - if (lt_debug) - { - (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); - va_start (args, fmt); - (void) vfprintf (stderr, fmt, args); - va_end (args); - } -} - -static void -lt_error_core (int exit_status, const char *file, - int line, const char *mode, - const char *message, va_list ap) -{ - fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); - vfprintf (stderr, message, ap); - fprintf (stderr, ".\n"); - - if (exit_status >= 0) - exit (exit_status); -} - -void -lt_fatal (const char *file, int line, const char *message, ...) -{ - va_list ap; - va_start (ap, message); - lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); - va_end (ap); -} - -static const char * -nonnull (const char *s) -{ - return s ? s : "(null)"; -} - -static const char * -nonempty (const char *s) -{ - return (s && !*s) ? "(empty)" : nonnull (s); -} - -void -lt_setenv (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_setenv) setting '%s' to '%s'\n", - nonnull (name), nonnull (value)); - { -#ifdef HAVE_SETENV - /* always make a copy, for consistency with !HAVE_SETENV */ - char *str = xstrdup (value); - setenv (name, str, 1); -#else - int len = strlen (name) + 1 + strlen (value) + 1; - char *str = XMALLOC (char, len); - sprintf (str, "%s=%s", name, value); - if (putenv (str) != EXIT_SUCCESS) - { - XFREE (str); - } -#endif - } -} - -char * -lt_extend_str (const char *orig_value, const char *add, int to_end) -{ - char *new_value; - if (orig_value && *orig_value) - { - int orig_value_len = strlen (orig_value); - int add_len = strlen (add); - new_value = XMALLOC (char, add_len + orig_value_len + 1); - if (to_end) - { - strcpy (new_value, orig_value); - strcpy (new_value + orig_value_len, add); - } - else - { - strcpy (new_value, add); - strcpy (new_value + add_len, orig_value); - } - } - else - { - new_value = xstrdup (add); - } - return new_value; -} - -void -lt_update_exe_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - /* some systems can't cope with a ':'-terminated path #' */ - int len = strlen (new_value); - while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) - { - new_value[len-1] = '\0'; - } - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -void -lt_update_lib_path (const char *name, const char *value) -{ - lt_debugprintf (__FILE__, __LINE__, - "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", - nonnull (name), nonnull (value)); - - if (name && *name && value && *value) - { - char *new_value = lt_extend_str (getenv (name), value, 0); - lt_setenv (name, new_value); - XFREE (new_value); - } -} - -EOF - case $host_os in - mingw*) - cat <<"EOF" - -/* Prepares an argument vector before calling spawn(). - Note that spawn() does not by itself call the command interpreter - (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : - ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); - GetVersionEx(&v); - v.dwPlatformId == VER_PLATFORM_WIN32_NT; - }) ? "cmd.exe" : "command.com"). - Instead it simply concatenates the arguments, separated by ' ', and calls - CreateProcess(). We must quote the arguments since Win32 CreateProcess() - interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a - special way: - - Space and tab are interpreted as delimiters. They are not treated as - delimiters if they are surrounded by double quotes: "...". - - Unescaped double quotes are removed from the input. Their only effect is - that within double quotes, space and tab are treated like normal - characters. - - Backslashes not followed by double quotes are not special. - - But 2*n+1 backslashes followed by a double quote become - n backslashes followed by a double quote (n >= 0): - \" -> " - \\\" -> \" - \\\\\" -> \\" - */ -#define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -#define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" -char ** -prepare_spawn (char **argv) -{ - size_t argc; - char **new_argv; - size_t i; - - /* Count number of arguments. */ - for (argc = 0; argv[argc] != NULL; argc++) - ; - - /* Allocate new argument vector. */ - new_argv = XMALLOC (char *, argc + 1); - - /* Put quoted arguments into the new argument vector. */ - for (i = 0; i < argc; i++) - { - const char *string = argv[i]; - - if (string[0] == '\0') - new_argv[i] = xstrdup ("\"\""); - else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) - { - int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); - size_t length; - unsigned int backslashes; - const char *s; - char *quoted_string; - char *p; - - length = 0; - backslashes = 0; - if (quote_around) - length++; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - length += backslashes + 1; - length++; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - length += backslashes + 1; - - quoted_string = XMALLOC (char, length + 1); - - p = quoted_string; - backslashes = 0; - if (quote_around) - *p++ = '"'; - for (s = string; *s != '\0'; s++) - { - char c = *s; - if (c == '"') - { - unsigned int j; - for (j = backslashes + 1; j > 0; j--) - *p++ = '\\'; - } - *p++ = c; - if (c == '\\') - backslashes++; - else - backslashes = 0; - } - if (quote_around) - { - unsigned int j; - for (j = backslashes; j > 0; j--) - *p++ = '\\'; - *p++ = '"'; - } - *p = '\0'; - - new_argv[i] = quoted_string; - } - else - new_argv[i] = (char *) string; - } - new_argv[argc] = NULL; - - return new_argv; -} -EOF - ;; - esac - - cat <<"EOF" -void lt_dump_script (FILE* f) -{ -EOF - func_emit_wrapper yes | - $SED -n -e ' -s/^\(.\{79\}\)\(..*\)/\1\ -\2/ -h -s/\([\\"]\)/\\\1/g -s/$/\\n/ -s/\([^\n]*\).*/ fputs ("\1", f);/p -g -D' - cat <<"EOF" -} -EOF -} -# end: func_emit_cwrapperexe_src - -# func_win32_import_lib_p ARG -# True if ARG is an import lib, as indicated by $file_magic_cmd -func_win32_import_lib_p () -{ - $opt_debug - case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in - *import*) : ;; - *) false ;; - esac -} - -# func_mode_link arg... -func_mode_link () -{ - $opt_debug - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - # It is impossible to link a dll without this setting, and - # we shouldn't force the makefile maintainer to figure out - # which system we are compiling for in order to pass an extra - # flag for every libtool invocation. - # allow_undefined=no - - # FIXME: Unfortunately, there are problems with the above when trying - # to make a dll which has undefined symbols, in which case not - # even a static library is built. For now, we need to specify - # -no-undefined on the libtool link line when we can be certain - # that all symbols are satisfied, otherwise we get a static library. - allow_undefined=yes - ;; - *) - allow_undefined=yes - ;; - esac - libtool_args=$nonopt - base_compile="$nonopt $@" - compile_command=$nonopt - finalize_command=$nonopt - - compile_rpath= - finalize_rpath= - compile_shlibpath= - finalize_shlibpath= - convenience= - old_convenience= - deplibs= - old_deplibs= - compiler_flags= - linker_flags= - dllsearchpath= - lib_search_path=`pwd` - inst_prefix_dir= - new_inherited_linker_flags= - - avoid_version=no - bindir= - dlfiles= - dlprefiles= - dlself=no - export_dynamic=no - export_symbols= - export_symbols_regex= - generated= - libobjs= - ltlibs= - module=no - no_install=no - objs= - non_pic_objects= - precious_files_regex= - prefer_static_libs=no - preload=no - prev= - prevarg= - release= - rpath= - xrpath= - perm_rpath= - temp_rpath= - thread_safe=no - vinfo= - vinfo_number=no - weak_libs= - single_module="${wl}-single_module" - func_infer_tag $base_compile - - # We need to know -static, to get the right output filenames. - for arg - do - case $arg in - -shared) - test "$build_libtool_libs" != yes && \ - func_fatal_configuration "can not build a shared library" - build_old_libs=no - break - ;; - -all-static | -static | -static-libtool-libs) - case $arg in - -all-static) - if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then - func_warning "complete static linking is impossible in this configuration" - fi - if test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - -static) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=built - ;; - -static-libtool-libs) - if test -z "$pic_flag" && test -n "$link_static_flag"; then - dlopen_self=$dlopen_self_static - fi - prefer_static_libs=yes - ;; - esac - build_libtool_libs=no - build_old_libs=yes - break - ;; - esac - done - - # See if our shared archives depend on static archives. - test -n "$old_archive_from_new_cmds" && build_old_libs=yes - - # Go through the arguments, transforming them on the way. - while test "$#" -gt 0; do - arg="$1" - shift - func_quote_for_eval "$arg" - qarg=$func_quote_for_eval_unquoted_result - func_append libtool_args " $func_quote_for_eval_result" - - # If the previous option needs an argument, assign it. - if test -n "$prev"; then - case $prev in - output) - func_append compile_command " @OUTPUT@" - func_append finalize_command " @OUTPUT@" - ;; - esac - - case $prev in - bindir) - bindir="$arg" - prev= - continue - ;; - dlfiles|dlprefiles) - if test "$preload" = no; then - # Add the symbol object into the linking commands. - func_append compile_command " @SYMFILE@" - func_append finalize_command " @SYMFILE@" - preload=yes - fi - case $arg in - *.la | *.lo) ;; # We handle these cases below. - force) - if test "$dlself" = no; then - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - self) - if test "$prev" = dlprefiles; then - dlself=yes - elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then - dlself=yes - else - dlself=needless - export_dynamic=yes - fi - prev= - continue - ;; - *) - if test "$prev" = dlfiles; then - func_append dlfiles " $arg" - else - func_append dlprefiles " $arg" - fi - prev= - continue - ;; - esac - ;; - expsyms) - export_symbols="$arg" - test -f "$arg" \ - || func_fatal_error "symbol file \`$arg' does not exist" - prev= - continue - ;; - expsyms_regex) - export_symbols_regex="$arg" - prev= - continue - ;; - framework) - case $host in - *-*-darwin*) - case "$deplibs " in - *" $qarg.ltframework "*) ;; - *) func_append deplibs " $qarg.ltframework" # this is fixed later - ;; - esac - ;; - esac - prev= - continue - ;; - inst_prefix) - inst_prefix_dir="$arg" - prev= - continue - ;; - objectlist) - if test -f "$arg"; then - save_arg=$arg - moreargs= - for fil in `cat "$save_arg"` - do -# func_append moreargs " $fil" - arg=$fil - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - done - else - func_fatal_error "link input file \`$arg' does not exist" - fi - arg=$save_arg - prev= - continue - ;; - precious_regex) - precious_files_regex="$arg" - prev= - continue - ;; - release) - release="-$arg" - prev= - continue - ;; - rpath | xrpath) - # We need an absolute path. - case $arg in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - if test "$prev" = rpath; then - case "$rpath " in - *" $arg "*) ;; - *) func_append rpath " $arg" ;; - esac - else - case "$xrpath " in - *" $arg "*) ;; - *) func_append xrpath " $arg" ;; - esac - fi - prev= - continue - ;; - shrext) - shrext_cmds="$arg" - prev= - continue - ;; - weak) - func_append weak_libs " $arg" - prev= - continue - ;; - xcclinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xcompiler) - func_append compiler_flags " $qarg" - prev= - func_append compile_command " $qarg" - func_append finalize_command " $qarg" - continue - ;; - xlinker) - func_append linker_flags " $qarg" - func_append compiler_flags " $wl$qarg" - prev= - func_append compile_command " $wl$qarg" - func_append finalize_command " $wl$qarg" - continue - ;; - *) - eval "$prev=\"\$arg\"" - prev= - continue - ;; - esac - fi # test -n "$prev" - - prevarg="$arg" - - case $arg in - -all-static) - if test -n "$link_static_flag"; then - # See comment for -static flag below, for more details. - func_append compile_command " $link_static_flag" - func_append finalize_command " $link_static_flag" - fi - continue - ;; - - -allow-undefined) - # FIXME: remove this flag sometime in the future. - func_fatal_error "\`-allow-undefined' must not be used because it is the default" - ;; - - -avoid-version) - avoid_version=yes - continue - ;; - - -bindir) - prev=bindir - continue - ;; - - -dlopen) - prev=dlfiles - continue - ;; - - -dlpreopen) - prev=dlprefiles - continue - ;; - - -export-dynamic) - export_dynamic=yes - continue - ;; - - -export-symbols | -export-symbols-regex) - if test -n "$export_symbols" || test -n "$export_symbols_regex"; then - func_fatal_error "more than one -exported-symbols argument is not allowed" - fi - if test "X$arg" = "X-export-symbols"; then - prev=expsyms - else - prev=expsyms_regex - fi - continue - ;; - - -framework) - prev=framework - continue - ;; - - -inst-prefix-dir) - prev=inst_prefix - continue - ;; - - # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* - # so, if we see these flags be careful not to treat them like -L - -L[A-Z][A-Z]*:*) - case $with_gcc/$host in - no/*-*-irix* | /*-*-irix*) - func_append compile_command " $arg" - func_append finalize_command " $arg" - ;; - esac - continue - ;; - - -L*) - func_stripname "-L" '' "$arg" - if test -z "$func_stripname_result"; then - if test "$#" -gt 0; then - func_fatal_error "require no space between \`-L' and \`$1'" - else - func_fatal_error "need path for \`-L' option" - fi - fi - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - *) - absdir=`cd "$dir" && pwd` - test -z "$absdir" && \ - func_fatal_error "cannot determine absolute directory name of \`$dir'" - dir="$absdir" - ;; - esac - case "$deplibs " in - *" -L$dir "* | *" $arg "*) - # Will only happen for absolute or sysroot arguments - ;; - *) - # Preserve sysroot, but never include relative directories - case $dir in - [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; - *) func_append deplibs " -L$dir" ;; - esac - func_append lib_search_path " $dir" - ;; - esac - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$dir:"*) ;; - ::) dllsearchpath=$dir;; - *) func_append dllsearchpath ":$dir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - continue - ;; - - -l*) - if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) - # These systems don't actually have a C or math library (as such) - continue - ;; - *-*-os2*) - # These systems don't actually have a C library (as such) - test "X$arg" = "X-lc" && continue - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - test "X$arg" = "X-lc" && continue - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C and math libraries are in the System framework - func_append deplibs " System.ltframework" - continue - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - test "X$arg" = "X-lc" && continue - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - test "X$arg" = "X-lc" && continue - ;; - esac - elif test "X$arg" = "X-lc_r"; then - case $host in - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc_r directly, use -pthread flag. - continue - ;; - esac - fi - func_append deplibs " $arg" - continue - ;; - - -module) - module=yes - continue - ;; - - # Tru64 UNIX uses -model [arg] to determine the layout of C++ - # classes, name mangling, and exception handling. - # Darwin uses the -arch flag to determine output architecture. - -model|-arch|-isysroot|--sysroot) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - prev=xcompiler - continue - ;; - - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - func_append compiler_flags " $arg" - func_append compile_command " $arg" - func_append finalize_command " $arg" - case "$new_inherited_linker_flags " in - *" $arg "*) ;; - * ) func_append new_inherited_linker_flags " $arg" ;; - esac - continue - ;; - - -multi_module) - single_module="${wl}-multi_module" - continue - ;; - - -no-fast-install) - fast_install=no - continue - ;; - - -no-install) - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) - # The PATH hackery in wrapper scripts is required on Windows - # and Darwin in order for the loader to find any dlls it needs. - func_warning "\`-no-install' is ignored for $host" - func_warning "assuming \`-no-fast-install' instead" - fast_install=no - ;; - *) no_install=yes ;; - esac - continue - ;; - - -no-undefined) - allow_undefined=no - continue - ;; - - -objectlist) - prev=objectlist - continue - ;; - - -o) prev=output ;; - - -precious-files-regex) - prev=precious_regex - continue - ;; - - -release) - prev=release - continue - ;; - - -rpath) - prev=rpath - continue - ;; - - -R) - prev=xrpath - continue - ;; - - -R*) - func_stripname '-R' '' "$arg" - dir=$func_stripname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) ;; - =*) - func_stripname '=' '' "$dir" - dir=$lt_sysroot$func_stripname_result - ;; - *) - func_fatal_error "only absolute run-paths are allowed" - ;; - esac - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - continue - ;; - - -shared) - # The effects of -shared are defined in a previous loop. - continue - ;; - - -shrext) - prev=shrext - continue - ;; - - -static | -static-libtool-libs) - # The effects of -static are defined in a previous loop. - # We used to do the same as -all-static on platforms that - # didn't have a PIC flag, but the assumption that the effects - # would be equivalent was wrong. It would break on at least - # Digital Unix and AIX. - continue - ;; - - -thread-safe) - thread_safe=yes - continue - ;; - - -version-info) - prev=vinfo - continue - ;; - - -version-number) - prev=vinfo - vinfo_number=yes - continue - ;; - - -weak) - prev=weak - continue - ;; - - -Wc,*) - func_stripname '-Wc,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $func_quote_for_eval_result" - func_append compiler_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Wl,*) - func_stripname '-Wl,' '' "$arg" - args=$func_stripname_result - arg= - save_ifs="$IFS"; IFS=',' - for flag in $args; do - IFS="$save_ifs" - func_quote_for_eval "$flag" - func_append arg " $wl$func_quote_for_eval_result" - func_append compiler_flags " $wl$func_quote_for_eval_result" - func_append linker_flags " $func_quote_for_eval_result" - done - IFS="$save_ifs" - func_stripname ' ' '' "$arg" - arg=$func_stripname_result - ;; - - -Xcompiler) - prev=xcompiler - continue - ;; - - -Xlinker) - prev=xlinker - continue - ;; - - -XCClinker) - prev=xcclinker - continue - ;; - - # -msg_* for osf cc - -msg_*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - # Flags to be passed through unchanged, with rationale: - # -64, -mips[0-9] enable 64-bit mode for the SGI compiler - # -r[0-9][0-9]* specify processor for the SGI compiler - # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler - # +DA*, +DD* enable 64-bit mode for the HP compiler - # -q* compiler args for the IBM compiler - # -m*, -t[45]*, -txscale* architecture-specific flags for GCC - # -F/path path to uninstalled frameworks, gcc on darwin - # -p, -pg, --coverage, -fprofile-* profiling flags for GCC - # @file GCC response files - # -tp=* Portland pgcc target processor selection - # --sysroot=* for sysroot support - # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization - -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ - -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ - -O*|-flto*|-fwhopr*|-fuse-linker-plugin) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - func_append compile_command " $arg" - func_append finalize_command " $arg" - func_append compiler_flags " $arg" - continue - ;; - - # Some other compiler flag. - -* | +*) - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - - *.$objext) - # A standard object. - func_append objs " $arg" - ;; - - *.lo) - # A libtool-controlled object. - - # Check to see that this really is a libtool object. - if func_lalib_unsafe_p "$arg"; then - pic_object= - non_pic_object= - - # Read the .lo file - func_source "$arg" - - if test -z "$pic_object" || - test -z "$non_pic_object" || - test "$pic_object" = none && - test "$non_pic_object" = none; then - func_fatal_error "cannot find name of object for \`$arg'" - fi - - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - if test "$pic_object" != none; then - # Prepend the subdirectory the object is found in. - pic_object="$xdir$pic_object" - - if test "$prev" = dlfiles; then - if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then - func_append dlfiles " $pic_object" - prev= - continue - else - # If libtool objects are unsupported, then we need to preload. - prev=dlprefiles - fi - fi - - # CHECK ME: I think I busted this. -Ossama - if test "$prev" = dlprefiles; then - # Preload the old-style object. - func_append dlprefiles " $pic_object" - prev= - fi - - # A PIC object. - func_append libobjs " $pic_object" - arg="$pic_object" - fi - - # Non-PIC object. - if test "$non_pic_object" != none; then - # Prepend the subdirectory the object is found in. - non_pic_object="$xdir$non_pic_object" - - # A standard non-PIC object - func_append non_pic_objects " $non_pic_object" - if test -z "$pic_object" || test "$pic_object" = none ; then - arg="$non_pic_object" - fi - else - # If the PIC object exists, use it instead. - # $xdir was prepended to $pic_object above. - non_pic_object="$pic_object" - func_append non_pic_objects " $non_pic_object" - fi - else - # Only an error if not doing a dry-run. - if $opt_dry_run; then - # Extract subdirectory from the argument. - func_dirname "$arg" "/" "" - xdir="$func_dirname_result" - - func_lo2o "$arg" - pic_object=$xdir$objdir/$func_lo2o_result - non_pic_object=$xdir$func_lo2o_result - func_append libobjs " $pic_object" - func_append non_pic_objects " $non_pic_object" - else - func_fatal_error "\`$arg' is not a valid libtool object" - fi - fi - ;; - - *.$libext) - # An archive. - func_append deplibs " $arg" - func_append old_deplibs " $arg" - continue - ;; - - *.la) - # A libtool-controlled library. - - func_resolve_sysroot "$arg" - if test "$prev" = dlfiles; then - # This library was specified with -dlopen. - func_append dlfiles " $func_resolve_sysroot_result" - prev= - elif test "$prev" = dlprefiles; then - # The library was specified with -dlpreopen. - func_append dlprefiles " $func_resolve_sysroot_result" - prev= - else - func_append deplibs " $func_resolve_sysroot_result" - fi - continue - ;; - - # Some other compiler argument. - *) - # Unknown arguments in both finalize_command and compile_command need - # to be aesthetically quoted because they are evaled later. - func_quote_for_eval "$arg" - arg="$func_quote_for_eval_result" - ;; - esac # arg - - # Now actually substitute the argument into the commands. - if test -n "$arg"; then - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - done # argument parsing loop - - test -n "$prev" && \ - func_fatal_help "the \`$prevarg' option requires an argument" - - if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then - eval arg=\"$export_dynamic_flag_spec\" - func_append compile_command " $arg" - func_append finalize_command " $arg" - fi - - oldlibs= - # calculate the name of the file, without its directory - func_basename "$output" - outputname="$func_basename_result" - libobjs_save="$libobjs" - - if test -n "$shlibpath_var"; then - # get the directories listed in $shlibpath_var - eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` - else - shlib_search_path= - fi - eval sys_lib_search_path=\"$sys_lib_search_path_spec\" - eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" - - func_dirname "$output" "/" "" - output_objdir="$func_dirname_result$objdir" - func_to_tool_file "$output_objdir/" - tool_output_objdir=$func_to_tool_file_result - # Create the object directory. - func_mkdir_p "$output_objdir" - - # Determine the type of output - case $output in - "") - func_fatal_help "you must specify an output file" - ;; - *.$libext) linkmode=oldlib ;; - *.lo | *.$objext) linkmode=obj ;; - *.la) linkmode=lib ;; - *) linkmode=prog ;; # Anything else should be a program. - esac - - specialdeplibs= - - libs= - # Find all interdependent deplibs by searching for libraries - # that are linked more than once (e.g. -la -lb -la) - for deplib in $deplibs; do - if $opt_preserve_dup_deps ; then - case "$libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append libs " $deplib" - done - - if test "$linkmode" = lib; then - libs="$predeps $libs $compiler_lib_search_path $postdeps" - - # Compute libraries that are listed more than once in $predeps - # $postdeps and mark them as special (i.e., whose duplicates are - # not to be eliminated). - pre_post_deps= - if $opt_duplicate_compiler_generated_deps; then - for pre_post_dep in $predeps $postdeps; do - case "$pre_post_deps " in - *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; - esac - func_append pre_post_deps " $pre_post_dep" - done - fi - pre_post_deps= - fi - - deplibs= - newdependency_libs= - newlib_search_path= - need_relink=no # whether we're linking any uninstalled libtool libraries - notinst_deplibs= # not-installed libtool libraries - notinst_path= # paths that contain not-installed libtool libraries - - case $linkmode in - lib) - passes="conv dlpreopen link" - for file in $dlfiles $dlprefiles; do - case $file in - *.la) ;; - *) - func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" - ;; - esac - done - ;; - prog) - compile_deplibs= - finalize_deplibs= - alldeplibs=no - newdlfiles= - newdlprefiles= - passes="conv scan dlopen dlpreopen link" - ;; - *) passes="conv" - ;; - esac - - for pass in $passes; do - # The preopen pass in lib mode reverses $deplibs; put it back here - # so that -L comes before libs that need it for instance... - if test "$linkmode,$pass" = "lib,link"; then - ## FIXME: Find the place where the list is rebuilt in the wrong - ## order, and fix it there properly - tmp_deplibs= - for deplib in $deplibs; do - tmp_deplibs="$deplib $tmp_deplibs" - done - deplibs="$tmp_deplibs" - fi - - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan"; then - libs="$deplibs" - deplibs= - fi - if test "$linkmode" = prog; then - case $pass in - dlopen) libs="$dlfiles" ;; - dlpreopen) libs="$dlprefiles" ;; - link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; - esac - fi - if test "$linkmode,$pass" = "lib,dlpreopen"; then - # Collect and forward deplibs of preopened libtool libs - for lib in $dlprefiles; do - # Ignore non-libtool-libs - dependency_libs= - func_resolve_sysroot "$lib" - case $lib in - *.la) func_source "$func_resolve_sysroot_result" ;; - esac - - # Collect preopened libtool deplibs, except any this library - # has declared as weak libs - for deplib in $dependency_libs; do - func_basename "$deplib" - deplib_base=$func_basename_result - case " $weak_libs " in - *" $deplib_base "*) ;; - *) func_append deplibs " $deplib" ;; - esac - done - done - libs="$dlprefiles" - fi - if test "$pass" = dlopen; then - # Collect dlpreopened libraries - save_deplibs="$deplibs" - deplibs= - fi - - for deplib in $libs; do - lib= - found=no - case $deplib in - -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ - |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append compiler_flags " $deplib" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -l*) - if test "$linkmode" != lib && test "$linkmode" != prog; then - func_warning "\`-l' is ignored for archives/objects" - continue - fi - func_stripname '-l' '' "$deplib" - name=$func_stripname_result - if test "$linkmode" = lib; then - searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" - else - searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" - fi - for searchdir in $searchdirs; do - for search_ext in .la $std_shrext .so .a; do - # Search the libtool library - lib="$searchdir/lib${name}${search_ext}" - if test -f "$lib"; then - if test "$search_ext" = ".la"; then - found=yes - else - found=no - fi - break 2 - fi - done - done - if test "$found" != yes; then - # deplib doesn't seem to be a libtool library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - else # deplib is a libtool library - # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, - # We need to do some special things here, and not later. - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $deplib "*) - if func_lalib_p "$lib"; then - library_names= - old_library= - func_source "$lib" - for l in $old_library $library_names; do - ll="$l" - done - if test "X$ll" = "X$old_library" ; then # only static version available - found=no - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - lib=$ladir/$old_library - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" - fi - continue - fi - fi - ;; - *) ;; - esac - fi - fi - ;; # -l - *.ltframework) - if test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - deplibs="$deplib $deplibs" - if test "$linkmode" = lib ; then - case "$new_inherited_linker_flags " in - *" $deplib "*) ;; - * ) func_append new_inherited_linker_flags " $deplib" ;; - esac - fi - fi - continue - ;; - -L*) - case $linkmode in - lib) - deplibs="$deplib $deplibs" - test "$pass" = conv && continue - newdependency_libs="$deplib $newdependency_libs" - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - prog) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - if test "$pass" = scan; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - *) - func_warning "\`-L' is ignored for archives/objects" - ;; - esac # linkmode - continue - ;; # -L - -R*) - if test "$pass" = link; then - func_stripname '-R' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - dir=$func_resolve_sysroot_result - # Make sure the xrpath contains only unique directories. - case "$xrpath " in - *" $dir "*) ;; - *) func_append xrpath " $dir" ;; - esac - fi - deplibs="$deplib $deplibs" - continue - ;; - *.la) - func_resolve_sysroot "$deplib" - lib=$func_resolve_sysroot_result - ;; - *.$libext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - continue - fi - case $linkmode in - lib) - # Linking convenience modules into shared libraries is allowed, - # but linking other static libraries is non-portable. - case " $dlpreconveniencelibs " in - *" $deplib "*) ;; - *) - valid_a_lib=no - case $deplibs_check_method in - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ - | $EGREP "$match_pattern_regex" > /dev/null; then - valid_a_lib=yes - fi - ;; - pass_all) - valid_a_lib=yes - ;; - esac - if test "$valid_a_lib" != yes; then - echo - $ECHO "*** Warning: Trying to link with static lib archive $deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because the file extensions .$libext of this argument makes me believe" - echo "*** that it is just a static archive that I should not use here." - else - echo - $ECHO "*** Warning: Linking the shared library $output against the" - $ECHO "*** static library $deplib is not portable!" - deplibs="$deplib $deplibs" - fi - ;; - esac - continue - ;; - prog) - if test "$pass" != link; then - deplibs="$deplib $deplibs" - else - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - fi - continue - ;; - esac # linkmode - ;; # *.$libext - *.lo | *.$objext) - if test "$pass" = conv; then - deplibs="$deplib $deplibs" - elif test "$linkmode" = prog; then - if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then - # If there is no dlopen support or we're linking statically, - # we need to preload. - func_append newdlprefiles " $deplib" - compile_deplibs="$deplib $compile_deplibs" - finalize_deplibs="$deplib $finalize_deplibs" - else - func_append newdlfiles " $deplib" - fi - fi - continue - ;; - %DEPLIBS%) - alldeplibs=yes - continue - ;; - esac # case $deplib - - if test "$found" = yes || test -f "$lib"; then : - else - func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" - fi - - # Check to see that this really is a libtool archive. - func_lalib_unsafe_p "$lib" \ - || func_fatal_error "\`$lib' is not a valid libtool archive" - - func_dirname "$lib" "" "." - ladir="$func_dirname_result" - - dlname= - dlopen= - dlpreopen= - libdir= - library_names= - old_library= - inherited_linker_flags= - # If the library was installed with an old release of libtool, - # it will not redefine variables installed, or shouldnotlink - installed=yes - shouldnotlink=no - avoidtemprpath= - - - # Read the .la file - func_source "$lib" - - # Convert "-framework foo" to "foo.ltframework" - if test -n "$inherited_linker_flags"; then - tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` - for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do - case " $new_inherited_linker_flags " in - *" $tmp_inherited_linker_flag "*) ;; - *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; - esac - done - fi - dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - if test "$linkmode,$pass" = "lib,link" || - test "$linkmode,$pass" = "prog,scan" || - { test "$linkmode" != prog && test "$linkmode" != lib; }; then - test -n "$dlopen" && func_append dlfiles " $dlopen" - test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" - fi - - if test "$pass" = conv; then - # Only check for convenience libraries - deplibs="$lib $deplibs" - if test -z "$libdir"; then - if test -z "$old_library"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - # It is a libtool convenience library, so add in its objects. - func_append convenience " $ladir/$objdir/$old_library" - func_append old_convenience " $ladir/$objdir/$old_library" - elif test "$linkmode" != prog && test "$linkmode" != lib; then - func_fatal_error "\`$lib' is not a convenience library" - fi - tmp_libs= - for deplib in $dependency_libs; do - deplibs="$deplib $deplibs" - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done - continue - fi # $pass = conv - - - # Get the name of the library we link against. - linklib= - if test -n "$old_library" && - { test "$prefer_static_libs" = yes || - test "$prefer_static_libs,$installed" = "built,no"; }; then - linklib=$old_library - else - for l in $old_library $library_names; do - linklib="$l" - done - fi - if test -z "$linklib"; then - func_fatal_error "cannot find name of link library for \`$lib'" - fi - - # This library was specified with -dlopen. - if test "$pass" = dlopen; then - if test -z "$libdir"; then - func_fatal_error "cannot -dlopen a convenience library: \`$lib'" - fi - if test -z "$dlname" || - test "$dlopen_support" != yes || - test "$build_libtool_libs" = no; then - # If there is no dlname, no dlopen support or we're linking - # statically, we need to preload. We also need to preload any - # dependent libraries so libltdl's deplib preloader doesn't - # bomb out in the load deplibs phase. - func_append dlprefiles " $lib $dependency_libs" - else - func_append newdlfiles " $lib" - fi - continue - fi # $pass = dlopen - - # We need an absolute path. - case $ladir in - [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; - *) - abs_ladir=`cd "$ladir" && pwd` - if test -z "$abs_ladir"; then - func_warning "cannot determine absolute directory name of \`$ladir'" - func_warning "passing it literally to the linker, although it might fail" - abs_ladir="$ladir" - fi - ;; - esac - func_basename "$lib" - laname="$func_basename_result" - - # Find the relevant object directory and library name. - if test "X$installed" = Xyes; then - if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then - func_warning "library \`$lib' was moved." - dir="$ladir" - absdir="$abs_ladir" - libdir="$abs_ladir" - else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" - fi - test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes - else - if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then - dir="$ladir" - absdir="$abs_ladir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - else - dir="$ladir/$objdir" - absdir="$abs_ladir/$objdir" - # Remove this search path later - func_append notinst_path " $abs_ladir" - fi - fi # $installed = yes - func_stripname 'lib' '.la' "$laname" - name=$func_stripname_result - - # This library was specified with -dlpreopen. - if test "$pass" = dlpreopen; then - if test -z "$libdir" && test "$linkmode" = prog; then - func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" - fi - case "$host" in - # special handling for platforms with PE-DLLs. - *cygwin* | *mingw* | *cegcc* ) - # Linker will automatically link against shared library if both - # static and shared are present. Therefore, ensure we extract - # symbols from the import library if a shared library is present - # (otherwise, the dlopen module name will be incorrect). We do - # this by putting the import library name into $newdlprefiles. - # We recover the dlopen module name by 'saving' the la file - # name in a special purpose variable, and (later) extracting the - # dlname from the la file. - if test -n "$dlname"; then - func_tr_sh "$dir/$linklib" - eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" - func_append newdlprefiles " $dir/$linklib" - else - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - fi - ;; - * ) - # Prefer using a static library (so that no silly _DYNAMIC symbols - # are required to link). - if test -n "$old_library"; then - func_append newdlprefiles " $dir/$old_library" - # Keep a list of preopened convenience libraries to check - # that they are being used correctly in the link pass. - test -z "$libdir" && \ - func_append dlpreconveniencelibs " $dir/$old_library" - # Otherwise, use the dlname, so that lt_dlopen finds it. - elif test -n "$dlname"; then - func_append newdlprefiles " $dir/$dlname" - else - func_append newdlprefiles " $dir/$linklib" - fi - ;; - esac - fi # $pass = dlpreopen - - if test -z "$libdir"; then - # Link the convenience library - if test "$linkmode" = lib; then - deplibs="$dir/$old_library $deplibs" - elif test "$linkmode,$pass" = "prog,link"; then - compile_deplibs="$dir/$old_library $compile_deplibs" - finalize_deplibs="$dir/$old_library $finalize_deplibs" - else - deplibs="$lib $deplibs" # used for prog,scan pass - fi - continue - fi - - - if test "$linkmode" = prog && test "$pass" != link; then - func_append newlib_search_path " $ladir" - deplibs="$lib $deplibs" - - linkalldeplibs=no - if test "$link_all_deplibs" != no || test -z "$library_names" || - test "$build_libtool_libs" = no; then - linkalldeplibs=yes - fi - - tmp_libs= - for deplib in $dependency_libs; do - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result" - func_append newlib_search_path " $func_resolve_sysroot_result" - ;; - esac - # Need to link against all dependency_libs? - if test "$linkalldeplibs" = yes; then - deplibs="$deplib $deplibs" - else - # Need to hardcode shared library paths - # or/and link against static libraries - newdependency_libs="$deplib $newdependency_libs" - fi - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; - esac - fi - func_append tmp_libs " $deplib" - done # for deplib - continue - fi # $linkmode = prog... - - if test "$linkmode,$pass" = "prog,link"; then - if test -n "$library_names" && - { { test "$prefer_static_libs" = no || - test "$prefer_static_libs,$installed" = "built,yes"; } || - test -z "$old_library"; }; then - # We need to hardcode the library path - if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then - # Make sure the rpath contains only unique directories. - case "$temp_rpath:" in - *"$absdir:"*) ;; - *) func_append temp_rpath "$absdir:" ;; - esac - fi - - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi # $linkmode,$pass = prog,link... - - if test "$alldeplibs" = yes && - { test "$deplibs_check_method" = pass_all || - { test "$build_libtool_libs" = yes && - test -n "$library_names"; }; }; then - # We only need to search for static libraries - continue - fi - fi - - link_static=no # Whether the deplib will be linked statically - use_static_libs=$prefer_static_libs - if test "$use_static_libs" = built && test "$installed" = yes; then - use_static_libs=no - fi - if test -n "$library_names" && - { test "$use_static_libs" = no || test -z "$old_library"; }; then - case $host in - *cygwin* | *mingw* | *cegcc*) - # No point in relinking DLLs because paths are not encoded - func_append notinst_deplibs " $lib" - need_relink=no - ;; - *) - if test "$installed" = no; then - func_append notinst_deplibs " $lib" - need_relink=yes - fi - ;; - esac - # This is a shared library - - # Warn about portability, can't link against -module's on some - # systems (darwin). Don't bleat about dlopened modules though! - dlopenmodule="" - for dlpremoduletest in $dlprefiles; do - if test "X$dlpremoduletest" = "X$lib"; then - dlopenmodule="$dlpremoduletest" - break - fi - done - if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then - echo - if test "$linkmode" = prog; then - $ECHO "*** Warning: Linking the executable $output against the loadable module" - else - $ECHO "*** Warning: Linking the shared library $output against the loadable module" - fi - $ECHO "*** $linklib is not portable!" - fi - if test "$linkmode" = lib && - test "$hardcode_into_libs" = yes; then - # Hardcode the library path. - # Skip directories that are in the system default run-time - # search path. - case " $sys_lib_dlsearch_path " in - *" $absdir "*) ;; - *) - case "$compile_rpath " in - *" $absdir "*) ;; - *) func_append compile_rpath " $absdir" ;; - esac - ;; - esac - case " $sys_lib_dlsearch_path " in - *" $libdir "*) ;; - *) - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - ;; - esac - fi - - if test -n "$old_archive_from_expsyms_cmds"; then - # figure out the soname - set dummy $library_names - shift - realname="$1" - shift - libname=`eval "\\$ECHO \"$libname_spec\""` - # use dlname if we got it. it's perfectly good, no? - if test -n "$dlname"; then - soname="$dlname" - elif test -n "$soname_spec"; then - # bleh windows - case $host in - *cygwin* | mingw* | *cegcc*) - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - esac - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - - # Make a new name for the extract_expsyms_cmds to use - soroot="$soname" - func_basename "$soroot" - soname="$func_basename_result" - func_stripname 'lib' '.dll' "$soname" - newlib=libimp-$func_stripname_result.a - - # If the library has no export list, then create one now - if test -f "$output_objdir/$soname-def"; then : - else - func_verbose "extracting exported symbol list from \`$soname'" - func_execute_cmds "$extract_expsyms_cmds" 'exit $?' - fi - - # Create $newlib - if test -f "$output_objdir/$newlib"; then :; else - func_verbose "generating import library for \`$soname'" - func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' - fi - # make sure the library variables are pointing to the new library - dir=$output_objdir - linklib=$newlib - fi # test -n "$old_archive_from_expsyms_cmds" - - if test "$linkmode" = prog || test "$opt_mode" != relink; then - add_shlibpath= - add_dir= - add= - lib_linked=yes - case $hardcode_action in - immediate | unsupported) - if test "$hardcode_direct" = no; then - add="$dir/$linklib" - case $host in - *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; - *-*-sysv4*uw2*) add_dir="-L$dir" ;; - *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ - *-*-unixware7*) add_dir="-L$dir" ;; - *-*-darwin* ) - # if the lib is a (non-dlopened) module then we can not - # link against it, someone is ignoring the earlier warnings - if /usr/bin/file -L $add 2> /dev/null | - $GREP ": [^:]* bundle" >/dev/null ; then - if test "X$dlopenmodule" != "X$lib"; then - $ECHO "*** Warning: lib $linklib is a module, not a shared library" - if test -z "$old_library" ; then - echo - echo "*** And there doesn't seem to be a static archive available" - echo "*** The link will probably fail, sorry" - else - add="$dir/$old_library" - fi - elif test -n "$old_library"; then - add="$dir/$old_library" - fi - fi - esac - elif test "$hardcode_minus_L" = no; then - case $host in - *-*-sunos*) add_shlibpath="$dir" ;; - esac - add_dir="-L$dir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = no; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - relink) - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$dir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$absdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - add_shlibpath="$dir" - add="-l$name" - else - lib_linked=no - fi - ;; - *) lib_linked=no ;; - esac - - if test "$lib_linked" != yes; then - func_fatal_configuration "unsupported hardcode properties" - fi - - if test -n "$add_shlibpath"; then - case :$compile_shlibpath: in - *":$add_shlibpath:"*) ;; - *) func_append compile_shlibpath "$add_shlibpath:" ;; - esac - fi - if test "$linkmode" = prog; then - test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" - test -n "$add" && compile_deplibs="$add $compile_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - if test "$hardcode_direct" != yes && - test "$hardcode_minus_L" != yes && - test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - fi - fi - fi - - if test "$linkmode" = prog || test "$opt_mode" = relink; then - add_shlibpath= - add_dir= - add= - # Finalize command for both is simple: just hardcode it. - if test "$hardcode_direct" = yes && - test "$hardcode_direct_absolute" = no; then - add="$libdir/$linklib" - elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" - add="-l$name" - elif test "$hardcode_shlibpath_var" = yes; then - case :$finalize_shlibpath: in - *":$libdir:"*) ;; - *) func_append finalize_shlibpath "$libdir:" ;; - esac - add="-l$name" - elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && - test -f "$inst_prefix_dir$libdir/$linklib" ; then - add="$inst_prefix_dir$libdir/$linklib" - else - add="$libdir/$linklib" - fi - else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" - # Try looking first in the location we're being installed to. - if test -n "$inst_prefix_dir"; then - case $libdir in - [\\/]*) - func_append add_dir " -L$inst_prefix_dir$libdir" - ;; - esac - fi - add="-l$name" - fi - - if test "$linkmode" = prog; then - test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" - test -n "$add" && finalize_deplibs="$add $finalize_deplibs" - else - test -n "$add_dir" && deplibs="$add_dir $deplibs" - test -n "$add" && deplibs="$add $deplibs" - fi - fi - elif test "$linkmode" = prog; then - # Here we assume that one of hardcode_direct or hardcode_minus_L - # is not unsupported. This is valid on all known static and - # shared platforms. - if test "$hardcode_direct" != unsupported; then - test -n "$old_library" && linklib="$old_library" - compile_deplibs="$dir/$linklib $compile_deplibs" - finalize_deplibs="$dir/$linklib $finalize_deplibs" - else - compile_deplibs="-l$name -L$dir $compile_deplibs" - finalize_deplibs="-l$name -L$dir $finalize_deplibs" - fi - elif test "$build_libtool_libs" = yes; then - # Not a shared library - if test "$deplibs_check_method" != pass_all; then - # We're trying link a shared library against a static one - # but the system doesn't support it. - - # Just print a warning and add the library to dependency_libs so - # that the program can be linked against the static library. - echo - $ECHO "*** Warning: This system can not link to static lib archive $lib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have." - if test "$module" = yes; then - echo "*** But as you try to build a module library, libtool will still create " - echo "*** a static module, that should work as long as the dlopening application" - echo "*** is linked with the -dlopen flag to resolve symbols at runtime." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - else - deplibs="$dir/$old_library $deplibs" - link_static=yes - fi - fi # link shared/static library? - - if test "$linkmode" = lib; then - if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || - test "$build_old_libs" = yes || - test "$link_static" = yes; }; then - # Extract -R from dependency_libs - temp_deplibs= - for libdir in $dependency_libs; do - case $libdir in - -R*) func_stripname '-R' '' "$libdir" - temp_xrpath=$func_stripname_result - case " $xrpath " in - *" $temp_xrpath "*) ;; - *) func_append xrpath " $temp_xrpath";; - esac;; - *) func_append temp_deplibs " $libdir";; - esac - done - dependency_libs="$temp_deplibs" - fi - - func_append newlib_search_path " $absdir" - # Link against this library - test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" - # ... and its dependency_libs - tmp_libs= - for deplib in $dependency_libs; do - newdependency_libs="$deplib $newdependency_libs" - case $deplib in - -L*) func_stripname '-L' '' "$deplib" - func_resolve_sysroot "$func_stripname_result";; - *) func_resolve_sysroot "$deplib" ;; - esac - if $opt_preserve_dup_deps ; then - case "$tmp_libs " in - *" $func_resolve_sysroot_result "*) - func_append specialdeplibs " $func_resolve_sysroot_result" ;; - esac - fi - func_append tmp_libs " $func_resolve_sysroot_result" - done - - if test "$link_all_deplibs" != no; then - # Add the search paths of all dependency libraries - for deplib in $dependency_libs; do - path= - case $deplib in - -L*) path="$deplib" ;; - *.la) - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result - func_dirname "$deplib" "" "." - dir=$func_dirname_result - # We need an absolute path. - case $dir in - [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; - *) - absdir=`cd "$dir" && pwd` - if test -z "$absdir"; then - func_warning "cannot determine absolute directory name of \`$dir'" - absdir="$dir" - fi - ;; - esac - if $GREP "^installed=no" $deplib > /dev/null; then - case $host in - *-*-darwin*) - depdepl= - eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` - if test -n "$deplibrary_names" ; then - for tmp in $deplibrary_names ; do - depdepl=$tmp - done - if test -f "$absdir/$objdir/$depdepl" ; then - depdepl="$absdir/$objdir/$depdepl" - darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - if test -z "$darwin_install_name"; then - darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` - fi - func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" - func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" - path= - fi - fi - ;; - *) - path="-L$absdir/$objdir" - ;; - esac - else - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - test "$absdir" != "$libdir" && \ - func_warning "\`$deplib' seems to be moved" - - path="-L$absdir" - fi - ;; - esac - case " $deplibs " in - *" $path "*) ;; - *) deplibs="$path $deplibs" ;; - esac - done - fi # link_all_deplibs != no - fi # linkmode = lib - done # for deplib in $libs - if test "$pass" = link; then - if test "$linkmode" = "prog"; then - compile_deplibs="$new_inherited_linker_flags $compile_deplibs" - finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" - else - compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - fi - fi - dependency_libs="$newdependency_libs" - if test "$pass" = dlpreopen; then - # Link the dlpreopened libraries before other libraries - for deplib in $save_deplibs; do - deplibs="$deplib $deplibs" - done - fi - if test "$pass" != dlopen; then - if test "$pass" != conv; then - # Make sure lib_search_path contains only unique directories. - lib_search_path= - for dir in $newlib_search_path; do - case "$lib_search_path " in - *" $dir "*) ;; - *) func_append lib_search_path " $dir" ;; - esac - done - newlib_search_path= - fi - - if test "$linkmode,$pass" != "prog,link"; then - vars="deplibs" - else - vars="compile_deplibs finalize_deplibs" - fi - for var in $vars dependency_libs; do - # Add libraries to $var in reverse order - eval tmp_libs=\"\$$var\" - new_libs= - for deplib in $tmp_libs; do - # FIXME: Pedantically, this is the right thing to do, so - # that some nasty dependency loop isn't accidentally - # broken: - #new_libs="$deplib $new_libs" - # Pragmatically, this seems to cause very few problems in - # practice: - case $deplib in - -L*) new_libs="$deplib $new_libs" ;; - -R*) ;; - *) - # And here is the reason: when a library appears more - # than once as an explicit dependence of a library, or - # is implicitly linked in more than once by the - # compiler, it is considered special, and multiple - # occurrences thereof are not removed. Compare this - # with having the same library being listed as a - # dependency of multiple other libraries: in this case, - # we know (pedantically, we assume) the library does not - # need to be listed more than once, so we keep only the - # last copy. This is not always right, but it is rare - # enough that we require users that really mean to play - # such unportable linking tricks to link the library - # using -Wl,-lname, so that libtool does not consider it - # for duplicate removal. - case " $specialdeplibs " in - *" $deplib "*) new_libs="$deplib $new_libs" ;; - *) - case " $new_libs " in - *" $deplib "*) ;; - *) new_libs="$deplib $new_libs" ;; - esac - ;; - esac - ;; - esac - done - tmp_libs= - for deplib in $new_libs; do - case $deplib in - -L*) - case " $tmp_libs " in - *" $deplib "*) ;; - *) func_append tmp_libs " $deplib" ;; - esac - ;; - *) func_append tmp_libs " $deplib" ;; - esac - done - eval $var=\"$tmp_libs\" - done # for var - fi - # Last step: remove runtime libs from dependency_libs - # (they stay in deplibs) - tmp_libs= - for i in $dependency_libs ; do - case " $predeps $postdeps $compiler_lib_search_path " in - *" $i "*) - i="" - ;; - esac - if test -n "$i" ; then - func_append tmp_libs " $i" - fi - done - dependency_libs=$tmp_libs - done # for pass - if test "$linkmode" = prog; then - dlfiles="$newdlfiles" - fi - if test "$linkmode" = prog || test "$linkmode" = lib; then - dlprefiles="$newdlprefiles" - fi - - case $linkmode in - oldlib) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for archives" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for archives" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for archives" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for archives" - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for archives" - - test -n "$release" && \ - func_warning "\`-release' is ignored for archives" - - test -n "$export_symbols$export_symbols_regex" && \ - func_warning "\`-export-symbols' is ignored for archives" - - # Now set the variables for building old libraries. - build_libtool_libs=no - oldlibs="$output" - func_append objs "$old_deplibs" - ;; - - lib) - # Make sure we only generate libraries of the form `libNAME.la'. - case $outputname in - lib*) - func_stripname 'lib' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - ;; - *) - test "$module" = no && \ - func_fatal_help "libtool library \`$output' must begin with \`lib'" - - if test "$need_lib_prefix" != no; then - # Add the "lib" prefix for modules if required - func_stripname '' '.la' "$outputname" - name=$func_stripname_result - eval shared_ext=\"$shrext_cmds\" - eval libname=\"$libname_spec\" - else - func_stripname '' '.la' "$outputname" - libname=$func_stripname_result - fi - ;; - esac - - if test -n "$objs"; then - if test "$deplibs_check_method" != pass_all; then - func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" - else - echo - $ECHO "*** Warning: Linking the shared library $output against the non-libtool" - $ECHO "*** objects $objs is not portable!" - func_append libobjs " $objs" - fi - fi - - test "$dlself" != no && \ - func_warning "\`-dlopen self' is ignored for libtool libraries" - - set dummy $rpath - shift - test "$#" -gt 1 && \ - func_warning "ignoring multiple \`-rpath's for a libtool library" - - install_libdir="$1" - - oldlibs= - if test -z "$rpath"; then - if test "$build_libtool_libs" = yes; then - # Building a libtool convenience library. - # Some compilers have problems with a `.al' extension so - # convenience libraries should have the same extension an - # archive normally would. - oldlibs="$output_objdir/$libname.$libext $oldlibs" - build_libtool_libs=convenience - build_old_libs=yes - fi - - test -n "$vinfo" && \ - func_warning "\`-version-info/-version-number' is ignored for convenience libraries" - - test -n "$release" && \ - func_warning "\`-release' is ignored for convenience libraries" - else - - # Parse the version information argument. - save_ifs="$IFS"; IFS=':' - set dummy $vinfo 0 0 0 - shift - IFS="$save_ifs" - - test -n "$7" && \ - func_fatal_help "too many parameters to \`-version-info'" - - # convert absolute version numbers to libtool ages - # this retains compatibility with .la files and attempts - # to make the code below a bit more comprehensible - - case $vinfo_number in - yes) - number_major="$1" - number_minor="$2" - number_revision="$3" - # - # There are really only two kinds -- those that - # use the current revision as the major version - # and those that subtract age and use age as - # a minor version. But, then there is irix - # which has an extra 1 added just for fun - # - case $version_type in - # correct linux to gnu/linux during the next big refactor - darwin|linux|osf|windows|none) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_revision" - ;; - freebsd-aout|freebsd-elf|qnx|sunos) - current="$number_major" - revision="$number_minor" - age="0" - ;; - irix|nonstopux) - func_arith $number_major + $number_minor - current=$func_arith_result - age="$number_minor" - revision="$number_minor" - lt_irix_increment=no - ;; - esac - ;; - no) - current="$1" - revision="$2" - age="$3" - ;; - esac - - # Check that each of the things are valid numbers. - case $current in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "CURRENT \`$current' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $revision in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "REVISION \`$revision' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - case $age in - 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; - *) - func_error "AGE \`$age' must be a nonnegative integer" - func_fatal_error "\`$vinfo' is not valid version information" - ;; - esac - - if test "$age" -gt "$current"; then - func_error "AGE \`$age' is greater than the current interface number \`$current'" - func_fatal_error "\`$vinfo' is not valid version information" - fi - - # Calculate the version variables. - major= - versuffix= - verstring= - case $version_type in - none) ;; - - darwin) - # Like Linux, but with the current version available in - # verstring for coding it into the library header - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - # Darwin ld doesn't like 0 for these options... - func_arith $current + 1 - minor_current=$func_arith_result - xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" - verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" - ;; - - freebsd-aout) - major=".$current" - versuffix=".$current.$revision"; - ;; - - freebsd-elf) - major=".$current" - versuffix=".$current" - ;; - - irix | nonstopux) - if test "X$lt_irix_increment" = "Xno"; then - func_arith $current - $age - else - func_arith $current - $age + 1 - fi - major=$func_arith_result - - case $version_type in - nonstopux) verstring_prefix=nonstopux ;; - *) verstring_prefix=sgi ;; - esac - verstring="$verstring_prefix$major.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$revision - while test "$loop" -ne 0; do - func_arith $revision - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring_prefix$major.$iface:$verstring" - done - - # Before this point, $major must not contain `.'. - major=.$major - versuffix="$major.$revision" - ;; - - linux) # correct to gnu/linux during the next big refactor - func_arith $current - $age - major=.$func_arith_result - versuffix="$major.$age.$revision" - ;; - - osf) - func_arith $current - $age - major=.$func_arith_result - versuffix=".$current.$age.$revision" - verstring="$current.$age.$revision" - - # Add in all the interfaces that we are compatible with. - loop=$age - while test "$loop" -ne 0; do - func_arith $current - $loop - iface=$func_arith_result - func_arith $loop - 1 - loop=$func_arith_result - verstring="$verstring:${iface}.0" - done - - # Make executables depend on our current version. - func_append verstring ":${current}.0" - ;; - - qnx) - major=".$current" - versuffix=".$current" - ;; - - sunos) - major=".$current" - versuffix=".$current.$revision" - ;; - - windows) - # Use '-' rather than '.', since we only want one - # extension on DOS 8.3 filesystems. - func_arith $current - $age - major=$func_arith_result - versuffix="-$major" - ;; - - *) - func_fatal_configuration "unknown library version type \`$version_type'" - ;; - esac - - # Clear the version info if we defaulted, and they specified a release. - if test -z "$vinfo" && test -n "$release"; then - major= - case $version_type in - darwin) - # we can't check for "0.0" in archive_cmds due to quoting - # problems, so we reset it completely - verstring= - ;; - *) - verstring="0.0" - ;; - esac - if test "$need_version" = no; then - versuffix= - else - versuffix=".0.0" - fi - fi - - # Remove version info from name if versioning should be avoided - if test "$avoid_version" = yes && test "$need_version" = no; then - major= - versuffix= - verstring="" - fi - - # Check to see if the archive will have undefined symbols. - if test "$allow_undefined" = yes; then - if test "$allow_undefined_flag" = unsupported; then - func_warning "undefined symbols not allowed in $host shared libraries" - build_libtool_libs=no - build_old_libs=yes - fi - else - # Don't allow undefined symbols. - allow_undefined_flag="$no_undefined_flag" - fi - - fi - - func_generate_dlsyms "$libname" "$libname" "yes" - func_append libobjs " $symfileobj" - test "X$libobjs" = "X " && libobjs= - - if test "$opt_mode" != relink; then - # Remove our outputs, but don't remove object files since they - # may have been created when compiling PIC objects. - removelist= - tempremovelist=`$ECHO "$output_objdir/*"` - for p in $tempremovelist; do - case $p in - *.$objext | *.gcno) - ;; - $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if test "X$precious_files_regex" != "X"; then - if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue - fi - fi - func_append removelist " $p" - ;; - *) ;; - esac - done - test -n "$removelist" && \ - func_show_eval "${RM}r \$removelist" - fi - - # Now set the variables for building old libraries. - if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then - func_append oldlibs " $output_objdir/$libname.$libext" - - # Transform .lo files to .o files. - oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` - fi - - # Eliminate all temporary directories. - #for path in $notinst_path; do - # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` - # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` - # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` - #done - - if test -n "$xrpath"; then - # If the user specified any rpath flags, then add them. - temp_xrpath= - for libdir in $xrpath; do - func_replace_sysroot "$libdir" - func_append temp_xrpath " -R$func_replace_sysroot_result" - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then - dependency_libs="$temp_xrpath $dependency_libs" - fi - fi - - # Make sure dlfiles contains only unique files that won't be dlpreopened - old_dlfiles="$dlfiles" - dlfiles= - for lib in $old_dlfiles; do - case " $dlprefiles $dlfiles " in - *" $lib "*) ;; - *) func_append dlfiles " $lib" ;; - esac - done - - # Make sure dlprefiles contains only unique files - old_dlprefiles="$dlprefiles" - dlprefiles= - for lib in $old_dlprefiles; do - case "$dlprefiles " in - *" $lib "*) ;; - *) func_append dlprefiles " $lib" ;; - esac - done - - if test "$build_libtool_libs" = yes; then - if test -n "$rpath"; then - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) - # these systems don't actually have a c library (as such)! - ;; - *-*-rhapsody* | *-*-darwin1.[012]) - # Rhapsody C library is in the System framework - func_append deplibs " System.ltframework" - ;; - *-*-netbsd*) - # Don't link with libc until the a.out ld.so is fixed. - ;; - *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) - # Do not include libc due to us having libc/libc_r. - ;; - *-*-sco3.2v5* | *-*-sco5v6*) - # Causes problems with __ctype - ;; - *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) - # Compiler inserts libc in the correct place for threads to work - ;; - *) - # Add libc to deplibs on all other systems if necessary. - if test "$build_libtool_need_lc" = "yes"; then - func_append deplibs " -lc" - fi - ;; - esac - fi - - # Transform deplibs into only deplibs that can be linked in shared. - name_save=$name - libname_save=$libname - release_save=$release - versuffix_save=$versuffix - major_save=$major - # I'm not sure if I'm treating the release correctly. I think - # release should show up in the -l (ie -lgmp5) so we don't want to - # add it in twice. Is that correct? - release="" - versuffix="" - major="" - newdeplibs= - droppeddeps=no - case $deplibs_check_method in - pass_all) - # Don't check for shared/static. Everything works. - # This might be a little naive. We might want to check - # whether the library exists or not. But this is on - # osf3 & osf4 and I'm not really sure... Just - # implementing what was already the behavior. - newdeplibs=$deplibs - ;; - test_compile) - # This code stresses the "libraries are programs" paradigm to its - # limits. Maybe even breaks it. We compile a program, linking it - # against the deplibs as a proxy for the library. Then we can check - # whether they linked in statically or dynamically with ldd. - $opt_dry_run || $RM conftest.c - cat > conftest.c </dev/null` - $nocaseglob - else - potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` - fi - for potent_lib in $potential_libs; do - # Follow soft links. - if ls -lLd "$potent_lib" 2>/dev/null | - $GREP " -> " >/dev/null; then - continue - fi - # The statement above tries to avoid entering an - # endless loop below, in case of cyclic links. - # We might still enter an endless loop, since a link - # loop can be closed while we follow links, - # but so what? - potlib="$potent_lib" - while test -h "$potlib" 2>/dev/null; do - potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` - case $potliblink in - [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; - *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; - esac - done - if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | - $SED -e 10q | - $EGREP "$file_magic_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for file magic test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a file magic. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - match_pattern*) - set dummy $deplibs_check_method; shift - match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` - for a_deplib in $deplibs; do - case $a_deplib in - -l*) - func_stripname -l '' "$a_deplib" - name=$func_stripname_result - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - case " $predeps $postdeps " in - *" $a_deplib "*) - func_append newdeplibs " $a_deplib" - a_deplib="" - ;; - esac - fi - if test -n "$a_deplib" ; then - libname=`eval "\\$ECHO \"$libname_spec\""` - for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do - potential_libs=`ls $i/$libname[.-]* 2>/dev/null` - for potent_lib in $potential_libs; do - potlib="$potent_lib" # see symlink-check above in file_magic test - if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ - $EGREP "$match_pattern_regex" > /dev/null; then - func_append newdeplibs " $a_deplib" - a_deplib="" - break 2 - fi - done - done - fi - if test -n "$a_deplib" ; then - droppeddeps=yes - echo - $ECHO "*** Warning: linker path does not have real file for library $a_deplib." - echo "*** I have the capability to make that library automatically link in when" - echo "*** you link to this library. But I can only do this if you have a" - echo "*** shared version of the library, which you do not appear to have" - echo "*** because I did check the linker path looking for a file starting" - if test -z "$potlib" ; then - $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" - else - $ECHO "*** with $libname and none of the candidates passed a file format test" - $ECHO "*** using a regex pattern. Last file checked: $potlib" - fi - fi - ;; - *) - # Add a -L argument. - func_append newdeplibs " $a_deplib" - ;; - esac - done # Gone through all deplibs. - ;; - none | unknown | *) - newdeplibs="" - tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` - if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then - for i in $predeps $postdeps ; do - # can't use Xsed below, because $i might contain '/' - tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` - done - fi - case $tmp_deplibs in - *[!\ \ ]*) - echo - if test "X$deplibs_check_method" = "Xnone"; then - echo "*** Warning: inter-library dependencies are not supported in this platform." - else - echo "*** Warning: inter-library dependencies are not known to be supported." - fi - echo "*** All declared inter-library dependencies are being dropped." - droppeddeps=yes - ;; - esac - ;; - esac - versuffix=$versuffix_save - major=$major_save - release=$release_save - libname=$libname_save - name=$name_save - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library with the System framework - newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - if test "$droppeddeps" = yes; then - if test "$module" = yes; then - echo - echo "*** Warning: libtool could not satisfy all declared inter-library" - $ECHO "*** dependencies of module $libname. Therefore, libtool will create" - echo "*** a static module, that should work as long as the dlopening" - echo "*** application is linked with the -dlopen flag." - if test -z "$global_symbol_pipe"; then - echo - echo "*** However, this would only work if libtool was able to extract symbol" - echo "*** lists from a program, using \`nm' or equivalent, but libtool could" - echo "*** not find such a program. So, this module is probably useless." - echo "*** \`nm' from GNU binutils and a full rebuild may help." - fi - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - else - echo "*** The inter-library dependencies that have been dropped here will be" - echo "*** automatically added whenever a program is linked with this library" - echo "*** or is declared to -dlopen it." - - if test "$allow_undefined" = no; then - echo - echo "*** Since this library must not contain undefined symbols," - echo "*** because either the platform does not support them or" - echo "*** it was explicitly requested with -no-undefined," - echo "*** libtool will only create a static version of it." - if test "$build_old_libs" = no; then - oldlibs="$output_objdir/$libname.$libext" - build_libtool_libs=module - build_old_libs=yes - else - build_libtool_libs=no - fi - fi - fi - fi - # Done checking deplibs! - deplibs=$newdeplibs - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - case $host in - *-*-darwin*) - newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - deplibs="$new_libs" - - # All the library-specific variables (install_libdir is set above). - library_names= - old_library= - dlname= - - # Test again, we may have decided not to build it any more - if test "$build_libtool_libs" = yes; then - # Remove ${wl} instances when linking with ld. - # FIXME: should test the right _cmds variable. - case $archive_cmds in - *\$LD\ *) wl= ;; - esac - if test "$hardcode_into_libs" = yes; then - # Hardcode the library paths - hardcode_libdirs= - dep_rpath= - rpath="$finalize_rpath" - test "$opt_mode" != relink && rpath="$compile_rpath$rpath" - for libdir in $rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - func_replace_sysroot "$libdir" - libdir=$func_replace_sysroot_result - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append dep_rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" - fi - if test -n "$runpath_var" && test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" - fi - test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" - fi - - shlibpath="$finalize_shlibpath" - test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" - if test -n "$shlibpath"; then - eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" - fi - - # Get the real and link names of the library. - eval shared_ext=\"$shrext_cmds\" - eval library_names=\"$library_names_spec\" - set dummy $library_names - shift - realname="$1" - shift - - if test -n "$soname_spec"; then - eval soname=\"$soname_spec\" - else - soname="$realname" - fi - if test -z "$dlname"; then - dlname=$soname - fi - - lib="$output_objdir/$realname" - linknames= - for link - do - func_append linknames " $link" - done - - # Use standard objects if they are pic - test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` - test "X$libobjs" = "X " && libobjs= - - delfiles= - if test -n "$export_symbols" && test -n "$include_expsyms"; then - $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" - export_symbols="$output_objdir/$libname.uexp" - func_append delfiles " $export_symbols" - fi - - orig_export_symbols= - case $host_os in - cygwin* | mingw* | cegcc*) - if test -n "$export_symbols" && test -z "$export_symbols_regex"; then - # exporting using user supplied symfile - if test "x`$SED 1q $export_symbols`" != xEXPORTS; then - # and it's NOT already a .def file. Must figure out - # which of the given symbols are data symbols and tag - # them as such. So, trigger use of export_symbols_cmds. - # export_symbols gets reassigned inside the "prepare - # the list of exported symbols" if statement, so the - # include_expsyms logic still works. - orig_export_symbols="$export_symbols" - export_symbols= - always_export_symbols=yes - fi - fi - ;; - esac - - # Prepare the list of exported symbols - if test -z "$export_symbols"; then - if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - cmds=$export_symbols_cmds - save_ifs="$IFS"; IFS='~' - for cmd1 in $cmds; do - IFS="$save_ifs" - # Take the normal branch if the nm_file_list_spec branch - # doesn't work or if tool conversion is not needed. - case $nm_file_list_spec~$to_tool_file_cmd in - *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) - try_normal_branch=yes - eval cmd=\"$cmd1\" - func_len " $cmd" - len=$func_len_result - ;; - *) - try_normal_branch=no - ;; - esac - if test "$try_normal_branch" = yes \ - && { test "$len" -lt "$max_cmd_len" \ - || test "$max_cmd_len" -le -1; } - then - func_show_eval "$cmd" 'exit $?' - skipped_export=false - elif test -n "$nm_file_list_spec"; then - func_basename "$output" - output_la=$func_basename_result - save_libobjs=$libobjs - save_output=$output - output=${output_objdir}/${output_la}.nm - func_to_tool_file "$output" - libobjs=$nm_file_list_spec$func_to_tool_file_result - func_append delfiles " $output" - func_verbose "creating $NM input file list: $output" - for obj in $save_libobjs; do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > "$output" - eval cmd=\"$cmd1\" - func_show_eval "$cmd" 'exit $?' - output=$save_output - libobjs=$save_libobjs - skipped_export=false - else - # The command line is too long to execute in one step. - func_verbose "using reloadable object file for export list..." - skipped_export=: - # Break out early, otherwise skipped_export may be - # set to false by a later but shorter cmd. - break - fi - done - IFS="$save_ifs" - if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - fi - - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - - tmp_deplibs= - for test_deplib in $deplibs; do - case " $convenience " in - *" $test_deplib "*) ;; - *) - func_append tmp_deplibs " $test_deplib" - ;; - esac - done - deplibs="$tmp_deplibs" - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec" && - test "$compiler_needs_object" = yes && - test -z "$libobjs"; then - # extract the archives, so we have objects to list. - # TODO: could optimize this to just extract one archive. - whole_archive_flag_spec= - fi - if test -n "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - else - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - fi - - if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then - eval flag=\"$thread_safe_flag_spec\" - func_append linker_flags " $flag" - fi - - # Make a backup of the uninstalled library when relinking - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? - fi - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - eval test_cmds=\"$module_expsym_cmds\" - cmds=$module_expsym_cmds - else - eval test_cmds=\"$module_cmds\" - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - eval test_cmds=\"$archive_expsym_cmds\" - cmds=$archive_expsym_cmds - else - eval test_cmds=\"$archive_cmds\" - cmds=$archive_cmds - fi - fi - - if test "X$skipped_export" != "X:" && - func_len " $test_cmds" && - len=$func_len_result && - test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - : - else - # The command line is too long to link in one step, link piecewise - # or, if using GNU ld and skipped_export is not :, use a linker - # script. - - # Save the value of $output and $libobjs because we want to - # use them later. If we have whole_archive_flag_spec, we - # want to use save_libobjs as it was before - # whole_archive_flag_spec was expanded, because we can't - # assume the linker understands whole_archive_flag_spec. - # This may have to be revisited, in case too many - # convenience libraries get linked in and end up exceeding - # the spec. - if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then - save_libobjs=$libobjs - fi - save_output=$output - func_basename "$output" - output_la=$func_basename_result - - # Clear the reloadable object creation command queue and - # initialize k to one. - test_cmds= - concat_cmds= - objlist= - last_robj= - k=1 - - if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then - output=${output_objdir}/${output_la}.lnkscript - func_verbose "creating GNU ld script: $output" - echo 'INPUT (' > $output - for obj in $save_libobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - echo ')' >> $output - func_append delfiles " $output" - func_to_tool_file "$output" - output=$func_to_tool_file_result - elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then - output=${output_objdir}/${output_la}.lnk - func_verbose "creating linker input file list: $output" - : > $output - set x $save_libobjs - shift - firstobj= - if test "$compiler_needs_object" = yes; then - firstobj="$1 " - shift - fi - for obj - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" >> $output - done - func_append delfiles " $output" - func_to_tool_file "$output" - output=$firstobj\"$file_list_spec$func_to_tool_file_result\" - else - if test -n "$save_libobjs"; then - func_verbose "creating reloadable object files..." - output=$output_objdir/$output_la-${k}.$objext - eval test_cmds=\"$reload_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - - # Loop over the list of objects to be linked. - for obj in $save_libobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - if test "X$objlist" = X || - test "$len" -lt "$max_cmd_len"; then - func_append objlist " $obj" - else - # The command $test_cmds is almost too long, add a - # command to the queue. - if test "$k" -eq 1 ; then - # The first file doesn't have a previous command to add. - reload_objs=$objlist - eval concat_cmds=\"$reload_cmds\" - else - # All subsequent reloadable object files will link in - # the last one created. - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" - fi - last_robj=$output_objdir/$output_la-${k}.$objext - func_arith $k + 1 - k=$func_arith_result - output=$output_objdir/$output_la-${k}.$objext - objlist=" $obj" - func_len " $last_robj" - func_arith $len0 + $func_len_result - len=$func_arith_result - fi - done - # Handle the remaining objects by creating one last - # reloadable object file. All subsequent reloadable object - # files will link in the last one created. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - reload_objs="$objlist $last_robj" - eval concat_cmds=\"\${concat_cmds}$reload_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" - fi - func_append delfiles " $output" - - else - output= - fi - - if ${skipped_export-false}; then - func_verbose "generating symbol list for \`$libname.la'" - export_symbols="$output_objdir/$libname.exp" - $opt_dry_run || $RM $export_symbols - libobjs=$output - # Append the command to create the export file. - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" - if test -n "$last_robj"; then - eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" - fi - fi - - test -n "$save_libobjs" && - func_verbose "creating a temporary reloadable object file: $output" - - # Loop through the commands generated above and execute them. - save_ifs="$IFS"; IFS='~' - for cmd in $concat_cmds; do - IFS="$save_ifs" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - if test -n "$export_symbols_regex" && ${skipped_export-false}; then - func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' - func_show_eval '$MV "${export_symbols}T" "$export_symbols"' - fi - fi - - if ${skipped_export-false}; then - if test -n "$export_symbols" && test -n "$include_expsyms"; then - tmp_export_symbols="$export_symbols" - test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" - $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' - fi - - if test -n "$orig_export_symbols"; then - # The given exports_symbols file has to be filtered, so filter it. - func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" - # FIXME: $output_objdir/$libname.filter potentially contains lots of - # 's' commands which not all seds can handle. GNU sed should be fine - # though. Also, the filter scales superlinearly with the number of - # global variables. join(1) would be nice here, but unfortunately - # isn't a blessed tool. - $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter - func_append delfiles " $export_symbols $output_objdir/$libname.filter" - export_symbols=$output_objdir/$libname.def - $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols - fi - fi - - libobjs=$output - # Restore the value of output. - output=$save_output - - if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then - eval libobjs=\"\$libobjs $whole_archive_flag_spec\" - test "X$libobjs" = "X " && libobjs= - fi - # Expand the library linking commands again to reset the - # value of $libobjs for piecewise linking. - - # Do each of the archive commands. - if test "$module" = yes && test -n "$module_cmds" ; then - if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then - cmds=$module_expsym_cmds - else - cmds=$module_cmds - fi - else - if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then - cmds=$archive_expsym_cmds - else - cmds=$archive_cmds - fi - fi - fi - - if test -n "$delfiles"; then - # Append the command to remove temporary files to $cmds. - eval cmds=\"\$cmds~\$RM $delfiles\" - fi - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append libobjs " $func_extract_archives_result" - test "X$libobjs" = "X " && libobjs= - fi - - save_ifs="$IFS"; IFS='~' - for cmd in $cmds; do - IFS="$save_ifs" - eval cmd=\"$cmd\" - $opt_silent || { - func_quote_for_expand "$cmd" - eval "func_echo $func_quote_for_expand_result" - } - $opt_dry_run || eval "$cmd" || { - lt_exit=$? - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - ( cd "$output_objdir" && \ - $RM "${realname}T" && \ - $MV "${realname}U" "$realname" ) - fi - - exit $lt_exit - } - done - IFS="$save_ifs" - - # Restore the uninstalled library and exit - if test "$opt_mode" = relink; then - $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? - - if test -n "$convenience"; then - if test -z "$whole_archive_flag_spec"; then - func_show_eval '${RM}r "$gentop"' - fi - fi - - exit $EXIT_SUCCESS - fi - - # Create links to the real library. - for linkname in $linknames; do - if test "$realname" != "$linkname"; then - func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' - fi - done - - # If -module or -export-dynamic was specified, set the dlname. - if test "$module" = yes || test "$export_dynamic" = yes; then - # On all known operating systems, these are identical. - dlname="$soname" - fi - fi - ;; - - obj) - if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then - func_warning "\`-dlopen' is ignored for objects" - fi - - case " $deplibs" in - *\ -l* | *\ -L*) - func_warning "\`-l' and \`-L' are ignored for objects" ;; - esac - - test -n "$rpath" && \ - func_warning "\`-rpath' is ignored for objects" - - test -n "$xrpath" && \ - func_warning "\`-R' is ignored for objects" - - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for objects" - - test -n "$release" && \ - func_warning "\`-release' is ignored for objects" - - case $output in - *.lo) - test -n "$objs$old_deplibs" && \ - func_fatal_error "cannot build library object \`$output' from non-libtool objects" - - libobj=$output - func_lo2o "$libobj" - obj=$func_lo2o_result - ;; - *) - libobj= - obj="$output" - ;; - esac - - # Delete the old objects. - $opt_dry_run || $RM $obj $libobj - - # Objects from convenience libraries. This assumes - # single-version convenience libraries. Whenever we create - # different ones for PIC/non-PIC, this we'll have to duplicate - # the extraction. - reload_conv_objs= - gentop= - # reload_cmds runs $LD directly, so let us get rid of - # -Wl from whole_archive_flag_spec and hope we can get by with - # turning comma into space.. - wl= - - if test -n "$convenience"; then - if test -n "$whole_archive_flag_spec"; then - eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" - reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` - else - gentop="$output_objdir/${obj}x" - func_append generated " $gentop" - - func_extract_archives $gentop $convenience - reload_conv_objs="$reload_objs $func_extract_archives_result" - fi - fi - - # If we're not building shared, we need to use non_pic_objs - test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" - - # Create the old-style object. - reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test - - output="$obj" - func_execute_cmds "$reload_cmds" 'exit $?' - - # Exit if we aren't doing a library object file. - if test -z "$libobj"; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - fi - - if test "$build_libtool_libs" != yes; then - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - # Create an invalid libtool object if no PIC, so that we don't - # accidentally link it into a program. - # $show "echo timestamp > $libobj" - # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? - exit $EXIT_SUCCESS - fi - - if test -n "$pic_flag" || test "$pic_mode" != default; then - # Only do commands if we really have different PIC objects. - reload_objs="$libobjs $reload_conv_objs" - output="$libobj" - func_execute_cmds "$reload_cmds" 'exit $?' - fi - - if test -n "$gentop"; then - func_show_eval '${RM}r "$gentop"' - fi - - exit $EXIT_SUCCESS - ;; - - prog) - case $host in - *cygwin*) func_stripname '' '.exe' "$output" - output=$func_stripname_result.exe;; - esac - test -n "$vinfo" && \ - func_warning "\`-version-info' is ignored for programs" - - test -n "$release" && \ - func_warning "\`-release' is ignored for programs" - - test "$preload" = yes \ - && test "$dlopen_support" = unknown \ - && test "$dlopen_self" = unknown \ - && test "$dlopen_self_static" = unknown && \ - func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." - - case $host in - *-*-rhapsody* | *-*-darwin1.[012]) - # On Rhapsody replace the C library is the System framework - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` - ;; - esac - - case $host in - *-*-darwin*) - # Don't allow lazy linking, it breaks C++ global constructors - # But is supposedly fixed on 10.4 or later (yay!). - if test "$tagname" = CXX ; then - case ${MACOSX_DEPLOYMENT_TARGET-10.0} in - 10.[0123]) - func_append compile_command " ${wl}-bind_at_load" - func_append finalize_command " ${wl}-bind_at_load" - ;; - esac - fi - # Time to change all our "foo.ltframework" stuff back to "-framework foo" - compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` - ;; - esac - - - # move library search paths that coincide with paths to not yet - # installed libraries to the beginning of the library search list - new_libs= - for path in $notinst_path; do - case " $new_libs " in - *" -L$path/$objdir "*) ;; - *) - case " $compile_deplibs " in - *" -L$path/$objdir "*) - func_append new_libs " -L$path/$objdir" ;; - esac - ;; - esac - done - for deplib in $compile_deplibs; do - case $deplib in - -L*) - case " $new_libs " in - *" $deplib "*) ;; - *) func_append new_libs " $deplib" ;; - esac - ;; - *) func_append new_libs " $deplib" ;; - esac - done - compile_deplibs="$new_libs" - - - func_append compile_command " $compile_deplibs" - func_append finalize_command " $finalize_deplibs" - - if test -n "$rpath$xrpath"; then - # If the user specified any rpath flags, then add them. - for libdir in $rpath $xrpath; do - # This is the magic to use -rpath. - case "$finalize_rpath " in - *" $libdir "*) ;; - *) func_append finalize_rpath " $libdir" ;; - esac - done - fi - - # Now hardcode the library paths - rpath= - hardcode_libdirs= - for libdir in $compile_rpath $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$perm_rpath " in - *" $libdir "*) ;; - *) func_append perm_rpath " $libdir" ;; - esac - fi - case $host in - *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) - testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` - case :$dllsearchpath: in - *":$libdir:"*) ;; - ::) dllsearchpath=$libdir;; - *) func_append dllsearchpath ":$libdir";; - esac - case :$dllsearchpath: in - *":$testbindir:"*) ;; - ::) dllsearchpath=$testbindir;; - *) func_append dllsearchpath ":$testbindir";; - esac - ;; - esac - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - compile_rpath="$rpath" - - rpath= - hardcode_libdirs= - for libdir in $finalize_rpath; do - if test -n "$hardcode_libdir_flag_spec"; then - if test -n "$hardcode_libdir_separator"; then - if test -z "$hardcode_libdirs"; then - hardcode_libdirs="$libdir" - else - # Just accumulate the unique libdirs. - case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in - *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) - ;; - *) - func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" - ;; - esac - fi - else - eval flag=\"$hardcode_libdir_flag_spec\" - func_append rpath " $flag" - fi - elif test -n "$runpath_var"; then - case "$finalize_perm_rpath " in - *" $libdir "*) ;; - *) func_append finalize_perm_rpath " $libdir" ;; - esac - fi - done - # Substitute the hardcoded libdirs into the rpath. - if test -n "$hardcode_libdir_separator" && - test -n "$hardcode_libdirs"; then - libdir="$hardcode_libdirs" - eval rpath=\" $hardcode_libdir_flag_spec\" - fi - finalize_rpath="$rpath" - - if test -n "$libobjs" && test "$build_old_libs" = yes; then - # Transform all the library objects into standard objects. - compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` - fi - - func_generate_dlsyms "$outputname" "@PROGRAM@" "no" - - # template prelinking step - if test -n "$prelink_cmds"; then - func_execute_cmds "$prelink_cmds" 'exit $?' - fi - - wrappers_required=yes - case $host in - *cegcc* | *mingw32ce*) - # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. - wrappers_required=no - ;; - *cygwin* | *mingw* ) - if test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - *) - if test "$need_relink" = no || test "$build_libtool_libs" != yes; then - wrappers_required=no - fi - ;; - esac - if test "$wrappers_required" = no; then - # Replace the output file specification. - compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - link_command="$compile_command$compile_rpath" - - # We have no uninstalled library dependencies, so finalize right now. - exit_status=0 - func_show_eval "$link_command" 'exit_status=$?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Delete the generated files. - if test -f "$output_objdir/${outputname}S.${objext}"; then - func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' - fi - - exit $exit_status - fi - - if test -n "$compile_shlibpath$finalize_shlibpath"; then - compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" - fi - if test -n "$finalize_shlibpath"; then - finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" - fi - - compile_var= - finalize_var= - if test -n "$runpath_var"; then - if test -n "$perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $perm_rpath; do - func_append rpath "$dir:" - done - compile_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - if test -n "$finalize_perm_rpath"; then - # We should set the runpath_var. - rpath= - for dir in $finalize_perm_rpath; do - func_append rpath "$dir:" - done - finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " - fi - fi - - if test "$no_install" = yes; then - # We don't need to create a wrapper script. - link_command="$compile_var$compile_command$compile_rpath" - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` - # Delete the old output file. - $opt_dry_run || $RM $output - # Link the executable and exit - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - exit $EXIT_SUCCESS - fi - - if test "$hardcode_action" = relink; then - # Fast installation is not supported - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - - func_warning "this platform does not like uninstalled shared libraries" - func_warning "\`$output' will be relinked during installation" - else - if test "$fast_install" != no; then - link_command="$finalize_var$compile_command$finalize_rpath" - if test "$fast_install" = yes; then - relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` - else - # fast_install is set to needless - relink_command= - fi - else - link_command="$compile_var$compile_command$compile_rpath" - relink_command="$finalize_var$finalize_command$finalize_rpath" - fi - fi - - # Replace the output file specification. - link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` - - # Delete the old output files. - $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname - - func_show_eval "$link_command" 'exit $?' - - if test -n "$postlink_cmds"; then - func_to_tool_file "$output_objdir/$outputname" - postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` - func_execute_cmds "$postlink_cmds" 'exit $?' - fi - - # Now create the wrapper script. - func_verbose "creating $output" - - # Quote the relink command for shipping. - if test -n "$relink_command"; then - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - relink_command="(cd `pwd`; $relink_command)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - fi - - # Only actually do things if not in dry run mode. - $opt_dry_run || { - # win32 will think the script is a binary if it has - # a .exe suffix, so we strip it off here. - case $output in - *.exe) func_stripname '' '.exe' "$output" - output=$func_stripname_result ;; - esac - # test for cygwin because mv fails w/o .exe extensions - case $host in - *cygwin*) - exeext=.exe - func_stripname '' '.exe' "$outputname" - outputname=$func_stripname_result ;; - *) exeext= ;; - esac - case $host in - *cygwin* | *mingw* ) - func_dirname_and_basename "$output" "" "." - output_name=$func_basename_result - output_path=$func_dirname_result - cwrappersource="$output_path/$objdir/lt-$output_name.c" - cwrapper="$output_path/$output_name.exe" - $RM $cwrappersource $cwrapper - trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 - - func_emit_cwrapperexe_src > $cwrappersource - - # The wrapper executable is built using the $host compiler, - # because it contains $host paths and files. If cross- - # compiling, it, like the target executable, must be - # executed on the $host or under an emulation environment. - $opt_dry_run || { - $LTCC $LTCFLAGS -o $cwrapper $cwrappersource - $STRIP $cwrapper - } - - # Now, create the wrapper script for func_source use: - func_ltwrapper_scriptname $cwrapper - $RM $func_ltwrapper_scriptname_result - trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 - $opt_dry_run || { - # note: this script will not be executed, so do not chmod. - if test "x$build" = "x$host" ; then - $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result - else - func_emit_wrapper no > $func_ltwrapper_scriptname_result - fi - } - ;; - * ) - $RM $output - trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 - - func_emit_wrapper no > $output - chmod +x $output - ;; - esac - } - exit $EXIT_SUCCESS - ;; - esac - - # See if we need to build an old-fashioned archive. - for oldlib in $oldlibs; do - - if test "$build_libtool_libs" = convenience; then - oldobjs="$libobjs_save $symfileobj" - addlibs="$convenience" - build_libtool_libs=no - else - if test "$build_libtool_libs" = module; then - oldobjs="$libobjs_save" - build_libtool_libs=no - else - oldobjs="$old_deplibs $non_pic_objects" - if test "$preload" = yes && test -f "$symfileobj"; then - func_append oldobjs " $symfileobj" - fi - fi - addlibs="$old_convenience" - fi - - if test -n "$addlibs"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $addlibs - func_append oldobjs " $func_extract_archives_result" - fi - - # Do each command in the archive commands. - if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then - cmds=$old_archive_from_new_cmds - else - - # Add any objects from preloaded convenience libraries - if test -n "$dlprefiles"; then - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - - func_extract_archives $gentop $dlprefiles - func_append oldobjs " $func_extract_archives_result" - fi - - # POSIX demands no paths to be encoded in archives. We have - # to avoid creating archives with duplicate basenames if we - # might have to extract them afterwards, e.g., when creating a - # static archive out of a convenience library, or when linking - # the entirety of a libtool archive into another (currently - # not supported by libtool). - if (for obj in $oldobjs - do - func_basename "$obj" - $ECHO "$func_basename_result" - done | sort | sort -uc >/dev/null 2>&1); then - : - else - echo "copying selected object files to avoid basename conflicts..." - gentop="$output_objdir/${outputname}x" - func_append generated " $gentop" - func_mkdir_p "$gentop" - save_oldobjs=$oldobjs - oldobjs= - counter=1 - for obj in $save_oldobjs - do - func_basename "$obj" - objbase="$func_basename_result" - case " $oldobjs " in - " ") oldobjs=$obj ;; - *[\ /]"$objbase "*) - while :; do - # Make sure we don't pick an alternate name that also - # overlaps. - newobj=lt$counter-$objbase - func_arith $counter + 1 - counter=$func_arith_result - case " $oldobjs " in - *[\ /]"$newobj "*) ;; - *) if test ! -f "$gentop/$newobj"; then break; fi ;; - esac - done - func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" - func_append oldobjs " $gentop/$newobj" - ;; - *) func_append oldobjs " $obj" ;; - esac - done - fi - func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 - tool_oldlib=$func_to_tool_file_result - eval cmds=\"$old_archive_cmds\" - - func_len " $cmds" - len=$func_len_result - if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then - cmds=$old_archive_cmds - elif test -n "$archiver_list_spec"; then - func_verbose "using command file archive linking..." - for obj in $oldobjs - do - func_to_tool_file "$obj" - $ECHO "$func_to_tool_file_result" - done > $output_objdir/$libname.libcmd - func_to_tool_file "$output_objdir/$libname.libcmd" - oldobjs=" $archiver_list_spec$func_to_tool_file_result" - cmds=$old_archive_cmds - else - # the command line is too long to link in one step, link in parts - func_verbose "using piecewise archive linking..." - save_RANLIB=$RANLIB - RANLIB=: - objlist= - concat_cmds= - save_oldobjs=$oldobjs - oldobjs= - # Is there a better way of finding the last object in the list? - for obj in $save_oldobjs - do - last_oldobj=$obj - done - eval test_cmds=\"$old_archive_cmds\" - func_len " $test_cmds" - len0=$func_len_result - len=$len0 - for obj in $save_oldobjs - do - func_len " $obj" - func_arith $len + $func_len_result - len=$func_arith_result - func_append objlist " $obj" - if test "$len" -lt "$max_cmd_len"; then - : - else - # the above command should be used before it gets too long - oldobjs=$objlist - if test "$obj" = "$last_oldobj" ; then - RANLIB=$save_RANLIB - fi - test -z "$concat_cmds" || concat_cmds=$concat_cmds~ - eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" - objlist= - len=$len0 - fi - done - RANLIB=$save_RANLIB - oldobjs=$objlist - if test "X$oldobjs" = "X" ; then - eval cmds=\"\$concat_cmds\" - else - eval cmds=\"\$concat_cmds~\$old_archive_cmds\" - fi - fi - fi - func_execute_cmds "$cmds" 'exit $?' - done - - test -n "$generated" && \ - func_show_eval "${RM}r$generated" - - # Now create the libtool archive. - case $output in - *.la) - old_library= - test "$build_old_libs" = yes && old_library="$libname.$libext" - func_verbose "creating $output" - - # Preserve any variables that may affect compiler behavior - for var in $variables_saved_for_relink; do - if eval test -z \"\${$var+set}\"; then - relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" - elif eval var_value=\$$var; test -z "$var_value"; then - relink_command="$var=; export $var; $relink_command" - else - func_quote_for_eval "$var_value" - relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" - fi - done - # Quote the link command for shipping. - relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" - relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` - if test "$hardcode_automatic" = yes ; then - relink_command= - fi - - # Only create the output if not a dry run. - $opt_dry_run || { - for installed in no yes; do - if test "$installed" = yes; then - if test -z "$install_libdir"; then - break - fi - output="$output_objdir/$outputname"i - # Replace all uninstalled libtool libraries with the installed ones - newdependency_libs= - for deplib in $dependency_libs; do - case $deplib in - *.la) - func_basename "$deplib" - name="$func_basename_result" - func_resolve_sysroot "$deplib" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` - test -z "$libdir" && \ - func_fatal_error "\`$deplib' is not a valid libtool archive" - func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" - ;; - -L*) - func_stripname -L '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -L$func_replace_sysroot_result" - ;; - -R*) - func_stripname -R '' "$deplib" - func_replace_sysroot "$func_stripname_result" - func_append newdependency_libs " -R$func_replace_sysroot_result" - ;; - *) func_append newdependency_libs " $deplib" ;; - esac - done - dependency_libs="$newdependency_libs" - newdlfiles= - - for lib in $dlfiles; do - case $lib in - *.la) - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" - ;; - *) func_append newdlfiles " $lib" ;; - esac - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - *.la) - # Only pass preopened files to the pseudo-archive (for - # eventual linking with the app. that links it) if we - # didn't already link the preopened objects directly into - # the library: - func_basename "$lib" - name="$func_basename_result" - eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` - test -z "$libdir" && \ - func_fatal_error "\`$lib' is not a valid libtool archive" - func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" - ;; - esac - done - dlprefiles="$newdlprefiles" - else - newdlfiles= - for lib in $dlfiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlfiles " $abs" - done - dlfiles="$newdlfiles" - newdlprefiles= - for lib in $dlprefiles; do - case $lib in - [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; - *) abs=`pwd`"/$lib" ;; - esac - func_append newdlprefiles " $abs" - done - dlprefiles="$newdlprefiles" - fi - $RM $output - # place dlname in correct position for cygwin - # In fact, it would be nice if we could use this code for all target - # systems that can't hard-code library paths into their executables - # and that have no shared library path variable independent of PATH, - # but it turns out we can't easily determine that from inspecting - # libtool variables, so we have to hard-code the OSs to which it - # applies here; at the moment, that means platforms that use the PE - # object format with DLL files. See the long comment at the top of - # tests/bindir.at for full details. - tdlname=$dlname - case $host,$output,$installed,$module,$dlname in - *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) - # If a -bindir argument was supplied, place the dll there. - if test "x$bindir" != x ; - then - func_relative_path "$install_libdir" "$bindir" - tdlname=$func_relative_path_result$dlname - else - # Otherwise fall back on heuristic. - tdlname=../bin/$dlname - fi - ;; - esac - $ECHO > $output "\ -# $outputname - a libtool library file -# Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION -# -# Please DO NOT delete this file! -# It is necessary for linking the library. - -# The name that we can dlopen(3). -dlname='$tdlname' - -# Names of this library. -library_names='$library_names' - -# The name of the static archive. -old_library='$old_library' - -# Linker flags that can not go in dependency_libs. -inherited_linker_flags='$new_inherited_linker_flags' - -# Libraries that this one depends upon. -dependency_libs='$dependency_libs' - -# Names of additional weak libraries provided by this library -weak_library_names='$weak_libs' - -# Version information for $libname. -current=$current -age=$age -revision=$revision - -# Is this an already installed library? -installed=$installed - -# Should we warn about portability when linking against -modules? -shouldnotlink=$module - -# Files to dlopen/dlpreopen -dlopen='$dlfiles' -dlpreopen='$dlprefiles' - -# Directory that this library needs to be installed in: -libdir='$install_libdir'" - if test "$installed" = no && test "$need_relink" = yes; then - $ECHO >> $output "\ -relink_command=\"$relink_command\"" - fi - done - } - - # Do a symbolic link so that the libtool archive can be found in - # LD_LIBRARY_PATH before the program is installed. - func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' - ;; - esac - exit $EXIT_SUCCESS -} - -{ test "$opt_mode" = link || test "$opt_mode" = relink; } && - func_mode_link ${1+"$@"} - - -# func_mode_uninstall arg... -func_mode_uninstall () -{ - $opt_debug - RM="$nonopt" - files= - rmforce= - exit_status=0 - - # This variable tells wrapper scripts just to set variables rather - # than running their programs. - libtool_install_magic="$magic" - - for arg - do - case $arg in - -f) func_append RM " $arg"; rmforce=yes ;; - -*) func_append RM " $arg" ;; - *) func_append files " $arg" ;; - esac - done - - test -z "$RM" && \ - func_fatal_help "you must specify an RM program" - - rmdirs= - - for file in $files; do - func_dirname "$file" "" "." - dir="$func_dirname_result" - if test "X$dir" = X.; then - odir="$objdir" - else - odir="$dir/$objdir" - fi - func_basename "$file" - name="$func_basename_result" - test "$opt_mode" = uninstall && odir="$dir" - - # Remember odir for removal later, being careful to avoid duplicates - if test "$opt_mode" = clean; then - case " $rmdirs " in - *" $odir "*) ;; - *) func_append rmdirs " $odir" ;; - esac - fi - - # Don't error if the file doesn't exist and rm -f was used. - if { test -L "$file"; } >/dev/null 2>&1 || - { test -h "$file"; } >/dev/null 2>&1 || - test -f "$file"; then - : - elif test -d "$file"; then - exit_status=1 - continue - elif test "$rmforce" = yes; then - continue - fi - - rmfiles="$file" - - case $name in - *.la) - # Possibly a libtool archive, so verify it. - if func_lalib_p "$file"; then - func_source $dir/$name - - # Delete the libtool libraries and symlinks. - for n in $library_names; do - func_append rmfiles " $odir/$n" - done - test -n "$old_library" && func_append rmfiles " $odir/$old_library" - - case "$opt_mode" in - clean) - case " $library_names " in - *" $dlname "*) ;; - *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; - esac - test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" - ;; - uninstall) - if test -n "$library_names"; then - # Do each command in the postuninstall commands. - func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - - if test -n "$old_library"; then - # Do each command in the old_postuninstall commands. - func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' - fi - # FIXME: should reinstall the best remaining shared library. - ;; - esac - fi - ;; - - *.lo) - # Possibly a libtool object, so verify it. - if func_lalib_p "$file"; then - - # Read the .lo file - func_source $dir/$name - - # Add PIC object to the list of files to remove. - if test -n "$pic_object" && - test "$pic_object" != none; then - func_append rmfiles " $dir/$pic_object" - fi - - # Add non-PIC object to the list of files to remove. - if test -n "$non_pic_object" && - test "$non_pic_object" != none; then - func_append rmfiles " $dir/$non_pic_object" - fi - fi - ;; - - *) - if test "$opt_mode" = clean ; then - noexename=$name - case $file in - *.exe) - func_stripname '' '.exe' "$file" - file=$func_stripname_result - func_stripname '' '.exe' "$name" - noexename=$func_stripname_result - # $file with .exe has already been added to rmfiles, - # add $file without .exe - func_append rmfiles " $file" - ;; - esac - # Do a test to see if this is a libtool program. - if func_ltwrapper_p "$file"; then - if func_ltwrapper_executable_p "$file"; then - func_ltwrapper_scriptname "$file" - relink_command= - func_source $func_ltwrapper_scriptname_result - func_append rmfiles " $func_ltwrapper_scriptname_result" - else - relink_command= - func_source $dir/$noexename - fi - - # note $name still contains .exe if it was in $file originally - # as does the version of $file that was added into $rmfiles - func_append rmfiles " $odir/$name $odir/${name}S.${objext}" - if test "$fast_install" = yes && test -n "$relink_command"; then - func_append rmfiles " $odir/lt-$name" - fi - if test "X$noexename" != "X$name" ; then - func_append rmfiles " $odir/lt-${noexename}.c" - fi - fi - fi - ;; - esac - func_show_eval "$RM $rmfiles" 'exit_status=1' - done - - # Try to remove the ${objdir}s in the directories where we deleted files - for dir in $rmdirs; do - if test -d "$dir"; then - func_show_eval "rmdir $dir >/dev/null 2>&1" - fi - done - - exit $exit_status -} - -{ test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && - func_mode_uninstall ${1+"$@"} - -test -z "$opt_mode" && { - help="$generic_help" - func_fatal_help "you must specify a MODE" -} - -test -z "$exec_cmd" && \ - func_fatal_help "invalid operation mode \`$opt_mode'" - -if test -n "$exec_cmd"; then - eval exec "$exec_cmd" - exit $EXIT_FAILURE -fi - -exit $exit_status - - -# The TAGs below are defined such that we never get into a situation -# in which we disable both kinds of libraries. Given conflicting -# choices, we go for a static library, that is the most portable, -# since we can't tell whether shared libraries were disabled because -# the user asked for that or because the platform doesn't support -# them. This is particularly important on AIX, because we don't -# support having both static and shared libraries enabled at the same -# time on that platform, so we default to a shared-only configuration. -# If a disable-shared tag is given, we'll fallback to a static-only -# configuration. But we'll never go from static-only to shared-only. - -# ### BEGIN LIBTOOL TAG CONFIG: disable-shared -build_libtool_libs=no -build_old_libs=yes -# ### END LIBTOOL TAG CONFIG: disable-shared - -# ### BEGIN LIBTOOL TAG CONFIG: disable-static -build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` -# ### END LIBTOOL TAG CONFIG: disable-static - -# Local Variables: -# mode:shell-script -# sh-indentation:2 -# End: -# vi:sw=2 - diff --git a/Build/source/extra/xz/build-aux/manconv.sh b/Build/source/extra/xz/build-aux/manconv.sh deleted file mode 100644 index e53b0269e99..00000000000 --- a/Build/source/extra/xz/build-aux/manconv.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/sh -# -############################################################################### -# -# Wrapper for GNU groff to convert man pages to a few formats -# -# Usage: manconv.sh FORMAT [PAPER_SIZE] < in.1 > out.suffix -# -# FORMAT can be ascii, utf8, ps, or pdf. PAPER_SIZE can be anything that -# groff accepts, e.g. a4 or letter. See groff_font(5). PAPER_SIZE defaults -# to a4 and is used only when FORMAT is ps (PostScript) or pdf. -# -# Multiple man pages can be given at once e.g. to create a single PDF file -# with continuous page numbering. -# -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -FORMAT=$1 -PAPER=${2-a4} - -# Make PostScript and PDF output more readable: -# - Use 11 pt font instead of the default 10 pt. -# - Use larger paragraph spacing than the default 0.4v (man(7) only). -FONT=11 -PD=0.8 - -SED_PD=" -/^\\.TH /s/\$/\\ -.PD $PD/ -s/^\\.PD\$/.PD $PD/" - -case $FORMAT in - ascii) - groff -t -mandoc -Tascii | col -bx - ;; - utf8) - groff -t -mandoc -Tutf8 | col -bx - ;; - ps) - sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \ - -rC1 -rS$FONT -Tps -P-p$PAPER - ;; - pdf) - sed "$SED_PD" | groff -dpaper=$PAPER -t -mandoc \ - -rC1 -rS$FONT -Tps -P-p$PAPER | ps2pdf - - - ;; - *) - echo 'Invalid arguments' >&2 - exit 1 - ;; -esac diff --git a/Build/source/extra/xz/build-aux/missing b/Build/source/extra/xz/build-aux/missing deleted file mode 100755 index cdea514931f..00000000000 --- a/Build/source/extra/xz/build-aux/missing +++ /dev/null @@ -1,215 +0,0 @@ -#! /bin/sh -# Common wrapper for a few potentially missing GNU programs. - -scriptversion=2012-06-26.16; # UTC - -# Copyright (C) 1996-2013 Free Software Foundation, Inc. -# Originally written by Fran,cois Pinard , 1996. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . - -# As a special exception to the GNU General Public License, if you -# distribute this file as part of a program that contains a -# configuration script generated by Autoconf, you may include it under -# the same distribution terms that you use for the rest of that program. - -if test $# -eq 0; then - echo 1>&2 "Try '$0 --help' for more information" - exit 1 -fi - -case $1 in - - --is-lightweight) - # Used by our autoconf macros to check whether the available missing - # script is modern enough. - exit 0 - ;; - - --run) - # Back-compat with the calling convention used by older automake. - shift - ;; - - -h|--h|--he|--hel|--help) - echo "\ -$0 [OPTION]... PROGRAM [ARGUMENT]... - -Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due -to PROGRAM being missing or too old. - -Options: - -h, --help display this help and exit - -v, --version output version information and exit - -Supported PROGRAM values: - aclocal autoconf autoheader autom4te automake makeinfo - bison yacc flex lex help2man - -Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and -'g' are ignored when checking the name. - -Send bug reports to ." - exit $? - ;; - - -v|--v|--ve|--ver|--vers|--versi|--versio|--version) - echo "missing $scriptversion (GNU Automake)" - exit $? - ;; - - -*) - echo 1>&2 "$0: unknown '$1' option" - echo 1>&2 "Try '$0 --help' for more information" - exit 1 - ;; - -esac - -# Run the given program, remember its exit status. -"$@"; st=$? - -# If it succeeded, we are done. -test $st -eq 0 && exit 0 - -# Also exit now if we it failed (or wasn't found), and '--version' was -# passed; such an option is passed most likely to detect whether the -# program is present and works. -case $2 in --version|--help) exit $st;; esac - -# Exit code 63 means version mismatch. This often happens when the user -# tries to use an ancient version of a tool on a file that requires a -# minimum version. -if test $st -eq 63; then - msg="probably too old" -elif test $st -eq 127; then - # Program was missing. - msg="missing on your system" -else - # Program was found and executed, but failed. Give up. - exit $st -fi - -perl_URL=http://www.perl.org/ -flex_URL=http://flex.sourceforge.net/ -gnu_software_URL=http://www.gnu.org/software - -program_details () -{ - case $1 in - aclocal|automake) - echo "The '$1' program is part of the GNU Automake package:" - echo "<$gnu_software_URL/automake>" - echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/autoconf>" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - autoconf|autom4te|autoheader) - echo "The '$1' program is part of the GNU Autoconf package:" - echo "<$gnu_software_URL/autoconf/>" - echo "It also requires GNU m4 and Perl in order to run:" - echo "<$gnu_software_URL/m4/>" - echo "<$perl_URL>" - ;; - esac -} - -give_advice () -{ - # Normalize program name to check for. - normalized_program=`echo "$1" | sed ' - s/^gnu-//; t - s/^gnu//; t - s/^g//; t'` - - printf '%s\n' "'$1' is $msg." - - configure_deps="'configure.ac' or m4 files included by 'configure.ac'" - case $normalized_program in - autoconf*) - echo "You should only need it if you modified 'configure.ac'," - echo "or m4 files included by it." - program_details 'autoconf' - ;; - autoheader*) - echo "You should only need it if you modified 'acconfig.h' or" - echo "$configure_deps." - program_details 'autoheader' - ;; - automake*) - echo "You should only need it if you modified 'Makefile.am' or" - echo "$configure_deps." - program_details 'automake' - ;; - aclocal*) - echo "You should only need it if you modified 'acinclude.m4' or" - echo "$configure_deps." - program_details 'aclocal' - ;; - autom4te*) - echo "You might have modified some maintainer files that require" - echo "the 'automa4te' program to be rebuilt." - program_details 'autom4te' - ;; - bison*|yacc*) - echo "You should only need it if you modified a '.y' file." - echo "You may want to install the GNU Bison package:" - echo "<$gnu_software_URL/bison/>" - ;; - lex*|flex*) - echo "You should only need it if you modified a '.l' file." - echo "You may want to install the Fast Lexical Analyzer package:" - echo "<$flex_URL>" - ;; - help2man*) - echo "You should only need it if you modified a dependency" \ - "of a man page." - echo "You may want to install the GNU Help2man package:" - echo "<$gnu_software_URL/help2man/>" - ;; - makeinfo*) - echo "You should only need it if you modified a '.texi' file, or" - echo "any other file indirectly affecting the aspect of the manual." - echo "You might want to install the Texinfo package:" - echo "<$gnu_software_URL/texinfo/>" - echo "The spurious makeinfo call might also be the consequence of" - echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" - echo "want to install GNU make:" - echo "<$gnu_software_URL/make/>" - ;; - *) - echo "You might have modified some files without having the proper" - echo "tools for further handling them. Check the 'README' file, it" - echo "often tells you about the needed prerequisites for installing" - echo "this package. You may also peek at any GNU archive site, in" - echo "case some other package contains this missing '$1' program." - ;; - esac -} - -give_advice "$1" | sed -e '1s/^/WARNING: /' \ - -e '2,$s/^/ /' >&2 - -# Propagate the correct exit status (expected to be 127 for a program -# not found, 63 for a program that failed due to version mismatch). -exit $st - -# Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) -# time-stamp-start: "scriptversion=" -# time-stamp-format: "%:y-%02m-%02d.%02H" -# time-stamp-time-zone: "UTC" -# time-stamp-end: "; # UTC" -# End: diff --git a/Build/source/extra/xz/build-aux/version.sh b/Build/source/extra/xz/build-aux/version.sh deleted file mode 100644 index 40d04936288..00000000000 --- a/Build/source/extra/xz/build-aux/version.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/sh -# -############################################################################# -# -# Get the version string from version.h and print it out without -# trailing newline. This makes it suitable for use in configure.ac. -# -############################################################################# -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################# - -sed -n 's/LZMA_VERSION_STABILITY_ALPHA/alpha/ - s/LZMA_VERSION_STABILITY_BETA/beta/ - s/LZMA_VERSION_STABILITY_STABLE// - s/^#define LZMA_VERSION_[MPS][AIT][AJNT][A-Z]* //p' \ - src/liblzma/api/lzma/version.h \ - | tr '\n' '|' \ - | sed 's/|/./; s/|/./; s/|//g' \ - | tr -d '\n' diff --git a/Build/source/extra/xz/config.h.in b/Build/source/extra/xz/config.h.in deleted file mode 100644 index f9fc57f628f..00000000000 --- a/Build/source/extra/xz/config.h.in +++ /dev/null @@ -1,425 +0,0 @@ -/* config.h.in. Generated from configure.ac by autoheader. */ - -/* Define if building universal (internal helper macro) */ -#undef AC_APPLE_UNIVERSAL_BUILD - -/* How many MiB of RAM to assume if the real amount cannot be determined. */ -#undef ASSUME_RAM - -/* Define to 1 if translation of program messages to the user's native - language is requested. */ -#undef ENABLE_NLS - -/* Define to 1 if bswap_16 is available. */ -#undef HAVE_BSWAP_16 - -/* Define to 1 if bswap_32 is available. */ -#undef HAVE_BSWAP_32 - -/* Define to 1 if bswap_64 is available. */ -#undef HAVE_BSWAP_64 - -/* Define to 1 if you have the header file. */ -#undef HAVE_BYTESWAP_H - -/* Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the - CoreFoundation framework. */ -#undef HAVE_CFLOCALECOPYCURRENT - -/* Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in - the CoreFoundation framework. */ -#undef HAVE_CFPREFERENCESCOPYAPPVALUE - -/* Define to 1 if crc32 integrity check is enabled. */ -#undef HAVE_CHECK_CRC32 - -/* Define to 1 if crc64 integrity check is enabled. */ -#undef HAVE_CHECK_CRC64 - -/* Define to 1 if sha256 integrity check is enabled. */ -#undef HAVE_CHECK_SHA256 - -/* Define if the GNU dcgettext() function is already present or preinstalled. - */ -#undef HAVE_DCGETTEXT - -/* Define to 1 if you have the declaration of `program_invocation_name', and - to 0 if you don't. */ -#undef HAVE_DECL_PROGRAM_INVOCATION_NAME - -/* Define to 1 if arm decoder is enabled. */ -#undef HAVE_DECODER_ARM - -/* Define to 1 if armthumb decoder is enabled. */ -#undef HAVE_DECODER_ARMTHUMB - -/* Define to 1 if delta decoder is enabled. */ -#undef HAVE_DECODER_DELTA - -/* Define to 1 if ia64 decoder is enabled. */ -#undef HAVE_DECODER_IA64 - -/* Define to 1 if lzma1 decoder is enabled. */ -#undef HAVE_DECODER_LZMA1 - -/* Define to 1 if lzma2 decoder is enabled. */ -#undef HAVE_DECODER_LZMA2 - -/* Define to 1 if powerpc decoder is enabled. */ -#undef HAVE_DECODER_POWERPC - -/* Define to 1 if sparc decoder is enabled. */ -#undef HAVE_DECODER_SPARC - -/* Define to 1 if x86 decoder is enabled. */ -#undef HAVE_DECODER_X86 - -/* Define to 1 if you have the header file. */ -#undef HAVE_DLFCN_H - -/* Define to 1 if arm encoder is enabled. */ -#undef HAVE_ENCODER_ARM - -/* Define to 1 if armthumb encoder is enabled. */ -#undef HAVE_ENCODER_ARMTHUMB - -/* Define to 1 if delta encoder is enabled. */ -#undef HAVE_ENCODER_DELTA - -/* Define to 1 if ia64 encoder is enabled. */ -#undef HAVE_ENCODER_IA64 - -/* Define to 1 if lzma1 encoder is enabled. */ -#undef HAVE_ENCODER_LZMA1 - -/* Define to 1 if lzma2 encoder is enabled. */ -#undef HAVE_ENCODER_LZMA2 - -/* Define to 1 if powerpc encoder is enabled. */ -#undef HAVE_ENCODER_POWERPC - -/* Define to 1 if sparc encoder is enabled. */ -#undef HAVE_ENCODER_SPARC - -/* Define to 1 if x86 encoder is enabled. */ -#undef HAVE_ENCODER_X86 - -/* Define to 1 if you have the header file. */ -#undef HAVE_FCNTL_H - -/* Define to 1 if you have the `futimens' function. */ -#undef HAVE_FUTIMENS - -/* Define to 1 if you have the `futimes' function. */ -#undef HAVE_FUTIMES - -/* Define to 1 if you have the `futimesat' function. */ -#undef HAVE_FUTIMESAT - -/* Define to 1 if you have the header file. */ -#undef HAVE_GETOPT_H - -/* Define to 1 if you have the `getopt_long' function. */ -#undef HAVE_GETOPT_LONG - -/* Define if the GNU gettext() function is already present or preinstalled. */ -#undef HAVE_GETTEXT - -/* Define if you have the iconv() function and it works. */ -#undef HAVE_ICONV - -/* Define to 1 if you have the header file. */ -#undef HAVE_INTTYPES_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_LIMITS_H - -/* Define to 1 if mbrtowc and mbstate_t are properly declared. */ -#undef HAVE_MBRTOWC - -/* Define to 1 if you have the header file. */ -#undef HAVE_MEMORY_H - -/* Define to 1 to enable bt2 match finder. */ -#undef HAVE_MF_BT2 - -/* Define to 1 to enable bt3 match finder. */ -#undef HAVE_MF_BT3 - -/* Define to 1 to enable bt4 match finder. */ -#undef HAVE_MF_BT4 - -/* Define to 1 to enable hc3 match finder. */ -#undef HAVE_MF_HC3 - -/* Define to 1 to enable hc4 match finder. */ -#undef HAVE_MF_HC4 - -/* Define to 1 if getopt.h declares extern int optreset. */ -#undef HAVE_OPTRESET - -/* Define if you have POSIX threads libraries and header files. */ -#undef HAVE_PTHREAD - -/* Have PTHREAD_PRIO_INHERIT. */ -#undef HAVE_PTHREAD_PRIO_INHERIT - -/* Define to 1 if optimizing for size. */ -#undef HAVE_SMALL - -/* Define to 1 if stdbool.h conforms to C99. */ -#undef HAVE_STDBOOL_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDINT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STDLIB_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRINGS_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_STRING_H - -/* Define to 1 if `st_atimensec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMENSEC - -/* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC - -/* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC - -/* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC - -/* Define to 1 if `st_uatime' is a member of `struct stat'. */ -#undef HAVE_STRUCT_STAT_ST_UATIME - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_BYTEORDER_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_ENDIAN_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_PARAM_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_STAT_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TIME_H - -/* Define to 1 if you have the header file. */ -#undef HAVE_SYS_TYPES_H - -/* Define to 1 if the system has the type `uintptr_t'. */ -#undef HAVE_UINTPTR_T - -/* Define to 1 if you have the header file. */ -#undef HAVE_UNISTD_H - -/* Define to 1 if you have the `utime' function. */ -#undef HAVE_UTIME - -/* Define to 1 if you have the `utimes' function. */ -#undef HAVE_UTIMES - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#undef HAVE_VISIBILITY - -/* Define to 1 if you have the `wcwidth' function. */ -#undef HAVE_WCWIDTH - -/* Define to 1 if the system has the type `_Bool'. */ -#undef HAVE__BOOL - -/* Define to the sub-directory in which libtool stores uninstalled libraries. - */ -#undef LT_OBJDIR - -/* Define to 1 to disable debugging code. */ -#undef NDEBUG - -/* Name of package */ -#undef PACKAGE - -/* Define to the address where bug reports for this package should be sent. */ -#undef PACKAGE_BUGREPORT - -/* Define to the full name of this package. */ -#undef PACKAGE_NAME - -/* Define to the full name and version of this package. */ -#undef PACKAGE_STRING - -/* Define to the one symbol short name of this package. */ -#undef PACKAGE_TARNAME - -/* Define to the home page for this package. */ -#undef PACKAGE_URL - -/* Define to the version of this package. */ -#undef PACKAGE_VERSION - -/* Define to necessary symbol if this constant uses a non-standard name on - your system. */ -#undef PTHREAD_CREATE_JOINABLE - -/* The size of `size_t', as computed by sizeof. */ -#undef SIZEOF_SIZE_T - -/* Define to 1 if you have the ANSI C header files. */ -#undef STDC_HEADERS - -/* Define to 1 if the number of available CPU cores can be detected with - pstat_getdynamic(). */ -#undef TUKLIB_CPUCORES_PSTAT_GETDYNAMIC - -/* Define to 1 if the number of available CPU cores can be detected with - sysconf(_SC_NPROCESSORS_ONLN) or sysconf(_SC_NPROC_ONLN). */ -#undef TUKLIB_CPUCORES_SYSCONF - -/* Define to 1 if the number of available CPU cores can be detected with - sysctl(). */ -#undef TUKLIB_CPUCORES_SYSCTL - -/* Define to 1 if the system supports fast unaligned access to 16-bit and - 32-bit integers. */ -#undef TUKLIB_FAST_UNALIGNED_ACCESS - -/* Define to 1 if the amount of physical memory can be detected with - _system_configuration.physmem. */ -#undef TUKLIB_PHYSMEM_AIX - -/* Define to 1 if the amount of physical memory can be detected with - getinvent_r(). */ -#undef TUKLIB_PHYSMEM_GETINVENT_R - -/* Define to 1 if the amount of physical memory can be detected with - getsysinfo(). */ -#undef TUKLIB_PHYSMEM_GETSYSINFO - -/* Define to 1 if the amount of physical memory can be detected with - pstat_getstatic(). */ -#undef TUKLIB_PHYSMEM_PSTAT_GETSTATIC - -/* Define to 1 if the amount of physical memory can be detected with - sysconf(_SC_PAGESIZE) and sysconf(_SC_PHYS_PAGES). */ -#undef TUKLIB_PHYSMEM_SYSCONF - -/* Define to 1 if the amount of physical memory can be detected with sysctl(). - */ -#undef TUKLIB_PHYSMEM_SYSCTL - -/* Define to 1 if the amount of physical memory can be detected with Linux - sysinfo(). */ -#undef TUKLIB_PHYSMEM_SYSINFO - -/* Enable extensions on AIX 3, Interix. */ -#ifndef _ALL_SOURCE -# undef _ALL_SOURCE -#endif -/* Enable GNU extensions on systems that have them. */ -#ifndef _GNU_SOURCE -# undef _GNU_SOURCE -#endif -/* Enable threading extensions on Solaris. */ -#ifndef _POSIX_PTHREAD_SEMANTICS -# undef _POSIX_PTHREAD_SEMANTICS -#endif -/* Enable extensions on HP NonStop. */ -#ifndef _TANDEM_SOURCE -# undef _TANDEM_SOURCE -#endif -/* Enable general extensions on Solaris. */ -#ifndef __EXTENSIONS__ -# undef __EXTENSIONS__ -#endif - - -/* Version number of package */ -#undef VERSION - -/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most - significant byte first (like Motorola and SPARC, unlike Intel). */ -#if defined AC_APPLE_UNIVERSAL_BUILD -# if defined __BIG_ENDIAN__ -# define WORDS_BIGENDIAN 1 -# endif -#else -# ifndef WORDS_BIGENDIAN -# undef WORDS_BIGENDIAN -# endif -#endif - -/* Enable large inode numbers on Mac OS X 10.5. */ -#ifndef _DARWIN_USE_64_BIT_INODE -# define _DARWIN_USE_64_BIT_INODE 1 -#endif - -/* Number of bits in a file offset, on hosts where this is settable. */ -#undef _FILE_OFFSET_BITS - -/* Define for large files, on AIX-style hosts. */ -#undef _LARGE_FILES - -/* Define to 1 if on MINIX. */ -#undef _MINIX - -/* Define to 2 if the system does not provide POSIX.1 features except with - this defined. */ -#undef _POSIX_1_SOURCE - -/* Define to 1 if you need to in order for `stat' and other things to work. */ -#undef _POSIX_SOURCE - -/* Define for Solaris 2.5.1 so the uint32_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT32_T - -/* Define for Solaris 2.5.1 so the uint64_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT64_T - -/* Define for Solaris 2.5.1 so the uint8_t typedef from , - , or is not used. If the typedef were allowed, the - #define below would cause a syntax error. */ -#undef _UINT8_T - -/* Define to rpl_ if the getopt replacement functions and variables should be - used. */ -#undef __GETOPT_PREFIX - -/* Define to the type of a signed integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef int32_t - -/* Define to the type of a signed integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#undef int64_t - -/* Define to the type of an unsigned integer type of width exactly 16 bits if - such a type exists and the standard includes do not define it. */ -#undef uint16_t - -/* Define to the type of an unsigned integer type of width exactly 32 bits if - such a type exists and the standard includes do not define it. */ -#undef uint32_t - -/* Define to the type of an unsigned integer type of width exactly 64 bits if - such a type exists and the standard includes do not define it. */ -#undef uint64_t - -/* Define to the type of an unsigned integer type of width exactly 8 bits if - such a type exists and the standard includes do not define it. */ -#undef uint8_t - -/* Define to the type of an unsigned integer type wide enough to hold a - pointer, if such a type exists, and if the system does not define it. */ -#undef uintptr_t diff --git a/Build/source/extra/xz/configure b/Build/source/extra/xz/configure deleted file mode 100755 index 57316967cc9..00000000000 --- a/Build/source/extra/xz/configure +++ /dev/null @@ -1,21095 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for XZ Utils 5.0.5. -# -# Report bugs to . -# -# -# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -# Use a proper internal environment variable to ensure we don't fall - # into an infinite loop, continuously re-executing ourselves. - if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then - _as_can_reexec=no; export _as_can_reexec; - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -as_fn_exit 255 - fi - # We don't want this to propagate to other subprocesses. - { _as_can_reexec=; unset _as_can_reexec;} -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1 -test -x / || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 -test \$(( 1 + 1 )) = 2 || exit 1 - - test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ - || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - export CONFIG_SHELL - # We cannot yet assume a decent shell, so we have to provide a -# neutralization value for shells without unset; and this also -# works around shells that cannot unset nonexistent variables. -# Preserve -v and -x to the replacement shell. -BASH_ENV=/dev/null -ENV=/dev/null -(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV -case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; -esac -exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} -# Admittedly, this is quite paranoid, since all the known shells bail -# out after a failed `exec'. -$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 -exit 255 -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org and -$0: lasse.collin@tukaani.org about your system, including -$0: any error possibly output before this message. Then -$0: install a modern shell, or manually run the script -$0: under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # If we had to re-execute with $CONFIG_SHELL, we're ensured to have - # already done that, so ensure we don't try to do so again and fall - # in an infinite loop. This has already happened in practice. - _as_can_reexec=no; export _as_can_reexec - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - -SHELL=${CONFIG_SHELL-/bin/sh} - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='XZ Utils' -PACKAGE_TARNAME='xz' -PACKAGE_VERSION='5.0.5' -PACKAGE_STRING='XZ Utils 5.0.5' -PACKAGE_BUGREPORT='lasse.collin@tukaani.org' -PACKAGE_URL='http://tukaani.org/xz/' - -ac_unique_file="src/liblzma/common/common.h" -# Factoring default headers for most tests. -ac_includes_default="\ -#include -#ifdef HAVE_SYS_TYPES_H -# include -#endif -#ifdef HAVE_SYS_STAT_H -# include -#endif -#ifdef STDC_HEADERS -# include -# include -#else -# ifdef HAVE_STDLIB_H -# include -# endif -#endif -#ifdef HAVE_STRING_H -# if !defined STDC_HEADERS && defined HAVE_MEMORY_H -# include -# endif -# include -#endif -#ifdef HAVE_STRINGS_H -# include -#endif -#ifdef HAVE_INTTYPES_H -# include -#endif -#ifdef HAVE_STDINT_H -# include -#endif -#ifdef HAVE_UNISTD_H -# include -#endif" - -gt_needs= -ac_subst_vars='am__EXEEXT_FALSE -am__EXEEXT_TRUE -LTLIBOBJS -xz -AM_CFLAGS -COND_GNULIB_FALSE -COND_GNULIB_TRUE -HAVE_VISIBILITY -CFLAG_VISIBILITY -GETOPT_H -LIBOBJS -POSUB -LTLIBINTL -LIBINTL -INTLLIBS -LTLIBICONV -LIBICONV -INTL_MACOSX_LIBS -XGETTEXT_EXTRA_OPTIONS -MSGMERGE -XGETTEXT_015 -XGETTEXT -GMSGFMT_015 -MSGFMT_015 -GMSGFMT -MSGFMT -GETTEXT_MACRO_VERSION -USE_NLS -COND_SHARED_FALSE -COND_SHARED_TRUE -RC -OTOOL64 -OTOOL -LIPO -NMEDIT -DSYMUTIL -MANIFEST_TOOL -RANLIB -ac_ct_AR -AR -NM -ac_ct_DUMPBIN -DUMPBIN -LD -FGREP -SED -LIBTOOL -OBJDUMP -DLLTOOL -AS -PTHREAD_CFLAGS -PTHREAD_LIBS -PTHREAD_CC -ax_pthread_config -EGREP -GREP -CPP -am__fastdepCCAS_FALSE -am__fastdepCCAS_TRUE -CCASDEPMODE -CCASFLAGS -CCAS -am__fastdepCC_FALSE -am__fastdepCC_TRUE -CCDEPMODE -am__nodep -AMDEPBACKSLASH -AMDEP_FALSE -AMDEP_TRUE -am__quote -am__include -DEPDIR -OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -LN_S -AM_BACKSLASH -AM_DEFAULT_VERBOSITY -AM_DEFAULT_V -AM_V -am__untar -am__tar -AMTAR -am__leading_dot -SET_MAKE -AWK -mkdir_p -MKDIR_P -INSTALL_STRIP_PROGRAM -STRIP -install_sh -MAKEINFO -AUTOHEADER -AUTOMAKE -AUTOCONF -ACLOCAL -VERSION -PACKAGE -CYGPATH_W -am__isrc -INSTALL_DATA -INSTALL_SCRIPT -INSTALL_PROGRAM -PREFERABLY_POSIX_SHELL -POSIX_SHELL -COND_SCRIPTS_FALSE -COND_SCRIPTS_TRUE -COND_LZMALINKS_FALSE -COND_LZMALINKS_TRUE -COND_LZMAINFO_FALSE -COND_LZMAINFO_TRUE -COND_LZMADEC_FALSE -COND_LZMADEC_TRUE -COND_XZDEC_FALSE -COND_XZDEC_TRUE -COND_XZ_FALSE -COND_XZ_TRUE -COND_SMALL_FALSE -COND_SMALL_TRUE -COND_ASM_X86_64_FALSE -COND_ASM_X86_64_TRUE -COND_ASM_X86_FALSE -COND_ASM_X86_TRUE -COND_CHECK_SHA256_FALSE -COND_CHECK_SHA256_TRUE -COND_CHECK_CRC64_FALSE -COND_CHECK_CRC64_TRUE -COND_CHECK_CRC32_FALSE -COND_CHECK_CRC32_TRUE -COND_DECODER_LZ_FALSE -COND_DECODER_LZ_TRUE -COND_ENCODER_LZ_FALSE -COND_ENCODER_LZ_TRUE -COND_FILTER_LZ_FALSE -COND_FILTER_LZ_TRUE -COND_DECODER_SIMPLE_FALSE -COND_DECODER_SIMPLE_TRUE -COND_ENCODER_SIMPLE_FALSE -COND_ENCODER_SIMPLE_TRUE -COND_FILTER_SIMPLE_FALSE -COND_FILTER_SIMPLE_TRUE -COND_DECODER_SPARC_FALSE -COND_DECODER_SPARC_TRUE -COND_ENCODER_SPARC_FALSE -COND_ENCODER_SPARC_TRUE -COND_FILTER_SPARC_FALSE -COND_FILTER_SPARC_TRUE -COND_DECODER_ARMTHUMB_FALSE -COND_DECODER_ARMTHUMB_TRUE -COND_ENCODER_ARMTHUMB_FALSE -COND_ENCODER_ARMTHUMB_TRUE -COND_FILTER_ARMTHUMB_FALSE -COND_FILTER_ARMTHUMB_TRUE -COND_DECODER_ARM_FALSE -COND_DECODER_ARM_TRUE -COND_ENCODER_ARM_FALSE -COND_ENCODER_ARM_TRUE -COND_FILTER_ARM_FALSE -COND_FILTER_ARM_TRUE -COND_DECODER_IA64_FALSE -COND_DECODER_IA64_TRUE -COND_ENCODER_IA64_FALSE -COND_ENCODER_IA64_TRUE -COND_FILTER_IA64_FALSE -COND_FILTER_IA64_TRUE -COND_DECODER_POWERPC_FALSE -COND_DECODER_POWERPC_TRUE -COND_ENCODER_POWERPC_FALSE -COND_ENCODER_POWERPC_TRUE -COND_FILTER_POWERPC_FALSE -COND_FILTER_POWERPC_TRUE -COND_DECODER_X86_FALSE -COND_DECODER_X86_TRUE -COND_ENCODER_X86_FALSE -COND_ENCODER_X86_TRUE -COND_FILTER_X86_FALSE -COND_FILTER_X86_TRUE -COND_DECODER_DELTA_FALSE -COND_DECODER_DELTA_TRUE -COND_ENCODER_DELTA_FALSE -COND_ENCODER_DELTA_TRUE -COND_FILTER_DELTA_FALSE -COND_FILTER_DELTA_TRUE -COND_DECODER_LZMA2_FALSE -COND_DECODER_LZMA2_TRUE -COND_ENCODER_LZMA2_FALSE -COND_ENCODER_LZMA2_TRUE -COND_FILTER_LZMA2_FALSE -COND_FILTER_LZMA2_TRUE -COND_DECODER_LZMA1_FALSE -COND_DECODER_LZMA1_TRUE -COND_ENCODER_LZMA1_FALSE -COND_ENCODER_LZMA1_TRUE -COND_FILTER_LZMA1_FALSE -COND_FILTER_LZMA1_TRUE -COND_MAIN_DECODER_FALSE -COND_MAIN_DECODER_TRUE -COND_MAIN_ENCODER_FALSE -COND_MAIN_ENCODER_TRUE -LN_EXEEXT -COND_W32_FALSE -COND_W32_TRUE -host_os -host_vendor -host_cpu -host -build_os -build_vendor -build_cpu -build -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -enable_debug -enable_encoders -enable_decoders -enable_match_finders -enable_checks -enable_assembler -enable_small -enable_threads -enable_assume_ram -enable_xz -enable_xzdec -enable_lzmadec -enable_lzmainfo -enable_lzma_links -enable_scripts -enable_silent_rules -enable_dependency_tracking -enable_shared -enable_static -with_pic -enable_fast_install -with_gnu_ld -with_sysroot -enable_libtool_lock -enable_nls -enable_rpath -with_libiconv_prefix -with_libintl_prefix -enable_largefile -enable_unaligned_access -enable_werror -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS -CCAS -CCASFLAGS -CPP' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures XZ Utils 5.0.5 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/xz] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF - -Program names: - --program-prefix=PREFIX prepend PREFIX to installed program names - --program-suffix=SUFFIX append SUFFIX to installed program names - --program-transform-name=PROGRAM run sed PROGRAM on installed program names - -System types: - --build=BUILD configure for building on BUILD [guessed] - --host=HOST cross-compile to build programs to run on HOST [BUILD] -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of XZ Utils 5.0.5:";; - esac - cat <<\_ACEOF - -Optional Features: - --disable-option-checking ignore unrecognized --enable/--with options - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] - --enable-debug Enable debugging code. - --enable-encoders=LIST Comma-separated list of encoders to build. - Default=all. Available encoders: lzma1 lzma2 delta - x86 powerpc ia64 arm armthumb sparc - --enable-decoders=LIST Comma-separated list of decoders to build. - Default=all. Available decoders are the same as - available encoders. - --enable-match-finders=LIST - Comma-separated list of match finders to build. - Default=all. At least one match finder is required - for encoding with the LZMA1 and LZMA2 filters. - Available match finders: hc3 hc4 bt2 bt3 bt4 - --enable-checks=LIST Comma-separated list of integrity checks to build. - Default=all. Available integrity checks: crc32 crc64 - sha256 - --disable-assembler Do not use assembler optimizations even if such - exist for the architecture. - --enable-small Make liblzma smaller and a little slower. This is - disabled by default to optimize for speed. - --disable-threads Disable threading support. This makes some things - thread-unsafe. - --enable-assume-ram=SIZE - If and only if the real amount of RAM cannot be - determined, assume SIZE MiB. The default is 128 MiB. - This affects the default memory usage limit. - --disable-xz do not build the xz tool - --disable-xzdec do not build xzdec - --disable-lzmadec do not build lzmadec (it exists primarily for LZMA - Utils compatibility) - --disable-lzmainfo do not build lzmainfo (it exists primarily for LZMA - Utils compatibility) - --disable-lzma-links do not create symlinks for LZMA Utils compatibility - --disable-scripts do not install the scripts xzdiff, xzgrep, xzless, - xzmore, and their symlinks - --enable-silent-rules less verbose build output (undo: "make V=1") - --disable-silent-rules verbose build output (undo: "make V=0") - --enable-dependency-tracking - do not reject slow dependency extractors - --disable-dependency-tracking - speeds up one-time build - --enable-shared[=PKGS] build shared libraries [default=yes] - --enable-static[=PKGS] build static libraries [default=yes] - --enable-fast-install[=PKGS] - optimize for fast installation [default=yes] - --disable-libtool-lock avoid locking (might break parallel builds) - --disable-nls do not use Native Language Support - --disable-rpath do not hardcode runtime library paths - --disable-largefile omit support for large files - --enable-unaligned-access - Enable if the system supports *fast* unaligned - memory access with 16-bit and 32-bit integers. By - default, this is enabled only on x86, x86_64, and - big endian PowerPC. - --enable-werror Enable -Werror to abort compilation on all compiler - warnings. - -Optional Packages: - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) - --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use - both] - --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-sysroot=DIR Search for dependent libraries within DIR - (or the compiler's sysroot if not specified). - --with-gnu-ld assume the C compiler uses GNU ld default=no - --with-libiconv-prefix[=DIR] search for libiconv in DIR/include and DIR/lib - --without-libiconv-prefix don't search for libiconv in includedir and libdir - --with-libintl-prefix[=DIR] search for libintl in DIR/include and DIR/lib - --without-libintl-prefix don't search for libintl in includedir and libdir - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - CCAS assembler compiler command (defaults to CC) - CCASFLAGS assembler compiler flags (defaults to CFLAGS) - CPP C preprocessor - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to . -XZ Utils home page: . -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -XZ Utils configure 5.0.5 -generated by GNU Autoconf 2.69 - -Copyright (C) 2012 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_cpp LINENO -# ---------------------- -# Try to preprocess conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_cpp () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_cpp conftest.$ac_ext" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } > conftest.i && { - test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || - test ! -s conftest.err - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_cpp - -# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists, giving a warning if it cannot be compiled using -# the include files in INCLUDES and setting the cache variable VAR -# accordingly. -ac_fn_c_check_header_mongrel () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if eval \${$3+:} false; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -else - # Is the header compilable? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 -$as_echo_n "checking $2 usability... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_header_compiler=yes -else - ac_header_compiler=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 -$as_echo "$ac_header_compiler" >&6; } - -# Is the header present? -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 -$as_echo_n "checking $2 presence... " >&6; } -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include <$2> -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - ac_header_preproc=yes -else - ac_header_preproc=no -fi -rm -f conftest.err conftest.i conftest.$ac_ext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 -$as_echo "$ac_header_preproc" >&6; } - -# So? What about this header? -case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( - yes:no: ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 -$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} - ;; - no:yes:* ) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 -$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 -$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 -$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 -$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 -$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} -( $as_echo "## --------------------------------------- ## -## Report this to lasse.collin@tukaani.org ## -## --------------------------------------- ##" - ) | sed "s/^/$as_me: WARNING: /" >&2 - ;; -esac - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=\$ac_header_compiler" -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_mongrel - -# ac_fn_c_try_run LINENO -# ---------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes -# that executables *can* be run. -ac_fn_c_try_run () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then : - ac_retval=0 -else - $as_echo "$as_me: program exited with status $ac_status" >&5 - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=$ac_status -fi - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_run - -# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES -# ------------------------------------------------------- -# Tests whether HEADER exists and can be compiled using the include files in -# INCLUDES, setting the cache variable VAR accordingly. -ac_fn_c_check_header_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -#include <$2> -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_header_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link - -# ac_fn_c_check_func LINENO FUNC VAR -# ---------------------------------- -# Tests whether FUNC exists, setting the cache variable VAR accordingly -ac_fn_c_check_func () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -/* Define $2 to an innocuous variant, in case declares $2. - For example, HP-UX 11i declares gettimeofday. */ -#define $2 innocuous_$2 - -/* System header to define __stub macros and hopefully few prototypes, - which can conflict with char $2 (); below. - Prefer to if __STDC__ is defined, since - exists even on freestanding compilers. */ - -#ifdef __STDC__ -# include -#else -# include -#endif - -#undef $2 - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char $2 (); -/* The GNU C library defines this for functions which it implements - to always fail with ENOSYS. Some functions are actually named - something starting with __ and the normal name is an alias. */ -#if defined __stub_$2 || defined __stub___$2 -choke me -#endif - -int -main () -{ -return $2 (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_func - -# ac_fn_c_check_type LINENO TYPE VAR INCLUDES -# ------------------------------------------- -# Tests whether TYPE exists after having included INCLUDES, setting cache -# variable VAR accordingly. -ac_fn_c_check_type () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 -$as_echo_n "checking for $2... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof ($2)) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -if (sizeof (($2))) - return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - eval "$3=yes" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_type - -# ac_fn_c_find_uintX_t LINENO BITS VAR -# ------------------------------------ -# Finds an unsigned integer type with width BITS, setting cache variable VAR -# accordingly. -ac_fn_c_find_uintX_t () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for uint$2_t" >&5 -$as_echo_n "checking for uint$2_t... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - # Order is important - never check a type that is potentially smaller - # than half of the expected target width. - for ac_type in uint$2_t 'unsigned int' 'unsigned long int' \ - 'unsigned long long int' 'unsigned short int' 'unsigned char'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !((($ac_type) -1 >> ($2 / 2 - 1)) >> ($2 / 2 - 1) == 3)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - case $ac_type in #( - uint$2_t) : - eval "$3=yes" ;; #( - *) : - eval "$3=\$ac_type" ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if eval test \"x\$"$3"\" = x"no"; then : - -else - break -fi - done -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_find_uintX_t - -# ac_fn_c_find_intX_t LINENO BITS VAR -# ----------------------------------- -# Finds a signed integer type with width BITS, setting cache variable VAR -# accordingly. -ac_fn_c_find_intX_t () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for int$2_t" >&5 -$as_echo_n "checking for int$2_t... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - eval "$3=no" - # Order is important - never check a type that is potentially smaller - # than half of the expected target width. - for ac_type in int$2_t 'int' 'long int' \ - 'long long int' 'short int' 'signed char'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - enum { N = $2 / 2 - 1 }; -int -main () -{ -static int test_array [1 - 2 * !(0 < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1))]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default - enum { N = $2 / 2 - 1 }; -int -main () -{ -static int test_array [1 - 2 * !(($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 1) - < ($ac_type) ((((($ac_type) 1 << N) << N) - 1) * 2 + 2))]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - case $ac_type in #( - int$2_t) : - eval "$3=yes" ;; #( - *) : - eval "$3=\$ac_type" ;; -esac -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if eval test \"x\$"$3"\" = x"no"; then : - -else - break -fi - done -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_find_intX_t - -# ac_fn_c_compute_int LINENO EXPR VAR INCLUDES -# -------------------------------------------- -# Tries to find the compile-time value of EXPR in a program that includes -# INCLUDES, setting VAR accordingly. Returns whether the value could be -# computed -ac_fn_c_compute_int () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - if test "$cross_compiling" = yes; then - # Depending upon the size, compute the lo and hi bounds. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=0 ac_mid=0 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid; break -else - as_fn_arith $ac_mid + 1 && ac_lo=$as_val - if test $ac_lo -le $ac_mid; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) < 0)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=-1 ac_mid=-1 - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) >= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_lo=$ac_mid; break -else - as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val - if test $ac_mid -le $ac_hi; then - ac_lo= ac_hi= - break - fi - as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - done -else - ac_lo= ac_hi= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -# Binary search between lo and hi bounds. -while test "x$ac_lo" != "x$ac_hi"; do - as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -static int test_array [1 - 2 * !(($2) <= $ac_mid)]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_hi=$ac_mid -else - as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -done -case $ac_lo in #(( -?*) eval "$3=\$ac_lo"; ac_retval=0 ;; -'') ac_retval=1 ;; -esac - else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -static long int longval () { return $2; } -static unsigned long int ulongval () { return $2; } -#include -#include -int -main () -{ - - FILE *f = fopen ("conftest.val", "w"); - if (! f) - return 1; - if (($2) < 0) - { - long int i = longval (); - if (i != ($2)) - return 1; - fprintf (f, "%ld", i); - } - else - { - unsigned long int i = ulongval (); - if (i != ($2)) - return 1; - fprintf (f, "%lu", i); - } - /* Do not output a trailing newline, as this causes \r\n confusion - on some platforms. */ - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - echo >>conftest.val; read $3 &5 -$as_echo_n "checking for $2.$3... " >&6; } -if eval \${$4+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$5 -int -main () -{ -static $2 ac_aggr; -if (sizeof ac_aggr.$3) -return 0; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$4=yes" -else - eval "$4=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$4 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_member - -# ac_fn_c_check_decl LINENO SYMBOL VAR INCLUDES -# --------------------------------------------- -# Tests whether SYMBOL is declared in INCLUDES, setting cache variable VAR -# accordingly. -ac_fn_c_check_decl () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - as_decl_name=`echo $2|sed 's/ *(.*//'` - as_decl_use=`echo $2|sed -e 's/(/((/' -e 's/)/) 0&/' -e 's/,/) 0& (/g'` - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $as_decl_name is declared" >&5 -$as_echo_n "checking whether $as_decl_name is declared... " >&6; } -if eval \${$3+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$4 -int -main () -{ -#ifndef $as_decl_name -#ifdef __cplusplus - (void) $as_decl_use; -#else - (void) $as_decl_name; -#endif -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - eval "$3=yes" -else - eval "$3=no" -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -eval ac_res=\$$3 - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - -} # ac_fn_c_check_decl -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by XZ Utils $as_me 5.0.5, which was -generated by GNU Autoconf 2.69. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -gt_needs="$gt_needs " -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - -ac_aux_dir= -for ac_dir in build-aux "$srcdir"/build-aux; do - if test -f "$ac_dir/install-sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install-sh -c" - break - elif test -f "$ac_dir/install.sh"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/install.sh -c" - break - elif test -f "$ac_dir/shtool"; then - ac_aux_dir=$ac_dir - ac_install_sh="$ac_aux_dir/shtool install -c" - break - fi -done -if test -z "$ac_aux_dir"; then - as_fn_error $? "cannot find install-sh, install.sh, or shtool in build-aux \"$srcdir\"/build-aux" "$LINENO" 5 -fi - -# These three variables are undocumented and unsupported, -# and are intended to be withdrawn in a future Autoconf release. -# They can cause serious problems if a builder's source tree is in a directory -# whose full name contains unusual characters. -ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. -ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. -ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - - - -ac_config_headers="$ac_config_headers config.h" - - -echo -echo "$PACKAGE_STRING" - -echo -echo "System type:" -# This is needed to know if assembler optimizations can be used. -# Make sure we can run config.sub. -$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || - as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 -$as_echo_n "checking build system type... " >&6; } -if ${ac_cv_build+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_build_alias=$build_alias -test "x$ac_build_alias" = x && - ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` -test "x$ac_build_alias" = x && - as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 -ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 -$as_echo "$ac_cv_build" >&6; } -case $ac_cv_build in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; -esac -build=$ac_cv_build -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_build -shift -build_cpu=$1 -build_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -build_os=$* -IFS=$ac_save_IFS -case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 -$as_echo_n "checking host system type... " >&6; } -if ${ac_cv_host+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "x$host_alias" = x; then - ac_cv_host=$ac_cv_build -else - ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || - as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 -$as_echo "$ac_cv_host" >&6; } -case $ac_cv_host in -*-*-*) ;; -*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; -esac -host=$ac_cv_host -ac_save_IFS=$IFS; IFS='-' -set x $ac_cv_host -shift -host_cpu=$1 -host_vendor=$2 -shift; shift -# Remember, the first character of IFS is used to create $*, -# except with old shells: -host_os=$* -IFS=$ac_save_IFS -case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac - - - -# We do some special things on Windows (32-bit or 64-bit) builds. -case $host_os in - mingw* | cygwin*) is_w32=yes ;; - *) is_w32=no ;; -esac - if test "$is_w32" = yes; then - COND_W32_TRUE= - COND_W32_FALSE='#' -else - COND_W32_TRUE='#' - COND_W32_FALSE= -fi - - -# We need to use $EXEEXT with $(LN_S) when creating symlinks to -# executables. Cygwin is an exception to this, since it is recommended -# that symlinks don't have the .exe suffix. To make this work, we -# define LN_EXEEXT. -case $host_os in - cygwin) LN_EXEEXT= ;; - *) LN_EXEEXT='$(EXEEXT)' ;; -esac - - -echo -echo "Configure options:" -AM_CFLAGS= - - -############# -# Debugging # -############# - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if debugging code should be compiled" >&5 -$as_echo_n "checking if debugging code should be compiled... " >&6; } -# Check whether --enable-debug was given. -if test "${enable_debug+set}" = set; then : - enableval=$enable_debug; -else - enable_debug=no -fi - -if test "x$enable_debug" = xyes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - -$as_echo "#define NDEBUG 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -########### -# Filters # -########### - - - - -enable_filter_lzma1=no -enable_encoder_lzma1=no -enable_decoder_lzma1=no -enable_filter_lzma2=no -enable_encoder_lzma2=no -enable_decoder_lzma2=no -enable_filter_delta=no -enable_encoder_delta=no -enable_decoder_delta=no -enable_filter_x86=no -enable_encoder_x86=no -enable_decoder_x86=no -enable_filter_powerpc=no -enable_encoder_powerpc=no -enable_decoder_powerpc=no -enable_filter_ia64=no -enable_encoder_ia64=no -enable_decoder_ia64=no -enable_filter_arm=no -enable_encoder_arm=no -enable_decoder_arm=no -enable_filter_armthumb=no -enable_encoder_armthumb=no -enable_decoder_armthumb=no -enable_filter_sparc=no -enable_encoder_sparc=no -enable_decoder_sparc=no - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which encoders to build" >&5 -$as_echo_n "checking which encoders to build... " >&6; } -# Check whether --enable-encoders was given. -if test "${enable_encoders+set}" = set; then : - enableval=$enable_encoders; -else - enable_encoders=lzma1,lzma2,delta,x86,powerpc,ia64,arm,armthumb,sparc -fi - -enable_encoders=`echo "$enable_encoders" | sed 's/,/ /g'` -if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 -$as_echo "(none)" >&6; } -else - for arg in $enable_encoders - do - case $arg in - lzma1) - enable_filter_lzma1=yes - enable_encoder_lzma1=yes - -$as_echo "#define HAVE_ENCODER_LZMA1 1" >>confdefs.h - - ;; - lzma2) - enable_filter_lzma2=yes - enable_encoder_lzma2=yes - -$as_echo "#define HAVE_ENCODER_LZMA2 1" >>confdefs.h - - ;; - delta) - enable_filter_delta=yes - enable_encoder_delta=yes - -$as_echo "#define HAVE_ENCODER_DELTA 1" >>confdefs.h - - ;; - x86) - enable_filter_x86=yes - enable_encoder_x86=yes - -$as_echo "#define HAVE_ENCODER_X86 1" >>confdefs.h - - ;; - powerpc) - enable_filter_powerpc=yes - enable_encoder_powerpc=yes - -$as_echo "#define HAVE_ENCODER_POWERPC 1" >>confdefs.h - - ;; - ia64) - enable_filter_ia64=yes - enable_encoder_ia64=yes - -$as_echo "#define HAVE_ENCODER_IA64 1" >>confdefs.h - - ;; - arm) - enable_filter_arm=yes - enable_encoder_arm=yes - -$as_echo "#define HAVE_ENCODER_ARM 1" >>confdefs.h - - ;; - armthumb) - enable_filter_armthumb=yes - enable_encoder_armthumb=yes - -$as_echo "#define HAVE_ENCODER_ARMTHUMB 1" >>confdefs.h - - ;; - sparc) - enable_filter_sparc=yes - enable_encoder_sparc=yes - -$as_echo "#define HAVE_ENCODER_SPARC 1" >>confdefs.h - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "unknown filter: $arg" "$LINENO" 5 - ;; - esac - done - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_encoders" >&5 -$as_echo "$enable_encoders" >&6; } -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which decoders to build" >&5 -$as_echo_n "checking which decoders to build... " >&6; } -# Check whether --enable-decoders was given. -if test "${enable_decoders+set}" = set; then : - enableval=$enable_decoders; -else - enable_decoders=lzma1,lzma2,delta,x86,powerpc,ia64,arm,armthumb,sparc -fi - -enable_decoders=`echo "$enable_decoders" | sed 's/,/ /g'` -if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 -$as_echo "(none)" >&6; } -else - for arg in $enable_decoders - do - case $arg in - lzma1) - enable_filter_lzma1=yes - enable_decoder_lzma1=yes - -$as_echo "#define HAVE_DECODER_LZMA1 1" >>confdefs.h - - ;; - lzma2) - enable_filter_lzma2=yes - enable_decoder_lzma2=yes - -$as_echo "#define HAVE_DECODER_LZMA2 1" >>confdefs.h - - ;; - delta) - enable_filter_delta=yes - enable_decoder_delta=yes - -$as_echo "#define HAVE_DECODER_DELTA 1" >>confdefs.h - - ;; - x86) - enable_filter_x86=yes - enable_decoder_x86=yes - -$as_echo "#define HAVE_DECODER_X86 1" >>confdefs.h - - ;; - powerpc) - enable_filter_powerpc=yes - enable_decoder_powerpc=yes - -$as_echo "#define HAVE_DECODER_POWERPC 1" >>confdefs.h - - ;; - ia64) - enable_filter_ia64=yes - enable_decoder_ia64=yes - -$as_echo "#define HAVE_DECODER_IA64 1" >>confdefs.h - - ;; - arm) - enable_filter_arm=yes - enable_decoder_arm=yes - -$as_echo "#define HAVE_DECODER_ARM 1" >>confdefs.h - - ;; - armthumb) - enable_filter_armthumb=yes - enable_decoder_armthumb=yes - -$as_echo "#define HAVE_DECODER_ARMTHUMB 1" >>confdefs.h - - ;; - sparc) - enable_filter_sparc=yes - enable_decoder_sparc=yes - -$as_echo "#define HAVE_DECODER_SPARC 1" >>confdefs.h - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "unknown filter: $arg" "$LINENO" 5 - ;; - esac - done - - # LZMA2 requires that LZMA1 is enabled. - test "x$enable_encoder_lzma2" = xyes && enable_encoder_lzma1=yes - test "x$enable_decoder_lzma2" = xyes && enable_decoder_lzma1=yes - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_decoders" >&5 -$as_echo "$enable_decoders" >&6; } -fi - -if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \ - || test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then - as_fn_error $? "LZMA2 requires that LZMA1 is also enabled." "$LINENO" 5 -fi - - if test "x$enable_encoders" != xno && test "x$enable_encoders" != x; then - COND_MAIN_ENCODER_TRUE= - COND_MAIN_ENCODER_FALSE='#' -else - COND_MAIN_ENCODER_TRUE='#' - COND_MAIN_ENCODER_FALSE= -fi - - if test "x$enable_decoders" != xno && test "x$enable_decoders" != x; then - COND_MAIN_DECODER_TRUE= - COND_MAIN_DECODER_FALSE='#' -else - COND_MAIN_DECODER_TRUE='#' - COND_MAIN_DECODER_FALSE= -fi - - - if test "x$enable_filter_lzma1" = xyes; then - COND_FILTER_LZMA1_TRUE= - COND_FILTER_LZMA1_FALSE='#' -else - COND_FILTER_LZMA1_TRUE='#' - COND_FILTER_LZMA1_FALSE= -fi - - if test "x$enable_encoder_lzma1" = xyes; then - COND_ENCODER_LZMA1_TRUE= - COND_ENCODER_LZMA1_FALSE='#' -else - COND_ENCODER_LZMA1_TRUE='#' - COND_ENCODER_LZMA1_FALSE= -fi - - if test "x$enable_decoder_lzma1" = xyes; then - COND_DECODER_LZMA1_TRUE= - COND_DECODER_LZMA1_FALSE='#' -else - COND_DECODER_LZMA1_TRUE='#' - COND_DECODER_LZMA1_FALSE= -fi - - if test "x$enable_filter_lzma2" = xyes; then - COND_FILTER_LZMA2_TRUE= - COND_FILTER_LZMA2_FALSE='#' -else - COND_FILTER_LZMA2_TRUE='#' - COND_FILTER_LZMA2_FALSE= -fi - - if test "x$enable_encoder_lzma2" = xyes; then - COND_ENCODER_LZMA2_TRUE= - COND_ENCODER_LZMA2_FALSE='#' -else - COND_ENCODER_LZMA2_TRUE='#' - COND_ENCODER_LZMA2_FALSE= -fi - - if test "x$enable_decoder_lzma2" = xyes; then - COND_DECODER_LZMA2_TRUE= - COND_DECODER_LZMA2_FALSE='#' -else - COND_DECODER_LZMA2_TRUE='#' - COND_DECODER_LZMA2_FALSE= -fi - - if test "x$enable_filter_delta" = xyes; then - COND_FILTER_DELTA_TRUE= - COND_FILTER_DELTA_FALSE='#' -else - COND_FILTER_DELTA_TRUE='#' - COND_FILTER_DELTA_FALSE= -fi - - if test "x$enable_encoder_delta" = xyes; then - COND_ENCODER_DELTA_TRUE= - COND_ENCODER_DELTA_FALSE='#' -else - COND_ENCODER_DELTA_TRUE='#' - COND_ENCODER_DELTA_FALSE= -fi - - if test "x$enable_decoder_delta" = xyes; then - COND_DECODER_DELTA_TRUE= - COND_DECODER_DELTA_FALSE='#' -else - COND_DECODER_DELTA_TRUE='#' - COND_DECODER_DELTA_FALSE= -fi - - if test "x$enable_filter_x86" = xyes; then - COND_FILTER_X86_TRUE= - COND_FILTER_X86_FALSE='#' -else - COND_FILTER_X86_TRUE='#' - COND_FILTER_X86_FALSE= -fi - - if test "x$enable_encoder_x86" = xyes; then - COND_ENCODER_X86_TRUE= - COND_ENCODER_X86_FALSE='#' -else - COND_ENCODER_X86_TRUE='#' - COND_ENCODER_X86_FALSE= -fi - - if test "x$enable_decoder_x86" = xyes; then - COND_DECODER_X86_TRUE= - COND_DECODER_X86_FALSE='#' -else - COND_DECODER_X86_TRUE='#' - COND_DECODER_X86_FALSE= -fi - - if test "x$enable_filter_powerpc" = xyes; then - COND_FILTER_POWERPC_TRUE= - COND_FILTER_POWERPC_FALSE='#' -else - COND_FILTER_POWERPC_TRUE='#' - COND_FILTER_POWERPC_FALSE= -fi - - if test "x$enable_encoder_powerpc" = xyes; then - COND_ENCODER_POWERPC_TRUE= - COND_ENCODER_POWERPC_FALSE='#' -else - COND_ENCODER_POWERPC_TRUE='#' - COND_ENCODER_POWERPC_FALSE= -fi - - if test "x$enable_decoder_powerpc" = xyes; then - COND_DECODER_POWERPC_TRUE= - COND_DECODER_POWERPC_FALSE='#' -else - COND_DECODER_POWERPC_TRUE='#' - COND_DECODER_POWERPC_FALSE= -fi - - if test "x$enable_filter_ia64" = xyes; then - COND_FILTER_IA64_TRUE= - COND_FILTER_IA64_FALSE='#' -else - COND_FILTER_IA64_TRUE='#' - COND_FILTER_IA64_FALSE= -fi - - if test "x$enable_encoder_ia64" = xyes; then - COND_ENCODER_IA64_TRUE= - COND_ENCODER_IA64_FALSE='#' -else - COND_ENCODER_IA64_TRUE='#' - COND_ENCODER_IA64_FALSE= -fi - - if test "x$enable_decoder_ia64" = xyes; then - COND_DECODER_IA64_TRUE= - COND_DECODER_IA64_FALSE='#' -else - COND_DECODER_IA64_TRUE='#' - COND_DECODER_IA64_FALSE= -fi - - if test "x$enable_filter_arm" = xyes; then - COND_FILTER_ARM_TRUE= - COND_FILTER_ARM_FALSE='#' -else - COND_FILTER_ARM_TRUE='#' - COND_FILTER_ARM_FALSE= -fi - - if test "x$enable_encoder_arm" = xyes; then - COND_ENCODER_ARM_TRUE= - COND_ENCODER_ARM_FALSE='#' -else - COND_ENCODER_ARM_TRUE='#' - COND_ENCODER_ARM_FALSE= -fi - - if test "x$enable_decoder_arm" = xyes; then - COND_DECODER_ARM_TRUE= - COND_DECODER_ARM_FALSE='#' -else - COND_DECODER_ARM_TRUE='#' - COND_DECODER_ARM_FALSE= -fi - - if test "x$enable_filter_armthumb" = xyes; then - COND_FILTER_ARMTHUMB_TRUE= - COND_FILTER_ARMTHUMB_FALSE='#' -else - COND_FILTER_ARMTHUMB_TRUE='#' - COND_FILTER_ARMTHUMB_FALSE= -fi - - if test "x$enable_encoder_armthumb" = xyes; then - COND_ENCODER_ARMTHUMB_TRUE= - COND_ENCODER_ARMTHUMB_FALSE='#' -else - COND_ENCODER_ARMTHUMB_TRUE='#' - COND_ENCODER_ARMTHUMB_FALSE= -fi - - if test "x$enable_decoder_armthumb" = xyes; then - COND_DECODER_ARMTHUMB_TRUE= - COND_DECODER_ARMTHUMB_FALSE='#' -else - COND_DECODER_ARMTHUMB_TRUE='#' - COND_DECODER_ARMTHUMB_FALSE= -fi - - if test "x$enable_filter_sparc" = xyes; then - COND_FILTER_SPARC_TRUE= - COND_FILTER_SPARC_FALSE='#' -else - COND_FILTER_SPARC_TRUE='#' - COND_FILTER_SPARC_FALSE= -fi - - if test "x$enable_encoder_sparc" = xyes; then - COND_ENCODER_SPARC_TRUE= - COND_ENCODER_SPARC_FALSE='#' -else - COND_ENCODER_SPARC_TRUE='#' - COND_ENCODER_SPARC_FALSE= -fi - - if test "x$enable_decoder_sparc" = xyes; then - COND_DECODER_SPARC_TRUE= - COND_DECODER_SPARC_FALSE='#' -else - COND_DECODER_SPARC_TRUE='#' - COND_DECODER_SPARC_FALSE= -fi - - -# The so called "simple filters" share common code. -enable_filter_simple=no -enable_encoder_simple=no -enable_decoder_simple=no -test "x$enable_filter_x86" = xyes && enable_filter_simple=yes -test "x$enable_encoder_x86" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_x86" = xyes && enable_decoder_simple=yes -test "x$enable_filter_powerpc" = xyes && enable_filter_simple=yes -test "x$enable_encoder_powerpc" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_powerpc" = xyes && enable_decoder_simple=yes -test "x$enable_filter_ia64" = xyes && enable_filter_simple=yes -test "x$enable_encoder_ia64" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_ia64" = xyes && enable_decoder_simple=yes -test "x$enable_filter_arm" = xyes && enable_filter_simple=yes -test "x$enable_encoder_arm" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_arm" = xyes && enable_decoder_simple=yes -test "x$enable_filter_armthumb" = xyes && enable_filter_simple=yes -test "x$enable_encoder_armthumb" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_armthumb" = xyes && enable_decoder_simple=yes -test "x$enable_filter_sparc" = xyes && enable_filter_simple=yes -test "x$enable_encoder_sparc" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_sparc" = xyes && enable_decoder_simple=yes - if test "x$enable_filter_simple" = xyes; then - COND_FILTER_SIMPLE_TRUE= - COND_FILTER_SIMPLE_FALSE='#' -else - COND_FILTER_SIMPLE_TRUE='#' - COND_FILTER_SIMPLE_FALSE= -fi - - if test "x$enable_encoder_simple" = xyes; then - COND_ENCODER_SIMPLE_TRUE= - COND_ENCODER_SIMPLE_FALSE='#' -else - COND_ENCODER_SIMPLE_TRUE='#' - COND_ENCODER_SIMPLE_FALSE= -fi - - if test "x$enable_decoder_simple" = xyes; then - COND_DECODER_SIMPLE_TRUE= - COND_DECODER_SIMPLE_FALSE='#' -else - COND_DECODER_SIMPLE_TRUE='#' - COND_DECODER_SIMPLE_FALSE= -fi - - -# LZ-based filters share common code. -enable_filter_lz=no -enable_encoder_lz=no -enable_decoder_lz=no -test "x$enable_filter_lzma1" = xyes && enable_filter_lz=yes -test "x$enable_encoder_lzma1" = xyes && enable_encoder_lz=yes -test "x$enable_decoder_lzma1" = xyes && enable_decoder_lz=yes -test "x$enable_filter_lzma2" = xyes && enable_filter_lz=yes -test "x$enable_encoder_lzma2" = xyes && enable_encoder_lz=yes -test "x$enable_decoder_lzma2" = xyes && enable_decoder_lz=yes - if test "x$enable_filter_lz" = xyes; then - COND_FILTER_LZ_TRUE= - COND_FILTER_LZ_FALSE='#' -else - COND_FILTER_LZ_TRUE='#' - COND_FILTER_LZ_FALSE= -fi - - if test "x$enable_encoder_lz" = xyes; then - COND_ENCODER_LZ_TRUE= - COND_ENCODER_LZ_FALSE='#' -else - COND_ENCODER_LZ_TRUE='#' - COND_ENCODER_LZ_FALSE= -fi - - if test "x$enable_decoder_lz" = xyes; then - COND_DECODER_LZ_TRUE= - COND_DECODER_LZ_FALSE='#' -else - COND_DECODER_LZ_TRUE='#' - COND_DECODER_LZ_FALSE= -fi - - - -################# -# Match finders # -################# - - - -enable_match_finder_hc3=no -enable_match_finder_hc4=no -enable_match_finder_bt2=no -enable_match_finder_bt3=no -enable_match_finder_bt4=no - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which match finders to build" >&5 -$as_echo_n "checking which match finders to build... " >&6; } -# Check whether --enable-match-finders was given. -if test "${enable_match_finders+set}" = set; then : - enableval=$enable_match_finders; -else - enable_match_finders=hc3,hc4,bt2,bt3,bt4 -fi - -enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'` -if test "x$enable_encoder_lz" = xyes ; then - for arg in $enable_match_finders - do - case $arg in - hc3) - enable_match_finder_hc3=yes - -$as_echo "#define HAVE_MF_HC3 1" >>confdefs.h - - ;; - hc4) - enable_match_finder_hc4=yes - -$as_echo "#define HAVE_MF_HC4 1" >>confdefs.h - - ;; - bt2) - enable_match_finder_bt2=yes - -$as_echo "#define HAVE_MF_BT2 1" >>confdefs.h - - ;; - bt3) - enable_match_finder_bt3=yes - -$as_echo "#define HAVE_MF_BT3 1" >>confdefs.h - - ;; - bt4) - enable_match_finder_bt4=yes - -$as_echo "#define HAVE_MF_BT4 1" >>confdefs.h - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "unknown match finder: $arg" "$LINENO" 5 - ;; - esac - done - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_match_finders" >&5 -$as_echo "$enable_match_finders" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none because not building any LZ-based encoder)" >&5 -$as_echo "(none because not building any LZ-based encoder)" >&6; } -fi - - -#################### -# Integrity checks # -#################### - - - -enable_check_crc32=no -enable_check_crc64=no -enable_check_sha256=no - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking which integrity checks to build" >&5 -$as_echo_n "checking which integrity checks to build... " >&6; } -# Check whether --enable-checks was given. -if test "${enable_checks+set}" = set; then : - enableval=$enable_checks; -else - enable_checks=crc32,crc64,sha256 -fi - -enable_checks=`echo "$enable_checks" | sed 's/,/ /g'` -if test "x$enable_checks" = xno || test "x$enable_checks" = x; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: (none)" >&5 -$as_echo "(none)" >&6; } -else - for arg in $enable_checks - do - case $arg in - crc32) - enable_check_crc32=yes - -$as_echo "#define HAVE_CHECK_CRC32 1" >>confdefs.h - - ;; - crc64) - enable_check_crc64=yes - -$as_echo "#define HAVE_CHECK_CRC64 1" >>confdefs.h - - ;; - sha256) - enable_check_sha256=yes - -$as_echo "#define HAVE_CHECK_SHA256 1" >>confdefs.h - - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "unknown integrity check: $arg" "$LINENO" 5 - ;; - esac - done - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_checks" >&5 -$as_echo "$enable_checks" >&6; } -fi -if test "x$enable_checks_crc32" = xno ; then - as_fn_error $? "For now, the CRC32 check must always be enabled." "$LINENO" 5 -fi - - if test "x$enable_check_crc32" = xyes; then - COND_CHECK_CRC32_TRUE= - COND_CHECK_CRC32_FALSE='#' -else - COND_CHECK_CRC32_TRUE='#' - COND_CHECK_CRC32_FALSE= -fi - - if test "x$enable_check_crc64" = xyes; then - COND_CHECK_CRC64_TRUE= - COND_CHECK_CRC64_FALSE='#' -else - COND_CHECK_CRC64_TRUE='#' - COND_CHECK_CRC64_FALSE= -fi - - if test "x$enable_check_sha256" = xyes; then - COND_CHECK_SHA256_TRUE= - COND_CHECK_SHA256_FALSE='#' -else - COND_CHECK_SHA256_TRUE='#' - COND_CHECK_SHA256_FALSE= -fi - - - -########################### -# Assembler optimizations # -########################### - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if assembler optimizations should be used" >&5 -$as_echo_n "checking if assembler optimizations should be used... " >&6; } -# Check whether --enable-assembler was given. -if test "${enable_assembler+set}" = set; then : - enableval=$enable_assembler; -else - enable_assembler=yes -fi - -if test "x$enable_assembler" = xyes; then - enable_assembler=no - case $host_os in - # Darwin should work too but only if not creating universal - # binaries. Solaris x86 could work too but I cannot test. - linux* | *bsd* | mingw* | cygwin* | *djgpp*) - case $host_cpu in - i?86) enable_assembler=x86 ;; - x86_64) enable_assembler=x86_64 ;; - esac - ;; - esac -fi -case $enable_assembler in - x86 | x86_64 | no) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assembler" >&5 -$as_echo "$enable_assembler" >&6; } - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "--enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'." "$LINENO" 5 - ;; -esac - if test "x$enable_assembler" = xx86; then - COND_ASM_X86_TRUE= - COND_ASM_X86_FALSE='#' -else - COND_ASM_X86_TRUE='#' - COND_ASM_X86_FALSE= -fi - - if test "x$enable_assembler" = xx86_64; then - COND_ASM_X86_64_TRUE= - COND_ASM_X86_64_FALSE='#' -else - COND_ASM_X86_64_TRUE='#' - COND_ASM_X86_64_FALSE= -fi - - - -##################### -# Size optimization # -##################### - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if small size is preferred over speed" >&5 -$as_echo_n "checking if small size is preferred over speed... " >&6; } -# Check whether --enable-small was given. -if test "${enable_small+set}" = set; then : - enableval=$enable_small; -else - enable_small=no -fi - -if test "x$enable_small" = xyes; then - -$as_echo "#define HAVE_SMALL 1" >>confdefs.h - -elif test "x$enable_small" != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "--enable-small accepts only \`yes' or \`no'" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_small" >&5 -$as_echo "$enable_small" >&6; } - if test "x$enable_small" = xyes; then - COND_SMALL_TRUE= - COND_SMALL_FALSE='#' -else - COND_SMALL_TRUE='#' - COND_SMALL_FALSE= -fi - - - -############# -# Threading # -############# - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if threading support is wanted" >&5 -$as_echo_n "checking if threading support is wanted... " >&6; } -# Check whether --enable-threads was given. -if test "${enable_threads+set}" = set; then : - enableval=$enable_threads; -else - enable_threads=yes -fi - -if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "--enable-threads accepts only \`yes' or \`no'" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_threads" >&5 -$as_echo "$enable_threads" >&6; } -# We use the actual result a little later. - - -######################### -# Assumed amount of RAM # -######################### - -# We use 128 MiB as default, because it will allow decompressing files -# created with "xz -9". It would be slightly safer to guess a lower value, -# but most systems, on which we don't have any way to determine the amount -# of RAM, will probably have at least 128 MiB of RAM. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how much RAM to assume if the real amount is unknown" >&5 -$as_echo_n "checking how much RAM to assume if the real amount is unknown... " >&6; } -# Check whether --enable-assume-ram was given. -if test "${enable_assume_ram+set}" = set; then : - enableval=$enable_assume_ram; -else - enable_assume_ram=128 -fi - -assume_ram_check=`echo "$enable_assume_ram" | tr -d 0123456789` -if test -z "$enable_assume_ram" || test -n "$assume_ram_check"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 -$as_echo "" >&6; } - as_fn_error $? "--enable-assume-ram accepts only an integer argument" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_assume_ram MiB" >&5 -$as_echo "$enable_assume_ram MiB" >&6; } - -cat >>confdefs.h <<_ACEOF -#define ASSUME_RAM $enable_assume_ram -_ACEOF - - - -######################### -# Components to install # -######################### - -# Check whether --enable-xz was given. -if test "${enable_xz+set}" = set; then : - enableval=$enable_xz; -else - enable_xz=yes -fi - - if test x$enable_xz != xno; then - COND_XZ_TRUE= - COND_XZ_FALSE='#' -else - COND_XZ_TRUE='#' - COND_XZ_FALSE= -fi - - -# Check whether --enable-xzdec was given. -if test "${enable_xzdec+set}" = set; then : - enableval=$enable_xzdec; -else - enable_xzdec=yes -fi - - if test x$enable_xzdec != xno; then - COND_XZDEC_TRUE= - COND_XZDEC_FALSE='#' -else - COND_XZDEC_TRUE='#' - COND_XZDEC_FALSE= -fi - - -# Check whether --enable-lzmadec was given. -if test "${enable_lzmadec+set}" = set; then : - enableval=$enable_lzmadec; -else - enable_lzmadec=yes -fi - - if test x$enable_lzmadec != xno; then - COND_LZMADEC_TRUE= - COND_LZMADEC_FALSE='#' -else - COND_LZMADEC_TRUE='#' - COND_LZMADEC_FALSE= -fi - - -# Check whether --enable-lzmainfo was given. -if test "${enable_lzmainfo+set}" = set; then : - enableval=$enable_lzmainfo; -else - enable_lzmainfo=yes -fi - - if test x$enable_lzmainfo != xno; then - COND_LZMAINFO_TRUE= - COND_LZMAINFO_FALSE='#' -else - COND_LZMAINFO_TRUE='#' - COND_LZMAINFO_FALSE= -fi - - -# Check whether --enable-lzma-links was given. -if test "${enable_lzma_links+set}" = set; then : - enableval=$enable_lzma_links; -else - enable_lzma_links=yes -fi - - if test x$enable_lzma_links != xno; then - COND_LZMALINKS_TRUE= - COND_LZMALINKS_FALSE='#' -else - COND_LZMALINKS_TRUE='#' - COND_LZMALINKS_FALSE= -fi - - -# Check whether --enable-scripts was given. -if test "${enable_scripts+set}" = set; then : - enableval=$enable_scripts; -else - enable_scripts=yes -fi - - if test x$enable_scripts != xno; then - COND_SCRIPTS_TRUE= - COND_SCRIPTS_FALSE='#' -else - COND_SCRIPTS_TRUE='#' - COND_SCRIPTS_FALSE= -fi - - - -############################################################################### -# Checks for programs. -############################################################################### - -echo - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a shell that conforms to POSIX" >&5 -$as_echo_n "checking for a shell that conforms to POSIX... " >&6; } -if ${gl_cv_posix_shell+:} false; then : - $as_echo_n "(cached) " >&6 -else - gl_test_posix_shell_script=' - func_return () { - (exit $1) - } - func_success () { - func_return 0 - } - func_failure () { - func_return 1 - } - func_ret_success () { - return 0 - } - func_ret_failure () { - return 1 - } - subshell_umask_sanity () { - (umask 22; (umask 0); test $(umask) -eq 22) - } - test "$(echo foo)" = foo && - func_success && - ! func_failure && - func_ret_success && - ! func_ret_failure && - (set x && func_ret_success y && test x = "$1") && - subshell_umask_sanity - ' - for gl_cv_posix_shell in \ - "$CONFIG_SHELL" "$SHELL" /bin/sh /bin/bash /bin/ksh /bin/sh5 no; do - case $gl_cv_posix_shell in - /*) - "$gl_cv_posix_shell" -c "$gl_test_posix_shell_script" 2>/dev/null \ - && break;; - esac - done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_posix_shell" >&5 -$as_echo "$gl_cv_posix_shell" >&6; } - - if test "$gl_cv_posix_shell" != no; then - POSIX_SHELL=$gl_cv_posix_shell - PREFERABLY_POSIX_SHELL=$POSIX_SHELL - else - POSIX_SHELL= - PREFERABLY_POSIX_SHELL=/bin/sh - fi - - - -if test -z "$POSIX_SHELL" ; then - as_fn_error $? "No POSIX conforming shell (sh) was found." "$LINENO" 5 -fi - -echo -echo "Initializing Automake:" - -# Automake 1.10 should still be enough but you need to omit serial-tests. -am__api_version='1.14' - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if ${ac_cv_path_install+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in #(( - ./ | .// | /[cC]/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - - done -IFS=$as_save_IFS - -rm -rf conftest.one conftest.two conftest.dir - -fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' - -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' - -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 -$as_echo_n "checking whether build environment is sane... " >&6; } -# Reject unsafe characters in $srcdir or the absolute working directory -# name. Accept space and tab only in the latter. -am_lf=' -' -case `pwd` in - *[\\\"\#\$\&\'\`$am_lf]*) - as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; -esac -case $srcdir in - *[\\\"\#\$\&\'\`$am_lf\ \ ]*) - as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; -esac - -# Do 'set' in a subshell so we don't clobber the current shell's -# arguments. Must try -L first in case configure is actually a -# symlink; some systems play weird games with the mod time of symlinks -# (eg FreeBSD returns the mod time of the symlink's containing -# directory). -if ( - am_has_slept=no - for am_try in 1 2; do - echo "timestamp, slept: $am_has_slept" > conftest.file - set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` - if test "$*" = "X"; then - # -L didn't work. - set X `ls -t "$srcdir/configure" conftest.file` - fi - if test "$*" != "X $srcdir/configure conftest.file" \ - && test "$*" != "X conftest.file $srcdir/configure"; then - - # If neither matched, then we have a broken ls. This can happen - # if, for instance, CONFIG_SHELL is bash and it inherits a - # broken ls alias from the environment. This has actually - # happened. Such a system could not be considered "sane". - as_fn_error $? "ls -t appears to fail. Make sure there is not a broken - alias in your environment" "$LINENO" 5 - fi - if test "$2" = conftest.file || test $am_try -eq 2; then - break - fi - # Just in case. - sleep 1 - am_has_slept=yes - done - test "$2" = conftest.file - ) -then - # Ok. - : -else - as_fn_error $? "newly created file is older than distributed files! -Check your system clock" "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -# If we didn't sleep, we still need to ensure time stamps of config.status and -# generated files are strictly newer. -am_sleep_pid= -if grep 'slept: no' conftest.file >/dev/null 2>&1; then - ( sleep 1 ) & - am_sleep_pid=$! -fi - -rm -f conftest.file - -test "$program_prefix" != NONE && - program_transform_name="s&^&$program_prefix&;$program_transform_name" -# Use a double $ so make ignores it. -test "$program_suffix" != NONE && - program_transform_name="s&\$&$program_suffix&;$program_transform_name" -# Double any \ or $. -# By default was `s,x,x', remove it if useless. -ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' -program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` - -# expand $ac_aux_dir to an absolute path -am_aux_dir=`cd $ac_aux_dir && pwd` - -if test x"${MISSING+set}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; - *) - MISSING="\${SHELL} $am_aux_dir/missing" ;; - esac -fi -# Use eval to expand $SHELL -if eval "$MISSING --is-lightweight"; then - am_missing_run="$MISSING " -else - am_missing_run= - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 -$as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} -fi - -if test x"${install_sh}" != xset; then - case $am_aux_dir in - *\ * | *\ *) - install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; - *) - install_sh="\${SHELL} $am_aux_dir/install-sh" - esac -fi - -# Installed binaries are usually stripped using 'strip' when the user -# run "make install-strip". However 'strip' might not be the right -# tool to use in cross-compilation environments, therefore Automake -# will honor the 'STRIP' environment variable to overrule this program. -if test "$cross_compiling" != no; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -fi -INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 -$as_echo_n "checking for a thread-safe mkdir -p... " >&6; } -if test -z "$MKDIR_P"; then - if ${ac_cv_path_mkdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in mkdir gmkdir; do - for ac_exec_ext in '' $ac_executable_extensions; do - as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue - case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( - 'mkdir (GNU coreutils) '* | \ - 'mkdir (coreutils) '* | \ - 'mkdir (fileutils) '4.1*) - ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext - break 3;; - esac - done - done - done -IFS=$as_save_IFS - -fi - - test -d ./--version && rmdir ./--version - if test "${ac_cv_path_mkdir+set}" = set; then - MKDIR_P="$ac_cv_path_mkdir -p" - else - # As a last resort, use the slow shell script. Don't cache a - # value for MKDIR_P within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - MKDIR_P="$ac_install_sh -d" - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 -$as_echo "$MKDIR_P" >&6; } - -for ac_prog in gawk mawk nawk awk -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AWK+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AWK="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 -$as_echo "$AWK" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AWK" && break -done - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 -$as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } -set x ${MAKE-make} -ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` -if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat >conftest.make <<\_ACEOF -SHELL = /bin/sh -all: - @echo '@@@%%%=$(MAKE)=@@@%%%' -_ACEOF -# GNU make sometimes prints "make[1]: Entering ...", which would confuse us. -case `${MAKE-make} -f conftest.make 2>/dev/null` in - *@@@%%%=?*=@@@%%%*) - eval ac_cv_prog_make_${ac_make}_set=yes;; - *) - eval ac_cv_prog_make_${ac_make}_set=no;; -esac -rm -f conftest.make -fi -if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - SET_MAKE= -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - SET_MAKE="MAKE=${MAKE-make}" -fi - -rm -rf .tst 2>/dev/null -mkdir .tst 2>/dev/null -if test -d .tst; then - am__leading_dot=. -else - am__leading_dot=_ -fi -rmdir .tst 2>/dev/null - -# Check whether --enable-silent-rules was given. -if test "${enable_silent_rules+set}" = set; then : - enableval=$enable_silent_rules; -fi - -case $enable_silent_rules in # ((( - yes) AM_DEFAULT_VERBOSITY=0;; - no) AM_DEFAULT_VERBOSITY=1;; - *) AM_DEFAULT_VERBOSITY=1;; -esac -am_make=${MAKE-make} -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 -$as_echo_n "checking whether $am_make supports nested variables... " >&6; } -if ${am_cv_make_support_nested_variables+:} false; then : - $as_echo_n "(cached) " >&6 -else - if $as_echo 'TRUE=$(BAR$(V)) -BAR0=false -BAR1=true -V=1 -am__doit: - @$(TRUE) -.PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then - am_cv_make_support_nested_variables=yes -else - am_cv_make_support_nested_variables=no -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 -$as_echo "$am_cv_make_support_nested_variables" >&6; } -if test $am_cv_make_support_nested_variables = yes; then - AM_V='$(V)' - AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' -else - AM_V=$AM_DEFAULT_VERBOSITY - AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY -fi -AM_BACKSLASH='\' - -if test "`cd $srcdir && pwd`" != "`pwd`"; then - # Use -I$(srcdir) only when $(srcdir) != ., so that make's output - # is not polluted with repeated "-I." - am__isrc=' -I$(srcdir)' - # test to see if srcdir already configured - if test -f $srcdir/config.status; then - as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 - fi -fi - -# test whether we have cygpath -if test -z "$CYGPATH_W"; then - if (cygpath --version) >/dev/null 2>/dev/null; then - CYGPATH_W='cygpath -w' - else - CYGPATH_W=echo - fi -fi - - -# Define the identity of the package. - PACKAGE='xz' - VERSION='5.0.5' - - -cat >>confdefs.h <<_ACEOF -#define PACKAGE "$PACKAGE" -_ACEOF - - -cat >>confdefs.h <<_ACEOF -#define VERSION "$VERSION" -_ACEOF - -# Some tools Automake needs. - -ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} - - -AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} - - -AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} - - -AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} - - -MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} - -# For better backward compatibility. To be removed once Automake 1.9.x -# dies out for good. For more background, see: -# -# -mkdir_p='$(MKDIR_P)' - -# We need awk for the "check" target. The system "awk" is bad on -# some platforms. -# Always define AMTAR for backward compatibility. Yes, it's still used -# in the wild :-( We should find a proper way to deprecate it ... -AMTAR='$${TAR-tar}' - - -# We'll loop over all known methods to create a tar archive until one works. -_am_tools='gnutar pax cpio none' - -am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' - - - - - - -# POSIX will say in a future version that running "rm -f" with no argument -# is OK; and we want to be able to make that assumption in our Makefile -# recipes. So use an aggressive probe to check that the usage we want is -# actually supported "in the wild" to an acceptable degree. -# See automake bug#10828. -# To make any issue more visible, cause the running configure to be aborted -# by default if the 'rm' program in use doesn't match our expectations; the -# user can still override this though. -if rm -f && rm -fr && rm -rf; then : OK; else - cat >&2 <<'END' -Oops! - -Your 'rm' program seems unable to run without file operands specified -on the command line, even when the '-f' option is present. This is contrary -to the behaviour of most rm programs out there, and not conforming with -the upcoming POSIX standard: - -Please tell bug-automake@gnu.org about your system, including the value -of your $PATH and any error possibly output before this message. This -can help us improve future automake versions. - -END - if test x"$ACCEPT_INFERIOR_RM_PROGRAM" = x"yes"; then - echo 'Configuration will proceed anyway, since you have set the' >&2 - echo 'ACCEPT_INFERIOR_RM_PROGRAM variable to "yes"' >&2 - echo >&2 - else - cat >&2 <<'END' -Aborting the configuration process, to ensure you take notice of the issue. - -You can download and install GNU coreutils to get an 'rm' implementation -that behaves properly: . - -If you want to complete the configuration process using your problematic -'rm' anyway, export the environment variable ACCEPT_INFERIOR_RM_PROGRAM -to "yes", and re-run configure. - -END - as_fn_error $? "Your 'rm' program is bad, sorry." "$LINENO" 5 - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 -$as_echo_n "checking whether ln -s works... " >&6; } -LN_S=$as_ln_s -if test "$LN_S" = "ln -s"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 -$as_echo "no, using $LN_S" >&6; } -fi - - -DEPDIR="${am__leading_dot}deps" - -ac_config_commands="$ac_config_commands depfiles" - - -am_make=${MAKE-make} -cat > confinc << 'END' -am__doit: - @echo this is the am__doit target -.PHONY: am__doit -END -# If we don't find an include directive, just comment out the code. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 -$as_echo_n "checking for style of include used by $am_make... " >&6; } -am__include="#" -am__quote= -_am_result=none -# First try GNU make style include. -echo "include confinc" > confmf -# Ignore all kinds of additional output from 'make'. -case `$am_make -s -f confmf 2> /dev/null` in #( -*the\ am__doit\ target*) - am__include=include - am__quote= - _am_result=GNU - ;; -esac -# Now try BSD make style include. -if test "$am__include" = "#"; then - echo '.include "confinc"' > confmf - case `$am_make -s -f confmf 2> /dev/null` in #( - *the\ am__doit\ target*) - am__include=.include - am__quote="\"" - _am_result=BSD - ;; - esac -fi - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 -$as_echo "$_am_result" >&6; } -rm -f confinc confmf - -# Check whether --enable-dependency-tracking was given. -if test "${enable_dependency_tracking+set}" = set; then : - enableval=$enable_dependency_tracking; -fi - -if test "x$enable_dependency_tracking" != xno; then - am_depcomp="$ac_aux_dir/depcomp" - AMDEPBACKSLASH='\' - am__nodep='_no' -fi - if test "x$enable_dependency_tracking" != xno; then - AMDEP_TRUE= - AMDEP_FALSE='#' -else - AMDEP_TRUE='#' - AMDEP_FALSE= -fi - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -struct stat; -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC understands -c and -o together" >&5 -$as_echo_n "checking whether $CC understands -c and -o together... " >&6; } -if ${am_cv_prog_cc_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF - # Make sure it works both with $CC and with simple cc. - # Following AC_PROG_CC_C_O, we do the test twice because some - # compilers refuse to overwrite an existing .o file with -o, - # though they will create one. - am_cv_prog_cc_c_o=yes - for am_i in 1 2; do - if { echo "$as_me:$LINENO: $CC -c conftest.$ac_ext -o conftest2.$ac_objext" >&5 - ($CC -c conftest.$ac_ext -o conftest2.$ac_objext) >&5 2>&5 - ac_status=$? - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - (exit $ac_status); } \ - && test -f conftest2.$ac_objext; then - : OK - else - am_cv_prog_cc_c_o=no - break - fi - done - rm -f core conftest* - unset am_i -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_prog_cc_c_o" >&5 -$as_echo "$am_cv_prog_cc_c_o" >&6; } -if test "$am_cv_prog_cc_c_o" != yes; then - # Losing compiler, so override with the script. - # FIXME: It is wrong to rewrite CC. - # But if we don't then we get into trouble of one sort or another. - # A longer-term fix would be to have automake use am__CC in this case, - # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" - CC="$am_aux_dir/compile $CC" -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -depcc="$CC" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CC_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CC_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - case " $depcc " in #( - *\ -arch\ *\ -arch\ *) am__universal=true ;; - esac - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CC_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CC_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } -CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then - am__fastdepCC_TRUE= - am__fastdepCC_FALSE='#' -else - am__fastdepCC_TRUE='#' - am__fastdepCC_FALSE= -fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 -$as_echo_n "checking for $CC option to accept ISO C99... " >&6; } -if ${ac_cv_prog_cc_c99+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c99=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -#include - -// Check varargs macros. These examples are taken from C99 6.10.3.5. -#define debug(...) fprintf (stderr, __VA_ARGS__) -#define showlist(...) puts (#__VA_ARGS__) -#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) -static void -test_varargs_macros (void) -{ - int x = 1234; - int y = 5678; - debug ("Flag"); - debug ("X = %d\n", x); - showlist (The first, second, and third items.); - report (x>y, "x is %d but y is %d", x, y); -} - -// Check long long types. -#define BIG64 18446744073709551615ull -#define BIG32 4294967295ul -#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) -#if !BIG_OK - your preprocessor is broken; -#endif -#if BIG_OK -#else - your preprocessor is broken; -#endif -static long long int bignum = -9223372036854775807LL; -static unsigned long long int ubignum = BIG64; - -struct incomplete_array -{ - int datasize; - double data[]; -}; - -struct named_init { - int number; - const wchar_t *name; - double average; -}; - -typedef const char *ccp; - -static inline int -test_restrict (ccp restrict text) -{ - // See if C++-style comments work. - // Iterate through items via the restricted pointer. - // Also check for declarations in for loops. - for (unsigned int i = 0; *(text+i) != '\0'; ++i) - continue; - return 0; -} - -// Check varargs and va_copy. -static void -test_varargs (const char *format, ...) -{ - va_list args; - va_start (args, format); - va_list args_copy; - va_copy (args_copy, args); - - const char *str; - int number; - float fnumber; - - while (*format) - { - switch (*format++) - { - case 's': // string - str = va_arg (args_copy, const char *); - break; - case 'd': // int - number = va_arg (args_copy, int); - break; - case 'f': // float - fnumber = va_arg (args_copy, double); - break; - default: - break; - } - } - va_end (args_copy); - va_end (args); -} - -int -main () -{ - - // Check bool. - _Bool success = false; - - // Check restrict. - if (test_restrict ("String literal") == 0) - success = true; - char *restrict newvar = "Another string"; - - // Check varargs. - test_varargs ("s, d' f .", "string", 65, 34.234); - test_varargs_macros (); - - // Check flexible array members. - struct incomplete_array *ia = - malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); - ia->datasize = 10; - for (int i = 0; i < ia->datasize; ++i) - ia->data[i] = i * 1.234; - - // Check named initializers. - struct named_init ni = { - .number = 34, - .name = L"Test wide string", - .average = 543.34343, - }; - - ni.number = 58; - - int dynamic_array[ni.number]; - dynamic_array[ni.number - 1] = 543; - - // work around unused variable warnings - return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' - || dynamic_array[ni.number - 1] != 543); - - ; - return 0; -} -_ACEOF -for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c99=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c99" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c99" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c99" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 -$as_echo "$ac_cv_prog_cc_c99" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c99" != xno; then : - -fi - - -if test x$ac_cv_prog_cc_c99 = xno ; then - as_fn_error $? "No C99 compiler was found." "$LINENO" 5 -fi - - -# By default we simply use the C compiler to build assembly code. - -test "${CCAS+set}" = set || CCAS=$CC -test "${CCASFLAGS+set}" = set || CCASFLAGS=$CFLAGS - - - -depcc="$CCAS" am_compiler_list= - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 -$as_echo_n "checking dependency style of $depcc... " >&6; } -if ${am_cv_CCAS_dependencies_compiler_type+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then - # We make a subdir and do the tests there. Otherwise we can end up - # making bogus files that we don't know about and never remove. For - # instance it was reported that on HP-UX the gcc test will end up - # making a dummy file named 'D' -- because '-MD' means "put the output - # in D". - rm -rf conftest.dir - mkdir conftest.dir - # Copy depcomp to subdir because otherwise we won't find it if we're - # using a relative directory. - cp "$am_depcomp" conftest.dir - cd conftest.dir - # We will build objects and dependencies in a subdirectory because - # it helps to detect inapplicable dependency modes. For instance - # both Tru64's cc and ICC support -MD to output dependencies as a - # side effect of compilation, but ICC will put the dependencies in - # the current directory while Tru64 will put them in the object - # directory. - mkdir sub - - am_cv_CCAS_dependencies_compiler_type=none - if test "$am_compiler_list" = ""; then - am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` - fi - am__universal=false - - - for depmode in $am_compiler_list; do - # Setup a source with many dependencies, because some compilers - # like to wrap large dependency lists on column 80 (with \), and - # we should not choose a depcomp mode which is confused by this. - # - # We need to recreate these files for each test, as the compiler may - # overwrite some of them when testing with obscure command lines. - # This happens at least with the AIX C compiler. - : > sub/conftest.c - for i in 1 2 3 4 5 6; do - echo '#include "conftst'$i'.h"' >> sub/conftest.c - # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with - # Solaris 10 /bin/sh. - echo '/* dummy */' > sub/conftst$i.h - done - echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf - - # We check with '-c' and '-o' for the sake of the "dashmstdout" - # mode. It turns out that the SunPro C++ compiler does not properly - # handle '-M -o', and we need to detect this. Also, some Intel - # versions had trouble with output in subdirs. - am__obj=sub/conftest.${OBJEXT-o} - am__minus_obj="-o $am__obj" - case $depmode in - gcc) - # This depmode causes a compiler race in universal mode. - test "$am__universal" = false || continue - ;; - nosideeffect) - # After this tag, mechanisms are not by side-effect, so they'll - # only be used when explicitly requested. - if test "x$enable_dependency_tracking" = xyes; then - continue - else - break - fi - ;; - msvc7 | msvc7msys | msvisualcpp | msvcmsys) - # This compiler won't grok '-c -o', but also, the minuso test has - # not run yet. These depmodes are late enough in the game, and - # so weak that their functioning should not be impacted. - am__obj=conftest.${OBJEXT-o} - am__minus_obj= - ;; - none) break ;; - esac - if depmode=$depmode \ - source=sub/conftest.c object=$am__obj \ - depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ - $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ - >/dev/null 2>conftest.err && - grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && - grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && - grep $am__obj sub/conftest.Po > /dev/null 2>&1 && - ${MAKE-make} -s -f confmf > /dev/null 2>&1; then - # icc doesn't choke on unknown options, it will just issue warnings - # or remarks (even with -Werror). So we grep stderr for any message - # that says an option was ignored or not supported. - # When given -MP, icc 7.0 and 7.1 complain thusly: - # icc: Command line warning: ignoring option '-M'; no argument required - # The diagnosis changed in icc 8.0: - # icc: Command line remark: option '-MP' not supported - if (grep 'ignoring option' conftest.err || - grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else - am_cv_CCAS_dependencies_compiler_type=$depmode - break - fi - fi - done - - cd .. - rm -rf conftest.dir -else - am_cv_CCAS_dependencies_compiler_type=none -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CCAS_dependencies_compiler_type" >&5 -$as_echo "$am_cv_CCAS_dependencies_compiler_type" >&6; } -CCASDEPMODE=depmode=$am_cv_CCAS_dependencies_compiler_type - - if - test "x$enable_dependency_tracking" != xno \ - && test "$am_cv_CCAS_dependencies_compiler_type" = gcc3; then - am__fastdepCCAS_TRUE= - am__fastdepCCAS_FALSE='#' -else - am__fastdepCCAS_TRUE='#' - am__fastdepCCAS_FALSE= -fi - - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 -$as_echo_n "checking how to run the C preprocessor... " >&6; } -# On Suns, sometimes $CPP names a directory. -if test -n "$CPP" && test -d "$CPP"; then - CPP= -fi -if test -z "$CPP"; then - if ${ac_cv_prog_CPP+:} false; then : - $as_echo_n "(cached) " >&6 -else - # Double quotes because CPP needs to be expanded - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" - do - ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - break -fi - - done - ac_cv_prog_CPP=$CPP - -fi - CPP=$ac_cv_prog_CPP -else - ac_cv_prog_CPP=$CPP -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 -$as_echo "$CPP" >&6; } -ac_preproc_ok=false -for ac_c_preproc_warn_flag in '' yes -do - # Use a header file that comes with gcc, so configuring glibc - # with a fresh cross-compiler works. - # Prefer to if __STDC__ is defined, since - # exists even on freestanding compilers. - # On the NeXT, cc -E runs the code through the compiler's parser, - # not just through cpp. "Syntax error" is here to catch this case. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifdef __STDC__ -# include -#else -# include -#endif - Syntax error -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - -else - # Broken: fails on valid input. -continue -fi -rm -f conftest.err conftest.i conftest.$ac_ext - - # OK, works on sane cases. Now check whether nonexistent headers - # can be detected and how. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -_ACEOF -if ac_fn_c_try_cpp "$LINENO"; then : - # Broken: success on invalid input. -continue -else - # Passes both tests. -ac_preproc_ok=: -break -fi -rm -f conftest.err conftest.i conftest.$ac_ext - -done -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. -rm -f conftest.i conftest.err conftest.$ac_ext -if $ac_preproc_ok; then : - -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "C preprocessor \"$CPP\" fails sanity check -See \`config.log' for more details" "$LINENO" 5; } -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 -$as_echo_n "checking for grep that handles long lines and -e... " >&6; } -if ${ac_cv_path_GREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$GREP"; then - ac_path_GREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in grep ggrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_GREP" || continue -# Check for GNU ac_path_GREP and select it if it is found. - # Check for GNU $ac_path_GREP -case `"$ac_path_GREP" --version 2>&1` in -*GNU*) - ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'GREP' >> "conftest.nl" - "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_GREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_GREP="$ac_path_GREP" - ac_path_GREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_GREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_GREP"; then - as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_GREP=$GREP -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 -$as_echo "$ac_cv_path_GREP" >&6; } - GREP="$ac_cv_path_GREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 -$as_echo_n "checking for egrep... " >&6; } -if ${ac_cv_path_EGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 - then ac_cv_path_EGREP="$GREP -E" - else - if test -z "$EGREP"; then - ac_path_EGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in egrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_EGREP" || continue -# Check for GNU ac_path_EGREP and select it if it is found. - # Check for GNU $ac_path_EGREP -case `"$ac_path_EGREP" --version 2>&1` in -*GNU*) - ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'EGREP' >> "conftest.nl" - "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_EGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_EGREP="$ac_path_EGREP" - ac_path_EGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_EGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_EGREP"; then - as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_EGREP=$EGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 -$as_echo "$ac_cv_path_EGREP" >&6; } - EGREP="$ac_cv_path_EGREP" - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 -$as_echo_n "checking for ANSI C header files... " >&6; } -if ${ac_cv_header_stdc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdc=yes -else - ac_cv_header_stdc=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -if test $ac_cv_header_stdc = yes; then - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "memchr" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "free" >/dev/null 2>&1; then : - -else - ac_cv_header_stdc=no -fi -rm -f conftest* - -fi - -if test $ac_cv_header_stdc = yes; then - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. - if test "$cross_compiling" = yes; then : - : -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#if ((' ' & 0x0FF) == 0x020) -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) -#else -# define ISLOWER(c) \ - (('a' <= (c) && (c) <= 'i') \ - || ('j' <= (c) && (c) <= 'r') \ - || ('s' <= (c) && (c) <= 'z')) -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) -#endif - -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) -int -main () -{ - int i; - for (i = 0; i < 256; i++) - if (XOR (islower (i), ISLOWER (i)) - || toupper (i) != TOUPPER (i)) - return 2; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - -else - ac_cv_header_stdc=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 -$as_echo "$ac_cv_header_stdc" >&6; } -if test $ac_cv_header_stdc = yes; then - -$as_echo "#define STDC_HEADERS 1" >>confdefs.h - -fi - -# On IRIX 5.3, sys/types and inttypes.h are conflicting. -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ - inttypes.h stdint.h unistd.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default -" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -fi - -done - - - - ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default" -if test "x$ac_cv_header_minix_config_h" = xyes; then : - MINIX=yes -else - MINIX= -fi - - - if test "$MINIX" = yes; then - -$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h - - -$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h - - -$as_echo "#define _MINIX 1" >>confdefs.h - - fi - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5 -$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; } -if ${ac_cv_safe_to_define___extensions__+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -# define __EXTENSIONS__ 1 - $ac_includes_default -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_safe_to_define___extensions__=yes -else - ac_cv_safe_to_define___extensions__=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5 -$as_echo "$ac_cv_safe_to_define___extensions__" >&6; } - test $ac_cv_safe_to_define___extensions__ = yes && - $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h - - $as_echo "#define _ALL_SOURCE 1" >>confdefs.h - - $as_echo "#define _GNU_SOURCE 1" >>confdefs.h - - $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h - - $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h - - - -if test "x$enable_threads" = xyes; then - echo - echo "Threading support:" - - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -ax_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -$as_echo_n "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char pthread_join (); -int -main () -{ -return pthread_join (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_pthread_ok=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } - if test x"$ax_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case ${host_os} in - solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" - ;; -esac - -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do - - case $flag in - none) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 -$as_echo_n "checking whether pthreads work without any flags... " >&6; } - ;; - - -*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 -$as_echo_n "checking whether pthreads work with $flag... " >&6; } - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - # Extract the first word of "pthread-config", so it can be a program name with args. -set dummy pthread-config; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ax_pthread_config+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ax_pthread_config"; then - ac_cv_prog_ax_pthread_config="$ax_pthread_config" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ax_pthread_config="yes" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_prog_ax_pthread_config" && ac_cv_prog_ax_pthread_config="no" -fi -fi -ax_pthread_config=$ac_cv_prog_ax_pthread_config -if test -n "$ax_pthread_config"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_config" >&5 -$as_echo "$ax_pthread_config" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - if test x"$ax_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 -$as_echo_n "checking for the pthreads library -l$flag... " >&6; } - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - static void routine(void *a) { a = 0; } - static void *start_routine(void *a) { return a; } -int -main () -{ -pthread_t th; pthread_attr_t attr; - pthread_create(&th, 0, start_routine, 0); - pthread_join(th, 0); - pthread_attr_init(&attr); - pthread_cleanup_push(routine, 0); - pthread_cleanup_pop(0) /* ; */ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_pthread_ok=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 -$as_echo "$ax_pthread_ok" >&6; } - if test "x$ax_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 -$as_echo_n "checking for joinable pthread attribute... " >&6; } - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -int attr = $attr; return attr /* ; */ - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - attr_name=$attr; break -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - done - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 -$as_echo "$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - -cat >>confdefs.h <<_ACEOF -#define PTHREAD_CREATE_JOINABLE $attr_name -_ACEOF - - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 -$as_echo_n "checking if more special flags are required for pthreads... " >&6; } - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - flag="-mt -D_REENTRANT" - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 -$as_echo "${flag}" >&6; } - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 -$as_echo_n "checking for PTHREAD_PRIO_INHERIT... " >&6; } -if ${ax_cv_PTHREAD_PRIO_INHERIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include -int -main () -{ -int i = PTHREAD_PRIO_INHERIT; - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ax_cv_PTHREAD_PRIO_INHERIT=yes -else - ax_cv_PTHREAD_PRIO_INHERIT=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 -$as_echo "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } - if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"; then : - -$as_echo "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h - -fi - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - for ac_prog in xlc_r cc_r -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_PTHREAD_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$PTHREAD_CC"; then - ac_cv_prog_PTHREAD_CC="$PTHREAD_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_PTHREAD_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -PTHREAD_CC=$ac_cv_prog_PTHREAD_CC -if test -n "$PTHREAD_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CC" >&5 -$as_echo "$PTHREAD_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$PTHREAD_CC" && break -done -test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}" - - else - PTHREAD_CC=$CC - fi -else - PTHREAD_CC="$CC" -fi - - - - - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then - -$as_echo "#define HAVE_PTHREAD 1" >>confdefs.h - - : -else - ax_pthread_ok=no - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - - LIBS="$LIBS $PTHREAD_LIBS" - AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS" - - fi - -echo -echo "Initializing Libtool:" - -case `pwd` in - *\ * | *\ *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 -$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; -esac - - - -macro_version='2.4.2' -macro_revision='1.3337' - - - - - - - - - - - - - -ltmain="$ac_aux_dir/ltmain.sh" - -# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\(["`$\\]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\(["`\\]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' - -ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 -$as_echo_n "checking how to print strings... " >&6; } -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "" -} - -case "$ECHO" in - printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 -$as_echo "printf" >&6; } ;; - print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 -$as_echo "print -r" >&6; } ;; - *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 -$as_echo "cat" >&6; } ;; -esac - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 -$as_echo_n "checking for a sed that does not truncate output... " >&6; } -if ${ac_cv_path_SED+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ - for ac_i in 1 2 3 4 5 6 7; do - ac_script="$ac_script$as_nl$ac_script" - done - echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed - { ac_script=; unset ac_script;} - if test -z "$SED"; then - ac_path_SED_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_SED" || continue -# Check for GNU ac_path_SED and select it if it is found. - # Check for GNU $ac_path_SED -case `"$ac_path_SED" --version 2>&1` in -*GNU*) - ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo '' >> "conftest.nl" - "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_SED_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_SED="$ac_path_SED" - ac_path_SED_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_SED_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_SED"; then - as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 - fi -else - ac_cv_path_SED=$SED -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 -$as_echo "$ac_cv_path_SED" >&6; } - SED="$ac_cv_path_SED" - rm -f conftest.sed - -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 -$as_echo_n "checking for fgrep... " >&6; } -if ${ac_cv_path_FGREP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 - then ac_cv_path_FGREP="$GREP -F" - else - if test -z "$FGREP"; then - ac_path_FGREP_found=false - # Loop through the user's path and test for each of PROGNAME-LIST - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_prog in fgrep; do - for ac_exec_ext in '' $ac_executable_extensions; do - ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" - as_fn_executable_p "$ac_path_FGREP" || continue -# Check for GNU ac_path_FGREP and select it if it is found. - # Check for GNU $ac_path_FGREP -case `"$ac_path_FGREP" --version 2>&1` in -*GNU*) - ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; -*) - ac_count=0 - $as_echo_n 0123456789 >"conftest.in" - while : - do - cat "conftest.in" "conftest.in" >"conftest.tmp" - mv "conftest.tmp" "conftest.in" - cp "conftest.in" "conftest.nl" - $as_echo 'FGREP' >> "conftest.nl" - "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break - diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break - as_fn_arith $ac_count + 1 && ac_count=$as_val - if test $ac_count -gt ${ac_path_FGREP_max-0}; then - # Best one so far, save it but keep looking for a better one - ac_cv_path_FGREP="$ac_path_FGREP" - ac_path_FGREP_max=$ac_count - fi - # 10*(2^10) chars as input seems more than enough - test $ac_count -gt 10 && break - done - rm -f conftest.in conftest.tmp conftest.nl conftest.out;; -esac - - $ac_path_FGREP_found && break 3 - done - done - done -IFS=$as_save_IFS - if test -z "$ac_cv_path_FGREP"; then - as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 - fi -else - ac_cv_path_FGREP=$FGREP -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 -$as_echo "$ac_cv_path_FGREP" >&6; } - FGREP="$ac_cv_path_FGREP" - - -test -z "$GREP" && GREP=grep - - - - - - - - - - - - - - - - - - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 -$as_echo_n "checking for ld used by $CC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | ?:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${lt_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${lt_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU lds only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$lt_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$lt_cv_prog_gnu_ld - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 -$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } -if ${lt_cv_path_NM+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 -$as_echo "$lt_cv_path_NM" >&6; } -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - if test -n "$ac_tool_prefix"; then - for ac_prog in dumpbin "link -dump" - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DUMPBIN"; then - ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DUMPBIN=$ac_cv_prog_DUMPBIN -if test -n "$DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 -$as_echo "$DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$DUMPBIN" && break - done -fi -if test -z "$DUMPBIN"; then - ac_ct_DUMPBIN=$DUMPBIN - for ac_prog in dumpbin "link -dump" -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DUMPBIN"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN -if test -n "$ac_ct_DUMPBIN"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 -$as_echo "$ac_ct_DUMPBIN" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_DUMPBIN" && break -done - - if test "x$ac_ct_DUMPBIN" = x; then - DUMPBIN=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DUMPBIN=$ac_ct_DUMPBIN - fi -fi - - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 -$as_echo_n "checking the name lister ($NM) interface... " >&6; } -if ${lt_cv_nm_interface+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&5 - (eval echo "\"\$as_me:$LINENO: output\"" >&5) - cat conftest.out >&5 - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 -$as_echo "$lt_cv_nm_interface" >&6; } - -# find the maximum length of command line arguments -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 -$as_echo_n "checking the maximum length of command line arguments... " >&6; } -if ${lt_cv_sys_max_cmd_len+:} false; then : - $as_echo_n "(cached) " >&6 -else - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac - -fi - -if test -n $lt_cv_sys_max_cmd_len ; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 -$as_echo "$lt_cv_sys_max_cmd_len" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 -$as_echo "none" >&6; } -fi -max_cmd_len=$lt_cv_sys_max_cmd_len - - - - - - -: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 -$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 -$as_echo "$xsi_shell" >&6; } - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 -$as_echo_n "checking whether the shell understands \"+=\"... " >&6; } -lt_shell_append=no -( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 -$as_echo "$lt_shell_append" >&6; } - - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi - - - - - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 -$as_echo_n "checking how to convert $build file names to $host format... " >&6; } -if ${lt_cv_to_host_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac - -fi - -to_host_file_cmd=$lt_cv_to_host_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 -$as_echo "$lt_cv_to_host_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 -$as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } -if ${lt_cv_to_tool_file_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - #assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac - -fi - -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 -$as_echo "$lt_cv_to_tool_file_cmd" >&6; } - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 -$as_echo_n "checking for $LD option to reload object files... " >&6; } -if ${lt_cv_ld_reload_flag+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_reload_flag='-r' -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 -$as_echo "$lt_cv_ld_reload_flag" >&6; } -reload_flag=$lt_cv_ld_reload_flag -case $reload_flag in -"" | " "*) ;; -*) reload_flag=" $reload_flag" ;; -esac -reload_cmds='$LD$reload_flag -o $output$reload_objs' -case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - if test "$GCC" != yes; then - reload_cmds=false - fi - ;; - darwin*) - if test "$GCC" = yes; then - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' - else - reload_cmds='$LD$reload_flag -o $output$reload_objs' - fi - ;; -esac - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 -$as_echo_n "checking how to recognize dependent libraries... " >&6; } -if ${lt_cv_deplibs_check_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_file_magic_cmd='$MAGIC_CMD' -lt_cv_file_magic_test_file= -lt_cv_deplibs_check_method='unknown' -# Need to set the preceding variable on all platforms that support -# interlibrary dependencies. -# 'none' -- dependencies not supported. -# `unknown' -- same as none, but documents that we really don't know. -# 'pass_all' -- all dependencies passed with no checks. -# 'test_compile' -- check by making test program. -# 'file_magic [[regex]]' -- check by looking for files in library path -# which responds to the $file_magic_cmd with a given extended regex. -# If you have `file' or equivalent on your system and you're not sure -# whether `pass_all' will *always* work, you probably want this one. - -case $host_os in -aix[4-9]*) - lt_cv_deplibs_check_method=pass_all - ;; - -beos*) - lt_cv_deplibs_check_method=pass_all - ;; - -bsdi[45]*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' - lt_cv_file_magic_cmd='/usr/bin/file -L' - lt_cv_file_magic_test_file=/shlib/libc.so - ;; - -cygwin*) - # func_win32_libid is a shell function defined in ltmain.sh - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - ;; - -mingw* | pw32*) - # Base MSYS/MinGW do not provide the 'file' command needed by - # func_win32_libid shell function, so use a weaker test based on 'objdump', - # unless we find 'file', for example because we are cross-compiling. - # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. - if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[3-9]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 -$as_echo "$lt_cv_deplibs_check_method" >&6; } - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - - - - - - - - - - - - - - - - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 -$as_echo_n "checking how to associate runtime and link libraries... " >&6; } -if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 -$as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - - - - - - - -if test -n "$ac_tool_prefix"; then - for ac_prog in ar - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AR"; then - ac_cv_prog_AR="$AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AR="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AR=$ac_cv_prog_AR -if test -n "$AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 -$as_echo "$AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AR" && break - done -fi -if test -z "$AR"; then - ac_ct_AR=$AR - for ac_prog in ar -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AR+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AR"; then - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AR="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AR=$ac_cv_prog_ac_ct_AR -if test -n "$ac_ct_AR"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 -$as_echo "$ac_ct_AR" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_AR" && break -done - - if test "x$ac_ct_AR" = x; then - AR="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AR=$ac_ct_AR - fi -fi - -: ${AR=ar} -: ${AR_FLAGS=cru} - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 -$as_echo_n "checking for archiver @FILE support... " >&6; } -if ${lt_cv_ar_at_file+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ar_at_file=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 - (eval $lt_ar_try) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 -$as_echo "$lt_cv_ar_at_file" >&6; } - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi - - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. -set dummy ${ac_tool_prefix}strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$STRIP"; then - ac_cv_prog_STRIP="$STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_STRIP="${ac_tool_prefix}strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -STRIP=$ac_cv_prog_STRIP -if test -n "$STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 -$as_echo "$STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_STRIP"; then - ac_ct_STRIP=$STRIP - # Extract the first word of "strip", so it can be a program name with args. -set dummy strip; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_STRIP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_STRIP"; then - ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_STRIP="strip" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP -if test -n "$ac_ct_STRIP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 -$as_echo "$ac_ct_STRIP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_STRIP" = x; then - STRIP=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - STRIP=$ac_ct_STRIP - fi -else - STRIP="$ac_cv_prog_STRIP" -fi - -test -z "$STRIP" && STRIP=: - - - - - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RANLIB"; then - ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RANLIB=$ac_cv_prog_RANLIB -if test -n "$RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 -$as_echo "$RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RANLIB"; then - ac_ct_RANLIB=$RANLIB - # Extract the first word of "ranlib", so it can be a program name with args. -set dummy ranlib; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RANLIB"; then - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RANLIB="ranlib" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB -if test -n "$ac_ct_RANLIB"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 -$as_echo "$ac_ct_RANLIB" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RANLIB" = x; then - RANLIB=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RANLIB=$ac_ct_RANLIB - fi -else - RANLIB="$ac_cv_prog_RANLIB" -fi - -test -z "$RANLIB" && RANLIB=: - - - - - - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# Check for command to grab the raw symbol name followed by C symbol from nm. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 -$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } -if ${lt_cv_sys_global_symbol_pipe+:} false; then : - $as_echo_n "(cached) " >&6 -else - -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[BCDEGRST]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([_A-Za-z][_A-Za-z0-9]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[BCDT]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[ABCDGISTW]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[ABCDEGRST]' - fi - ;; -irix* | nonstopux*) - symcode='[BCDEGRST]' - ;; -osf*) - symcode='[BCDEGQRST]' - ;; -solaris*) - symcode='[BDRT]' - ;; -sco3.2v5*) - symcode='[DT]' - ;; -sysv4.2uw2*) - symcode='[DT]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[ABDT]' - ;; -sysv4) - symcode='[DFNSTU]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[ABCDGIRSTW]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK '"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - # Now try to grab the symbols. - nlist=conftest.nm - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 - (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT_DLSYM_CONST -#else -# define LT_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&5 - fi - else - echo "cannot find nm_test_var in $nlist" >&5 - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 - fi - else - echo "$progname: failed program was:" >&5 - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done - -fi - -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 -$as_echo "failed" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 -$as_echo "ok" >&6; } -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 -$as_echo_n "checking for sysroot... " >&6; } - -# Check whether --with-sysroot was given. -if test "${with_sysroot+set}" = set; then : - withval=$with_sysroot; -else - with_sysroot=no -fi - - -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 -$as_echo "${with_sysroot}" >&6; } - as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 - ;; -esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 -$as_echo "${lt_sysroot:-no}" >&6; } - - - - - -# Check whether --enable-libtool-lock was given. -if test "${enable_libtool_lock+set}" = set; then : - enableval=$enable_libtool_lock; -fi - -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '#line '$LINENO' "configure"' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 -$as_echo_n "checking whether the C compiler needs -belf... " >&6; } -if ${lt_cv_cc_needs_belf+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_cc_needs_belf=yes -else - lt_cv_cc_needs_belf=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 -$as_echo "$lt_cv_cc_needs_belf" >&6; } - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. -set dummy ${ac_tool_prefix}mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$MANIFEST_TOOL"; then - ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL -if test -n "$MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 -$as_echo "$MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_MANIFEST_TOOL"; then - ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL - # Extract the first word of "mt", so it can be a program name with args. -set dummy mt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_MANIFEST_TOOL"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL -if test -n "$ac_ct_MANIFEST_TOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 -$as_echo "$ac_ct_MANIFEST_TOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_MANIFEST_TOOL" = x; then - MANIFEST_TOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL - fi -else - MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" -fi - -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 -$as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } -if ${lt_cv_path_mainfest_tool+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&5 - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest* -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 -$as_echo "$lt_cv_path_mainfest_tool" >&6; } -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi - - - - - - - case $host_os in - rhapsody* | darwin*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. -set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DSYMUTIL"; then - ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DSYMUTIL=$ac_cv_prog_DSYMUTIL -if test -n "$DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 -$as_echo "$DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DSYMUTIL"; then - ac_ct_DSYMUTIL=$DSYMUTIL - # Extract the first word of "dsymutil", so it can be a program name with args. -set dummy dsymutil; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DSYMUTIL"; then - ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL -if test -n "$ac_ct_DSYMUTIL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 -$as_echo "$ac_ct_DSYMUTIL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DSYMUTIL" = x; then - DSYMUTIL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DSYMUTIL=$ac_ct_DSYMUTIL - fi -else - DSYMUTIL="$ac_cv_prog_DSYMUTIL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. -set dummy ${ac_tool_prefix}nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$NMEDIT"; then - ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -NMEDIT=$ac_cv_prog_NMEDIT -if test -n "$NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 -$as_echo "$NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_NMEDIT"; then - ac_ct_NMEDIT=$NMEDIT - # Extract the first word of "nmedit", so it can be a program name with args. -set dummy nmedit; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_NMEDIT"; then - ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_NMEDIT="nmedit" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT -if test -n "$ac_ct_NMEDIT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 -$as_echo "$ac_ct_NMEDIT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_NMEDIT" = x; then - NMEDIT=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - NMEDIT=$ac_ct_NMEDIT - fi -else - NMEDIT="$ac_cv_prog_NMEDIT" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. -set dummy ${ac_tool_prefix}lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$LIPO"; then - ac_cv_prog_LIPO="$LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_LIPO="${ac_tool_prefix}lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -LIPO=$ac_cv_prog_LIPO -if test -n "$LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 -$as_echo "$LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_LIPO"; then - ac_ct_LIPO=$LIPO - # Extract the first word of "lipo", so it can be a program name with args. -set dummy lipo; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_LIPO+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_LIPO"; then - ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_LIPO="lipo" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO -if test -n "$ac_ct_LIPO"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 -$as_echo "$ac_ct_LIPO" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_LIPO" = x; then - LIPO=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - LIPO=$ac_ct_LIPO - fi -else - LIPO="$ac_cv_prog_LIPO" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL"; then - ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL="${ac_tool_prefix}otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL=$ac_cv_prog_OTOOL -if test -n "$OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 -$as_echo "$OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL"; then - ac_ct_OTOOL=$OTOOL - # Extract the first word of "otool", so it can be a program name with args. -set dummy otool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL"; then - ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL="otool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL -if test -n "$ac_ct_OTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 -$as_echo "$ac_ct_OTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL" = x; then - OTOOL=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL=$ac_ct_OTOOL - fi -else - OTOOL="$ac_cv_prog_OTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. -set dummy ${ac_tool_prefix}otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OTOOL64"; then - ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OTOOL64=$ac_cv_prog_OTOOL64 -if test -n "$OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 -$as_echo "$OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OTOOL64"; then - ac_ct_OTOOL64=$OTOOL64 - # Extract the first word of "otool64", so it can be a program name with args. -set dummy otool64; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OTOOL64"; then - ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OTOOL64="otool64" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 -if test -n "$ac_ct_OTOOL64"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 -$as_echo "$ac_ct_OTOOL64" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OTOOL64" = x; then - OTOOL64=":" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OTOOL64=$ac_ct_OTOOL64 - fi -else - OTOOL64="$ac_cv_prog_OTOOL64" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 -$as_echo_n "checking for -single_module linker flag... " >&6; } -if ${lt_cv_apple_cc_single_mod+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&5 - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&5 - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 -$as_echo "$lt_cv_apple_cc_single_mod" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 -$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } -if ${lt_cv_ld_exported_symbols_list+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_ld_exported_symbols_list=yes -else - lt_cv_ld_exported_symbols_list=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 -$as_echo "$lt_cv_ld_exported_symbols_list" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 -$as_echo_n "checking for -force_load linker flag... " >&6; } -if ${lt_cv_ld_force_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 - echo "$AR cru libconftest.a conftest.o" >&5 - $AR cru libconftest.a conftest.o 2>&5 - echo "$RANLIB libconftest.a" >&5 - $RANLIB libconftest.a 2>&5 - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&5 - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&5 - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 -$as_echo "$lt_cv_ld_force_load" >&6; } - case $host_os in - rhapsody* | darwin1.[012]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[91]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[012]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac - -for ac_header in dlfcn.h -do : - ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default -" -if test "x$ac_cv_header_dlfcn_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_DLFCN_H 1 -_ACEOF - -fi - -done - - - - - -# Set options -enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}as", so it can be a program name with args. -set dummy ${ac_tool_prefix}as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$AS"; then - ac_cv_prog_AS="$AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_AS="${ac_tool_prefix}as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -AS=$ac_cv_prog_AS -if test -n "$AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AS" >&5 -$as_echo "$AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_AS"; then - ac_ct_AS=$AS - # Extract the first word of "as", so it can be a program name with args. -set dummy as; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_AS+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_AS"; then - ac_cv_prog_ac_ct_AS="$ac_ct_AS" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_AS="as" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_AS=$ac_cv_prog_ac_ct_AS -if test -n "$ac_ct_AS"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AS" >&5 -$as_echo "$ac_ct_AS" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_AS" = x; then - AS="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - AS=$ac_ct_AS - fi -else - AS="$ac_cv_prog_AS" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. -set dummy ${ac_tool_prefix}dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$DLLTOOL"; then - ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -DLLTOOL=$ac_cv_prog_DLLTOOL -if test -n "$DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 -$as_echo "$DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_DLLTOOL"; then - ac_ct_DLLTOOL=$DLLTOOL - # Extract the first word of "dlltool", so it can be a program name with args. -set dummy dlltool; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_DLLTOOL"; then - ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_DLLTOOL="dlltool" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL -if test -n "$ac_ct_DLLTOOL"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 -$as_echo "$ac_ct_DLLTOOL" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_DLLTOOL" = x; then - DLLTOOL="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - DLLTOOL=$ac_ct_DLLTOOL - fi -else - DLLTOOL="$ac_cv_prog_DLLTOOL" -fi - - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. -set dummy ${ac_tool_prefix}objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$OBJDUMP"; then - ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -OBJDUMP=$ac_cv_prog_OBJDUMP -if test -n "$OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 -$as_echo "$OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_OBJDUMP"; then - ac_ct_OBJDUMP=$OBJDUMP - # Extract the first word of "objdump", so it can be a program name with args. -set dummy objdump; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_OBJDUMP"; then - ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_OBJDUMP="objdump" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP -if test -n "$ac_ct_OBJDUMP"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 -$as_echo "$ac_ct_OBJDUMP" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_OBJDUMP" = x; then - OBJDUMP="false" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - OBJDUMP=$ac_ct_OBJDUMP - fi -else - OBJDUMP="$ac_cv_prog_OBJDUMP" -fi - - ;; -esac - -test -z "$AS" && AS=as - - - - - -test -z "$DLLTOOL" && DLLTOOL=dlltool - - - - - -test -z "$OBJDUMP" && OBJDUMP=objdump - - - - - - - - enable_dlopen=no - - - - # Check whether --enable-shared was given. -if test "${enable_shared+set}" = set; then : - enableval=$enable_shared; p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_shared=yes -fi - - - - - - - - - - # Check whether --enable-static was given. -if test "${enable_static+set}" = set; then : - enableval=$enable_static; p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_static=yes -fi - - - - - - - - - - -# Check whether --with-pic was given. -if test "${with_pic+set}" = set; then : - withval=$with_pic; lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - pic_mode=default -fi - - -test -z "$pic_mode" && pic_mode=default - - - - - - - - # Check whether --enable-fast-install was given. -if test "${enable_fast_install+set}" = set; then : - enableval=$enable_fast_install; p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac -else - enable_fast_install=yes -fi - - - - - - - - - - - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -test -z "$LN_S" && LN_S="ln -s" - - - - - - - - - - - - - - -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 -$as_echo_n "checking for objdir... " >&6; } -if ${lt_cv_objdir+:} false; then : - $as_echo_n "(cached) " >&6 -else - rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 -$as_echo "$lt_cv_objdir" >&6; } -objdir=$lt_cv_objdir - - - - - -cat >>confdefs.h <<_ACEOF -#define LT_OBJDIR "$lt_cv_objdir/" -_ACEOF - - - - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 -$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/${ac_tool_prefix}file; then - lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - - -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 -$as_echo_n "checking for file... " >&6; } -if ${lt_cv_path_MAGIC_CMD+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $MAGIC_CMD in -[\\/*] | ?:[\\/]*) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/file; then - lt_cv_path_MAGIC_CMD="$ac_dir/file" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac -fi - -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 -$as_echo "$MAGIC_CMD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - else - MAGIC_CMD=: - fi -fi - - fi - ;; -esac - -# Use C for the default configuration in the libtool script - -lt_save_CC="$CC" -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -objext=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - -lt_prog_compiler_no_builtin_flag= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; - *) - lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; - esac - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 -$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } -if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_rtti_exceptions=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="-fno-rtti -fno-exceptions" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_rtti_exceptions=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 -$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } - -if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then - lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" -else - : -fi - -fi - - - - - - - lt_prog_compiler_wl= -lt_prog_compiler_pic= -lt_prog_compiler_static= - - - if test "$GCC" = yes; then - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_static='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - lt_prog_compiler_pic='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - lt_prog_compiler_pic='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - lt_prog_compiler_static= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - ;; - - interix[3-9]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - lt_prog_compiler_can_build_shared=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - lt_prog_compiler_pic=-Kconform_pic - fi - ;; - - *) - lt_prog_compiler_pic='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - lt_prog_compiler_wl='-Xlinker ' - if test -n "$lt_prog_compiler_pic"; then - lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - lt_prog_compiler_wl='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - lt_prog_compiler_static='-Bstatic' - else - lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - lt_prog_compiler_pic='-DDLL_EXPORT' - ;; - - hpux9* | hpux10* | hpux11*) - lt_prog_compiler_wl='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - lt_prog_compiler_pic='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - lt_prog_compiler_static='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - lt_prog_compiler_wl='-Wl,' - # PIC (with -KPIC) is the default. - lt_prog_compiler_static='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='--shared' - lt_prog_compiler_static='--static' - ;; - nagfor*) - # NAG Fortran compiler - lt_prog_compiler_wl='-Wl,-Wl,,' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - ccc*) - lt_prog_compiler_wl='-Wl,' - # All Alpha code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-qpic' - lt_prog_compiler_static='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='' - ;; - *Sun\ F* | *Sun*Fortran*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - lt_prog_compiler_wl='-Wl,' - ;; - *Intel*\ [CF]*Compiler*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fPIC' - lt_prog_compiler_static='-static' - ;; - *Portland\ Group*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-fpic' - lt_prog_compiler_static='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - lt_prog_compiler_pic='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - lt_prog_compiler_wl='-Wl,' - # All OSF/1 code is PIC. - lt_prog_compiler_static='-non_shared' - ;; - - rdos*) - lt_prog_compiler_static='-non_shared' - ;; - - solaris*) - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - lt_prog_compiler_wl='-Qoption ld ';; - *) - lt_prog_compiler_wl='-Wl,';; - esac - ;; - - sunos4*) - lt_prog_compiler_wl='-Qoption ld ' - lt_prog_compiler_pic='-PIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - lt_prog_compiler_pic='-Kconform_pic' - lt_prog_compiler_static='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_pic='-KPIC' - lt_prog_compiler_static='-Bstatic' - ;; - - unicos*) - lt_prog_compiler_wl='-Wl,' - lt_prog_compiler_can_build_shared=no - ;; - - uts4*) - lt_prog_compiler_pic='-pic' - lt_prog_compiler_static='-Bstatic' - ;; - - *) - lt_prog_compiler_can_build_shared=no - ;; - esac - fi - -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - lt_prog_compiler_pic= - ;; - *) - lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" - ;; -esac - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 -$as_echo_n "checking for $compiler option to produce PIC... " >&6; } -if ${lt_cv_prog_compiler_pic+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic=$lt_prog_compiler_pic -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 -$as_echo "$lt_cv_prog_compiler_pic" >&6; } -lt_prog_compiler_pic=$lt_cv_prog_compiler_pic - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$lt_prog_compiler_pic"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 -$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } -if ${lt_cv_prog_compiler_pic_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_pic_works=no - ac_outfile=conftest.$ac_objext - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$lt_prog_compiler_pic -DPIC" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_pic_works=yes - fi - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 -$as_echo "$lt_cv_prog_compiler_pic_works" >&6; } - -if test x"$lt_cv_prog_compiler_pic_works" = xyes; then - case $lt_prog_compiler_pic in - "" | " "*) ;; - *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; - esac -else - lt_prog_compiler_pic= - lt_prog_compiler_can_build_shared=no -fi - -fi - - - - - - - - - - - -# -# Check to make sure the static flag actually works. -# -wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 -$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } -if ${lt_cv_prog_compiler_static_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_static_works=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $lt_tmp_static_flag" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler_static_works=yes - fi - else - lt_cv_prog_compiler_static_works=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 -$as_echo "$lt_cv_prog_compiler_static_works" >&6; } - -if test x"$lt_cv_prog_compiler_static_works" = xyes; then - : -else - lt_prog_compiler_static= -fi - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 -$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } -if ${lt_cv_prog_compiler_c_o+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler_c_o=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&5 - echo "$as_me:$LINENO: \$? = $ac_status" >&5 - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - lt_cv_prog_compiler_c_o=yes - fi - fi - chmod u+w . 2>&5 - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 -$as_echo "$lt_cv_prog_compiler_c_o" >&6; } - - - - -hard_links="nottested" -if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 -$as_echo_n "checking if we can lock with hard links... " >&6; } - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 -$as_echo "$hard_links" >&6; } - if test "$hard_links" = no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 -$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} - need_locks=warn - fi -else - need_locks=no -fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 -$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } - - runpath_var= - allow_undefined_flag= - always_export_symbols=no - archive_cmds= - archive_expsym_cmds= - compiler_needs_object=no - enable_shared_with_static_runtimes=no - export_dynamic_flag_spec= - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - hardcode_automatic=no - hardcode_direct=no - hardcode_direct_absolute=no - hardcode_libdir_flag_spec= - hardcode_libdir_separator= - hardcode_minus_L=no - hardcode_shlibpath_var=unsupported - inherit_rpath=no - link_all_deplibs=unknown - module_cmds= - module_expsym_cmds= - old_archive_from_new_cmds= - old_archive_from_expsyms_cmds= - thread_safe_flag_spec= - whole_archive_flag_spec= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - include_expsyms= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - ld_shlibs=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; - *\ \(GNU\ Binutils\)\ [3-9]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - export_dynamic_flag_spec='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - whole_archive_flag_spec= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[3-9]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - allow_undefined_flag=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - ld_shlibs=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, - # as there is no search path for DLLs. - hardcode_libdir_flag_spec='-L$libdir' - export_dynamic_flag_spec='${wl}--export-all-symbols' - allow_undefined_flag=unsupported - always_export_symbols=no - enable_shared_with_static_runtimes=yes - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' - exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - ld_shlibs=no - fi - ;; - - haiku*) - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - link_all_deplibs=yes - ;; - - interix[3-9]*) - hardcode_direct=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - whole_archive_flag_spec= - tmp_sharedflag='--shared' ;; - xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - compiler_needs_object=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - ld_shlibs=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) - ld_shlibs=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - ;; - - sunos4*) - archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - ld_shlibs=no - fi - ;; - esac - - if test "$ld_shlibs" = no; then - runpath_var= - hardcode_libdir_flag_spec= - export_dynamic_flag_spec= - whole_archive_flag_spec= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - allow_undefined_flag=unsupported - always_export_symbols=yes - archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - hardcode_minus_L=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - hardcode_direct=unsupported - fi - ;; - - aix[4-9]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - archive_cmds='' - hardcode_direct=yes - hardcode_direct_absolute=yes - hardcode_libdir_separator=':' - link_all_deplibs=yes - file_list_spec='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[012]|aix4.[012].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - hardcode_direct=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - hardcode_minus_L=yes - hardcode_libdir_flag_spec='-L$libdir' - hardcode_libdir_separator= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - export_dynamic_flag_spec='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - always_export_symbols=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - allow_undefined_flag='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' - allow_undefined_flag="-z nodefs" - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - if ${lt_cv_aix_libpath_+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - lt_aix_libpath_sed=' - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }' - lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test -z "$lt_cv_aix_libpath_"; then - lt_cv_aix_libpath_="/usr/lib:/lib" - fi - -fi - - aix_libpath=$lt_cv_aix_libpath_ -fi - - hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - no_undefined_flag=' ${wl}-bernotok' - allow_undefined_flag=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - whole_archive_flag_spec='$convenience' - fi - archive_cmds_need_lc=yes - # This is similar to how AIX traditionally builds its shared libraries. - archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - archive_expsym_cmds='' - ;; - m68k) - archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - ;; - esac - ;; - - bsdi[45]*) - export_dynamic_flag_spec=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - always_export_symbols=yes - file_list_spec='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, )='true' - enable_shared_with_static_runtimes=yes - exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - old_postinstall_cmds='chmod 644 $oldlib' - postlink_cmds='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - hardcode_libdir_flag_spec=' ' - allow_undefined_flag=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - old_archive_from_new_cmds='true' - # FIXME: Should let the user specify the lib program. - old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' - enable_shared_with_static_runtimes=yes - ;; - esac - ;; - - darwin* | rhapsody*) - - - archive_cmds_need_lc=no - hardcode_direct=no - hardcode_automatic=yes - hardcode_shlibpath_var=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - - else - whole_archive_flag_spec='' - fi - link_all_deplibs=yes - allow_undefined_flag="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - - else - ld_shlibs=no - fi - - ;; - - dgux*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - hpux9*) - if test "$GCC" = yes; then - archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - export_dynamic_flag_spec='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 -$as_echo_n "checking if $CC understands -b... " >&6; } -if ${lt_cv_prog_compiler__b+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_prog_compiler__b=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -b" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&5 - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - lt_cv_prog_compiler__b=yes - fi - else - lt_cv_prog_compiler__b=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 -$as_echo "$lt_cv_prog_compiler__b" >&6; } - -if test x"$lt_cv_prog_compiler__b" = xyes; then - archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' -else - archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' -fi - - ;; - esac - fi - if test "$with_gnu_ld" = no; then - hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' - hardcode_libdir_separator=: - - case $host_cpu in - hppa*64*|ia64*) - hardcode_direct=no - hardcode_shlibpath_var=no - ;; - *) - hardcode_direct=yes - hardcode_direct_absolute=yes - export_dynamic_flag_spec='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - hardcode_minus_L=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 -$as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } -if ${lt_cv_irix_exported_symbol+:} false; then : - $as_echo_n "(cached) " >&6 -else - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -int foo (void) { return 0; } -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - lt_cv_irix_exported_symbol=yes -else - lt_cv_irix_exported_symbol=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS="$save_LDFLAGS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 -$as_echo "$lt_cv_irix_exported_symbol" >&6; } - if test "$lt_cv_irix_exported_symbol" = yes; then - archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - inherit_rpath=yes - link_all_deplibs=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes - hardcode_shlibpath_var=no - ;; - - newsos6) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - hardcode_shlibpath_var=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - hardcode_direct=yes - hardcode_shlibpath_var=no - hardcode_direct_absolute=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - export_dynamic_flag_spec='${wl}-E' - else - case $host_os in - openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) - archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-R$libdir' - ;; - *) - archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='${wl}-rpath,$libdir' - ;; - esac - fi - else - ld_shlibs=no - fi - ;; - - os2*) - hardcode_libdir_flag_spec='-L$libdir' - hardcode_minus_L=yes - allow_undefined_flag=unsupported - archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - archive_cmds_need_lc='no' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - hardcode_libdir_separator=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' - archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' - else - allow_undefined_flag=' -expect_unresolved \*' - archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - hardcode_libdir_flag_spec='-rpath $libdir' - fi - archive_cmds_need_lc='no' - hardcode_libdir_separator=: - ;; - - solaris*) - no_undefined_flag=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - hardcode_libdir_flag_spec='-R$libdir' - hardcode_shlibpath_var=no - case $host_os in - solaris2.[0-5] | solaris2.[0-5].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - whole_archive_flag_spec='-z allextract$convenience -z defaultextract' - fi - ;; - esac - link_all_deplibs=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - hardcode_libdir_flag_spec='-L$libdir' - hardcode_direct=yes - hardcode_minus_L=yes - hardcode_shlibpath_var=no - ;; - - sysv4) - case $host_vendor in - sni) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' - reload_cmds='$CC -r -o $output$reload_objs' - hardcode_direct=no - ;; - motorola) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_direct=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - hardcode_shlibpath_var=no - ;; - - sysv4.3*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - export_dynamic_flag_spec='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_shlibpath_var=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ld_shlibs=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) - no_undefined_flag='${wl}-z,text' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - no_undefined_flag='${wl}-z,text' - allow_undefined_flag='${wl}-z,nodefs' - archive_cmds_need_lc=no - hardcode_shlibpath_var=no - hardcode_libdir_flag_spec='${wl}-R,$libdir' - hardcode_libdir_separator=':' - link_all_deplibs=yes - export_dynamic_flag_spec='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - hardcode_libdir_flag_spec='-L$libdir' - hardcode_shlibpath_var=no - ;; - - *) - ld_shlibs=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - export_dynamic_flag_spec='${wl}-Blargedynsym' - ;; - esac - fi - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 -$as_echo "$ld_shlibs" >&6; } -test "$ld_shlibs" = no && can_build_shared=no - -with_gnu_ld=$with_gnu_ld - - - - - - - - - - - - - - - -# -# Do we need to explicitly link libc? -# -case "x$archive_cmds_need_lc" in -x|xyes) - # Assume -lc should be added - archive_cmds_need_lc=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $archive_cmds in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 -$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } -if ${lt_cv_archive_cmds_need_lc+:} false; then : - $as_echo_n "(cached) " >&6 -else - $RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 - (eval $ac_compile) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$lt_prog_compiler_wl - pic_flag=$lt_prog_compiler_pic - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$allow_undefined_flag - allow_undefined_flag= - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 - (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - then - lt_cv_archive_cmds_need_lc=no - else - lt_cv_archive_cmds_need_lc=yes - fi - allow_undefined_flag=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 -$as_echo "$lt_cv_archive_cmds_need_lc" >&6; } - archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc - ;; - esac - fi - ;; -esac - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 -$as_echo_n "checking dynamic linker characteristics... " >&6; } - -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[lt_foo]++; } - if (lt_freq[lt_foo] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([A-Za-z]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[4-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[01] | aix4.[01].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[45]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' - - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[23].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[01]* | freebsdelf3.[01]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ - freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[3-9]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - if ${lt_cv_shlibpath_overrides_runpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ - LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : - lt_cv_shlibpath_overrides_runpath=yes -fi -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - -fi - - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[89] | openbsd2.[89].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 -$as_echo "$dynamic_linker" >&6; } -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 -$as_echo_n "checking how to hardcode library paths into programs... " >&6; } -hardcode_action= -if test -n "$hardcode_libdir_flag_spec" || - test -n "$runpath_var" || - test "X$hardcode_automatic" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$hardcode_direct" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && - test "$hardcode_minus_L" != no; then - # Linking always hardcodes the temporary library directory. - hardcode_action=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - hardcode_action=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - hardcode_action=unsupported -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 -$as_echo "$hardcode_action" >&6; } - -if test "$hardcode_action" = relink || - test "$inherit_rpath" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi - - - - - - - if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - -fi - - ;; - - *) - ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" -if test "x$ac_cv_func_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 -$as_echo_n "checking for shl_load in -ldld... " >&6; } -if ${ac_cv_lib_dld_shl_load+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char shl_load (); -int -main () -{ -return shl_load (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_shl_load=yes -else - ac_cv_lib_dld_shl_load=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 -$as_echo "$ac_cv_lib_dld_shl_load" >&6; } -if test "x$ac_cv_lib_dld_shl_load" = xyes; then : - lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" -else - ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" -if test "x$ac_cv_func_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 -$as_echo_n "checking for dlopen in -ldl... " >&6; } -if ${ac_cv_lib_dl_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dl_dlopen=yes -else - ac_cv_lib_dl_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 -$as_echo "$ac_cv_lib_dl_dlopen" >&6; } -if test "x$ac_cv_lib_dl_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 -$as_echo_n "checking for dlopen in -lsvld... " >&6; } -if ${ac_cv_lib_svld_dlopen+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lsvld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dlopen (); -int -main () -{ -return dlopen (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_svld_dlopen=yes -else - ac_cv_lib_svld_dlopen=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 -$as_echo "$ac_cv_lib_svld_dlopen" >&6; } -if test "x$ac_cv_lib_svld_dlopen" = xyes; then : - lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 -$as_echo_n "checking for dld_link in -ldld... " >&6; } -if ${ac_cv_lib_dld_dld_link+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-ldld $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dld_link (); -int -main () -{ -return dld_link (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_dld_dld_link=yes -else - ac_cv_lib_dld_dld_link=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 -$as_echo "$ac_cv_lib_dld_dld_link" >&6; } -if test "x$ac_cv_lib_dld_dld_link" = xyes; then : - lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" -fi - - -fi - - -fi - - -fi - - -fi - - -fi - - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 -$as_echo_n "checking whether a program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 -$as_echo "$lt_cv_dlopen_self" >&6; } - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 -$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } -if ${lt_cv_dlopen_self_static+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test "$cross_compiling" = yes; then : - lt_cv_dlopen_self_static=cross -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -} -_LT_EOF - if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 - (eval $ac_link) 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&5 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; - x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; - esac - else : - # compilation failed - lt_cv_dlopen_self_static=no - fi -fi -rm -fr conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 -$as_echo "$lt_cv_dlopen_self_static" >&6; } - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi - - - - - - - - - - - - - - - - - -striplib= -old_striplib= -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 -$as_echo_n "checking whether stripping libraries is possible... " >&6; } -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - fi - ;; - *) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - ;; - esac -fi - - - - - - - - - - - - - # Report which library types will actually be built - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 -$as_echo_n "checking if libtool supports shared libraries... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 -$as_echo "$can_build_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 -$as_echo_n "checking whether to build shared libraries... " >&6; } - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[4-9]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 -$as_echo "$enable_shared" >&6; } - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 -$as_echo_n "checking whether to build static libraries... " >&6; } - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 -$as_echo "$enable_static" >&6; } - - - - -fi -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC="$lt_save_CC" - - - - - - - - - - - - - - - - ac_config_commands="$ac_config_commands libtool" - - - - -# Only expand once: - - -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. -set dummy ${ac_tool_prefix}windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$RC"; then - ac_cv_prog_RC="$RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_RC="${ac_tool_prefix}windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -RC=$ac_cv_prog_RC -if test -n "$RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RC" >&5 -$as_echo "$RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_RC"; then - ac_ct_RC=$RC - # Extract the first word of "windres", so it can be a program name with args. -set dummy windres; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_RC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_RC"; then - ac_cv_prog_ac_ct_RC="$ac_ct_RC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_prog_ac_ct_RC="windres" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_RC=$ac_cv_prog_ac_ct_RC -if test -n "$ac_ct_RC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RC" >&5 -$as_echo "$ac_ct_RC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_RC" = x; then - RC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - RC=$ac_ct_RC - fi -else - RC="$ac_cv_prog_RC" -fi - - - - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -objext_RC=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. - - - - - - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC - - -# save warnings/boilerplate of simple test code -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* - -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* - - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -compiler_RC=$CC -for cc_temp in $compiler""; do - case $cc_temp in - compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; - distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` - -lt_cv_prog_compiler_c_o_RC=yes - -if test -n "$compiler"; then - : - - - -fi - -GCC=$lt_save_GCC -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS - - -# This is a bit wrong since it is possible to request that only some libs -# are built as shared. Using that feature isn't so common though, and this -# breaks only on Windows (at least for now) if the user enables only some -# libs as shared. - if test "x$enable_shared" != xno; then - COND_SHARED_TRUE= - COND_SHARED_FALSE='#' -else - COND_SHARED_TRUE='#' - COND_SHARED_FALSE= -fi - - - -############################################################################### -# Checks for libraries. -############################################################################### - -echo -echo "Initializing gettext:" - - -mkdir_p="$MKDIR_P" -case $mkdir_p in - [\\/$]* | ?:[\\/]*) ;; - */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; -esac - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 -$as_echo_n "checking whether NLS is requested... " >&6; } - # Check whether --enable-nls was given. -if test "${enable_nls+set}" = set; then : - enableval=$enable_nls; USE_NLS=$enableval -else - USE_NLS=yes -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - - - - - GETTEXT_MACRO_VERSION=0.18 - - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgfmt", so it can be a program name with args. -set dummy msgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGFMT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --statistics /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_MSGFMT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT=":" - ;; -esac -fi -MSGFMT="$ac_cv_path_MSGFMT" -if test "$MSGFMT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 -$as_echo "$MSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - # Extract the first word of "gmsgfmt", so it can be a program name with args. -set dummy gmsgfmt; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_GMSGFMT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case $GMSGFMT in - [\\/]* | ?:[\\/]*) - ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then - ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - - test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" - ;; -esac -fi -GMSGFMT=$ac_cv_path_GMSGFMT -if test -n "$GMSGFMT"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 -$as_echo "$GMSGFMT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac - - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "xgettext", so it can be a program name with args. -set dummy xgettext; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_XGETTEXT+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$XGETTEXT" in - [\\/]* | ?:[\\/]*) - ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&5 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi); then - ac_cv_path_XGETTEXT="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" - ;; -esac -fi -XGETTEXT="$ac_cv_path_XGETTEXT" -if test "$XGETTEXT" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 -$as_echo "$XGETTEXT" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - rm -f messages.po - - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac - - - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "msgmerge", so it can be a program name with args. -set dummy msgmerge; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_path_MSGMERGE+:} false; then : - $as_echo_n "(cached) " >&6 -else - case "$MSGMERGE" in - [\\/]* | ?:[\\/]*) - ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&5 - if $ac_dir/$ac_word --update -q /dev/null /dev/null >&5 2>&1; then - ac_cv_path_MSGMERGE="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" - test -z "$ac_cv_path_MSGMERGE" && ac_cv_path_MSGMERGE=":" - ;; -esac -fi -MSGMERGE="$ac_cv_path_MSGMERGE" -if test "$MSGMERGE" != ":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 -$as_echo "$MSGMERGE" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$localedir" || localedir='${datadir}/locale' - - - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - - - ac_config_commands="$ac_config_commands po-directories" - - - - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" - - -# Check whether --with-gnu-ld was given. -if test "${with_gnu_ld+set}" = set; then : - withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes -else - with_gnu_ld=no -fi - -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by GCC" >&5 -$as_echo_n "checking for ld used by GCC... " >&6; } - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [\\/]* | [A-Za-z]:[\\/]*) - re_direlt='/[^/][^/]*/\.\./' - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 -$as_echo_n "checking for GNU ld... " >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 -$as_echo_n "checking for non-GNU ld... " >&6; } -fi -if ${acl_cv_path_LD+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi -fi - -LD="$acl_cv_path_LD" -if test -n "$LD"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5 -$as_echo "$LD" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 -$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } -if ${acl_cv_prog_gnu_ld+:} false; then : - $as_echo_n "(cached) " >&6 -else - # I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 &5 -$as_echo "$acl_cv_prog_gnu_ld" >&6; } -with_gnu_ld=$acl_cv_prog_gnu_ld - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shared library run path origin" >&5 -$as_echo_n "checking for shared library run path origin... " >&6; } -if ${acl_cv_rpath+:} false; then : - $as_echo_n "(cached) " >&6 -else - - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $acl_cv_rpath" >&5 -$as_echo "$acl_cv_rpath" >&6; } - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - # Check whether --enable-rpath was given. -if test "${enable_rpath+set}" = set; then : - enableval=$enable_rpath; : -else - enable_rpath=yes -fi - - - - - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for 64-bit host" >&5 -$as_echo_n "checking for 64-bit host... " >&6; } -if ${gl_cv_solaris_64bit+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#ifdef _LP64 -sixtyfour bits -#endif - -_ACEOF -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | - $EGREP "sixtyfour bits" >/dev/null 2>&1; then : - gl_cv_solaris_64bit=yes -else - gl_cv_solaris_64bit=no -fi -rm -f conftest* - - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_solaris_64bit" >&5 -$as_echo "$gl_cv_solaris_64bit" >&6; } - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" - - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libiconv-prefix was given. -if test "${with_libiconv_prefix+set}" = set; then : - withval=$with_libiconv_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBICONV= - LTLIBICONV= - INCICONV= - LIBICONV_PREFIX= - HAVE_LIBICONV= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='iconv ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBICONV="${LIBICONV}${LIBICONV:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_so" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }$found_a" - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'iconv'; then - LIBICONV_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCICONV="${INCICONV}${INCICONV:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBICONV="${LIBICONV}${LIBICONV:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBICONV; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBICONV="${LIBICONV}${LIBICONV:+ }$dep" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }$dep" - ;; - esac - done - fi - else - LIBICONV="${LIBICONV}${LIBICONV:+ }-l$name" - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBICONV="${LIBICONV}${LIBICONV:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBICONV="${LTLIBICONV}${LTLIBICONV:+ }-R$found_dir" - done - fi - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFPreferencesCopyAppValue" >&5 -$as_echo_n "checking for CFPreferencesCopyAppValue... " >&6; } -if ${gt_cv_func_CFPreferencesCopyAppValue+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFPreferencesCopyAppValue(NULL, NULL) - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFPreferencesCopyAppValue=yes -else - gt_cv_func_CFPreferencesCopyAppValue=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFPreferencesCopyAppValue" >&5 -$as_echo "$gt_cv_func_CFPreferencesCopyAppValue" >&6; } - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - -$as_echo "#define HAVE_CFPREFERENCESCOPYAPPVALUE 1" >>confdefs.h - - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for CFLocaleCopyCurrent" >&5 -$as_echo_n "checking for CFLocaleCopyCurrent... " >&6; } -if ${gt_cv_func_CFLocaleCopyCurrent+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -CFLocaleCopyCurrent(); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - gt_cv_func_CFLocaleCopyCurrent=yes -else - gt_cv_func_CFLocaleCopyCurrent=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$gt_save_LIBS" -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_CFLocaleCopyCurrent" >&5 -$as_echo "$gt_cv_func_CFLocaleCopyCurrent" >&6; } - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - -$as_echo "#define HAVE_CFLOCALECOPYCURRENT 1" >>confdefs.h - - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - - - - - - - LIBINTL= - LTLIBINTL= - POSUB= - - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libc" >&5 -$as_echo_n "checking for GNU gettext in libc... " >&6; } -if eval \${$gt_func_gnugettext_libc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings; -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libc=yes" -else - eval "$gt_func_gnugettext_libc=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -eval ac_res=\$$gt_func_gnugettext_libc - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - - - - - - am_save_CPPFLAGS="$CPPFLAGS" - - for element in $INCICONV; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for iconv" >&5 -$as_echo_n "checking for iconv... " >&6; } -if ${am_cv_func_iconv+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -int -main () -{ -iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - am_cv_lib_iconv=yes - am_cv_func_iconv=yes -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - LIBS="$am_save_LIBS" - fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv" >&5 -$as_echo "$am_cv_func_iconv" >&6; } - if test "$am_cv_func_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working iconv" >&5 -$as_echo_n "checking for working iconv... " >&6; } -if ${am_cv_func_iconv_works+:} false; then : - $as_echo_n "(cached) " >&6 -else - - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - if test "$cross_compiling" = yes; then : - case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - am_cv_func_iconv_works=yes -else - am_cv_func_iconv_works=no -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - LIBS="$am_save_LIBS" - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_func_iconv_works" >&5 -$as_echo "$am_cv_func_iconv_works" >&6; } - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - -$as_echo "#define HAVE_ICONV 1" >>confdefs.h - - fi - if test "$am_cv_lib_iconv" = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libiconv" >&5 -$as_echo_n "checking how to link with libiconv... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBICONV" >&5 -$as_echo "$LIBICONV" >&6; } - else - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - - - - - - - - - - - - use_additional=yes - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - -# Check whether --with-libintl-prefix was given. -if test "${with_libintl_prefix+set}" = set; then : - withval=$with_libintl_prefix; - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi - -fi - - LIBINTL= - LTLIBINTL= - INCINTL= - LIBINTL_PREFIX= - HAVE_LIBINTL= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='intl ' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIBINTL="${LIBINTL}${LIBINTL:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$value" - else - : - fi - else - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - if test "$acl_hardcode_direct" = yes; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_so" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }$found_a" - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$found_dir -l$name" - fi - fi - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = 'intl'; then - LIBINTL_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INCINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - INCINTL="${INCINTL}${INCINTL:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - if test -n "$found_la"; then - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LIBINTL="${LIBINTL}${LIBINTL:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIBINTL; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - LIBINTL="${LIBINTL}${LIBINTL:+ }$dep" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }$dep" - ;; - esac - done - fi - else - LIBINTL="${LIBINTL}${LIBINTL:+ }-l$name" - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - else - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIBINTL="${LIBINTL}${LIBINTL:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - for found_dir in $ltrpathdirs; do - LTLIBINTL="${LTLIBINTL}${LTLIBINTL:+ }-R$found_dir" - done - fi - - - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU gettext in libintl" >&5 -$as_echo_n "checking for GNU gettext in libintl... " >&6; } -if eval \${$gt_func_gnugettext_libintl+:} false; then : - $as_echo_n "(cached) " >&6 -else - gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - eval "$gt_func_gnugettext_libintl=yes" -else - eval "$gt_func_gnugettext_libintl=no" -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *); -int -main () -{ -bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("") - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS" -fi -eval ac_res=\$$gt_func_gnugettext_libintl - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 -$as_echo "$ac_res" >&6; } - fi - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - -$as_echo "#define ENABLE_NLS 1" >>confdefs.h - - else - USE_NLS=no - fi - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to use NLS" >&5 -$as_echo_n "checking whether to use NLS... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 -$as_echo "$USE_NLS" >&6; } - if test "$USE_NLS" = "yes"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking where the gettext function comes from" >&5 -$as_echo_n "checking where the gettext function comes from... " >&6; } - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_source" >&5 -$as_echo "$gt_source" >&6; } - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link with libintl" >&5 -$as_echo_n "checking how to link with libintl... " >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBINTL" >&5 -$as_echo "$LIBINTL" >&6; } - - for element in $INCINTL; do - haveit= - for x in $CPPFLAGS; do - - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - eval x=\"$x\" - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" - - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }$element" - fi - done - - fi - - -$as_echo "#define HAVE_GETTEXT 1" >>confdefs.h - - -$as_echo "#define HAVE_DCGETTEXT 1" >>confdefs.h - - fi - - POSUB=po - fi - - - - INTLLIBS="$LIBINTL" - - - - - - - -############################################################################### -# Checks for header files. -############################################################################### - -echo -echo "System headers and functions:" - -# There is currently no workarounds in this package if some of -# these headers are missing. -for ac_header in fcntl.h limits.h sys/time.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - -else - as_fn_error $? "Required header file(s) are missing." "$LINENO" 5 -fi - -done - - - -############################################################################### -# Checks for typedefs, structures, and compiler characteristics. -############################################################################### - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdbool.h that conforms to C99" >&5 -$as_echo_n "checking for stdbool.h that conforms to C99... " >&6; } -if ${ac_cv_header_stdbool_h+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - - #include - #ifndef bool - "error: bool is not defined" - #endif - #ifndef false - "error: false is not defined" - #endif - #if false - "error: false is not 0" - #endif - #ifndef true - "error: true is not defined" - #endif - #if true != 1 - "error: true is not 1" - #endif - #ifndef __bool_true_false_are_defined - "error: __bool_true_false_are_defined is not defined" - #endif - - struct s { _Bool s: 1; _Bool t; } s; - - char a[true == 1 ? 1 : -1]; - char b[false == 0 ? 1 : -1]; - char c[__bool_true_false_are_defined == 1 ? 1 : -1]; - char d[(bool) 0.5 == true ? 1 : -1]; - /* See body of main program for 'e'. */ - char f[(_Bool) 0.0 == false ? 1 : -1]; - char g[true]; - char h[sizeof (_Bool)]; - char i[sizeof s.t]; - enum { j = false, k = true, l = false * true, m = true * 256 }; - /* The following fails for - HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. */ - _Bool n[m]; - char o[sizeof n == m * sizeof n[0] ? 1 : -1]; - char p[-1 - (_Bool) 0 < 0 && -1 - (bool) 0 < 0 ? 1 : -1]; - /* Catch a bug in an HP-UX C compiler. See - http://gcc.gnu.org/ml/gcc-patches/2003-12/msg02303.html - http://lists.gnu.org/archive/html/bug-coreutils/2005-11/msg00161.html - */ - _Bool q = true; - _Bool *pq = &q; - -int -main () -{ - - bool e = &s; - *pq |= q; - *pq |= ! q; - /* Refer to every declared value, to avoid compiler optimizations. */ - return (!a + !b + !c + !d + !e + !f + !g + !h + !i + !!j + !k + !!l - + !m + !n + !o + !p + !q + !pq); - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_header_stdbool_h=yes -else - ac_cv_header_stdbool_h=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdbool_h" >&5 -$as_echo "$ac_cv_header_stdbool_h" >&6; } - ac_fn_c_check_type "$LINENO" "_Bool" "ac_cv_type__Bool" "$ac_includes_default" -if test "x$ac_cv_type__Bool" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE__BOOL 1 -_ACEOF - - -fi - - -if test $ac_cv_header_stdbool_h = yes; then - -$as_echo "#define HAVE_STDBOOL_H 1" >>confdefs.h - -fi - - -ac_fn_c_find_uintX_t "$LINENO" "8" "ac_cv_c_uint8_t" -case $ac_cv_c_uint8_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT8_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint8_t $ac_cv_c_uint8_t -_ACEOF -;; - esac - -ac_fn_c_find_uintX_t "$LINENO" "16" "ac_cv_c_uint16_t" -case $ac_cv_c_uint16_t in #( - no|yes) ;; #( - *) - - -cat >>confdefs.h <<_ACEOF -#define uint16_t $ac_cv_c_uint16_t -_ACEOF -;; - esac - -ac_fn_c_find_intX_t "$LINENO" "32" "ac_cv_c_int32_t" -case $ac_cv_c_int32_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int32_t $ac_cv_c_int32_t -_ACEOF -;; -esac - -ac_fn_c_find_uintX_t "$LINENO" "32" "ac_cv_c_uint32_t" -case $ac_cv_c_uint32_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT32_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint32_t $ac_cv_c_uint32_t -_ACEOF -;; - esac - -ac_fn_c_find_intX_t "$LINENO" "64" "ac_cv_c_int64_t" -case $ac_cv_c_int64_t in #( - no|yes) ;; #( - *) - -cat >>confdefs.h <<_ACEOF -#define int64_t $ac_cv_c_int64_t -_ACEOF -;; -esac - -ac_fn_c_find_uintX_t "$LINENO" "64" "ac_cv_c_uint64_t" -case $ac_cv_c_uint64_t in #( - no|yes) ;; #( - *) - -$as_echo "#define _UINT64_T 1" >>confdefs.h - - -cat >>confdefs.h <<_ACEOF -#define uint64_t $ac_cv_c_uint64_t -_ACEOF -;; - esac - - - ac_fn_c_check_type "$LINENO" "uintptr_t" "ac_cv_type_uintptr_t" "$ac_includes_default" -if test "x$ac_cv_type_uintptr_t" = xyes; then : - -$as_echo "#define HAVE_UINTPTR_T 1" >>confdefs.h - -else - for ac_type in 'unsigned int' 'unsigned long int' \ - 'unsigned long long int'; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ -static int test_array [1 - 2 * !(sizeof (void *) <= sizeof ($ac_type))]; -test_array [0] = 0; -return test_array [0]; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -cat >>confdefs.h <<_ACEOF -#define uintptr_t $ac_type -_ACEOF - - ac_type= -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - test -z "$ac_type" && break - done -fi - - - -# The cast to long int works around a bug in the HP C Compiler -# version HP92453-01 B.11.11.23709.GP, which incorrectly rejects -# declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. -# This bug is HP SR number 8606223364. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking size of size_t" >&5 -$as_echo_n "checking size of size_t... " >&6; } -if ${ac_cv_sizeof_size_t+:} false; then : - $as_echo_n "(cached) " >&6 -else - if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (size_t))" "ac_cv_sizeof_size_t" "$ac_includes_default"; then : - -else - if test "$ac_cv_type_size_t" = yes; then - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "cannot compute sizeof (size_t) -See \`config.log' for more details" "$LINENO" 5; } - else - ac_cv_sizeof_size_t=0 - fi -fi - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_size_t" >&5 -$as_echo "$ac_cv_sizeof_size_t" >&6; } - - - -cat >>confdefs.h <<_ACEOF -#define SIZEOF_SIZE_T $ac_cv_sizeof_size_t -_ACEOF - - - -# The command line tool can copy high resolution timestamps if such -# information is available in struct stat. Otherwise one second accuracy -# is used. -ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct stat" "st_uatime" "ac_cv_member_struct_stat_st_uatime" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_uatime" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_UATIME 1 -_ACEOF - - -fi -ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "$ac_includes_default" -if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then : - -cat >>confdefs.h <<_ACEOF -#define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 -_ACEOF - - -fi - - -# Check whether --enable-largefile was given. -if test "${enable_largefile+set}" = set; then : - enableval=$enable_largefile; -fi - -if test "$enable_largefile" != no; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -$as_echo_n "checking for special C compiler options needed for large files... " >&6; } -if ${ac_cv_sys_largefile_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO"; then : - break -fi -rm -f core conftest.err conftest.$ac_objext - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -$as_echo "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -$as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if ${ac_cv_sys_file_offset_bits+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_file_offset_bits=64; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 -$as_echo "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits -_ACEOF -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 -$as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } -if ${ac_cv_sys_large_files+:} false; then : - $as_echo_n "(cached) " >&6 -else - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_sys_large_files=1; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 -$as_echo "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -cat >>confdefs.h <<_ACEOF -#define _LARGE_FILES $ac_cv_sys_large_files -_ACEOF -;; -esac -rm -rf conftest* - fi - - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 -$as_echo_n "checking whether byte ordering is bigendian... " >&6; } -if ${ac_cv_c_bigendian+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_c_bigendian=unknown - # See if we're dealing with a universal compiler. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#ifndef __APPLE_CC__ - not a universal capable compiler - #endif - typedef int dummy; - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - # Check for potential -arch flags. It is not universal unless - # there are at least two -arch flags with different values. - ac_arch= - ac_prev= - for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do - if test -n "$ac_prev"; then - case $ac_word in - i?86 | x86_64 | ppc | ppc64) - if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then - ac_arch=$ac_word - else - ac_cv_c_bigendian=universal - break - fi - ;; - esac - ac_prev= - elif test "x$ac_word" = "x-arch"; then - ac_prev=arch - fi - done -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - if test $ac_cv_c_bigendian = unknown; then - # See if sys/param.h defines the BYTE_ORDER macro. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ - && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ - && LITTLE_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - #include - -int -main () -{ -#if BYTE_ORDER != BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) - bogus endian macros - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - # It does; now see whether it defined to _BIG_ENDIAN or not. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - -int -main () -{ -#ifndef _BIG_ENDIAN - not big endian - #endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_c_bigendian=yes -else - ac_cv_c_bigendian=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - fi - if test $ac_cv_c_bigendian = unknown; then - # Compile a test program. - if test "$cross_compiling" = yes; then : - # Try to guess by grepping values from an object file. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -short int ascii_mm[] = - { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; - short int ascii_ii[] = - { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; - int use_ascii (int i) { - return ascii_mm[i] + ascii_ii[i]; - } - short int ebcdic_ii[] = - { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; - short int ebcdic_mm[] = - { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; - int use_ebcdic (int i) { - return ebcdic_mm[i] + ebcdic_ii[i]; - } - extern int foo; - -int -main () -{ -return use_ascii (foo) == use_ebcdic (foo); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then - ac_cv_c_bigendian=yes - fi - if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then - if test "$ac_cv_c_bigendian" = unknown; then - ac_cv_c_bigendian=no - else - # finding both strings is unlikely to happen, but who knows? - ac_cv_c_bigendian=unknown - fi - fi -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -$ac_includes_default -int -main () -{ - - /* Are we little or big endian? From Harbison&Steele. */ - union - { - long int l; - char c[sizeof (long int)]; - } u; - u.l = 1; - return u.c[sizeof (long int) - 1] == 1; - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_run "$LINENO"; then : - ac_cv_c_bigendian=no -else - ac_cv_c_bigendian=yes -fi -rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ - conftest.$ac_objext conftest.beam conftest.$ac_ext -fi - - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 -$as_echo "$ac_cv_c_bigendian" >&6; } - case $ac_cv_c_bigendian in #( - yes) - $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h -;; #( - no) - ;; #( - universal) - -$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h - - ;; #( - *) - as_fn_error $? "unknown endianness - presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; - esac - - - -############################################################################### -# Checks for library functions. -############################################################################### - -# Gnulib replacements as needed - - if test -z "$GETOPT_H"; then - for ac_header in getopt.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" -if test "x$ac_cv_header_getopt_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_H 1 -_ACEOF - -else - GETOPT_H=getopt.h -fi - -done - - fi - - if test -z "$GETOPT_H"; then - for ac_func in getopt_long -do : - ac_fn_c_check_func "$LINENO" "getopt_long" "ac_cv_func_getopt_long" -if test "x$ac_cv_func_getopt_long" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_GETOPT_LONG 1 -_ACEOF - -else - GETOPT_H=getopt.h -fi -done - - fi - - if test -z "$GETOPT_H"; then - ac_fn_c_check_decl "$LINENO" "optreset" "ac_cv_have_decl_optreset" "#include -" -if test "x$ac_cv_have_decl_optreset" = xyes; then : - -$as_echo "#define HAVE_OPTRESET 1" >>confdefs.h - -fi - - fi - - - - - if test -n "$GETOPT_H"; then : - - case " $LIBOBJS " in - *" getopt.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getopt.$ac_objext" - ;; -esac - - case " $LIBOBJS " in - *" getopt1.$ac_objext "* ) ;; - *) LIBOBJS="$LIBOBJS getopt1.$ac_objext" - ;; -esac - - - GETOPT_H=getopt.h - -$as_echo "#define __GETOPT_PREFIX rpl_" >>confdefs.h - - - - -fi - - -# Find the best function to set timestamps. -for ac_func in futimens futimes futimesat utimes utime -do : - as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` -ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" -if eval test \"x\$"$as_ac_var"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 -_ACEOF - break -fi -done - - - - - - - - - -ac_fn_c_check_decl "$LINENO" "program_invocation_name" "ac_cv_have_decl_program_invocation_name" "#include -" -if test "x$ac_cv_have_decl_program_invocation_name" = xyes; then : - ac_have_decl=1 -else - ac_have_decl=0 -fi - -cat >>confdefs.h <<_ACEOF -#define HAVE_DECL_PROGRAM_INVOCATION_NAME $ac_have_decl -_ACEOF - - - - - -for ac_header in byteswap.h sys/endian.h sys/byteorder.h -do : - as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` -ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" -if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : - cat >>confdefs.h <<_ACEOF -#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 -_ACEOF - break -fi - -done - - -# Even if we have byteswap.h, we may lack the specific macros/functions. -if test x$ac_cv_header_byteswap_h = xyes ; then - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bswap_16 is available" >&5 -$as_echo_n "checking if bswap_16 is available... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - bswap_16(42); - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - -$as_echo "#define HAVE_BSWAP_16 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bswap_32 is available" >&5 -$as_echo_n "checking if bswap_32 is available... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - bswap_32(42); - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - -$as_echo "#define HAVE_BSWAP_32 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if bswap_64 is available" >&5 -$as_echo_n "checking if bswap_64 is available... " >&6; } - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - bswap_64(42); - return 0; -} - -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - - -$as_echo "#define HAVE_BSWAP_64 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext - - fi - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if unaligned memory access should be used" >&5 -$as_echo_n "checking if unaligned memory access should be used... " >&6; } -# Check whether --enable-unaligned-access was given. -if test "${enable_unaligned_access+set}" = set; then : - enableval=$enable_unaligned_access; -else - enable_unaligned_access=auto -fi - -if test "x$enable_unaligned_access" = xauto ; then - # TODO: There may be other architectures, on which unaligned access - # is OK. - case $host_cpu in - i?86|x86_64|powerpc|powerpc64) - enable_unaligned_access=yes - ;; - *) - enable_unaligned_access=no - ;; - esac -fi -if test "x$enable_unaligned_access" = xyes ; then - -$as_echo "#define TUKLIB_FAST_UNALIGNED_ACCESS 1" >>confdefs.h - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - - -# sys/param.h might be needed by sys/sysctl.h. -for ac_header in sys/param.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_PARAM_H 1 -_ACEOF - -fi - -done - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to detect the amount of physical memory" >&5 -$as_echo_n "checking how to detect the amount of physical memory... " >&6; } -if ${tuklib_cv_physmem_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - - -# Maybe checking $host_os would be enough but this matches what -# tuklib_physmem.c does. -# -# NOTE: IRIX has a compiler that doesn't error out with #error, so use -# a non-compilable text instead of #error to generate an error. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \ - || defined(__DJGPP__) || defined(__VMS) -int main(void) { return 0; } -#else -compile error -#endif - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=special -else - - -# Look for AIX-specific solution before sysconf(), because the test -# for sysconf() will pass on AIX but won't actually work -# (sysconf(_SC_PHYS_PAGES) compiles but always returns -1 on AIX). -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include - -int -main(void) -{ - (void)_system_configuration.physmem; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=aix -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - long i; - i = sysconf(_SC_PAGESIZE); - i = sysconf(_SC_PHYS_PAGES); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=sysconf -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef HAVE_SYS_PARAM_H -# include -#endif -#include -int -main(void) -{ - int name[2] = { CTL_HW, HW_PHYSMEM }; - unsigned long mem; - size_t mem_ptr_size = sizeof(mem); - sysctl(name, 2, &mem, &mem_ptr_size, NULL, 0); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=sysctl -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main(void) -{ - int memkb; - int start = 0; - getsysinfo(GSI_PHYSMEM, (caddr_t)&memkb, sizeof(memkb), &start); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=getsysinfo -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main(void) -{ - struct pst_static pst; - pstat_getstatic(&pst, sizeof(pst), 1, 0); - (void)pst.physical_memory; - (void)pst.page_size; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=pstat_getstatic -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - inv_state_t *st = NULL; - setinvent_r(&st); - getinvent_r(st); - endinvent_r(st); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_physmem_method=getinvent_r -else - - -# This version of sysinfo() is Linux-specific. Some non-Linux systems have -# different sysinfo() so we must check $host_os. -case $host_os in - linux*) - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - struct sysinfo si; - sysinfo(&si); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - tuklib_cv_physmem_method=sysinfo - -else - - tuklib_cv_physmem_method=unknown - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ;; - *) - tuklib_cv_physmem_method=unknown - ;; -esac - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tuklib_cv_physmem_method" >&5 -$as_echo "$tuklib_cv_physmem_method" >&6; } - -case $tuklib_cv_physmem_method in - aix) - -$as_echo "#define TUKLIB_PHYSMEM_AIX 1" >>confdefs.h - - ;; - sysconf) - -$as_echo "#define TUKLIB_PHYSMEM_SYSCONF 1" >>confdefs.h - - ;; - sysctl) - -$as_echo "#define TUKLIB_PHYSMEM_SYSCTL 1" >>confdefs.h - - ;; - getsysinfo) - -$as_echo "#define TUKLIB_PHYSMEM_GETSYSINFO 1" >>confdefs.h - - ;; - pstat_getstatic) - -$as_echo "#define TUKLIB_PHYSMEM_PSTAT_GETSTATIC 1" >>confdefs.h - - ;; - getinvent_r) - -$as_echo "#define TUKLIB_PHYSMEM_GETINVENT_R 1" >>confdefs.h - - ;; - sysinfo) - -$as_echo "#define TUKLIB_PHYSMEM_SYSINFO 1" >>confdefs.h - - ;; -esac - - - - -# sys/param.h might be needed by sys/sysctl.h. -for ac_header in sys/param.h -do : - ac_fn_c_check_header_mongrel "$LINENO" "sys/param.h" "ac_cv_header_sys_param_h" "$ac_includes_default" -if test "x$ac_cv_header_sys_param_h" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_SYS_PARAM_H 1 -_ACEOF - -fi - -done - - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to detect the number of available CPU cores" >&5 -$as_echo_n "checking how to detect the number of available CPU cores... " >&6; } -if ${tuklib_cv_cpucores_method+:} false; then : - $as_echo_n "(cached) " >&6 -else - - -# Look for sysctl() solution first, because on OS/2, both sysconf() -# and sysctl() pass the tests in this file, but only sysctl() -# actually works. -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#ifdef HAVE_SYS_PARAM_H -# include -#endif -#include -int -main(void) -{ - int name[2] = { CTL_HW, HW_NCPU }; - int cpus; - size_t cpus_size = sizeof(cpus); - sysctl(name, 2, &cpus, &cpus_size, NULL, 0); - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_cpucores_method=sysctl -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -int -main(void) -{ - long i; -#ifdef _SC_NPROCESSORS_ONLN - /* Many systems using sysconf() */ - i = sysconf(_SC_NPROCESSORS_ONLN); -#else - /* IRIX */ - i = sysconf(_SC_NPROC_ONLN); -#endif - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_cpucores_method=sysconf -else - - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -#include -#include - -int -main(void) -{ - struct pst_dynamic pst; - pstat_getdynamic(&pst, sizeof(pst), 1, 0); - (void)pst.psd_proc_cnt; - return 0; -} - -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - tuklib_cv_cpucores_method=pstat_getdynamic -else - - - tuklib_cv_cpucores_method=unknown - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $tuklib_cv_cpucores_method" >&5 -$as_echo "$tuklib_cv_cpucores_method" >&6; } - -case $tuklib_cv_cpucores_method in - sysctl) - -$as_echo "#define TUKLIB_CPUCORES_SYSCTL 1" >>confdefs.h - - ;; - sysconf) - -$as_echo "#define TUKLIB_CPUCORES_SYSCONF 1" >>confdefs.h - - ;; - pstat_getdynamic) - -$as_echo "#define TUKLIB_CPUCORES_PSTAT_GETDYNAMIC 1" >>confdefs.h - - ;; -esac - - - - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mbrtowc and mbstate_t are properly declared" >&5 -$as_echo_n "checking whether mbrtowc and mbstate_t are properly declared... " >&6; } -if ${ac_cv_func_mbrtowc+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -wchar_t wc; - char const s[] = ""; - size_t n = 1; - mbstate_t state; - return ! (sizeof state && (mbrtowc) (&wc, s, n, &state)); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_func_mbrtowc=yes -else - ac_cv_func_mbrtowc=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_mbrtowc" >&5 -$as_echo "$ac_cv_func_mbrtowc" >&6; } - if test $ac_cv_func_mbrtowc = yes; then - -$as_echo "#define HAVE_MBRTOWC 1" >>confdefs.h - - fi - -for ac_func in wcwidth -do : - ac_fn_c_check_func "$LINENO" "wcwidth" "ac_cv_func_wcwidth" -if test "x$ac_cv_func_wcwidth" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_WCWIDTH 1 -_ACEOF - -fi -done - - - - -############################################################################### -# If using GCC, set some additional AM_CFLAGS: -############################################################################### - -if test "$GCC" = yes ; then - echo - echo "GCC extensions:" -fi - -# Always do the visibility check but don't set AM_CFLAGS on Windows. -# This way things get set properly even on Windows. - - - CFLAG_VISIBILITY= - HAVE_VISIBILITY=0 - if test -n "$GCC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the -Werror option is usable" >&5 -$as_echo_n "checking whether the -Werror option is usable... " >&6; } - if ${gl_cv_cc_vis_werror+:} false; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_cc_vis_werror=yes -else - gl_cv_cc_vis_werror=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_vis_werror" >&5 -$as_echo "$gl_cv_cc_vis_werror" >&6; } - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for simple visibility declarations" >&5 -$as_echo_n "checking for simple visibility declarations... " >&6; } - if ${gl_cv_cc_visibility+:} false; then : - $as_echo_n "(cached) " >&6 -else - - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fvisibility=hidden" - if test $gl_cv_cc_vis_werror = yes; then - CFLAGS="$CFLAGS -Werror" - fi - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -extern __attribute__((__visibility__("hidden"))) int hiddenvar; - extern __attribute__((__visibility__("default"))) int exportedvar; - extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); - extern __attribute__((__visibility__("default"))) int exportedfunc (void); - void dummyfunc (void) {} -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - gl_cv_cc_visibility=yes -else - gl_cv_cc_visibility=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$gl_save_CFLAGS" -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_visibility" >&5 -$as_echo "$gl_cv_cc_visibility" >&6; } - if test $gl_cv_cc_visibility = yes; then - CFLAG_VISIBILITY="-fvisibility=hidden" - HAVE_VISIBILITY=1 - fi - fi - - - -cat >>confdefs.h <<_ACEOF -#define HAVE_VISIBILITY $HAVE_VISIBILITY -_ACEOF - - -if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then - AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY" -fi - -if test "$GCC" = yes ; then - # Enable as much warnings as possible. These commented warnings won't - # work for this package though: - # * -Wunreachable-code breaks several assert(0) cases, which are - # backed up with "return LZMA_PROG_ERROR". - # * -Wcast-qual would break various things where we need a non-const - # pointer although we don't modify anything through it. - # * -Wcast-align breaks optimized CRC32 and CRC64 implementation - # on some architectures (not on x86), where this warning is bogus, - # because we take care of correct alignment. - # * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations - # don't seem so useful here; at least the last one gives some - # warnings which are not bugs. - for NEW_FLAG in \ - -Wall \ - -Wextra \ - -Wvla \ - -Wformat=2 \ - -Winit-self \ - -Wmissing-include-dirs \ - -Wstrict-aliasing \ - -Wfloat-equal \ - -Wundef \ - -Wshadow \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wwrite-strings \ - -Wlogical-op \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wredundant-decls - do - { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC accepts $NEW_FLAG" >&5 -$as_echo_n "checking if $CC accepts $NEW_FLAG... " >&6; } - OLD_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $NEW_FLAG" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -void foo(void) { } -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - - AM_CFLAGS="$AM_CFLAGS $NEW_FLAG" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - -else - - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - CFLAGS="$OLD_CFLAGS" - done - - # Check whether --enable-werror was given. -if test "${enable_werror+set}" = set; then : - enableval=$enable_werror; -else - enable_werror=no -fi - - if test "x$enable_werror" = "xyes"; then - AM_CFLAGS="$AM_CFLAGS -Werror" - fi -fi - - -############################################################################### -# Create the makefiles and config.h -############################################################################### - -echo - -# Don't build the lib directory at all if we don't need any replacement -# functions. - if test -n "$LIBOBJS"; then - COND_GNULIB_TRUE= - COND_GNULIB_FALSE='#' -else - COND_GNULIB_TRUE='#' - COND_GNULIB_FALSE= -fi - - -# Add default AM_CFLAGS. - - -# This is needed for src/scripts. -xz=`echo xz | sed "$program_transform_name"` - - -ac_config_files="$ac_config_files Doxyfile Makefile po/Makefile.in lib/Makefile src/Makefile src/liblzma/liblzma.pc src/liblzma/Makefile src/liblzma/api/Makefile src/xz/Makefile src/xzdec/Makefile src/lzmainfo/Makefile src/scripts/Makefile tests/Makefile debug/Makefile" - -ac_config_files="$ac_config_files src/scripts/xzdiff" - -ac_config_files="$ac_config_files src/scripts/xzgrep" - -ac_config_files="$ac_config_files src/scripts/xzmore" - -ac_config_files="$ac_config_files src/scripts/xzless" - - -cat >confcache <<\_ACEOF -# This file is a shell script that caches the results of configure -# tests run on this system so they can be shared between configure -# scripts and configure runs, see configure's option --config-cache. -# It is not useful on other systems. If it contains results you don't -# want to keep, you may remove or edit it. -# -# config.status only pays attention to the cache file if you give it -# the --recheck option to rerun configure. -# -# `ac_cv_env_foo' variables (set or unset) will be overridden when -# loading this file, other *unset* `ac_cv_foo' will be assigned the -# following values. - -_ACEOF - -# The following way of writing the cache mishandles newlines in values, -# but we know of no workaround that is simple, portable, and efficient. -# So, we kill variables containing newlines. -# Ultrix sh set writes to stderr and can't be redirected directly, -# and sets the high bit in the cache file unless we assign to the vars. -( - for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - - (set) 2>&1 | - case $as_nl`(ac_space=' '; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - # `set' does not quote correctly, so add quotes: double-quote - # substitution turns \\\\ into \\, and sed turns \\ into \. - sed -n \ - "s/'/'\\\\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" - ;; #( - *) - # `set' quotes correctly as required by POSIX, so do not add quotes. - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) | - sed ' - /^ac_cv_env_/b end - t clear - :clear - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ - t end - s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ - :end' >>confcache -if diff "$cache_file" confcache >/dev/null 2>&1; then :; else - if test -w "$cache_file"; then - if test "x$cache_file" != "x/dev/null"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 -$as_echo "$as_me: updating cache $cache_file" >&6;} - if test ! -f "$cache_file" || test -h "$cache_file"; then - cat confcache >"$cache_file" - else - case $cache_file in #( - */* | ?:*) - mv -f confcache "$cache_file"$$ && - mv -f "$cache_file"$$ "$cache_file" ;; #( - *) - mv -f confcache "$cache_file" ;; - esac - fi - fi - else - { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 -$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} - fi -fi -rm -f confcache - -test "x$prefix" = xNONE && prefix=$ac_default_prefix -# Let make expand exec_prefix. -test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' - -DEFS=-DHAVE_CONFIG_H - -ac_libobjs= -ac_ltlibobjs= -U= -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue - # 1. Remove the extension, and $U if already installed. - ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' - ac_i=`$as_echo "$ac_i" | sed "$ac_script"` - # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR - # will be set to the directory where LIBOBJS objects are built. - as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" - as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' -done -LIBOBJS=$ac_libobjs - -LTLIBOBJS=$ac_ltlibobjs - - -if test -z "${COND_W32_TRUE}" && test -z "${COND_W32_FALSE}"; then - as_fn_error $? "conditional \"COND_W32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_MAIN_ENCODER_TRUE}" && test -z "${COND_MAIN_ENCODER_FALSE}"; then - as_fn_error $? "conditional \"COND_MAIN_ENCODER\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_MAIN_DECODER_TRUE}" && test -z "${COND_MAIN_DECODER_FALSE}"; then - as_fn_error $? "conditional \"COND_MAIN_DECODER\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_LZMA1_TRUE}" && test -z "${COND_FILTER_LZMA1_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_LZMA1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_LZMA1_TRUE}" && test -z "${COND_ENCODER_LZMA1_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_LZMA1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_LZMA1_TRUE}" && test -z "${COND_DECODER_LZMA1_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_LZMA1\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_LZMA2_TRUE}" && test -z "${COND_FILTER_LZMA2_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_LZMA2\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_LZMA2_TRUE}" && test -z "${COND_ENCODER_LZMA2_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_LZMA2\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_LZMA2_TRUE}" && test -z "${COND_DECODER_LZMA2_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_LZMA2\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_DELTA_TRUE}" && test -z "${COND_FILTER_DELTA_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_DELTA\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_DELTA_TRUE}" && test -z "${COND_ENCODER_DELTA_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_DELTA\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_DELTA_TRUE}" && test -z "${COND_DECODER_DELTA_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_DELTA\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_X86_TRUE}" && test -z "${COND_FILTER_X86_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_X86\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_X86_TRUE}" && test -z "${COND_ENCODER_X86_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_X86\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_X86_TRUE}" && test -z "${COND_DECODER_X86_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_X86\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_POWERPC_TRUE}" && test -z "${COND_FILTER_POWERPC_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_POWERPC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_POWERPC_TRUE}" && test -z "${COND_ENCODER_POWERPC_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_POWERPC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_POWERPC_TRUE}" && test -z "${COND_DECODER_POWERPC_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_POWERPC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_IA64_TRUE}" && test -z "${COND_FILTER_IA64_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_IA64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_IA64_TRUE}" && test -z "${COND_ENCODER_IA64_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_IA64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_IA64_TRUE}" && test -z "${COND_DECODER_IA64_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_IA64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_ARM_TRUE}" && test -z "${COND_FILTER_ARM_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_ARM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_ARM_TRUE}" && test -z "${COND_ENCODER_ARM_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_ARM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_ARM_TRUE}" && test -z "${COND_DECODER_ARM_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_ARM\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_ARMTHUMB_TRUE}" && test -z "${COND_FILTER_ARMTHUMB_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_ARMTHUMB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_ARMTHUMB_TRUE}" && test -z "${COND_ENCODER_ARMTHUMB_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_ARMTHUMB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_ARMTHUMB_TRUE}" && test -z "${COND_DECODER_ARMTHUMB_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_ARMTHUMB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_SPARC_TRUE}" && test -z "${COND_FILTER_SPARC_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_SPARC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_SPARC_TRUE}" && test -z "${COND_ENCODER_SPARC_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_SPARC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_SPARC_TRUE}" && test -z "${COND_DECODER_SPARC_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_SPARC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_SIMPLE_TRUE}" && test -z "${COND_FILTER_SIMPLE_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_SIMPLE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_SIMPLE_TRUE}" && test -z "${COND_ENCODER_SIMPLE_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_SIMPLE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_SIMPLE_TRUE}" && test -z "${COND_DECODER_SIMPLE_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_SIMPLE\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_FILTER_LZ_TRUE}" && test -z "${COND_FILTER_LZ_FALSE}"; then - as_fn_error $? "conditional \"COND_FILTER_LZ\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ENCODER_LZ_TRUE}" && test -z "${COND_ENCODER_LZ_FALSE}"; then - as_fn_error $? "conditional \"COND_ENCODER_LZ\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_DECODER_LZ_TRUE}" && test -z "${COND_DECODER_LZ_FALSE}"; then - as_fn_error $? "conditional \"COND_DECODER_LZ\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_CHECK_CRC32_TRUE}" && test -z "${COND_CHECK_CRC32_FALSE}"; then - as_fn_error $? "conditional \"COND_CHECK_CRC32\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_CHECK_CRC64_TRUE}" && test -z "${COND_CHECK_CRC64_FALSE}"; then - as_fn_error $? "conditional \"COND_CHECK_CRC64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_CHECK_SHA256_TRUE}" && test -z "${COND_CHECK_SHA256_FALSE}"; then - as_fn_error $? "conditional \"COND_CHECK_SHA256\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ASM_X86_TRUE}" && test -z "${COND_ASM_X86_FALSE}"; then - as_fn_error $? "conditional \"COND_ASM_X86\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_ASM_X86_64_TRUE}" && test -z "${COND_ASM_X86_64_FALSE}"; then - as_fn_error $? "conditional \"COND_ASM_X86_64\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_SMALL_TRUE}" && test -z "${COND_SMALL_FALSE}"; then - as_fn_error $? "conditional \"COND_SMALL\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_XZ_TRUE}" && test -z "${COND_XZ_FALSE}"; then - as_fn_error $? "conditional \"COND_XZ\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_XZDEC_TRUE}" && test -z "${COND_XZDEC_FALSE}"; then - as_fn_error $? "conditional \"COND_XZDEC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_LZMADEC_TRUE}" && test -z "${COND_LZMADEC_FALSE}"; then - as_fn_error $? "conditional \"COND_LZMADEC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_LZMAINFO_TRUE}" && test -z "${COND_LZMAINFO_FALSE}"; then - as_fn_error $? "conditional \"COND_LZMAINFO\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_LZMALINKS_TRUE}" && test -z "${COND_LZMALINKS_FALSE}"; then - as_fn_error $? "conditional \"COND_LZMALINKS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_SCRIPTS_TRUE}" && test -z "${COND_SCRIPTS_FALSE}"; then - as_fn_error $? "conditional \"COND_SCRIPTS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 -$as_echo_n "checking that generated files are newer than configure... " >&6; } - if test -n "$am_sleep_pid"; then - # Hide warnings about reused PIDs. - wait $am_sleep_pid 2>/dev/null - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 -$as_echo "done" >&6; } - if test -n "$EXEEXT"; then - am__EXEEXT_TRUE= - am__EXEEXT_FALSE='#' -else - am__EXEEXT_TRUE='#' - am__EXEEXT_FALSE= -fi - -if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then - as_fn_error $? "conditional \"AMDEP\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCC\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${am__fastdepCCAS_TRUE}" && test -z "${am__fastdepCCAS_FALSE}"; then - as_fn_error $? "conditional \"am__fastdepCCAS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${COND_SHARED_TRUE}" && test -z "${COND_SHARED_FALSE}"; then - as_fn_error $? "conditional \"COND_SHARED\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -if test -z "${COND_GNULIB_TRUE}" && test -z "${COND_GNULIB_FALSE}"; then - as_fn_error $? "conditional \"COND_GNULIB\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi - -: "${CONFIG_STATUS=./config.status}" -ac_write_fail=0 -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files $CONFIG_STATUS" -{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 -$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} -as_write_fail=0 -cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 -#! $SHELL -# Generated by $as_me. -# Run this file to recreate the current configuration. -# Compiler output produced by configure, useful for debugging -# configure, is in config.log if it exists. - -debug=false -ac_cs_recheck=false -ac_cs_silent=false - -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -pR'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -pR' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -pR' - fi -else - as_ln_s='cp -pR' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - - -# as_fn_executable_p FILE -# ----------------------- -# Test if FILE is an executable regular file. -as_fn_executable_p () -{ - test -f "$1" && test -x "$1" -} # as_fn_executable_p -as_test_x='test -x' -as_executable_p=as_fn_executable_p - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -exec 6>&1 -## ----------------------------------- ## -## Main body of $CONFIG_STATUS script. ## -## ----------------------------------- ## -_ASEOF -test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# Save the log message, to keep $0 and so on meaningful, and to -# report actual input values of CONFIG_FILES etc. instead of their -# values after options handling. -ac_log=" -This file was extended by XZ Utils $as_me 5.0.5, which was -generated by GNU Autoconf 2.69. Invocation command line was - - CONFIG_FILES = $CONFIG_FILES - CONFIG_HEADERS = $CONFIG_HEADERS - CONFIG_LINKS = $CONFIG_LINKS - CONFIG_COMMANDS = $CONFIG_COMMANDS - $ $0 $@ - -on `(hostname || uname -n) 2>/dev/null | sed 1q` -" - -_ACEOF - -case $ac_config_files in *" -"*) set x $ac_config_files; shift; ac_config_files=$*;; -esac - -case $ac_config_headers in *" -"*) set x $ac_config_headers; shift; ac_config_headers=$*;; -esac - - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# Files that config.status was made for. -config_files="$ac_config_files" -config_headers="$ac_config_headers" -config_commands="$ac_config_commands" - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -ac_cs_usage="\ -\`$as_me' instantiates files and other configuration actions -from templates according to the current configuration. Unless the files -and actions are specified as TAGs, all are instantiated by default. - -Usage: $0 [OPTION]... [TAG]... - - -h, --help print this help, then exit - -V, --version print version number and configuration settings, then exit - --config print configuration, then exit - -q, --quiet, --silent - do not print progress messages - -d, --debug don't remove temporary files - --recheck update $as_me by reconfiguring in the same conditions - --file=FILE[:TEMPLATE] - instantiate the configuration file FILE - --header=FILE[:TEMPLATE] - instantiate the configuration header FILE - -Configuration files: -$config_files - -Configuration headers: -$config_headers - -Configuration commands: -$config_commands - -Report bugs to . -XZ Utils home page: ." - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" -ac_cs_version="\\ -XZ Utils config.status 5.0.5 -configured by $0, generated by GNU Autoconf 2.69, - with options \\"\$ac_cs_config\\" - -Copyright (C) 2012 Free Software Foundation, Inc. -This config.status script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it." - -ac_pwd='$ac_pwd' -srcdir='$srcdir' -INSTALL='$INSTALL' -MKDIR_P='$MKDIR_P' -AWK='$AWK' -test -n "\$AWK" || AWK=awk -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# The default lists apply if the user does not specify any file. -ac_need_defaults=: -while test $# != 0 -do - case $1 in - --*=?*) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` - ac_shift=: - ;; - --*=) - ac_option=`expr "X$1" : 'X\([^=]*\)='` - ac_optarg= - ac_shift=: - ;; - *) - ac_option=$1 - ac_optarg=$2 - ac_shift=shift - ;; - esac - - case $ac_option in - # Handling of the options. - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) - ac_cs_recheck=: ;; - --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) - $as_echo "$ac_cs_version"; exit ;; - --config | --confi | --conf | --con | --co | --c ) - $as_echo "$ac_cs_config"; exit ;; - --debug | --debu | --deb | --de | --d | -d ) - debug=: ;; - --file | --fil | --fi | --f ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - '') as_fn_error $? "missing file argument" ;; - esac - as_fn_append CONFIG_FILES " '$ac_optarg'" - ac_need_defaults=false;; - --header | --heade | --head | --hea ) - $ac_shift - case $ac_optarg in - *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - as_fn_append CONFIG_HEADERS " '$ac_optarg'" - ac_need_defaults=false;; - --he | --h) - # Conflict between --help and --header - as_fn_error $? "ambiguous option: \`$1' -Try \`$0 --help' for more information.";; - --help | --hel | -h ) - $as_echo "$ac_cs_usage"; exit ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil | --si | --s) - ac_cs_silent=: ;; - - # This is an error. - -*) as_fn_error $? "unrecognized option: \`$1' -Try \`$0 --help' for more information." ;; - - *) as_fn_append ac_config_targets " $1" - ac_need_defaults=false ;; - - esac - shift -done - -ac_configure_extra_args= - -if $ac_cs_silent; then - exec 6>/dev/null - ac_configure_extra_args="$ac_configure_extra_args --silent" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -if \$ac_cs_recheck; then - set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion - shift - \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 - CONFIG_SHELL='$SHELL' - export CONFIG_SHELL - exec "\$@" -fi - -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -exec 5>>config.log -{ - echo - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX -## Running $as_me. ## -_ASBOX - $as_echo "$ac_log" -} >&5 - -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -# -# INIT-COMMANDS -# -AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" - - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' -macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' -AS='`$ECHO "$AS" | $SED "$delay_single_quote_subst"`' -DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' -OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' -enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' -enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' -pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' -enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' -SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' -ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' -PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' -host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' -host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' -host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' -build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' -build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' -build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' -SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' -Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' -GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' -EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' -FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' -LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' -NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' -LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' -max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' -ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' -exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' -lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' -lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' -lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' -lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' -lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' -reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' -reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' -deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' -file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' -file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' -want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' -sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' -AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' -AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' -archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' -STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' -RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' -old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' -old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' -lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' -CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' -CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' -compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' -GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' -nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' -lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' -objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' -MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' -need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' -MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' -DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' -NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' -LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' -OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' -OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' -libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' -shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' -extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' -compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' -archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' -module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' -with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' -no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' -hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' -hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' -inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' -link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' -always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' -exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' -include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' -prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' -postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' -file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' -variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' -need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' -need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' -version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' -runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' -shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' -libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' -library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' -soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' -install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' -postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' -postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' -finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' -finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' -hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' -sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' -sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' -hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' -enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' -enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' -old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' -striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' -LD_RC='`$ECHO "$LD_RC" | $SED "$delay_single_quote_subst"`' -reload_flag_RC='`$ECHO "$reload_flag_RC" | $SED "$delay_single_quote_subst"`' -reload_cmds_RC='`$ECHO "$reload_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_cmds_RC='`$ECHO "$old_archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -compiler_RC='`$ECHO "$compiler_RC" | $SED "$delay_single_quote_subst"`' -GCC_RC='`$ECHO "$GCC_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_no_builtin_flag_RC='`$ECHO "$lt_prog_compiler_no_builtin_flag_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_pic_RC='`$ECHO "$lt_prog_compiler_pic_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_wl_RC='`$ECHO "$lt_prog_compiler_wl_RC" | $SED "$delay_single_quote_subst"`' -lt_prog_compiler_static_RC='`$ECHO "$lt_prog_compiler_static_RC" | $SED "$delay_single_quote_subst"`' -lt_cv_prog_compiler_c_o_RC='`$ECHO "$lt_cv_prog_compiler_c_o_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_need_lc_RC='`$ECHO "$archive_cmds_need_lc_RC" | $SED "$delay_single_quote_subst"`' -enable_shared_with_static_runtimes_RC='`$ECHO "$enable_shared_with_static_runtimes_RC" | $SED "$delay_single_quote_subst"`' -export_dynamic_flag_spec_RC='`$ECHO "$export_dynamic_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -whole_archive_flag_spec_RC='`$ECHO "$whole_archive_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -compiler_needs_object_RC='`$ECHO "$compiler_needs_object_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_new_cmds_RC='`$ECHO "$old_archive_from_new_cmds_RC" | $SED "$delay_single_quote_subst"`' -old_archive_from_expsyms_cmds_RC='`$ECHO "$old_archive_from_expsyms_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_cmds_RC='`$ECHO "$archive_cmds_RC" | $SED "$delay_single_quote_subst"`' -archive_expsym_cmds_RC='`$ECHO "$archive_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_cmds_RC='`$ECHO "$module_cmds_RC" | $SED "$delay_single_quote_subst"`' -module_expsym_cmds_RC='`$ECHO "$module_expsym_cmds_RC" | $SED "$delay_single_quote_subst"`' -with_gnu_ld_RC='`$ECHO "$with_gnu_ld_RC" | $SED "$delay_single_quote_subst"`' -allow_undefined_flag_RC='`$ECHO "$allow_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -no_undefined_flag_RC='`$ECHO "$no_undefined_flag_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_flag_spec_RC='`$ECHO "$hardcode_libdir_flag_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_libdir_separator_RC='`$ECHO "$hardcode_libdir_separator_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_RC='`$ECHO "$hardcode_direct_RC" | $SED "$delay_single_quote_subst"`' -hardcode_direct_absolute_RC='`$ECHO "$hardcode_direct_absolute_RC" | $SED "$delay_single_quote_subst"`' -hardcode_minus_L_RC='`$ECHO "$hardcode_minus_L_RC" | $SED "$delay_single_quote_subst"`' -hardcode_shlibpath_var_RC='`$ECHO "$hardcode_shlibpath_var_RC" | $SED "$delay_single_quote_subst"`' -hardcode_automatic_RC='`$ECHO "$hardcode_automatic_RC" | $SED "$delay_single_quote_subst"`' -inherit_rpath_RC='`$ECHO "$inherit_rpath_RC" | $SED "$delay_single_quote_subst"`' -link_all_deplibs_RC='`$ECHO "$link_all_deplibs_RC" | $SED "$delay_single_quote_subst"`' -always_export_symbols_RC='`$ECHO "$always_export_symbols_RC" | $SED "$delay_single_quote_subst"`' -export_symbols_cmds_RC='`$ECHO "$export_symbols_cmds_RC" | $SED "$delay_single_quote_subst"`' -exclude_expsyms_RC='`$ECHO "$exclude_expsyms_RC" | $SED "$delay_single_quote_subst"`' -include_expsyms_RC='`$ECHO "$include_expsyms_RC" | $SED "$delay_single_quote_subst"`' -prelink_cmds_RC='`$ECHO "$prelink_cmds_RC" | $SED "$delay_single_quote_subst"`' -postlink_cmds_RC='`$ECHO "$postlink_cmds_RC" | $SED "$delay_single_quote_subst"`' -file_list_spec_RC='`$ECHO "$file_list_spec_RC" | $SED "$delay_single_quote_subst"`' -hardcode_action_RC='`$ECHO "$hardcode_action_RC" | $SED "$delay_single_quote_subst"`' - -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in AS \ -DLLTOOL \ -OBJDUMP \ -SHELL \ -ECHO \ -PATH_SEPARATOR \ -SED \ -GREP \ -EGREP \ -FGREP \ -LD \ -NM \ -LN_S \ -lt_SP2NL \ -lt_NL2SP \ -reload_flag \ -deplibs_check_method \ -file_magic_cmd \ -file_magic_glob \ -want_nocaseglob \ -sharedlib_from_linklib_cmd \ -AR \ -AR_FLAGS \ -archiver_list_spec \ -STRIP \ -RANLIB \ -CC \ -CFLAGS \ -compiler \ -lt_cv_sys_global_symbol_pipe \ -lt_cv_sys_global_symbol_to_cdecl \ -lt_cv_sys_global_symbol_to_c_name_address \ -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ -nm_file_list_spec \ -lt_prog_compiler_no_builtin_flag \ -lt_prog_compiler_pic \ -lt_prog_compiler_wl \ -lt_prog_compiler_static \ -lt_cv_prog_compiler_c_o \ -need_locks \ -MANIFEST_TOOL \ -DSYMUTIL \ -NMEDIT \ -LIPO \ -OTOOL \ -OTOOL64 \ -shrext_cmds \ -export_dynamic_flag_spec \ -whole_archive_flag_spec \ -compiler_needs_object \ -with_gnu_ld \ -allow_undefined_flag \ -no_undefined_flag \ -hardcode_libdir_flag_spec \ -hardcode_libdir_separator \ -exclude_expsyms \ -include_expsyms \ -file_list_spec \ -variables_saved_for_relink \ -libname_spec \ -library_names_spec \ -soname_spec \ -install_override_mode \ -finish_eval \ -old_striplib \ -striplib \ -LD_RC \ -reload_flag_RC \ -compiler_RC \ -lt_prog_compiler_no_builtin_flag_RC \ -lt_prog_compiler_pic_RC \ -lt_prog_compiler_wl_RC \ -lt_prog_compiler_static_RC \ -lt_cv_prog_compiler_c_o_RC \ -export_dynamic_flag_spec_RC \ -whole_archive_flag_spec_RC \ -compiler_needs_object_RC \ -with_gnu_ld_RC \ -allow_undefined_flag_RC \ -no_undefined_flag_RC \ -hardcode_libdir_flag_spec_RC \ -hardcode_libdir_separator_RC \ -exclude_expsyms_RC \ -include_expsyms_RC \ -file_list_spec_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in reload_cmds \ -old_postinstall_cmds \ -old_postuninstall_cmds \ -old_archive_cmds \ -extract_expsyms_cmds \ -old_archive_from_new_cmds \ -old_archive_from_expsyms_cmds \ -archive_cmds \ -archive_expsym_cmds \ -module_cmds \ -module_expsym_cmds \ -export_symbols_cmds \ -prelink_cmds \ -postlink_cmds \ -postinstall_cmds \ -postuninstall_cmds \ -finish_cmds \ -sys_lib_search_path_spec \ -sys_lib_dlsearch_path_spec \ -reload_cmds_RC \ -old_archive_cmds_RC \ -old_archive_from_new_cmds_RC \ -old_archive_from_expsyms_cmds_RC \ -archive_cmds_RC \ -archive_expsym_cmds_RC \ -module_cmds_RC \ -module_expsym_cmds_RC \ -export_symbols_cmds_RC \ -prelink_cmds_RC \ -postlink_cmds_RC; do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[\\\\\\\`\\"\\\$]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -ac_aux_dir='$ac_aux_dir' -xsi_shell='$xsi_shell' -lt_shell_append='$lt_shell_append' - -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - - - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile' - - - - - -# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - - -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - -# Handling of arguments. -for ac_config_target in $ac_config_targets -do - case $ac_config_target in - "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; - "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; - "po-directories") CONFIG_COMMANDS="$CONFIG_COMMANDS po-directories" ;; - "Doxyfile") CONFIG_FILES="$CONFIG_FILES Doxyfile" ;; - "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; - "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; - "lib/Makefile") CONFIG_FILES="$CONFIG_FILES lib/Makefile" ;; - "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; - "src/liblzma/liblzma.pc") CONFIG_FILES="$CONFIG_FILES src/liblzma/liblzma.pc" ;; - "src/liblzma/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/Makefile" ;; - "src/liblzma/api/Makefile") CONFIG_FILES="$CONFIG_FILES src/liblzma/api/Makefile" ;; - "src/xz/Makefile") CONFIG_FILES="$CONFIG_FILES src/xz/Makefile" ;; - "src/xzdec/Makefile") CONFIG_FILES="$CONFIG_FILES src/xzdec/Makefile" ;; - "src/lzmainfo/Makefile") CONFIG_FILES="$CONFIG_FILES src/lzmainfo/Makefile" ;; - "src/scripts/Makefile") CONFIG_FILES="$CONFIG_FILES src/scripts/Makefile" ;; - "tests/Makefile") CONFIG_FILES="$CONFIG_FILES tests/Makefile" ;; - "debug/Makefile") CONFIG_FILES="$CONFIG_FILES debug/Makefile" ;; - "src/scripts/xzdiff") CONFIG_FILES="$CONFIG_FILES src/scripts/xzdiff" ;; - "src/scripts/xzgrep") CONFIG_FILES="$CONFIG_FILES src/scripts/xzgrep" ;; - "src/scripts/xzmore") CONFIG_FILES="$CONFIG_FILES src/scripts/xzmore" ;; - "src/scripts/xzless") CONFIG_FILES="$CONFIG_FILES src/scripts/xzless" ;; - - *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; - esac -done - - -# If the user did not use the arguments to specify the items to instantiate, -# then the envvar interface is used. Set only those that are not. -# We use the long form for the default assignment because of an extremely -# bizarre bug on SunOS 4.1.3. -if $ac_need_defaults; then - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files - test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers - test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands -fi - -# Have a temporary directory for convenience. Make it in the build tree -# simply because there is no reason against having it here, and in addition, -# creating and moving files from /tmp can sometimes cause problems. -# Hook for its removal unless debugging. -# Note that there is a small window in which the directory will not be cleaned: -# after its creation but before its name has been assigned to `$tmp'. -$debug || -{ - tmp= ac_tmp= - trap 'exit_status=$? - : "${ac_tmp:=$tmp}" - { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status -' 0 - trap 'as_fn_exit 1' 1 2 13 15 -} -# Create a (secure) tmp directory for tmp files. - -{ - tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && - test -d "$tmp" -} || -{ - tmp=./conf$$-$RANDOM - (umask 077 && mkdir "$tmp") -} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 -ac_tmp=$tmp - -# Set up the scripts for CONFIG_FILES section. -# No need to generate them if there are no CONFIG_FILES. -# This happens for instance with `./config.status config.h'. -if test -n "$CONFIG_FILES"; then - - -ac_cr=`echo X | tr X '\015'` -# On cygwin, bash can eat \r inside `` if the user requested igncr. -# But we know of no other shell where ac_cr would be empty at this -# point, so we can use a bashism as a fallback. -if test "x$ac_cr" = x; then - eval ac_cr=\$\'\\r\' -fi -ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` -if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then - ac_cs_awk_cr='\\r' -else - ac_cs_awk_cr=$ac_cr -fi - -echo 'BEGIN {' >"$ac_tmp/subs1.awk" && -_ACEOF - - -{ - echo "cat >conf$$subs.awk <<_ACEOF" && - echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && - echo "_ACEOF" -} >conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 -ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` -ac_delim='%!_!# ' -for ac_last_try in false false false false false :; do - . ./conf$$subs.sh || - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - - ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` - if test $ac_delim_n = $ac_delim_num; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done -rm -f conf$$subs.sh - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && -_ACEOF -sed -n ' -h -s/^/S["/; s/!.*/"]=/ -p -g -s/^[^!]*!// -:repl -t repl -s/'"$ac_delim"'$// -t delim -:nl -h -s/\(.\{148\}\)..*/\1/ -t more1 -s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ -p -n -b repl -:more1 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t nl -:delim -h -s/\(.\{148\}\)..*/\1/ -t more2 -s/["\\]/\\&/g; s/^/"/; s/$/"/ -p -b -:more2 -s/["\\]/\\&/g; s/^/"/; s/$/"\\/ -p -g -s/.\{148\}// -t delim -' >$CONFIG_STATUS || ac_write_fail=1 -rm -f conf$$subs.awk -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -_ACAWK -cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && - for (key in S) S_is_set[key] = 1 - FS = "" - -} -{ - line = $ 0 - nfields = split(line, field, "@") - substed = 0 - len = length(field[1]) - for (i = 2; i < nfields; i++) { - key = field[i] - keylen = length(key) - if (S_is_set[key]) { - value = S[key] - line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) - len += length(value) + length(field[++i]) - substed = 1 - } else - len += 1 + keylen - } - - print line -} - -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then - sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" -else - cat -fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ - || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 -_ACEOF - -# VPATH may cause trouble with some makes, so we remove sole $(srcdir), -# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and -# trailing colons and then remove the whole line if VPATH becomes empty -# (actually we leave an empty line to preserve line numbers). -if test "x$srcdir" = x.; then - ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ -h -s/// -s/^/:/ -s/[ ]*$/:/ -s/:\$(srcdir):/:/g -s/:\${srcdir}:/:/g -s/:@srcdir@:/:/g -s/^:*// -s/:*$// -x -s/\(=[ ]*\).*/\1/ -G -s/\n// -s/^[^=]*=[ ]*$// -}' -fi - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -fi # test -n "$CONFIG_FILES" - -# Set up the scripts for CONFIG_HEADERS section. -# No need to generate them if there are no CONFIG_HEADERS. -# This happens for instance with `./config.status Makefile'. -if test -n "$CONFIG_HEADERS"; then -cat >"$ac_tmp/defines.awk" <<\_ACAWK || -BEGIN { -_ACEOF - -# Transform confdefs.h into an awk script `defines.awk', embedded as -# here-document in config.status, that substitutes the proper values into -# config.h.in to produce config.h. - -# Create a delimiter string that does not exist in confdefs.h, to ease -# handling of long lines. -ac_delim='%!_!# ' -for ac_last_try in false false :; do - ac_tt=`sed -n "/$ac_delim/p" confdefs.h` - if test -z "$ac_tt"; then - break - elif $ac_last_try; then - as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 - else - ac_delim="$ac_delim!$ac_delim _$ac_delim!! " - fi -done - -# For the awk script, D is an array of macro values keyed by name, -# likewise P contains macro parameters if any. Preserve backslash -# newline sequences. - -ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* -sed -n ' -s/.\{148\}/&'"$ac_delim"'/g -t rset -:rset -s/^[ ]*#[ ]*define[ ][ ]*/ / -t def -d -:def -s/\\$// -t bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3"/p -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p -d -:bsnl -s/["\\]/\\&/g -s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ -D["\1"]=" \3\\\\\\n"\\/p -t cont -s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p -t cont -d -:cont -n -s/.\{148\}/&'"$ac_delim"'/g -t clear -:clear -s/\\$// -t bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/"/p -d -:bsnlc -s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p -b cont -' >$CONFIG_STATUS || ac_write_fail=1 - -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - for (key in D) D_is_set[key] = 1 - FS = "" -} -/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { - line = \$ 0 - split(line, arg, " ") - if (arg[1] == "#") { - defundef = arg[2] - mac1 = arg[3] - } else { - defundef = substr(arg[1], 2) - mac1 = arg[2] - } - split(mac1, mac2, "(") #) - macro = mac2[1] - prefix = substr(line, 1, index(line, defundef) - 1) - if (D_is_set[macro]) { - # Preserve the white space surrounding the "#". - print prefix "define", macro P[macro] D[macro] - next - } else { - # Replace #undef with comments. This is necessary, for example, - # in the case of _POSIX_SOURCE, which is predefined and required - # on some systems where configure will not decide to define it. - if (defundef == "undef") { - print "/*", prefix defundef, macro, "*/" - next - } - } -} -{ print } -_ACAWK -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 - as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 -fi # test -n "$CONFIG_HEADERS" - - -eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS" -shift -for ac_tag -do - case $ac_tag in - :[FHLC]) ac_mode=$ac_tag; continue;; - esac - case $ac_mode$ac_tag in - :[FHL]*:*);; - :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; - :[FH]-) ac_tag=-:-;; - :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; - esac - ac_save_IFS=$IFS - IFS=: - set x $ac_tag - IFS=$ac_save_IFS - shift - ac_file=$1 - shift - - case $ac_mode in - :L) ac_source=$1;; - :[FH]) - ac_file_inputs= - for ac_f - do - case $ac_f in - -) ac_f="$ac_tmp/stdin";; - *) # Look for the file first in the build tree, then in the source tree - # (if the path is not absolute). The absolute path cannot be DOS-style, - # because $ac_f cannot contain `:'. - test -f "$ac_f" || - case $ac_f in - [\\/$]*) false;; - *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; - esac || - as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; - esac - case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac - as_fn_append ac_file_inputs " '$ac_f'" - done - - # Let's still pretend it is `configure' which instantiates (i.e., don't - # use $as_me), people would be surprised to read: - # /* config.h. Generated by config.status. */ - configure_input='Generated from '` - $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' - `' by configure.' - if test x"$ac_file" != x-; then - configure_input="$ac_file. $configure_input" - { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 -$as_echo "$as_me: creating $ac_file" >&6;} - fi - # Neutralize special characters interpreted by sed in replacement strings. - case $configure_input in #( - *\&* | *\|* | *\\* ) - ac_sed_conf_input=`$as_echo "$configure_input" | - sed 's/[\\\\&|]/\\\\&/g'`;; #( - *) ac_sed_conf_input=$configure_input;; - esac - - case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; - esac - ;; - esac - - ac_dir=`$as_dirname -- "$ac_file" || -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$ac_file" : 'X\(//\)[^/]' \| \ - X"$ac_file" : 'X\(//\)$' \| \ - X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$ac_file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir="$ac_dir"; as_fn_mkdir_p - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - - case $ac_mode in - :F) - # - # CONFIG_FILE - # - - case $INSTALL in - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; - *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; - esac - ac_MKDIR_P=$MKDIR_P - case $MKDIR_P in - [\\/$]* | ?:[\\/]* ) ;; - */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; - esac -_ACEOF - -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -# If the template does not know about datarootdir, expand it. -# FIXME: This hack should be removed a few years after 2.60. -ac_datarootdir_hack=; ac_datarootdir_seen= -ac_sed_dataroot=' -/datarootdir/ { - p - q -} -/@datadir@/p -/@docdir@/p -/@infodir@/p -/@localedir@/p -/@mandir@/p' -case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in -*datarootdir*) ac_datarootdir_seen=yes;; -*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 -$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} -_ACEOF -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 - ac_datarootdir_hack=' - s&@datadir@&$datadir&g - s&@docdir@&$docdir&g - s&@infodir@&$infodir&g - s&@localedir@&$localedir&g - s&@mandir@&$mandir&g - s&\\\${datarootdir}&$datarootdir&g' ;; -esac -_ACEOF - -# Neutralize VPATH when `$srcdir' = `.'. -# Shell code in configure.ac might set extrasub. -# FIXME: do we really want to maintain this feature? -cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 -ac_sed_extra="$ac_vpsub -$extrasub -_ACEOF -cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 -:t -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b -s|@configure_input@|$ac_sed_conf_input|;t t -s&@top_builddir@&$ac_top_builddir_sub&;t t -s&@top_build_prefix@&$ac_top_build_prefix&;t t -s&@srcdir@&$ac_srcdir&;t t -s&@abs_srcdir@&$ac_abs_srcdir&;t t -s&@top_srcdir@&$ac_top_srcdir&;t t -s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t -s&@builddir@&$ac_builddir&;t t -s&@abs_builddir@&$ac_abs_builddir&;t t -s&@abs_top_builddir@&$ac_abs_top_builddir&;t t -s&@INSTALL@&$ac_INSTALL&;t t -s&@MKDIR_P@&$ac_MKDIR_P&;t t -$ac_datarootdir_hack -" -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - -test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&5 -$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' -which seems to be undefined. Please make sure it is defined" >&2;} - - rm -f "$ac_tmp/stdin" - case $ac_file in - -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; - *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; - esac \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - ;; - :H) - # - # CONFIG_HEADER - # - if test x"$ac_file" != x-; then - { - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" - } >"$ac_tmp/config.h" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then - { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 -$as_echo "$as_me: $ac_file is unchanged" >&6;} - else - rm -f "$ac_file" - mv "$ac_tmp/config.h" "$ac_file" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 - fi - else - $as_echo "/* $configure_input */" \ - && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ - || as_fn_error $? "could not create -" "$LINENO" 5 - fi -# Compute "$ac_file"'s index in $config_headers. -_am_arg="$ac_file" -_am_stamp_count=1 -for _am_header in $config_headers :; do - case $_am_header in - $_am_arg | $_am_arg:* ) - break ;; - * ) - _am_stamp_count=`expr $_am_stamp_count + 1` ;; - esac -done -echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || -$as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$_am_arg" : 'X\(//\)[^/]' \| \ - X"$_am_arg" : 'X\(//\)$' \| \ - X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$_am_arg" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'`/stamp-h$_am_stamp_count - ;; - - :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 -$as_echo "$as_me: executing $ac_file commands" >&6;} - ;; - esac - - - case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || { - # Older Autoconf quotes --file arguments for eval, but not when files - # are listed without --file. Let's play safe and only enable the eval - # if we detect the quoting. - case $CONFIG_FILES in - *\'*) eval set x "$CONFIG_FILES" ;; - *) set x $CONFIG_FILES ;; - esac - shift - for mf - do - # Strip MF so we end up with the name of the file. - mf=`echo "$mf" | sed -e 's/:.*$//'` - # Check whether this is an Automake generated Makefile or not. - # We used to match only the files named 'Makefile.in', but - # some people rename them; so instead we look at the file content. - # Grep'ing the first line is not enough: some people post-process - # each Makefile.in and add a new line on top of each file to say so. - # Grep'ing the whole file is not good either: AIX grep has a line - # limit of 2048, but all sed's we know have understand at least 4000. - if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then - dirpart=`$as_dirname -- "$mf" || -$as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$mf" : 'X\(//\)[^/]' \| \ - X"$mf" : 'X\(//\)$' \| \ - X"$mf" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$mf" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - else - continue - fi - # Extract the definition of DEPDIR, am__include, and am__quote - # from the Makefile without running 'make'. - DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` - test -z "$DEPDIR" && continue - am__include=`sed -n 's/^am__include = //p' < "$mf"` - test -z "$am__include" && continue - am__quote=`sed -n 's/^am__quote = //p' < "$mf"` - # Find all dependency output files, they are included files with - # $(DEPDIR) in their names. We invoke sed twice because it is the - # simplest approach to changing $(DEPDIR) to its actual value in the - # expansion. - for file in `sed -n " - s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ - sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do - # Make sure the directory exists. - test -f "$dirpart/$file" && continue - fdir=`$as_dirname -- "$file" || -$as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$file" : 'X\(//\)[^/]' \| \ - X"$file" : 'X\(//\)$' \| \ - X"$file" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$file" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - as_dir=$dirpart/$fdir; as_fn_mkdir_p - # echo "creating $dirpart/$file" - echo '# dummy' > "$dirpart/$file" - done - done -} - ;; - "libtool":C) - - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -# The names of the tagged configurations supported by this script. -available_tags="RC " - -# ### BEGIN LIBTOOL CONFIG - -# Which release of libtool.m4 was used? -macro_version=$macro_version -macro_revision=$macro_revision - -# Assembler program. -AS=$lt_AS - -# DLL creation program. -DLLTOOL=$lt_DLLTOOL - -# Object dumper program. -OBJDUMP=$lt_OBJDUMP - -# Whether or not to build shared libraries. -build_libtool_libs=$enable_shared - -# Whether or not to build static libraries. -build_old_libs=$enable_static - -# What type of objects to build. -pic_mode=$pic_mode - -# Whether or not to optimize for fast installation. -fast_install=$enable_fast_install - -# Shell to use when invoking shell scripts. -SHELL=$lt_SHELL - -# An echo program that protects backslashes. -ECHO=$lt_ECHO - -# The PATH separator for the build system. -PATH_SEPARATOR=$lt_PATH_SEPARATOR - -# The host system. -host_alias=$host_alias -host=$host -host_os=$host_os - -# The build system. -build_alias=$build_alias -build=$build -build_os=$build_os - -# A sed program that does not truncate output. -SED=$lt_SED - -# Sed that helps us avoid accidentally triggering echo(1) options like -n. -Xsed="\$SED -e 1s/^X//" - -# A grep program that handles long lines. -GREP=$lt_GREP - -# An ERE matcher. -EGREP=$lt_EGREP - -# A literal string matcher. -FGREP=$lt_FGREP - -# A BSD- or MS-compatible name lister. -NM=$lt_NM - -# Whether we need soft or hard links. -LN_S=$lt_LN_S - -# What is the maximum length of a command? -max_cmd_len=$max_cmd_len - -# Object file suffix (normally "o"). -objext=$ac_objext - -# Executable file suffix (normally ""). -exeext=$exeext - -# whether the shell understands "unset". -lt_unset=$lt_unset - -# turn spaces into newlines. -SP2NL=$lt_lt_SP2NL - -# turn newlines into spaces. -NL2SP=$lt_lt_NL2SP - -# convert \$build file names to \$host format. -to_host_file_cmd=$lt_cv_to_host_file_cmd - -# convert \$build files to toolchain format. -to_tool_file_cmd=$lt_cv_to_tool_file_cmd - -# Method to check whether dependent libraries are shared objects. -deplibs_check_method=$lt_deplibs_check_method - -# Command to use when deplibs_check_method = "file_magic". -file_magic_cmd=$lt_file_magic_cmd - -# How to find potential files when deplibs_check_method = "file_magic". -file_magic_glob=$lt_file_magic_glob - -# Find potential files using nocaseglob when deplibs_check_method = "file_magic". -want_nocaseglob=$lt_want_nocaseglob - -# Command to associate shared and link libraries. -sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd - -# The archiver. -AR=$lt_AR - -# Flags to create an archive. -AR_FLAGS=$lt_AR_FLAGS - -# How to feed a file listing to the archiver. -archiver_list_spec=$lt_archiver_list_spec - -# A symbol stripping program. -STRIP=$lt_STRIP - -# Commands used to install an old-style archive. -RANLIB=$lt_RANLIB -old_postinstall_cmds=$lt_old_postinstall_cmds -old_postuninstall_cmds=$lt_old_postuninstall_cmds - -# Whether to use a lock for old archive extraction. -lock_old_archive_extraction=$lock_old_archive_extraction - -# A C compiler. -LTCC=$lt_CC - -# LTCC compiler flags. -LTCFLAGS=$lt_CFLAGS - -# Take the output of nm and produce a listing of raw symbols and C names. -global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe - -# Transform the output of nm in a proper C declaration. -global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl - -# Transform the output of nm in a C name address pair. -global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address - -# Transform the output of nm in a C name address pair when lib prefix is needed. -global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix - -# Specify filename containing input files for \$NM. -nm_file_list_spec=$lt_nm_file_list_spec - -# The root where to search for dependent libraries,and in which our libraries should be installed. -lt_sysroot=$lt_sysroot - -# The name of the directory that contains temporary libtool files. -objdir=$objdir - -# Used to examine libraries when file_magic_cmd begins with "file". -MAGIC_CMD=$MAGIC_CMD - -# Must we lock files when doing compilation? -need_locks=$lt_need_locks - -# Manifest tool. -MANIFEST_TOOL=$lt_MANIFEST_TOOL - -# Tool to manipulate archived DWARF debug symbol files on Mac OS X. -DSYMUTIL=$lt_DSYMUTIL - -# Tool to change global to local symbols on Mac OS X. -NMEDIT=$lt_NMEDIT - -# Tool to manipulate fat objects and archives on Mac OS X. -LIPO=$lt_LIPO - -# ldd/readelf like tool for Mach-O binaries on Mac OS X. -OTOOL=$lt_OTOOL - -# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. -OTOOL64=$lt_OTOOL64 - -# Old archive suffix (normally "a"). -libext=$libext - -# Shared library suffix (normally ".so"). -shrext_cmds=$lt_shrext_cmds - -# The commands to extract the exported symbol list from a shared archive. -extract_expsyms_cmds=$lt_extract_expsyms_cmds - -# Variables whose values should be saved in libtool wrapper scripts and -# restored at link time. -variables_saved_for_relink=$lt_variables_saved_for_relink - -# Do we need the "lib" prefix for modules? -need_lib_prefix=$need_lib_prefix - -# Do we need a version for libraries? -need_version=$need_version - -# Library versioning type. -version_type=$version_type - -# Shared library runtime path variable. -runpath_var=$runpath_var - -# Shared library path variable. -shlibpath_var=$shlibpath_var - -# Is shlibpath searched before the hard-coded library search path? -shlibpath_overrides_runpath=$shlibpath_overrides_runpath - -# Format of library name prefix. -libname_spec=$lt_libname_spec - -# List of archive names. First name is the real one, the rest are links. -# The last name is the one that the linker finds with -lNAME -library_names_spec=$lt_library_names_spec - -# The coded name of the library, if different from the real name. -soname_spec=$lt_soname_spec - -# Permission mode override for installation of shared libraries. -install_override_mode=$lt_install_override_mode - -# Command to use after installation of a shared archive. -postinstall_cmds=$lt_postinstall_cmds - -# Command to use after uninstallation of a shared archive. -postuninstall_cmds=$lt_postuninstall_cmds - -# Commands used to finish a libtool library installation in a directory. -finish_cmds=$lt_finish_cmds - -# As "finish_cmds", except a single script fragment to be evaled but -# not shown. -finish_eval=$lt_finish_eval - -# Whether we should hardcode library paths into libraries. -hardcode_into_libs=$hardcode_into_libs - -# Compile-time system search path for libraries. -sys_lib_search_path_spec=$lt_sys_lib_search_path_spec - -# Run-time system search path for libraries. -sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec - -# Whether dlopen is supported. -dlopen_support=$enable_dlopen - -# Whether dlopen of programs is supported. -dlopen_self=$enable_dlopen_self - -# Whether dlopen of statically linked programs is supported. -dlopen_self_static=$enable_dlopen_self_static - -# Commands to strip libraries. -old_striplib=$lt_old_striplib -striplib=$lt_striplib - - -# The linker used to build libraries. -LD=$lt_LD - -# How to create reloadable object files. -reload_flag=$lt_reload_flag -reload_cmds=$lt_reload_cmds - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds - -# A language specific compiler. -CC=$lt_compiler - -# Is the compiler the GNU compiler? -with_gcc=$GCC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds -archive_expsym_cmds=$lt_archive_expsym_cmds - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds -module_expsym_cmds=$lt_module_expsym_cmds - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action - -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - -ltmain="$ac_aux_dir/ltmain.sh" - - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - if test x"$xsi_shell" = xyes; then - sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ -func_dirname ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -} # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_basename ()$/,/^} # func_basename /c\ -func_basename ()\ -{\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ -func_dirname_and_basename ()\ -{\ -\ case ${1} in\ -\ */*) func_dirname_result="${1%/*}${2}" ;;\ -\ * ) func_dirname_result="${3}" ;;\ -\ esac\ -\ func_basename_result="${1##*/}"\ -} # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ -func_stripname ()\ -{\ -\ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ -\ # positional parameters, so assign one to ordinary parameter first.\ -\ func_stripname_result=${3}\ -\ func_stripname_result=${func_stripname_result#"${1}"}\ -\ func_stripname_result=${func_stripname_result%"${2}"}\ -} # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ -func_split_long_opt ()\ -{\ -\ func_split_long_opt_name=${1%%=*}\ -\ func_split_long_opt_arg=${1#*=}\ -} # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ -func_split_short_opt ()\ -{\ -\ func_split_short_opt_arg=${1#??}\ -\ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ -} # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ -func_lo2o ()\ -{\ -\ case ${1} in\ -\ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ -\ *) func_lo2o_result=${1} ;;\ -\ esac\ -} # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_xform ()$/,/^} # func_xform /c\ -func_xform ()\ -{\ - func_xform_result=${1%.*}.lo\ -} # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_arith ()$/,/^} # func_arith /c\ -func_arith ()\ -{\ - func_arith_result=$(( $* ))\ -} # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_len ()$/,/^} # func_len /c\ -func_len ()\ -{\ - func_len_result=${#1}\ -} # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - -fi - -if test x"$lt_shell_append" = xyes; then - sed -e '/^func_append ()$/,/^} # func_append /c\ -func_append ()\ -{\ - eval "${1}+=\\${2}"\ -} # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ -func_append_quoted ()\ -{\ -\ func_quote_for_eval "${2}"\ -\ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ -} # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: - - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 -$as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} -fi - - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" - - - cat <<_LT_EOF >> "$ofile" - -# ### BEGIN LIBTOOL TAG CONFIG: RC - -# The linker used to build libraries. -LD=$lt_LD_RC - -# How to create reloadable object files. -reload_flag=$lt_reload_flag_RC -reload_cmds=$lt_reload_cmds_RC - -# Commands used to build an old-style archive. -old_archive_cmds=$lt_old_archive_cmds_RC - -# A language specific compiler. -CC=$lt_compiler_RC - -# Is the compiler the GNU compiler? -with_gcc=$GCC_RC - -# Compiler flag to turn off builtin functions. -no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC - -# Additional compiler flags for building library objects. -pic_flag=$lt_lt_prog_compiler_pic_RC - -# How to pass a linker flag through the compiler. -wl=$lt_lt_prog_compiler_wl_RC - -# Compiler flag to prevent dynamic linking. -link_static_flag=$lt_lt_prog_compiler_static_RC - -# Does compiler simultaneously support -c and -o options? -compiler_c_o=$lt_lt_cv_prog_compiler_c_o_RC - -# Whether or not to add -lc for building shared libraries. -build_libtool_need_lc=$archive_cmds_need_lc_RC - -# Whether or not to disallow shared libs when runtime libs are static. -allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC - -# Compiler flag to allow reflexive dlopens. -export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC - -# Compiler flag to generate shared objects directly from archives. -whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC - -# Whether the compiler copes with passing no objects directly. -compiler_needs_object=$lt_compiler_needs_object_RC - -# Create an old-style archive from a shared archive. -old_archive_from_new_cmds=$lt_old_archive_from_new_cmds_RC - -# Create a temporary old-style archive to link instead of a shared archive. -old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC - -# Commands used to build a shared archive. -archive_cmds=$lt_archive_cmds_RC -archive_expsym_cmds=$lt_archive_expsym_cmds_RC - -# Commands used to build a loadable module if different from building -# a shared archive. -module_cmds=$lt_module_cmds_RC -module_expsym_cmds=$lt_module_expsym_cmds_RC - -# Whether we are building with GNU ld or not. -with_gnu_ld=$lt_with_gnu_ld_RC - -# Flag that allows shared libraries with undefined symbols to be built. -allow_undefined_flag=$lt_allow_undefined_flag_RC - -# Flag that enforces no undefined symbols. -no_undefined_flag=$lt_no_undefined_flag_RC - -# Flag to hardcode \$libdir into a binary during linking. -# This must work even if \$libdir does not exist -hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec_RC - -# Whether we need a single "-rpath" flag with a separated argument. -hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary. -hardcode_direct=$hardcode_direct_RC - -# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes -# DIR into the resulting binary and the resulting library dependency is -# "absolute",i.e impossible to change by setting \${shlibpath_var} if the -# library is relocated. -hardcode_direct_absolute=$hardcode_direct_absolute_RC - -# Set to "yes" if using the -LDIR flag during linking hardcodes DIR -# into the resulting binary. -hardcode_minus_L=$hardcode_minus_L_RC - -# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR -# into the resulting binary. -hardcode_shlibpath_var=$hardcode_shlibpath_var_RC - -# Set to "yes" if building a shared library automatically hardcodes DIR -# into the library and all subsequent libraries and executables linked -# against it. -hardcode_automatic=$hardcode_automatic_RC - -# Set to yes if linker adds runtime paths of dependent libraries -# to runtime path list. -inherit_rpath=$inherit_rpath_RC - -# Whether libtool must link a program against all its dependency libraries. -link_all_deplibs=$link_all_deplibs_RC - -# Set to "yes" if exported symbols are required. -always_export_symbols=$always_export_symbols_RC - -# The commands to list exported symbols. -export_symbols_cmds=$lt_export_symbols_cmds_RC - -# Symbols that should not be listed in the preloaded symbols. -exclude_expsyms=$lt_exclude_expsyms_RC - -# Symbols that must always be exported. -include_expsyms=$lt_include_expsyms_RC - -# Commands necessary for linking programs (against libraries) with templates. -prelink_cmds=$lt_prelink_cmds_RC - -# Commands necessary for finishing linking programs. -postlink_cmds=$lt_postlink_cmds_RC - -# Specify filename containing input files. -file_list_spec=$lt_file_list_spec_RC - -# How to hardcode a shared library path into an executable. -hardcode_action=$hardcode_action_RC - -# ### END LIBTOOL TAG CONFIG: RC -_LT_EOF - - ;; - "po-directories":C) - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done ;; - "src/scripts/xzdiff":F) chmod +x src/scripts/xzdiff ;; - "src/scripts/xzgrep":F) chmod +x src/scripts/xzgrep ;; - "src/scripts/xzmore":F) chmod +x src/scripts/xzmore ;; - "src/scripts/xzless":F) chmod +x src/scripts/xzless ;; - - esac -done # for ac_tag - - -as_fn_exit 0 -_ACEOF -ac_clean_files=$ac_clean_files_save - -test $ac_write_fail = 0 || - as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 - - -# configure is writing to config.log, and then calls config.status. -# config.status does its own redirection, appending to config.log. -# Unfortunately, on DOS this fails, as config.log is still kept open -# by configure, so config.status won't be able to write to it; its -# output is simply discarded. So we exec the FD to /dev/null, -# effectively closing config.log, so it can be properly (re)opened and -# appended to by config.status. When coming back to configure, we -# need to make the FD available again. -if test "$no_create" != yes; then - ac_cs_success=: - ac_config_status_args= - test "$silent" = yes && - ac_config_status_args="$ac_config_status_args --quiet" - exec 5>/dev/null - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false - exec 5>>config.log - # Use ||, not &&, to avoid exiting from the if with $? = 1, which - # would make configure fail if this is the last instruction. - $ac_cs_success || as_fn_exit 1 -fi -if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 -$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} -fi - - -# Some warnings -if test x$tuklib_cv_physmem_method = xunknown; then - echo - echo "WARNING:" - echo "No supported method to detect the amount of RAM." - echo "Consider using --enable-assume-ram (if you didn't already)" - echo "or make a patch to add support for this operating system." -fi - -# Not threading yet so don't warn. -#if test x$tuklib_cv_cpucores_method = xunknown; then -# echo -# echo "WARNING:" -# echo "No supported method to detect the number of CPU cores." -#fi diff --git a/Build/source/extra/xz/configure.ac b/Build/source/extra/xz/configure.ac deleted file mode 100644 index 305c858dd6d..00000000000 --- a/Build/source/extra/xz/configure.ac +++ /dev/null @@ -1,661 +0,0 @@ -# -*- Autoconf -*- -# Process this file with autoconf to produce a configure script. - -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# NOTE: Don't add useless checks. autoscan detects this and that, but don't -# let it confuse you. For example, we don't care about checking for behavior -# of malloc(), stat(), or lstat(), since we don't use those functions in -# a way that would cause the problems the autoconf macros check. - -AC_PREREQ([2.64]) - -AC_INIT([XZ Utils], m4_esyscmd([/bin/sh build-aux/version.sh]), - [lasse.collin@tukaani.org], [xz], [http://tukaani.org/xz/]) -AC_CONFIG_SRCDIR([src/liblzma/common/common.h]) -AC_CONFIG_AUX_DIR([build-aux]) -AC_CONFIG_MACRO_DIR([m4]) -AC_CONFIG_HEADER([config.h]) - -echo -echo "$PACKAGE_STRING" - -echo -echo "System type:" -# This is needed to know if assembler optimizations can be used. -AC_CANONICAL_HOST - -# We do some special things on Windows (32-bit or 64-bit) builds. -case $host_os in - mingw* | cygwin*) is_w32=yes ;; - *) is_w32=no ;; -esac -AM_CONDITIONAL([COND_W32], [test "$is_w32" = yes]) - -# We need to use $EXEEXT with $(LN_S) when creating symlinks to -# executables. Cygwin is an exception to this, since it is recommended -# that symlinks don't have the .exe suffix. To make this work, we -# define LN_EXEEXT. -case $host_os in - cygwin) LN_EXEEXT= ;; - *) LN_EXEEXT='$(EXEEXT)' ;; -esac -AC_SUBST([LN_EXEEXT]) - -echo -echo "Configure options:" -AM_CFLAGS= - - -############# -# Debugging # -############# - -AC_MSG_CHECKING([if debugging code should be compiled]) -AC_ARG_ENABLE([debug], AC_HELP_STRING([--enable-debug], [Enable debugging code.]), - [], enable_debug=no) -if test "x$enable_debug" = xyes; then - AC_MSG_RESULT([yes]) -else - AC_DEFINE([NDEBUG], [1], [Define to 1 to disable debugging code.]) - AC_MSG_RESULT([no]) -fi - - -########### -# Filters # -########### - -m4_define([SUPPORTED_FILTERS], [lzma1,lzma2,delta,x86,powerpc,ia64,arm,armthumb,sparc])dnl -m4_define([SIMPLE_FILTERS], [x86,powerpc,ia64,arm,armthumb,sparc]) -m4_define([LZ_FILTERS], [lzma1,lzma2]) - -m4_foreach([NAME], [SUPPORTED_FILTERS], -[enable_filter_[]NAME=no -enable_encoder_[]NAME=no -enable_decoder_[]NAME=no -])dnl - -AC_MSG_CHECKING([which encoders to build]) -AC_ARG_ENABLE([encoders], AC_HELP_STRING([--enable-encoders=LIST], - [Comma-separated list of encoders to build. Default=all. - Available encoders:] - m4_translit(m4_defn([SUPPORTED_FILTERS]), [,], [ ])), - [], [enable_encoders=SUPPORTED_FILTERS]) -enable_encoders=`echo "$enable_encoders" | sed 's/,/ /g'` -if test "x$enable_encoders" = xno || test "x$enable_encoders" = x; then - AC_MSG_RESULT([(none)]) -else - for arg in $enable_encoders - do - case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ - NAME) - enable_filter_[]NAME=yes - enable_encoder_[]NAME=yes - AC_DEFINE(HAVE_ENCODER_[]m4_toupper(NAME), [1], - [Define to 1 if] NAME [encoder is enabled.]) - ;;]) - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([unknown filter: $arg]) - ;; - esac - done - AC_MSG_RESULT([$enable_encoders]) -fi - -AC_MSG_CHECKING([which decoders to build]) -AC_ARG_ENABLE([decoders], AC_HELP_STRING([--enable-decoders=LIST], - [Comma-separated list of decoders to build. Default=all. - Available decoders are the same as available encoders.]), - [], [enable_decoders=SUPPORTED_FILTERS]) -enable_decoders=`echo "$enable_decoders" | sed 's/,/ /g'` -if test "x$enable_decoders" = xno || test "x$enable_decoders" = x; then - AC_MSG_RESULT([(none)]) -else - for arg in $enable_decoders - do - case $arg in m4_foreach([NAME], [SUPPORTED_FILTERS], [ - NAME) - enable_filter_[]NAME=yes - enable_decoder_[]NAME=yes - AC_DEFINE(HAVE_DECODER_[]m4_toupper(NAME), [1], - [Define to 1 if] NAME [decoder is enabled.]) - ;;]) - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([unknown filter: $arg]) - ;; - esac - done - - # LZMA2 requires that LZMA1 is enabled. - test "x$enable_encoder_lzma2" = xyes && enable_encoder_lzma1=yes - test "x$enable_decoder_lzma2" = xyes && enable_decoder_lzma1=yes - - AC_MSG_RESULT([$enable_decoders]) -fi - -if test "x$enable_encoder_lzma2$enable_encoder_lzma1" = xyesno \ - || test "x$enable_decoder_lzma2$enable_decoder_lzma1" = xyesno; then - AC_MSG_ERROR([LZMA2 requires that LZMA1 is also enabled.]) -fi - -AM_CONDITIONAL(COND_MAIN_ENCODER, test "x$enable_encoders" != xno && test "x$enable_encoders" != x) -AM_CONDITIONAL(COND_MAIN_DECODER, test "x$enable_decoders" != xno && test "x$enable_decoders" != x) - -m4_foreach([NAME], [SUPPORTED_FILTERS], -[AM_CONDITIONAL(COND_FILTER_[]m4_toupper(NAME), test "x$enable_filter_[]NAME" = xyes) -AM_CONDITIONAL(COND_ENCODER_[]m4_toupper(NAME), test "x$enable_encoder_[]NAME" = xyes) -AM_CONDITIONAL(COND_DECODER_[]m4_toupper(NAME), test "x$enable_decoder_[]NAME" = xyes) -])dnl - -# The so called "simple filters" share common code. -enable_filter_simple=no -enable_encoder_simple=no -enable_decoder_simple=no -m4_foreach([NAME], [SIMPLE_FILTERS], -[test "x$enable_filter_[]NAME" = xyes && enable_filter_simple=yes -test "x$enable_encoder_[]NAME" = xyes && enable_encoder_simple=yes -test "x$enable_decoder_[]NAME" = xyes && enable_decoder_simple=yes -])dnl -AM_CONDITIONAL(COND_FILTER_SIMPLE, test "x$enable_filter_simple" = xyes) -AM_CONDITIONAL(COND_ENCODER_SIMPLE, test "x$enable_encoder_simple" = xyes) -AM_CONDITIONAL(COND_DECODER_SIMPLE, test "x$enable_decoder_simple" = xyes) - -# LZ-based filters share common code. -enable_filter_lz=no -enable_encoder_lz=no -enable_decoder_lz=no -m4_foreach([NAME], [LZ_FILTERS], -[test "x$enable_filter_[]NAME" = xyes && enable_filter_lz=yes -test "x$enable_encoder_[]NAME" = xyes && enable_encoder_lz=yes -test "x$enable_decoder_[]NAME" = xyes && enable_decoder_lz=yes -])dnl -AM_CONDITIONAL(COND_FILTER_LZ, test "x$enable_filter_lz" = xyes) -AM_CONDITIONAL(COND_ENCODER_LZ, test "x$enable_encoder_lz" = xyes) -AM_CONDITIONAL(COND_DECODER_LZ, test "x$enable_decoder_lz" = xyes) - - -################# -# Match finders # -################# - -m4_define([SUPPORTED_MATCH_FINDERS], [hc3,hc4,bt2,bt3,bt4]) - -m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], -[enable_match_finder_[]NAME=no -]) - -AC_MSG_CHECKING([which match finders to build]) -AC_ARG_ENABLE([match-finders], AC_HELP_STRING([--enable-match-finders=LIST], - [Comma-separated list of match finders to build. Default=all. - At least one match finder is required for encoding with - the LZMA1 and LZMA2 filters. Available match finders:] - m4_translit(m4_defn([SUPPORTED_MATCH_FINDERS]), [,], [ ])), [], - [enable_match_finders=SUPPORTED_MATCH_FINDERS]) -enable_match_finders=`echo "$enable_match_finders" | sed 's/,/ /g'` -if test "x$enable_encoder_lz" = xyes ; then - for arg in $enable_match_finders - do - case $arg in m4_foreach([NAME], [SUPPORTED_MATCH_FINDERS], [ - NAME) - enable_match_finder_[]NAME=yes - AC_DEFINE(HAVE_MF_[]m4_toupper(NAME), [1], - [Define to 1 to enable] NAME [match finder.]) - ;;]) - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([unknown match finder: $arg]) - ;; - esac - done - AC_MSG_RESULT([$enable_match_finders]) -else - AC_MSG_RESULT([(none because not building any LZ-based encoder)]) -fi - - -#################### -# Integrity checks # -#################### - -m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256]) - -m4_foreach([NAME], [SUPPORTED_CHECKS], -[enable_check_[]NAME=no -])dnl - -AC_MSG_CHECKING([which integrity checks to build]) -AC_ARG_ENABLE([checks], AC_HELP_STRING([--enable-checks=LIST], - [Comma-separated list of integrity checks to build. - Default=all. Available integrity checks:] - m4_translit(m4_defn([SUPPORTED_CHECKS]), [,], [ ])), - [], [enable_checks=SUPPORTED_CHECKS]) -enable_checks=`echo "$enable_checks" | sed 's/,/ /g'` -if test "x$enable_checks" = xno || test "x$enable_checks" = x; then - AC_MSG_RESULT([(none)]) -else - for arg in $enable_checks - do - case $arg in m4_foreach([NAME], [SUPPORTED_CHECKS], [ - NAME) - enable_check_[]NAME=yes - AC_DEFINE(HAVE_CHECK_[]m4_toupper(NAME), [1], - [Define to 1 if] NAME - [integrity check is enabled.]) - ;;]) - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([unknown integrity check: $arg]) - ;; - esac - done - AC_MSG_RESULT([$enable_checks]) -fi -if test "x$enable_checks_crc32" = xno ; then - AC_MSG_ERROR([For now, the CRC32 check must always be enabled.]) -fi - -m4_foreach([NAME], [SUPPORTED_CHECKS], -[AM_CONDITIONAL(COND_CHECK_[]m4_toupper(NAME), test "x$enable_check_[]NAME" = xyes) -])dnl - - -########################### -# Assembler optimizations # -########################### - -AC_MSG_CHECKING([if assembler optimizations should be used]) -AC_ARG_ENABLE([assembler], AC_HELP_STRING([--disable-assembler], - [Do not use assembler optimizations even if such exist - for the architecture.]), - [], [enable_assembler=yes]) -if test "x$enable_assembler" = xyes; then - enable_assembler=no - case $host_os in - # Darwin should work too but only if not creating universal - # binaries. Solaris x86 could work too but I cannot test. - linux* | *bsd* | mingw* | cygwin* | *djgpp*) - case $host_cpu in - i?86) enable_assembler=x86 ;; - x86_64) enable_assembler=x86_64 ;; - esac - ;; - esac -fi -case $enable_assembler in - x86 | x86_64 | no) - AC_MSG_RESULT([$enable_assembler]) - ;; - *) - AC_MSG_RESULT([]) - AC_MSG_ERROR([--enable-assembler accepts only \`yes', \`no', \`x86', or \`x86_64'.]) - ;; -esac -AM_CONDITIONAL(COND_ASM_X86, test "x$enable_assembler" = xx86) -AM_CONDITIONAL(COND_ASM_X86_64, test "x$enable_assembler" = xx86_64) - - -##################### -# Size optimization # -##################### - -AC_MSG_CHECKING([if small size is preferred over speed]) -AC_ARG_ENABLE([small], AC_HELP_STRING([--enable-small], - [Make liblzma smaller and a little slower. - This is disabled by default to optimize for speed.]), - [], [enable_small=no]) -if test "x$enable_small" = xyes; then - AC_DEFINE([HAVE_SMALL], [1], [Define to 1 if optimizing for size.]) -elif test "x$enable_small" != xno; then - AC_MSG_RESULT([]) - AC_MSG_ERROR([--enable-small accepts only \`yes' or \`no']) -fi -AC_MSG_RESULT([$enable_small]) -AM_CONDITIONAL(COND_SMALL, test "x$enable_small" = xyes) - - -############# -# Threading # -############# - -AC_MSG_CHECKING([if threading support is wanted]) -AC_ARG_ENABLE([threads], AC_HELP_STRING([--disable-threads], - [Disable threading support. - This makes some things thread-unsafe.]), - [], [enable_threads=yes]) -if test "x$enable_threads" != xyes && test "x$enable_threads" != xno; then - AC_MSG_RESULT([]) - AC_MSG_ERROR([--enable-threads accepts only \`yes' or \`no']) -fi -AC_MSG_RESULT([$enable_threads]) -# We use the actual result a little later. - - -######################### -# Assumed amount of RAM # -######################### - -# We use 128 MiB as default, because it will allow decompressing files -# created with "xz -9". It would be slightly safer to guess a lower value, -# but most systems, on which we don't have any way to determine the amount -# of RAM, will probably have at least 128 MiB of RAM. -AC_MSG_CHECKING([how much RAM to assume if the real amount is unknown]) -AC_ARG_ENABLE([assume-ram], AC_HELP_STRING([--enable-assume-ram=SIZE], - [If and only if the real amount of RAM cannot be determined, - assume SIZE MiB. The default is 128 MiB. This affects the - default memory usage limit.]), - [], [enable_assume_ram=128]) -assume_ram_check=`echo "$enable_assume_ram" | tr -d 0123456789` -if test -z "$enable_assume_ram" || test -n "$assume_ram_check"; then - AC_MSG_RESULT([]) - AC_MSG_ERROR([--enable-assume-ram accepts only an integer argument]) -fi -AC_MSG_RESULT([$enable_assume_ram MiB]) -AC_DEFINE_UNQUOTED([ASSUME_RAM], [$enable_assume_ram], - [How many MiB of RAM to assume if the real amount cannot - be determined.]) - - -######################### -# Components to install # -######################### - -AC_ARG_ENABLE([xz], [AC_HELP_STRING([--disable-xz], - [do not build the xz tool])], - [], [enable_xz=yes]) -AM_CONDITIONAL([COND_XZ], [test x$enable_xz != xno]) - -AC_ARG_ENABLE([xzdec], [AC_HELP_STRING([--disable-xzdec], - [do not build xzdec])], - [], [enable_xzdec=yes]) -AM_CONDITIONAL([COND_XZDEC], [test x$enable_xzdec != xno]) - -AC_ARG_ENABLE([lzmadec], [AC_HELP_STRING([--disable-lzmadec], - [do not build lzmadec - (it exists primarily for LZMA Utils compatibility)])], - [], [enable_lzmadec=yes]) -AM_CONDITIONAL([COND_LZMADEC], [test x$enable_lzmadec != xno]) - -AC_ARG_ENABLE([lzmainfo], [AC_HELP_STRING([--disable-lzmainfo], - [do not build lzmainfo - (it exists primarily for LZMA Utils compatibility)])], - [], [enable_lzmainfo=yes]) -AM_CONDITIONAL([COND_LZMAINFO], [test x$enable_lzmainfo != xno]) - -AC_ARG_ENABLE([lzma-links], [AC_HELP_STRING([--disable-lzma-links], - [do not create symlinks for LZMA Utils compatibility])], - [], [enable_lzma_links=yes]) -AM_CONDITIONAL([COND_LZMALINKS], [test x$enable_lzma_links != xno]) - -AC_ARG_ENABLE([scripts], [AC_HELP_STRING([--disable-scripts], - [do not install the scripts xzdiff, xzgrep, xzless, xzmore, - and their symlinks])], - [], [enable_scripts=yes]) -AM_CONDITIONAL([COND_SCRIPTS], [test x$enable_scripts != xno]) - - -############################################################################### -# Checks for programs. -############################################################################### - -echo -gl_POSIX_SHELL -if test -z "$POSIX_SHELL" ; then - AC_MSG_ERROR([No POSIX conforming shell (sh) was found.]) -fi - -echo -echo "Initializing Automake:" - -# Automake 1.10 should still be enough but you need to omit serial-tests. -dnl AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99]) -AM_INIT_AUTOMAKE([1.12 foreign tar-v7 filename-length-max=99 serial-tests]) -AC_PROG_LN_S - -AC_PROG_CC_C99 -if test x$ac_cv_prog_cc_c99 = xno ; then - AC_MSG_ERROR([No C99 compiler was found.]) -fi - -AM_PROG_CC_C_O -AM_PROG_AS -AC_USE_SYSTEM_EXTENSIONS - -if test "x$enable_threads" = xyes; then - echo - echo "Threading support:" - AX_PTHREAD - LIBS="$LIBS $PTHREAD_LIBS" - AM_CFLAGS="$AM_CFLAGS $PTHREAD_CFLAGS" - - dnl NOTE: PTHREAD_CC is ignored. It would be useful on AIX, but - dnl it's tricky to get it right together with AC_PROG_CC_C99. - dnl Thus, this is handled by telling the user in INSTALL to set - dnl the correct CC manually. -fi - -echo -echo "Initializing Libtool:" -LT_PREREQ([2.2]) -LT_INIT([win32-dll]) -LT_LANG([Windows Resource]) - -# This is a bit wrong since it is possible to request that only some libs -# are built as shared. Using that feature isn't so common though, and this -# breaks only on Windows (at least for now) if the user enables only some -# libs as shared. -AM_CONDITIONAL([COND_SHARED], [test "x$enable_shared" != xno]) - - -############################################################################### -# Checks for libraries. -############################################################################### - -echo -echo "Initializing gettext:" -AM_GNU_GETTEXT_VERSION([0.18]) -AM_GNU_GETTEXT([external]) - -############################################################################### -# Checks for header files. -############################################################################### - -echo -echo "System headers and functions:" - -# There is currently no workarounds in this package if some of -# these headers are missing. -AC_CHECK_HEADERS([fcntl.h limits.h sys/time.h], - [], - [AC_MSG_ERROR([Required header file(s) are missing.])]) - - -############################################################################### -# Checks for typedefs, structures, and compiler characteristics. -############################################################################### - -dnl We don't need these as long as we need a C99 compiler anyway. -dnl AC_C_INLINE -dnl AC_C_RESTRICT - -AC_HEADER_STDBOOL - -AC_TYPE_UINT8_T -AC_TYPE_UINT16_T -AC_TYPE_INT32_T -AC_TYPE_UINT32_T -AC_TYPE_INT64_T -AC_TYPE_UINT64_T -AC_TYPE_UINTPTR_T - -AC_CHECK_SIZEOF([size_t]) - -# The command line tool can copy high resolution timestamps if such -# information is available in struct stat. Otherwise one second accuracy -# is used. -AC_CHECK_MEMBERS([ - struct stat.st_atim.tv_nsec, - struct stat.st_atimespec.tv_nsec, - struct stat.st_atimensec, - struct stat.st_uatime, - struct stat.st_atim.st__tim.tv_nsec]) - -AC_SYS_LARGEFILE -AC_C_BIGENDIAN - - -############################################################################### -# Checks for library functions. -############################################################################### - -# Gnulib replacements as needed -gl_GETOPT - -# Find the best function to set timestamps. -AC_CHECK_FUNCS([futimens futimes futimesat utimes utime], [break]) - -TUKLIB_PROGNAME -TUKLIB_INTEGER -TUKLIB_PHYSMEM -TUKLIB_CPUCORES -TUKLIB_MBSTR - - -############################################################################### -# If using GCC, set some additional AM_CFLAGS: -############################################################################### - -if test "$GCC" = yes ; then - echo - echo "GCC extensions:" -fi - -# Always do the visibility check but don't set AM_CFLAGS on Windows. -# This way things get set properly even on Windows. -gl_VISIBILITY -if test -n "$CFLAG_VISIBILITY" && test "$is_w32" = no; then - AM_CFLAGS="$AM_CFLAGS $CFLAG_VISIBILITY" -fi - -if test "$GCC" = yes ; then - # Enable as much warnings as possible. These commented warnings won't - # work for this package though: - # * -Wunreachable-code breaks several assert(0) cases, which are - # backed up with "return LZMA_PROG_ERROR". - # * -Wcast-qual would break various things where we need a non-const - # pointer although we don't modify anything through it. - # * -Wcast-align breaks optimized CRC32 and CRC64 implementation - # on some architectures (not on x86), where this warning is bogus, - # because we take care of correct alignment. - # * -Winline, -Wdisabled-optimization, -Wunsafe-loop-optimizations - # don't seem so useful here; at least the last one gives some - # warnings which are not bugs. - for NEW_FLAG in \ - -Wall \ - -Wextra \ - -Wvla \ - -Wformat=2 \ - -Winit-self \ - -Wmissing-include-dirs \ - -Wstrict-aliasing \ - -Wfloat-equal \ - -Wundef \ - -Wshadow \ - -Wpointer-arith \ - -Wbad-function-cast \ - -Wwrite-strings \ - -Wlogical-op \ - -Waggregate-return \ - -Wstrict-prototypes \ - -Wold-style-definition \ - -Wmissing-prototypes \ - -Wmissing-declarations \ - -Wmissing-noreturn \ - -Wredundant-decls - do - AC_MSG_CHECKING([if $CC accepts $NEW_FLAG]) - OLD_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $NEW_FLAG" - AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo(void) { }])], [ - AM_CFLAGS="$AM_CFLAGS $NEW_FLAG" - AC_MSG_RESULT([yes]) - ], [ - AC_MSG_RESULT([no]) - ]) - CFLAGS="$OLD_CFLAGS" - done - - AC_ARG_ENABLE([werror], - AC_HELP_STRING([--enable-werror], [Enable -Werror to abort - compilation on all compiler warnings.]), - [], [enable_werror=no]) - if test "x$enable_werror" = "xyes"; then - AM_CFLAGS="$AM_CFLAGS -Werror" - fi -fi - - -############################################################################### -# Create the makefiles and config.h -############################################################################### - -echo - -# Don't build the lib directory at all if we don't need any replacement -# functions. -AM_CONDITIONAL([COND_GNULIB], test -n "$LIBOBJS") - -# Add default AM_CFLAGS. -AC_SUBST([AM_CFLAGS]) - -# This is needed for src/scripts. -xz=`echo xz | sed "$program_transform_name"` -AC_SUBST([xz]) - -AC_CONFIG_FILES([ - Doxyfile - Makefile - po/Makefile.in - lib/Makefile - src/Makefile - src/liblzma/liblzma.pc - src/liblzma/Makefile - src/liblzma/api/Makefile - src/xz/Makefile - src/xzdec/Makefile - src/lzmainfo/Makefile - src/scripts/Makefile - tests/Makefile - debug/Makefile -]) -AC_CONFIG_FILES([src/scripts/xzdiff], [chmod +x src/scripts/xzdiff]) -AC_CONFIG_FILES([src/scripts/xzgrep], [chmod +x src/scripts/xzgrep]) -AC_CONFIG_FILES([src/scripts/xzmore], [chmod +x src/scripts/xzmore]) -AC_CONFIG_FILES([src/scripts/xzless], [chmod +x src/scripts/xzless]) - -AC_OUTPUT - -# Some warnings -if test x$tuklib_cv_physmem_method = xunknown; then - echo - echo "WARNING:" - echo "No supported method to detect the amount of RAM." - echo "Consider using --enable-assume-ram (if you didn't already)" - echo "or make a patch to add support for this operating system." -fi - -# Not threading yet so don't warn. -#if test x$tuklib_cv_cpucores_method = xunknown; then -# echo -# echo "WARNING:" -# echo "No supported method to detect the number of CPU cores." -#fi diff --git a/Build/source/extra/xz/debug/Makefile.am b/Build/source/extra/xz/debug/Makefile.am deleted file mode 100644 index 9026fd93574..00000000000 --- a/Build/source/extra/xz/debug/Makefile.am +++ /dev/null @@ -1,30 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -EXTRA_DIST = \ - translation.bash - -noinst_PROGRAMS = \ - repeat \ - sync_flush \ - full_flush \ - memusage \ - crc32 \ - known_sizes \ - hex2bin - -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api - -LDADD = $(top_builddir)/src/liblzma/liblzma.la - -if COND_GNULIB -LDADD += $(top_builddir)/lib/libgnu.a -endif - -LDADD += $(LTLIBINTL) diff --git a/Build/source/extra/xz/debug/Makefile.in b/Build/source/extra/xz/debug/Makefile.in deleted file mode 100644 index 921b66fbf0e..00000000000 --- a/Build/source/extra/xz/debug/Makefile.in +++ /dev/null @@ -1,691 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -noinst_PROGRAMS = repeat$(EXEEXT) sync_flush$(EXEEXT) \ - full_flush$(EXEEXT) memusage$(EXEEXT) crc32$(EXEEXT) \ - known_sizes$(EXEEXT) hex2bin$(EXEEXT) -@COND_GNULIB_TRUE@am__append_1 = $(top_builddir)/lib/libgnu.a -subdir = debug -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp README -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -PROGRAMS = $(noinst_PROGRAMS) -crc32_SOURCES = crc32.c -crc32_OBJECTS = crc32.$(OBJEXT) -crc32_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -crc32_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -full_flush_SOURCES = full_flush.c -full_flush_OBJECTS = full_flush.$(OBJEXT) -full_flush_LDADD = $(LDADD) -full_flush_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -hex2bin_SOURCES = hex2bin.c -hex2bin_OBJECTS = hex2bin.$(OBJEXT) -hex2bin_LDADD = $(LDADD) -hex2bin_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -known_sizes_SOURCES = known_sizes.c -known_sizes_OBJECTS = known_sizes.$(OBJEXT) -known_sizes_LDADD = $(LDADD) -known_sizes_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -memusage_SOURCES = memusage.c -memusage_OBJECTS = memusage.$(OBJEXT) -memusage_LDADD = $(LDADD) -memusage_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -repeat_SOURCES = repeat.c -repeat_OBJECTS = repeat.$(OBJEXT) -repeat_LDADD = $(LDADD) -repeat_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -sync_flush_SOURCES = sync_flush.c -sync_flush_OBJECTS = sync_flush.$(OBJEXT) -sync_flush_LDADD = $(LDADD) -sync_flush_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = crc32.c full_flush.c hex2bin.c known_sizes.c memusage.c \ - repeat.c sync_flush.c -DIST_SOURCES = crc32.c full_flush.c hex2bin.c known_sizes.c memusage.c \ - repeat.c sync_flush.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -EXTRA_DIST = \ - translation.bash - -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api - -LDADD = $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(LTLIBINTL) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign debug/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign debug/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstPROGRAMS: - @list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -crc32$(EXEEXT): $(crc32_OBJECTS) $(crc32_DEPENDENCIES) $(EXTRA_crc32_DEPENDENCIES) - @rm -f crc32$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(crc32_OBJECTS) $(crc32_LDADD) $(LIBS) - -full_flush$(EXEEXT): $(full_flush_OBJECTS) $(full_flush_DEPENDENCIES) $(EXTRA_full_flush_DEPENDENCIES) - @rm -f full_flush$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(full_flush_OBJECTS) $(full_flush_LDADD) $(LIBS) - -hex2bin$(EXEEXT): $(hex2bin_OBJECTS) $(hex2bin_DEPENDENCIES) $(EXTRA_hex2bin_DEPENDENCIES) - @rm -f hex2bin$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(hex2bin_OBJECTS) $(hex2bin_LDADD) $(LIBS) - -known_sizes$(EXEEXT): $(known_sizes_OBJECTS) $(known_sizes_DEPENDENCIES) $(EXTRA_known_sizes_DEPENDENCIES) - @rm -f known_sizes$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(known_sizes_OBJECTS) $(known_sizes_LDADD) $(LIBS) - -memusage$(EXEEXT): $(memusage_OBJECTS) $(memusage_DEPENDENCIES) $(EXTRA_memusage_DEPENDENCIES) - @rm -f memusage$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(memusage_OBJECTS) $(memusage_LDADD) $(LIBS) - -repeat$(EXEEXT): $(repeat_OBJECTS) $(repeat_DEPENDENCIES) $(EXTRA_repeat_DEPENDENCIES) - @rm -f repeat$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(repeat_OBJECTS) $(repeat_LDADD) $(LIBS) - -sync_flush$(EXEEXT): $(sync_flush_OBJECTS) $(sync_flush_DEPENDENCIES) $(EXTRA_sync_flush_DEPENDENCIES) - @rm -f sync_flush$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(sync_flush_OBJECTS) $(sync_flush_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crc32.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/full_flush.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hex2bin.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/known_sizes.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memusage.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repeat.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sync_flush.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool clean-noinstPROGRAMS cscopelist-am ctags \ - ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-data \ - install-data-am install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-man install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/debug/README b/Build/source/extra/xz/debug/README deleted file mode 100644 index d42b27289f6..00000000000 --- a/Build/source/extra/xz/debug/README +++ /dev/null @@ -1,17 +0,0 @@ - -Debug tools ------------ - - This directory contains a few tiny programs that may be helpful when - debugging XZ Utils. - - These tools are not meant to be installed. Often one needs to edit - the source code a little to make the programs do the wanted things. - If you don't know how these programs could help you, it is likely - that they really are useless to you. - - These aren't intended to be used as example programs. They take some - shortcuts here and there, which correct programs should not do. Many - possible errors (especially I/O errors) are ignored. Don't report - bugs or send patches to fix this kind of bugs. - diff --git a/Build/source/extra/xz/debug/crc32.c b/Build/source/extra/xz/debug/crc32.c deleted file mode 100644 index e545a3cc1eb..00000000000 --- a/Build/source/extra/xz/debug/crc32.c +++ /dev/null @@ -1,39 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc32.c -/// \brief Primitive CRC32 calculation tool -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" -#include - - -int -main(void) -{ - uint32_t crc = 0; - - do { - uint8_t buf[BUFSIZ]; - const size_t size = fread(buf, 1, sizeof(buf), stdin); - crc = lzma_crc32(buf, size, crc); - } while (!ferror(stdin) && !feof(stdin)); - - //printf("%08" PRIX32 "\n", crc); - - // I want it little endian so it's easy to work with hex editor. - printf("%02" PRIX32 " ", crc & 0xFF); - printf("%02" PRIX32 " ", (crc >> 8) & 0xFF); - printf("%02" PRIX32 " ", (crc >> 16) & 0xFF); - printf("%02" PRIX32 " ", crc >> 24); - printf("\n"); - - return 0; -} diff --git a/Build/source/extra/xz/debug/full_flush.c b/Build/source/extra/xz/debug/full_flush.c deleted file mode 100644 index 67442b15a2f..00000000000 --- a/Build/source/extra/xz/debug/full_flush.c +++ /dev/null @@ -1,102 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file full_flush.c -/// \brief Encode files using LZMA_FULL_FLUSH -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" -#include - - -static lzma_stream strm = LZMA_STREAM_INIT; -static FILE *file_in; - - -static void -encode(size_t size, lzma_action action) -{ - static const size_t CHUNK = 64; - uint8_t in[CHUNK]; - uint8_t out[CHUNK]; - lzma_ret ret; - - do { - if (strm.avail_in == 0 && size > 0) { - const size_t amount = my_min(size, CHUNK); - strm.avail_in = fread(in, 1, amount, file_in); - strm.next_in = in; - size -= amount; // Intentionally not using avail_in. - } - - strm.next_out = out; - strm.avail_out = CHUNK; - - ret = lzma_code(&strm, size == 0 ? action : LZMA_RUN); - - if (ret != LZMA_OK && ret != LZMA_STREAM_END) { - fprintf(stderr, "%s:%u: %s: ret == %d\n", - __FILE__, __LINE__, __func__, ret); - exit(1); - } - - fwrite(out, 1, CHUNK - strm.avail_out, stdout); - - } while (size > 0 || strm.avail_out == 0); - - if ((action == LZMA_RUN && ret != LZMA_OK) - || (action != LZMA_RUN && ret != LZMA_STREAM_END)) { - fprintf(stderr, "%s:%u: %s: ret == %d\n", - __FILE__, __LINE__, __func__, ret); - exit(1); - } -} - - -int -main(int argc, char **argv) -{ - file_in = argc > 1 ? fopen(argv[1], "rb") : stdin; - - - // Config - lzma_options_lzma opt_lzma; - if (lzma_lzma_preset(&opt_lzma, 1)) { - fprintf(stderr, "preset failed\n"); - exit(1); - } - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - filters[0].id = LZMA_FILTER_LZMA2; - filters[0].options = &opt_lzma; - filters[1].id = LZMA_VLI_UNKNOWN; - - // Init - if (lzma_stream_encoder(&strm, filters, LZMA_CHECK_CRC32) != LZMA_OK) { - fprintf(stderr, "init failed\n"); - exit(1); - } - -// if (lzma_easy_encoder(&strm, 1)) { -// fprintf(stderr, "init failed\n"); -// exit(1); -// } - - // Encoding - encode(0, LZMA_FULL_FLUSH); - encode(6, LZMA_FULL_FLUSH); - encode(0, LZMA_FULL_FLUSH); - encode(7, LZMA_FULL_FLUSH); - encode(0, LZMA_FULL_FLUSH); - encode(0, LZMA_FINISH); - - // Clean up - lzma_end(&strm); - - return 0; -} diff --git a/Build/source/extra/xz/debug/hex2bin.c b/Build/source/extra/xz/debug/hex2bin.c deleted file mode 100644 index 73246244746..00000000000 --- a/Build/source/extra/xz/debug/hex2bin.c +++ /dev/null @@ -1,53 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file hex2bin.c -/// \brief Converts hexadecimal input strings to binary -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include -#include - - -static int -getbin(int x) -{ - if (x >= '0' && x <= '9') - return x - '0'; - - if (x >= 'A' && x <= 'F') - return x - 'A' + 10; - - return x - 'a' + 10; -} - - -int -main(void) -{ - while (true) { - int byte = getchar(); - if (byte == EOF) - return 0; - if (!isxdigit(byte)) - continue; - - const int digit = getchar(); - if (digit == EOF || !isxdigit(digit)) { - fprintf(stderr, "Invalid input\n"); - return 1; - } - - byte = (getbin(byte) << 4) | getbin(digit); - if (putchar(byte) == EOF) { - perror(NULL); - return 1; - } - } -} diff --git a/Build/source/extra/xz/debug/known_sizes.c b/Build/source/extra/xz/debug/known_sizes.c deleted file mode 100644 index 6c3641f824a..00000000000 --- a/Build/source/extra/xz/debug/known_sizes.c +++ /dev/null @@ -1,129 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file known_sizes.c -/// \brief Encodes .lzma Stream with sizes known in Block Header -/// -/// The input file is encoded in RAM, and the known Compressed Size -/// and/or Uncompressed Size values are stored in the Block Header. -/// As of writing there's no such Stream encoder in liblzma. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" -#include -#include -#include -#include - - -// Support file sizes up to 1 MiB. We use this for output space too, so files -// close to 1 MiB had better compress at least a little or we have a buffer -// overflow. -#define BUFFER_SIZE (1U << 20) - - -int -main(void) -{ - // Allocate the buffers. - uint8_t *in = malloc(BUFFER_SIZE); - uint8_t *out = malloc(BUFFER_SIZE); - if (in == NULL || out == NULL) - return 1; - - // Fill the input buffer. - const size_t in_size = fread(in, 1, BUFFER_SIZE, stdin); - - // Filter setup - lzma_options_lzma opt_lzma; - if (lzma_lzma_preset(&opt_lzma, 1)) - return 1; - - lzma_filter filters[] = { - { - .id = LZMA_FILTER_LZMA2, - .options = &opt_lzma - }, - { - .id = LZMA_VLI_UNKNOWN - } - }; - - lzma_block block = { - .check = LZMA_CHECK_CRC32, - .compressed_size = BUFFER_SIZE, // Worst case reserve - .uncompressed_size = in_size, - .filters = filters, - }; - - lzma_stream strm = LZMA_STREAM_INIT; - if (lzma_block_encoder(&strm, &block) != LZMA_OK) - return 1; - - // Reserve space for Stream Header and Block Header. We need to - // calculate the size of the Block Header first. - if (lzma_block_header_size(&block) != LZMA_OK) - return 1; - - size_t out_size = LZMA_STREAM_HEADER_SIZE + block.header_size; - - strm.next_in = in; - strm.avail_in = in_size; - strm.next_out = out + out_size; - strm.avail_out = BUFFER_SIZE - out_size; - - if (lzma_code(&strm, LZMA_FINISH) != LZMA_STREAM_END) - return 1; - - out_size += strm.total_out; - - if (lzma_block_header_encode(&block, out + LZMA_STREAM_HEADER_SIZE) - != LZMA_OK) - return 1; - - lzma_index *idx = lzma_index_init(NULL); - if (idx == NULL) - return 1; - - if (lzma_index_append(idx, NULL, block.header_size + strm.total_out, - strm.total_in) != LZMA_OK) - return 1; - - if (lzma_index_encoder(&strm, idx) != LZMA_OK) - return 1; - - if (lzma_code(&strm, LZMA_RUN) != LZMA_STREAM_END) - return 1; - - out_size += strm.total_out; - - lzma_end(&strm); - - lzma_index_end(idx, NULL); - - // Encode the Stream Header and Stream Footer. backwards_size is - // needed only for the Stream Footer. - lzma_stream_flags sf = { - .backward_size = strm.total_out, - .check = block.check, - }; - - if (lzma_stream_header_encode(&sf, out) != LZMA_OK) - return 1; - - if (lzma_stream_footer_encode(&sf, out + out_size) != LZMA_OK) - return 1; - - out_size += LZMA_STREAM_HEADER_SIZE; - - // Write out the file. - fwrite(out, 1, out_size, stdout); - - return 0; -} diff --git a/Build/source/extra/xz/debug/memusage.c b/Build/source/extra/xz/debug/memusage.c deleted file mode 100644 index bd72b5a22c6..00000000000 --- a/Build/source/extra/xz/debug/memusage.c +++ /dev/null @@ -1,51 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file memusage.c -/// \brief Calculates memory usage using lzma_memory_usage() -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" -#include - -int -main(void) -{ - lzma_options_lzma lzma = { - .dict_size = (1U << 30) + (1U << 29), - .lc = 3, - .lp = 0, - .pb = 2, - .preset_dict = NULL, - .preset_dict_size = 0, - .mode = LZMA_MODE_NORMAL, - .nice_len = 48, - .mf = LZMA_MF_BT4, - .depth = 0, - }; - -/* - lzma_options_filter filters[] = { - { LZMA_FILTER_LZMA1, - (lzma_options_lzma *)&lzma_preset_lzma[6 - 1] }, - { UINT64_MAX, NULL } - }; -*/ - lzma_filter filters[] = { - { LZMA_FILTER_LZMA1, &lzma }, - { UINT64_MAX, NULL } - }; - - printf("Encoder: %10" PRIu64 " B\n", - lzma_raw_encoder_memusage(filters)); - printf("Decoder: %10" PRIu64 " B\n", - lzma_raw_decoder_memusage(filters)); - - return 0; -} diff --git a/Build/source/extra/xz/debug/repeat.c b/Build/source/extra/xz/debug/repeat.c deleted file mode 100644 index a00bde2cd38..00000000000 --- a/Build/source/extra/xz/debug/repeat.c +++ /dev/null @@ -1,36 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file repeat.c -/// \brief Repeats given string given times -/// -/// This program can be useful when debugging run-length encoder in -/// the Subblock filter, especially the condition when repeat count -/// doesn't fit into 28-bit integer. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include - - -int -main(int argc, char **argv) -{ - if (argc != 3) { - fprintf(stderr, "Usage: %s COUNT STRING\n", argv[0]); - exit(1); - } - - unsigned long long count = strtoull(argv[1], NULL, 10); - const size_t size = strlen(argv[2]); - - while (count-- != 0) - fwrite(argv[2], 1, size, stdout); - - return !!(ferror(stdout) || fclose(stdout)); -} diff --git a/Build/source/extra/xz/debug/sync_flush.c b/Build/source/extra/xz/debug/sync_flush.c deleted file mode 100644 index fc2ebcb2307..00000000000 --- a/Build/source/extra/xz/debug/sync_flush.c +++ /dev/null @@ -1,124 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file sync_flush.c -/// \brief Encode files using LZMA_SYNC_FLUSH -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" -#include - - -static lzma_stream strm = LZMA_STREAM_INIT; -static FILE *file_in; - - -static void -encode(size_t size, lzma_action action) -{ - static const size_t CHUNK = 64; - uint8_t in[CHUNK]; - uint8_t out[CHUNK]; - lzma_ret ret; - - do { - if (strm.avail_in == 0 && size > 0) { - const size_t amount = my_min(size, CHUNK); - strm.avail_in = fread(in, 1, amount, file_in); - strm.next_in = in; - size -= amount; // Intentionally not using avail_in. - } - - strm.next_out = out; - strm.avail_out = CHUNK; - - ret = lzma_code(&strm, size == 0 ? action : LZMA_RUN); - - if (ret != LZMA_OK && ret != LZMA_STREAM_END) { - fprintf(stderr, "%s:%u: %s: ret == %d\n", - __FILE__, __LINE__, __func__, ret); - exit(1); - } - - fwrite(out, 1, CHUNK - strm.avail_out, stdout); - - } while (size > 0 || strm.avail_out == 0); - - if ((action == LZMA_RUN && ret != LZMA_OK) - || (action != LZMA_RUN && ret != LZMA_STREAM_END)) { - fprintf(stderr, "%s:%u: %s: ret == %d\n", - __FILE__, __LINE__, __func__, ret); - exit(1); - } -} - - -int -main(int argc, char **argv) -{ - file_in = argc > 1 ? fopen(argv[1], "rb") : stdin; - - // Config - lzma_options_lzma opt_lzma = { - .dict_size = 1U << 16, - .lc = LZMA_LC_DEFAULT, - .lp = LZMA_LP_DEFAULT, - .pb = LZMA_PB_DEFAULT, - .preset_dict = NULL, - .mode = LZMA_MODE_NORMAL, - .nice_len = 32, - .mf = LZMA_MF_HC3, - .depth = 0, - }; - - lzma_options_delta opt_delta = { - .dist = 16 - }; - - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - filters[0].id = LZMA_FILTER_LZMA2; - filters[0].options = &opt_lzma; - filters[1].id = LZMA_VLI_UNKNOWN; - - // Init - if (lzma_stream_encoder(&strm, filters, LZMA_CHECK_CRC32) != LZMA_OK) { - fprintf(stderr, "init failed\n"); - exit(1); - } - - // Encoding - encode(0, LZMA_SYNC_FLUSH); - encode(6, LZMA_SYNC_FLUSH); - encode(0, LZMA_SYNC_FLUSH); - encode(7, LZMA_SYNC_FLUSH); - encode(0, LZMA_SYNC_FLUSH); - encode(0, LZMA_FINISH); - -/* - encode(53, LZMA_SYNC_FLUSH); - opt_lzma.lc = 2; - opt_lzma.lp = 1; - opt_lzma.pb = 0; - if (lzma_filters_update(&strm, filters) != LZMA_OK) { - fprintf(stderr, "update failed\n"); - exit(1); - } - encode(404, LZMA_FINISH); -*/ - - // Clean up - lzma_end(&strm); - - return 0; - - // Prevent useless warnings so we don't need to have special CFLAGS - // to disable -Werror. - (void)opt_lzma; - (void)opt_delta; -} diff --git a/Build/source/extra/xz/debug/translation.bash b/Build/source/extra/xz/debug/translation.bash deleted file mode 100644 index df4210dd7ca..00000000000 --- a/Build/source/extra/xz/debug/translation.bash +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/bash - -############################################################################### -# -# Script to check output of some translated messages -# -# This should be useful for translators to check that the translated strings -# look good. This doesn't make xz print all possible strings, but it should -# cover most of the cases where mistakes can easily happen. -# -# Give the path and filename of the xz executable as an argument. If no -# arguments are given, this script uses ../src/xz/xz (relative to the -# location of this script). -# -# You may want to pipe the output of this script to less -S to view the -# tables printed by xz --list on a 80-column terminal. On the other hand, -# viewing the other messages may be better without -S. -# -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -set -e - -# If an argument was given, use it to set the location of the xz executable. -unset XZ -if [ -n "$1" ]; then - XZ=$1 - [ "x${XZ:0:1}" != "x/" ] && XZ="$PWD/$XZ" -fi - -# Locate top_srcdir and go there. -top_srcdir="$(cd -- "$(dirname -- "$0")" && cd .. && pwd)" -cd -- "$top_srcdir" - -# If XZ wasn't already set, use the default location. -XZ=${XZ-"$PWD/src/xz/xz"} -if [ "$(type -t "$XZ" || true)" != "file" ]; then - echo "Give the location of the xz executable as an argument" \ - "to this script." - exit 1 -fi -XZ=$(type -p -- "$XZ") - -# Print the xz version and locale information. -echo "$XZ --version" -"$XZ" --version -echo -if [ -d .git ] && type git > /dev/null 2>&1; then - echo "Source code version in $PWD:" - git describe --abbrev=4 -fi -echo -locale -echo - -# Make the test files directory the current directory. -cd tests/files - -# Put xz in PATH so that argv[0] stays short. -PATH=${XZ%/*}:$PATH - -# Some of the test commands are error messages and thus don't -# return successfully. -set +e - -for CMD in \ - "xz --foobarbaz" \ - "xz --memlimit=123abcd" \ - "xz --memlimit=40MiB -6 /dev/null" \ - "xz --memlimit=0 --info-memory" \ - "xz --memlimit-compress=1234MiB --memlimit-decompress=50MiB --info-memory" \ - "xz --verbose --verbose /dev/null | cat" \ - "xz --lzma2=foobarbaz" \ - "xz --lzma2=foobarbaz=abcd" \ - "xz --lzma2=mf=abcd" \ - "xz --lzma2=preset=foobarbaz" \ - "xz --lzma2=mf=bt4,nice=2" \ - "xz --lzma2=nice=50000" \ - "xz --help" \ - "xz --long-help" \ - "xz --list good-*lzma2*" \ - "xz --list good-1-check*" \ - "xz --list --verbose good-*lzma2*" \ - "xz --list --verbose good-1-check*" \ - "xz --list --verbose --verbose good-*lzma2*" \ - "xz --list --verbose --verbose good-1-check*" \ - "xz --list --verbose --verbose unsupported-check.xz" -do - echo "-----------------------------------------------------------" - echo - echo "\$ $CMD" - eval "$CMD" - echo -done 2>&1 diff --git a/Build/source/extra/xz/doc/examples/00_README.txt b/Build/source/extra/xz/doc/examples/00_README.txt deleted file mode 100644 index a3b9eaa1c97..00000000000 --- a/Build/source/extra/xz/doc/examples/00_README.txt +++ /dev/null @@ -1,27 +0,0 @@ - -liblzma example programs -======================== - -Introduction - - The examples are written so that the same comments aren't - repeated (much) in later files. - - On POSIX systems, the examples should build by just typing "make". - - The examples that use stdin or stdout don't set stdin and stdout - to binary mode. On systems where it matters (e.g. Windows) it is - possible that the examples won't work without modification. - - -List of examples - - 01_compress_easy.c Multi-call compression using - a compression preset - - 02_decompress.c Multi-call decompression - - 03_compress_custom.c Like 01_compress_easy.c but using - a custom filter chain - (x86 BCJ + LZMA2) - diff --git a/Build/source/extra/xz/doc/examples/01_compress_easy.c b/Build/source/extra/xz/doc/examples/01_compress_easy.c deleted file mode 100644 index e6dd2b0cda3..00000000000 --- a/Build/source/extra/xz/doc/examples/01_compress_easy.c +++ /dev/null @@ -1,297 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file 01_compress_easy.c -/// \brief Compress from stdin to stdout in multi-call mode -/// -/// Usage: ./01_compress_easy PRESET < INFILE > OUTFILE -/// -/// Example: ./01_compress_easy 6 < foo > foo.xz -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include - - -static void -show_usage_and_exit(const char *argv0) -{ - fprintf(stderr, "Usage: %s PRESET < INFILE > OUTFILE\n" - "PRESET is a number 0-9 and can optionally be " - "followed by `e' to indicate extreme preset\n", - argv0); - exit(EXIT_FAILURE); -} - - -static uint32_t -get_preset(int argc, char **argv) -{ - // One argument whose first char must be 0-9. - if (argc != 2 || argv[1][0] < '0' || argv[1][0] > '9') - show_usage_and_exit(argv[0]); - - // Calculate the preste level 0-9. - uint32_t preset = argv[1][0] - '0'; - - // If there is a second char, it must be 'e'. It will set - // the LZMA_PRESET_EXTREME flag. - if (argv[1][1] != '\0') { - if (argv[1][1] != 'e' || argv[1][2] != '\0') - show_usage_and_exit(argv[0]); - - preset |= LZMA_PRESET_EXTREME; - } - - return preset; -} - - -static bool -init_encoder(lzma_stream *strm, uint32_t preset) -{ - // Initialize the encoder using a preset. Set the integrity to check - // to CRC64, which is the default in the xz command line tool. If - // the .xz file needs to be decompressed with XZ Embedded, use - // LZMA_CHECK_CRC32 instead. - lzma_ret ret = lzma_easy_encoder(strm, preset, LZMA_CHECK_CRC64); - - // Return successfully if the initialization went fine. - if (ret == LZMA_OK) - return true; - - // Something went wrong. The possible errors are documented in - // lzma/container.h (src/liblzma/api/lzma/container.h in the source - // package or e.g. /usr/include/lzma/container.h depending on the - // install prefix). - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_OPTIONS_ERROR: - msg = "Specified preset is not supported"; - break; - - case LZMA_UNSUPPORTED_CHECK: - msg = "Specified integrity check is not supported"; - break; - - default: - // This is most likely LZMA_PROG_ERROR indicating a bug in - // this program or in liblzma. It is inconvenient to have a - // separate error message for errors that should be impossible - // to occur, but knowing the error code is important for - // debugging. That's why it is good to print the error code - // at least when there is no good error message to show. - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n", - msg, ret); - return false; -} - - -static bool -compress(lzma_stream *strm, FILE *infile, FILE *outfile) -{ - // This will be LZMA_RUN until the end of the input file is reached. - // This tells lzma_code() when there will be no more input. - lzma_action action = LZMA_RUN; - - // Buffers to temporarily hold uncompressed input - // and compressed output. - uint8_t inbuf[BUFSIZ]; - uint8_t outbuf[BUFSIZ]; - - // Initialize the input and output pointers. Initializing next_in - // and avail_in isn't really necessary when we are going to encode - // just one file since LZMA_STREAM_INIT takes care of initializing - // those already. But it doesn't hurt much and it will be needed - // if encoding more than one file like we will in 02_decompress.c. - // - // While we don't care about strm->total_in or strm->total_out in this - // example, it is worth noting that initializing the encoder will - // always reset total_in and total_out to zero. But the encoder - // initialization doesn't touch next_in, avail_in, next_out, or - // avail_out. - strm->next_in = NULL; - strm->avail_in = 0; - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - - // Loop until the file has been successfully compressed or until - // an error occurs. - while (true) { - // Fill the input buffer if it is empty. - if (strm->avail_in == 0 && !feof(infile)) { - strm->next_in = inbuf; - strm->avail_in = fread(inbuf, 1, sizeof(inbuf), - infile); - - if (ferror(infile)) { - fprintf(stderr, "Read error: %s\n", - strerror(errno)); - return false; - } - - // Once the end of the input file has been reached, - // we need to tell lzma_code() that no more input - // will be coming and that it should finish the - // encoding. - if (feof(infile)) - action = LZMA_FINISH; - } - - // Tell liblzma do the actual encoding. - // - // This reads up to strm->avail_in bytes of input starting - // from strm->next_in. avail_in will be decremented and - // next_in incremented by an equal amount to match the - // number of input bytes consumed. - // - // Up to strm->avail_out bytes of compressed output will be - // written starting from strm->next_out. avail_out and next_out - // will be incremented by an equal amount to match the number - // of output bytes written. - // - // The encoder has to do internal buffering, which means that - // it may take quite a bit of input before the same data is - // available in compressed form in the output buffer. - lzma_ret ret = lzma_code(strm, action); - - // If the output buffer is full or if the compression finished - // successfully, write the data from the output bufffer to - // the output file. - if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { - // When lzma_code() has returned LZMA_STREAM_END, - // the output buffer is likely to be only partially - // full. Calculate how much new data there is to - // be written to the output file. - size_t write_size = sizeof(outbuf) - strm->avail_out; - - if (fwrite(outbuf, 1, write_size, outfile) - != write_size) { - fprintf(stderr, "Write error: %s\n", - strerror(errno)); - return false; - } - - // Reset next_out and avail_out. - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - } - - // Normally the return value of lzma_code() will be LZMA_OK - // until everything has been encoded. - if (ret != LZMA_OK) { - // Once everything has been encoded successfully, the - // return value of lzma_code() will be LZMA_STREAM_END. - // - // It is important to check for LZMA_STREAM_END. Do not - // assume that getting ret != LZMA_OK would mean that - // everything has gone well. - if (ret == LZMA_STREAM_END) - return true; - - // It's not LZMA_OK nor LZMA_STREAM_END, - // so it must be an error code. See lzma/base.h - // (src/liblzma/api/lzma/base.h in the source package - // or e.g. /usr/include/lzma/base.h depending on the - // install prefix) for the list and documentation of - // possible values. Most values listen in lzma_ret - // enumeration aren't possible in this example. - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_DATA_ERROR: - // This error is returned if the compressed - // or uncompressed size get near 8 EiB - // (2^63 bytes) because that's where the .xz - // file format size limits currently are. - // That is, the possibility of this error - // is mostly theoretical unless you are doing - // something very unusual. - // - // Note that strm->total_in and strm->total_out - // have nothing to do with this error. Changing - // those variables won't increase or decrease - // the chance of getting this error. - msg = "File size limits exceeded"; - break; - - default: - // This is most likely LZMA_PROG_ERROR, but - // if this program is buggy (or liblzma has - // a bug), it may be e.g. LZMA_BUF_ERROR or - // LZMA_OPTIONS_ERROR too. - // - // It is inconvenient to have a separate - // error message for errors that should be - // impossible to occur, but knowing the error - // code is important for debugging. That's why - // it is good to print the error code at least - // when there is no good error message to show. - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "Encoder error: %s (error code %u)\n", - msg, ret); - return false; - } - } -} - - -extern int -main(int argc, char **argv) -{ - // Get the preset number from the command line. - uint32_t preset = get_preset(argc, argv); - - // Initialize a lzma_stream structure. When it is allocated on stack, - // it is simplest to use LZMA_STREAM_INIT macro like below. When it - // is allocated on heap, using memset(strmptr, 0, sizeof(*strmptr)) - // works (as long as NULL pointers are represented with zero bits - // as they are on practically all computers today). - lzma_stream strm = LZMA_STREAM_INIT; - - // Initialize the encoder. If it succeeds, compress from - // stdin to stdout. - bool success = init_encoder(&strm, preset); - if (success) - success = compress(&strm, stdin, stdout); - - // Free the memory allocated for the encoder. If we were encoding - // multiple files, this would only need to be done after the last - // file. See 02_decompress.c for handling of multiple files. - // - // It is OK to call lzma_end() multiple times or when it hasn't been - // actually used except initialized with LZMA_STREAM_INIT. - lzma_end(&strm); - - // Close stdout to catch possible write errors that can occur - // when pending data is flushed from the stdio buffers. - if (fclose(stdout)) { - fprintf(stderr, "Write error: %s\n", strerror(errno)); - success = false; - } - - return success ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/Build/source/extra/xz/doc/examples/02_decompress.c b/Build/source/extra/xz/doc/examples/02_decompress.c deleted file mode 100644 index 4c0f37cbc57..00000000000 --- a/Build/source/extra/xz/doc/examples/02_decompress.c +++ /dev/null @@ -1,287 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file 02_decompress.c -/// \brief Decompress .xz files to stdout -/// -/// Usage: ./02_decompress INPUT_FILES... > OUTFILE -/// -/// Example: ./02_decompress foo.xz bar.xz > foobar -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include - - -static bool -init_decoder(lzma_stream *strm) -{ - // Initialize a .xz decoder. The decoder supports a memory usage limit - // and a set of flags. - // - // The memory usage of the decompressor depends on the settings used - // to compress a .xz file. It can vary from less than a megabyte to - // a few gigabytes, but in practice (at least for now) it rarely - // exceeds 65 MiB because that's how much memory is required to - // decompress files created with "xz -9". Settings requiring more - // memory take extra effort to use and don't (at least for now) - // provide significantly better compression in most cases. - // - // Memory usage limit is useful if it is important that the - // decompressor won't consume gigabytes of memory. The need - // for limiting depends on the application. In this example, - // no memory usage limiting is used. This is done by setting - // the limit to UINT64_MAX. - // - // The .xz format allows concatenating compressed files as is: - // - // echo foo | xz > foobar.xz - // echo bar | xz >> foobar.xz - // - // When decompressing normal standalone .xz files, LZMA_CONCATENATED - // should always be used to support decompression of concatenated - // .xz files. If LZMA_CONCATENATED isn't used, the decoder will stop - // after the first .xz stream. This can be useful when .xz data has - // been embedded inside another file format. - // - // Flags other than LZMA_CONCATENATED are supported too, and can - // be combined with bitwise-or. See lzma/container.h - // (src/liblzma/api/lzma/container.h in the source package or e.g. - // /usr/include/lzma/container.h depending on the install prefix) - // for details. - lzma_ret ret = lzma_stream_decoder( - strm, UINT64_MAX, LZMA_CONCATENATED); - - // Return successfully if the initialization went fine. - if (ret == LZMA_OK) - return true; - - // Something went wrong. The possible errors are documented in - // lzma/container.h (src/liblzma/api/lzma/container.h in the source - // package or e.g. /usr/include/lzma/container.h depending on the - // install prefix). - // - // Note that LZMA_MEMLIMIT_ERROR is never possible here. If you - // specify a very tiny limit, the error will be delayed until - // the first headers have been parsed by a call to lzma_code(). - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_OPTIONS_ERROR: - msg = "Unsupported decompressor flags"; - break; - - default: - // This is most likely LZMA_PROG_ERROR indicating a bug in - // this program or in liblzma. It is inconvenient to have a - // separate error message for errors that should be impossible - // to occur, but knowing the error code is important for - // debugging. That's why it is good to print the error code - // at least when there is no good error message to show. - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "Error initializing the decoder: %s (error code %u)\n", - msg, ret); - return false; -} - - -static bool -decompress(lzma_stream *strm, const char *inname, FILE *infile, FILE *outfile) -{ - // When LZMA_CONCATENATED flag was used when initializing the decoder, - // we need to tell lzma_code() when there will be no more input. - // This is done by setting action to LZMA_FINISH instead of LZMA_RUN - // in the same way as it is done when encoding. - // - // When LZMA_CONCATENATED isn't used, there is no need to use - // LZMA_FINISH to tell when all the input has been read, but it - // is still OK to use it if you want. When LZMA_CONCATENATED isn't - // used, the decoder will stop after the first .xz stream. In that - // case some unused data may be left in strm->next_in. - lzma_action action = LZMA_RUN; - - uint8_t inbuf[BUFSIZ]; - uint8_t outbuf[BUFSIZ]; - - strm->next_in = NULL; - strm->avail_in = 0; - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - - while (true) { - if (strm->avail_in == 0 && !feof(infile)) { - strm->next_in = inbuf; - strm->avail_in = fread(inbuf, 1, sizeof(inbuf), - infile); - - if (ferror(infile)) { - fprintf(stderr, "%s: Read error: %s\n", - inname, strerror(errno)); - return false; - } - - // Once the end of the input file has been reached, - // we need to tell lzma_code() that no more input - // will be coming. As said before, this isn't required - // if the LZMA_CONATENATED flag isn't used when - // initializing the decoder. - if (feof(infile)) - action = LZMA_FINISH; - } - - lzma_ret ret = lzma_code(strm, action); - - if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { - size_t write_size = sizeof(outbuf) - strm->avail_out; - - if (fwrite(outbuf, 1, write_size, outfile) - != write_size) { - fprintf(stderr, "Write error: %s\n", - strerror(errno)); - return false; - } - - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - } - - if (ret != LZMA_OK) { - // Once everything has been decoded successfully, the - // return value of lzma_code() will be LZMA_STREAM_END. - // - // It is important to check for LZMA_STREAM_END. Do not - // assume that getting ret != LZMA_OK would mean that - // everything has gone well or that when you aren't - // getting more output it must have successfully - // decoded everything. - if (ret == LZMA_STREAM_END) - return true; - - // It's not LZMA_OK nor LZMA_STREAM_END, - // so it must be an error code. See lzma/base.h - // (src/liblzma/api/lzma/base.h in the source package - // or e.g. /usr/include/lzma/base.h depending on the - // install prefix) for the list and documentation of - // possible values. Many values listen in lzma_ret - // enumeration aren't possible in this example, but - // can be made possible by enabling memory usage limit - // or adding flags to the decoder initialization. - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_FORMAT_ERROR: - // .xz magic bytes weren't found. - msg = "The input is not in the .xz format"; - break; - - case LZMA_OPTIONS_ERROR: - // For example, the headers specify a filter - // that isn't supported by this liblzma - // version (or it hasn't been enabled when - // building liblzma, but no-one sane does - // that unless building liblzma for an - // embedded system). Upgrading to a newer - // liblzma might help. - // - // Note that it is unlikely that the file has - // accidentally became corrupt if you get this - // error. The integrity of the .xz headers is - // always verified with a CRC32, so - // unintentionally corrupt files can be - // distinguished from unsupported files. - msg = "Unsupported compression options"; - break; - - case LZMA_DATA_ERROR: - msg = "Compressed file is corrupt"; - break; - - case LZMA_BUF_ERROR: - // Typically this error means that a valid - // file has got truncated, but it might also - // be a damaged part in the file that makes - // the decoder think the file is truncated. - // If you prefer, you can use the same error - // message for this as for LZMA_DATA_ERROR. - msg = "Compressed file is truncated or " - "otherwise corrupt"; - break; - - default: - // This is most likely LZMA_PROG_ERROR. - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "%s: Decoder error: " - "%s (error code %u)\n", - inname, msg, ret); - return false; - } - } -} - - -extern int -main(int argc, char **argv) -{ - if (argc <= 1) { - fprintf(stderr, "Usage: %s FILES...\n", argv[0]); - return EXIT_FAILURE; - } - - lzma_stream strm = LZMA_STREAM_INIT; - - bool success = true; - - // Try to decompress all files. - for (int i = 1; i < argc; ++i) { - if (!init_decoder(&strm)) { - // Decoder initialization failed. There's no point - // to retry it so we need to exit. - success = false; - break; - } - - FILE *infile = fopen(argv[i], "rb"); - - if (infile == NULL) { - fprintf(stderr, "%s: Error opening the " - "input file: %s\n", - argv[i], strerror(errno)); - success = false; - } else { - success &= decompress(&strm, argv[i], infile, stdout); - fclose(infile); - } - } - - // Free the memory allocated for the decoder. This only needs to be - // done after the last file. - lzma_end(&strm); - - if (fclose(stdout)) { - fprintf(stderr, "Write error: %s\n", strerror(errno)); - success = false; - } - - return success ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/Build/source/extra/xz/doc/examples/03_compress_custom.c b/Build/source/extra/xz/doc/examples/03_compress_custom.c deleted file mode 100644 index 51abbb171ef..00000000000 --- a/Build/source/extra/xz/doc/examples/03_compress_custom.c +++ /dev/null @@ -1,193 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file 03_compress_custom.c -/// \brief Compress in multi-call mode using x86 BCJ and LZMA2 -/// -/// Usage: ./03_compress_custom < INFILE > OUTFILE -/// -/// Example: ./03_compress_custom < foo > foo.xz -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include -#include -#include - - -static bool -init_encoder(lzma_stream *strm) -{ - // Use the default preset (6) for LZMA2. - // - // The lzma_options_lzma structure and the lzma_lzma_preset() function - // are declared in lzma/lzma.h (src/liblzma/api/lzma/lzma.h in the - // source package or e.g. /usr/include/lzma/lzma.h depending on - // the install prefix). - lzma_options_lzma opt_lzma2; - if (lzma_lzma_preset(&opt_lzma2, LZMA_PRESET_DEFAULT)) { - // It should never fail because the default preset - // (and presets 0-9 optionally with LZMA_PRESET_EXTREME) - // are supported by all stable liblzma versions. - // - // (The encoder initialization later in this function may - // still fail due to unsupported preset *if* the features - // required by the preset have been disabled at build time, - // but no-one does such things except on embedded systems.) - fprintf(stderr, "Unsupported preset, possibly a bug\n"); - return false; - } - - // Now we could customize the LZMA2 options if we wanted. For example, - // we could set the the dictionary size (opt_lzma2.dict_size) to - // something else than the default (8 MiB) of the default preset. - // See lzma/lzma.h for details of all LZMA2 options. - // - // The x86 BCJ filter will try to modify the x86 instruction stream so - // that LZMA2 can compress it better. The x86 BCJ filter doesn't need - // any options so it will be set to NULL below. - // - // Construct the filter chain. The uncompressed data goes first to - // the first filter in the array, in this case the x86 BCJ filter. - // The array is always terminated by setting .id = LZMA_VLI_UNKNOWN. - // - // See lzma/filter.h for more information about the lzma_filter - // structure. - lzma_filter filters[] = { - { .id = LZMA_FILTER_X86, .options = NULL }, - { .id = LZMA_FILTER_LZMA2, .options = &opt_lzma2 }, - { .id = LZMA_VLI_UNKNOWN, .options = NULL }, - }; - - // Initialize the encoder using the custom filter chain. - lzma_ret ret = lzma_stream_encoder(strm, filters, LZMA_CHECK_CRC64); - - if (ret == LZMA_OK) - return true; - - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_OPTIONS_ERROR: - // We are no longer using a plain preset so this error - // message has been edited accordingly compared to - // 01_compress_easy.c. - msg = "Specified filter chain is not supported"; - break; - - case LZMA_UNSUPPORTED_CHECK: - msg = "Specified integrity check is not supported"; - break; - - default: - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "Error initializing the encoder: %s (error code %u)\n", - msg, ret); - return false; -} - - -// This function is identical to the one in 01_compress_easy.c. -static bool -compress(lzma_stream *strm, FILE *infile, FILE *outfile) -{ - lzma_action action = LZMA_RUN; - - uint8_t inbuf[BUFSIZ]; - uint8_t outbuf[BUFSIZ]; - - strm->next_in = NULL; - strm->avail_in = 0; - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - - while (true) { - if (strm->avail_in == 0 && !feof(infile)) { - strm->next_in = inbuf; - strm->avail_in = fread(inbuf, 1, sizeof(inbuf), - infile); - - if (ferror(infile)) { - fprintf(stderr, "Read error: %s\n", - strerror(errno)); - return false; - } - - if (feof(infile)) - action = LZMA_FINISH; - } - - lzma_ret ret = lzma_code(strm, action); - - if (strm->avail_out == 0 || ret == LZMA_STREAM_END) { - size_t write_size = sizeof(outbuf) - strm->avail_out; - - if (fwrite(outbuf, 1, write_size, outfile) - != write_size) { - fprintf(stderr, "Write error: %s\n", - strerror(errno)); - return false; - } - - strm->next_out = outbuf; - strm->avail_out = sizeof(outbuf); - } - - if (ret != LZMA_OK) { - if (ret == LZMA_STREAM_END) - return true; - - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = "Memory allocation failed"; - break; - - case LZMA_DATA_ERROR: - msg = "File size limits exceeded"; - break; - - default: - msg = "Unknown error, possibly a bug"; - break; - } - - fprintf(stderr, "Encoder error: %s (error code %u)\n", - msg, ret); - return false; - } - } -} - - -extern int -main(void) -{ - lzma_stream strm = LZMA_STREAM_INIT; - - bool success = init_encoder(&strm); - if (success) - success = compress(&strm, stdin, stdout); - - lzma_end(&strm); - - if (fclose(stdout)) { - fprintf(stderr, "Write error: %s\n", strerror(errno)); - success = false; - } - - return success ? EXIT_SUCCESS : EXIT_FAILURE; -} diff --git a/Build/source/extra/xz/doc/examples/Makefile b/Build/source/extra/xz/doc/examples/Makefile deleted file mode 100644 index 644dc32ee7b..00000000000 --- a/Build/source/extra/xz/doc/examples/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -CC = c99 -CFLAGS = -g -LDFLAGS = -llzma - -PROGS = \ - 01_compress_easy \ - 02_decompress \ - 03_compress_custom - -all: $(PROGS) - -.c: - $(CC) $(CFLAGS) -o $@ $< $(LDFLAGS) - -clean: - -rm -f $(PROGS) diff --git a/Build/source/extra/xz/doc/examples_old/xz_pipe_comp.c b/Build/source/extra/xz/doc/examples_old/xz_pipe_comp.c deleted file mode 100644 index 9f9224bcad9..00000000000 --- a/Build/source/extra/xz/doc/examples_old/xz_pipe_comp.c +++ /dev/null @@ -1,127 +0,0 @@ -/* - * xz_pipe_comp.c - * A simple example of pipe-only xz compressor implementation. - * version: 2010-07-12 - by Daniel Mealha Cabrita - * Not copyrighted -- provided to the public domain. - * - * Compiling: - * Link with liblzma. GCC example: - * $ gcc -llzma xz_pipe_comp.c -o xz_pipe_comp - * - * Usage example: - * $ cat some_file | ./xz_pipe_comp > some_file.xz - */ - -#include -#include -#include -#include -#include - - -/* COMPRESSION SETTINGS */ - -/* analogous to xz CLI options: -0 to -9 */ -#define COMPRESSION_LEVEL 6 - -/* boolean setting, analogous to xz CLI option: -e */ -#define COMPRESSION_EXTREME true - -/* see: /usr/include/lzma/check.h LZMA_CHECK_* */ -#define INTEGRITY_CHECK LZMA_CHECK_CRC64 - - -/* read/write buffer sizes */ -#define IN_BUF_MAX 4096 -#define OUT_BUF_MAX 4096 - -/* error codes */ -#define RET_OK 0 -#define RET_ERROR_INIT 1 -#define RET_ERROR_INPUT 2 -#define RET_ERROR_OUTPUT 3 -#define RET_ERROR_COMPRESSION 4 - - -/* note: in_file and out_file must be open already */ -int xz_compress (FILE *in_file, FILE *out_file) -{ - uint32_t preset = COMPRESSION_LEVEL | (COMPRESSION_EXTREME ? LZMA_PRESET_EXTREME : 0); - lzma_check check = INTEGRITY_CHECK; - lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */ - uint8_t in_buf [IN_BUF_MAX]; - uint8_t out_buf [OUT_BUF_MAX]; - size_t in_len; /* length of useful data in in_buf */ - size_t out_len; /* length of useful data in out_buf */ - bool in_finished = false; - bool out_finished = false; - lzma_action action; - lzma_ret ret_xz; - int ret; - - ret = RET_OK; - - /* initialize xz encoder */ - ret_xz = lzma_easy_encoder (&strm, preset, check); - if (ret_xz != LZMA_OK) { - fprintf (stderr, "lzma_easy_encoder error: %d\n", (int) ret_xz); - return RET_ERROR_INIT; - } - - while ((! in_finished) && (! out_finished)) { - /* read incoming data */ - in_len = fread (in_buf, 1, IN_BUF_MAX, in_file); - - if (feof (in_file)) { - in_finished = true; - } - if (ferror (in_file)) { - in_finished = true; - ret = RET_ERROR_INPUT; - } - - strm.next_in = in_buf; - strm.avail_in = in_len; - - /* if no more data from in_buf, flushes the - internal xz buffers and closes the xz data - with LZMA_FINISH */ - action = in_finished ? LZMA_FINISH : LZMA_RUN; - - /* loop until there's no pending compressed output */ - do { - /* out_buf is clean at this point */ - strm.next_out = out_buf; - strm.avail_out = OUT_BUF_MAX; - - /* compress data */ - ret_xz = lzma_code (&strm, action); - - if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) { - fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz); - out_finished = true; - ret = RET_ERROR_COMPRESSION; - } else { - /* write compressed data */ - out_len = OUT_BUF_MAX - strm.avail_out; - fwrite (out_buf, 1, out_len, out_file); - if (ferror (out_file)) { - out_finished = true; - ret = RET_ERROR_OUTPUT; - } - } - } while (strm.avail_out == 0); - } - - lzma_end (&strm); - return ret; -} - -int main () -{ - int ret; - - ret = xz_compress (stdin, stdout); - return ret; -} - diff --git a/Build/source/extra/xz/doc/examples_old/xz_pipe_decomp.c b/Build/source/extra/xz/doc/examples_old/xz_pipe_decomp.c deleted file mode 100644 index fb5ad89515d..00000000000 --- a/Build/source/extra/xz/doc/examples_old/xz_pipe_decomp.c +++ /dev/null @@ -1,123 +0,0 @@ -/* - * xz_pipe_decomp.c - * A simple example of pipe-only xz decompressor implementation. - * version: 2012-06-14 - by Daniel Mealha Cabrita - * Not copyrighted -- provided to the public domain. - * - * Compiling: - * Link with liblzma. GCC example: - * $ gcc -llzma xz_pipe_decomp.c -o xz_pipe_decomp - * - * Usage example: - * $ cat some_file.xz | ./xz_pipe_decomp > some_file - */ - -#include -#include -#include -#include -#include - - -/* read/write buffer sizes */ -#define IN_BUF_MAX 4096 -#define OUT_BUF_MAX 4096 - -/* error codes */ -#define RET_OK 0 -#define RET_ERROR_INIT 1 -#define RET_ERROR_INPUT 2 -#define RET_ERROR_OUTPUT 3 -#define RET_ERROR_DECOMPRESSION 4 - - -/* note: in_file and out_file must be open already */ -int xz_decompress (FILE *in_file, FILE *out_file) -{ - lzma_stream strm = LZMA_STREAM_INIT; /* alloc and init lzma_stream struct */ - const uint32_t flags = LZMA_TELL_UNSUPPORTED_CHECK | LZMA_CONCATENATED; - const uint64_t memory_limit = UINT64_MAX; /* no memory limit */ - uint8_t in_buf [IN_BUF_MAX]; - uint8_t out_buf [OUT_BUF_MAX]; - size_t in_len; /* length of useful data in in_buf */ - size_t out_len; /* length of useful data in out_buf */ - bool in_finished = false; - bool out_finished = false; - lzma_action action; - lzma_ret ret_xz; - int ret; - - ret = RET_OK; - - /* initialize xz decoder */ - ret_xz = lzma_stream_decoder (&strm, memory_limit, flags); - if (ret_xz != LZMA_OK) { - fprintf (stderr, "lzma_stream_decoder error: %d\n", (int) ret_xz); - return RET_ERROR_INIT; - } - - while ((! in_finished) && (! out_finished)) { - /* read incoming data */ - in_len = fread (in_buf, 1, IN_BUF_MAX, in_file); - - if (feof (in_file)) { - in_finished = true; - } - if (ferror (in_file)) { - in_finished = true; - ret = RET_ERROR_INPUT; - } - - strm.next_in = in_buf; - strm.avail_in = in_len; - - /* if no more data from in_buf, flushes the - internal xz buffers and closes the decompressed data - with LZMA_FINISH */ - action = in_finished ? LZMA_FINISH : LZMA_RUN; - - /* loop until there's no pending decompressed output */ - do { - /* out_buf is clean at this point */ - strm.next_out = out_buf; - strm.avail_out = OUT_BUF_MAX; - - /* decompress data */ - ret_xz = lzma_code (&strm, action); - - if ((ret_xz != LZMA_OK) && (ret_xz != LZMA_STREAM_END)) { - fprintf (stderr, "lzma_code error: %d\n", (int) ret_xz); - out_finished = true; - ret = RET_ERROR_DECOMPRESSION; - } else { - /* write decompressed data */ - out_len = OUT_BUF_MAX - strm.avail_out; - fwrite (out_buf, 1, out_len, out_file); - if (ferror (out_file)) { - out_finished = true; - ret = RET_ERROR_OUTPUT; - } - } - } while (strm.avail_out == 0); - } - - /* Bug fix (2012-06-14): If no errors were detected, check - that the last lzma_code() call returned LZMA_STREAM_END. - If not, the file is probably truncated. */ - if ((ret == RET_OK) && (ret_xz != LZMA_STREAM_END)) { - fprintf (stderr, "Input truncated or corrupt\n"); - ret = RET_ERROR_DECOMPRESSION; - } - - lzma_end (&strm); - return ret; -} - -int main () -{ - int ret; - - ret = xz_decompress (stdin, stdout); - return ret; -} - diff --git a/Build/source/extra/xz/doc/faq.txt b/Build/source/extra/xz/doc/faq.txt deleted file mode 100644 index 333bee09c1c..00000000000 --- a/Build/source/extra/xz/doc/faq.txt +++ /dev/null @@ -1,224 +0,0 @@ - -XZ Utils FAQ -============ - -Q: What do the letters XZ mean? - -A: Nothing. They are just two letters, which come from the file format - suffix .xz. The .xz suffix was selected, because it seemed to be - pretty much unused. It has no deeper meaning. - - -Q: What are LZMA and LZMA2? - -A: LZMA stands for Lempel-Ziv-Markov chain-Algorithm. It is the name - of the compression algorithm designed by Igor Pavlov for 7-Zip. - LZMA is based on LZ77 and range encoding. - - LZMA2 is an updated version of the original LZMA to fix a couple of - practical issues. In context of XZ Utils, LZMA is called LZMA1 to - emphasize that LZMA is not the same thing as LZMA2. LZMA2 is the - primary compression algorithm in the .xz file format. - - -Q: There are many LZMA related projects. How does XZ Utils relate to them? - -A: 7-Zip and LZMA SDK are the original projects. LZMA SDK is roughly - a subset of the 7-Zip source tree. - - p7zip is 7-Zip's command-line tools ported to POSIX-like systems. - - LZMA Utils provide a gzip-like lzma tool for POSIX-like systems. - LZMA Utils are based on LZMA SDK. XZ Utils are the successor to - LZMA Utils. - - There are several other projects using LZMA. Most are more or less - based on LZMA SDK. See . - - -Q: Why is liblzma named liblzma if its primary file format is .xz? - Shouldn't it be e.g. libxz? - -A: When the designing of the .xz format began, the idea was to replace - the .lzma format and use the same .lzma suffix. It would have been - quite OK to reuse the suffix when there were very few .lzma files - around. However, the old .lzma format became popular before the - new format was finished. The new format was renamed to .xz but the - name of liblzma wasn't changed. - - -Q: Do XZ Utils support the .7z format? - -A: No. Use 7-Zip (Windows) or p7zip (POSIX-like systems) to handle .7z - files. - - -Q: I have many .tar.7z files. Can I convert them to .tar.xz without - spending hours recompressing the data? - -A: In the "extra" directory, there is a script named 7z2lzma.bash which - is able to convert some .7z files to the .lzma format (not .xz). It - needs the 7za (or 7z) command from p7zip. The script may silently - produce corrupt output if certain assumptions are not met, so - decompress the resulting .lzma file and compare it against the - original before deleting the original file! - - -Q: I have many .lzma files. Can I quickly convert them to the .xz format? - -A: For now, no. Since XZ Utils supports the .lzma format, it's usually - not too bad to keep the old files in the old format. If you want to - do the conversion anyway, you need to decompress the .lzma files and - then recompress to the .xz format. - - Technically, there is a way to make the conversion relatively fast - (roughly twice the time that normal decompression takes). Writing - such a tool would take quite a bit of time though, and would probably - be useful to only a few people. If you really want such a conversion - tool, contact Lasse Collin and offer some money. - - -Q: I have installed xz, but my tar doesn't recognize .tar.xz files. - How can I extract .tar.xz files? - -A: xz -dc foo.tar.xz | tar xf - - - -Q: Can I recover parts of a broken .xz file (e.g. a corrupted CD-R)? - -A: It may be possible if the file consists of multiple blocks, which - typically is not the case if the file was created in single-threaded - mode. There is no recovery program yet. - - -Q: Is (some part of) XZ Utils patented? - -A: Lasse Collin is not aware of any patents that could affect XZ Utils. - However, due to the nature of software patents, it's not possible to - guarantee that XZ Utils isn't affected by any third party patent(s). - - -Q: Where can I find documentation about the file format and algorithms? - -A: The .xz format is documented in xz-file-format.txt. It is a container - format only, and doesn't include descriptions of any non-trivial - filters. - - Documenting LZMA and LZMA2 is planned, but for now, there is no other - documentation than the source code. Before you begin, you should know - the basics of LZ77 and range-coding algorithms. LZMA is based on LZ77, - but LZMA is a lot more complex. Range coding is used to compress - the final bitstream like Huffman coding is used in Deflate. - - -Q: I cannot find BCJ and BCJ2 filters. Don't they exist in liblzma? - -A: BCJ filter is called "x86" in liblzma. BCJ2 is not included, - because it requires using more than one encoded output stream. - A streamable version of BCJ2-style filtering is planned. - - -Q: I need to use a script that runs "xz -9". On a system with 256 MiB - of RAM, xz says that it cannot allocate memory. Can I make the - script work without modifying it? - -A: Set a default memory usage limit for compression. You can do it e.g. - in a shell initialization script such as ~/.bashrc or /etc/profile: - - XZ_DEFAULTS=--memlimit-compress=150MiB - export XZ_DEFAULTS - - xz will then scale the compression settings down so that the given - memory usage limit is not reached. This way xz shouldn't run out - of memory. - - Check also that memory-related resource limits are high enough. - On most systems, "ulimit -a" will show the current resource limits. - - -Q: How do I create files that can be decompressed with XZ Embedded? - -A: See the documentation in XZ Embedded. In short, something like - this is a good start: - - xz --check=crc32 --lzma2=preset=6e,dict=64KiB - - Or if a BCJ filter is needed too, e.g. if compressing - a kernel image for PowerPC: - - xz --check=crc32 --powerpc --lzma2=preset=6e,dict=64KiB - - Adjust the dictionary size to get a good compromise between - compression ratio and decompressor memory usage. Note that - in single-call decompression mode of XZ Embedded, a big - dictionary doesn't increase memory usage. - - -Q: Will xz support threaded compression? - -A: It is planned and has been taken into account when designing - the .xz file format. Eventually there will probably be three types - of threading, each method having its own advantages and disadvantages. - - The simplest method is splitting the uncompressed data into blocks - and compressing them in parallel independent from each other. - Since the blocks are compressed independently, they can also be - decompressed independently. Together with the index feature in .xz, - this allows using threads to create .xz files for random-access - reading. This also makes threaded decompression possible, although - it is not clear if threaded decompression will ever be implemented. - - The independent blocks method has a couple of disadvantages too. It - will compress worse than a single-block method. Often the difference - is not too big (maybe 1-2 %) but sometimes it can be too big. Also, - the memory usage of the compressor increases linearly when adding - threads. - - Match finder parallelization is another threading method. It has - been in 7-Zip for ages. It doesn't affect compression ratio or - memory usage significantly. Among the three threading methods, only - this is useful when compressing small files (files that are not - significantly bigger than the dictionary). Unfortunately this method - scales only to about two CPU cores. - - The third method is pigz-style threading (I use that name, because - pigz uses that method). It doesn't - affect compression ratio significantly and scales to many cores. - The memory usage scales linearly when threads are added. This isn't - significant with pigz, because Deflate uses only a 32 KiB dictionary, - but with LZMA2 the memory usage will increase dramatically just like - with the independent-blocks method. There is also a constant - computational overhead, which may make pigz-method a bit dull on - dual-core compared to the parallel match finder method, but with more - cores the overhead is not a big deal anymore. - - Combining the threading methods will be possible and also useful. - E.g. combining match finder parallelization with pigz-style threading - can cut the memory usage by 50 %. - - It is possible that the single-threaded method will be modified to - create files identical to the pigz-style method. We'll see once - pigz-style threading has been implemented in liblzma. - - -Q: How do I build a program that needs liblzmadec (lzmadec.h)? - -A: liblzmadec is part of LZMA Utils. XZ Utils has liblzma, but no - liblzmadec. The code using liblzmadec should be ported to use - liblzma instead. If you cannot or don't want to do that, download - LZMA Utils from . - - -Q: The default build of liblzma is too big. How can I make it smaller? - -A: Give --enable-small to the configure script. Use also appropriate - --enable or --disable options to include only those filter encoders - and decoders and integrity checks that you actually need. Use - CFLAGS=-Os (with GCC) or equivalent to tell your compiler to optimize - for size. See INSTALL for information about configure options. - - If the result is still too big, take a look at XZ Embedded. It is - a separate project, which provides a limited but significantly - smaller XZ decoder implementation than XZ Utils. You can find it - at . - diff --git a/Build/source/extra/xz/doc/history.txt b/Build/source/extra/xz/doc/history.txt deleted file mode 100644 index 8545e232254..00000000000 --- a/Build/source/extra/xz/doc/history.txt +++ /dev/null @@ -1,150 +0,0 @@ - -History of LZMA Utils and XZ Utils -================================== - -Tukaani distribution - - In 2005, there was a small group working on the Tukaani distribution, - which was a Slackware fork. One of the project's goals was to fit the - distro on a single 700 MiB ISO-9660 image. Using LZMA instead of gzip - helped a lot. Roughly speaking, one could fit data that took 1000 MiB - in gzipped form into 700 MiB with LZMA. Naturally, the compression - ratio varied across packages, but this was what we got on average. - - Slackware packages have traditionally had .tgz as the filename suffix, - which is an abbreviation of .tar.gz. A logical naming for LZMA - compressed packages was .tlz, being an abbreviation of .tar.lzma. - - At the end of the year 2007, there was no distribution under the - Tukaani project anymore, but development of LZMA Utils was kept going. - Still, there were .tlz packages around, because at least Vector Linux - (a Slackware based distribution) used LZMA for its packages. - - First versions of the modified pkgtools used the LZMA_Alone tool from - Igor Pavlov's LZMA SDK as is. It was fine, because users wouldn't need - to interact with LZMA_Alone directly. But people soon wanted to use - LZMA for other files too, and the interface of LZMA_Alone wasn't - comfortable for those used to gzip and bzip2. - - -First steps of LZMA Utils - - The first version of LZMA Utils (4.22.0) included a shell script called - lzmash. It was a wrapper that had a gzip-like command-line interface. It - used the LZMA_Alone tool from LZMA SDK to do all the real work. zgrep, - zdiff, and related scripts from gzip were adapted to work with LZMA and - were part of the first LZMA Utils release too. - - LZMA Utils 4.22.0 included also lzmadec, which was a small (less than - 10 KiB) decoder-only command-line tool. It was written on top of the - decoder-only C code found from the LZMA SDK. lzmadec was convenient in - situations where LZMA_Alone (a few hundred KiB) would be too big. - - lzmash and lzmadec were written by Lasse Collin. - - -Second generation - - The lzmash script was an ugly and not very secure hack. The last - version of LZMA Utils to use lzmash was 4.27.1. - - LZMA Utils 4.32.0beta1 introduced a new lzma command-line tool written - by Ville Koskinen. It was written in C++, and used the encoder and - decoder from C++ LZMA SDK with some little modifications. This tool - replaced both the lzmash script and the LZMA_Alone command-line tool - in LZMA Utils. - - Introducing this new tool caused some temporary incompatibilities, - because the LZMA_Alone executable was simply named lzma like the new - command-line tool, but they had a completely different command-line - interface. The file format was still the same. - - Lasse wrote liblzmadec, which was a small decoder-only library based - on the C code found from LZMA SDK. liblzmadec had an API similar to - zlib, although there were some significant differences, which made it - non-trivial to use it in some applications designed for zlib and - libbzip2. - - The lzmadec command-line tool was converted to use liblzmadec. - - Alexandre Sauvé helped converting the build system to use GNU - Autotools. This made it easier to test for certain less portable - features needed by the new command-line tool. - - Since the new command-line tool never got completely finished (for - example, it didn't support the LZMA_OPT environment variable), the - intent was to not call 4.32.x stable. Similarly, liblzmadec wasn't - polished, but appeared to work well enough, so some people started - using it too. - - Because the development of the third generation of LZMA Utils was - delayed considerably (3-4 years), the 4.32.x branch had to be kept - maintained. It got some bug fixes now and then, and finally it was - decided to call it stable, although most of the missing features were - never added. - - -File format problems - - The file format used by LZMA_Alone was primitive. It was designed with - embedded systems in mind, and thus provided only a minimal set of - features. The two biggest problems for non-embedded use were the lack - of magic bytes and an integrity check. - - Igor and Lasse started developing a new file format with some help - from Ville Koskinen. Also Mark Adler, Mikko Pouru, H. Peter Anvin, - and Lars Wirzenius helped with some minor things at some point of the - development. Designing the new format took quite a long time (actually, - too long a time would be a more appropriate expression). It was mostly - because Lasse was quite slow at getting things done due to personal - reasons. - - Originally the new format was supposed to use the same .lzma suffix - that was already used by the old file format. Switching to the new - format wouldn't have caused much trouble when the old format wasn't - used by many people. But since the development of the new format took - such a long time, the old format got quite popular, and it was decided - that the new file format must use a different suffix. - - It was decided to use .xz as the suffix of the new file format. The - first stable .xz file format specification was finally released in - December 2008. In addition to fixing the most obvious problems of - the old .lzma format, the .xz format added some new features like - support for multiple filters (compression algorithms), filter chaining - (like piping on the command line), and limited random-access reading. - - Currently the primary compression algorithm used in .xz is LZMA2. - It is an extension on top of the original LZMA to fix some practical - problems: LZMA2 adds support for flushing the encoder, uncompressed - chunks, eases stateful decoder implementations, and improves support - for multithreading. Since LZMA2 is better than the original LZMA, the - original LZMA is not supported in .xz. - - -Transition to XZ Utils - - The early versions of XZ Utils were called LZMA Utils. The first - releases were 4.42.0alphas. They dropped the rest of the C++ LZMA SDK. - The code was still directly based on LZMA SDK but ported to C and - converted from a callback API to a stateful API. Later, Igor Pavlov - made a C version of the LZMA encoder too; these ports from C++ to C - were independent in LZMA SDK and LZMA Utils. - - The core of the new LZMA Utils was liblzma, a compression library with - a zlib-like API. liblzma supported both the old and new file format. - The gzip-like lzma command-line tool was rewritten to use liblzma. - - The new LZMA Utils code base was renamed to XZ Utils when the name - of the new file format had been decided. The liblzma compression - library retained its name though, because changing it would have - caused unnecessary breakage in applications already using the early - liblzma snapshots. - - The xz command-line tool can emulate the gzip-like lzma tool by - creating appropriate symlinks (e.g. lzma -> xz). Thus, practically - all scripts using the lzma tool from LZMA Utils will work as is with - XZ Utils (and will keep using the old .lzma format). Still, the .lzma - format is more or less deprecated. XZ Utils will keep supporting it, - but new applications should use the .xz format, and migrating old - applications to .xz is often a good idea too. - diff --git a/Build/source/extra/xz/doc/lzma-file-format.txt b/Build/source/extra/xz/doc/lzma-file-format.txt deleted file mode 100644 index 015b0fae628..00000000000 --- a/Build/source/extra/xz/doc/lzma-file-format.txt +++ /dev/null @@ -1,166 +0,0 @@ - -The .lzma File Format -===================== - - 0. Preface - 0.1. Notices and Acknowledgements - 0.2. Changes - 1. File Format - 1.1. Header - 1.1.1. Properties - 1.1.2. Dictionary Size - 1.1.3. Uncompressed Size - 1.2. LZMA Compressed Data - 2. References - - -0. Preface - - This document describes the .lzma file format, which is - sometimes also called LZMA_Alone format. It is a legacy file - format, which is being or has been replaced by the .xz format. - The MIME type of the .lzma format is `application/x-lzma'. - - The most commonly used software to handle .lzma files are - LZMA SDK, LZMA Utils, 7-Zip, and XZ Utils. This document - describes some of the differences between these implementations - and gives hints what subset of the .lzma format is the most - portable. - - -0.1. Notices and Acknowledgements - - This file format was designed by Igor Pavlov for use in - LZMA SDK. This document was written by Lasse Collin - using the documentation found - from the LZMA SDK. - - This document has been put into the public domain. - - -0.2. Changes - - Last modified: 2011-04-12 11:55+0300 - - -1. File Format - - +-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+ - | Header | LZMA Compressed Data | - +-+-+-+-+-+-+-+-+-+-+-+-+-+==========================+ - - The .lzma format file consist of 13-byte Header followed by - the LZMA Compressed Data. - - Unlike the .gz, .bz2, and .xz formats, it is not possible to - concatenate multiple .lzma files as is and expect the - decompression tool to decode the resulting file as if it were - a single .lzma file. - - For example, the command line tools from LZMA Utils and - LZMA SDK silently ignore all the data after the first .lzma - stream. In contrast, the command line tool from XZ Utils - considers the .lzma file to be corrupt if there is data after - the first .lzma stream. - - -1.1. Header - - +------------+----+----+----+----+--+--+--+--+--+--+--+--+ - | Properties | Dictionary Size | Uncompressed Size | - +------------+----+----+----+----+--+--+--+--+--+--+--+--+ - - -1.1.1. Properties - - The Properties field contains three properties. An abbreviation - is given in parentheses, followed by the value range of the - property. The field consists of - - 1) the number of literal context bits (lc, [0, 8]); - 2) the number of literal position bits (lp, [0, 4]); and - 3) the number of position bits (pb, [0, 4]). - - The properties are encoded using the following formula: - - Properties = (pb * 5 + lp) * 9 + lc - - The following C code illustrates a straightforward way to - decode the Properties field: - - uint8_t lc, lp, pb; - uint8_t prop = get_lzma_properties(); - if (prop > (4 * 5 + 4) * 9 + 8) - return LZMA_PROPERTIES_ERROR; - - pb = prop / (9 * 5); - prop -= pb * 9 * 5; - lp = prop / 9; - lc = prop - lp * 9; - - XZ Utils has an additional requirement: lc + lp <= 4. Files - which don't follow this requirement cannot be decompressed - with XZ Utils. Usually this isn't a problem since the most - common lc/lp/pb values are 3/0/2. It is the only lc/lp/pb - combination that the files created by LZMA Utils can have, - but LZMA Utils can decompress files with any lc/lp/pb. - - -1.1.2. Dictionary Size - - Dictionary Size is stored as an unsigned 32-bit little endian - integer. Any 32-bit value is possible, but for maximum - portability, only sizes of 2^n and 2^n + 2^(n-1) should be - used. - - LZMA Utils creates only files with dictionary size 2^n, - 16 <= n <= 25. LZMA Utils can decompress files with any - dictionary size. - - XZ Utils creates and decompresses .lzma files only with - dictionary sizes 2^n and 2^n + 2^(n-1). If some other - dictionary size is specified when compressing, the value - stored in the Dictionary Size field is a rounded up, but the - specified value is still used in the actual compression code. - - -1.1.3. Uncompressed Size - - Uncompressed Size is stored as unsigned 64-bit little endian - integer. A special value of 0xFFFF_FFFF_FFFF_FFFF indicates - that Uncompressed Size is unknown. End of Payload Marker (*) - is used if and only if Uncompressed Size is unknown. - - XZ Utils rejects files whose Uncompressed Size field specifies - a known size that is 256 GiB or more. This is to reject false - positives when trying to guess if the input file is in the - .lzma format. When Uncompressed Size is unknown, there is no - limit for the uncompressed size of the file. - - (*) Some tools use the term End of Stream (EOS) marker - instead of End of Payload Marker. - - -1.2. LZMA Compressed Data - - Detailed description of the format of this field is out of - scope of this document. - - -2. References - - LZMA SDK - The original LZMA implementation - http://7-zip.org/sdk.html - - 7-Zip - http://7-zip.org/ - - LZMA Utils - LZMA adapted to POSIX-like systems - http://tukaani.org/lzma/ - - XZ Utils - The next generation of LZMA Utils - http://tukaani.org/xz/ - - The .xz file format - The successor of the .lzma format - http://tukaani.org/xz/xz-file-format.txt - diff --git a/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf deleted file mode 100644 index d84ddedb6de..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf deleted file mode 100644 index 5bb20742b2c..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf deleted file mode 100644 index 8bc124b6fb8..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf deleted file mode 100644 index 1a392cc9595..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf deleted file mode 100644 index 48969812363..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf deleted file mode 100644 index 9073d5f17f1..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf b/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf deleted file mode 100644 index 90dd4d642a3..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf deleted file mode 100644 index 053594325ff..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf deleted file mode 100644 index 9bba861effa..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf deleted file mode 100644 index cc5ed1117eb..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf deleted file mode 100644 index 3aeb20aab52..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf deleted file mode 100644 index 5b44f5bd873..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf deleted file mode 100644 index be64177b44b..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf b/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf deleted file mode 100644 index be375355cde..00000000000 Binary files a/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf and /dev/null differ diff --git a/Build/source/extra/xz/doc/man/txt/lzmainfo.txt b/Build/source/extra/xz/doc/man/txt/lzmainfo.txt deleted file mode 100644 index a47a68abd3b..00000000000 --- a/Build/source/extra/xz/doc/man/txt/lzmainfo.txt +++ /dev/null @@ -1,40 +0,0 @@ -LZMAINFO(1) XZ Utils LZMAINFO(1) - - - -NAME - lzmainfo - show information stored in the .lzma file header - -SYNOPSIS - lzmainfo [--help] [--version] [file...] - -DESCRIPTION - lzmainfo shows information stored in the .lzma file header. It reads - the first 13 bytes from the specified file, decodes the header, and - prints it to standard output in human readable format. If no files are - given or file is -, standard input is read. - - Usually the most interesting information is the uncompressed size and - the dictionary size. Uncompressed size can be shown only if the file - is in the non-streamed .lzma format variant. The amount of memory - required to decompress the file is a few dozen kilobytes plus the dic- - tionary size. - - lzmainfo is included in XZ Utils primarily for backward compatibility - with LZMA Utils. - -EXIT STATUS - 0 All is good. - - 1 An error occurred. - -BUGS - lzmainfo uses MB while the correct suffix would be MiB (2^20 bytes). - This is to keep the output compatible with LZMA Utils. - -SEE ALSO - xz(1) - - - -Tukaani 2013-06-30 LZMAINFO(1) diff --git a/Build/source/extra/xz/doc/man/txt/xz.txt b/Build/source/extra/xz/doc/man/txt/xz.txt deleted file mode 100644 index 90486f90311..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xz.txt +++ /dev/null @@ -1,1377 +0,0 @@ -XZ(1) XZ Utils XZ(1) - - - -NAME - xz, unxz, xzcat, lzma, unlzma, lzcat - Compress or decompress .xz and - .lzma files - -SYNOPSIS - xz [option...] [file...] - -COMMAND ALIASES - unxz is equivalent to xz --decompress. - xzcat is equivalent to xz --decompress --stdout. - lzma is equivalent to xz --format=lzma. - unlzma is equivalent to xz --format=lzma --decompress. - lzcat is equivalent to xz --format=lzma --decompress --stdout. - - When writing scripts that need to decompress files, it is recommended - to always use the name xz with appropriate arguments (xz -d or xz -dc) - instead of the names unxz and xzcat. - -DESCRIPTION - xz is a general-purpose data compression tool with command line syntax - similar to gzip(1) and bzip2(1). The native file format is the .xz - format, but the legacy .lzma format used by LZMA Utils and raw com- - pressed streams with no container format headers are also supported. - - xz compresses or decompresses each file according to the selected oper- - ation mode. If no files are given or file is -, xz reads from standard - input and writes the processed data to standard output. xz will refuse - (display an error and skip the file) to write compressed data to stan- - dard output if it is a terminal. Similarly, xz will refuse to read - compressed data from standard input if it is a terminal. - - Unless --stdout is specified, files other than - are written to a new - file whose name is derived from the source file name: - - o When compressing, the suffix of the target file format (.xz or - .lzma) is appended to the source filename to get the target file- - name. - - o When decompressing, the .xz or .lzma suffix is removed from the - filename to get the target filename. xz also recognizes the suf- - fixes .txz and .tlz, and replaces them with the .tar suffix. - - If the target file already exists, an error is displayed and the file - is skipped. - - Unless writing to standard output, xz will display a warning and skip - the file if any of the following applies: - - o File is not a regular file. Symbolic links are not followed, and - thus they are not considered to be regular files. - - o File has more than one hard link. - - o File has setuid, setgid, or sticky bit set. - - o The operation mode is set to compress and the file already has a - suffix of the target file format (.xz or .txz when compressing to - the .xz format, and .lzma or .tlz when compressing to the .lzma for- - mat). - - o The operation mode is set to decompress and the file doesn't have a - suffix of any of the supported file formats (.xz, .txz, .lzma, or - .tlz). - - After successfully compressing or decompressing the file, xz copies the - owner, group, permissions, access time, and modification time from the - source file to the target file. If copying the group fails, the per- - missions are modified so that the target file doesn't become accessible - to users who didn't have permission to access the source file. xz - doesn't support copying other metadata like access control lists or - extended attributes yet. - - Once the target file has been successfully closed, the source file is - removed unless --keep was specified. The source file is never removed - if the output is written to standard output. - - Sending SIGINFO or SIGUSR1 to the xz process makes it print progress - information to standard error. This has only limited use since when - standard error is a terminal, using --verbose will display an automati- - cally updating progress indicator. - - Memory usage - The memory usage of xz varies from a few hundred kilobytes to several - gigabytes depending on the compression settings. The settings used - when compressing a file determine the memory requirements of the decom- - pressor. Typically the decompressor needs 5 % to 20 % of the amount of - memory that the compressor needed when creating the file. For example, - decompressing a file created with xz -9 currently requires 65 MiB of - memory. Still, it is possible to have .xz files that require several - gigabytes of memory to decompress. - - Especially users of older systems may find the possibility of very - large memory usage annoying. To prevent uncomfortable surprises, xz - has a built-in memory usage limiter, which is disabled by default. - While some operating systems provide ways to limit the memory usage of - processes, relying on it wasn't deemed to be flexible enough (e.g. - using ulimit(1) to limit virtual memory tends to cripple mmap(2)). - - The memory usage limiter can be enabled with the command line option - --memlimit=limit. Often it is more convenient to enable the limiter by - default by setting the environment variable XZ_DEFAULTS, e.g. - XZ_DEFAULTS=--memlimit=150MiB. It is possible to set the limits sepa- - rately for compression and decompression by using --memlimit-com- - press=limit and --memlimit-decompress=limit. Using these two options - outside XZ_DEFAULTS is rarely useful because a single run of xz cannot - do both compression and decompression and --memlimit=limit (or -M - limit) is shorter to type on the command line. - - If the specified memory usage limit is exceeded when decompressing, xz - will display an error and decompressing the file will fail. If the - limit is exceeded when compressing, xz will try to scale the settings - down so that the limit is no longer exceeded (except when using --for- - mat=raw or --no-adjust). This way the operation won't fail unless the - limit is very small. The scaling of the settings is done in steps that - don't match the compression level presets, e.g. if the limit is only - slightly less than the amount required for xz -9, the settings will be - scaled down only a little, not all the way down to xz -8. - - Concatenation and padding with .xz files - It is possible to concatenate .xz files as is. xz will decompress such - files as if they were a single .xz file. - - It is possible to insert padding between the concatenated parts or - after the last part. The padding must consist of null bytes and the - size of the padding must be a multiple of four bytes. This can be use- - ful e.g. if the .xz file is stored on a medium that measures file sizes - in 512-byte blocks. - - Concatenation and padding are not allowed with .lzma files or raw - streams. - -OPTIONS - Integer suffixes and special values - In most places where an integer argument is expected, an optional suf- - fix is supported to easily indicate large integers. There must be no - space between the integer and the suffix. - - KiB Multiply the integer by 1,024 (2^10). Ki, k, kB, K, and KB are - accepted as synonyms for KiB. - - MiB Multiply the integer by 1,048,576 (2^20). Mi, m, M, and MB are - accepted as synonyms for MiB. - - GiB Multiply the integer by 1,073,741,824 (2^30). Gi, g, G, and GB - are accepted as synonyms for GiB. - - The special value max can be used to indicate the maximum integer value - supported by the option. - - Operation mode - If multiple operation mode options are given, the last one takes - effect. - - -z, --compress - Compress. This is the default operation mode when no operation - mode option is specified and no other operation mode is implied - from the command name (for example, unxz implies --decompress). - - -d, --decompress, --uncompress - Decompress. - - -t, --test - Test the integrity of compressed files. This option is equiva- - lent to --decompress --stdout except that the decompressed data - is discarded instead of being written to standard output. No - files are created or removed. - - -l, --list - Print information about compressed files. No uncompressed out- - put is produced, and no files are created or removed. In list - mode, the program cannot read the compressed data from standard - input or from other unseekable sources. - - The default listing shows basic information about files, one - file per line. To get more detailed information, use also the - --verbose option. For even more information, use --verbose - twice, but note that this may be slow, because getting all the - extra information requires many seeks. The width of verbose - output exceeds 80 characters, so piping the output to e.g. - less -S may be convenient if the terminal isn't wide enough. - - The exact output may vary between xz versions and different - locales. For machine-readable output, --robot --list should be - used. - - Operation modifiers - -k, --keep - Don't delete the input files. - - -f, --force - This option has several effects: - - o If the target file already exists, delete it before compress- - ing or decompressing. - - o Compress or decompress even if the input is a symbolic link - to a regular file, has more than one hard link, or has the - setuid, setgid, or sticky bit set. The setuid, setgid, and - sticky bits are not copied to the target file. - - o When used with --decompress --stdout and xz cannot recognize - the type of the source file, copy the source file as is to - standard output. This allows xzcat --force to be used like - cat(1) for files that have not been compressed with xz. Note - that in future, xz might support new compressed file formats, - which may make xz decompress more types of files instead of - copying them as is to standard output. --format=format can - be used to restrict xz to decompress only a single file for- - mat. - - -c, --stdout, --to-stdout - Write the compressed or decompressed data to standard output - instead of a file. This implies --keep. - - --no-sparse - Disable creation of sparse files. By default, if decompressing - into a regular file, xz tries to make the file sparse if the - decompressed data contains long sequences of binary zeros. It - also works when writing to standard output as long as standard - output is connected to a regular file and certain additional - conditions are met to make it safe. Creating sparse files may - save disk space and speed up the decompression by reducing the - amount of disk I/O. - - -S .suf, --suffix=.suf - When compressing, use .suf as the suffix for the target file - instead of .xz or .lzma. If not writing to standard output and - the source file already has the suffix .suf, a warning is dis- - played and the file is skipped. - - When decompressing, recognize files with the suffix .suf in - addition to files with the .xz, .txz, .lzma, or .tlz suffix. If - the source file has the suffix .suf, the suffix is removed to - get the target filename. - - When compressing or decompressing raw streams (--format=raw), - the suffix must always be specified unless writing to standard - output, because there is no default suffix for raw streams. - - --files[=file] - Read the filenames to process from file; if file is omitted, - filenames are read from standard input. Filenames must be ter- - minated with the newline character. A dash (-) is taken as a - regular filename; it doesn't mean standard input. If filenames - are given also as command line arguments, they are processed - before the filenames read from file. - - --files0[=file] - This is identical to --files[=file] except that each filename - must be terminated with the null character. - - Basic file format and compression options - -F format, --format=format - Specify the file format to compress or decompress: - - auto This is the default. When compressing, auto is equiva- - lent to xz. When decompressing, the format of the input - file is automatically detected. Note that raw streams - (created with --format=raw) cannot be auto-detected. - - xz Compress to the .xz file format, or accept only .xz files - when decompressing. - - lzma, alone - Compress to the legacy .lzma file format, or accept only - .lzma files when decompressing. The alternative name - alone is provided for backwards compatibility with LZMA - Utils. - - raw Compress or uncompress a raw stream (no headers). This - is meant for advanced users only. To decode raw streams, - you need use --format=raw and explicitly specify the fil- - ter chain, which normally would have been stored in the - container headers. - - -C check, --check=check - Specify the type of the integrity check. The check is calcu- - lated from the uncompressed data and stored in the .xz file. - This option has an effect only when compressing into the .xz - format; the .lzma format doesn't support integrity checks. The - integrity check (if any) is verified when the .xz file is decom- - pressed. - - Supported check types: - - none Don't calculate an integrity check at all. This is usu- - ally a bad idea. This can be useful when integrity of - the data is verified by other means anyway. - - crc32 Calculate CRC32 using the polynomial from IEEE-802.3 - (Ethernet). - - crc64 Calculate CRC64 using the polynomial from ECMA-182. This - is the default, since it is slightly better than CRC32 at - detecting damaged files and the speed difference is neg- - ligible. - - sha256 Calculate SHA-256. This is somewhat slower than CRC32 - and CRC64. - - Integrity of the .xz headers is always verified with CRC32. It - is not possible to change or disable it. - - -0 ... -9 - Select a compression preset level. The default is -6. If mul- - tiple preset levels are specified, the last one takes effect. - If a custom filter chain was already specified, setting a com- - pression preset level clears the custom filter chain. - - The differences between the presets are more significant than - with gzip(1) and bzip2(1). The selected compression settings - determine the memory requirements of the decompressor, thus - using a too high preset level might make it painful to decom- - press the file on an old system with little RAM. Specifically, - it's not a good idea to blindly use -9 for everything like it - often is with gzip(1) and bzip2(1). - - -0 ... -3 - These are somewhat fast presets. -0 is sometimes faster - than gzip -9 while compressing much better. The higher - ones often have speed comparable to bzip2(1) with compa- - rable or better compression ratio, although the results - depend a lot on the type of data being compressed. - - -4 ... -6 - Good to very good compression while keeping decompressor - memory usage reasonable even for old systems. -6 is the - default, which is usually a good choice e.g. for dis- - tributing files that need to be decompressible even on - systems with only 16 MiB RAM. (-5e or -6e may be worth - considering too. See --extreme.) - - -7 ... -9 - These are like -6 but with higher compressor and decom- - pressor memory requirements. These are useful only when - compressing files bigger than 8 MiB, 16 MiB, and 32 MiB, - respectively. - - On the same hardware, the decompression speed is approximately a - constant number of bytes of compressed data per second. In - other words, the better the compression, the faster the decom- - pression will usually be. This also means that the amount of - uncompressed output produced per second can vary a lot. - - The following table summarises the features of the presets: - - Preset DictSize CompCPU CompMem DecMem - -0 256 KiB 0 3 MiB 1 MiB - -1 1 MiB 1 9 MiB 2 MiB - -2 2 MiB 2 17 MiB 3 MiB - -3 4 MiB 3 32 MiB 5 MiB - -4 4 MiB 4 48 MiB 5 MiB - -5 8 MiB 5 94 MiB 9 MiB - -6 8 MiB 6 94 MiB 9 MiB - -7 16 MiB 6 186 MiB 17 MiB - -8 32 MiB 6 370 MiB 33 MiB - -9 64 MiB 6 674 MiB 65 MiB - - Column descriptions: - - o DictSize is the LZMA2 dictionary size. It is waste of memory - to use a dictionary bigger than the size of the uncompressed - file. This is why it is good to avoid using the presets -7 - ... -9 when there's no real need for them. At -6 and lower, - the amount of memory wasted is usually low enough to not mat- - ter. - - o CompCPU is a simplified representation of the LZMA2 settings - that affect compression speed. The dictionary size affects - speed too, so while CompCPU is the same for levels -6 ... -9, - higher levels still tend to be a little slower. To get even - slower and thus possibly better compression, see --extreme. - - o CompMem contains the compressor memory requirements in the - single-threaded mode. It may vary slightly between xz ver- - sions. Memory requirements of some of the future multi- - threaded modes may be dramatically higher than that of the - single-threaded mode. - - o DecMem contains the decompressor memory requirements. That - is, the compression settings determine the memory require- - ments of the decompressor. The exact decompressor memory - usage is slightly more than the LZMA2 dictionary size, but - the values in the table have been rounded up to the next full - MiB. - - -e, --extreme - Use a slower variant of the selected compression preset level - (-0 ... -9) to hopefully get a little bit better compression - ratio, but with bad luck this can also make it worse. Decom- - pressor memory usage is not affected, but compressor memory - usage increases a little at preset levels -0 ... -3. - - Since there are two presets with dictionary sizes 4 MiB and - 8 MiB, the presets -3e and -5e use slightly faster settings - (lower CompCPU) than -4e and -6e, respectively. That way no two - presets are identical. - - Preset DictSize CompCPU CompMem DecMem - -0e 256 KiB 8 4 MiB 1 MiB - -1e 1 MiB 8 13 MiB 2 MiB - -2e 2 MiB 8 25 MiB 3 MiB - -3e 4 MiB 7 48 MiB 5 MiB - -4e 4 MiB 8 48 MiB 5 MiB - -5e 8 MiB 7 94 MiB 9 MiB - -6e 8 MiB 8 94 MiB 9 MiB - -7e 16 MiB 8 186 MiB 17 MiB - -8e 32 MiB 8 370 MiB 33 MiB - -9e 64 MiB 8 674 MiB 65 MiB - - For example, there are a total of four presets that use 8 MiB - dictionary, whose order from the fastest to the slowest is -5, - -6, -5e, and -6e. - - --fast - --best These are somewhat misleading aliases for -0 and -9, respec- - tively. These are provided only for backwards compatibility - with LZMA Utils. Avoid using these options. - - --memlimit-compress=limit - Set a memory usage limit for compression. If this option is - specified multiple times, the last one takes effect. - - If the compression settings exceed the limit, xz will adjust the - settings downwards so that the limit is no longer exceeded and - display a notice that automatic adjustment was done. Such - adjustments are not made when compressing with --format=raw or - if --no-adjust has been specified. In those cases, an error is - displayed and xz will exit with exit status 1. - - The limit can be specified in multiple ways: - - o The limit can be an absolute value in bytes. Using an inte- - ger suffix like MiB can be useful. Example: --memlimit-com- - press=80MiB - - o The limit can be specified as a percentage of total physical - memory (RAM). This can be useful especially when setting the - XZ_DEFAULTS environment variable in a shell initialization - script that is shared between different computers. That way - the limit is automatically bigger on systems with more mem- - ory. Example: --memlimit-compress=70% - - o The limit can be reset back to its default value by setting - it to 0. This is currently equivalent to setting the limit - to max (no memory usage limit). Once multithreading support - has been implemented, there may be a difference between 0 and - max for the multithreaded case, so it is recommended to use 0 - instead of max until the details have been decided. - - See also the section Memory usage. - - --memlimit-decompress=limit - Set a memory usage limit for decompression. This also affects - the --list mode. If the operation is not possible without - exceeding the limit, xz will display an error and decompressing - the file will fail. See --memlimit-compress=limit for possible - ways to specify the limit. - - -M limit, --memlimit=limit, --memory=limit - This is equivalent to specifying --memlimit-compress=limit - --memlimit-decompress=limit. - - --no-adjust - Display an error and exit if the compression settings exceed the - memory usage limit. The default is to adjust the settings down- - wards so that the memory usage limit is not exceeded. Automatic - adjusting is always disabled when creating raw streams (--for- - mat=raw). - - -T threads, --threads=threads - Specify the number of worker threads to use. The actual number - of threads can be less than threads if using more threads would - exceed the memory usage limit. - - Multithreaded compression and decompression are not implemented - yet, so this option has no effect for now. - - As of writing (2010-09-27), it hasn't been decided if threads - will be used by default on multicore systems once support for - threading has been implemented. Comments are welcome. The com- - plicating factor is that using many threads will increase the - memory usage dramatically. Note that if multithreading will be - the default, it will probably be done so that single-threaded - and multithreaded modes produce the same output, so compression - ratio won't be significantly affected if threading will be - enabled by default. - - Custom compressor filter chains - A custom filter chain allows specifying the compression settings in - detail instead of relying on the settings associated to the presets. - When a custom filter chain is specified, preset options (-0 ... -9 and - --extreme) earlier on the command line are forgotten. If a preset - option is specified after one or more custom filter chain options, the - new preset takes effect and the custom filter chain options specified - earlier are forgotten. - - A filter chain is comparable to piping on the command line. When com- - pressing, the uncompressed input goes to the first filter, whose output - goes to the next filter (if any). The output of the last filter gets - written to the compressed file. The maximum number of filters in the - chain is four, but typically a filter chain has only one or two fil- - ters. - - Many filters have limitations on where they can be in the filter chain: - some filters can work only as the last filter in the chain, some only - as a non-last filter, and some work in any position in the chain. - Depending on the filter, this limitation is either inherent to the fil- - ter design or exists to prevent security issues. - - A custom filter chain is specified by using one or more filter options - in the order they are wanted in the filter chain. That is, the order - of filter options is significant! When decoding raw streams (--for- - mat=raw), the filter chain is specified in the same order as it was - specified when compressing. - - Filters take filter-specific options as a comma-separated list. Extra - commas in options are ignored. Every option has a default value, so - you need to specify only those you want to change. - - To see the whole filter chain and options, use xz -vv (that is, use - --verbose twice). This works also for viewing the filter chain options - used by presets. - - --lzma1[=options] - --lzma2[=options] - Add LZMA1 or LZMA2 filter to the filter chain. These filters - can be used only as the last filter in the chain. - - LZMA1 is a legacy filter, which is supported almost solely due - to the legacy .lzma file format, which supports only LZMA1. - LZMA2 is an updated version of LZMA1 to fix some practical - issues of LZMA1. The .xz format uses LZMA2 and doesn't support - LZMA1 at all. Compression speed and ratios of LZMA1 and LZMA2 - are practically the same. - - LZMA1 and LZMA2 share the same set of options: - - preset=preset - Reset all LZMA1 or LZMA2 options to preset. Preset con- - sist of an integer, which may be followed by single-let- - ter preset modifiers. The integer can be from 0 to 9, - matching the command line options -0 ... -9. The only - supported modifier is currently e, which matches - --extreme. If no preset is specified, the default values - of LZMA1 or LZMA2 options are taken from the preset 6. - - dict=size - Dictionary (history buffer) size indicates how many bytes - of the recently processed uncompressed data is kept in - memory. The algorithm tries to find repeating byte - sequences (matches) in the uncompressed data, and replace - them with references to the data currently in the dictio- - nary. The bigger the dictionary, the higher is the - chance to find a match. Thus, increasing dictionary size - usually improves compression ratio, but a dictionary big- - ger than the uncompressed file is waste of memory. - - Typical dictionary size is from 64 KiB to 64 MiB. The - minimum is 4 KiB. The maximum for compression is cur- - rently 1.5 GiB (1536 MiB). The decompressor already sup- - ports dictionaries up to one byte less than 4 GiB, which - is the maximum for the LZMA1 and LZMA2 stream formats. - - Dictionary size and match finder (mf) together determine - the memory usage of the LZMA1 or LZMA2 encoder. The same - (or bigger) dictionary size is required for decompressing - that was used when compressing, thus the memory usage of - the decoder is determined by the dictionary size used - when compressing. The .xz headers store the dictionary - size either as 2^n or 2^n + 2^(n-1), so these sizes are - somewhat preferred for compression. Other sizes will get - rounded up when stored in the .xz headers. - - lc=lc Specify the number of literal context bits. The minimum - is 0 and the maximum is 4; the default is 3. In addi- - tion, the sum of lc and lp must not exceed 4. - - All bytes that cannot be encoded as matches are encoded - as literals. That is, literals are simply 8-bit bytes - that are encoded one at a time. - - The literal coding makes an assumption that the highest - lc bits of the previous uncompressed byte correlate with - the next byte. E.g. in typical English text, an upper- - case letter is often followed by a lower-case letter, and - a lower-case letter is usually followed by another lower- - case letter. In the US-ASCII character set, the highest - three bits are 010 for upper-case letters and 011 for - lower-case letters. When lc is at least 3, the literal - coding can take advantage of this property in the uncom- - pressed data. - - The default value (3) is usually good. If you want maxi- - mum compression, test lc=4. Sometimes it helps a little, - and sometimes it makes compression worse. If it makes it - worse, test e.g. lc=2 too. - - lp=lp Specify the number of literal position bits. The minimum - is 0 and the maximum is 4; the default is 0. - - Lp affects what kind of alignment in the uncompressed - data is assumed when encoding literals. See pb below for - more information about alignment. - - pb=pb Specify the number of position bits. The minimum is 0 - and the maximum is 4; the default is 2. - - Pb affects what kind of alignment in the uncompressed - data is assumed in general. The default means four-byte - alignment (2^pb=2^2=4), which is often a good choice when - there's no better guess. - - When the aligment is known, setting pb accordingly may - reduce the file size a little. E.g. with text files hav- - ing one-byte alignment (US-ASCII, ISO-8859-*, UTF-8), - setting pb=0 can improve compression slightly. For - UTF-16 text, pb=1 is a good choice. If the alignment is - an odd number like 3 bytes, pb=0 might be the best - choice. - - Even though the assumed alignment can be adjusted with pb - and lp, LZMA1 and LZMA2 still slightly favor 16-byte - alignment. It might be worth taking into account when - designing file formats that are likely to be often com- - pressed with LZMA1 or LZMA2. - - mf=mf Match finder has a major effect on encoder speed, memory - usage, and compression ratio. Usually Hash Chain match - finders are faster than Binary Tree match finders. The - default depends on the preset: 0 uses hc3, 1-3 use hc4, - and the rest use bt4. - - The following match finders are supported. The memory - usage formulas below are rough approximations, which are - closest to the reality when dict is a power of two. - - hc3 Hash Chain with 2- and 3-byte hashing - Minimum value for nice: 3 - Memory usage: - dict * 7.5 (if dict <= 16 MiB); - dict * 5.5 + 64 MiB (if dict > 16 MiB) - - hc4 Hash Chain with 2-, 3-, and 4-byte hashing - Minimum value for nice: 4 - Memory usage: - dict * 7.5 (if dict <= 32 MiB); - dict * 6.5 (if dict > 32 MiB) - - bt2 Binary Tree with 2-byte hashing - Minimum value for nice: 2 - Memory usage: dict * 9.5 - - bt3 Binary Tree with 2- and 3-byte hashing - Minimum value for nice: 3 - Memory usage: - dict * 11.5 (if dict <= 16 MiB); - dict * 9.5 + 64 MiB (if dict > 16 MiB) - - bt4 Binary Tree with 2-, 3-, and 4-byte hashing - Minimum value for nice: 4 - Memory usage: - dict * 11.5 (if dict <= 32 MiB); - dict * 10.5 (if dict > 32 MiB) - - mode=mode - Compression mode specifies the method to analyze the data - produced by the match finder. Supported modes are fast - and normal. The default is fast for presets 0-3 and nor- - mal for presets 4-9. - - Usually fast is used with Hash Chain match finders and - normal with Binary Tree match finders. This is also what - the presets do. - - nice=nice - Specify what is considered to be a nice length for a - match. Once a match of at least nice bytes is found, the - algorithm stops looking for possibly better matches. - - Nice can be 2-273 bytes. Higher values tend to give bet- - ter compression ratio at the expense of speed. The - default depends on the preset. - - depth=depth - Specify the maximum search depth in the match finder. - The default is the special value of 0, which makes the - compressor determine a reasonable depth from mf and nice. - - Reasonable depth for Hash Chains is 4-100 and 16-1000 for - Binary Trees. Using very high values for depth can make - the encoder extremely slow with some files. Avoid set- - ting the depth over 1000 unless you are prepared to - interrupt the compression in case it is taking far too - long. - - When decoding raw streams (--format=raw), LZMA2 needs only the - dictionary size. LZMA1 needs also lc, lp, and pb. - - --x86[=options] - --powerpc[=options] - --ia64[=options] - --arm[=options] - --armthumb[=options] - --sparc[=options] - Add a branch/call/jump (BCJ) filter to the filter chain. These - filters can be used only as a non-last filter in the filter - chain. - - A BCJ filter converts relative addresses in the machine code to - their absolute counterparts. This doesn't change the size of - the data, but it increases redundancy, which can help LZMA2 to - produce 0-15 % smaller .xz file. The BCJ filters are always - reversible, so using a BCJ filter for wrong type of data doesn't - cause any data loss, although it may make the compression ratio - slightly worse. - - It is fine to apply a BCJ filter on a whole executable; there's - no need to apply it only on the executable section. Applying a - BCJ filter on an archive that contains both executable and non- - executable files may or may not give good results, so it gener- - ally isn't good to blindly apply a BCJ filter when compressing - binary packages for distribution. - - These BCJ filters are very fast and use insignificant amount of - memory. If a BCJ filter improves compression ratio of a file, - it can improve decompression speed at the same time. This is - because, on the same hardware, the decompression speed of LZMA2 - is roughly a fixed number of bytes of compressed data per sec- - ond. - - These BCJ filters have known problems related to the compression - ratio: - - o Some types of files containing executable code (e.g. object - files, static libraries, and Linux kernel modules) have the - addresses in the instructions filled with filler values. - These BCJ filters will still do the address conversion, which - will make the compression worse with these files. - - o Applying a BCJ filter on an archive containing multiple simi- - lar executables can make the compression ratio worse than not - using a BCJ filter. This is because the BCJ filter doesn't - detect the boundaries of the executable files, and doesn't - reset the address conversion counter for each executable. - - Both of the above problems will be fixed in the future in a new - filter. The old BCJ filters will still be useful in embedded - systems, because the decoder of the new filter will be bigger - and use more memory. - - Different instruction sets have have different alignment: - - Filter Alignment Notes - x86 1 32-bit or 64-bit x86 - PowerPC 4 Big endian only - ARM 4 Little endian only - ARM-Thumb 2 Little endian only - IA-64 16 Big or little endian - SPARC 4 Big or little endian - - Since the BCJ-filtered data is usually compressed with LZMA2, - the compression ratio may be improved slightly if the LZMA2 - options are set to match the alignment of the selected BCJ fil- - ter. For example, with the IA-64 filter, it's good to set pb=4 - with LZMA2 (2^4=16). The x86 filter is an exception; it's usu- - ally good to stick to LZMA2's default four-byte alignment when - compressing x86 executables. - - All BCJ filters support the same options: - - start=offset - Specify the start offset that is used when converting - between relative and absolute addresses. The offset must - be a multiple of the alignment of the filter (see the ta- - ble above). The default is zero. In practice, the - default is good; specifying a custom offset is almost - never useful. - - --delta[=options] - Add the Delta filter to the filter chain. The Delta filter can - be only used as a non-last filter in the filter chain. - - Currently only simple byte-wise delta calculation is supported. - It can be useful when compressing e.g. uncompressed bitmap - images or uncompressed PCM audio. However, special purpose - algorithms may give significantly better results than Delta + - LZMA2. This is true especially with audio, which compresses - faster and better e.g. with flac(1). - - Supported options: - - dist=distance - Specify the distance of the delta calculation in bytes. - distance must be 1-256. The default is 1. - - For example, with dist=2 and eight-byte input A1 B1 A2 B3 - A3 B5 A4 B7, the output will be A1 B1 01 02 01 02 01 02. - - Other options - -q, --quiet - Suppress warnings and notices. Specify this twice to suppress - errors too. This option has no effect on the exit status. That - is, even if a warning was suppressed, the exit status to indi- - cate a warning is still used. - - -v, --verbose - Be verbose. If standard error is connected to a terminal, xz - will display a progress indicator. Specifying --verbose twice - will give even more verbose output. - - The progress indicator shows the following information: - - o Completion percentage is shown if the size of the input file - is known. That is, the percentage cannot be shown in pipes. - - o Amount of compressed data produced (compressing) or consumed - (decompressing). - - o Amount of uncompressed data consumed (compressing) or pro- - duced (decompressing). - - o Compression ratio, which is calculated by dividing the amount - of compressed data processed so far by the amount of uncom- - pressed data processed so far. - - o Compression or decompression speed. This is measured as the - amount of uncompressed data consumed (compression) or pro- - duced (decompression) per second. It is shown after a few - seconds have passed since xz started processing the file. - - o Elapsed time in the format M:SS or H:MM:SS. - - o Estimated remaining time is shown only when the size of the - input file is known and a couple of seconds have already - passed since xz started processing the file. The time is - shown in a less precise format which never has any colons, - e.g. 2 min 30 s. - - When standard error is not a terminal, --verbose will make xz - print the filename, compressed size, uncompressed size, compres- - sion ratio, and possibly also the speed and elapsed time on a - single line to standard error after compressing or decompressing - the file. The speed and elapsed time are included only when the - operation took at least a few seconds. If the operation didn't - finish, e.g. due to user interruption, also the completion per- - centage is printed if the size of the input file is known. - - -Q, --no-warn - Don't set the exit status to 2 even if a condition worth a warn- - ing was detected. This option doesn't affect the verbosity - level, thus both --quiet and --no-warn have to be used to not - display warnings and to not alter the exit status. - - --robot - Print messages in a machine-parsable format. This is intended - to ease writing frontends that want to use xz instead of - liblzma, which may be the case with various scripts. The output - with this option enabled is meant to be stable across xz - releases. See the section ROBOT MODE for details. - - --info-memory - Display, in human-readable format, how much physical memory - (RAM) xz thinks the system has and the memory usage limits for - compression and decompression, and exit successfully. - - -h, --help - Display a help message describing the most commonly used - options, and exit successfully. - - -H, --long-help - Display a help message describing all features of xz, and exit - successfully - - -V, --version - Display the version number of xz and liblzma in human readable - format. To get machine-parsable output, specify --robot before - --version. - -ROBOT MODE - The robot mode is activated with the --robot option. It makes the out- - put of xz easier to parse by other programs. Currently --robot is sup- - ported only together with --version, --info-memory, and --list. It - will be supported for compression and decompression in the future. - - Version - xz --robot --version will print the version number of xz and liblzma in - the following format: - - XZ_VERSION=XYYYZZZS - LIBLZMA_VERSION=XYYYZZZS - - X Major version. - - YYY Minor version. Even numbers are stable. Odd numbers are alpha - or beta versions. - - ZZZ Patch level for stable releases or just a counter for develop- - ment releases. - - S Stability. 0 is alpha, 1 is beta, and 2 is stable. S should be - always 2 when YYY is even. - - XYYYZZZS are the same on both lines if xz and liblzma are from the same - XZ Utils release. - - Examples: 4.999.9beta is 49990091 and 5.0.0 is 50000002. - - Memory limit information - xz --robot --info-memory prints a single line with three tab-separated - columns: - - 1. Total amount of physical memory (RAM) in bytes - - 2. Memory usage limit for compression in bytes. A special value of - zero indicates the default setting, which for single-threaded mode - is the same as no limit. - - 3. Memory usage limit for decompression in bytes. A special value of - zero indicates the default setting, which for single-threaded mode - is the same as no limit. - - In the future, the output of xz --robot --info-memory may have more - columns, but never more than a single line. - - List mode - xz --robot --list uses tab-separated output. The first column of every - line has a string that indicates the type of the information found on - that line: - - name This is always the first line when starting to list a file. The - second column on the line is the filename. - - file This line contains overall information about the .xz file. This - line is always printed after the name line. - - stream This line type is used only when --verbose was specified. There - are as many stream lines as there are streams in the .xz file. - - block This line type is used only when --verbose was specified. There - are as many block lines as there are blocks in the .xz file. - The block lines are shown after all the stream lines; different - line types are not interleaved. - - summary - This line type is used only when --verbose was specified twice. - This line is printed after all block lines. Like the file line, - the summary line contains overall information about the .xz - file. - - totals This line is always the very last line of the list output. It - shows the total counts and sizes. - - The columns of the file lines: - 2. Number of streams in the file - 3. Total number of blocks in the stream(s) - 4. Compressed size of the file - 5. Uncompressed size of the file - 6. Compression ratio, for example 0.123. If ratio is over - 9.999, three dashes (---) are displayed instead of the - ratio. - 7. Comma-separated list of integrity check names. The follow- - ing strings are used for the known check types: None, CRC32, - CRC64, and SHA-256. For unknown check types, Unknown-N is - used, where N is the Check ID as a decimal number (one or - two digits). - 8. Total size of stream padding in the file - - The columns of the stream lines: - 2. Stream number (the first stream is 1) - 3. Number of blocks in the stream - 4. Compressed start offset - 5. Uncompressed start offset - 6. Compressed size (does not include stream padding) - 7. Uncompressed size - 8. Compression ratio - 9. Name of the integrity check - 10. Size of stream padding - - The columns of the block lines: - 2. Number of the stream containing this block - 3. Block number relative to the beginning of the stream (the - first block is 1) - 4. Block number relative to the beginning of the file - 5. Compressed start offset relative to the beginning of the - file - 6. Uncompressed start offset relative to the beginning of the - file - 7. Total compressed size of the block (includes headers) - 8. Uncompressed size - 9. Compression ratio - 10. Name of the integrity check - - If --verbose was specified twice, additional columns are included on - the block lines. These are not displayed with a single --verbose, - because getting this information requires many seeks and can thus be - slow: - 11. Value of the integrity check in hexadecimal - 12. Block header size - 13. Block flags: c indicates that compressed size is present, - and u indicates that uncompressed size is present. If the - flag is not set, a dash (-) is shown instead to keep the - string length fixed. New flags may be added to the end of - the string in the future. - 14. Size of the actual compressed data in the block (this - excludes the block header, block padding, and check fields) - 15. Amount of memory (in bytes) required to decompress this - block with this xz version - 16. Filter chain. Note that most of the options used at com- - pression time cannot be known, because only the options that - are needed for decompression are stored in the .xz headers. - - The columns of the summary lines: - 2. Amount of memory (in bytes) required to decompress this file - with this xz version - 3. yes or no indicating if all block headers have both com- - pressed size and uncompressed size stored in them - - The columns of the totals line: - 2. Number of streams - 3. Number of blocks - 4. Compressed size - 5. Uncompressed size - 6. Average compression ratio - 7. Comma-separated list of integrity check names that were - present in the files - 8. Stream padding size - 9. Number of files. This is here to keep the order of the ear- - lier columns the same as on file lines. - - If --verbose was specified twice, additional columns are included on - the totals line: - 10. Maximum amount of memory (in bytes) required to decompress - the files with this xz version - 11. yes or no indicating if all block headers have both com- - pressed size and uncompressed size stored in them - - Future versions may add new line types and new columns can be added to - the existing line types, but the existing columns won't be changed. - -EXIT STATUS - 0 All is good. - - 1 An error occurred. - - 2 Something worth a warning occurred, but no actual errors - occurred. - - Notices (not warnings or errors) printed on standard error don't affect - the exit status. - -ENVIRONMENT - xz parses space-separated lists of options from the environment vari- - ables XZ_DEFAULTS and XZ_OPT, in this order, before parsing the options - from the command line. Note that only options are parsed from the - environment variables; all non-options are silently ignored. Parsing - is done with getopt_long(3) which is used also for the command line - arguments. - - XZ_DEFAULTS - User-specific or system-wide default options. Typically this is - set in a shell initialization script to enable xz's memory usage - limiter by default. Excluding shell initialization scripts and - similar special cases, scripts must never set or unset - XZ_DEFAULTS. - - XZ_OPT This is for passing options to xz when it is not possible to set - the options directly on the xz command line. This is the case - e.g. when xz is run by a script or tool, e.g. GNU tar(1): - - XZ_OPT=-2v tar caf foo.tar.xz foo - - Scripts may use XZ_OPT e.g. to set script-specific default com- - pression options. It is still recommended to allow users to - override XZ_OPT if that is reasonable, e.g. in sh(1) scripts one - may use something like this: - - XZ_OPT=${XZ_OPT-"-7e"} - export XZ_OPT - -LZMA UTILS COMPATIBILITY - The command line syntax of xz is practically a superset of lzma, - unlzma, and lzcat as found from LZMA Utils 4.32.x. In most cases, it - is possible to replace LZMA Utils with XZ Utils without breaking exist- - ing scripts. There are some incompatibilities though, which may some- - times cause problems. - - Compression preset levels - The numbering of the compression level presets is not identical in xz - and LZMA Utils. The most important difference is how dictionary sizes - are mapped to different presets. Dictionary size is roughly equal to - the decompressor memory usage. - - Level xz LZMA Utils - -0 256 KiB N/A - -1 1 MiB 64 KiB - -2 2 MiB 1 MiB - -3 4 MiB 512 KiB - -4 4 MiB 1 MiB - -5 8 MiB 2 MiB - -6 8 MiB 4 MiB - -7 16 MiB 8 MiB - -8 32 MiB 16 MiB - -9 64 MiB 32 MiB - - The dictionary size differences affect the compressor memory usage too, - but there are some other differences between LZMA Utils and XZ Utils, - which make the difference even bigger: - - Level xz LZMA Utils 4.32.x - -0 3 MiB N/A - -1 9 MiB 2 MiB - -2 17 MiB 12 MiB - -3 32 MiB 12 MiB - -4 48 MiB 16 MiB - - -5 94 MiB 26 MiB - -6 94 MiB 45 MiB - -7 186 MiB 83 MiB - -8 370 MiB 159 MiB - -9 674 MiB 311 MiB - - The default preset level in LZMA Utils is -7 while in XZ Utils it is - -6, so both use an 8 MiB dictionary by default. - - Streamed vs. non-streamed .lzma files - The uncompressed size of the file can be stored in the .lzma header. - LZMA Utils does that when compressing regular files. The alternative - is to mark that uncompressed size is unknown and use end-of-payload - marker to indicate where the decompressor should stop. LZMA Utils uses - this method when uncompressed size isn't known, which is the case for - example in pipes. - - xz supports decompressing .lzma files with or without end-of-payload - marker, but all .lzma files created by xz will use end-of-payload - marker and have uncompressed size marked as unknown in the .lzma - header. This may be a problem in some uncommon situations. For exam- - ple, a .lzma decompressor in an embedded device might work only with - files that have known uncompressed size. If you hit this problem, you - need to use LZMA Utils or LZMA SDK to create .lzma files with known - uncompressed size. - - Unsupported .lzma files - The .lzma format allows lc values up to 8, and lp values up to 4. LZMA - Utils can decompress files with any lc and lp, but always creates files - with lc=3 and lp=0. Creating files with other lc and lp is possible - with xz and with LZMA SDK. - - The implementation of the LZMA1 filter in liblzma requires that the sum - of lc and lp must not exceed 4. Thus, .lzma files, which exceed this - limitation, cannot be decompressed with xz. - - LZMA Utils creates only .lzma files which have a dictionary size of 2^n - (a power of 2) but accepts files with any dictionary size. liblzma - accepts only .lzma files which have a dictionary size of 2^n or 2^n + - 2^(n-1). This is to decrease false positives when detecting .lzma - files. - - These limitations shouldn't be a problem in practice, since practically - all .lzma files have been compressed with settings that liblzma will - accept. - - Trailing garbage - When decompressing, LZMA Utils silently ignore everything after the - first .lzma stream. In most situations, this is a bug. This also - means that LZMA Utils don't support decompressing concatenated .lzma - files. - - If there is data left after the first .lzma stream, xz considers the - file to be corrupt. This may break obscure scripts which have assumed - that trailing garbage is ignored. - -NOTES - Compressed output may vary - The exact compressed output produced from the same uncompressed input - file may vary between XZ Utils versions even if compression options are - identical. This is because the encoder can be improved (faster or bet- - ter compression) without affecting the file format. The output can - vary even between different builds of the same XZ Utils version, if - different build options are used. - - The above means that once --rsyncable has been implemented, the result- - ing files won't necessarily be rsyncable unless both old and new files - have been compressed with the same xz version. This problem can be - fixed if a part of the encoder implementation is frozen to keep rsynca- - ble output stable across xz versions. - - Embedded .xz decompressors - Embedded .xz decompressor implementations like XZ Embedded don't neces- - sarily support files created with integrity check types other than none - and crc32. Since the default is --check=crc64, you must use - --check=none or --check=crc32 when creating files for embedded systems. - - Outside embedded systems, all .xz format decompressors support all the - check types, or at least are able to decompress the file without veri- - fying the integrity check if the particular check is not supported. - - XZ Embedded supports BCJ filters, but only with the default start off- - set. - -EXAMPLES - Basics - Compress the file foo into foo.xz using the default compression level - (-6), and remove foo if compression is successful: - - xz foo - - Decompress bar.xz into bar and don't remove bar.xz even if decompres- - sion is successful: - - xz -dk bar.xz - - Create baz.tar.xz with the preset -4e (-4 --extreme), which is slower - than e.g. the default -6, but needs less memory for compression and - decompression (48 MiB and 5 MiB, respectively): - - tar cf - baz | xz -4e > baz.tar.xz - - A mix of compressed and uncompressed files can be decompressed to stan- - dard output with a single command: - - xz -dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt - - Parallel compression of many files - On GNU and *BSD, find(1) and xargs(1) can be used to parallelize com- - pression of many files: - - find . -type f \! -name '*.xz' -print0 \ - | xargs -0r -P4 -n16 xz -T1 - - The -P option to xargs(1) sets the number of parallel xz processes. - The best value for the -n option depends on how many files there are to - be compressed. If there are only a couple of files, the value should - probably be 1; with tens of thousands of files, 100 or even more may be - appropriate to reduce the number of xz processes that xargs(1) will - eventually create. - - The option -T1 for xz is there to force it to single-threaded mode, - because xargs(1) is used to control the amount of parallelization. - - Robot mode - Calculate how many bytes have been saved in total after compressing - multiple files: - - xz --robot --list *.xz | awk '/^totals/{print $5-$4}' - - A script may want to know that it is using new enough xz. The follow- - ing sh(1) script checks that the version number of the xz tool is at - least 5.0.0. This method is compatible with old beta versions, which - didn't support the --robot option: - - if ! eval "$(xz --robot --version 2> /dev/null)" || - [ "$XZ_VERSION" -lt 50000002 ]; then - echo "Your xz is too old." - fi - unset XZ_VERSION LIBLZMA_VERSION - - Set a memory usage limit for decompression using XZ_OPT, but if a limit - has already been set, don't increase it: - - NEWLIM=$((123 << 20)) # 123 MiB - OLDLIM=$(xz --robot --info-memory | cut -f3) - if [ $OLDLIM -eq 0 -o $OLDLIM -gt $NEWLIM ]; then - XZ_OPT="$XZ_OPT --memlimit-decompress=$NEWLIM" - export XZ_OPT - fi - - Custom compressor filter chains - The simplest use for custom filter chains is customizing a LZMA2 pre- - set. This can be useful, because the presets cover only a subset of - the potentially useful combinations of compression settings. - - The CompCPU columns of the tables from the descriptions of the options - -0 ... -9 and --extreme are useful when customizing LZMA2 presets. - Here are the relevant parts collected from those two tables: - - Preset CompCPU - -0 0 - -1 1 - -2 2 - -3 3 - -4 4 - -5 5 - -6 6 - -5e 7 - -6e 8 - - If you know that a file requires somewhat big dictionary (e.g. 32 MiB) - to compress well, but you want to compress it quicker than xz -8 would - do, a preset with a low CompCPU value (e.g. 1) can be modified to use a - bigger dictionary: - - xz --lzma2=preset=1,dict=32MiB foo.tar - - With certain files, the above command may be faster than xz -6 while - compressing significantly better. However, it must be emphasized that - only some files benefit from a big dictionary while keeping the CompCPU - value low. The most obvious situation, where a big dictionary can help - a lot, is an archive containing very similar files of at least a few - megabytes each. The dictionary size has to be significantly bigger - than any individual file to allow LZMA2 to take full advantage of the - similarities between consecutive files. - - If very high compressor and decompressor memory usage is fine, and the - file being compressed is at least several hundred megabytes, it may be - useful to use an even bigger dictionary than the 64 MiB that xz -9 - would use: - - xz -vv --lzma2=dict=192MiB big_foo.tar - - Using -vv (--verbose --verbose) like in the above example can be useful - to see the memory requirements of the compressor and decompressor. - Remember that using a dictionary bigger than the size of the uncom- - pressed file is waste of memory, so the above command isn't useful for - small files. - - Sometimes the compression time doesn't matter, but the decompressor - memory usage has to be kept low e.g. to make it possible to decompress - the file on an embedded system. The following command uses -6e (-6 - --extreme) as a base and sets the dictionary to only 64 KiB. The - resulting file can be decompressed with XZ Embedded (that's why there - is --check=crc32) using about 100 KiB of memory. - - xz --check=crc32 --lzma2=preset=6e,dict=64KiB foo - - If you want to squeeze out as many bytes as possible, adjusting the - number of literal context bits (lc) and number of position bits (pb) - can sometimes help. Adjusting the number of literal position bits (lp) - might help too, but usually lc and pb are more important. E.g. a - source code archive contains mostly US-ASCII text, so something like - the following might give slightly (like 0.1 %) smaller file than xz -6e - (try also without lc=4): - - xz --lzma2=preset=6e,pb=0,lc=4 source_code.tar - - Using another filter together with LZMA2 can improve compression with - certain file types. E.g. to compress a x86-32 or x86-64 shared library - using the x86 BCJ filter: - - xz --x86 --lzma2 libfoo.so - - Note that the order of the filter options is significant. If --x86 is - specified after --lzma2, xz will give an error, because there cannot be - any filter after LZMA2, and also because the x86 BCJ filter cannot be - used as the last filter in the chain. - - The Delta filter together with LZMA2 can give good results with bitmap - images. It should usually beat PNG, which has a few more advanced fil- - ters than simple delta but uses Deflate for the actual compression. - - The image has to be saved in uncompressed format, e.g. as uncompressed - TIFF. The distance parameter of the Delta filter is set to match the - number of bytes per pixel in the image. E.g. 24-bit RGB bitmap needs - dist=3, and it is also good to pass pb=0 to LZMA2 to accommodate the - three-byte alignment: - - xz --delta=dist=3 --lzma2=pb=0 foo.tiff - - If multiple images have been put into a single archive (e.g. .tar), the - Delta filter will work on that too as long as all images have the same - number of bytes per pixel. - -SEE ALSO - xzdec(1), xzdiff(1), xzgrep(1), xzless(1), xzmore(1), gzip(1), - bzip2(1), 7z(1) - - XZ Utils: - XZ Embedded: - LZMA SDK: - - - -Tukaani 2013-06-21 XZ(1) diff --git a/Build/source/extra/xz/doc/man/txt/xzdec.txt b/Build/source/extra/xz/doc/man/txt/xzdec.txt deleted file mode 100644 index 3d69ff3f366..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xzdec.txt +++ /dev/null @@ -1,80 +0,0 @@ -XZDEC(1) XZ Utils XZDEC(1) - - - -NAME - xzdec, lzmadec - Small .xz and .lzma decompressors - -SYNOPSIS - xzdec [option...] [file...] - lzmadec [option...] [file...] - -DESCRIPTION - xzdec is a liblzma-based decompression-only tool for .xz (and only .xz) - files. xzdec is intended to work as a drop-in replacement for xz(1) in - the most common situations where a script has been written to use xz - --decompress --stdout (and possibly a few other commonly used options) - to decompress .xz files. lzmadec is identical to xzdec except that - lzmadec supports .lzma files instead of .xz files. - - To reduce the size of the executable, xzdec doesn't support multi- - threading or localization, and doesn't read options from XZ_DEFAULTS - and XZ_OPT environment variables. xzdec doesn't support displaying - intermediate progress information: sending SIGINFO to xzdec does noth- - ing, but sending SIGUSR1 terminates the process instead of displaying - progress information. - -OPTIONS - -d, --decompress, --uncompress - Ignored for xz(1) compatibility. xzdec supports only decompres- - sion. - - -k, --keep - Ignored for xz(1) compatibility. xzdec never creates or removes - any files. - - -c, --stdout, --to-stdout - Ignored for xz(1) compatibility. xzdec always writes the decom- - pressed data to standard output. - - -q, --quiet - Specifying this once does nothing since xzdec never displays any - warnings or notices. Specify this twice to suppress errors. - - -Q, --no-warn - Ignored for xz(1) compatibility. xzdec never uses the exit sta- - tus 2. - - -h, --help - Display a help message and exit successfully. - - -V, --version - Display the version number of xzdec and liblzma. - -EXIT STATUS - 0 All was good. - - 1 An error occurred. - - xzdec doesn't have any warning messages like xz(1) has, thus the exit - status 2 is not used by xzdec. - -NOTES - Use xz(1) instead of xzdec or lzmadec for normal everyday use. xzdec - or lzmadec are meant only for situations where it is important to have - a smaller decompressor than the full-featured xz(1). - - xzdec and lzmadec are not really that small. The size can be reduced - further by dropping features from liblzma at compile time, but that - shouldn't usually be done for executables distributed in typical non- - embedded operating system distributions. If you need a truly small .xz - decompressor, consider using XZ Embedded. - -SEE ALSO - xz(1) - - XZ Embedded: - - - -Tukaani 2013-06-30 XZDEC(1) diff --git a/Build/source/extra/xz/doc/man/txt/xzdiff.txt b/Build/source/extra/xz/doc/man/txt/xzdiff.txt deleted file mode 100644 index 99af443b2cc..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xzdiff.txt +++ /dev/null @@ -1,36 +0,0 @@ -XZDIFF(1) XZ Utils XZDIFF(1) - - - -NAME - xzcmp, xzdiff, lzcmp, lzdiff - compare compressed files - -SYNOPSIS - xzcmp [cmp_options] file1 [file2] - xzdiff [diff_options] file1 [file2] - lzcmp [cmp_options] file1 [file2] - lzdiff [diff_options] file1 [file2] - -DESCRIPTION - xzcmp and xzdiff invoke cmp(1) or diff(1) on files compressed with - xz(1), lzma(1), gzip(1), or bzip2(1). All options specified are passed - directly to cmp(1) or diff(1). If only one file is specified, then the - files compared are file1 (which must have a suffix of a supported com- - pression format) and file1 from which the compression format suffix has - been stripped. If two files are specified, then they are uncompressed - if necessary and fed to cmp(1) or diff(1). The exit status from cmp(1) - or diff(1) is preserved. - - The names lzcmp and lzdiff are provided for backward compatibility with - LZMA Utils. - -SEE ALSO - cmp(1), diff(1), xz(1), gzip(1), bzip2(1), zdiff(1) - -BUGS - Messages from the cmp(1) or diff(1) programs refer to temporary file- - names instead of those specified. - - - -Tukaani 2010-09-27 XZDIFF(1) diff --git a/Build/source/extra/xz/doc/man/txt/xzgrep.txt b/Build/source/extra/xz/doc/man/txt/xzgrep.txt deleted file mode 100644 index cdffd0735cf..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xzgrep.txt +++ /dev/null @@ -1,39 +0,0 @@ -XZGREP(1) XZ Utils XZGREP(1) - - - -NAME - xzgrep - search compressed files for a regular expression - -SYNOPSIS - xzgrep [grep_options] [-e] pattern file... - xzegrep ... - xzfgrep ... - lzgrep ... - lzegrep ... - lzfgrep ... - -DESCRIPTION - xzgrep invokes grep(1) on files which may be either uncompressed or - compressed with xz(1), lzma(1), gzip(1), or bzip2(1). All options - specified are passed directly to grep(1). - - If no file is specified, then standard input is decompressed if neces- - sary and fed to grep(1). When reading from standard input, gzip(1) and - bzip2(1) compressed files are not supported. - - If xzgrep is invoked as xzegrep or xzfgrep then egrep(1) or fgrep(1) is - used instead of grep(1). The same applies to names lzgrep, lzegrep, - and lzfgrep, which are provided for backward compatibility with LZMA - Utils. - -ENVIRONMENT - GREP If the GREP environment variable is set, xzgrep uses it instead - of grep(1), egrep(1), or fgrep(1). - -SEE ALSO - grep(1), xz(1), gzip(1), bzip2(1), zgrep(1) - - - -Tukaani 2010-09-27 XZGREP(1) diff --git a/Build/source/extra/xz/doc/man/txt/xzless.txt b/Build/source/extra/xz/doc/man/txt/xzless.txt deleted file mode 100644 index 5c14c80c235..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xzless.txt +++ /dev/null @@ -1,39 +0,0 @@ -XZLESS(1) XZ Utils XZLESS(1) - - - -NAME - xzless, lzless - view xz or lzma compressed (text) files - -SYNOPSIS - xzless [file...] - lzless [file...] - -DESCRIPTION - xzless is a filter that displays text from compressed files to a termi- - nal. It works on files compressed with xz(1) or lzma(1). If no files - are given, xzless reads from standard input. - - xzless uses less(1) to present its output. Unlike xzmore, its choice - of pager cannot be altered by setting an environment variable. Com- - mands are based on both more(1) and vi(1) and allow back and forth - movement and searching. See the less(1) manual for more information. - - The command named lzless is provided for backward compatibility with - LZMA Utils. - -ENVIRONMENT - LESSMETACHARS - A list of characters special to the shell. Set by xzless unless - it is already set in the environment. - - LESSOPEN - Set to a command line to invoke the xz(1) decompressor for pre- - processing the input files to less(1). - -SEE ALSO - less(1), xz(1), xzmore(1), zless(1) - - - -Tukaani 2010-09-27 XZLESS(1) diff --git a/Build/source/extra/xz/doc/man/txt/xzmore.txt b/Build/source/extra/xz/doc/man/txt/xzmore.txt deleted file mode 100644 index 5a9d86c7853..00000000000 --- a/Build/source/extra/xz/doc/man/txt/xzmore.txt +++ /dev/null @@ -1,34 +0,0 @@ -XZMORE(1) XZ Utils XZMORE(1) - - - -NAME - xzmore, lzmore - view xz or lzma compressed (text) files - -SYNOPSIS - xzmore [file...] - lzmore [file...] - -DESCRIPTION - xzmore is a filter which allows examination of xz(1) or lzma(1) com- - pressed text files one screenful at a time on a soft-copy terminal. - - To use a pager other than the default more, set environment variable - PAGER to the name of the desired program. The name lzmore is provided - for backward compatibility with LZMA Utils. - - e or q When the prompt --More--(Next file: file) is printed, this com- - mand causes xzmore to exit. - - s When the prompt --More--(Next file: file) is printed, this com- - mand causes xzmore to skip the next file and continue. - - For list of keyboard commands supported while actually viewing the con- - tent of a file, refer to manual of the pager you use, usually more(1). - -SEE ALSO - more(1), xz(1), xzless(1), zmore(1) - - - -Tukaani 2013-06-30 XZMORE(1) diff --git a/Build/source/extra/xz/doc/xz-file-format.txt b/Build/source/extra/xz/doc/xz-file-format.txt deleted file mode 100644 index 4ed66506018..00000000000 --- a/Build/source/extra/xz/doc/xz-file-format.txt +++ /dev/null @@ -1,1150 +0,0 @@ - -The .xz File Format -=================== - -Version 1.0.4 (2009-08-27) - - - 0. Preface - 0.1. Notices and Acknowledgements - 0.2. Getting the Latest Version - 0.3. Version History - 1. Conventions - 1.1. Byte and Its Representation - 1.2. Multibyte Integers - 2. Overall Structure of .xz File - 2.1. Stream - 2.1.1. Stream Header - 2.1.1.1. Header Magic Bytes - 2.1.1.2. Stream Flags - 2.1.1.3. CRC32 - 2.1.2. Stream Footer - 2.1.2.1. CRC32 - 2.1.2.2. Backward Size - 2.1.2.3. Stream Flags - 2.1.2.4. Footer Magic Bytes - 2.2. Stream Padding - 3. Block - 3.1. Block Header - 3.1.1. Block Header Size - 3.1.2. Block Flags - 3.1.3. Compressed Size - 3.1.4. Uncompressed Size - 3.1.5. List of Filter Flags - 3.1.6. Header Padding - 3.1.7. CRC32 - 3.2. Compressed Data - 3.3. Block Padding - 3.4. Check - 4. Index - 4.1. Index Indicator - 4.2. Number of Records - 4.3. List of Records - 4.3.1. Unpadded Size - 4.3.2. Uncompressed Size - 4.4. Index Padding - 4.5. CRC32 - 5. Filter Chains - 5.1. Alignment - 5.2. Security - 5.3. Filters - 5.3.1. LZMA2 - 5.3.2. Branch/Call/Jump Filters for Executables - 5.3.3. Delta - 5.3.3.1. Format of the Encoded Output - 5.4. Custom Filter IDs - 5.4.1. Reserved Custom Filter ID Ranges - 6. Cyclic Redundancy Checks - 7. References - - -0. Preface - - This document describes the .xz file format (filename suffix - ".xz", MIME type "application/x-xz"). It is intended that this - this format replace the old .lzma format used by LZMA SDK and - LZMA Utils. - - -0.1. Notices and Acknowledgements - - This file format was designed by Lasse Collin - and Igor Pavlov. - - Special thanks for helping with this document goes to - Ville Koskinen. Thanks for helping with this document goes to - Mark Adler, H. Peter Anvin, Mikko Pouru, and Lars Wirzenius. - - This document has been put into the public domain. - - -0.2. Getting the Latest Version - - The latest official version of this document can be downloaded - from . - - Specific versions of this document have a filename - xz-file-format-X.Y.Z.txt where X.Y.Z is the version number. - For example, the version 1.0.0 of this document is available - at . - - -0.3. Version History - - Version Date Description - - 1.0.4 2009-08-27 Language improvements in Sections 1.2, - 2.1.1.2, 3.1.1, 3.1.2, and 5.3.1 - - 1.0.3 2009-06-05 Spelling fixes in Sections 5.1 and 5.4 - - 1.0.2 2009-06-04 Typo fixes in Sections 4 and 5.3.1 - - 1.0.1 2009-06-01 Typo fix in Section 0.3 and minor - clarifications to Sections 2, 2.2, - 3.3, 4.4, and 5.3.2 - - 1.0.0 2009-01-14 The first official version - - -1. Conventions - - The key words "MUST", "MUST NOT", "REQUIRED", "SHOULD", - "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this - document are to be interpreted as described in [RFC-2119]. - - Indicating a warning means displaying a message, returning - appropriate exit status, or doing something else to let the - user know that something worth warning occurred. The operation - SHOULD still finish if a warning is indicated. - - Indicating an error means displaying a message, returning - appropriate exit status, or doing something else to let the - user know that something prevented successfully finishing the - operation. The operation MUST be aborted once an error has - been indicated. - - -1.1. Byte and Its Representation - - In this document, byte is always 8 bits. - - A "null byte" has all bits unset. That is, the value of a null - byte is 0x00. - - To represent byte blocks, this document uses notation that - is similar to the notation used in [RFC-1952]: - - +-------+ - | Foo | One byte. - +-------+ - - +---+---+ - | Foo | Two bytes; that is, some of the vertical bars - +---+---+ can be missing. - - +=======+ - | Foo | Zero or more bytes. - +=======+ - - In this document, a boxed byte or a byte sequence declared - using this notation is called "a field". The example field - above would be called "the Foo field" or plain "Foo". - - If there are many fields, they may be split to multiple lines. - This is indicated with an arrow ("--->"): - - +=====+ - | Foo | - +=====+ - - +=====+ - ---> | Bar | - +=====+ - - The above is equivalent to this: - - +=====+=====+ - | Foo | Bar | - +=====+=====+ - - -1.2. Multibyte Integers - - Multibyte integers of static length, such as CRC values, - are stored in little endian byte order (least significant - byte first). - - When smaller values are more likely than bigger values (for - example file sizes), multibyte integers are encoded in a - variable-length representation: - - Numbers in the range [0, 127] are copied as is, and take - one byte of space. - - Bigger numbers will occupy two or more bytes. All but the - last byte of the multibyte representation have the highest - (eighth) bit set. - - For now, the value of the variable-length integers is limited - to 63 bits, which limits the encoded size of the integer to - nine bytes. These limits may be increased in the future if - needed. - - The following C code illustrates encoding and decoding of - variable-length integers. The functions return the number of - bytes occupied by the integer (1-9), or zero on error. - - #include - #include - - size_t - encode(uint8_t buf[static 9], uint64_t num) - { - if (num > UINT64_MAX / 2) - return 0; - - size_t i = 0; - - while (num >= 0x80) { - buf[i++] = (uint8_t)(num) | 0x80; - num >>= 7; - } - - buf[i++] = (uint8_t)(num); - - return i; - } - - size_t - decode(const uint8_t buf[], size_t size_max, uint64_t *num) - { - if (size_max == 0) - return 0; - - if (size_max > 9) - size_max = 9; - - *num = buf[0] & 0x7F; - size_t i = 0; - - while (buf[i++] & 0x80) { - if (i >= size_max || buf[i] == 0x00) - return 0; - - *num |= (uint64_t)(buf[i] & 0x7F) << (i * 7); - } - - return i; - } - - -2. Overall Structure of .xz File - - A standalone .xz files consist of one or more Streams which may - have Stream Padding between or after them: - - +========+================+========+================+ - | Stream | Stream Padding | Stream | Stream Padding | ... - +========+================+========+================+ - - The sizes of Stream and Stream Padding are always multiples - of four bytes, thus the size of every valid .xz file MUST be - a multiple of four bytes. - - While a typical file contains only one Stream and no Stream - Padding, a decoder handling standalone .xz files SHOULD support - files that have more than one Stream or Stream Padding. - - In contrast to standalone .xz files, when the .xz file format - is used as an internal part of some other file format or - communication protocol, it usually is expected that the decoder - stops after the first Stream, and doesn't look for Stream - Padding or possibly other Streams. - - -2.1. Stream - - +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ - | Stream Header | Block | Block | ... | Block | - +-+-+-+-+-+-+-+-+-+-+-+-+=======+=======+ +=======+ - - +=======+-+-+-+-+-+-+-+-+-+-+-+-+ - ---> | Index | Stream Footer | - +=======+-+-+-+-+-+-+-+-+-+-+-+-+ - - All the above fields have a size that is a multiple of four. If - Stream is used as an internal part of another file format, it - is RECOMMENDED to make the Stream start at an offset that is - a multiple of four bytes. - - Stream Header, Index, and Stream Footer are always present in - a Stream. The maximum size of the Index field is 16 GiB (2^34). - - There are zero or more Blocks. The maximum number of Blocks is - limited only by the maximum size of the Index field. - - Total size of a Stream MUST be less than 8 EiB (2^63 bytes). - The same limit applies to the total amount of uncompressed - data stored in a Stream. - - If an implementation supports handling .xz files with multiple - concatenated Streams, it MAY apply the above limits to the file - as a whole instead of limiting per Stream basis. - - -2.1.1. Stream Header - - +---+---+---+---+---+---+-------+------+--+--+--+--+ - | Header Magic Bytes | Stream Flags | CRC32 | - +---+---+---+---+---+---+-------+------+--+--+--+--+ - - -2.1.1.1. Header Magic Bytes - - The first six (6) bytes of the Stream are so called Header - Magic Bytes. They can be used to identify the file type. - - Using a C array and ASCII: - const uint8_t HEADER_MAGIC[6] - = { 0xFD, '7', 'z', 'X', 'Z', 0x00 }; - - In plain hexadecimal: - FD 37 7A 58 5A 00 - - Notes: - - The first byte (0xFD) was chosen so that the files cannot - be erroneously detected as being in .lzma format, in which - the first byte is in the range [0x00, 0xE0]. - - The sixth byte (0x00) was chosen to prevent applications - from misdetecting the file as a text file. - - If the Header Magic Bytes don't match, the decoder MUST - indicate an error. - - -2.1.1.2. Stream Flags - - The first byte of Stream Flags is always a null byte. In the - future, this byte may be used to indicate a new Stream version - or other Stream properties. - - The second byte of Stream Flags is a bit field: - - Bit(s) Mask Description - 0-3 0x0F Type of Check (see Section 3.4): - ID Size Check name - 0x00 0 bytes None - 0x01 4 bytes CRC32 - 0x02 4 bytes (Reserved) - 0x03 4 bytes (Reserved) - 0x04 8 bytes CRC64 - 0x05 8 bytes (Reserved) - 0x06 8 bytes (Reserved) - 0x07 16 bytes (Reserved) - 0x08 16 bytes (Reserved) - 0x09 16 bytes (Reserved) - 0x0A 32 bytes SHA-256 - 0x0B 32 bytes (Reserved) - 0x0C 32 bytes (Reserved) - 0x0D 64 bytes (Reserved) - 0x0E 64 bytes (Reserved) - 0x0F 64 bytes (Reserved) - 4-7 0xF0 Reserved for future use; MUST be zero for now. - - Implementations SHOULD support at least the Check IDs 0x00 - (None) and 0x01 (CRC32). Supporting other Check IDs is - OPTIONAL. If an unsupported Check is used, the decoder SHOULD - indicate a warning or error. - - If any reserved bit is set, the decoder MUST indicate an error. - It is possible that there is a new field present which the - decoder is not aware of, and can thus parse the Stream Header - incorrectly. - - -2.1.1.3. CRC32 - - The CRC32 is calculated from the Stream Flags field. It is - stored as an unsigned 32-bit little endian integer. If the - calculated value does not match the stored one, the decoder - MUST indicate an error. - - The idea is that Stream Flags would always be two bytes, even - if new features are needed. This way old decoders will be able - to verify the CRC32 calculated from Stream Flags, and thus - distinguish between corrupt files (CRC32 doesn't match) and - files that the decoder doesn't support (CRC32 matches but - Stream Flags has reserved bits set). - - -2.1.2. Stream Footer - - +-+-+-+-+---+---+---+---+-------+------+----------+---------+ - | CRC32 | Backward Size | Stream Flags | Footer Magic Bytes | - +-+-+-+-+---+---+---+---+-------+------+----------+---------+ - - -2.1.2.1. CRC32 - - The CRC32 is calculated from the Backward Size and Stream Flags - fields. It is stored as an unsigned 32-bit little endian - integer. If the calculated value does not match the stored one, - the decoder MUST indicate an error. - - The reason to have the CRC32 field before the Backward Size and - Stream Flags fields is to keep the four-byte fields aligned to - a multiple of four bytes. - - -2.1.2.2. Backward Size - - Backward Size is stored as a 32-bit little endian integer, - which indicates the size of the Index field as multiple of - four bytes, minimum value being four bytes: - - real_backward_size = (stored_backward_size + 1) * 4; - - If the stored value does not match the real size of the Index - field, the decoder MUST indicate an error. - - Using a fixed-size integer to store Backward Size makes - it slightly simpler to parse the Stream Footer when the - application needs to parse the Stream backwards. - - -2.1.2.3. Stream Flags - - This is a copy of the Stream Flags field from the Stream - Header. The information stored to Stream Flags is needed - when parsing the Stream backwards. The decoder MUST compare - the Stream Flags fields in both Stream Header and Stream - Footer, and indicate an error if they are not identical. - - -2.1.2.4. Footer Magic Bytes - - As the last step of the decoding process, the decoder MUST - verify the existence of Footer Magic Bytes. If they don't - match, an error MUST be indicated. - - Using a C array and ASCII: - const uint8_t FOOTER_MAGIC[2] = { 'Y', 'Z' }; - - In hexadecimal: - 59 5A - - The primary reason to have Footer Magic Bytes is to make - it easier to detect incomplete files quickly, without - uncompressing. If the file does not end with Footer Magic Bytes - (excluding Stream Padding described in Section 2.2), it cannot - be undamaged, unless someone has intentionally appended garbage - after the end of the Stream. - - -2.2. Stream Padding - - Only the decoders that support decoding of concatenated Streams - MUST support Stream Padding. - - Stream Padding MUST contain only null bytes. To preserve the - four-byte alignment of consecutive Streams, the size of Stream - Padding MUST be a multiple of four bytes. Empty Stream Padding - is allowed. If these requirements are not met, the decoder MUST - indicate an error. - - Note that non-empty Stream Padding is allowed at the end of the - file; there doesn't need to be a new Stream after non-empty - Stream Padding. This can be convenient in certain situations - [GNU-tar]. - - The possibility of Stream Padding MUST be taken into account - when designing an application that parses Streams backwards, - and the application supports concatenated Streams. - - -3. Block - - +==============+=================+===============+=======+ - | Block Header | Compressed Data | Block Padding | Check | - +==============+=================+===============+=======+ - - -3.1. Block Header - - +-------------------+-------------+=================+ - | Block Header Size | Block Flags | Compressed Size | - +-------------------+-------------+=================+ - - +===================+======================+ - ---> | Uncompressed Size | List of Filter Flags | - +===================+======================+ - - +================+--+--+--+--+ - ---> | Header Padding | CRC32 | - +================+--+--+--+--+ - - -3.1.1. Block Header Size - - This field overlaps with the Index Indicator field (see - Section 4.1). - - This field contains the size of the Block Header field, - including the Block Header Size field itself. Valid values are - in the range [0x01, 0xFF], which indicate the size of the Block - Header as multiples of four bytes, minimum size being eight - bytes: - - real_header_size = (encoded_header_size + 1) * 4; - - If a Block Header bigger than 1024 bytes is needed in the - future, a new field can be added between the Block Header and - Compressed Data fields. The presence of this new field would - be indicated in the Block Header field. - - -3.1.2. Block Flags - - The Block Flags field is a bit field: - - Bit(s) Mask Description - 0-1 0x03 Number of filters (1-4) - 2-5 0x3C Reserved for future use; MUST be zero for now. - 6 0x40 The Compressed Size field is present. - 7 0x80 The Uncompressed Size field is present. - - If any reserved bit is set, the decoder MUST indicate an error. - It is possible that there is a new field present which the - decoder is not aware of, and can thus parse the Block Header - incorrectly. - - -3.1.3. Compressed Size - - This field is present only if the appropriate bit is set in - the Block Flags field (see Section 3.1.2). - - The Compressed Size field contains the size of the Compressed - Data field, which MUST be non-zero. Compressed Size is stored - using the encoding described in Section 1.2. If the Compressed - Size doesn't match the size of the Compressed Data field, the - decoder MUST indicate an error. - - -3.1.4. Uncompressed Size - - This field is present only if the appropriate bit is set in - the Block Flags field (see Section 3.1.2). - - The Uncompressed Size field contains the size of the Block - after uncompressing. Uncompressed Size is stored using the - encoding described in Section 1.2. If the Uncompressed Size - does not match the real uncompressed size, the decoder MUST - indicate an error. - - Storing the Compressed Size and Uncompressed Size fields serves - several purposes: - - The decoder knows how much memory it needs to allocate - for a temporary buffer in multithreaded mode. - - Simple error detection: wrong size indicates a broken file. - - Seeking forwards to a specific location in streamed mode. - - It should be noted that the only reliable way to determine - the real uncompressed size is to uncompress the Block, - because the Block Header and Index fields may contain - (intentionally or unintentionally) invalid information. - - -3.1.5. List of Filter Flags - - +================+================+ +================+ - | Filter 0 Flags | Filter 1 Flags | ... | Filter n Flags | - +================+================+ +================+ - - The number of Filter Flags fields is stored in the Block Flags - field (see Section 3.1.2). - - The format of each Filter Flags field is as follows: - - +===========+====================+===================+ - | Filter ID | Size of Properties | Filter Properties | - +===========+====================+===================+ - - Both Filter ID and Size of Properties are stored using the - encoding described in Section 1.2. Size of Properties indicates - the size of the Filter Properties field as bytes. The list of - officially defined Filter IDs and the formats of their Filter - Properties are described in Section 5.3. - - Filter IDs greater than or equal to 0x4000_0000_0000_0000 - (2^62) are reserved for implementation-specific internal use. - These Filter IDs MUST never be used in List of Filter Flags. - - -3.1.6. Header Padding - - This field contains as many null byte as it is needed to make - the Block Header have the size specified in Block Header Size. - If any of the bytes are not null bytes, the decoder MUST - indicate an error. It is possible that there is a new field - present which the decoder is not aware of, and can thus parse - the Block Header incorrectly. - - -3.1.7. CRC32 - - The CRC32 is calculated over everything in the Block Header - field except the CRC32 field itself. It is stored as an - unsigned 32-bit little endian integer. If the calculated - value does not match the stored one, the decoder MUST indicate - an error. - - By verifying the CRC32 of the Block Header before parsing the - actual contents allows the decoder to distinguish between - corrupt and unsupported files. - - -3.2. Compressed Data - - The format of Compressed Data depends on Block Flags and List - of Filter Flags. Excluding the descriptions of the simplest - filters in Section 5.3, the format of the filter-specific - encoded data is out of scope of this document. - - -3.3. Block Padding - - Block Padding MUST contain 0-3 null bytes to make the size of - the Block a multiple of four bytes. This can be needed when - the size of Compressed Data is not a multiple of four. If any - of the bytes in Block Padding are not null bytes, the decoder - MUST indicate an error. - - -3.4. Check - - The type and size of the Check field depends on which bits - are set in the Stream Flags field (see Section 2.1.1.2). - - The Check, when used, is calculated from the original - uncompressed data. If the calculated Check does not match the - stored one, the decoder MUST indicate an error. If the selected - type of Check is not supported by the decoder, it SHOULD - indicate a warning or error. - - -4. Index - - +-----------------+===================+ - | Index Indicator | Number of Records | - +-----------------+===================+ - - +=================+===============+-+-+-+-+ - ---> | List of Records | Index Padding | CRC32 | - +=================+===============+-+-+-+-+ - - Index serves several purposes. Using it, one can - - verify that all Blocks in a Stream have been processed; - - find out the uncompressed size of a Stream; and - - quickly access the beginning of any Block (random access). - - -4.1. Index Indicator - - This field overlaps with the Block Header Size field (see - Section 3.1.1). The value of Index Indicator is always 0x00. - - -4.2. Number of Records - - This field indicates how many Records there are in the List - of Records field, and thus how many Blocks there are in the - Stream. The value is stored using the encoding described in - Section 1.2. If the decoder has decoded all the Blocks of the - Stream, and then notices that the Number of Records doesn't - match the real number of Blocks, the decoder MUST indicate an - error. - - -4.3. List of Records - - List of Records consists of as many Records as indicated by the - Number of Records field: - - +========+========+ - | Record | Record | ... - +========+========+ - - Each Record contains information about one Block: - - +===============+===================+ - | Unpadded Size | Uncompressed Size | - +===============+===================+ - - If the decoder has decoded all the Blocks of the Stream, it - MUST verify that the contents of the Records match the real - Unpadded Size and Uncompressed Size of the respective Blocks. - - Implementation hint: It is possible to verify the Index with - constant memory usage by calculating for example SHA-256 of - both the real size values and the List of Records, then - comparing the hash values. Implementing this using - non-cryptographic hash like CRC32 SHOULD be avoided unless - small code size is important. - - If the decoder supports random-access reading, it MUST verify - that Unpadded Size and Uncompressed Size of every completely - decoded Block match the sizes stored in the Index. If only - partial Block is decoded, the decoder MUST verify that the - processed sizes don't exceed the sizes stored in the Index. - - -4.3.1. Unpadded Size - - This field indicates the size of the Block excluding the Block - Padding field. That is, Unpadded Size is the size of the Block - Header, Compressed Data, and Check fields. Unpadded Size is - stored using the encoding described in Section 1.2. The value - MUST never be zero; with the current structure of Blocks, the - actual minimum value for Unpadded Size is five. - - Implementation note: Because the size of the Block Padding - field is not included in Unpadded Size, calculating the total - size of a Stream or doing random-access reading requires - calculating the actual size of the Blocks by rounding Unpadded - Sizes up to the next multiple of four. - - The reason to exclude Block Padding from Unpadded Size is to - ease making a raw copy of Compressed Data without Block - Padding. This can be useful, for example, if someone wants - to convert Streams to some other file format quickly. - - -4.3.2. Uncompressed Size - - This field indicates the Uncompressed Size of the respective - Block as bytes. The value is stored using the encoding - described in Section 1.2. - - -4.4. Index Padding - - This field MUST contain 0-3 null bytes to pad the Index to - a multiple of four bytes. If any of the bytes are not null - bytes, the decoder MUST indicate an error. - - -4.5. CRC32 - - The CRC32 is calculated over everything in the Index field - except the CRC32 field itself. The CRC32 is stored as an - unsigned 32-bit little endian integer. If the calculated - value does not match the stored one, the decoder MUST indicate - an error. - - -5. Filter Chains - - The Block Flags field defines how many filters are used. When - more than one filter is used, the filters are chained; that is, - the output of one filter is the input of another filter. The - following figure illustrates the direction of data flow. - - v Uncompressed Data ^ - | Filter 0 | - Encoder | Filter 1 | Decoder - | Filter n | - v Compressed Data ^ - - -5.1. Alignment - - Alignment of uncompressed input data is usually the job of - the application producing the data. For example, to get the - best results, an archiver tool should make sure that all - PowerPC executable files in the archive stream start at - offsets that are multiples of four bytes. - - Some filters, for example LZMA2, can be configured to take - advantage of specified alignment of input data. Note that - taking advantage of aligned input can be beneficial also when - a filter is not the first filter in the chain. For example, - if you compress PowerPC executables, you may want to use the - PowerPC filter and chain that with the LZMA2 filter. Because - not only the input but also the output alignment of the PowerPC - filter is four bytes, it is now beneficial to set LZMA2 - settings so that the LZMA2 encoder can take advantage of its - four-byte-aligned input data. - - The output of the last filter in the chain is stored to the - Compressed Data field, which is is guaranteed to be aligned - to a multiple of four bytes relative to the beginning of the - Stream. This can increase - - speed, if the filtered data is handled multiple bytes at - a time by the filter-specific encoder and decoder, - because accessing aligned data in computer memory is - usually faster; and - - compression ratio, if the output data is later compressed - with an external compression tool. - - -5.2. Security - - If filters would be allowed to be chained freely, it would be - possible to create malicious files, that would be very slow to - decode. Such files could be used to create denial of service - attacks. - - Slow files could occur when multiple filters are chained: - - v Compressed input data - | Filter 1 decoder (last filter) - | Filter 0 decoder (non-last filter) - v Uncompressed output data - - The decoder of the last filter in the chain produces a lot of - output from little input. Another filter in the chain takes the - output of the last filter, and produces very little output - while consuming a lot of input. As a result, a lot of data is - moved inside the filter chain, but the filter chain as a whole - gets very little work done. - - To prevent this kind of slow files, there are restrictions on - how the filters can be chained. These restrictions MUST be - taken into account when designing new filters. - - The maximum number of filters in the chain has been limited to - four, thus there can be at maximum of three non-last filters. - Of these three non-last filters, only two are allowed to change - the size of the data. - - The non-last filters, that change the size of the data, MUST - have a limit how much the decoder can compress the data: the - decoder SHOULD produce at least n bytes of output when the - filter is given 2n bytes of input. This limit is not - absolute, but significant deviations MUST be avoided. - - The above limitations guarantee that if the last filter in the - chain produces 4n bytes of output, the chain as a whole will - produce at least n bytes of output. - - -5.3. Filters - -5.3.1. LZMA2 - - LZMA (Lempel-Ziv-Markov chain-Algorithm) is a general-purpose - compression algorithm with high compression ratio and fast - decompression. LZMA is based on LZ77 and range coding - algorithms. - - LZMA2 is an extension on top of the original LZMA. LZMA2 uses - LZMA internally, but adds support for flushing the encoder, - uncompressed chunks, eases stateful decoder implementations, - and improves support for multithreading. Thus, the plain LZMA - will not be supported in this file format. - - Filter ID: 0x21 - Size of Filter Properties: 1 byte - Changes size of data: Yes - Allow as a non-last filter: No - Allow as the last filter: Yes - - Preferred alignment: - Input data: Adjustable to 1/2/4/8/16 byte(s) - Output data: 1 byte - - The format of the one-byte Filter Properties field is as - follows: - - Bits Mask Description - 0-5 0x3F Dictionary Size - 6-7 0xC0 Reserved for future use; MUST be zero for now. - - Dictionary Size is encoded with one-bit mantissa and five-bit - exponent. The smallest dictionary size is 4 KiB and the biggest - is 4 GiB. - - Raw value Mantissa Exponent Dictionary size - 0 2 11 4 KiB - 1 3 11 6 KiB - 2 2 12 8 KiB - 3 3 12 12 KiB - 4 2 13 16 KiB - 5 3 13 24 KiB - 6 2 14 32 KiB - ... ... ... ... - 35 3 27 768 MiB - 36 2 28 1024 MiB - 37 3 29 1536 MiB - 38 2 30 2048 MiB - 39 3 30 3072 MiB - 40 2 31 4096 MiB - 1 B - - Instead of having a table in the decoder, the dictionary size - can be decoded using the following C code: - - const uint8_t bits = get_dictionary_flags() & 0x3F; - if (bits > 40) - return DICTIONARY_TOO_BIG; // Bigger than 4 GiB - - uint32_t dictionary_size; - if (bits == 40) { - dictionary_size = UINT32_MAX; - } else { - dictionary_size = 2 | (bits & 1); - dictionary_size <<= bits / 2 + 11; - } - - -5.3.2. Branch/Call/Jump Filters for Executables - - These filters convert relative branch, call, and jump - instructions to their absolute counterparts in executable - files. This conversion increases redundancy and thus - compression ratio. - - Size of Filter Properties: 0 or 4 bytes - Changes size of data: No - Allow as a non-last filter: Yes - Allow as the last filter: No - - Below is the list of filters in this category. The alignment - is the same for both input and output data. - - Filter ID Alignment Description - 0x04 1 byte x86 filter (BCJ) - 0x05 4 bytes PowerPC (big endian) filter - 0x06 16 bytes IA64 filter - 0x07 4 bytes ARM (little endian) filter - 0x08 2 bytes ARM Thumb (little endian) filter - 0x09 4 bytes SPARC filter - - If the size of Filter Properties is four bytes, the Filter - Properties field contains the start offset used for address - conversions. It is stored as an unsigned 32-bit little endian - integer. The start offset MUST be a multiple of the alignment - of the filter as listed in the table above; if it isn't, the - decoder MUST indicate an error. If the size of Filter - Properties is zero, the start offset is zero. - - Setting the start offset may be useful if an executable has - multiple sections, and there are many cross-section calls. - Taking advantage of this feature usually requires usage of - the Subblock filter, whose design is not complete yet. - - -5.3.3. Delta - - The Delta filter may increase compression ratio when the value - of the next byte correlates with the value of an earlier byte - at specified distance. - - Filter ID: 0x03 - Size of Filter Properties: 1 byte - Changes size of data: No - Allow as a non-last filter: Yes - Allow as the last filter: No - - Preferred alignment: - Input data: 1 byte - Output data: Same as the original input data - - The Properties byte indicates the delta distance, which can be - 1-256 bytes backwards from the current byte: 0x00 indicates - distance of 1 byte and 0xFF distance of 256 bytes. - - -5.3.3.1. Format of the Encoded Output - - The code below illustrates both encoding and decoding with - the Delta filter. - - // Distance is in the range [1, 256]. - const unsigned int distance = get_properties_byte() + 1; - uint8_t pos = 0; - uint8_t delta[256]; - - memset(delta, 0, sizeof(delta)); - - while (1) { - const int byte = read_byte(); - if (byte == EOF) - break; - - uint8_t tmp = delta[(uint8_t)(distance + pos)]; - if (is_encoder) { - tmp = (uint8_t)(byte) - tmp; - delta[pos] = (uint8_t)(byte); - } else { - tmp = (uint8_t)(byte) + tmp; - delta[pos] = tmp; - } - - write_byte(tmp); - --pos; - } - - -5.4. Custom Filter IDs - - If a developer wants to use custom Filter IDs, he has two - choices. The first choice is to contact Lasse Collin and ask - him to allocate a range of IDs for the developer. - - The second choice is to generate a 40-bit random integer, - which the developer can use as his personal Developer ID. - To minimize the risk of collisions, Developer ID has to be - a randomly generated integer, not manually selected "hex word". - The following command, which works on many free operating - systems, can be used to generate Developer ID: - - dd if=/dev/urandom bs=5 count=1 | hexdump - - The developer can then use his Developer ID to create unique - (well, hopefully unique) Filter IDs. - - Bits Mask Description - 0-15 0x0000_0000_0000_FFFF Filter ID - 16-55 0x00FF_FFFF_FFFF_0000 Developer ID - 56-62 0x3F00_0000_0000_0000 Static prefix: 0x3F - - The resulting 63-bit integer will use 9 bytes of space when - stored using the encoding described in Section 1.2. To get - a shorter ID, see the beginning of this Section how to - request a custom ID range. - - -5.4.1. Reserved Custom Filter ID Ranges - - Range Description - 0x0000_0300 - 0x0000_04FF Reserved to ease .7z compatibility - 0x0002_0000 - 0x0007_FFFF Reserved to ease .7z compatibility - 0x0200_0000 - 0x07FF_FFFF Reserved to ease .7z compatibility - - -6. Cyclic Redundancy Checks - - There are several incompatible variations to calculate CRC32 - and CRC64. For simplicity and clarity, complete examples are - provided to calculate the checks as they are used in this file - format. Implementations MAY use different code as long as it - gives identical results. - - The program below reads data from standard input, calculates - the CRC32 and CRC64 values, and prints the calculated values - as big endian hexadecimal strings to standard output. - - #include - #include - #include - - uint32_t crc32_table[256]; - uint64_t crc64_table[256]; - - void - init(void) - { - static const uint32_t poly32 = UINT32_C(0xEDB88320); - static const uint64_t poly64 - = UINT64_C(0xC96C5795D7870F42); - - for (size_t i = 0; i < 256; ++i) { - uint32_t crc32 = i; - uint64_t crc64 = i; - - for (size_t j = 0; j < 8; ++j) { - if (crc32 & 1) - crc32 = (crc32 >> 1) ^ poly32; - else - crc32 >>= 1; - - if (crc64 & 1) - crc64 = (crc64 >> 1) ^ poly64; - else - crc64 >>= 1; - } - - crc32_table[i] = crc32; - crc64_table[i] = crc64; - } - } - - uint32_t - crc32(const uint8_t *buf, size_t size, uint32_t crc) - { - crc = ~crc; - for (size_t i = 0; i < size; ++i) - crc = crc32_table[buf[i] ^ (crc & 0xFF)] - ^ (crc >> 8); - return ~crc; - } - - uint64_t - crc64(const uint8_t *buf, size_t size, uint64_t crc) - { - crc = ~crc; - for (size_t i = 0; i < size; ++i) - crc = crc64_table[buf[i] ^ (crc & 0xFF)] - ^ (crc >> 8); - return ~crc; - } - - int - main() - { - init(); - - uint32_t value32 = 0; - uint64_t value64 = 0; - uint64_t total_size = 0; - uint8_t buf[8192]; - - while (1) { - const size_t buf_size - = fread(buf, 1, sizeof(buf), stdin); - if (buf_size == 0) - break; - - total_size += buf_size; - value32 = crc32(buf, buf_size, value32); - value64 = crc64(buf, buf_size, value64); - } - - printf("Bytes: %" PRIu64 "\n", total_size); - printf("CRC-32: 0x%08" PRIX32 "\n", value32); - printf("CRC-64: 0x%016" PRIX64 "\n", value64); - - return 0; - } - - -7. References - - LZMA SDK - The original LZMA implementation - http://7-zip.org/sdk.html - - LZMA Utils - LZMA adapted to POSIX-like systems - http://tukaani.org/lzma/ - - XZ Utils - The next generation of LZMA Utils - http://tukaani.org/xz/ - - [RFC-1952] - GZIP file format specification version 4.3 - http://www.ietf.org/rfc/rfc1952.txt - - Notation of byte boxes in section "2.1. Overall conventions" - - [RFC-2119] - Key words for use in RFCs to Indicate Requirement Levels - http://www.ietf.org/rfc/rfc2119.txt - - [GNU-tar] - GNU tar 1.21 manual - http://www.gnu.org/software/tar/manual/html_node/Blocking-Factor.html - - Node 9.4.2 "Blocking Factor", paragraph that begins - "gzip will complain about trailing garbage" - - Note that this URL points to the latest version of the - manual, and may some day not contain the note which is in - 1.21. For the exact version of the manual, download GNU - tar 1.21: ftp://ftp.gnu.org/pub/gnu/tar/tar-1.21.tar.gz - diff --git a/Build/source/extra/xz/dos/Makefile b/Build/source/extra/xz/dos/Makefile deleted file mode 100644 index 3a028993edf..00000000000 --- a/Build/source/extra/xz/dos/Makefile +++ /dev/null @@ -1,146 +0,0 @@ -############################################################################### -# -# Makefile to build XZ Utils using DJGPP -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# For debugging, set comment "#define NDEBUG 1" from config.h to enable -# the assert() macro, set STRIP=rem to disable stripping, and finally -# e.g. CFLAGS="-g -O0". -CC = gcc -STRIP = strip -CPPFLAGS = -CFLAGS = -g -Wall -Wextra -Wfatal-errors -march=i386 -mtune=i686 -O2 -LDFLAGS = -lemu - -# NOTE: -fgnu89-inline is needed on DJGPP 2.04 beta and GCC >= 4.3.0 -# because time.h uses GNU-style "extern inline". -ALL_CFLAGS = -std=gnu99 -fgnu89-inline - -ALL_CPPFLAGS = \ - -I. \ - -I../lib \ - -I../src/common \ - -I../src/liblzma/api \ - -I../src/liblzma/common \ - -I../src/liblzma/check \ - -I../src/liblzma/rangecoder \ - -I../src/liblzma/lz \ - -I../src/liblzma/lzma \ - -I../src/liblzma/delta \ - -I../src/liblzma/simple \ - -DHAVE_CONFIG_H - -ALL_CPPFLAGS += $(CPPFLAGS) -ALL_CFLAGS += $(CFLAGS) - -.PHONY: all -all: xz.exe - -SRCS_C = \ - ../lib/getopt.c \ - ../lib/getopt1.c \ - ../src/common/tuklib_cpucores.c \ - ../src/common/tuklib_exit.c \ - ../src/common/tuklib_mbstr_fw.c \ - ../src/common/tuklib_mbstr_width.c \ - ../src/common/tuklib_open_stdxxx.c \ - ../src/common/tuklib_physmem.c \ - ../src/common/tuklib_progname.c \ - ../src/liblzma/check/check.c \ - ../src/liblzma/check/crc32_table.c \ - ../src/liblzma/check/crc64_table.c \ - ../src/liblzma/check/sha256.c \ - ../src/liblzma/common/alone_decoder.c \ - ../src/liblzma/common/alone_encoder.c \ - ../src/liblzma/common/block_decoder.c \ - ../src/liblzma/common/block_encoder.c \ - ../src/liblzma/common/block_header_decoder.c \ - ../src/liblzma/common/block_header_encoder.c \ - ../src/liblzma/common/block_util.c \ - ../src/liblzma/common/common.c \ - ../src/liblzma/common/filter_common.c \ - ../src/liblzma/common/filter_decoder.c \ - ../src/liblzma/common/filter_encoder.c \ - ../src/liblzma/common/filter_flags_decoder.c \ - ../src/liblzma/common/filter_flags_encoder.c \ - ../src/liblzma/common/hardware_physmem.c \ - ../src/liblzma/common/index.c \ - ../src/liblzma/common/index_decoder.c \ - ../src/liblzma/common/index_encoder.c \ - ../src/liblzma/common/index_hash.c \ - ../src/liblzma/common/stream_decoder.c \ - ../src/liblzma/common/stream_encoder.c \ - ../src/liblzma/common/stream_flags_common.c \ - ../src/liblzma/common/stream_flags_decoder.c \ - ../src/liblzma/common/stream_flags_encoder.c \ - ../src/liblzma/common/vli_decoder.c \ - ../src/liblzma/common/vli_encoder.c \ - ../src/liblzma/common/vli_size.c \ - ../src/liblzma/delta/delta_common.c \ - ../src/liblzma/delta/delta_decoder.c \ - ../src/liblzma/delta/delta_encoder.c \ - ../src/liblzma/lz/lz_decoder.c \ - ../src/liblzma/lz/lz_encoder.c \ - ../src/liblzma/lz/lz_encoder_mf.c \ - ../src/liblzma/lzma/fastpos_table.c \ - ../src/liblzma/lzma/lzma2_decoder.c \ - ../src/liblzma/lzma/lzma2_encoder.c \ - ../src/liblzma/lzma/lzma_decoder.c \ - ../src/liblzma/lzma/lzma_encoder.c \ - ../src/liblzma/lzma/lzma_encoder_optimum_fast.c \ - ../src/liblzma/lzma/lzma_encoder_optimum_normal.c \ - ../src/liblzma/lzma/lzma_encoder_presets.c \ - ../src/liblzma/rangecoder/price_table.c \ - ../src/liblzma/simple/arm.c \ - ../src/liblzma/simple/armthumb.c \ - ../src/liblzma/simple/ia64.c \ - ../src/liblzma/simple/powerpc.c \ - ../src/liblzma/simple/simple_coder.c \ - ../src/liblzma/simple/simple_decoder.c \ - ../src/liblzma/simple/simple_encoder.c \ - ../src/liblzma/simple/sparc.c \ - ../src/liblzma/simple/x86.c \ - ../src/xz/args.c \ - ../src/xz/coder.c \ - ../src/xz/file_io.c \ - ../src/xz/hardware.c \ - ../src/xz/list.c \ - ../src/xz/main.c \ - ../src/xz/message.c \ - ../src/xz/options.c \ - ../src/xz/signals.c \ - ../src/xz/suffix.c \ - ../src/xz/util.c -SRCS_ASM = \ - ../src/liblzma/check/crc32_x86.S \ - ../src/liblzma/check/crc64_x86.S - -OBJS_C = $(SRCS_C:.c=.o) -OBJS_ASM = $(SRCS_ASM:.S=.o) -OBJS = $(OBJS_C) $(OBJS_ASM) - -getopt.h: - update ../lib/getopt.in.h getopt.h - -$(OBJS): getopt.h - -$(OBJS_C): %.o: %.c - $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $< - -$(OBJS_ASM): %.o: %.S - $(CC) $(ALL_CPPFLAGS) $(ALL_CFLAGS) -c -o $@ $< - -# Make xz.exe not depend on an external DPMI server. -xz.exe: $(OBJS) - $(CC) $(ALL_CFLAGS) $(OBJS) $(LDFLAGS) -o $@ - $(STRIP) --strip-all $@ - exe2coff $@ - del $@ - copy /b $(DJGPP:DJGPP.ENV=BIN\CWSDSTUB.EXE) + $(@:.exe=) $@ - del $(@:.exe=) diff --git a/Build/source/extra/xz/dos/README b/Build/source/extra/xz/dos/README deleted file mode 100644 index 9456ea1f2ae..00000000000 --- a/Build/source/extra/xz/dos/README +++ /dev/null @@ -1,88 +0,0 @@ - -XZ Utils on DOS -=============== - -Introduction - - This document explains how to build XZ Utils for DOS using DJGPP. - The resulting binaries should run at least on various DOS versions - and under Windows 95/98/98SE/ME, although the Windows version of - XZ Utils is recommended under Windows 95 and later. - - This is currently experimental and has got very little testing. - - Note: Makefile and config.h are updated only now and then. This - means that especially if you checked out a development version, - building for DOS probably won't work without updating Makefile - and config.h first. - - -Getting and Installing DJGPP - - You may use to help - deciding what to download, but as of writing (2010-10-09) that may - not be the most convenient way taking into account what components - are actually required to build XZ Utils. However, using the - zip-picker can still be worth doing to get nice short summary of - installation instructions (they can be found from readme.1st too). - - For a more manual method, first select a mirror from - . You need - the following files: - - unzip32.exe (if you don't already have a LFN-capable unzipper) - beta/v2/djdev204.zip - v2gnu/bnu219b.zip - v2gnu/gcc444b.zip - v2gnu/mak3791b.zip - v2misc/csdpmi7b.zip - - If newer versions are available, probably you should try them first. - Note that djdev203.zip is too old to build XZ Utils; you need at - least djdev204.zip. Also note that you want csdpmi7b.zip even if you - run under Windows or DOSEMU, because the XZ Utils Makefile will embed - cwsdstub.exe to the resulting binaries. - - See the instructions in readme.1st found from djdev204.zip. Here's - a short summary, but you should still read readme.1st. - - C:\> mkdir DJGPP - C:\> cd DJGPP - C:\DJGPP> c:\download\unzip32 c:\download\djdev204.zip - C:\DJGPP> c:\download\unzip32 c:\download\bnu219b.zip - C:\DJGPP> c:\download\unzip32 c:\download\gcc444b.zip - C:\DJGPP> c:\download\unzip32 c:\download\mak3791b.zip - C:\DJGPP> c:\download\unzip32 c:\download\csdpmi7b.zip - - C:\DJGPP> set PATH=C:\DJGPP\BIN;%PATH% - C:\DJGPP> set DJGPP=C:\DJGPP\DJGPP.ENV - - You may want to add the last two lines into AUTOEXEC.BAT or have, - for example, DJGPP.BAT which you can run before using DJGPP. - - Make sure you use completely upper case path in the DJGPP environment - variable. This is not required by DJGPP, but the XZ Utils Makefile is - a bit stupid and expects that everything in DJGPP environment variable - is uppercase. - - -Building - - You need to have an environment that supports long filenames (LFN). - Once you have built XZ Utils, the resulting binaries can be run - without long filename support. - - Run "make" in this directory (the directory containing this README). - You should get xz.exe (and a bunch of temporary files). Other tools - are not built. Having e.g. xzdec.exe doesn't save much space compared - to xz.exe, because the DJGPP runtime makes the .exe quite big anyway. - - -Bugs - - xz doesn't necessarily work in Dosbox. It should work in DOSEMU. - - Pressing Ctrl-c or Ctrl-Break won't remove the incomplete target file - when running under Windows XP Command Prompt (something goes wrong - with SIGINT handling). It works correctly under Windows 95/98/98SE/ME. - diff --git a/Build/source/extra/xz/dos/config.h b/Build/source/extra/xz/dos/config.h deleted file mode 100644 index 1ed81f67111..00000000000 --- a/Build/source/extra/xz/dos/config.h +++ /dev/null @@ -1,130 +0,0 @@ -/* How many MiB of RAM to assume if the real amount cannot be determined. */ -#define ASSUME_RAM 32 - -/* Define to 1 if crc32 integrity check is enabled. */ -#define HAVE_CHECK_CRC32 1 - -/* Define to 1 if crc64 integrity check is enabled. */ -#define HAVE_CHECK_CRC64 1 - -/* Define to 1 if sha256 integrity check is enabled. */ -#define HAVE_CHECK_SHA256 1 - -/* Define to 1 if arm decoder is enabled. */ -#define HAVE_DECODER_ARM 1 - -/* Define to 1 if armthumb decoder is enabled. */ -#define HAVE_DECODER_ARMTHUMB 1 - -/* Define to 1 if delta decoder is enabled. */ -#define HAVE_DECODER_DELTA 1 - -/* Define to 1 if ia64 decoder is enabled. */ -#define HAVE_DECODER_IA64 1 - -/* Define to 1 if lzma1 decoder is enabled. */ -#define HAVE_DECODER_LZMA1 1 - -/* Define to 1 if lzma2 decoder is enabled. */ -#define HAVE_DECODER_LZMA2 1 - -/* Define to 1 if powerpc decoder is enabled. */ -#define HAVE_DECODER_POWERPC 1 - -/* Define to 1 if sparc decoder is enabled. */ -#define HAVE_DECODER_SPARC 1 - -/* Define to 1 if x86 decoder is enabled. */ -#define HAVE_DECODER_X86 1 - -/* Define to 1 if arm encoder is enabled. */ -#define HAVE_ENCODER_ARM 1 - -/* Define to 1 if armthumb encoder is enabled. */ -#define HAVE_ENCODER_ARMTHUMB 1 - -/* Define to 1 if delta encoder is enabled. */ -#define HAVE_ENCODER_DELTA 1 - -/* Define to 1 if ia64 encoder is enabled. */ -#define HAVE_ENCODER_IA64 1 - -/* Define to 1 if lzma1 encoder is enabled. */ -#define HAVE_ENCODER_LZMA1 1 - -/* Define to 1 if lzma2 encoder is enabled. */ -#define HAVE_ENCODER_LZMA2 1 - -/* Define to 1 if powerpc encoder is enabled. */ -#define HAVE_ENCODER_POWERPC 1 - -/* Define to 1 if sparc encoder is enabled. */ -#define HAVE_ENCODER_SPARC 1 - -/* Define to 1 if x86 encoder is enabled. */ -#define HAVE_ENCODER_X86 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_INTTYPES_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_LIMITS_H 1 - -/* Define to 1 to enable bt2 match finder. */ -#define HAVE_MF_BT2 1 - -/* Define to 1 to enable bt3 match finder. */ -#define HAVE_MF_BT3 1 - -/* Define to 1 to enable bt4 match finder. */ -#define HAVE_MF_BT4 1 - -/* Define to 1 to enable hc3 match finder. */ -#define HAVE_MF_HC3 1 - -/* Define to 1 to enable hc4 match finder. */ -#define HAVE_MF_HC4 1 - -/* Define to 1 if stdbool.h conforms to C99. */ -#define HAVE_STDBOOL_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDINT_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STDLIB_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_STRING_H 1 - -/* Define to 1 if you have the header file. */ -#define HAVE_SYS_TIME_H 1 - -/* Define to 1 if you have the `utimes' function. */ -#define HAVE_UTIMES 1 - -/* Define to 1 or 0, depending whether the compiler supports simple visibility - declarations. */ -#define HAVE_VISIBILITY 0 - -/* Define to 1 if the system has the type `_Bool'. */ -#define HAVE__BOOL 1 - -/* Define to 1 to disable debugging code. */ -#define NDEBUG 1 - -/* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "lasse.collin@tukaani.org" - -/* Define to the full name of this package. */ -#define PACKAGE_NAME "XZ Utils" - -/* Define to the home page for this package. */ -#define PACKAGE_URL "http://tukaani.org/xz/" - -/* The size of `size_t', as computed by sizeof. */ -#define SIZEOF_SIZE_T 4 - -/* Define to 1 if the system supports fast unaligned access to 16-bit and - 32-bit integers. */ -#define TUKLIB_FAST_UNALIGNED_ACCESS 1 diff --git a/Build/source/extra/xz/extra/7z2lzma/7z2lzma.bash b/Build/source/extra/xz/extra/7z2lzma/7z2lzma.bash deleted file mode 100755 index 1777c7868f9..00000000000 --- a/Build/source/extra/xz/extra/7z2lzma/7z2lzma.bash +++ /dev/null @@ -1,115 +0,0 @@ -#!/bin/bash -# -############################################################################# -# -# 7z2lzma.bash is very primitive .7z to .lzma converter. The input file must -# have exactly one LZMA compressed stream, which has been created with the -# default lc, lp, and pb values. The CRC32 in the .7z archive is not checked, -# and the script may seem to succeed while it actually created a corrupt .lzma -# file. You should always try uncompressing both the original .7z and the -# created .lzma and compare that the output is identical. -# -# This script requires basic GNU tools and 7z or 7za tool from p7zip. -# -# Last modified: 2009-01-15 14:25+0200 -# -############################################################################# -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################# - -# You can use 7z or 7za, both will work. -SEVENZIP=7za - -if [ $# != 2 -o -z "$1" -o -z "$2" ]; then - echo "Usage: $0 input.7z output.lzma" - exit 1 -fi - -# Converts an integer variable to little endian binary integer. -int2bin() -{ - local LEN=$1 - local NUM=$2 - local HEX=(0 1 2 3 4 5 6 7 8 9 A B C D E F) - local I - for ((I=0; I < "$LEN"; ++I)); do - printf "\\x${HEX[(NUM >> 4) & 0x0F]}${HEX[NUM & 0x0F]}" - NUM=$((NUM >> 8)) - done -} - -# Make sure we get possible errors from pipes. -set -o pipefail - -# Get information about the input file. At least older 7z and 7za versions -# may return with zero exit status even when an error occurred, so check -# if the output has any lines beginning with "Error". -INFO=$("$SEVENZIP" l -slt "$1") -if [ $? != 0 ] || printf '%s\n' "$INFO" | grep -q ^Error; then - printf '%s\n' "$INFO" - exit 1 -fi - -# Check if the input file has more than one compressed block. -if printf '%s\n' "$INFO" | grep -q '^Block = 1'; then - echo "Cannot convert, because the input file has more than" - echo "one compressed block." - exit 1 -fi - -# Get compressed, uncompressed, and dictionary size. -CSIZE=$(printf '%s\n' "$INFO" | sed -rn 's|^Packed Size = ([0-9]+$)|\1|p') -USIZE=$(printf '%s\n' "$INFO" | sed -rn 's|^Size = ([0-9]+$)|\1|p') -DICT=$(printf '%s\n' "$INFO" | sed -rn 's|^Method = LZMA:([0-9]+[bkm]?)$|\1|p') - -if [ -z "$CSIZE" -o -z "$USIZE" -o -z "$DICT" ]; then - echo "Parsing output of $SEVENZIP failed. Maybe the file uses some" - echo "other compression method than plain LZMA." - exit 1 -fi - -# The following assumes that the default lc, lp, and pb settings were used. -# Otherwise the output will be corrupt. -printf '\x5D' > "$2" - -# Dictionary size can be either was power of two, bytes, kibibytes, or -# mebibytes. We need to convert it to bytes. -case $DICT in - *b) - DICT=${DICT%b} - ;; - *k) - DICT=${DICT%k} - DICT=$((DICT << 10)) - ;; - *m) - DICT=${DICT%m} - DICT=$((DICT << 20)) - ;; - *) - DICT=$((1 << DICT)) - ;; -esac -int2bin 4 "$DICT" >> "$2" - -# Uncompressed size -int2bin 8 "$USIZE" >> "$2" - -# Copy the actual compressed data. Using multiple dd commands to avoid -# copying large amount of data with one-byte block size, which would be -# annoyingly slow. -BS=8192 -BIGSIZE=$((CSIZE / BS)) -CSIZE=$((CSIZE % BS)) -{ - dd of=/dev/null bs=32 count=1 \ - && dd bs="$BS" count="$BIGSIZE" \ - && dd bs=1 count="$CSIZE" -} < "$1" >> "$2" - -exit $? diff --git a/Build/source/extra/xz/extra/scanlzma/scanlzma.c b/Build/source/extra/xz/extra/scanlzma/scanlzma.c deleted file mode 100644 index 5c3b25be32a..00000000000 --- a/Build/source/extra/xz/extra/scanlzma/scanlzma.c +++ /dev/null @@ -1,84 +0,0 @@ -/* - scanlzma, scan for lzma compressed data in stdin and echo it to stdout. - Copyright (C) 2006 Timo Lindfors - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. -*/ - -/* Usage example: - - $ wget http://www.wifi-shop.cz/Files/produkty/wa2204/wa2204av1.4.1.zip - $ unzip wa2204av1.4.1.zip - $ gcc scanlzma.c -o scanlzma -Wall - $ ./scanlzma 0 < WA2204-FW1.4.1/linux-1.4.bin | lzma -c -d | strings | grep -i "copyright" - UpdateDD version 2.5, Copyright (C) 2005 Philipp Benner. - Copyright (C) 2005 Philipp Benner. - Copyright (C) 2005 Philipp Benner. - mawk 1.3%s%s %s, Copyright (C) Michael D. Brennan - # Copyright (C) 1998, 1999, 2001 Henry Spencer. - ... - -*/ - - -/* LZMA compressed file format */ -/* --------------------------- */ -/* Offset Size Description */ -/* 0 1 Special LZMA properties for compressed data */ -/* 1 4 Dictionary size (little endian) */ -/* 5 8 Uncompressed size (little endian). -1 means unknown size */ -/* 13 Compressed data */ - -#define BUFSIZE 4096 - -int find_lzma_header(unsigned char *buf) { - return (buf[0] < 0xE1 - && buf[0] == 0x5d - && buf[4] < 0x20 - && (memcmp (buf + 10 , "\x00\x00\x00", 3) == 0 - || (memcmp (buf + 5, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF", 8) == 0))); -} - -int main(int argc, char *argv[]) { - char buf[BUFSIZE]; - int ret, i, numlzma, blocks=0; - - if (argc != 2) { - printf("usage: %s numlzma < infile | lzma -c -d > outfile\n" - "where numlzma is index of lzma file to extract, starting from zero.\n", - argv[0]); - exit(1); - } - numlzma = atoi(argv[1]); - - for (;;) { - /* Read data. */ - ret = fread(buf, BUFSIZE, 1, stdin); - if (ret != 1) - break; - - /* Scan for signature. */ - for (i = 0; i $@-t - mv -f $@-t $@ diff --git a/Build/source/extra/xz/lib/Makefile.in b/Build/source/extra/xz/lib/Makefile.in deleted file mode 100644 index 21eceb7fe6c..00000000000 --- a/Build/source/extra/xz/lib/Makefile.in +++ /dev/null @@ -1,566 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = lib -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am getopt1.c \ - getopt.c $(top_srcdir)/build-aux/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -LIBRARIES = $(noinst_LIBRARIES) -ARFLAGS = cru -AM_V_AR = $(am__v_AR_@AM_V@) -am__v_AR_ = $(am__v_AR_@AM_DEFAULT_V@) -am__v_AR_0 = @echo " AR " $@; -am__v_AR_1 = -libgnu_a_AR = $(AR) $(ARFLAGS) -am_libgnu_a_OBJECTS = -libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(libgnu_a_SOURCES) -DIST_SOURCES = $(libgnu_a_SOURCES) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -noinst_LIBRARIES = libgnu.a -libgnu_a_SOURCES = -libgnu_a_DEPENDENCIES = $(LIBOBJS) -libgnu_a_LIBADD = $(LIBOBJS) -EXTRA_DIST = getopt.in.h getopt.c getopt1.c getopt_int.h -BUILT_SOURCES = $(GETOPT_H) -MOSTLYCLEANFILES = getopt.h getopt.h-t -all: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign lib/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign lib/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-noinstLIBRARIES: - -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES) - -libgnu.a: $(libgnu_a_OBJECTS) $(libgnu_a_DEPENDENCIES) $(EXTRA_libgnu_a_DEPENDENCIES) - $(AM_V_at)-rm -f libgnu.a - $(AM_V_AR)$(libgnu_a_AR) libgnu.a $(libgnu_a_OBJECTS) $(libgnu_a_LIBADD) - $(AM_V_at)$(RANLIB) libgnu.a - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@$(DEPDIR)/getopt1.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) check-am -all-am: Makefile $(LIBRARIES) -installdirs: -install: $(BUILT_SOURCES) - $(MAKE) $(AM_MAKEFLAGS) install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." - -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -clean: clean-am - -clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \ - mostlyclean-am - -distclean: distclean-am - -rm -rf $(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf $(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: all check install install-am install-strip - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - clean-noinstLIBRARIES cscopelist-am ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool distdir \ - dvi dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags-am uninstall uninstall-am - - -getopt.h: getopt.in.h - { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ - cat $(srcdir)/getopt.in.h; \ - } > $@-t - mv -f $@-t $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/lib/getopt.c b/Build/source/extra/xz/lib/getopt.c deleted file mode 100644 index 1d14b245b2b..00000000000 --- a/Build/source/extra/xz/lib/getopt.c +++ /dev/null @@ -1,1197 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what - "Keep this file name-space clean" means, talk to drepper@gnu.org - before changing it! - Copyright (C) 1987,88,89,90,91,92,93,94,95,96,98,99,2000,2001,2002,2003,2004,2006 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _LIBC -# include -#endif - -#include "getopt.h" - -#include -#include -#include -#include - -#ifdef __VMS -# include -#endif - -/* Completely disable NLS for getopt. We won't include translations for it - anyway. If the system lacks getopt_long, missing translations probably - aren't a problem. */ -/* -#ifdef _LIBC -# include -#else -# include "gettext.h" -# define _(msgid) gettext (msgid) -#endif -*/ -#define _(msgid) (msgid) - -#if defined _LIBC && defined USE_IN_LIBIO -# include -#endif - -#ifndef attribute_hidden -# define attribute_hidden -#endif - -/* Unlike standard Unix `getopt', functions like `getopt_long' - let the user intersperse the options with the other arguments. - - As `getopt_long' works, it permutes the elements of ARGV so that, - when it is done, all the options precede everything else. Thus - all application programs are extended to handle flexible argument order. - - Using `getopt' or setting the environment variable POSIXLY_CORRECT - disables permutation. - Then the application's behavior is completely standard. - - GNU application programs can use a third alternative mode in which - they can distinguish the relative order of options and other arguments. */ - -#include "getopt_int.h" - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -/* 1003.2 says this must be 1 before any call. */ -int optind = 1; - -/* Callers store zero here to inhibit the error message - for unrecognized options. */ - -int opterr = 1; - -/* Set to an option character which was unrecognized. - This must be initialized on some systems to avoid linking in the - system's own getopt implementation. */ - -int optopt = '?'; - -/* Keep a global copy of all internal members of getopt_data. */ - -static struct _getopt_data getopt_data; - - -#if defined HAVE_DECL_GETENV && !HAVE_DECL_GETENV -extern char *getenv (); -#endif - -#ifdef _LIBC -/* Stored original parameters. - XXX This is no good solution. We should rather copy the args so - that we can compare them later. But we must not use malloc(3). */ -extern int __libc_argc; -extern char **__libc_argv; - -/* Bash 2.0 gives us an environment variable containing flags - indicating ARGV elements that should not be considered arguments. */ - -# ifdef USE_NONOPTION_FLAGS -/* Defined in getopt_init.c */ -extern char *__getopt_nonoption_flags; -# endif - -# ifdef USE_NONOPTION_FLAGS -# define SWAP_FLAGS(ch1, ch2) \ - if (d->__nonoption_flags_len > 0) \ - { \ - char __tmp = __getopt_nonoption_flags[ch1]; \ - __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ - __getopt_nonoption_flags[ch2] = __tmp; \ - } -# else -# define SWAP_FLAGS(ch1, ch2) -# endif -#else /* !_LIBC */ -# define SWAP_FLAGS(ch1, ch2) -#endif /* _LIBC */ - -/* Exchange two adjacent subsequences of ARGV. - One subsequence is elements [first_nonopt,last_nonopt) - which contains all the non-options that have been skipped so far. - The other is elements [last_nonopt,optind), which contains all - the options processed since those non-options were skipped. - - `first_nonopt' and `last_nonopt' are relocated so that they describe - the new indices of the non-options in ARGV after they are moved. */ - -static void -exchange (char **argv, struct _getopt_data *d) -{ - int bottom = d->__first_nonopt; - int middle = d->__last_nonopt; - int top = d->optind; - char *tem; - - /* Exchange the shorter segment with the far end of the longer segment. - That puts the shorter segment into the right place. - It leaves the longer segment in the right place overall, - but it consists of two parts that need to be swapped next. */ - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - /* First make sure the handling of the `__getopt_nonoption_flags' - string can work normally. Our top argument must be in the range - of the string. */ - if (d->__nonoption_flags_len > 0 && top >= d->__nonoption_flags_max_len) - { - /* We must extend the array. The user plays games with us and - presents new arguments. */ - char *new_str = malloc (top + 1); - if (new_str == NULL) - d->__nonoption_flags_len = d->__nonoption_flags_max_len = 0; - else - { - memset (__mempcpy (new_str, __getopt_nonoption_flags, - d->__nonoption_flags_max_len), - '\0', top + 1 - d->__nonoption_flags_max_len); - d->__nonoption_flags_max_len = top + 1; - __getopt_nonoption_flags = new_str; - } - } -#endif - - while (top > middle && middle > bottom) - { - if (top - middle > middle - bottom) - { - /* Bottom segment is the short one. */ - int len = middle - bottom; - register int i; - - /* Swap it with the top part of the top segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[top - (middle - bottom) + i]; - argv[top - (middle - bottom) + i] = tem; - SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); - } - /* Exclude the moved bottom segment from further swapping. */ - top -= len; - } - else - { - /* Top segment is the short one. */ - int len = top - middle; - register int i; - - /* Swap it with the bottom part of the bottom segment. */ - for (i = 0; i < len; i++) - { - tem = argv[bottom + i]; - argv[bottom + i] = argv[middle + i]; - argv[middle + i] = tem; - SWAP_FLAGS (bottom + i, middle + i); - } - /* Exclude the moved top segment from further swapping. */ - bottom += len; - } - } - - /* Update records for the slots the non-options now occupy. */ - - d->__first_nonopt += (d->optind - d->__last_nonopt); - d->__last_nonopt = d->optind; -} - -/* Initialize the internal data when the first call is made. */ - -static const char * -_getopt_initialize (int argc, char **argv, const char *optstring, - int posixly_correct, struct _getopt_data *d) -{ - /* Start processing options with ARGV-element 1 (since ARGV-element 0 - is the program name); the sequence of previously skipped - non-option ARGV-elements is empty. */ - - d->__first_nonopt = d->__last_nonopt = d->optind; - - d->__nextchar = NULL; - - d->__posixly_correct = posixly_correct || !!getenv ("POSIXLY_CORRECT"); - - /* Determine how to handle the ordering of options and nonoptions. */ - - if (optstring[0] == '-') - { - d->__ordering = RETURN_IN_ORDER; - ++optstring; - } - else if (optstring[0] == '+') - { - d->__ordering = REQUIRE_ORDER; - ++optstring; - } - else if (d->__posixly_correct) - d->__ordering = REQUIRE_ORDER; - else - d->__ordering = PERMUTE; - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - if (!d->__posixly_correct - && argc == __libc_argc && argv == __libc_argv) - { - if (d->__nonoption_flags_max_len == 0) - { - if (__getopt_nonoption_flags == NULL - || __getopt_nonoption_flags[0] == '\0') - d->__nonoption_flags_max_len = -1; - else - { - const char *orig_str = __getopt_nonoption_flags; - int len = d->__nonoption_flags_max_len = strlen (orig_str); - if (d->__nonoption_flags_max_len < argc) - d->__nonoption_flags_max_len = argc; - __getopt_nonoption_flags = - (char *) malloc (d->__nonoption_flags_max_len); - if (__getopt_nonoption_flags == NULL) - d->__nonoption_flags_max_len = -1; - else - memset (__mempcpy (__getopt_nonoption_flags, orig_str, len), - '\0', d->__nonoption_flags_max_len - len); - } - } - d->__nonoption_flags_len = d->__nonoption_flags_max_len; - } - else - d->__nonoption_flags_len = 0; -#endif - - return optstring; -} - -/* Scan elements of ARGV (whose length is ARGC) for option characters - given in OPTSTRING. - - If an element of ARGV starts with '-', and is not exactly "-" or "--", - then it is an option element. The characters of this element - (aside from the initial '-') are option characters. If `getopt' - is called repeatedly, it returns successively each of the option characters - from each of the option elements. - - If `getopt' finds another option character, it returns that character, - updating `optind' and `nextchar' so that the next call to `getopt' can - resume the scan with the following option character or ARGV-element. - - If there are no more option characters, `getopt' returns -1. - Then `optind' is the index in ARGV of the first ARGV-element - that is not an option. (The ARGV-elements have been permuted - so that those that are not options now come last.) - - OPTSTRING is a string containing the legitimate option characters. - If an option character is seen that is not listed in OPTSTRING, - return '?' after printing an error message. If you set `opterr' to - zero, the error message is suppressed but we still return '?'. - - If a char in OPTSTRING is followed by a colon, that means it wants an arg, - so the following text in the same ARGV-element, or the text of the following - ARGV-element, is returned in `optarg'. Two colons mean an option that - wants an optional arg; if there is text in the current ARGV-element, - it is returned in `optarg', otherwise `optarg' is set to zero. - - If OPTSTRING starts with `-' or `+', it requests different methods of - handling the non-option ARGV-elements. - See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. - - Long-named options begin with `--' instead of `-'. - Their names may be abbreviated as long as the abbreviation is unique - or is an exact match for some defined option. If they have an - argument, it follows the option name in the same ARGV-element, separated - from the option name by a `=', or else the in next ARGV-element. - When `getopt' finds a long-named option, it returns 0 if that option's - `flag' field is nonzero, the value of the option's `val' field - if the `flag' field is zero. - - LONGOPTS is a vector of `struct option' terminated by an - element containing a name which is zero. - - LONGIND returns the index in LONGOPT of the long-named option found. - It is only valid when a long-named option has been found by the most - recent call. - - If LONG_ONLY is nonzero, '-' as well as '--' can introduce - long-named options. - - If POSIXLY_CORRECT is nonzero, behave as if the POSIXLY_CORRECT - environment variable were set. */ - -int -_getopt_internal_r (int argc, char **argv, const char *optstring, - const struct option *longopts, int *longind, - int long_only, int posixly_correct, struct _getopt_data *d) -{ - int print_errors = d->opterr; - if (optstring[0] == ':') - print_errors = 0; - - if (argc < 1) - return -1; - - d->optarg = NULL; - - if (d->optind == 0 || !d->__initialized) - { - if (d->optind == 0) - d->optind = 1; /* Don't scan ARGV[0], the program name. */ - optstring = _getopt_initialize (argc, argv, optstring, - posixly_correct, d); - d->__initialized = 1; - } - - /* Test whether ARGV[optind] points to a non-option argument. - Either it does not have option syntax, or there is an environment flag - from the shell indicating it is not an option. The later information - is only used when the used in the GNU libc. */ -#if defined _LIBC && defined USE_NONOPTION_FLAGS -# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0' \ - || (d->optind < d->__nonoption_flags_len \ - && __getopt_nonoption_flags[d->optind] == '1')) -#else -# define NONOPTION_P (argv[d->optind][0] != '-' || argv[d->optind][1] == '\0') -#endif - - if (d->__nextchar == NULL || *d->__nextchar == '\0') - { - /* Advance to the next ARGV-element. */ - - /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been - moved back by the user (who may also have changed the arguments). */ - if (d->__last_nonopt > d->optind) - d->__last_nonopt = d->optind; - if (d->__first_nonopt > d->optind) - d->__first_nonopt = d->optind; - - if (d->__ordering == PERMUTE) - { - /* If we have just processed some options following some non-options, - exchange them so that the options come first. */ - - if (d->__first_nonopt != d->__last_nonopt - && d->__last_nonopt != d->optind) - exchange ((char **) argv, d); - else if (d->__last_nonopt != d->optind) - d->__first_nonopt = d->optind; - - /* Skip any additional non-options - and extend the range of non-options previously skipped. */ - - while (d->optind < argc && NONOPTION_P) - d->optind++; - d->__last_nonopt = d->optind; - } - - /* The special ARGV-element `--' means premature end of options. - Skip it like a null option, - then exchange with previous non-options as if it were an option, - then skip everything else like a non-option. */ - - if (d->optind != argc && !strcmp (argv[d->optind], "--")) - { - d->optind++; - - if (d->__first_nonopt != d->__last_nonopt - && d->__last_nonopt != d->optind) - exchange ((char **) argv, d); - else if (d->__first_nonopt == d->__last_nonopt) - d->__first_nonopt = d->optind; - d->__last_nonopt = argc; - - d->optind = argc; - } - - /* If we have done all the ARGV-elements, stop the scan - and back over any non-options that we skipped and permuted. */ - - if (d->optind == argc) - { - /* Set the next-arg-index to point at the non-options - that we previously skipped, so the caller will digest them. */ - if (d->__first_nonopt != d->__last_nonopt) - d->optind = d->__first_nonopt; - return -1; - } - - /* If we have come to a non-option and did not permute it, - either stop the scan or describe it to the caller and pass it by. */ - - if (NONOPTION_P) - { - if (d->__ordering == REQUIRE_ORDER) - return -1; - d->optarg = argv[d->optind++]; - return 1; - } - - /* We have found another option-ARGV-element. - Skip the initial punctuation. */ - - d->__nextchar = (argv[d->optind] + 1 - + (longopts != NULL && argv[d->optind][1] == '-')); - } - - /* Decode the current option-ARGV-element. */ - - /* Check whether the ARGV-element is a long option. - - If long_only and the ARGV-element has the form "-f", where f is - a valid short option, don't consider it an abbreviated form of - a long option that starts with f. Otherwise there would be no - way to give the -f short option. - - On the other hand, if there's a long option "fubar" and - the ARGV-element is "-fu", do consider that an abbreviation of - the long option, just like "--fu", and not "-f" with arg "u". - - This distinction seems to be the most useful approach. */ - - if (longopts != NULL - && (argv[d->optind][1] == '-' - || (long_only && (argv[d->optind][2] - || !strchr (optstring, argv[d->optind][1]))))) - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = -1; - int option_index; - - for (nameend = d->__nextchar; *nameend && *nameend != '='; nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) - { - if ((unsigned int) (nameend - d->__nextchar) - == (unsigned int) strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else if (long_only - || pfound->has_arg != p->has_arg - || pfound->flag != p->flag - || pfound->val != p->val) - /* Second or later nonexact match found. */ - ambig = 1; - } - - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[d->optind]) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `%s' is ambiguous\n"), - argv[0], argv[d->optind]); -#endif - } - d->__nextchar += strlen (d->__nextchar); - d->optind++; - d->optopt = 0; - return '?'; - } - - if (pfound != NULL) - { - option_index = indfound; - d->optind++; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - d->optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[d->optind - 1][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#else - fprintf (stderr, _("\ -%s: option `--%s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[d->optind - 1][0], - pfound->name); -#else - fprintf (stderr, _("\ -%s: option `%c%s' doesn't allow an argument\n"), - argv[0], argv[d->optind - 1][0], - pfound->name); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 - |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#endif - } - - d->__nextchar += strlen (d->__nextchar); - - d->optopt = pfound->val; - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (d->optind < argc) - d->optarg = argv[d->optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[d->optind - 1]) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 - |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[d->optind - 1]); -#endif - } - d->__nextchar += strlen (d->__nextchar); - d->optopt = pfound->val; - return optstring[0] == ':' ? ':' : '?'; - } - } - d->__nextchar += strlen (d->__nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - - /* Can't find it as a long option. If this is not getopt_long_only, - or the option starts with '--' or is not a valid short - option, then it's an error. - Otherwise interpret it as a short option. */ - if (!long_only || argv[d->optind][1] == '-' - || strchr (optstring, *d->__nextchar) == NULL) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (argv[d->optind][1] == '-') - { - /* --option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `--%s'\n"), - argv[0], d->__nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `--%s'\n"), - argv[0], d->__nextchar); -#endif - } - else - { - /* +option or -option */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[d->optind][0], d->__nextchar); -#else - fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), - argv[0], argv[d->optind][0], d->__nextchar); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#endif - } - d->__nextchar = (char *) ""; - d->optind++; - d->optopt = 0; - return '?'; - } - } - - /* Look at and handle the next short option-character. */ - - { - char c = *d->__nextchar++; - char *temp = strchr (optstring, c); - - /* Increment `optind' when we start to process its last character. */ - if (*d->__nextchar == '\0') - ++d->optind; - - if (temp == NULL || c == ':') - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - int n; -#endif - - if (d->__posixly_correct) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: illegal option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); -#endif - } - else - { -#if defined _LIBC && defined USE_IN_LIBIO - n = __asprintf (&buf, _("%s: invalid option -- %c\n"), - argv[0], c); -#else - fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); -#endif - } - -#if defined _LIBC && defined USE_IN_LIBIO - if (n >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#endif - } - d->optopt = c; - return '?'; - } - /* Convenience. Treat POSIX -W foo same as long option --foo */ - if (temp[0] == 'W' && temp[1] == ';') - { - char *nameend; - const struct option *p; - const struct option *pfound = NULL; - int exact = 0; - int ambig = 0; - int indfound = 0; - int option_index; - - /* This is an option that requires an argument. */ - if (*d->__nextchar != '\0') - { - d->optarg = d->__nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - d->optind++; - } - else if (d->optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, - _("%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - d->optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - return c; - } - else - /* We already incremented `d->optind' once; - increment it again when taking next ARGV-elt as argument. */ - d->optarg = argv[d->optind++]; - - /* optarg is now the argument, see if it's in the - table of longopts. */ - - for (d->__nextchar = nameend = d->optarg; *nameend && *nameend != '='; - nameend++) - /* Do nothing. */ ; - - /* Test all long options for either exact match - or abbreviated matches. */ - for (p = longopts, option_index = 0; p->name; p++, option_index++) - if (!strncmp (p->name, d->__nextchar, nameend - d->__nextchar)) - { - if ((unsigned int) (nameend - d->__nextchar) == strlen (p->name)) - { - /* Exact match found. */ - pfound = p; - indfound = option_index; - exact = 1; - break; - } - else if (pfound == NULL) - { - /* First nonexact match found. */ - pfound = p; - indfound = option_index; - } - else - /* Second or later nonexact match found. */ - ambig = 1; - } - if (ambig && !exact) - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[d->optind]) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), - argv[0], argv[d->optind]); -#endif - } - d->__nextchar += strlen (d->__nextchar); - d->optind++; - return '?'; - } - if (pfound != NULL) - { - option_index = indfound; - if (*nameend) - { - /* Don't test has_arg with >, because some C compilers don't - allow it to be used on enums. */ - if (pfound->has_arg) - d->optarg = nameend + 1; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 - |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, _("\ -%s: option `-W %s' doesn't allow an argument\n"), - argv[0], pfound->name); -#endif - } - - d->__nextchar += strlen (d->__nextchar); - return '?'; - } - } - else if (pfound->has_arg == 1) - { - if (d->optind < argc) - d->optarg = argv[d->optind++]; - else - { - if (print_errors) - { -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option `%s' requires an argument\n"), - argv[0], argv[d->optind - 1]) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 - |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option `%s' requires an argument\n"), - argv[0], argv[d->optind - 1]); -#endif - } - d->__nextchar += strlen (d->__nextchar); - return optstring[0] == ':' ? ':' : '?'; - } - } - d->__nextchar += strlen (d->__nextchar); - if (longind != NULL) - *longind = option_index; - if (pfound->flag) - { - *(pfound->flag) = pfound->val; - return 0; - } - return pfound->val; - } - d->__nextchar = NULL; - return 'W'; /* Let the application handle it. */ - } - if (temp[1] == ':') - { - if (temp[2] == ':') - { - /* This is an option that accepts an argument optionally. */ - if (*d->__nextchar != '\0') - { - d->optarg = d->__nextchar; - d->optind++; - } - else - d->optarg = NULL; - d->__nextchar = NULL; - } - else - { - /* This is an option that requires an argument. */ - if (*d->__nextchar != '\0') - { - d->optarg = d->__nextchar; - /* If we end this ARGV-element by taking the rest as an arg, - we must advance to the next element now. */ - d->optind++; - } - else if (d->optind == argc) - { - if (print_errors) - { - /* 1003.2 specifies the format of this message. */ -#if defined _LIBC && defined USE_IN_LIBIO - char *buf; - - if (__asprintf (&buf, _("\ -%s: option requires an argument -- %c\n"), - argv[0], c) >= 0) - { - _IO_flockfile (stderr); - - int old_flags2 = ((_IO_FILE *) stderr)->_flags2; - ((_IO_FILE *) stderr)->_flags2 |= _IO_FLAGS2_NOTCANCEL; - - __fxprintf (NULL, "%s", buf); - - ((_IO_FILE *) stderr)->_flags2 = old_flags2; - _IO_funlockfile (stderr); - - free (buf); - } -#else - fprintf (stderr, - _("%s: option requires an argument -- %c\n"), - argv[0], c); -#endif - } - d->optopt = c; - if (optstring[0] == ':') - c = ':'; - else - c = '?'; - } - else - /* We already incremented `optind' once; - increment it again when taking next ARGV-elt as argument. */ - d->optarg = argv[d->optind++]; - d->__nextchar = NULL; - } - } - return c; - } -} - -int -_getopt_internal (int argc, char **argv, const char *optstring, - const struct option *longopts, int *longind, - int long_only, int posixly_correct) -{ - int result; - - getopt_data.optind = optind; - getopt_data.opterr = opterr; - - result = _getopt_internal_r (argc, argv, optstring, longopts, longind, - long_only, posixly_correct, &getopt_data); - - optind = getopt_data.optind; - optarg = getopt_data.optarg; - optopt = getopt_data.optopt; - - return result; -} - -/* glibc gets a LSB-compliant getopt. - Standalone applications get a POSIX-compliant getopt. */ -#if _LIBC -enum { POSIXLY_CORRECT = 0 }; -#else -enum { POSIXLY_CORRECT = 1 }; -#endif - -int -getopt (int argc, char *const *argv, const char *optstring) -{ - return _getopt_internal (argc, (char **) argv, optstring, NULL, NULL, 0, - POSIXLY_CORRECT); -} - - -#ifdef TEST - -/* Compile with -DTEST to make an executable for use in testing - the above definition of `getopt'. */ - -int -main (int argc, char **argv) -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - - c = getopt (argc, argv, "abc:d:0123456789"); - if (c == -1) - break; - - switch (c) - { - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff --git a/Build/source/extra/xz/lib/getopt.in.h b/Build/source/extra/xz/lib/getopt.in.h deleted file mode 100644 index ea77e3d749d..00000000000 --- a/Build/source/extra/xz/lib/getopt.in.h +++ /dev/null @@ -1,226 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1994,1996-1999,2001,2003,2004,2005,2006,2007 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GETOPT_H - -#ifndef __need_getopt -# define _GETOPT_H 1 -#endif - -/* Standalone applications should #define __GETOPT_PREFIX to an - identifier that prefixes the external functions and variables - defined in this header. When this happens, include the - headers that might declare getopt so that they will not cause - confusion if included after this file. Then systematically rename - identifiers so that they do not collide with the system functions - and variables. Renaming avoids problems with some compilers and - linkers. */ -#if defined __GETOPT_PREFIX && !defined __need_getopt -# include -# include -# include -# undef __need_getopt -# undef getopt -# undef getopt_long -# undef getopt_long_only -# undef optarg -# undef opterr -# undef optind -# undef optopt -# define __GETOPT_CONCAT(x, y) x ## y -# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y) -# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y) -# define getopt __GETOPT_ID (getopt) -# define getopt_long __GETOPT_ID (getopt_long) -# define getopt_long_only __GETOPT_ID (getopt_long_only) -# define optarg __GETOPT_ID (optarg) -# define opterr __GETOPT_ID (opterr) -# define optind __GETOPT_ID (optind) -# define optopt __GETOPT_ID (optopt) -#endif - -/* Standalone applications get correct prototypes for getopt_long and - getopt_long_only; they declare "char **argv". libc uses prototypes - with "char *const *argv" that are incorrect because getopt_long and - getopt_long_only can permute argv; this is required for backward - compatibility (e.g., for LSB 2.0.1). - - This used to be `#if defined __GETOPT_PREFIX && !defined __need_getopt', - but it caused redefinition warnings if both unistd.h and getopt.h were - included, since unistd.h includes getopt.h having previously defined - __need_getopt. - - The only place where __getopt_argv_const is used is in definitions - of getopt_long and getopt_long_only below, but these are visible - only if __need_getopt is not defined, so it is quite safe to rewrite - the conditional as follows: -*/ -#if !defined __need_getopt -# if defined __GETOPT_PREFIX -# define __getopt_argv_const /* empty */ -# else -# define __getopt_argv_const const -# endif -#endif - -/* If __GNU_LIBRARY__ is not already defined, either we are being used - standalone, or this is the first header included in the source file. - If we are being used with glibc, we need to include , but - that does not exist if we are standalone. So: if __GNU_LIBRARY__ is - not defined, include , which will pull in for us - if it's from glibc. (Why ctype.h? It's guaranteed to exist and it - doesn't flood the namespace with stuff the way some other headers do.) */ -#if !defined __GNU_LIBRARY__ -# include -#endif - -#ifndef __THROW -# ifndef __GNUC_PREREQ -# define __GNUC_PREREQ(maj, min) (0) -# endif -# if defined __cplusplus && __GNUC_PREREQ (2,8) -# define __THROW throw () -# else -# define __THROW -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* For communication from `getopt' to the caller. - When `getopt' finds an option that takes an argument, - the argument value is returned here. - Also, when `ordering' is RETURN_IN_ORDER, - each non-option ARGV-element is returned here. */ - -extern char *optarg; - -/* Index in ARGV of the next element to be scanned. - This is used for communication to and from the caller - and for communication between successive calls to `getopt'. - - On entry to `getopt', zero means this is the first call; initialize. - - When `getopt' returns -1, this is the index of the first of the - non-option elements that the caller should itself scan. - - Otherwise, `optind' communicates from one call to the next - how much of ARGV has been scanned so far. */ - -extern int optind; - -/* Callers store zero here to inhibit the error message `getopt' prints - for unrecognized options. */ - -extern int opterr; - -/* Set to an option character which was unrecognized. */ - -extern int optopt; - -#ifndef __need_getopt -/* Describe the long-named options requested by the application. - The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector - of `struct option' terminated by an element containing a name which is - zero. - - The field `has_arg' is: - no_argument (or 0) if the option does not take an argument, - required_argument (or 1) if the option requires an argument, - optional_argument (or 2) if the option takes an optional argument. - - If the field `flag' is not NULL, it points to a variable that is set - to the value given in the field `val' when the option is found, but - left unchanged if the option is not found. - - To have a long-named option do something other than set an `int' to - a compiled-in constant, such as set a value from `optarg', set the - option's `flag' field to zero and its `val' field to a nonzero - value (the equivalent single-letter option character, if there is - one). For long options that have a zero `flag' field, `getopt' - returns the contents of the `val' field. */ - -struct option -{ - const char *name; - /* has_arg can't be an enum because some compilers complain about - type mismatches in all the code that assumes it is an int. */ - int has_arg; - int *flag; - int val; -}; - -/* Names for the values of the `has_arg' field of `struct option'. */ - -# define no_argument 0 -# define required_argument 1 -# define optional_argument 2 -#endif /* need getopt */ - - -/* Get definitions and prototypes for functions to process the - arguments in ARGV (ARGC of them, minus the program name) for - options given in OPTS. - - Return the option character from OPTS just read. Return -1 when - there are no more options. For unrecognized options, or options - missing arguments, `optopt' is set to the option letter, and '?' is - returned. - - The OPTS string is a list of characters which are recognized option - letters, optionally followed by colons, specifying that that letter - takes an argument, to be placed in `optarg'. - - If a letter in OPTS is followed by two colons, its argument is - optional. This behavior is specific to the GNU `getopt'. - - The argument `--' causes premature termination of argument - scanning, explicitly telling `getopt' that there are no more - options. - - If OPTS begins with `-', then non-option arguments are treated as - arguments to the option '\1'. This behavior is specific to the GNU - `getopt'. If OPTS begins with `+', or POSIXLY_CORRECT is set in - the environment, then do not permute arguments. */ - -extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) - __THROW; - -#ifndef __need_getopt -extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind) - __THROW; -extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind) - __THROW; - -#endif - -#ifdef __cplusplus -} -#endif - -/* Make sure we later can get all the definitions and declarations. */ -#undef __need_getopt - -#endif /* getopt.h */ diff --git a/Build/source/extra/xz/lib/getopt1.c b/Build/source/extra/xz/lib/getopt1.c deleted file mode 100644 index da5d53300b1..00000000000 --- a/Build/source/extra/xz/lib/getopt1.c +++ /dev/null @@ -1,171 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004,2006 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License as published by - the Free Software Foundation; either version 2.1, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifdef _LIBC -# include -#else -# include -# include "getopt.h" -#endif -#include "getopt_int.h" - -#include - -/* This needs to come after some library #include - to get __GNU_LIBRARY__ defined. */ -#ifdef __GNU_LIBRARY__ -#include -#endif - -#ifndef NULL -#define NULL 0 -#endif - -int -getopt_long (int argc, char *__getopt_argv_const *argv, const char *options, - const struct option *long_options, int *opt_index) -{ - return _getopt_internal (argc, (char **) argv, options, long_options, - opt_index, 0, 0); -} - -int -_getopt_long_r (int argc, char **argv, const char *options, - const struct option *long_options, int *opt_index, - struct _getopt_data *d) -{ - return _getopt_internal_r (argc, argv, options, long_options, opt_index, - 0, 0, d); -} - -/* Like getopt_long, but '-' as well as '--' can indicate a long option. - If an option that starts with '-' (not '--') doesn't match a long option, - but does match a short option, it is parsed as a short option - instead. */ - -int -getopt_long_only (int argc, char *__getopt_argv_const *argv, - const char *options, - const struct option *long_options, int *opt_index) -{ - return _getopt_internal (argc, (char **) argv, options, long_options, - opt_index, 1, 0); -} - -int -_getopt_long_only_r (int argc, char **argv, const char *options, - const struct option *long_options, int *opt_index, - struct _getopt_data *d) -{ - return _getopt_internal_r (argc, argv, options, long_options, opt_index, - 1, 0, d); -} - - -#ifdef TEST - -#include - -int -main (int argc, char **argv) -{ - int c; - int digit_optind = 0; - - while (1) - { - int this_option_optind = optind ? optind : 1; - int option_index = 0; - static struct option long_options[] = - { - {"add", 1, 0, 0}, - {"append", 0, 0, 0}, - {"delete", 1, 0, 0}, - {"verbose", 0, 0, 0}, - {"create", 0, 0, 0}, - {"file", 1, 0, 0}, - {0, 0, 0, 0} - }; - - c = getopt_long (argc, argv, "abc:d:0123456789", - long_options, &option_index); - if (c == -1) - break; - - switch (c) - { - case 0: - printf ("option %s", long_options[option_index].name); - if (optarg) - printf (" with arg %s", optarg); - printf ("\n"); - break; - - case '0': - case '1': - case '2': - case '3': - case '4': - case '5': - case '6': - case '7': - case '8': - case '9': - if (digit_optind != 0 && digit_optind != this_option_optind) - printf ("digits occur in two different argv-elements.\n"); - digit_optind = this_option_optind; - printf ("option %c\n", c); - break; - - case 'a': - printf ("option a\n"); - break; - - case 'b': - printf ("option b\n"); - break; - - case 'c': - printf ("option c with value `%s'\n", optarg); - break; - - case 'd': - printf ("option d with value `%s'\n", optarg); - break; - - case '?': - break; - - default: - printf ("?? getopt returned character code 0%o ??\n", c); - } - } - - if (optind < argc) - { - printf ("non-option ARGV-elements: "); - while (optind < argc) - printf ("%s ", argv[optind++]); - printf ("\n"); - } - - exit (0); -} - -#endif /* TEST */ diff --git a/Build/source/extra/xz/lib/getopt_int.h b/Build/source/extra/xz/lib/getopt_int.h deleted file mode 100644 index 401579fd289..00000000000 --- a/Build/source/extra/xz/lib/getopt_int.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Internal declarations for getopt. - Copyright (C) 1989-1994,1996-1999,2001,2003,2004 - Free Software Foundation, Inc. - This file is part of the GNU C Library. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ - -#ifndef _GETOPT_INT_H -#define _GETOPT_INT_H 1 - -extern int _getopt_internal (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only, int __posixly_correct); - - -/* Reentrant versions which can handle parsing multiple argument - vectors at the same time. */ - -/* Data type for reentrant functions. */ -struct _getopt_data -{ - /* These have exactly the same meaning as the corresponding global - variables, except that they are used for the reentrant - versions of getopt. */ - int optind; - int opterr; - int optopt; - char *optarg; - - /* Internal members. */ - - /* True if the internal members have been initialized. */ - int __initialized; - - /* The next char to be scanned in the option-element - in which the last option character we returned was found. - This allows us to pick up the scan where we left off. - - If this is zero, or a null string, it means resume the scan - by advancing to the next ARGV-element. */ - char *__nextchar; - - /* Describe how to deal with options that follow non-option ARGV-elements. - - If the caller did not specify anything, - the default is REQUIRE_ORDER if the environment variable - POSIXLY_CORRECT is defined, PERMUTE otherwise. - - REQUIRE_ORDER means don't recognize them as options; - stop option processing when the first non-option is seen. - This is what Unix does. - This mode of operation is selected by either setting the environment - variable POSIXLY_CORRECT, or using `+' as the first character - of the list of option characters, or by calling getopt. - - PERMUTE is the default. We permute the contents of ARGV as we - scan, so that eventually all the non-options are at the end. - This allows options to be given in any order, even with programs - that were not written to expect this. - - RETURN_IN_ORDER is an option available to programs that were - written to expect options and other ARGV-elements in any order - and that care about the ordering of the two. We describe each - non-option ARGV-element as if it were the argument of an option - with character code 1. Using `-' as the first character of the - list of option characters selects this mode of operation. - - The special argument `--' forces an end of option-scanning regardless - of the value of `ordering'. In the case of RETURN_IN_ORDER, only - `--' can cause `getopt' to return -1 with `optind' != ARGC. */ - - enum - { - REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER - } __ordering; - - /* If the POSIXLY_CORRECT environment variable is set - or getopt was called. */ - int __posixly_correct; - - - /* Handle permutation of arguments. */ - - /* Describe the part of ARGV that contains non-options that have - been skipped. `first_nonopt' is the index in ARGV of the first - of them; `last_nonopt' is the index after the last of them. */ - - int __first_nonopt; - int __last_nonopt; - -#if defined _LIBC && defined USE_NONOPTION_FLAGS - int __nonoption_flags_max_len; - int __nonoption_flags_len; -# endif -}; - -/* The initializer is necessary to set OPTIND and OPTERR to their - default values and to clear the initialization flag. */ -#define _GETOPT_DATA_INITIALIZER { 1, 1 } - -extern int _getopt_internal_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - int __long_only, int __posixly_correct, - struct _getopt_data *__data); - -extern int _getopt_long_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, int *__longind, - struct _getopt_data *__data); - -extern int _getopt_long_only_r (int ___argc, char **___argv, - const char *__shortopts, - const struct option *__longopts, - int *__longind, - struct _getopt_data *__data); - -#endif /* getopt_int.h */ diff --git a/Build/source/extra/xz/m4/ax_pthread.m4 b/Build/source/extra/xz/m4/ax_pthread.m4 deleted file mode 100644 index d90de34d14b..00000000000 --- a/Build/source/extra/xz/m4/ax_pthread.m4 +++ /dev/null @@ -1,309 +0,0 @@ -# =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_pthread.html -# =========================================================================== -# -# SYNOPSIS -# -# AX_PTHREAD([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]]) -# -# DESCRIPTION -# -# This macro figures out how to build C programs using POSIX threads. It -# sets the PTHREAD_LIBS output variable to the threads library and linker -# flags, and the PTHREAD_CFLAGS output variable to any special C compiler -# flags that are needed. (The user can also force certain compiler -# flags/libs to be tested by setting these environment variables.) -# -# Also sets PTHREAD_CC to any special C compiler that is needed for -# multi-threaded programs (defaults to the value of CC otherwise). (This -# is necessary on AIX to use the special cc_r compiler alias.) -# -# NOTE: You are assumed to not only compile your program with these flags, -# but also link it with them as well. e.g. you should link with -# $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS -# -# If you are only building threads programs, you may wish to use these -# variables in your default LIBS, CFLAGS, and CC: -# -# LIBS="$PTHREAD_LIBS $LIBS" -# CFLAGS="$CFLAGS $PTHREAD_CFLAGS" -# CC="$PTHREAD_CC" -# -# In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). -# -# Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the -# PTHREAD_PRIO_INHERIT symbol is defined when compiling with -# PTHREAD_CFLAGS. -# -# ACTION-IF-FOUND is a list of shell commands to run if a threads library -# is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it -# is not found. If ACTION-IF-FOUND is not specified, the default action -# will define HAVE_PTHREAD. -# -# Please let the authors know if this macro fails on any platform, or if -# you have any other suggestions or comments. This macro was based on work -# by SGJ on autoconf scripts for FFTW (http://www.fftw.org/) (with help -# from M. Frigo), as well as ac_pthread and hb_pthread macros posted by -# Alejandro Forero Cuervo to the autoconf macro repository. We are also -# grateful for the helpful feedback of numerous users. -# -# Updated for Autoconf 2.68 by Daniel Richard G. -# -# LICENSE -# -# Copyright (c) 2008 Steven G. Johnson -# Copyright (c) 2011 Daniel Richard G. -# -# This program is free software: you can redistribute it and/or modify it -# under the terms of the GNU General Public License as published by the -# Free Software Foundation, either version 3 of the License, or (at your -# option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -# Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program. If not, see . -# -# As a special exception, the respective Autoconf Macro's copyright owner -# gives unlimited permission to copy, distribute and modify the configure -# scripts that are the output of Autoconf when processing the Macro. You -# need not follow the terms of the GNU General Public License when using -# or distributing such scripts, even though portions of the text of the -# Macro appear in them. The GNU General Public License (GPL) does govern -# all other use of the material that constitutes the Autoconf Macro. -# -# This special exception to the GPL applies to versions of the Autoconf -# Macro released by the Autoconf Archive. When you make and distribute a -# modified version of the Autoconf Macro, you may extend this special -# exception to the GPL to apply to your modified version as well. - -#serial 18 - -AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) -AC_DEFUN([AX_PTHREAD], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_LANG_PUSH([C]) -ax_pthread_ok=no - -# We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). -# It gets checked for in the link test anyway. - -# First of all, check if the user has set any of the PTHREAD_LIBS, -# etcetera environment variables, and if threads linking works using -# them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) - AC_MSG_RESULT($ax_pthread_ok) - if test x"$ax_pthread_ok" = xno; then - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" - fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" -fi - -# We must check for the threads library under a number of different -# names; the ordering is very important because some systems -# (e.g. DEC) have both -lpthread and -lpthreads, where one of the -# libraries is broken (non-POSIX). - -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. - -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" - -# The ordering *is* (sometimes) important. Some notes on the -# individual items follow: - -# pthreads: AIX (must check this before -lpthread) -# none: in case threads are in libc; should be tried before -Kthread and -# other compiler flags to prevent continual compiler warnings -# -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc -# -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC -# pthread: Linux, etcetera -# --thread-safe: KAI C++ -# pthread-config: use pthread-config program (for GNU Pth library) - -case ${host_os} in - solaris*) - - # On Solaris (at least, for some versions), libc contains stubbed - # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: - - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" - ;; -esac - -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do - - case $flag in - none) - AC_MSG_CHECKING([whether pthreads work without any flags]) - ;; - - -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" - ;; - - pthread-config) - AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) - if test x"$ax_pthread_config" = xno; then continue; fi - PTHREAD_CFLAGS="`pthread-config --cflags`" - PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" - ;; - - *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" - ;; - esac - - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Check for various functions. We must include pthread.h, - # since some functions may be macros. (On the Sequent, we - # need a special flag -Kthread to make this header compile.) - # We check for pthread_join because it is in -lpthread on IRIX - # while pthread_create is in libc. We check for pthread_attr_init - # due to DEC craziness with -lpthreads. We check for - # pthread_cleanup_push because it is one of the few pthread - # functions on Solaris that doesn't have a non-functional libc stub. - # We try pthread_create on general principles. - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - static void routine(void *a) { a = 0; } - static void *start_routine(void *a) { return a; }], - [pthread_t th; pthread_attr_t attr; - pthread_create(&th, 0, start_routine, 0); - pthread_join(th, 0); - pthread_attr_init(&attr); - pthread_cleanup_push(routine, 0); - pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - AC_MSG_RESULT($ax_pthread_ok) - if test "x$ax_pthread_ok" = xyes; then - break; - fi - - PTHREAD_LIBS="" - PTHREAD_CFLAGS="" -done -fi - -# Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - - # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT($attr_name) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi - - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi - - AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - ax_cv_PTHREAD_PRIO_INHERIT, [ - AC_LINK_IFELSE([ - AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) - ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) - - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" - - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) - else - PTHREAD_CC=$CC - fi -else - PTHREAD_CC="$CC" -fi - -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) - -# Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) - : -else - ax_pthread_ok=no - $2 -fi -AC_LANG_POP -])dnl AX_PTHREAD diff --git a/Build/source/extra/xz/m4/getopt.m4 b/Build/source/extra/xz/m4/getopt.m4 deleted file mode 100644 index cfbe40f254e..00000000000 --- a/Build/source/extra/xz/m4/getopt.m4 +++ /dev/null @@ -1,71 +0,0 @@ -# getopt.m4 serial 14 (modified version) -dnl Copyright (C) 2002-2006, 2008 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -# The getopt module assume you want GNU getopt, with getopt_long etc, -# rather than vanilla POSIX getopt. This means your code should -# always include for the getopt prototypes. - -AC_DEFUN([gl_GETOPT_SUBSTITUTE], -[ - AC_LIBOBJ([getopt]) - AC_LIBOBJ([getopt1]) - gl_GETOPT_SUBSTITUTE_HEADER -]) - -AC_DEFUN([gl_GETOPT_SUBSTITUTE_HEADER], -[ - GETOPT_H=getopt.h - AC_DEFINE([__GETOPT_PREFIX], [[rpl_]], - [Define to rpl_ if the getopt replacement functions and variables - should be used.]) - AC_SUBST([GETOPT_H]) -]) - -AC_DEFUN([gl_GETOPT_CHECK_HEADERS], -[ - if test -z "$GETOPT_H"; then - AC_CHECK_HEADERS([getopt.h], [], [GETOPT_H=getopt.h]) - fi - - if test -z "$GETOPT_H"; then - AC_CHECK_FUNCS([getopt_long], [], [GETOPT_H=getopt.h]) - fi - - dnl BSD getopt_long uses a way to reset option processing, that is different - dnl from GNU and Solaris (which copied the GNU behavior). We support both - dnl GNU and BSD style resetting of getopt_long(), so there's no need to use - dnl GNU getopt_long() on BSD due to different resetting style. - dnl - dnl With getopt_long(), some BSD versions have a bug in handling optional - dnl arguments. This bug appears only if the environment variable - dnl POSIXLY_CORRECT has been set, so it shouldn't be too bad in most - dnl cases; probably most don't have that variable set. But if we actually - dnl hit this bug, it is a real problem due to our heavy use of optional - dnl arguments. - dnl - dnl According to CVS logs, the bug was introduced in OpenBSD in 2003-09-22 - dnl and copied to FreeBSD in 2004-02-24. It was fixed in both in 2006-09-22, - dnl so the affected versions shouldn't be popular anymore anyway. NetBSD - dnl never had this bug. TODO: What about Darwin and others? - if test -z "$GETOPT_H"; then - AC_CHECK_DECL([optreset], - [AC_DEFINE([HAVE_OPTRESET], 1, - [Define to 1 if getopt.h declares extern int optreset.])], - [], [#include ]) - fi - - dnl Solaris 10 getopt doesn't handle `+' as a leading character in an - dnl option string (as of 2005-05-05). We don't use that feature, so this - dnl is not a problem for us. Thus, the respective test was removed here. -]) - -AC_DEFUN([gl_GETOPT_IFELSE], -[ - AC_REQUIRE([gl_GETOPT_CHECK_HEADERS]) - AS_IF([test -n "$GETOPT_H"], [$1], [$2]) -]) - -AC_DEFUN([gl_GETOPT], [gl_GETOPT_IFELSE([gl_GETOPT_SUBSTITUTE])]) diff --git a/Build/source/extra/xz/m4/gettext.m4 b/Build/source/extra/xz/m4/gettext.m4 deleted file mode 100644 index f84e6a5d753..00000000000 --- a/Build/source/extra/xz/m4/gettext.m4 +++ /dev/null @@ -1,383 +0,0 @@ -# gettext.m4 serial 63 (gettext-0.18) -dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2006, 2008-2010. - -dnl Macro to add for using GNU gettext. - -dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]). -dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The -dnl default (if it is not specified or empty) is 'no-libtool'. -dnl INTLSYMBOL should be 'external' for packages with no intl directory, -dnl and 'no-libtool' or 'use-libtool' for packages with an intl directory. -dnl If INTLSYMBOL is 'use-libtool', then a libtool library -dnl $(top_builddir)/intl/libintl.la will be created (shared and/or static, -dnl depending on --{enable,disable}-{shared,static} and on the presence of -dnl AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library -dnl $(top_builddir)/intl/libintl.a will be created. -dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext -dnl implementations (in libc or libintl) without the ngettext() function -dnl will be ignored. If NEEDSYMBOL is specified and is -dnl 'need-formatstring-macros', then GNU gettext implementations that don't -dnl support the ISO C 99 formatstring macros will be ignored. -dnl INTLDIR is used to find the intl libraries. If empty, -dnl the value `$(top_builddir)/intl/' is used. -dnl -dnl The result of the configuration is one of three cases: -dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled -dnl and used. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 2) GNU gettext has been found in the system's C library. -dnl Catalog format: GNU --> install in $(datadir) -dnl Catalog extension: .mo after installation, .gmo in source tree -dnl 3) No internationalization, always use English msgid. -dnl Catalog format: none -dnl Catalog extension: none -dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur. -dnl The use of .gmo is historical (it was needed to avoid overwriting the -dnl GNU format catalogs when building on a platform with an X/Open gettext), -dnl but we keep it in order not to force irrelevant filename changes on the -dnl maintainers. -dnl -AC_DEFUN([AM_GNU_GETTEXT], -[ - dnl Argument checking. - ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], , - [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT -])])])])]) - ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old], - [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])]) - ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], , - [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT -])])])]) - define([gt_included_intl], - ifelse([$1], [external], - ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]), - [yes])) - define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], [])) - gt_NEEDS_INIT - AM_GNU_GETTEXT_NEED([$2]) - - AC_REQUIRE([AM_PO_SUBDIRS])dnl - ifelse(gt_included_intl, yes, [ - AC_REQUIRE([AM_INTL_SUBDIR])dnl - ]) - - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Sometimes libintl requires libiconv, so first search for libiconv. - dnl Ideally we would do this search only after the - dnl if test "$USE_NLS" = "yes"; then - dnl if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT - dnl the configure script would need to contain the same shell code - dnl again, outside any 'if'. There are two solutions: - dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'. - dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE. - dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not - dnl documented, we avoid it. - ifelse(gt_included_intl, yes, , [ - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - ]) - - dnl Sometimes, on MacOS X, libintl requires linking with CoreFoundation. - gt_INTL_MACOSX - - dnl Set USE_NLS. - AC_REQUIRE([AM_NLS]) - - ifelse(gt_included_intl, yes, [ - BUILD_INCLUDED_LIBINTL=no - USE_INCLUDED_LIBINTL=no - ]) - LIBINTL= - LTLIBINTL= - POSUB= - - dnl Add a version number to the cache macros. - case " $gt_needs " in - *" need-formatstring-macros "*) gt_api_version=3 ;; - *" need-ngettext "*) gt_api_version=2 ;; - *) gt_api_version=1 ;; - esac - gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc" - gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl" - - dnl If we use NLS figure out what method - if test "$USE_NLS" = "yes"; then - gt_use_preinstalled_gnugettext=no - ifelse(gt_included_intl, yes, [ - AC_MSG_CHECKING([whether included gettext is requested]) - AC_ARG_WITH([included-gettext], - [ --with-included-gettext use the GNU gettext library included here], - nls_cv_force_use_gnu_gettext=$withval, - nls_cv_force_use_gnu_gettext=no) - AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext]) - - nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext" - if test "$nls_cv_force_use_gnu_gettext" != "yes"; then - ]) - dnl User does not insist on using GNU NLS library. Figure out what - dnl to use. If GNU gettext is available we use this. Else we have - dnl to fall back to GNU NLS library. - - if test $gt_api_version -ge 3; then - gt_revision_test_code=' -#ifndef __GNU_GETTEXT_SUPPORTED_REVISION -#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) -#endif -changequote(,)dnl -typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1]; -changequote([,])dnl -' - else - gt_revision_test_code= - fi - if test $gt_api_version -ge 2; then - gt_expression_test_code=' + * ngettext ("", "", 0)' - else - gt_expression_test_code= - fi - - AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc], - [AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern int *_nl_domain_bindings;], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings], - [eval "$gt_func_gnugettext_libc=yes"], - [eval "$gt_func_gnugettext_libc=no"])]) - - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then - dnl Sometimes libintl requires libiconv, so first search for libiconv. - ifelse(gt_included_intl, yes, , [ - AM_ICONV_LINK - ]) - dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL - dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv]) - dnl because that would add "-liconv" to LIBINTL and LTLIBINTL - dnl even if libiconv doesn't exist. - AC_LIB_LINKFLAGS_BODY([intl]) - AC_CACHE_CHECK([for GNU gettext in libintl], - [$gt_func_gnugettext_libintl], - [gt_save_CPPFLAGS="$CPPFLAGS" - CPPFLAGS="$CPPFLAGS $INCINTL" - gt_save_LIBS="$LIBS" - LIBS="$LIBS $LIBINTL" - dnl Now see whether libintl exists and does not depend on libiconv. - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [eval "$gt_func_gnugettext_libintl=yes"], - [eval "$gt_func_gnugettext_libintl=no"]) - dnl Now see whether libintl exists and depends on libiconv. - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -$gt_revision_test_code -extern int _nl_msg_cat_cntr; -extern -#ifdef __cplusplus -"C" -#endif -const char *_nl_expand_alias (const char *);], - [bindtextdomain ("", ""); -return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")], - [LIBINTL="$LIBINTL $LIBICONV" - LTLIBINTL="$LTLIBINTL $LTLIBICONV" - eval "$gt_func_gnugettext_libintl=yes" - ]) - fi - CPPFLAGS="$gt_save_CPPFLAGS" - LIBS="$gt_save_LIBS"]) - fi - - dnl If an already present or preinstalled GNU gettext() is found, - dnl use it. But if this macro is used in GNU gettext, and GNU - dnl gettext is already preinstalled in libintl, we update this - dnl libintl. (Cf. the install rule in intl/Makefile.in.) - if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \ - || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \ - && test "$PACKAGE" != gettext-runtime \ - && test "$PACKAGE" != gettext-tools; }; then - gt_use_preinstalled_gnugettext=yes - else - dnl Reset the values set by searching for libintl. - LIBINTL= - LTLIBINTL= - INCINTL= - fi - - ifelse(gt_included_intl, yes, [ - if test "$gt_use_preinstalled_gnugettext" != "yes"; then - dnl GNU gettext is not found in the C library. - dnl Fall back on included GNU gettext library. - nls_cv_use_gnu_gettext=yes - fi - fi - - if test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions used to generate GNU NLS library. - BUILD_INCLUDED_LIBINTL=yes - USE_INCLUDED_LIBINTL=yes - LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD" - LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD" - LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'` - fi - - CATOBJEXT= - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Mark actions to use GNU gettext tools. - CATOBJEXT=.gmo - fi - ]) - - if test -n "$INTL_MACOSX_LIBS"; then - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - dnl Some extra flags are needed during linking. - LIBINTL="$LIBINTL $INTL_MACOSX_LIBS" - LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS" - fi - fi - - if test "$gt_use_preinstalled_gnugettext" = "yes" \ - || test "$nls_cv_use_gnu_gettext" = "yes"; then - AC_DEFINE([ENABLE_NLS], [1], - [Define to 1 if translation of program messages to the user's native language - is requested.]) - else - USE_NLS=no - fi - fi - - AC_MSG_CHECKING([whether to use NLS]) - AC_MSG_RESULT([$USE_NLS]) - if test "$USE_NLS" = "yes"; then - AC_MSG_CHECKING([where the gettext function comes from]) - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - gt_source="external libintl" - else - gt_source="libc" - fi - else - gt_source="included intl directory" - fi - AC_MSG_RESULT([$gt_source]) - fi - - if test "$USE_NLS" = "yes"; then - - if test "$gt_use_preinstalled_gnugettext" = "yes"; then - if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then - AC_MSG_CHECKING([how to link with libintl]) - AC_MSG_RESULT([$LIBINTL]) - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL]) - fi - - dnl For backward compatibility. Some packages may be using this. - AC_DEFINE([HAVE_GETTEXT], [1], - [Define if the GNU gettext() function is already present or preinstalled.]) - AC_DEFINE([HAVE_DCGETTEXT], [1], - [Define if the GNU dcgettext() function is already present or preinstalled.]) - fi - - dnl We need to process the po/ directory. - POSUB=po - fi - - ifelse(gt_included_intl, yes, [ - dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL - dnl to 'yes' because some of the testsuite requires it. - if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then - BUILD_INCLUDED_LIBINTL=yes - fi - - dnl Make all variables we use known to autoconf. - AC_SUBST([BUILD_INCLUDED_LIBINTL]) - AC_SUBST([USE_INCLUDED_LIBINTL]) - AC_SUBST([CATOBJEXT]) - - dnl For backward compatibility. Some configure.ins may be using this. - nls_cv_header_intl= - nls_cv_header_libgt= - - dnl For backward compatibility. Some Makefiles may be using this. - DATADIRNAME=share - AC_SUBST([DATADIRNAME]) - - dnl For backward compatibility. Some Makefiles may be using this. - INSTOBJEXT=.mo - AC_SUBST([INSTOBJEXT]) - - dnl For backward compatibility. Some Makefiles may be using this. - GENCAT=gencat - AC_SUBST([GENCAT]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLOBJS= - if test "$USE_INCLUDED_LIBINTL" = yes; then - INTLOBJS="\$(GETTOBJS)" - fi - AC_SUBST([INTLOBJS]) - - dnl Enable libtool support if the surrounding package wishes it. - INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix - AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX]) - ]) - - dnl For backward compatibility. Some Makefiles may be using this. - INTLLIBS="$LIBINTL" - AC_SUBST([INTLLIBS]) - - dnl Make all documented variables known to autoconf. - AC_SUBST([LIBINTL]) - AC_SUBST([LTLIBINTL]) - AC_SUBST([POSUB]) -]) - - -dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized. -m4_define([gt_NEEDS_INIT], -[ - m4_divert_text([DEFAULTS], [gt_needs=]) - m4_define([gt_NEEDS_INIT], []) -]) - - -dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL]) -AC_DEFUN([AM_GNU_GETTEXT_NEED], -[ - m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"]) -]) - - -dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version]) -AC_DEFUN([AM_GNU_GETTEXT_VERSION], []) diff --git a/Build/source/extra/xz/m4/iconv.m4 b/Build/source/extra/xz/m4/iconv.m4 deleted file mode 100644 index f46ff142154..00000000000 --- a/Build/source/extra/xz/m4/iconv.m4 +++ /dev/null @@ -1,199 +0,0 @@ -# iconv.m4 serial 9 (gettext-0.18) -dnl Copyright (C) 2000-2002, 2007-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_DEFUN([AM_ICONV_LINKFLAGS_BODY], -[ - dnl Prerequisites of AC_LIB_LINKFLAGS_BODY. - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([iconv]) -]) - -AC_DEFUN([AM_ICONV_LINK], -[ - dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and - dnl those with the standalone portable GNU libiconv installed). - AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles - - dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV - dnl accordingly. - AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY]) - - dnl Add $INCICONV to CPPFLAGS before performing the following checks, - dnl because if the user has installed libiconv and not disabled its use - dnl via --without-libiconv-prefix, he wants to use it. The first - dnl AC_TRY_LINK will then fail, the second AC_TRY_LINK will succeed. - am_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV]) - - AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [ - am_cv_func_iconv="no, consider installing GNU libiconv" - am_cv_lib_iconv=no - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - [am_cv_func_iconv=yes]) - if test "$am_cv_func_iconv" != yes; then - am_save_LIBS="$LIBS" - LIBS="$LIBS $LIBICONV" - AC_TRY_LINK([#include -#include ], - [iconv_t cd = iconv_open("",""); - iconv(cd,NULL,NULL,NULL,NULL); - iconv_close(cd);], - [am_cv_lib_iconv=yes] - [am_cv_func_iconv=yes]) - LIBS="$am_save_LIBS" - fi - ]) - if test "$am_cv_func_iconv" = yes; then - AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [ - dnl This tests against bugs in AIX 5.1, HP-UX 11.11, Solaris 10. - am_save_LIBS="$LIBS" - if test $am_cv_lib_iconv = yes; then - LIBS="$LIBS $LIBICONV" - fi - AC_TRY_RUN([ -#include -#include -int main () -{ - /* Test against AIX 5.1 bug: Failures are not distinguishable from successful - returns. */ - { - iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8"); - if (cd_utf8_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\342\202\254"; /* EURO SIGN */ - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_utf8_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } - /* Test against Solaris 10 bug: Failures are not distinguishable from - successful returns. */ - { - iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646"); - if (cd_ascii_to_88591 != (iconv_t)(-1)) - { - static const char input[] = "\263"; - char buf[10]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_ascii_to_88591, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if (res == 0) - return 1; - } - } -#if 0 /* This bug could be worked around by the caller. */ - /* Test against HP-UX 11.11 bug: Positive return value instead of 0. */ - { - iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591"); - if (cd_88591_to_utf8 != (iconv_t)(-1)) - { - static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337"; - char buf[50]; - const char *inptr = input; - size_t inbytesleft = strlen (input); - char *outptr = buf; - size_t outbytesleft = sizeof (buf); - size_t res = iconv (cd_88591_to_utf8, - (char **) &inptr, &inbytesleft, - &outptr, &outbytesleft); - if ((int)res > 0) - return 1; - } - } -#endif - /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is - provided. */ - if (/* Try standardized names. */ - iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1) - /* Try IRIX, OSF/1 names. */ - && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1) - /* Try AIX names. */ - && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1) - /* Try HP-UX names. */ - && iconv_open ("utf8", "eucJP") == (iconv_t)(-1)) - return 1; - return 0; -}], [am_cv_func_iconv_works=yes], [am_cv_func_iconv_works=no], - [case "$host_os" in - aix* | hpux*) am_cv_func_iconv_works="guessing no" ;; - *) am_cv_func_iconv_works="guessing yes" ;; - esac]) - LIBS="$am_save_LIBS" - ]) - case "$am_cv_func_iconv_works" in - *no) am_func_iconv=no am_cv_lib_iconv=no ;; - *) am_func_iconv=yes ;; - esac - else - am_func_iconv=no am_cv_lib_iconv=no - fi - if test "$am_func_iconv" = yes; then - AC_DEFINE([HAVE_ICONV], [1], - [Define if you have the iconv() function and it works.]) - fi - if test "$am_cv_lib_iconv" = yes; then - AC_MSG_CHECKING([how to link with libiconv]) - AC_MSG_RESULT([$LIBICONV]) - else - dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV - dnl either. - CPPFLAGS="$am_save_CPPFLAGS" - LIBICONV= - LTLIBICONV= - fi - AC_SUBST([LIBICONV]) - AC_SUBST([LTLIBICONV]) -]) - -AC_DEFUN([AM_ICONV], -[ - AM_ICONV_LINK - if test "$am_cv_func_iconv" = yes; then - AC_MSG_CHECKING([for iconv declaration]) - AC_CACHE_VAL([am_cv_proto_iconv], [ - AC_TRY_COMPILE([ -#include -#include -extern -#ifdef __cplusplus -"C" -#endif -#if defined(__STDC__) || defined(__cplusplus) -size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft); -#else -size_t iconv(); -#endif -], [], [am_cv_proto_iconv_arg1=""], [am_cv_proto_iconv_arg1="const"]) - am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"]) - am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'` - AC_MSG_RESULT([ - $am_cv_proto_iconv]) - AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1], - [Define as const if the declaration of iconv() needs const.]) - fi -]) diff --git a/Build/source/extra/xz/m4/intlmacosx.m4 b/Build/source/extra/xz/m4/intlmacosx.m4 deleted file mode 100644 index dd910259627..00000000000 --- a/Build/source/extra/xz/m4/intlmacosx.m4 +++ /dev/null @@ -1,51 +0,0 @@ -# intlmacosx.m4 serial 3 (gettext-0.18) -dnl Copyright (C) 2004-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Checks for special options needed on MacOS X. -dnl Defines INTL_MACOSX_LIBS. -AC_DEFUN([gt_INTL_MACOSX], -[ - dnl Check for API introduced in MacOS X 10.2. - AC_CACHE_CHECK([for CFPreferencesCopyAppValue], - [gt_cv_func_CFPreferencesCopyAppValue], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], - [CFPreferencesCopyAppValue(NULL, NULL)], - [gt_cv_func_CFPreferencesCopyAppValue=yes], - [gt_cv_func_CFPreferencesCopyAppValue=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFPreferencesCopyAppValue = yes; then - AC_DEFINE([HAVE_CFPREFERENCESCOPYAPPVALUE], [1], - [Define to 1 if you have the MacOS X function CFPreferencesCopyAppValue in the CoreFoundation framework.]) - fi - dnl Check for API introduced in MacOS X 10.3. - AC_CACHE_CHECK([for CFLocaleCopyCurrent], [gt_cv_func_CFLocaleCopyCurrent], - [gt_save_LIBS="$LIBS" - LIBS="$LIBS -Wl,-framework -Wl,CoreFoundation" - AC_TRY_LINK([#include ], [CFLocaleCopyCurrent();], - [gt_cv_func_CFLocaleCopyCurrent=yes], - [gt_cv_func_CFLocaleCopyCurrent=no]) - LIBS="$gt_save_LIBS"]) - if test $gt_cv_func_CFLocaleCopyCurrent = yes; then - AC_DEFINE([HAVE_CFLOCALECOPYCURRENT], [1], - [Define to 1 if you have the MacOS X function CFLocaleCopyCurrent in the CoreFoundation framework.]) - fi - INTL_MACOSX_LIBS= - if test $gt_cv_func_CFPreferencesCopyAppValue = yes || test $gt_cv_func_CFLocaleCopyCurrent = yes; then - INTL_MACOSX_LIBS="-Wl,-framework -Wl,CoreFoundation" - fi - AC_SUBST([INTL_MACOSX_LIBS]) -]) diff --git a/Build/source/extra/xz/m4/lib-ld.m4 b/Build/source/extra/xz/m4/lib-ld.m4 deleted file mode 100644 index ebb30528bd5..00000000000 --- a/Build/source/extra/xz/m4/lib-ld.m4 +++ /dev/null @@ -1,110 +0,0 @@ -# lib-ld.m4 serial 4 (gettext-0.18) -dnl Copyright (C) 1996-2003, 2009-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl Subroutines of libtool.m4, -dnl with replacements s/AC_/AC_LIB/ and s/lt_cv/acl_cv/ to avoid collision -dnl with libtool.m4. - -dnl From libtool-1.4. Sets the variable with_gnu_ld to yes or no. -AC_DEFUN([AC_LIB_PROG_LD_GNU], -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], [acl_cv_prog_gnu_ld], -[# I'd rather use --version here, but apparently some GNU ld's only accept -v. -case `$LD -v 2>&1 conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by GCC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]* | [A-Za-z]:[\\/]*)] - [re_direlt='/[^/][^/]*/\.\./'] - # Canonicalize the path of ld - ac_prog=`echo $ac_prog| sed 's%\\\\%/%g'` - while echo $ac_prog | grep "$re_direlt" > /dev/null 2>&1; do - ac_prog=`echo $ac_prog| sed "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL([acl_cv_path_LD], -[if test -z "$LD"; then - IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}${PATH_SEPARATOR-:}" - for ac_dir in $PATH; do - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - acl_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some GNU ld's only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$acl_cv_path_LD" -v 2>&1 < /dev/null` in - *GNU* | *'with BFD'*) - test "$with_gnu_ld" != no && break ;; - *) - test "$with_gnu_ld" != yes && break ;; - esac - fi - done - IFS="$ac_save_ifs" -else - acl_cv_path_LD="$LD" # Let the user override the test with a path. -fi]) -LD="$acl_cv_path_LD" -if test -n "$LD"; then - AC_MSG_RESULT([$LD]) -else - AC_MSG_RESULT([no]) -fi -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) -AC_LIB_PROG_LD_GNU -]) diff --git a/Build/source/extra/xz/m4/lib-link.m4 b/Build/source/extra/xz/m4/lib-link.m4 deleted file mode 100644 index c73bd8e3a47..00000000000 --- a/Build/source/extra/xz/m4/lib-link.m4 +++ /dev/null @@ -1,774 +0,0 @@ -# lib-link.m4 serial 21 (gettext-0.18) -dnl Copyright (C) 2001-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -AC_PREREQ([2.54]) - -dnl AC_LIB_LINKFLAGS(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets and AC_SUBSTs the LIB${NAME} and LTLIB${NAME} variables and -dnl augments the CPPFLAGS variable. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [ - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - ac_cv_lib[]Name[]_libs="$LIB[]NAME" - ac_cv_lib[]Name[]_ltlibs="$LTLIB[]NAME" - ac_cv_lib[]Name[]_cppflags="$INC[]NAME" - ac_cv_lib[]Name[]_prefix="$LIB[]NAME[]_PREFIX" - ]) - LIB[]NAME="$ac_cv_lib[]Name[]_libs" - LTLIB[]NAME="$ac_cv_lib[]Name[]_ltlibs" - INC[]NAME="$ac_cv_lib[]Name[]_cppflags" - LIB[]NAME[]_PREFIX="$ac_cv_lib[]Name[]_prefix" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - dnl Also set HAVE_LIB[]NAME so that AC_LIB_HAVE_LINKFLAGS can reuse the - dnl results of this search when this library appears as a dependency. - HAVE_LIB[]NAME=yes - popdef([NAME]) - popdef([Name]) -]) - -dnl AC_LIB_HAVE_LINKFLAGS(name, dependencies, includes, testcode, [missing-message]) -dnl searches for libname and the libraries corresponding to explicit and -dnl implicit dependencies, together with the specified include files and -dnl the ability to compile and link the specified testcode. The missing-message -dnl defaults to 'no' and may contain additional hints for the user. -dnl If found, it sets and AC_SUBSTs HAVE_LIB${NAME}=yes and the LIB${NAME} -dnl and LTLIB${NAME} variables and augments the CPPFLAGS variable, and -dnl #defines HAVE_LIB${NAME} to 1. Otherwise, it sets and AC_SUBSTs -dnl HAVE_LIB${NAME}=no and LIB${NAME} and LTLIB${NAME} to empty. -dnl Sets and AC_SUBSTs the LIB${NAME}_PREFIX variable to nonempty if libname -dnl was found in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_HAVE_LINKFLAGS], -[ - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - AC_REQUIRE([AC_LIB_RPATH]) - pushdef([Name],[translit([$1],[./-], [___])]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - - dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME - dnl accordingly. - AC_LIB_LINKFLAGS_BODY([$1], [$2]) - - dnl Add $INC[]NAME to CPPFLAGS before performing the following checks, - dnl because if the user has installed lib[]Name and not disabled its use - dnl via --without-lib[]Name-prefix, he wants to use it. - ac_save_CPPFLAGS="$CPPFLAGS" - AC_LIB_APPENDTOVAR([CPPFLAGS], [$INC]NAME) - - AC_CACHE_CHECK([for lib[]$1], [ac_cv_lib[]Name], [ - ac_save_LIBS="$LIBS" - dnl If $LIB[]NAME contains some -l options, add it to the end of LIBS, - dnl because these -l options might require -L options that are present in - dnl LIBS. -l options benefit only from the -L options listed before it. - dnl Otherwise, add it to the front of LIBS, because it may be a static - dnl library that depends on another static library that is present in LIBS. - dnl Static libraries benefit only from the static libraries listed after - dnl it. - case " $LIB[]NAME" in - *" -l"*) LIBS="$LIBS $LIB[]NAME" ;; - *) LIBS="$LIB[]NAME $LIBS" ;; - esac - AC_TRY_LINK([$3], [$4], - [ac_cv_lib[]Name=yes], - [ac_cv_lib[]Name='m4_if([$5], [], [no], [[$5]])']) - LIBS="$ac_save_LIBS" - ]) - if test "$ac_cv_lib[]Name" = yes; then - HAVE_LIB[]NAME=yes - AC_DEFINE([HAVE_LIB]NAME, 1, [Define if you have the lib][$1 library.]) - AC_MSG_CHECKING([how to link with lib[]$1]) - AC_MSG_RESULT([$LIB[]NAME]) - else - HAVE_LIB[]NAME=no - dnl If $LIB[]NAME didn't lead to a usable library, we don't need - dnl $INC[]NAME either. - CPPFLAGS="$ac_save_CPPFLAGS" - LIB[]NAME= - LTLIB[]NAME= - LIB[]NAME[]_PREFIX= - fi - AC_SUBST([HAVE_LIB]NAME) - AC_SUBST([LIB]NAME) - AC_SUBST([LTLIB]NAME) - AC_SUBST([LIB]NAME[_PREFIX]) - popdef([NAME]) - popdef([Name]) -]) - -dnl Determine the platform dependent parameters needed to use rpath: -dnl acl_libext, -dnl acl_shlibext, -dnl acl_hardcode_libdir_flag_spec, -dnl acl_hardcode_libdir_separator, -dnl acl_hardcode_direct, -dnl acl_hardcode_minus_L. -AC_DEFUN([AC_LIB_RPATH], -[ - dnl Tell automake >= 1.10 to complain if config.rpath is missing. - m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([config.rpath])]) - AC_REQUIRE([AC_PROG_CC]) dnl we use $CC, $GCC, $LDFLAGS - AC_REQUIRE([AC_LIB_PROG_LD]) dnl we use $LD, $with_gnu_ld - AC_REQUIRE([AC_CANONICAL_HOST]) dnl we use $host - AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT]) dnl we use $ac_aux_dir - AC_CACHE_CHECK([for shared library run path origin], [acl_cv_rpath], [ - CC="$CC" GCC="$GCC" LDFLAGS="$LDFLAGS" LD="$LD" with_gnu_ld="$with_gnu_ld" \ - ${CONFIG_SHELL-/bin/sh} "$ac_aux_dir/config.rpath" "$host" > conftest.sh - . ./conftest.sh - rm -f ./conftest.sh - acl_cv_rpath=done - ]) - wl="$acl_cv_wl" - acl_libext="$acl_cv_libext" - acl_shlibext="$acl_cv_shlibext" - acl_libname_spec="$acl_cv_libname_spec" - acl_library_names_spec="$acl_cv_library_names_spec" - acl_hardcode_libdir_flag_spec="$acl_cv_hardcode_libdir_flag_spec" - acl_hardcode_libdir_separator="$acl_cv_hardcode_libdir_separator" - acl_hardcode_direct="$acl_cv_hardcode_direct" - acl_hardcode_minus_L="$acl_cv_hardcode_minus_L" - dnl Determine whether the user wants rpath handling at all. - AC_ARG_ENABLE([rpath], - [ --disable-rpath do not hardcode runtime library paths], - :, enable_rpath=yes) -]) - -dnl AC_LIB_FROMPACKAGE(name, package) -dnl declares that libname comes from the given package. The configure file -dnl will then not have a --with-libname-prefix option but a -dnl --with-package-prefix option. Several libraries can come from the same -dnl package. This declaration must occur before an AC_LIB_LINKFLAGS or similar -dnl macro call that searches for libname. -AC_DEFUN([AC_LIB_FROMPACKAGE], -[ - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_frompackage_]NAME, [$2]) - popdef([NAME]) - pushdef([PACK],[$2]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - define([acl_libsinpackage_]PACKUP, - m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, ]],)[lib$1]) - popdef([PACKUP]) - popdef([PACK]) -]) - -dnl AC_LIB_LINKFLAGS_BODY(name [, dependencies]) searches for libname and -dnl the libraries corresponding to explicit and implicit dependencies. -dnl Sets the LIB${NAME}, LTLIB${NAME} and INC${NAME} variables. -dnl Also, sets the LIB${NAME}_PREFIX variable to nonempty if libname was found -dnl in ${LIB${NAME}_PREFIX}/$acl_libdirstem. -AC_DEFUN([AC_LIB_LINKFLAGS_BODY], -[ - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, lib[$1])]) - pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./-], - [ABCDEFGHIJKLMNOPQRSTUVWXYZ___])]) - pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, [acl_libsinpackage_]PACKUP, lib[$1])]) - dnl Autoconf >= 2.61 supports dots in --with options. - pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_ARG_WITH(P_A_C_K[-prefix], -[[ --with-]]P_A_C_K[[-prefix[=DIR] search for ]PACKLIBS[ in DIR/include and DIR/lib - --without-]]P_A_C_K[[-prefix don't search for ]PACKLIBS[ in includedir and libdir]], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - if test "$acl_libdirstem2" != "$acl_libdirstem" \ - && ! test -d "$withval/$acl_libdirstem"; then - additional_libdir="$withval/$acl_libdirstem2" - fi - fi - fi -]) - dnl Search the library and its dependencies in $additional_libdir and - dnl $LDFLAGS. Using breadth-first-seach. - LIB[]NAME= - LTLIB[]NAME= - INC[]NAME= - LIB[]NAME[]_PREFIX= - dnl HAVE_LIB${NAME} is an indicator that LIB${NAME}, LTLIB${NAME} have been - dnl computed. So it has to be reset here. - HAVE_LIB[]NAME= - rpathdirs= - ltrpathdirs= - names_already_handled= - names_next_round='$1 $2' - while test -n "$names_next_round"; do - names_this_round="$names_next_round" - names_next_round= - for name in $names_this_round; do - already_handled= - for n in $names_already_handled; do - if test "$n" = "$name"; then - already_handled=yes - break - fi - done - if test -z "$already_handled"; then - names_already_handled="$names_already_handled $name" - dnl See if it was already located by an earlier AC_LIB_LINKFLAGS - dnl or AC_LIB_HAVE_LINKFLAGS call. - uppername=`echo "$name" | sed -e 'y|abcdefghijklmnopqrstuvwxyz./-|ABCDEFGHIJKLMNOPQRSTUVWXYZ___|'` - eval value=\"\$HAVE_LIB$uppername\" - if test -n "$value"; then - if test "$value" = yes; then - eval value=\"\$LIB$uppername\" - test -z "$value" || LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$value" - eval value=\"\$LTLIB$uppername\" - test -z "$value" || LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$value" - else - dnl An earlier call to AC_LIB_HAVE_LINKFLAGS has determined - dnl that this library doesn't exist. So just drop it. - : - fi - else - dnl Search the library lib$name in $additional_libdir and $LDFLAGS - dnl and the already constructed $LIBNAME/$LTLIBNAME. - found_dir= - found_la= - found_so= - found_a= - eval libname=\"$acl_libname_spec\" # typically: libname=lib$name - if test -n "$acl_shlibext"; then - shrext=".$acl_shlibext" # typically: shrext=.so - else - shrext= - fi - if test $use_additional = yes; then - dir="$additional_libdir" - dnl The same code as in the loop below: - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - fi - if test "X$found_dir" = "X"; then - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - case "$x" in - -L*) - dir=`echo "X$x" | sed -e 's/^X-L//'` - dnl First look for a shared library. - if test -n "$acl_shlibext"; then - if test -f "$dir/$libname$shrext"; then - found_dir="$dir" - found_so="$dir/$libname$shrext" - else - if test "$acl_library_names_spec" = '$libname$shrext$versuffix'; then - ver=`(cd "$dir" && \ - for f in "$libname$shrext".*; do echo "$f"; done \ - | sed -e "s,^$libname$shrext\\\\.,," \ - | sort -t '.' -n -r -k1,1 -k2,2 -k3,3 -k4,4 -k5,5 \ - | sed 1q ) 2>/dev/null` - if test -n "$ver" && test -f "$dir/$libname$shrext.$ver"; then - found_dir="$dir" - found_so="$dir/$libname$shrext.$ver" - fi - else - eval library_names=\"$acl_library_names_spec\" - for f in $library_names; do - if test -f "$dir/$f"; then - found_dir="$dir" - found_so="$dir/$f" - break - fi - done - fi - fi - fi - dnl Then look for a static library. - if test "X$found_dir" = "X"; then - if test -f "$dir/$libname.$acl_libext"; then - found_dir="$dir" - found_a="$dir/$libname.$acl_libext" - fi - fi - if test "X$found_dir" != "X"; then - if test -f "$dir/$libname.la"; then - found_la="$dir/$libname.la" - fi - fi - ;; - esac - if test "X$found_dir" != "X"; then - break - fi - done - fi - if test "X$found_dir" != "X"; then - dnl Found the library. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$found_dir -l$name" - if test "X$found_so" != "X"; then - dnl Linking with a shared library. We attempt to hardcode its - dnl directory into the executable's runpath, unless it's the - dnl standard /usr/lib. - if test "$enable_rpath" = no \ - || test "X$found_dir" = "X/usr/$acl_libdirstem" \ - || test "X$found_dir" = "X/usr/$acl_libdirstem2"; then - dnl No hardcoding is needed. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $found_dir" - fi - dnl The hardcoding into $LIBNAME is system dependent. - if test "$acl_hardcode_direct" = yes; then - dnl Using DIR/libNAME.so during linking hardcodes DIR into the - dnl resulting binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode DIR into the resulting - dnl binary. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $found_dir" - fi - else - dnl Rely on "-L$found_dir". - dnl But don't add it if it's already contained in the LDFLAGS - dnl or the already constructed $LIBNAME - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$found_dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir" - fi - if test "$acl_hardcode_minus_L" != no; then - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_so" - else - dnl We cannot use $acl_hardcode_runpath_var and LD_RUN_PATH - dnl here, because this doesn't fit in flags passed to the - dnl compiler. So give up. No hardcoding. This affects only - dnl very old systems. - dnl FIXME: Not sure whether we should use - dnl "-L$found_dir -l$name" or "-L$found_dir $found_so" - dnl here. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - fi - fi - fi - fi - else - if test "X$found_a" != "X"; then - dnl Linking with a static library. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$found_a" - else - dnl We shouldn't come here, but anyway it's good to have a - dnl fallback. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$found_dir -l$name" - fi - fi - dnl Assume the include files are nearby. - additional_includedir= - case "$found_dir" in - */$acl_libdirstem | */$acl_libdirstem/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - */$acl_libdirstem2 | */$acl_libdirstem2/) - basedir=`echo "X$found_dir" | sed -e 's,^X,,' -e "s,/$acl_libdirstem2/"'*$,,'` - if test "$name" = '$1'; then - LIB[]NAME[]_PREFIX="$basedir" - fi - additional_includedir="$basedir/include" - ;; - esac - if test "X$additional_includedir" != "X"; then - dnl Potentially add $additional_includedir to $INCNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's /usr/local/include and we are using GCC on Linux, - dnl 3. if it's already present in $CPPFLAGS or the already - dnl constructed $INCNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - for x in $CPPFLAGS $INC[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $INCNAME. - INC[]NAME="${INC[]NAME}${INC[]NAME:+ }-I$additional_includedir" - fi - fi - fi - fi - fi - dnl Look for dependencies. - if test -n "$found_la"; then - dnl Read the .la file. It defines the variables - dnl dlname, library_names, old_library, dependency_libs, current, - dnl age, revision, installed, dlopen, dlpreopen, libdir. - save_libdir="$libdir" - case "$found_la" in - */* | *\\*) . "$found_la" ;; - *) . "./$found_la" ;; - esac - libdir="$save_libdir" - dnl We use only dependency_libs. - for dep in $dependency_libs; do - case "$dep" in - -L*) - additional_libdir=`echo "X$dep" | sed -e 's/^X-L//'` - dnl Potentially add $additional_libdir to $LIBNAME and $LTLIBNAME. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's /usr/local/lib and we are using GCC on Linux, - dnl 3. if it's already present in $LDFLAGS or the already - dnl constructed $LIBNAME, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem" \ - && test "X$additional_libdir" != "X/usr/$acl_libdirstem2"; then - haveit= - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem" \ - || test "X$additional_libdir" = "X/usr/local/$acl_libdirstem2"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - haveit= - for x in $LDFLAGS $LIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LIBNAME. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-L$additional_libdir" - fi - fi - haveit= - for x in $LDFLAGS $LTLIB[]NAME; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LTLIBNAME. - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-L$additional_libdir" - fi - fi - fi - fi - ;; - -R*) - dir=`echo "X$dep" | sed -e 's/^X-R//'` - if test "$enable_rpath" != no; then - dnl Potentially add DIR to rpathdirs. - dnl The rpathdirs will be appended to $LIBNAME at the end. - haveit= - for x in $rpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - rpathdirs="$rpathdirs $dir" - fi - dnl Potentially add DIR to ltrpathdirs. - dnl The ltrpathdirs will be appended to $LTLIBNAME at the end. - haveit= - for x in $ltrpathdirs; do - if test "X$x" = "X$dir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - ltrpathdirs="$ltrpathdirs $dir" - fi - fi - ;; - -l*) - dnl Handle this in the next round. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's/^X-l//'` - ;; - *.la) - dnl Handle this in the next round. Throw away the .la's - dnl directory; it is already contained in a preceding -L - dnl option. - names_next_round="$names_next_round "`echo "X$dep" | sed -e 's,^X.*/,,' -e 's,^lib,,' -e 's,\.la$,,'` - ;; - *) - dnl Most likely an immediate library name. - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$dep" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }$dep" - ;; - esac - done - fi - else - dnl Didn't find the library; assume it is in the system directories - dnl known to the linker and runtime loader. (All the system - dnl directories known to the linker should also be known to the - dnl runtime loader, otherwise the system is severely misconfigured.) - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }-l$name" - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-l$name" - fi - fi - fi - done - done - if test "X$rpathdirs" != "X"; then - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user must - dnl pass all path elements in one option. We can arrange that for a - dnl single library, but not when more than one $LIBNAMEs are used. - alldirs= - for found_dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$found_dir" - done - dnl Note: acl_hardcode_libdir_flag_spec uses $libdir and $wl. - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - else - dnl The -rpath options are cumulative. - for found_dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$found_dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - LIB[]NAME="${LIB[]NAME}${LIB[]NAME:+ }$flag" - done - fi - fi - if test "X$ltrpathdirs" != "X"; then - dnl When using libtool, the option that works for both libraries and - dnl executables is -R. The -R options are cumulative. - for found_dir in $ltrpathdirs; do - LTLIB[]NAME="${LTLIB[]NAME}${LTLIB[]NAME:+ }-R$found_dir" - done - fi - popdef([P_A_C_K]) - popdef([PACKLIBS]) - popdef([PACKUP]) - popdef([PACK]) - popdef([NAME]) -]) - -dnl AC_LIB_APPENDTOVAR(VAR, CONTENTS) appends the elements of CONTENTS to VAR, -dnl unless already present in VAR. -dnl Works only for CPPFLAGS, not for LIB* variables because that sometimes -dnl contains two or three consecutive elements that belong together. -AC_DEFUN([AC_LIB_APPENDTOVAR], -[ - for element in [$2]; do - haveit= - for x in $[$1]; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X$element"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - [$1]="${[$1]}${[$1]:+ }$element" - fi - done -]) - -dnl For those cases where a variable contains several -L and -l options -dnl referring to unknown libraries and directories, this macro determines the -dnl necessary additional linker options for the runtime path. -dnl AC_LIB_LINKFLAGS_FROM_LIBS([LDADDVAR], [LIBSVALUE], [USE-LIBTOOL]) -dnl sets LDADDVAR to linker options needed together with LIBSVALUE. -dnl If USE-LIBTOOL evaluates to non-empty, linking with libtool is assumed, -dnl otherwise linking without libtool is assumed. -AC_DEFUN([AC_LIB_LINKFLAGS_FROM_LIBS], -[ - AC_REQUIRE([AC_LIB_RPATH]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - $1= - if test "$enable_rpath" != no; then - if test -n "$acl_hardcode_libdir_flag_spec" && test "$acl_hardcode_minus_L" = no; then - dnl Use an explicit option to hardcode directories into the resulting - dnl binary. - rpathdirs= - next= - for opt in $2; do - if test -n "$next"; then - dir="$next" - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= - else - case $opt in - -L) next=yes ;; - -L*) dir=`echo "X$opt" | sed -e 's,^X-L,,'` - dnl No need to hardcode the standard /usr/lib. - if test "X$dir" != "X/usr/$acl_libdirstem" \ - && test "X$dir" != "X/usr/$acl_libdirstem2"; then - rpathdirs="$rpathdirs $dir" - fi - next= ;; - *) next= ;; - esac - fi - done - if test "X$rpathdirs" != "X"; then - if test -n ""$3""; then - dnl libtool is used for linking. Use -R options. - for dir in $rpathdirs; do - $1="${$1}${$1:+ }-R$dir" - done - else - dnl The linker is used for linking directly. - if test -n "$acl_hardcode_libdir_separator"; then - dnl Weird platform: only the last -rpath option counts, the user - dnl must pass all path elements in one option. - alldirs= - for dir in $rpathdirs; do - alldirs="${alldirs}${alldirs:+$acl_hardcode_libdir_separator}$dir" - done - acl_save_libdir="$libdir" - libdir="$alldirs" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="$flag" - else - dnl The -rpath options are cumulative. - for dir in $rpathdirs; do - acl_save_libdir="$libdir" - libdir="$dir" - eval flag=\"$acl_hardcode_libdir_flag_spec\" - libdir="$acl_save_libdir" - $1="${$1}${$1:+ }$flag" - done - fi - fi - fi - fi - fi - AC_SUBST([$1]) -]) diff --git a/Build/source/extra/xz/m4/lib-prefix.m4 b/Build/source/extra/xz/m4/lib-prefix.m4 deleted file mode 100644 index 1601ceaefd3..00000000000 --- a/Build/source/extra/xz/m4/lib-prefix.m4 +++ /dev/null @@ -1,224 +0,0 @@ -# lib-prefix.m4 serial 7 (gettext-0.18) -dnl Copyright (C) 2001-2005, 2008-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl AC_LIB_ARG_WITH is synonymous to AC_ARG_WITH in autoconf-2.13, and -dnl similar to AC_ARG_WITH in autoconf 2.52...2.57 except that is doesn't -dnl require excessive bracketing. -ifdef([AC_HELP_STRING], -[AC_DEFUN([AC_LIB_ARG_WITH], [AC_ARG_WITH([$1],[[$2]],[$3],[$4])])], -[AC_DEFUN([AC_][LIB_ARG_WITH], [AC_ARG_WITH([$1],[$2],[$3],[$4])])]) - -dnl AC_LIB_PREFIX adds to the CPPFLAGS and LDFLAGS the flags that are needed -dnl to access previously installed libraries. The basic assumption is that -dnl a user will want packages to use other packages he previously installed -dnl with the same --prefix option. -dnl This macro is not needed if only AC_LIB_LINKFLAGS is used to locate -dnl libraries, but is otherwise very convenient. -AC_DEFUN([AC_LIB_PREFIX], -[ - AC_BEFORE([$0], [AC_LIB_LINKFLAGS]) - AC_REQUIRE([AC_PROG_CC]) - AC_REQUIRE([AC_CANONICAL_HOST]) - AC_REQUIRE([AC_LIB_PREPARE_MULTILIB]) - AC_REQUIRE([AC_LIB_PREPARE_PREFIX]) - dnl By default, look in $includedir and $libdir. - use_additional=yes - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - AC_LIB_ARG_WITH([lib-prefix], -[ --with-lib-prefix[=DIR] search for libraries in DIR/include and DIR/lib - --without-lib-prefix don't search for libraries in includedir and libdir], -[ - if test "X$withval" = "Xno"; then - use_additional=no - else - if test "X$withval" = "X"; then - AC_LIB_WITH_FINAL_PREFIX([ - eval additional_includedir=\"$includedir\" - eval additional_libdir=\"$libdir\" - ]) - else - additional_includedir="$withval/include" - additional_libdir="$withval/$acl_libdirstem" - fi - fi -]) - if test $use_additional = yes; then - dnl Potentially add $additional_includedir to $CPPFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/include, - dnl 2. if it's already present in $CPPFLAGS, - dnl 3. if it's /usr/local/include and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_includedir" != "X/usr/include"; then - haveit= - for x in $CPPFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-I$additional_includedir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_includedir" = "X/usr/local/include"; then - if test -n "$GCC"; then - case $host_os in - linux* | gnu* | k*bsd*-gnu) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_includedir"; then - dnl Really add $additional_includedir to $CPPFLAGS. - CPPFLAGS="${CPPFLAGS}${CPPFLAGS:+ }-I$additional_includedir" - fi - fi - fi - fi - dnl Potentially add $additional_libdir to $LDFLAGS. - dnl But don't add it - dnl 1. if it's the standard /usr/lib, - dnl 2. if it's already present in $LDFLAGS, - dnl 3. if it's /usr/local/lib and we are using GCC on Linux, - dnl 4. if it doesn't exist as a directory. - if test "X$additional_libdir" != "X/usr/$acl_libdirstem"; then - haveit= - for x in $LDFLAGS; do - AC_LIB_WITH_FINAL_PREFIX([eval x=\"$x\"]) - if test "X$x" = "X-L$additional_libdir"; then - haveit=yes - break - fi - done - if test -z "$haveit"; then - if test "X$additional_libdir" = "X/usr/local/$acl_libdirstem"; then - if test -n "$GCC"; then - case $host_os in - linux*) haveit=yes;; - esac - fi - fi - if test -z "$haveit"; then - if test -d "$additional_libdir"; then - dnl Really add $additional_libdir to $LDFLAGS. - LDFLAGS="${LDFLAGS}${LDFLAGS:+ }-L$additional_libdir" - fi - fi - fi - fi - fi -]) - -dnl AC_LIB_PREPARE_PREFIX creates variables acl_final_prefix, -dnl acl_final_exec_prefix, containing the values to which $prefix and -dnl $exec_prefix will expand at the end of the configure script. -AC_DEFUN([AC_LIB_PREPARE_PREFIX], -[ - dnl Unfortunately, prefix and exec_prefix get only finally determined - dnl at the end of configure. - if test "X$prefix" = "XNONE"; then - acl_final_prefix="$ac_default_prefix" - else - acl_final_prefix="$prefix" - fi - if test "X$exec_prefix" = "XNONE"; then - acl_final_exec_prefix='${prefix}' - else - acl_final_exec_prefix="$exec_prefix" - fi - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - eval acl_final_exec_prefix=\"$acl_final_exec_prefix\" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_WITH_FINAL_PREFIX([statement]) evaluates statement, with the -dnl variables prefix and exec_prefix bound to the values they will have -dnl at the end of the configure script. -AC_DEFUN([AC_LIB_WITH_FINAL_PREFIX], -[ - acl_save_prefix="$prefix" - prefix="$acl_final_prefix" - acl_save_exec_prefix="$exec_prefix" - exec_prefix="$acl_final_exec_prefix" - $1 - exec_prefix="$acl_save_exec_prefix" - prefix="$acl_save_prefix" -]) - -dnl AC_LIB_PREPARE_MULTILIB creates -dnl - a variable acl_libdirstem, containing the basename of the libdir, either -dnl "lib" or "lib64" or "lib/64", -dnl - a variable acl_libdirstem2, as a secondary possible value for -dnl acl_libdirstem, either the same as acl_libdirstem or "lib/sparcv9" or -dnl "lib/amd64". -AC_DEFUN([AC_LIB_PREPARE_MULTILIB], -[ - dnl There is no formal standard regarding lib and lib64. - dnl On glibc systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib64 and 32-bit libraries go under $prefix/lib. We determine - dnl the compiler's default mode by looking at the compiler's library search - dnl path. If at least one of its elements ends in /lib64 or points to a - dnl directory whose absolute pathname ends in /lib64, we assume a 64-bit ABI. - dnl Otherwise we use the default, namely "lib". - dnl On Solaris systems, the current practice is that on a system supporting - dnl 32-bit and 64-bit instruction sets or ABIs, 64-bit libraries go under - dnl $prefix/lib/64 (which is a symlink to either $prefix/lib/sparcv9 or - dnl $prefix/lib/amd64) and 32-bit libraries go under $prefix/lib. - AC_REQUIRE([AC_CANONICAL_HOST]) - acl_libdirstem=lib - acl_libdirstem2= - case "$host_os" in - solaris*) - dnl See Solaris 10 Software Developer Collection > Solaris 64-bit Developer's Guide > The Development Environment - dnl . - dnl "Portable Makefiles should refer to any library directories using the 64 symbolic link." - dnl But we want to recognize the sparcv9 or amd64 subdirectory also if the - dnl symlink is missing, so we set acl_libdirstem2 too. - AC_CACHE_CHECK([for 64-bit host], [gl_cv_solaris_64bit], - [AC_EGREP_CPP([sixtyfour bits], [ -#ifdef _LP64 -sixtyfour bits -#endif - ], [gl_cv_solaris_64bit=yes], [gl_cv_solaris_64bit=no]) - ]) - if test $gl_cv_solaris_64bit = yes; then - acl_libdirstem=lib/64 - case "$host_cpu" in - sparc*) acl_libdirstem2=lib/sparcv9 ;; - i*86 | x86_64) acl_libdirstem2=lib/amd64 ;; - esac - fi - ;; - *) - searchpath=`(LC_ALL=C $CC -print-search-dirs) 2>/dev/null | sed -n -e 's,^libraries: ,,p' | sed -e 's,^=,,'` - if test -n "$searchpath"; then - acl_save_IFS="${IFS= }"; IFS=":" - for searchdir in $searchpath; do - if test -d "$searchdir"; then - case "$searchdir" in - */lib64/ | */lib64 ) acl_libdirstem=lib64 ;; - */../ | */.. ) - # Better ignore directories of this form. They are misleading. - ;; - *) searchdir=`cd "$searchdir" && pwd` - case "$searchdir" in - */lib64 ) acl_libdirstem=lib64 ;; - esac ;; - esac - fi - done - IFS="$acl_save_IFS" - fi - ;; - esac - test -n "$acl_libdirstem2" || acl_libdirstem2="$acl_libdirstem" -]) diff --git a/Build/source/extra/xz/m4/libtool.m4 b/Build/source/extra/xz/m4/libtool.m4 deleted file mode 100644 index 44e0ecff11e..00000000000 --- a/Build/source/extra/xz/m4/libtool.m4 +++ /dev/null @@ -1,7982 +0,0 @@ -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -m4_define([_LT_COPYING], [dnl -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, -# 2006, 2007, 2008, 2009, 2010, 2011 Free Software -# Foundation, Inc. -# Written by Gordon Matzigkeit, 1996 -# -# This file is part of GNU Libtool. -# -# GNU Libtool is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2 of -# the License, or (at your option) any later version. -# -# As a special exception to the GNU General Public License, -# if you distribute this file as part of a program or library that -# is built using GNU Libtool, you may include this file under the -# same distribution terms that you use for the rest of that program. -# -# GNU Libtool is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Libtool; see the file COPYING. If not, a copy -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or -# obtained by writing to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -]) - -# serial 57 LT_INIT - - -# LT_PREREQ(VERSION) -# ------------------ -# Complain and exit if this libtool version is less that VERSION. -m4_defun([LT_PREREQ], -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, - [m4_default([$3], - [m4_fatal([Libtool version $1 or higher is required], - 63)])], - [$2])]) - - -# _LT_CHECK_BUILDDIR -# ------------------ -# Complain if the absolute build directory name contains unusual characters -m4_defun([_LT_CHECK_BUILDDIR], -[case `pwd` in - *\ * | *\ *) - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; -esac -]) - - -# LT_INIT([OPTIONS]) -# ------------------ -AC_DEFUN([LT_INIT], -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT -AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl -AC_BEFORE([$0], [LT_LANG])dnl -AC_BEFORE([$0], [LT_OUTPUT])dnl -AC_BEFORE([$0], [LTDL_INIT])dnl -m4_require([_LT_CHECK_BUILDDIR])dnl - -dnl Autoconf doesn't catch unexpanded LT_ macros by default: -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 -dnl unless we require an AC_DEFUNed macro: -AC_REQUIRE([LTOPTIONS_VERSION])dnl -AC_REQUIRE([LTSUGAR_VERSION])dnl -AC_REQUIRE([LTVERSION_VERSION])dnl -AC_REQUIRE([LTOBSOLETE_VERSION])dnl -m4_require([_LT_PROG_LTMAIN])dnl - -_LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) - -dnl Parse OPTIONS -_LT_SET_OPTIONS([$0], [$1]) - -# This can be used to rebuild libtool when needed -LIBTOOL_DEPS="$ltmain" - -# Always use our own libtool. -LIBTOOL='$(SHELL) $(top_builddir)/libtool' -AC_SUBST(LIBTOOL)dnl - -_LT_SETUP - -# Only expand once: -m4_define([LT_INIT]) -])# LT_INIT - -# Old names: -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) - - -# _LT_CC_BASENAME(CC) -# ------------------- -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. -m4_defun([_LT_CC_BASENAME], -[for cc_temp in $1""; do - case $cc_temp in - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; - \-*) ;; - *) break;; - esac -done -cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` -]) - - -# _LT_FILEUTILS_DEFAULTS -# ---------------------- -# It is okay to use these file commands and assume they have been set -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. -m4_defun([_LT_FILEUTILS_DEFAULTS], -[: ${CP="cp -f"} -: ${MV="mv -f"} -: ${RM="rm -f"} -])# _LT_FILEUTILS_DEFAULTS - - -# _LT_SETUP -# --------- -m4_defun([_LT_SETUP], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl - -_LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl -dnl -_LT_DECL([], [host_alias], [0], [The host system])dnl -_LT_DECL([], [host], [0])dnl -_LT_DECL([], [host_os], [0])dnl -dnl -_LT_DECL([], [build_alias], [0], [The build system])dnl -_LT_DECL([], [build], [0])dnl -_LT_DECL([], [build_os], [0])dnl -dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -dnl -AC_REQUIRE([AC_PROG_LN_S])dnl -test -z "$LN_S" && LN_S="ln -s" -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl -dnl -AC_REQUIRE([LT_CMD_MAX_LEN])dnl -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl -dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl -m4_require([_LT_CMD_RELOAD])dnl -m4_require([_LT_CHECK_MAGIC_METHOD])dnl -m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl -m4_require([_LT_CMD_OLD_ARCHIVE])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_WITH_SYSROOT])dnl - -_LT_CONFIG_LIBTOOL_INIT([ -# See if we are running on zsh, and set the options which allow our -# commands through without removal of \ escapes INIT. -if test -n "\${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi -]) -if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST -fi - -_LT_CHECK_OBJDIR - -m4_require([_LT_TAG_COMPILER])dnl - -case $host_os in -aix3*) - # AIX sometimes has problems with the GCC collect2 program. For some - # reason, if we set the COLLECT_NAMES environment variable, the problems - # vanish in a puff of smoke. - if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES - fi - ;; -esac - -# Global variables: -ofile=libtool -can_build_shared=yes - -# All known linkers require a `.a' archive for static linking (except MSVC, -# which needs '.lib'). -libext=a - -with_gnu_ld="$lt_cv_prog_gnu_ld" - -old_CC="$CC" -old_CFLAGS="$CFLAGS" - -# Set sane defaults for various variables -test -z "$CC" && CC=cc -test -z "$LTCC" && LTCC=$CC -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS -test -z "$LD" && LD=ld -test -z "$ac_objext" && ac_objext=o - -_LT_CC_BASENAME([$compiler]) - -# Only perform the check for file, if the check method requires it -test -z "$MAGIC_CMD" && MAGIC_CMD=file -case $deplibs_check_method in -file_magic*) - if test "$file_magic_cmd" = '$MAGIC_CMD'; then - _LT_PATH_MAGIC - fi - ;; -esac - -# Use C for the default configuration in the libtool script -LT_SUPPORTED_TAG([CC]) -_LT_LANG_C_CONFIG -_LT_LANG_DEFAULT_CONFIG -_LT_CONFIG_COMMANDS -])# _LT_SETUP - - -# _LT_PREPARE_SED_QUOTE_VARS -# -------------------------- -# Define a few sed substitution that help us do robust quoting. -m4_defun([_LT_PREPARE_SED_QUOTE_VARS], -[# Backslashify metacharacters that are still active within -# double-quoted strings. -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' - -# Same as above, but do not quote variable references. -double_quote_subst='s/\([["`\\]]\)/\\\1/g' - -# Sed substitution to delay expansion of an escaped shell variable in a -# double_quote_subst'ed string. -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' - -# Sed substitution to delay expansion of an escaped single quote. -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' - -# Sed substitution to avoid accidental globbing in evaled expressions -no_glob_subst='s/\*/\\\*/g' -]) - -# _LT_PROG_LTMAIN -# --------------- -# Note that this code is called both from `configure', and `config.status' -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, -# `config.status' has no value for ac_aux_dir unless we are using Automake, -# so we pass a copy along to make sure it has a sensible value anyway. -m4_defun([_LT_PROG_LTMAIN], -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) -ltmain="$ac_aux_dir/ltmain.sh" -])# _LT_PROG_LTMAIN - - -## ------------------------------------- ## -## Accumulate code for creating libtool. ## -## ------------------------------------- ## - -# So that we can recreate a full libtool script including additional -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS -# in macros and then make a single call at the end using the `libtool' -# label. - - -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) -# ---------------------------------------- -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL_INIT], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) - - -# _LT_CONFIG_LIBTOOL([COMMANDS]) -# ------------------------------ -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. -m4_define([_LT_CONFIG_LIBTOOL], -[m4_ifval([$1], - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], - [$1 -])])]) - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) - - -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) -# ----------------------------------------------------- -m4_defun([_LT_CONFIG_SAVE_COMMANDS], -[_LT_CONFIG_LIBTOOL([$1]) -_LT_CONFIG_LIBTOOL_INIT([$2]) -]) - - -# _LT_FORMAT_COMMENT([COMMENT]) -# ----------------------------- -# Add leading comment marks to the start of each line, and a trailing -# full-stop to the whole comment if one is not present already. -m4_define([_LT_FORMAT_COMMENT], -[m4_ifval([$1], [ -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) -)]) - - - -## ------------------------ ## -## FIXME: Eliminate VARNAME ## -## ------------------------ ## - - -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) -# ------------------------------------------------------------------- -# CONFIGNAME is the name given to the value in the libtool script. -# VARNAME is the (base) name used in the configure script. -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on -# VARNAME. Any other value will be used directly. -m4_define([_LT_DECL], -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], - [m4_ifval([$1], [$1], [$2])]) - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) - m4_ifval([$4], - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) - lt_dict_add_subkey([lt_decl_dict], [$2], - [tagged?], [m4_ifval([$5], [yes], [no])])]) -]) - - -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) -# -------------------------------------------------------- -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) - - -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_tag_varnames], -[_lt_decl_filter([tagged?], [yes], $@)]) - - -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) -# --------------------------------------------------------- -m4_define([_lt_decl_filter], -[m4_case([$#], - [0], [m4_fatal([$0: too few arguments: $#])], - [1], [m4_fatal([$0: too few arguments: $#: $1])], - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], - [lt_dict_filter([lt_decl_dict], $@)])[]dnl -]) - - -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) -# -------------------------------------------------- -m4_define([lt_decl_quote_varnames], -[_lt_decl_filter([value], [1], $@)]) - - -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_dquote_varnames], -[_lt_decl_filter([value], [2], $@)]) - - -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) -# --------------------------------------------------- -m4_define([lt_decl_varnames_tagged], -[m4_assert([$# <= 2])dnl -_$0(m4_quote(m4_default([$1], [[, ]])), - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) -m4_define([_lt_decl_varnames_tagged], -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) - - -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) -# ------------------------------------------------ -m4_define([lt_decl_all_varnames], -[_$0(m4_quote(m4_default([$1], [[, ]])), - m4_if([$2], [], - m4_quote(lt_decl_varnames), - m4_quote(m4_shift($@))))[]dnl -]) -m4_define([_lt_decl_all_varnames], -[lt_join($@, lt_decl_varnames_tagged([$1], - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl -]) - - -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) -# ------------------------------------ -# Quote a variable value, and forward it to `config.status' so that its -# declaration there will have the same value as in `configure'. VARNAME -# must have a single quote delimited value for this to work. -m4_define([_LT_CONFIG_STATUS_DECLARE], -[$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) - - -# _LT_CONFIG_STATUS_DECLARATIONS -# ------------------------------ -# We delimit libtool config variables with single quotes, so when -# we write them to config.status, we have to be sure to quote all -# embedded single quotes properly. In configure, this macro expands -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: -# -# ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAGS -# ---------------- -# Output comment and list of tags supported by the script -m4_defun([_LT_LIBTOOL_TAGS], -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl -available_tags="_LT_TAGS"dnl -]) - - -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) -# ----------------------------------- -# Extract the dictionary values for VARNAME (optionally with TAG) and -# expand to a commented shell variable setting: -# -# # Some comment about what VAR is for. -# visible_name=$lt_internal_name -m4_define([_LT_LIBTOOL_DECLARE], -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], - [description])))[]dnl -m4_pushdef([_libtool_name], - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), - [0], [_libtool_name=[$]$1], - [1], [_libtool_name=$lt_[]$1], - [2], [_libtool_name=$lt_[]$1], - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl -]) - - -# _LT_LIBTOOL_CONFIG_VARS -# ----------------------- -# Produce commented declarations of non-tagged libtool config variables -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG -# section) are produced by _LT_LIBTOOL_TAG_VARS. -m4_defun([_LT_LIBTOOL_CONFIG_VARS], -[m4_foreach([_lt_var], - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) - - -# _LT_LIBTOOL_TAG_VARS(TAG) -# ------------------------- -m4_define([_LT_LIBTOOL_TAG_VARS], -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) - - -# _LT_TAGVAR(VARNAME, [TAGNAME]) -# ------------------------------ -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) - - -# _LT_CONFIG_COMMANDS -# ------------------- -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of -# variables for single and double quote escaping we saved from calls -# to _LT_DECL, we can put quote escaped variables declarations -# into `config.status', and then the shell code to quote escape them in -# for loops in `config.status'. Finally, any additional code accumulated -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. -m4_defun([_LT_CONFIG_COMMANDS], -[AC_PROVIDE_IFELSE([LT_OUTPUT], - dnl If the libtool generation code has been placed in $CONFIG_LT, - dnl instead of duplicating it all over again into config.status, - dnl then we will have config.status run $CONFIG_LT later, so it - dnl needs to know what name is stored there: - [AC_CONFIG_COMMANDS([libtool], - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], - dnl If the libtool generation code is destined for config.status, - dnl expand the accumulated commands and init code now: - [AC_CONFIG_COMMANDS([libtool], - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) -])#_LT_CONFIG_COMMANDS - - -# Initialize. -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], -[ - -# The HP-UX ksh and POSIX shell print the target directory to stdout -# if CDPATH is set. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -sed_quote_subst='$sed_quote_subst' -double_quote_subst='$double_quote_subst' -delay_variable_subst='$delay_variable_subst' -_LT_CONFIG_STATUS_DECLARATIONS -LTCC='$LTCC' -LTCFLAGS='$LTCFLAGS' -compiler='$compiler_DEFAULT' - -# A function that is used when there is no print builtin or printf. -func_fallback_echo () -{ - eval 'cat <<_LTECHO_EOF -\$[]1 -_LTECHO_EOF' -} - -# Quote evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_quote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -# Double-quote double-evaled strings. -for var in lt_decl_all_varnames([[ \ -]], lt_decl_dquote_varnames); do - case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in - *[[\\\\\\\`\\"\\\$]]*) - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" - ;; - *) - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" - ;; - esac -done - -_LT_OUTPUT_LIBTOOL_INIT -]) - -# _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) -# ------------------------------------ -# Generate a child script FILE with all initialization necessary to -# reuse the environment learned by the parent script, and make the -# file executable. If COMMENT is supplied, it is inserted after the -# `#!' sequence but before initialization text begins. After this -# macro, additional text can be appended to FILE to form the body of -# the child script. The macro ends with non-zero status if the -# file could not be fully written (such as if the disk is full). -m4_ifdef([AS_INIT_GENERATED], -[m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], -[m4_defun([_LT_GENERATED_FILE_INIT], -[m4_require([AS_PREPARE])]dnl -[m4_pushdef([AS_MESSAGE_LOG_FD])]dnl -[lt_write_fail=0 -cat >$1 <<_ASEOF || lt_write_fail=1 -#! $SHELL -# Generated by $as_me. -$2 -SHELL=\${CONFIG_SHELL-$SHELL} -export SHELL -_ASEOF -cat >>$1 <<\_ASEOF || lt_write_fail=1 -AS_SHELL_SANITIZE -_AS_PREPARE -exec AS_MESSAGE_FD>&1 -_ASEOF -test $lt_write_fail = 0 && chmod +x $1[]dnl -m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT - -# LT_OUTPUT -# --------- -# This macro allows early generation of the libtool script (before -# AC_OUTPUT is called), incase it is used in configure for compilation -# tests. -AC_DEFUN([LT_OUTPUT], -[: ${CONFIG_LT=./config.lt} -AC_MSG_NOTICE([creating $CONFIG_LT]) -_LT_GENERATED_FILE_INIT(["$CONFIG_LT"], -[# Run this file to recreate a libtool stub with the current configuration.]) - -cat >>"$CONFIG_LT" <<\_LTEOF -lt_cl_silent=false -exec AS_MESSAGE_LOG_FD>>config.log -{ - echo - AS_BOX([Running $as_me.]) -} >&AS_MESSAGE_LOG_FD - -lt_cl_help="\ -\`$as_me' creates a local libtool stub from the current configuration, -for use in further configure time tests before the real libtool is -generated. - -Usage: $[0] [[OPTIONS]] - - -h, --help print this help, then exit - -V, --version print version number, then exit - -q, --quiet do not print progress messages - -d, --debug don't remove temporary files - -Report bugs to ." - -lt_cl_version="\ -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) -configured by $[0], generated by m4_PACKAGE_STRING. - -Copyright (C) 2011 Free Software Foundation, Inc. -This config.lt script is free software; the Free Software Foundation -gives unlimited permision to copy, distribute and modify it." - -while test $[#] != 0 -do - case $[1] in - --version | --v* | -V ) - echo "$lt_cl_version"; exit 0 ;; - --help | --h* | -h ) - echo "$lt_cl_help"; exit 0 ;; - --debug | --d* | -d ) - debug=: ;; - --quiet | --q* | --silent | --s* | -q ) - lt_cl_silent=: ;; - - -*) AC_MSG_ERROR([unrecognized option: $[1] -Try \`$[0] --help' for more information.]) ;; - - *) AC_MSG_ERROR([unrecognized argument: $[1] -Try \`$[0] --help' for more information.]) ;; - esac - shift -done - -if $lt_cl_silent; then - exec AS_MESSAGE_FD>/dev/null -fi -_LTEOF - -cat >>"$CONFIG_LT" <<_LTEOF -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT -_LTEOF - -cat >>"$CONFIG_LT" <<\_LTEOF -AC_MSG_NOTICE([creating $ofile]) -_LT_OUTPUT_LIBTOOL_COMMANDS -AS_EXIT(0) -_LTEOF -chmod +x "$CONFIG_LT" - -# configure is writing to config.log, but config.lt does its own redirection, -# appending to config.log, which fails on DOS, as config.log is still kept -# open by configure. Here we exec the FD to /dev/null, effectively closing -# config.log, so it can be properly (re)opened and appended to by config.lt. -lt_cl_success=: -test "$silent" = yes && - lt_config_lt_args="$lt_config_lt_args --quiet" -exec AS_MESSAGE_LOG_FD>/dev/null -$SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false -exec AS_MESSAGE_LOG_FD>>config.log -$lt_cl_success || AS_EXIT(1) -])# LT_OUTPUT - - -# _LT_CONFIG(TAG) -# --------------- -# If TAG is the built-in tag, create an initial libtool script with a -# default configuration from the untagged config vars. Otherwise add code -# to config.status for appending the configuration named by TAG from the -# matching tagged config vars. -m4_defun([_LT_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_CONFIG_SAVE_COMMANDS([ - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl - m4_if(_LT_TAG, [C], [ - # See if we are running on zsh, and set the options which allow our - # commands through without removal of \ escapes. - if test -n "${ZSH_VERSION+set}" ; then - setopt NO_GLOB_SUBST - fi - - cfgfile="${ofile}T" - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 - $RM "$cfgfile" - - cat <<_LT_EOF >> "$cfgfile" -#! $SHELL - -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: -# NOTE: Changes made to this file will be lost: look at ltmain.sh. -# -_LT_COPYING -_LT_LIBTOOL_TAGS - -# ### BEGIN LIBTOOL CONFIG -_LT_LIBTOOL_CONFIG_VARS -_LT_LIBTOOL_TAG_VARS -# ### END LIBTOOL CONFIG - -_LT_EOF - - case $host_os in - aix3*) - cat <<\_LT_EOF >> "$cfgfile" -# AIX sometimes has problems with the GCC collect2 program. For some -# reason, if we set the COLLECT_NAMES environment variable, the problems -# vanish in a puff of smoke. -if test "X${COLLECT_NAMES+set}" != Xset; then - COLLECT_NAMES= - export COLLECT_NAMES -fi -_LT_EOF - ;; - esac - - _LT_PROG_LTMAIN - - # We use sed instead of cat because bash on DJGPP gets confused if - # if finds mixed CR/LF and LF-only lines. Since sed operates in - # text mode, it properly converts lines to CR/LF. This bash problem - # is reportedly fixed, but why not run on old versions too? - sed '$q' "$ltmain" >> "$cfgfile" \ - || (rm -f "$cfgfile"; exit 1) - - _LT_PROG_REPLACE_SHELLFNS - - mv -f "$cfgfile" "$ofile" || - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") - chmod +x "$ofile" -], -[cat <<_LT_EOF >> "$ofile" - -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded -dnl in a comment (ie after a #). -# ### BEGIN LIBTOOL TAG CONFIG: $1 -_LT_LIBTOOL_TAG_VARS(_LT_TAG) -# ### END LIBTOOL TAG CONFIG: $1 -_LT_EOF -])dnl /m4_if -], -[m4_if([$1], [], [ - PACKAGE='$PACKAGE' - VERSION='$VERSION' - TIMESTAMP='$TIMESTAMP' - RM='$RM' - ofile='$ofile'], []) -])dnl /_LT_CONFIG_SAVE_COMMANDS -])# _LT_CONFIG - - -# LT_SUPPORTED_TAG(TAG) -# --------------------- -# Trace this macro to discover what tags are supported by the libtool -# --tag option, using: -# autoconf --trace 'LT_SUPPORTED_TAG:$1' -AC_DEFUN([LT_SUPPORTED_TAG], []) - - -# C support is built-in for now -m4_define([_LT_LANG_C_enabled], []) -m4_define([_LT_TAGS], []) - - -# LT_LANG(LANG) -# ------------- -# Enable libtool support for the given language if not already enabled. -AC_DEFUN([LT_LANG], -[AC_BEFORE([$0], [LT_OUTPUT])dnl -m4_case([$1], - [C], [_LT_LANG(C)], - [C++], [_LT_LANG(CXX)], - [Go], [_LT_LANG(GO)], - [Java], [_LT_LANG(GCJ)], - [Fortran 77], [_LT_LANG(F77)], - [Fortran], [_LT_LANG(FC)], - [Windows Resource], [_LT_LANG(RC)], - [m4_ifdef([_LT_LANG_]$1[_CONFIG], - [_LT_LANG($1)], - [m4_fatal([$0: unsupported language: "$1"])])])dnl -])# LT_LANG - - -# _LT_LANG(LANGNAME) -# ------------------ -m4_defun([_LT_LANG], -[m4_ifdef([_LT_LANG_]$1[_enabled], [], - [LT_SUPPORTED_TAG([$1])dnl - m4_append([_LT_TAGS], [$1 ])dnl - m4_define([_LT_LANG_]$1[_enabled], [])dnl - _LT_LANG_$1_CONFIG($1)])dnl -])# _LT_LANG - - -m4_ifndef([AC_PROG_GO], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_GO. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ -m4_defun([AC_PROG_GO], -[AC_LANG_PUSH(Go)dnl -AC_ARG_VAR([GOC], [Go compiler command])dnl -AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl -_AC_ARG_VAR_LDFLAGS()dnl -AC_CHECK_TOOL(GOC, gccgo) -if test -z "$GOC"; then - if test -n "$ac_tool_prefix"; then - AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) - fi -fi -if test -z "$GOC"; then - AC_CHECK_PROG(GOC, gccgo, gccgo, false) -fi -])#m4_defun -])#m4_ifndef - - -# _LT_LANG_DEFAULT_CONFIG -# ----------------------- -m4_defun([_LT_LANG_DEFAULT_CONFIG], -[AC_PROVIDE_IFELSE([AC_PROG_CXX], - [LT_LANG(CXX)], - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) - -AC_PROVIDE_IFELSE([AC_PROG_F77], - [LT_LANG(F77)], - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) - -AC_PROVIDE_IFELSE([AC_PROG_FC], - [LT_LANG(FC)], - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) - -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal -dnl pulling things in needlessly. -AC_PROVIDE_IFELSE([AC_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], - [LT_LANG(GCJ)], - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], - [LT_LANG(GCJ)], - [m4_ifdef([AC_PROG_GCJ], - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([A][M_PROG_GCJ], - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) - m4_ifdef([LT_PROG_GCJ], - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) - -AC_PROVIDE_IFELSE([AC_PROG_GO], - [LT_LANG(GO)], - [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) - -AC_PROVIDE_IFELSE([LT_PROG_RC], - [LT_LANG(RC)], - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) -])# _LT_LANG_DEFAULT_CONFIG - -# Obsolete macros: -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) -AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) -dnl AC_DEFUN([AC_LIBTOOL_F77], []) -dnl AC_DEFUN([AC_LIBTOOL_FC], []) -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) -dnl AC_DEFUN([AC_LIBTOOL_RC], []) - - -# _LT_TAG_COMPILER -# ---------------- -m4_defun([_LT_TAG_COMPILER], -[AC_REQUIRE([AC_PROG_CC])dnl - -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl - -# If no C compiler was specified, use CC. -LTCC=${LTCC-"$CC"} - -# If no C compiler flags were specified, use CFLAGS. -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} - -# Allow CC to be a program name with arguments. -compiler=$CC -])# _LT_TAG_COMPILER - - -# _LT_COMPILER_BOILERPLATE -# ------------------------ -# Check for compiler boilerplate output or warnings with -# the simple compiler test code. -m4_defun([_LT_COMPILER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_compiler_boilerplate=`cat conftest.err` -$RM conftest* -])# _LT_COMPILER_BOILERPLATE - - -# _LT_LINKER_BOILERPLATE -# ---------------------- -# Check for linker boilerplate output or warnings with -# the simple link test code. -m4_defun([_LT_LINKER_BOILERPLATE], -[m4_require([_LT_DECL_SED])dnl -ac_outfile=conftest.$ac_objext -echo "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err -_lt_linker_boilerplate=`cat conftest.err` -$RM -r conftest* -])# _LT_LINKER_BOILERPLATE - -# _LT_REQUIRED_DARWIN_CHECKS -# ------------------------- -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ - case $host_os in - rhapsody* | darwin*) - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) - AC_CHECK_TOOL([LIPO], [lipo], [:]) - AC_CHECK_TOOL([OTOOL], [otool], [:]) - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) - _LT_DECL([], [DSYMUTIL], [1], - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) - _LT_DECL([], [NMEDIT], [1], - [Tool to change global to local symbols on Mac OS X]) - _LT_DECL([], [LIPO], [1], - [Tool to manipulate fat objects and archives on Mac OS X]) - _LT_DECL([], [OTOOL], [1], - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) - _LT_DECL([], [OTOOL64], [1], - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) - - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], - [lt_cv_apple_cc_single_mod=no - if test -z "${LT_MULTI_MODULE}"; then - # By default we will add the -single_module flag. You can override - # by either setting the environment variable LT_MULTI_MODULE - # non-empty at configure time, or by adding -multi_module to the - # link flags. - rm -rf libconftest.dylib* - echo "int foo(void){return 1;}" > conftest.c - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err - _lt_result=$? - # If there is a non-empty error log, and "single_module" - # appears in it, assume the flag caused a linker warning - if test -s conftest.err && $GREP single_module conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - # Otherwise, if the output was created with a 0 exit code from - # the compiler, it worked. - elif test -f libconftest.dylib && test $_lt_result -eq 0; then - lt_cv_apple_cc_single_mod=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -rf libconftest.dylib* - rm -f conftest.* - fi]) - - AC_CACHE_CHECK([for -exported_symbols_list linker flag], - [lt_cv_ld_exported_symbols_list], - [lt_cv_ld_exported_symbols_list=no - save_LDFLAGS=$LDFLAGS - echo "_main" > conftest.sym - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [lt_cv_ld_exported_symbols_list=yes], - [lt_cv_ld_exported_symbols_list=no]) - LDFLAGS="$save_LDFLAGS" - ]) - - AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], - [lt_cv_ld_force_load=no - cat > conftest.c << _LT_EOF -int forced_loaded() { return 2;} -_LT_EOF - echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD - echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD - $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD - echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD - $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD - cat > conftest.c << _LT_EOF -int main() { return 0;} -_LT_EOF - echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD - $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err - _lt_result=$? - if test -s conftest.err && $GREP force_load conftest.err; then - cat conftest.err >&AS_MESSAGE_LOG_FD - elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then - lt_cv_ld_force_load=yes - else - cat conftest.err >&AS_MESSAGE_LOG_FD - fi - rm -f conftest.err libconftest.a conftest conftest.c - rm -rf conftest.dSYM - ]) - case $host_os in - rhapsody* | darwin1.[[012]]) - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; - darwin1.*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - darwin*) # darwin 5.x on - # if running on 10.5 or later, the deployment target defaults - # to the OS version, if on x86, and 10.4, the deployment - # target defaults to 10.4. Don't you love it? - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - 10.[[012]]*) - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; - 10.*) - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; - esac - ;; - esac - if test "$lt_cv_apple_cc_single_mod" = "yes"; then - _lt_dar_single_mod='$single_module' - fi - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' - else - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then - _lt_dsymutil='~$DSYMUTIL $lib || :' - else - _lt_dsymutil= - fi - ;; - esac -]) - - -# _LT_DARWIN_LINKER_FEATURES([TAG]) -# --------------------------------- -# Checks for linker and compiler features on darwin -m4_defun([_LT_DARWIN_LINKER_FEATURES], -[ - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_automatic, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - if test "$lt_cv_ld_force_load" = "yes"; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' - m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], - [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='' - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" - case $cc_basename in - ifort*) _lt_dar_can_shared=yes ;; - *) _lt_dar_can_shared=$GCC ;; - esac - if test "$_lt_dar_can_shared" = "yes"; then - output_verbose_link_cmd=func_echo_all - _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" - _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" - m4_if([$1], [CXX], -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then - _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" - _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" - fi -],[]) - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi -]) - -# _LT_SYS_MODULE_PATH_AIX([TAGNAME]) -# ---------------------------------- -# Links a minimal program and checks the executable -# for the system default hardcoded library path. In most cases, -# this is /usr/lib:/lib, but when the MPI compilers are used -# the location of the communication and MPI libs are included too. -# If we don't find anything, use the default library path according -# to the aix ld manual. -# Store the results from the different compilers for each TAGNAME. -# Allow to override them for all tags through lt_cv_aix_libpath. -m4_defun([_LT_SYS_MODULE_PATH_AIX], -[m4_require([_LT_DECL_SED])dnl -if test "${lt_cv_aix_libpath+set}" = set; then - aix_libpath=$lt_cv_aix_libpath -else - AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], - [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ - lt_aix_libpath_sed='[ - /Import File Strings/,/^$/ { - /^0/ { - s/^0 *\([^ ]*\) *$/\1/ - p - } - }]' - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - # Check for a 64-bit object if we didn't find anything. - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` - fi],[]) - if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then - _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" - fi - ]) - aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) -fi -])# _LT_SYS_MODULE_PATH_AIX - - -# _LT_SHELL_INIT(ARG) -# ------------------- -m4_define([_LT_SHELL_INIT], -[m4_divert_text([M4SH-INIT], [$1 -])])# _LT_SHELL_INIT - - - -# _LT_PROG_ECHO_BACKSLASH -# ----------------------- -# Find how we can fake an echo command that does not interpret backslash. -# In particular, with Autoconf 2.60 or later we add some code to the start -# of the generated configure script which will find a shell with a builtin -# printf (which we can use as an echo command). -m4_defun([_LT_PROG_ECHO_BACKSLASH], -[ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO -ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - -AC_MSG_CHECKING([how to print strings]) -# Test print first, because it will be a builtin if present. -if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ - test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='print -r --' -elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then - ECHO='printf %s\n' -else - # Use this function as a fallback that always works. - func_fallback_echo () - { - eval 'cat <<_LTECHO_EOF -$[]1 -_LTECHO_EOF' - } - ECHO='func_fallback_echo' -fi - -# func_echo_all arg... -# Invoke $ECHO with all args, space-separated. -func_echo_all () -{ - $ECHO "$*" -} - -case "$ECHO" in - printf*) AC_MSG_RESULT([printf]) ;; - print*) AC_MSG_RESULT([print -r]) ;; - *) AC_MSG_RESULT([cat]) ;; -esac - -m4_ifdef([_AS_DETECT_SUGGESTED], -[_AS_DETECT_SUGGESTED([ - test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( - ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO - ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO - PATH=/empty FPATH=/empty; export PATH FPATH - test "X`printf %s $ECHO`" = "X$ECHO" \ - || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) - -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) -_LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) -])# _LT_PROG_ECHO_BACKSLASH - - -# _LT_WITH_SYSROOT -# ---------------- -AC_DEFUN([_LT_WITH_SYSROOT], -[AC_MSG_CHECKING([for sysroot]) -AC_ARG_WITH([sysroot], -[ --with-sysroot[=DIR] Search for dependent libraries within DIR - (or the compiler's sysroot if not specified).], -[], [with_sysroot=no]) - -dnl lt_sysroot will always be passed unquoted. We quote it here -dnl in case the user passed a directory name. -lt_sysroot= -case ${with_sysroot} in #( - yes) - if test "$GCC" = yes; then - lt_sysroot=`$CC --print-sysroot 2>/dev/null` - fi - ;; #( - /*) - lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` - ;; #( - no|'') - ;; #( - *) - AC_MSG_RESULT([${with_sysroot}]) - AC_MSG_ERROR([The sysroot must be an absolute path.]) - ;; -esac - - AC_MSG_RESULT([${lt_sysroot:-no}]) -_LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl -[dependent libraries, and in which our libraries should be installed.])]) - -# _LT_ENABLE_LOCK -# --------------- -m4_defun([_LT_ENABLE_LOCK], -[AC_ARG_ENABLE([libtool-lock], - [AS_HELP_STRING([--disable-libtool-lock], - [avoid locking (might break parallel builds)])]) -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes - -# Some flags need to be propagated to the compiler or linker for good -# libtool support. -case $host in -ia64-*-hpux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.$ac_objext` in - *ELF-32*) - HPUX_IA64_MODE="32" - ;; - *ELF-64*) - HPUX_IA64_MODE="64" - ;; - esac - fi - rm -rf conftest* - ;; -*-*-irix6*) - # Find out which ABI we are using. - echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - if test "$lt_cv_prog_gnu_ld" = yes; then - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -melf32bsmip" - ;; - *N32*) - LD="${LD-ld} -melf32bmipn32" - ;; - *64-bit*) - LD="${LD-ld} -melf64bmip" - ;; - esac - else - case `/usr/bin/file conftest.$ac_objext` in - *32-bit*) - LD="${LD-ld} -32" - ;; - *N32*) - LD="${LD-ld} -n32" - ;; - *64-bit*) - LD="${LD-ld} -64" - ;; - esac - fi - fi - rm -rf conftest* - ;; - -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *32-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_i386_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_i386" - ;; - ppc64-*linux*|powerpc64-*linux*) - LD="${LD-ld} -m elf32ppclinux" - ;; - s390x-*linux*) - LD="${LD-ld} -m elf_s390" - ;; - sparc64-*linux*) - LD="${LD-ld} -m elf32_sparc" - ;; - esac - ;; - *64-bit*) - case $host in - x86_64-*kfreebsd*-gnu) - LD="${LD-ld} -m elf_x86_64_fbsd" - ;; - x86_64-*linux*) - LD="${LD-ld} -m elf_x86_64" - ;; - ppc*-*linux*|powerpc*-*linux*) - LD="${LD-ld} -m elf64ppc" - ;; - s390*-*linux*|s390*-*tpf*) - LD="${LD-ld} -m elf64_s390" - ;; - sparc*-*linux*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; - -*-*-sco3.2v5*) - # On SCO OpenServer 5, we need -belf to get full-featured binaries. - SAVE_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -belf" - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, - [AC_LANG_PUSH(C) - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) - AC_LANG_POP]) - if test x"$lt_cv_cc_needs_belf" != x"yes"; then - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf - CFLAGS="$SAVE_CFLAGS" - fi - ;; -*-*solaris*) - # Find out which ABI we are using. - echo 'int i;' > conftest.$ac_ext - if AC_TRY_EVAL(ac_compile); then - case `/usr/bin/file conftest.o` in - *64-bit*) - case $lt_cv_prog_gnu_ld in - yes*) - case $host in - i?86-*-solaris*) - LD="${LD-ld} -m elf_x86_64" - ;; - sparc*-*-solaris*) - LD="${LD-ld} -m elf64_sparc" - ;; - esac - # GNU ld 2.21 introduced _sol2 emulations. Use them if available. - if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then - LD="${LD-ld}_sol2" - fi - ;; - *) - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then - LD="${LD-ld} -64" - fi - ;; - esac - ;; - esac - fi - rm -rf conftest* - ;; -esac - -need_locks="$enable_libtool_lock" -])# _LT_ENABLE_LOCK - - -# _LT_PROG_AR -# ----------- -m4_defun([_LT_PROG_AR], -[AC_CHECK_TOOLS(AR, [ar], false) -: ${AR=ar} -: ${AR_FLAGS=cru} -_LT_DECL([], [AR], [1], [The archiver]) -_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) - -AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], - [lt_cv_ar_at_file=no - AC_COMPILE_IFELSE([AC_LANG_PROGRAM], - [echo conftest.$ac_objext > conftest.lst - lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -eq 0; then - # Ensure the archiver fails upon bogus file names. - rm -f conftest.$ac_objext libconftest.a - AC_TRY_EVAL([lt_ar_try]) - if test "$ac_status" -ne 0; then - lt_cv_ar_at_file=@ - fi - fi - rm -f conftest.* libconftest.a - ]) - ]) - -if test "x$lt_cv_ar_at_file" = xno; then - archiver_list_spec= -else - archiver_list_spec=$lt_cv_ar_at_file -fi -_LT_DECL([], [archiver_list_spec], [1], - [How to feed a file listing to the archiver]) -])# _LT_PROG_AR - - -# _LT_CMD_OLD_ARCHIVE -# ------------------- -m4_defun([_LT_CMD_OLD_ARCHIVE], -[_LT_PROG_AR - -AC_CHECK_TOOL(STRIP, strip, :) -test -z "$STRIP" && STRIP=: -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) - -AC_CHECK_TOOL(RANLIB, ranlib, :) -test -z "$RANLIB" && RANLIB=: -_LT_DECL([], [RANLIB], [1], - [Commands used to install an old-style archive]) - -# Determine commands to create old-style static archives. -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' -old_postinstall_cmds='chmod 644 $oldlib' -old_postuninstall_cmds= - -if test -n "$RANLIB"; then - case $host_os in - openbsd*) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" - ;; - *) - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" - ;; - esac - old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" -fi - -case $host_os in - darwin*) - lock_old_archive_extraction=yes ;; - *) - lock_old_archive_extraction=no ;; -esac -_LT_DECL([], [old_postinstall_cmds], [2]) -_LT_DECL([], [old_postuninstall_cmds], [2]) -_LT_TAGDECL([], [old_archive_cmds], [2], - [Commands used to build an old-style archive]) -_LT_DECL([], [lock_old_archive_extraction], [0], - [Whether to use a lock for old archive extraction]) -])# _LT_CMD_OLD_ARCHIVE - - -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------------------- -# Check whether the given compiler option works -AC_DEFUN([_LT_COMPILER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - lt_compiler_flag="$3" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - # The option is referenced via a variable to avoid confusing sed. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>conftest.err) - ac_status=$? - cat conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s "$ac_outfile"; then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings other than the usual output. - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - fi - $RM conftest* -]) - -if test x"[$]$2" = xyes; then - m4_if([$5], , :, [$5]) -else - m4_if([$6], , :, [$6]) -fi -])# _LT_COMPILER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) - - -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, -# [ACTION-SUCCESS], [ACTION-FAILURE]) -# ---------------------------------------------------- -# Check whether the given linker option works -AC_DEFUN([_LT_LINKER_OPTION], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_SED])dnl -AC_CACHE_CHECK([$1], [$2], - [$2=no - save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS $3" - echo "$lt_simple_link_test_code" > conftest.$ac_ext - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then - # The linker can only warn and ignore the option if not recognized - # So say no if there are warnings - if test -s conftest.err; then - # Append any errors to the config.log. - cat conftest.err 1>&AS_MESSAGE_LOG_FD - $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 - if diff conftest.exp conftest.er2 >/dev/null; then - $2=yes - fi - else - $2=yes - fi - fi - $RM -r conftest* - LDFLAGS="$save_LDFLAGS" -]) - -if test x"[$]$2" = xyes; then - m4_if([$4], , :, [$4]) -else - m4_if([$5], , :, [$5]) -fi -])# _LT_LINKER_OPTION - -# Old name: -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) - - -# LT_CMD_MAX_LEN -#--------------- -AC_DEFUN([LT_CMD_MAX_LEN], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -# find the maximum length of command line arguments -AC_MSG_CHECKING([the maximum length of command line arguments]) -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl - i=0 - teststring="ABCD" - - case $build_os in - msdosdjgpp*) - # On DJGPP, this test can blow up pretty badly due to problems in libc - # (any single argument exceeding 2000 bytes causes a buffer overrun - # during glob expansion). Even if it were fixed, the result of this - # check would be larger than it should be. - lt_cv_sys_max_cmd_len=12288; # 12K is about right - ;; - - gnu*) - # Under GNU Hurd, this test is not required because there is - # no limit to the length of command line arguments. - # Libtool will interpret -1 as no limit whatsoever - lt_cv_sys_max_cmd_len=-1; - ;; - - cygwin* | mingw* | cegcc*) - # On Win9x/ME, this test blows up -- it succeeds, but takes - # about 5 minutes as the teststring grows exponentially. - # Worse, since 9x/ME are not pre-emptively multitasking, - # you end up with a "frozen" computer, even though with patience - # the test eventually succeeds (with a max line length of 256k). - # Instead, let's just punt: use the minimum linelength reported by - # all of the supported platforms: 8192 (on NT/2K/XP). - lt_cv_sys_max_cmd_len=8192; - ;; - - mint*) - # On MiNT this can take a long time and run out of memory. - lt_cv_sys_max_cmd_len=8192; - ;; - - amigaos*) - # On AmigaOS with pdksh, this test takes hours, literally. - # So we just punt and use a minimum line length of 8192. - lt_cv_sys_max_cmd_len=8192; - ;; - - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) - # This has been around since 386BSD, at least. Likely further. - if test -x /sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` - elif test -x /usr/sbin/sysctl; then - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` - else - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs - fi - # And add a safety zone - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - ;; - - interix*) - # We know the value 262144 and hardcode it with a safety zone (like BSD) - lt_cv_sys_max_cmd_len=196608 - ;; - - os2*) - # The test takes a long time on OS/2. - lt_cv_sys_max_cmd_len=8192 - ;; - - osf*) - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not - # nice to cause kernel panics so lets avoid the loop below. - # First set a reasonable default. - lt_cv_sys_max_cmd_len=16384 - # - if test -x /sbin/sysconfig; then - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in - *1*) lt_cv_sys_max_cmd_len=-1 ;; - esac - fi - ;; - sco3.2v5*) - lt_cv_sys_max_cmd_len=102400 - ;; - sysv5* | sco5v6* | sysv4.2uw2*) - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` - if test -n "$kargmax"; then - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` - else - lt_cv_sys_max_cmd_len=32768 - fi - ;; - *) - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` - if test -n "$lt_cv_sys_max_cmd_len"; then - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` - else - # Make teststring a little bigger before we do anything with it. - # a 1K string should be a reasonable start. - for i in 1 2 3 4 5 6 7 8 ; do - teststring=$teststring$teststring - done - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} - # If test is not a shell built-in, we'll probably end up computing a - # maximum length that is only half of the actual maximum length, but - # we can't tell. - while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ - = "X$teststring$teststring"; } >/dev/null 2>&1 && - test $i != 17 # 1/2 MB should be enough - do - i=`expr $i + 1` - teststring=$teststring$teststring - done - # Only check the string length outside the loop. - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` - teststring= - # Add a significant safety factor because C++ compilers can tack on - # massive amounts of additional arguments before passing them to the - # linker. It appears as though 1/2 is a usable value. - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` - fi - ;; - esac -]) -if test -n $lt_cv_sys_max_cmd_len ; then - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) -else - AC_MSG_RESULT(none) -fi -max_cmd_len=$lt_cv_sys_max_cmd_len -_LT_DECL([], [max_cmd_len], [0], - [What is the maximum length of a command?]) -])# LT_CMD_MAX_LEN - -# Old name: -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) - - -# _LT_HEADER_DLFCN -# ---------------- -m4_defun([_LT_HEADER_DLFCN], -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl -])# _LT_HEADER_DLFCN - - -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ---------------------------------------------------------------- -m4_defun([_LT_TRY_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "$cross_compiling" = yes; then : - [$4] -else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF -[#line $LINENO "configure" -#include "confdefs.h" - -#if HAVE_DLFCN_H -#include -#endif - -#include - -#ifdef RTLD_GLOBAL -# define LT_DLGLOBAL RTLD_GLOBAL -#else -# ifdef DL_GLOBAL -# define LT_DLGLOBAL DL_GLOBAL -# else -# define LT_DLGLOBAL 0 -# endif -#endif - -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we - find out it does not work in some platform. */ -#ifndef LT_DLLAZY_OR_NOW -# ifdef RTLD_LAZY -# define LT_DLLAZY_OR_NOW RTLD_LAZY -# else -# ifdef DL_LAZY -# define LT_DLLAZY_OR_NOW DL_LAZY -# else -# ifdef RTLD_NOW -# define LT_DLLAZY_OR_NOW RTLD_NOW -# else -# ifdef DL_NOW -# define LT_DLLAZY_OR_NOW DL_NOW -# else -# define LT_DLLAZY_OR_NOW 0 -# endif -# endif -# endif -# endif -#endif - -/* When -fvisbility=hidden is used, assume the code has been annotated - correspondingly for the symbols needed. */ -#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) -int fnord () __attribute__((visibility("default"))); -#endif - -int fnord () { return 42; } -int main () -{ - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); - int status = $lt_dlunknown; - - if (self) - { - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; - else - { - if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; - else puts (dlerror ()); - } - /* dlclose (self); */ - } - else - puts (dlerror ()); - - return status; -}] -_LT_EOF - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null - lt_status=$? - case x$lt_status in - x$lt_dlno_uscore) $1 ;; - x$lt_dlneed_uscore) $2 ;; - x$lt_dlunknown|x*) $3 ;; - esac - else : - # compilation failed - $3 - fi -fi -rm -fr conftest* -])# _LT_TRY_DLOPEN_SELF - - -# LT_SYS_DLOPEN_SELF -# ------------------ -AC_DEFUN([LT_SYS_DLOPEN_SELF], -[m4_require([_LT_HEADER_DLFCN])dnl -if test "x$enable_dlopen" != xyes; then - enable_dlopen=unknown - enable_dlopen_self=unknown - enable_dlopen_self_static=unknown -else - lt_cv_dlopen=no - lt_cv_dlopen_libs= - - case $host_os in - beos*) - lt_cv_dlopen="load_add_on" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ;; - - mingw* | pw32* | cegcc*) - lt_cv_dlopen="LoadLibrary" - lt_cv_dlopen_libs= - ;; - - cygwin*) - lt_cv_dlopen="dlopen" - lt_cv_dlopen_libs= - ;; - - darwin*) - # if libdl is installed we need to link against it - AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ - lt_cv_dlopen="dyld" - lt_cv_dlopen_libs= - lt_cv_dlopen_self=yes - ]) - ;; - - *) - AC_CHECK_FUNC([shl_load], - [lt_cv_dlopen="shl_load"], - [AC_CHECK_LIB([dld], [shl_load], - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], - [AC_CHECK_FUNC([dlopen], - [lt_cv_dlopen="dlopen"], - [AC_CHECK_LIB([dl], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], - [AC_CHECK_LIB([svld], [dlopen], - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], - [AC_CHECK_LIB([dld], [dld_link], - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) - ]) - ]) - ]) - ]) - ]) - ;; - esac - - if test "x$lt_cv_dlopen" != xno; then - enable_dlopen=yes - else - enable_dlopen=no - fi - - case $lt_cv_dlopen in - dlopen) - save_CPPFLAGS="$CPPFLAGS" - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" - - save_LDFLAGS="$LDFLAGS" - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" - - save_LIBS="$LIBS" - LIBS="$lt_cv_dlopen_libs $LIBS" - - AC_CACHE_CHECK([whether a program can dlopen itself], - lt_cv_dlopen_self, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) - ]) - - if test "x$lt_cv_dlopen_self" = xyes; then - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], - lt_cv_dlopen_self_static, [dnl - _LT_TRY_DLOPEN_SELF( - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) - ]) - fi - - CPPFLAGS="$save_CPPFLAGS" - LDFLAGS="$save_LDFLAGS" - LIBS="$save_LIBS" - ;; - esac - - case $lt_cv_dlopen_self in - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; - *) enable_dlopen_self=unknown ;; - esac - - case $lt_cv_dlopen_self_static in - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; - *) enable_dlopen_self_static=unknown ;; - esac -fi -_LT_DECL([dlopen_support], [enable_dlopen], [0], - [Whether dlopen is supported]) -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], - [Whether dlopen of programs is supported]) -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], - [Whether dlopen of statically linked programs is supported]) -])# LT_SYS_DLOPEN_SELF - -# Old name: -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) - - -# _LT_COMPILER_C_O([TAGNAME]) -# --------------------------- -# Check to see if options -c and -o are simultaneously supported by compiler. -# This macro does not hard code the compiler like AC_PROG_CC_C_O. -m4_defun([_LT_COMPILER_C_O], -[m4_require([_LT_DECL_SED])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no - $RM -r conftest 2>/dev/null - mkdir conftest - cd conftest - mkdir out - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - lt_compiler_flag="-o out/conftest2.$ac_objext" - # Insert the option either (1) after the last *FLAGS variable, or - # (2) before a word containing "conftest.", or (3) at the end. - # Note that $ac_compile itself does not contain backslashes and begins - # with a dollar sign (not a hyphen), so the echo should work correctly. - lt_compile=`echo "$ac_compile" | $SED \ - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ - -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$lt_compile" 2>out/conftest.err) - ac_status=$? - cat out/conftest.err >&AS_MESSAGE_LOG_FD - echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD - if (exit $ac_status) && test -s out/conftest2.$ac_objext - then - # The compiler can only warn and ignore the option if not recognized - # So say no if there are warnings - $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - fi - fi - chmod u+w . 2>&AS_MESSAGE_LOG_FD - $RM conftest* - # SGI C++ compiler will create directory out/ii_files/ for - # template instantiation - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files - $RM out/* && rmdir out - cd .. - $RM -r conftest - $RM conftest* -]) -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], - [Does compiler simultaneously support -c and -o options?]) -])# _LT_COMPILER_C_O - - -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) -# ---------------------------------- -# Check to see if we can do hard links to lock some files if needed -m4_defun([_LT_COMPILER_FILE_LOCKS], -[m4_require([_LT_ENABLE_LOCK])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -_LT_COMPILER_C_O([$1]) - -hard_links="nottested" -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then - # do not overwrite the value of need_locks provided by the user - AC_MSG_CHECKING([if we can lock with hard links]) - hard_links=yes - $RM conftest* - ln conftest.a conftest.b 2>/dev/null && hard_links=no - touch conftest.a - ln conftest.a conftest.b 2>&5 || hard_links=no - ln conftest.a conftest.b 2>/dev/null && hard_links=no - AC_MSG_RESULT([$hard_links]) - if test "$hard_links" = no; then - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) - need_locks=warn - fi -else - need_locks=no -fi -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) -])# _LT_COMPILER_FILE_LOCKS - - -# _LT_CHECK_OBJDIR -# ---------------- -m4_defun([_LT_CHECK_OBJDIR], -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], -[rm -f .libs 2>/dev/null -mkdir .libs 2>/dev/null -if test -d .libs; then - lt_cv_objdir=.libs -else - # MS-DOS does not allow filenames that begin with a dot. - lt_cv_objdir=_libs -fi -rmdir .libs 2>/dev/null]) -objdir=$lt_cv_objdir -_LT_DECL([], [objdir], [0], - [The name of the directory that contains temporary libtool files])dnl -m4_pattern_allow([LT_OBJDIR])dnl -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", - [Define to the sub-directory in which libtool stores uninstalled libraries.]) -])# _LT_CHECK_OBJDIR - - -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) -# -------------------------------------- -# Check hardcoding attributes. -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], -[AC_MSG_CHECKING([how to hardcode library paths into programs]) -_LT_TAGVAR(hardcode_action, $1)= -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || - test -n "$_LT_TAGVAR(runpath_var, $1)" || - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then - - # We can hardcode non-existent directories. - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && - # If the only mechanism to avoid hardcoding is shlibpath_var, we - # have to relink, otherwise we might link with an installed library - # when we should be linking with a yet-to-be-installed one - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then - # Linking always hardcodes the temporary library directory. - _LT_TAGVAR(hardcode_action, $1)=relink - else - # We can link without hardcoding, and we can hardcode nonexisting dirs. - _LT_TAGVAR(hardcode_action, $1)=immediate - fi -else - # We cannot hardcode anything, or else we can only hardcode existing - # directories. - _LT_TAGVAR(hardcode_action, $1)=unsupported -fi -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) - -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then - # Fast installation is not supported - enable_fast_install=no -elif test "$shlibpath_overrides_runpath" = yes || - test "$enable_shared" = no; then - # Fast installation is not necessary - enable_fast_install=needless -fi -_LT_TAGDECL([], [hardcode_action], [0], - [How to hardcode a shared library path into an executable]) -])# _LT_LINKER_HARDCODE_LIBPATH - - -# _LT_CMD_STRIPLIB -# ---------------- -m4_defun([_LT_CMD_STRIPLIB], -[m4_require([_LT_DECL_EGREP]) -striplib= -old_striplib= -AC_MSG_CHECKING([whether stripping libraries is possible]) -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" - test -z "$striplib" && striplib="$STRIP --strip-unneeded" - AC_MSG_RESULT([yes]) -else -# FIXME - insert some real tests, host_os isn't really good enough - case $host_os in - darwin*) - if test -n "$STRIP" ; then - striplib="$STRIP -x" - old_striplib="$STRIP -S" - AC_MSG_RESULT([yes]) - else - AC_MSG_RESULT([no]) - fi - ;; - *) - AC_MSG_RESULT([no]) - ;; - esac -fi -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) -_LT_DECL([], [striplib], [1]) -])# _LT_CMD_STRIPLIB - - -# _LT_SYS_DYNAMIC_LINKER([TAG]) -# ----------------------------- -# PORTME Fill in your ld.so characteristics -m4_defun([_LT_SYS_DYNAMIC_LINKER], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_OBJDUMP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CHECK_SHELL_FEATURES])dnl -AC_MSG_CHECKING([dynamic linker characteristics]) -m4_if([$1], - [], [ -if test "$GCC" = yes; then - case $host_os in - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; - *) lt_awk_arg="/^libraries:/" ;; - esac - case $host_os in - mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; - *) lt_sed_strip_eq="s,=/,/,g" ;; - esac - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` - case $lt_search_path_spec in - *\;*) - # if the path contains ";" then we assume it to be the separator - # otherwise default to the standard path separator (i.e. ":") - it is - # assumed that no part of a normal pathname contains ";" but that should - # okay in the real world where ";" in dirpaths is itself problematic. - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` - ;; - *) - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` - ;; - esac - # Ok, now we have the path, separated by spaces, we can step through it - # and add multilib dir if necessary. - lt_tmp_lt_search_path_spec= - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` - for lt_sys_path in $lt_search_path_spec; do - if test -d "$lt_sys_path/$lt_multi_os_dir"; then - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" - else - test -d "$lt_sys_path" && \ - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" - fi - done - lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' -BEGIN {RS=" "; FS="/|\n";} { - lt_foo=""; - lt_count=0; - for (lt_i = NF; lt_i > 0; lt_i--) { - if ($lt_i != "" && $lt_i != ".") { - if ($lt_i == "..") { - lt_count++; - } else { - if (lt_count == 0) { - lt_foo="/" $lt_i lt_foo; - } else { - lt_count--; - } - } - } - } - if (lt_foo != "") { lt_freq[[lt_foo]]++; } - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } -}'` - # AWK program above erroneously prepends '/' to C:/dos/paths - # for these hosts. - case $host_os in - mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ - $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; - esac - sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` -else - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" -fi]) -library_names_spec= -libname_spec='lib$name' -soname_spec= -shrext_cmds=".so" -postinstall_cmds= -postuninstall_cmds= -finish_cmds= -finish_eval= -shlibpath_var= -shlibpath_overrides_runpath=unknown -version_type=none -dynamic_linker="$host_os ld.so" -sys_lib_dlsearch_path_spec="/lib /usr/lib" -need_lib_prefix=unknown -hardcode_into_libs=no - -# when you set need_version to no, make sure it does not cause -set_version -# flags to be left without arguments -need_version=unknown - -case $host_os in -aix3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' - shlibpath_var=LIBPATH - - # AIX 3 has no versioning support, so we append a major version to the name. - soname_spec='${libname}${release}${shared_ext}$major' - ;; - -aix[[4-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - hardcode_into_libs=yes - if test "$host_cpu" = ia64; then - # AIX 5 supports IA64 - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - else - # With GCC up to 2.95.x, collect2 would create an import file - # for dependence libraries. The import file would start with - # the line `#! .'. This would cause the generated library to - # depend on `.', always an invalid library. This was fixed in - # development snapshots of GCC prior to 3.0. - case $host_os in - aix4 | aix4.[[01]] | aix4.[[01]].*) - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' - echo ' yes ' - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then - : - else - can_build_shared=no - fi - ;; - esac - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct - # soname into executable. Probably we can add versioning support to - # collect2, so additional links can be useful in future. - if test "$aix_use_runtimelinking" = yes; then - # If using run time linking (on AIX 4.2 or later) use lib.so - # instead of lib.a to let people know that these are not - # typical AIX shared libraries. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - else - # We preserve .a as extension for shared libraries through AIX4.2 - # and later when we are not doing run time linking. - library_names_spec='${libname}${release}.a $libname.a' - soname_spec='${libname}${release}${shared_ext}$major' - fi - shlibpath_var=LIBPATH - fi - ;; - -amigaos*) - case $host_cpu in - powerpc) - # Since July 2007 AmigaOS4 officially supports .so libraries. - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - ;; - m68k) - library_names_spec='$libname.ixlibrary $libname.a' - # Create ${libname}_ixlibrary.a entries in /sys/libs. - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' - ;; - esac - ;; - -beos*) - library_names_spec='${libname}${shared_ext}' - dynamic_linker="$host_os ld.so" - shlibpath_var=LIBRARY_PATH - ;; - -bsdi[[45]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" - # the default ld.so.conf also contains /usr/contrib/lib and - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow - # libtool to hard-code these into programs - ;; - -cygwin* | mingw* | pw32* | cegcc*) - version_type=windows - shrext_cmds=".dll" - need_version=no - need_lib_prefix=no - - case $GCC,$cc_basename in - yes,*) - # gcc - library_names_spec='$libname.dll.a' - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname~ - chmod a+x \$dldir/$dlname~ - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; - fi' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - - case $host_os in - cygwin*) - # Cygwin DLLs use 'cyg' prefix rather than 'lib' - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) - ;; - mingw* | cegcc*) - # MinGW DLLs use traditional 'lib' prefix - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - pw32*) - # pw32 DLLs use 'pw' prefix rather than 'lib' - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - ;; - esac - dynamic_linker='Win32 ld.exe' - ;; - - *,cl*) - # Native MSVC - libname_spec='$name' - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' - library_names_spec='${libname}.dll.lib' - - case $build_os in - mingw*) - sys_lib_search_path_spec= - lt_save_ifs=$IFS - IFS=';' - for lt_path in $LIB - do - IFS=$lt_save_ifs - # Let DOS variable expansion print the short 8.3 style file name. - lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` - sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" - done - IFS=$lt_save_ifs - # Convert to MSYS style. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` - ;; - cygwin*) - # Convert to unix form, then to dos form, then back to unix form - # but this time dos style (no spaces!) so that the unix form looks - # like /cygdrive/c/PROGRA~1:/cygdr... - sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` - sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` - sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - ;; - *) - sys_lib_search_path_spec="$LIB" - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then - # It is most probably a Windows format PATH. - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` - else - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` - fi - # FIXME: find the short name or the path components, as spaces are - # common. (e.g. "Program Files" -> "PROGRA~1") - ;; - esac - - # DLL is installed to $(libdir)/../bin by postinstall_cmds - postinstall_cmds='base_file=`basename \${file}`~ - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ - dldir=$destdir/`dirname \$dlpath`~ - test -d \$dldir || mkdir -p \$dldir~ - $install_prog $dir/$dlname \$dldir/$dlname' - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ - dlpath=$dir/\$dldll~ - $RM \$dlpath' - shlibpath_overrides_runpath=yes - dynamic_linker='Win32 link.exe' - ;; - - *) - # Assume MSVC wrapper - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' - dynamic_linker='Win32 ld.exe' - ;; - esac - # FIXME: first we should search . and the directory the executable is in - shlibpath_var=PATH - ;; - -darwin* | rhapsody*) - dynamic_linker="$host_os dyld" - version_type=darwin - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' - soname_spec='${libname}${release}${major}$shared_ext' - shlibpath_overrides_runpath=yes - shlibpath_var=DYLD_LIBRARY_PATH - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' -m4_if([$1], [],[ - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' - ;; - -dgux*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -freebsd* | dragonfly*) - # DragonFly does not have aout. When/if they implement a new - # versioning mechanism, adjust this. - if test -x /usr/bin/objformat; then - objformat=`/usr/bin/objformat` - else - case $host_os in - freebsd[[23]].*) objformat=aout ;; - *) objformat=elf ;; - esac - fi - version_type=freebsd-$objformat - case $version_type in - freebsd-elf*) - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - need_version=no - need_lib_prefix=no - ;; - freebsd-*) - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' - need_version=yes - ;; - esac - shlibpath_var=LD_LIBRARY_PATH - case $host_os in - freebsd2.*) - shlibpath_overrides_runpath=yes - ;; - freebsd3.[[01]]* | freebsdelf3.[[01]]*) - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - *) # from 4.6 on, and DragonFly - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - esac - ;; - -gnu*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -haiku*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - dynamic_linker="$host_os runtime_loader" - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LIBRARY_PATH - shlibpath_overrides_runpath=yes - sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' - hardcode_into_libs=yes - ;; - -hpux9* | hpux10* | hpux11*) - # Give a soname corresponding to the major version so that dld.sl refuses to - # link against other versions. - version_type=sunos - need_lib_prefix=no - need_version=no - case $host_cpu in - ia64*) - shrext_cmds='.so' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.so" - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - if test "X$HPUX_IA64_MODE" = X32; then - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" - else - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" - fi - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - hppa*64*) - shrext_cmds='.sl' - hardcode_into_libs=yes - dynamic_linker="$host_os dld.sl" - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec - ;; - *) - shrext_cmds='.sl' - dynamic_linker="$host_os dld.sl" - shlibpath_var=SHLIB_PATH - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - ;; - esac - # HP-UX runs *really* slowly unless shared libraries are mode 555, ... - postinstall_cmds='chmod 555 $lib' - # or fails outright, so override atomically: - install_override_mode=555 - ;; - -interix[[3-9]]*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -irix5* | irix6* | nonstopux*) - case $host_os in - nonstopux*) version_type=nonstopux ;; - *) - if test "$lt_cv_prog_gnu_ld" = yes; then - version_type=linux # correct to gnu/linux during the next big refactor - else - version_type=irix - fi ;; - esac - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' - case $host_os in - irix5* | nonstopux*) - libsuff= shlibsuff= - ;; - *) - case $LD in # libtool.m4 will add one of these switches to LD - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") - libsuff= shlibsuff= libmagic=32-bit;; - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") - libsuff=32 shlibsuff=N32 libmagic=N32;; - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") - libsuff=64 shlibsuff=64 libmagic=64-bit;; - *) libsuff= shlibsuff= libmagic=never-match;; - esac - ;; - esac - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH - shlibpath_overrides_runpath=no - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" - hardcode_into_libs=yes - ;; - -# No shared lib support for Linux oldld, aout, or coff. -linux*oldld* | linux*aout* | linux*coff*) - dynamic_linker=no - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - - # Some binutils ld are patched to set DT_RUNPATH - AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], - [lt_cv_shlibpath_overrides_runpath=no - save_LDFLAGS=$LDFLAGS - save_libdir=$libdir - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], - [lt_cv_shlibpath_overrides_runpath=yes])]) - LDFLAGS=$save_LDFLAGS - libdir=$save_libdir - ]) - shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath - - # This implies no fast_install, which is unacceptable. - # Some rework will be needed to allow for fast_install - # before this can be enabled. - hardcode_into_libs=yes - - # Append ld.so.conf contents to the search path - if test -f /etc/ld.so.conf; then - lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" - fi - - # We used to test for /lib/ld.so.1 and disable shared libraries on - # powerpc, because MkLinux only supported shared libraries with the - # GNU dynamic linker. Since this was broken with cross compilers, - # most powerpc-linux boxes support dynamic linking these days and - # people can always --disable-shared, the test was removed, and we - # assume the GNU/Linux dynamic linker is in use. - dynamic_linker='GNU/Linux ld.so' - ;; - -netbsd*) - version_type=sunos - need_lib_prefix=no - need_version=no - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - dynamic_linker='NetBSD (a.out) ld.so' - else - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - dynamic_linker='NetBSD ld.elf_so' - fi - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - ;; - -newsos6) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - ;; - -*nto* | *qnx*) - version_type=qnx - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - dynamic_linker='ldqnx.so' - ;; - -openbsd*) - version_type=sunos - sys_lib_dlsearch_path_spec="/usr/lib" - need_lib_prefix=no - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. - case $host_os in - openbsd3.3 | openbsd3.3.*) need_version=yes ;; - *) need_version=no ;; - esac - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' - shlibpath_var=LD_LIBRARY_PATH - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - case $host_os in - openbsd2.[[89]] | openbsd2.[[89]].*) - shlibpath_overrides_runpath=no - ;; - *) - shlibpath_overrides_runpath=yes - ;; - esac - else - shlibpath_overrides_runpath=yes - fi - ;; - -os2*) - libname_spec='$name' - shrext_cmds=".dll" - need_lib_prefix=no - library_names_spec='$libname${shared_ext} $libname.a' - dynamic_linker='OS/2 ld.exe' - shlibpath_var=LIBPATH - ;; - -osf3* | osf4* | osf5*) - version_type=osf - need_lib_prefix=no - need_version=no - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" - ;; - -rdos*) - dynamic_linker=no - ;; - -solaris*) - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - # ldd complains unless libraries are executable - postinstall_cmds='chmod +x $lib' - ;; - -sunos4*) - version_type=sunos - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - if test "$with_gnu_ld" = yes; then - need_lib_prefix=no - fi - need_version=yes - ;; - -sysv4 | sysv4.3*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - case $host_vendor in - sni) - shlibpath_overrides_runpath=no - need_lib_prefix=no - runpath_var=LD_RUN_PATH - ;; - siemens) - need_lib_prefix=no - ;; - motorola) - need_lib_prefix=no - need_version=no - shlibpath_overrides_runpath=no - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' - ;; - esac - ;; - -sysv4*MP*) - if test -d /usr/nec ;then - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' - soname_spec='$libname${shared_ext}.$major' - shlibpath_var=LD_LIBRARY_PATH - fi - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - version_type=freebsd-elf - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=yes - hardcode_into_libs=yes - if test "$with_gnu_ld" = yes; then - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' - else - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' - case $host_os in - sco3.2v5*) - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" - ;; - esac - fi - sys_lib_dlsearch_path_spec='/usr/lib' - ;; - -tpf*) - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. - version_type=linux # correct to gnu/linux during the next big refactor - need_lib_prefix=no - need_version=no - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - shlibpath_overrides_runpath=no - hardcode_into_libs=yes - ;; - -uts4*) - version_type=linux # correct to gnu/linux during the next big refactor - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - soname_spec='${libname}${release}${shared_ext}$major' - shlibpath_var=LD_LIBRARY_PATH - ;; - -*) - dynamic_linker=no - ;; -esac -AC_MSG_RESULT([$dynamic_linker]) -test "$dynamic_linker" = no && can_build_shared=no - -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" -fi -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" -fi - -_LT_DECL([], [variables_saved_for_relink], [1], - [Variables whose values should be saved in libtool wrapper scripts and - restored at link time]) -_LT_DECL([], [need_lib_prefix], [0], - [Do we need the "lib" prefix for modules?]) -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) -_LT_DECL([], [version_type], [0], [Library versioning type]) -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) -_LT_DECL([], [shlibpath_overrides_runpath], [0], - [Is shlibpath searched before the hard-coded library search path?]) -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) -_LT_DECL([], [library_names_spec], [1], - [[List of archive names. First name is the real one, the rest are links. - The last name is the one that the linker finds with -lNAME]]) -_LT_DECL([], [soname_spec], [1], - [[The coded name of the library, if different from the real name]]) -_LT_DECL([], [install_override_mode], [1], - [Permission mode override for installation of shared libraries]) -_LT_DECL([], [postinstall_cmds], [2], - [Command to use after installation of a shared archive]) -_LT_DECL([], [postuninstall_cmds], [2], - [Command to use after uninstallation of a shared archive]) -_LT_DECL([], [finish_cmds], [2], - [Commands used to finish a libtool library installation in a directory]) -_LT_DECL([], [finish_eval], [1], - [[As "finish_cmds", except a single script fragment to be evaled but - not shown]]) -_LT_DECL([], [hardcode_into_libs], [0], - [Whether we should hardcode library paths into libraries]) -_LT_DECL([], [sys_lib_search_path_spec], [2], - [Compile-time system search path for libraries]) -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], - [Run-time system search path for libraries]) -])# _LT_SYS_DYNAMIC_LINKER - - -# _LT_PATH_TOOL_PREFIX(TOOL) -# -------------------------- -# find a file program which can recognize shared library -AC_DEFUN([_LT_PATH_TOOL_PREFIX], -[m4_require([_LT_DECL_EGREP])dnl -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, -[case $MAGIC_CMD in -[[\\/*] | ?:[\\/]*]) - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. - ;; -*) - lt_save_MAGIC_CMD="$MAGIC_CMD" - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR -dnl $ac_dummy forces splitting on constant user-supplied paths. -dnl POSIX.2 word splitting is done only on the output of word expansions, -dnl not every word. This closes a longstanding sh security hole. - ac_dummy="m4_if([$2], , $PATH, [$2])" - for ac_dir in $ac_dummy; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f $ac_dir/$1; then - lt_cv_path_MAGIC_CMD="$ac_dir/$1" - if test -n "$file_magic_test_file"; then - case $deplibs_check_method in - "file_magic "*) - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | - $EGREP "$file_magic_regex" > /dev/null; then - : - else - cat <<_LT_EOF 1>&2 - -*** Warning: the command libtool uses to detect shared libraries, -*** $file_magic_cmd, produces output that libtool cannot recognize. -*** The result is that libtool may fail to recognize shared libraries -*** as such. This will affect the creation of libtool libraries that -*** depend on shared libraries, but programs linked with such libtool -*** libraries will work regardless of this problem. Nevertheless, you -*** may want to report the problem to your system manager and/or to -*** bug-libtool@gnu.org - -_LT_EOF - fi ;; - esac - fi - break - fi - done - IFS="$lt_save_ifs" - MAGIC_CMD="$lt_save_MAGIC_CMD" - ;; -esac]) -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" -if test -n "$MAGIC_CMD"; then - AC_MSG_RESULT($MAGIC_CMD) -else - AC_MSG_RESULT(no) -fi -_LT_DECL([], [MAGIC_CMD], [0], - [Used to examine libraries when file_magic_cmd begins with "file"])dnl -])# _LT_PATH_TOOL_PREFIX - -# Old name: -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) - - -# _LT_PATH_MAGIC -# -------------- -# find a file program which can recognize a shared library -m4_defun([_LT_PATH_MAGIC], -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) -if test -z "$lt_cv_path_MAGIC_CMD"; then - if test -n "$ac_tool_prefix"; then - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) - else - MAGIC_CMD=: - fi -fi -])# _LT_PATH_MAGIC - - -# LT_PATH_LD -# ---------- -# find the pathname to the GNU or non-GNU linker -AC_DEFUN([LT_PATH_LD], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PROG_ECHO_BACKSLASH])dnl - -AC_ARG_WITH([gnu-ld], - [AS_HELP_STRING([--with-gnu-ld], - [assume the C compiler uses GNU ld @<:@default=no@:>@])], - [test "$withval" = no || with_gnu_ld=yes], - [with_gnu_ld=no])dnl - -ac_prog=ld -if test "$GCC" = yes; then - # Check if gcc -print-prog-name=ld gives a path. - AC_MSG_CHECKING([for ld used by $CC]) - case $host in - *-*-mingw*) - # gcc leaves a trailing carriage return which upsets mingw - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; - *) - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; - esac - case $ac_prog in - # Accept absolute paths. - [[\\/]]* | ?:[[\\/]]*) - re_direlt='/[[^/]][[^/]]*/\.\./' - # Canonicalize the pathname of ld - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` - done - test -z "$LD" && LD="$ac_prog" - ;; - "") - # If it fails, then pretend we aren't using GCC. - ac_prog=ld - ;; - *) - # If it is relative, then search for the first ld in PATH. - with_gnu_ld=unknown - ;; - esac -elif test "$with_gnu_ld" = yes; then - AC_MSG_CHECKING([for GNU ld]) -else - AC_MSG_CHECKING([for non-GNU ld]) -fi -AC_CACHE_VAL(lt_cv_path_LD, -[if test -z "$LD"; then - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then - lt_cv_path_LD="$ac_dir/$ac_prog" - # Check to see if the program is GNU ld. I'd rather use --version, - # but apparently some variants of GNU ld only accept -v. - # Break only if it was the GNU/non-GNU ld that we prefer. - case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' - lt_cv_file_magic_cmd='func_win32_libid' - else - # Keep this pattern in sync with the one in func_win32_libid. - lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' - lt_cv_file_magic_cmd='$OBJDUMP -f' - fi - ;; - -cegcc*) - # use the weaker test based on 'objdump'. See mingw*. - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' - lt_cv_file_magic_cmd='$OBJDUMP -f' - ;; - -darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - -freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; - esac - else - lt_cv_deplibs_check_method=pass_all - fi - ;; - -gnu*) - lt_cv_deplibs_check_method=pass_all - ;; - -haiku*) - lt_cv_deplibs_check_method=pass_all - ;; - -hpux10.20* | hpux11*) - lt_cv_file_magic_cmd=/usr/bin/file - case $host_cpu in - ia64*) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so - ;; - hppa*64*) - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl - ;; - *) - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' - lt_cv_file_magic_test_file=/usr/lib/libc.sl - ;; - esac - ;; - -interix[[3-9]]*) - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' - ;; - -irix5* | irix6* | nonstopux*) - case $LD in - *-32|*"-32 ") libmagic=32-bit;; - *-n32|*"-n32 ") libmagic=N32;; - *-64|*"-64 ") libmagic=64-bit;; - *) libmagic=never-match;; - esac - lt_cv_deplibs_check_method=pass_all - ;; - -# This must be glibc/ELF. -linux* | k*bsd*-gnu | kopensolaris*-gnu) - lt_cv_deplibs_check_method=pass_all - ;; - -netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' - fi - ;; - -newos6*) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=/usr/lib/libnls.so - ;; - -*nto* | *qnx*) - lt_cv_deplibs_check_method=pass_all - ;; - -openbsd*) - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' - else - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' - fi - ;; - -osf3* | osf4* | osf5*) - lt_cv_deplibs_check_method=pass_all - ;; - -rdos*) - lt_cv_deplibs_check_method=pass_all - ;; - -solaris*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) - lt_cv_deplibs_check_method=pass_all - ;; - -sysv4 | sysv4.3*) - case $host_vendor in - motorola) - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` - ;; - ncr) - lt_cv_deplibs_check_method=pass_all - ;; - sequent) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' - ;; - sni) - lt_cv_file_magic_cmd='/bin/file' - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" - lt_cv_file_magic_test_file=/lib/libc.so - ;; - siemens) - lt_cv_deplibs_check_method=pass_all - ;; - pc) - lt_cv_deplibs_check_method=pass_all - ;; - esac - ;; - -tpf*) - lt_cv_deplibs_check_method=pass_all - ;; -esac -]) - -file_magic_glob= -want_nocaseglob=no -if test "$build" = "$host"; then - case $host_os in - mingw* | pw32*) - if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then - want_nocaseglob=yes - else - file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` - fi - ;; - esac -fi - -file_magic_cmd=$lt_cv_file_magic_cmd -deplibs_check_method=$lt_cv_deplibs_check_method -test -z "$deplibs_check_method" && deplibs_check_method=unknown - -_LT_DECL([], [deplibs_check_method], [1], - [Method to check whether dependent libraries are shared objects]) -_LT_DECL([], [file_magic_cmd], [1], - [Command to use when deplibs_check_method = "file_magic"]) -_LT_DECL([], [file_magic_glob], [1], - [How to find potential files when deplibs_check_method = "file_magic"]) -_LT_DECL([], [want_nocaseglob], [1], - [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) -])# _LT_CHECK_MAGIC_METHOD - - -# LT_PATH_NM -# ---------- -# find the pathname to a BSD- or MS-compatible name lister -AC_DEFUN([LT_PATH_NM], -[AC_REQUIRE([AC_PROG_CC])dnl -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, -[if test -n "$NM"; then - # Let the user override the test. - lt_cv_path_NM="$NM" -else - lt_nm_to_check="${ac_tool_prefix}nm" - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then - lt_nm_to_check="$lt_nm_to_check nm" - fi - for lt_tmp_nm in $lt_nm_to_check; do - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/$lt_tmp_nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" - break - ;; - *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags - ;; - esac - ;; - esac - fi - done - IFS="$lt_save_ifs" - done - : ${lt_cv_path_NM=no} -fi]) -if test "$lt_cv_path_NM" != "no"; then - NM="$lt_cv_path_NM" -else - # Didn't find any BSD compatible name lister, look for dumpbin. - if test -n "$DUMPBIN"; then : - # Let the user override the test. - else - AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) - case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in - *COFF*) - DUMPBIN="$DUMPBIN -symbols" - ;; - *) - DUMPBIN=: - ;; - esac - fi - AC_SUBST([DUMPBIN]) - if test "$DUMPBIN" != ":"; then - NM="$DUMPBIN" - fi -fi -test -z "$NM" && NM=nm -AC_SUBST([NM]) -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl - -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], - [lt_cv_nm_interface="BSD nm" - echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) - (eval "$ac_compile" 2>conftest.err) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) - cat conftest.err >&AS_MESSAGE_LOG_FD - (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) - cat conftest.out >&AS_MESSAGE_LOG_FD - if $GREP 'External.*some_variable' conftest.out > /dev/null; then - lt_cv_nm_interface="MS dumpbin" - fi - rm -f conftest*]) -])# LT_PATH_NM - -# Old names: -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_PROG_NM], []) -dnl AC_DEFUN([AC_PROG_NM], []) - -# _LT_CHECK_SHAREDLIB_FROM_LINKLIB -# -------------------------------- -# how to determine the name of the shared library -# associated with a specific link library. -# -- PORTME fill in with the dynamic library characteristics -m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], -[m4_require([_LT_DECL_EGREP]) -m4_require([_LT_DECL_OBJDUMP]) -m4_require([_LT_DECL_DLLTOOL]) -AC_CACHE_CHECK([how to associate runtime and link libraries], -lt_cv_sharedlib_from_linklib_cmd, -[lt_cv_sharedlib_from_linklib_cmd='unknown' - -case $host_os in -cygwin* | mingw* | pw32* | cegcc*) - # two different shell functions defined in ltmain.sh - # decide which to use based on capabilities of $DLLTOOL - case `$DLLTOOL --help 2>&1` in - *--identify-strict*) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib - ;; - *) - lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback - ;; - esac - ;; -*) - # fallback: assume linklib IS sharedlib - lt_cv_sharedlib_from_linklib_cmd="$ECHO" - ;; -esac -]) -sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd -test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO - -_LT_DECL([], [sharedlib_from_linklib_cmd], [1], - [Command to associate shared and link libraries]) -])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB - - -# _LT_PATH_MANIFEST_TOOL -# ---------------------- -# locate the manifest tool -m4_defun([_LT_PATH_MANIFEST_TOOL], -[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) -test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt -AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], - [lt_cv_path_mainfest_tool=no - echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD - $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out - cat conftest.err >&AS_MESSAGE_LOG_FD - if $GREP 'Manifest Tool' conftest.out > /dev/null; then - lt_cv_path_mainfest_tool=yes - fi - rm -f conftest*]) -if test "x$lt_cv_path_mainfest_tool" != xyes; then - MANIFEST_TOOL=: -fi -_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl -])# _LT_PATH_MANIFEST_TOOL - - -# LT_LIB_M -# -------- -# check for math library -AC_DEFUN([LT_LIB_M], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -LIBM= -case $host in -*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) - # These system don't have libm, or don't need it - ;; -*-ncr-sysv4.3*) - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") - ;; -*) - AC_CHECK_LIB(m, cos, LIBM="-lm") - ;; -esac -AC_SUBST([LIBM]) -])# LT_LIB_M - -# Old name: -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_CHECK_LIBM], []) - - -# _LT_COMPILER_NO_RTTI([TAGNAME]) -# ------------------------------- -m4_defun([_LT_COMPILER_NO_RTTI], -[m4_require([_LT_TAG_COMPILER])dnl - -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - -if test "$GCC" = yes; then - case $cc_basename in - nvcc*) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; - *) - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; - esac - - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], - lt_cv_prog_compiler_rtti_exceptions, - [-fno-rtti -fno-exceptions], [], - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) -fi -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], - [Compiler flag to turn off builtin functions]) -])# _LT_COMPILER_NO_RTTI - - -# _LT_CMD_GLOBAL_SYMBOLS -# ---------------------- -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_PROG_CC])dnl -AC_REQUIRE([AC_PROG_AWK])dnl -AC_REQUIRE([LT_PATH_NM])dnl -AC_REQUIRE([LT_PATH_LD])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_TAG_COMPILER])dnl - -# Check for command to grab the raw symbol name followed by C symbol from nm. -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], -[ -# These are sane defaults that work on at least a few old systems. -# [They come from Ultrix. What could be older than Ultrix?!! ;)] - -# Character class describing NM global symbol codes. -symcode='[[BCDEGRST]]' - -# Regexp to match symbols that can be accessed directly from C. -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' - -# Define system-specific variables. -case $host_os in -aix*) - symcode='[[BCDT]]' - ;; -cygwin* | mingw* | pw32* | cegcc*) - symcode='[[ABCDGISTW]]' - ;; -hpux*) - if test "$host_cpu" = ia64; then - symcode='[[ABCDEGRST]]' - fi - ;; -irix* | nonstopux*) - symcode='[[BCDEGRST]]' - ;; -osf*) - symcode='[[BCDEGQRST]]' - ;; -solaris*) - symcode='[[BDRT]]' - ;; -sco3.2v5*) - symcode='[[DT]]' - ;; -sysv4.2uw2*) - symcode='[[DT]]' - ;; -sysv5* | sco5v6* | unixware* | OpenUNIX*) - symcode='[[ABDT]]' - ;; -sysv4) - symcode='[[DFNSTU]]' - ;; -esac - -# If we're using GNU nm, then use its standard symbol codes. -case `$NM -V 2>&1` in -*GNU* | *'with BFD'*) - symcode='[[ABCDGIRSTW]]' ;; -esac - -# Transform an extracted symbol line into a proper C declaration. -# Some systems (esp. on ia64) link data and code symbols differently, -# so use this general approach. -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" - -# Transform an extracted symbol line into symbol name and symbol address -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" - -# Handle CRLF in mingw tool chain -opt_cr= -case $build_os in -mingw*) - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp - ;; -esac - -# Try without a prefix underscore, then with it. -for ac_symprfx in "" "_"; do - - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. - symxfrm="\\1 $ac_symprfx\\2 \\2" - - # Write the raw and C identifiers. - if test "$lt_cv_nm_interface" = "MS dumpbin"; then - # Fake it for dumpbin and say T for any non-static function - # and D for any global variable. - # Also find C++ and __fastcall symbols from MSVC++, - # which start with @ or ?. - lt_cv_sys_global_symbol_pipe="$AWK ['"\ -" {last_section=section; section=\$ 3};"\ -" /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ -" \$ 0!~/External *\|/{next};"\ -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ -" {if(hide[section]) next};"\ -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ -" ' prfx=^$ac_symprfx]" - else - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" - fi - lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" - - # Check to see that the pipe works correctly. - pipe_works=no - - rm -f conftest* - cat > conftest.$ac_ext <<_LT_EOF -#ifdef __cplusplus -extern "C" { -#endif -char nm_test_var; -void nm_test_func(void); -void nm_test_func(void){} -#ifdef __cplusplus -} -#endif -int main(){nm_test_var='a';nm_test_func();return(0);} -_LT_EOF - - if AC_TRY_EVAL(ac_compile); then - # Now try to grab the symbols. - nlist=conftest.nm - if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then - # Try sorting and uniquifying the output. - if sort "$nlist" | uniq > "$nlist"T; then - mv -f "$nlist"T "$nlist" - else - rm -f "$nlist"T - fi - - # Make sure that we snagged all the symbols we need. - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then - cat <<_LT_EOF > conftest.$ac_ext -/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) -/* DATA imports from DLLs on WIN32 con't be const, because runtime - relocations are performed -- see ld's documentation on pseudo-relocs. */ -# define LT@&t@_DLSYM_CONST -#elif defined(__osf__) -/* This system does not cope well with relocations in const data. */ -# define LT@&t@_DLSYM_CONST -#else -# define LT@&t@_DLSYM_CONST const -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -_LT_EOF - # Now generate the symbol file. - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' - - cat <<_LT_EOF >> conftest.$ac_ext - -/* The mapping between symbol names and symbols. */ -LT@&t@_DLSYM_CONST struct { - const char *name; - void *address; -} -lt__PROGRAM__LTX_preloaded_symbols[[]] = -{ - { "@PROGRAM@", (void *) 0 }, -_LT_EOF - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext - cat <<\_LT_EOF >> conftest.$ac_ext - {0, (void *) 0} -}; - -/* This works around a problem in FreeBSD linker */ -#ifdef FREEBSD_WORKAROUND -static const void *lt_preloaded_setup() { - return lt__PROGRAM__LTX_preloaded_symbols; -} -#endif - -#ifdef __cplusplus -} -#endif -_LT_EOF - # Now try linking the two files. - mv conftest.$ac_objext conftstm.$ac_objext - lt_globsym_save_LIBS=$LIBS - lt_globsym_save_CFLAGS=$CFLAGS - LIBS="conftstm.$ac_objext" - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then - pipe_works=yes - fi - LIBS=$lt_globsym_save_LIBS - CFLAGS=$lt_globsym_save_CFLAGS - else - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD - fi - else - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD - fi - else - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD - cat conftest.$ac_ext >&5 - fi - rm -rf conftest* conftst* - - # Do not use the global_symbol_pipe unless it works. - if test "$pipe_works" = yes; then - break - else - lt_cv_sys_global_symbol_pipe= - fi -done -]) -if test -z "$lt_cv_sys_global_symbol_pipe"; then - lt_cv_sys_global_symbol_to_cdecl= -fi -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then - AC_MSG_RESULT(failed) -else - AC_MSG_RESULT(ok) -fi - -# Response file support. -if test "$lt_cv_nm_interface" = "MS dumpbin"; then - nm_file_list_spec='@' -elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then - nm_file_list_spec='@' -fi - -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], - [Take the output of nm and produce a listing of raw symbols and C names]) -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], - [Transform the output of nm in a proper C declaration]) -_LT_DECL([global_symbol_to_c_name_address], - [lt_cv_sys_global_symbol_to_c_name_address], [1], - [Transform the output of nm in a C name address pair]) -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], - [Transform the output of nm in a C name address pair when lib prefix is needed]) -_LT_DECL([], [nm_file_list_spec], [1], - [Specify filename containing input files for $NM]) -]) # _LT_CMD_GLOBAL_SYMBOLS - - -# _LT_COMPILER_PIC([TAGNAME]) -# --------------------------- -m4_defun([_LT_COMPILER_PIC], -[m4_require([_LT_TAG_COMPILER])dnl -_LT_TAGVAR(lt_prog_compiler_wl, $1)= -_LT_TAGVAR(lt_prog_compiler_pic, $1)= -_LT_TAGVAR(lt_prog_compiler_static, $1)= - -m4_if([$1], [CXX], [ - # C++ specific cases for pic, static, wl, etc. - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - *djgpp*) - # DJGPP does not support shared libraries at all - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - else - case $host_os in - aix[[4-9]]*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - chorus*) - case $cc_basename in - cxch68*) - # Green Hills C++ Compiler - # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" - ;; - esac - ;; - mingw* | cygwin* | os2* | pw32* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - dgux*) - case $cc_basename in - ec++*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - ghcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - if test "$host_cpu" != ia64; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - fi - ;; - aCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - ;; - *) - ;; - esac - ;; - interix*) - # This is c89, which is MS Visual C++ (no shared libs) - # Anyone wants to do a port? - ;; - irix5* | irix6* | nonstopux*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - # CC pic flag -KPIC is the default. - ;; - *) - ;; - esac - ;; - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # KAI C++ Compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - ecpc* ) - # old Intel C++ for x86_64 which still supported -KPIC. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - icpc* ) - # Intel C++, used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - cxx*) - # Compaq C++ - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) - # IBM XL 8.0, 9.0 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - esac - ;; - esac - ;; - lynxos*) - ;; - m88k*) - ;; - mvs*) - case $cc_basename in - cxx*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' - ;; - *) - ;; - esac - ;; - netbsd*) - ;; - *qnx* | *nto*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' - ;; - RCC*) - # Rational C++ 2.4.1 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - cxx*) - # Digital/Compaq C++ - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # Make sure the PIC flag is empty. It appears that all Alpha - # Linux and Compaq Tru64 Unix objects are PIC. - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - *) - ;; - esac - ;; - psos*) - ;; - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - ;; - *) - ;; - esac - ;; - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - lcc*) - # Lucid - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - ;; - *) - ;; - esac - ;; - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - case $cc_basename in - CC*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - ;; - *) - ;; - esac - ;; - vxworks*) - ;; - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -], -[ - if test "$GCC" = yes; then - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - - case $host_os in - aix*) - # All AIX code is PIC. - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - m68k) - # FIXME: we need at least 68020 code to build shared libraries, but - # adding the `-m68020' flag to GCC prevents building anything better, - # like `-m68040'. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' - ;; - esac - ;; - - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) - # PIC is the default for these OSes. - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - # Although the cygwin gcc ignores -fPIC, still need this for old-style - # (--disable-auto-import) libraries - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - darwin* | rhapsody*) - # PIC is the default on this platform - # Common symbols not allowed in MH_DYLIB files - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' - ;; - - haiku*) - # PIC is the default for Haiku. - # The "-static" flag exists, but is broken. - _LT_TAGVAR(lt_prog_compiler_static, $1)= - ;; - - hpux*) - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag - # sets the default TLS model and affects inlining. - case $host_cpu in - hppa*64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - ;; - - interix[[3-9]]*) - # Interix 3.x gcc -fpic/-fPIC options generate broken code. - # Instead, we relocate shared libraries at runtime. - ;; - - msdosdjgpp*) - # Just because we use GCC doesn't mean we suddenly get shared libraries - # on systems that don't support them. - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - enable_shared=no - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic - fi - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - esac - - case $cc_basename in - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' - if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" - fi - ;; - esac - else - # PORTME Check for flag to pass linker flags through the system compiler. - case $host_os in - aix*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - if test "$host_cpu" = ia64; then - # AIX 5 now supports IA64 processor - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - else - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' - fi - ;; - - mingw* | cygwin* | pw32* | os2* | cegcc*) - # This hack is so that the source file can tell whether it is being - # built for inclusion in a dll (and should export symbols for example). - m4_if([$1], [GCJ], [], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) - ;; - - hpux9* | hpux10* | hpux11*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but - # not for PA HP-UX. - case $host_cpu in - hppa*64*|ia64*) - # +Z the default - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' - ;; - esac - # Is there a better lt_prog_compiler_static that works with the bundled CC? - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' - ;; - - irix5* | irix6* | nonstopux*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # PIC (with -KPIC) is the default. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - # old Intel for x86_64 which still supported -KPIC. - ecc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # icc used to be incompatible with GCC. - # ICC 10 doesn't accept -KPIC any more. - icc* | ifort*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - # Lahey Fortran 8.1. - lf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' - ;; - nagfor*) - # NAG Fortran compiler - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group compilers (*not* the Pentium gcc compiler, - # which looks to be a dead project) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - ccc*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All Alpha code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - xl* | bgxl* | bgf* | mpixl*) - # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) - # Sun Fortran 8.3 passes all unrecognized flags to the linker - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' - ;; - *Sun\ F* | *Sun*Fortran*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - ;; - *Sun\ C*) - # Sun C 5.9 - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - ;; - *Intel*\ [[CF]]*Compiler*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' - ;; - *Portland\ Group*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - esac - ;; - esac - ;; - - newsos6) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *nto* | *qnx*) - # QNX uses GNU C++, but need to define -shared option too, otherwise - # it will coredump. - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' - ;; - - osf3* | osf4* | osf5*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - # All OSF/1 code is PIC. - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - rdos*) - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' - ;; - - solaris*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - case $cc_basename in - f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; - *) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; - esac - ;; - - sunos4*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4 | sysv4.2uw2* | sysv4.3*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - sysv4*MP*) - if test -d /usr/nec ;then - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - fi - ;; - - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - unicos*) - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - - uts4*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' - ;; - - *) - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no - ;; - esac - fi -]) -case $host_os in - # For platforms which do not support PIC, -DPIC is meaningless: - *djgpp*) - _LT_TAGVAR(lt_prog_compiler_pic, $1)= - ;; - *) - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" - ;; -esac - -AC_CACHE_CHECK([for $compiler option to produce PIC], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], - [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) -_LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) - -# -# Check to make sure the PIC flag actually works. -# -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in - "" | " "*) ;; - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; - esac], - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) -fi -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], - [Additional compiler flags for building library objects]) - -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], - [How to pass a linker flag through the compiler]) -# -# Check to make sure the static flag actually works. -# -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), - $lt_tmp_static_flag, - [], - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], - [Compiler flag to prevent dynamic linking]) -])# _LT_COMPILER_PIC - - -# _LT_LINKER_SHLIBS([TAGNAME]) -# ---------------------------- -# See if the linker supports building shared libraries. -m4_defun([_LT_LINKER_SHLIBS], -[AC_REQUIRE([LT_PATH_LD])dnl -AC_REQUIRE([LT_PATH_NM])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_DECL_SED])dnl -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl -m4_require([_LT_TAG_COMPILER])dnl -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) -m4_if([$1], [CXX], [ - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - case $host_os in - aix[[4-9]]*) - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global defined - # symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - ;; - pw32*) - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" - ;; - cygwin* | mingw* | cegcc*) - case $cc_basename in - cl*) - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - ;; - esac - ;; - *) - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - ;; - esac -], [ - runpath_var= - _LT_TAGVAR(allow_undefined_flag, $1)= - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(archive_cmds, $1)= - _LT_TAGVAR(archive_expsym_cmds, $1)= - _LT_TAGVAR(compiler_needs_object, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(hardcode_automatic, $1)=no - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(hardcode_libdir_separator, $1)= - _LT_TAGVAR(hardcode_minus_L, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_TAGVAR(inherit_rpath, $1)=no - _LT_TAGVAR(link_all_deplibs, $1)=unknown - _LT_TAGVAR(module_cmds, $1)= - _LT_TAGVAR(module_expsym_cmds, $1)= - _LT_TAGVAR(old_archive_from_new_cmds, $1)= - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= - _LT_TAGVAR(thread_safe_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - # include_expsyms should be a list of space-separated symbols to be *always* - # included in the symbol list - _LT_TAGVAR(include_expsyms, $1)= - # exclude_expsyms can be an extended regexp of symbols to exclude - # it will be wrapped by ` (' and `)$', so one must not match beginning or - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', - # as well as any symbol that contains `d'. - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out - # platforms (ab)use it in PIC code, but their linkers get confused if - # the symbol is explicitly referenced. Since portable code cannot - # rely on this symbol name, it's probably fine to never include it in - # preloaded symbol tables. - # Exclude shared library initialization/finalization symbols. -dnl Note also adjust exclude_expsyms for C++ above. - extract_expsyms_cmds= - - case $host_os in - cygwin* | mingw* | pw32* | cegcc*) - # FIXME: the MSVC++ port hasn't been tested in a loooong time - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - if test "$GCC" != yes; then - with_gnu_ld=no - fi - ;; - interix*) - # we just hope/assume this is gcc and not c89 (= MSVC++) - with_gnu_ld=yes - ;; - openbsd*) - with_gnu_ld=no - ;; - esac - - _LT_TAGVAR(ld_shlibs, $1)=yes - - # On some targets, GNU ld is compatible enough with the native linker - # that we're better off using the native interface for both. - lt_use_gnu_ld_interface=no - if test "$with_gnu_ld" = yes; then - case $host_os in - aix*) - # The AIX port of GNU ld has always aspired to compatibility - # with the native linker. However, as the warning in the GNU ld - # block says, versions before 2.19.5* couldn't really create working - # shared libraries, regardless of the interface used. - case `$LD -v 2>&1` in - *\ \(GNU\ Binutils\)\ 2.19.5*) ;; - *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; - *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - ;; - *) - lt_use_gnu_ld_interface=yes - ;; - esac - fi - - if test "$lt_use_gnu_ld_interface" = yes; then - # If archive_cmds runs LD, not CC, wlarc should be empty - wlarc='${wl}' - - # Set some defaults for GNU ld with shared library support. These - # are reset later if shared libraries are not supported. Putting them - # here allows them to be overridden if necessary. - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - # ancient GNU ld didn't support --whole-archive et. al. - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - supports_anon_versioning=no - case `$LD -v 2>&1` in - *GNU\ gold*) supports_anon_versioning=yes ;; - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... - *\ 2.11.*) ;; # other 2.11 versions - *) supports_anon_versioning=yes ;; - esac - - # See if GNU ld supports shared libraries. - case $host_os in - aix[[3-9]]*) - # On AIX/PPC, the GNU linker is very broken - if test "$host_cpu" != ia64; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: the GNU linker, at least up to release 2.19, is reported -*** to be unable to reliably create shared libraries on AIX. -*** Therefore, libtool is disabling shared libraries support. If you -*** really care for shared libraries, you may want to install binutils -*** 2.20 or above, or modify your PATH so that a non-GNU linker is found. -*** You will then need to restart the configuration process. - -_LT_EOF - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' - _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - - gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) - tmp_diet=no - if test "$host_os" = linux-dietlibc; then - case $cc_basename in - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) - esac - fi - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ - && test "$tmp_diet" = no - then - tmp_addflag=' $pic_flag' - tmp_sharedflag='-shared' - case $cc_basename,$host_cpu in - pgcc*) # Portland Group C compiler - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag' - ;; - pgf77* | pgf90* | pgf95* | pgfortran*) - # Portland Group f77 and f90 compilers - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - tmp_addflag=' $pic_flag -Mnomain' ;; - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 - tmp_addflag=' -i_dynamic' ;; - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 - tmp_addflag=' -i_dynamic -nofor_main' ;; - ifc* | ifort*) # Intel Fortran compiler - tmp_addflag=' -nofor_main' ;; - lf95*) # Lahey Fortran 8.1 - _LT_TAGVAR(whole_archive_flag_spec, $1)= - tmp_sharedflag='--shared' ;; - xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) - tmp_sharedflag='-qmkshrobj' - tmp_addflag= ;; - nvcc*) # Cuda Compiler Driver 2.2 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - ;; - esac - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) # Sun C 5.9 - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - tmp_sharedflag='-G' ;; - *Sun\ F*) # Sun Fortran 8.3 - tmp_sharedflag='-G' ;; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - - case $cc_basename in - xlf* | bgf* | bgxlf* | mpixlf*) - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' - fi - ;; - esac - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' - wlarc= - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - fi - ;; - - solaris*) - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: The releases 2.8.* of the GNU linker cannot reliably -*** create shared libraries on Solaris systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.9.1 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) - case `$LD -v 2>&1` in - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) - _LT_TAGVAR(ld_shlibs, $1)=no - cat <<_LT_EOF 1>&2 - -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not -*** reliably create shared libraries on SCO systems. Therefore, libtool -*** is disabling shared libraries support. We urge you to upgrade GNU -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify -*** your PATH or compiler configuration so that the native linker is -*** used, and then restart. - -_LT_EOF - ;; - *) - # For security reasons, it is highly recommended that you always - # use absolute paths for naming shared libraries, and exclude the - # DT_RUNPATH tag from executables and libraries. But doing so - # requires that you compile everything twice, which is a pain. - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - sunos4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then - runpath_var= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= - _LT_TAGVAR(export_dynamic_flag_spec, $1)= - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - # PORTME fill in a description of your system's linker (not GNU ld) - case $host_os in - aix3*) - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' - # Note: this linker hardcodes the directories in LIBPATH if there - # are no directories specified by -L. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then - # Neither direct hardcoding nor static linking is supported with a - # broken collect2. - _LT_TAGVAR(hardcode_direct, $1)=unsupported - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - # If we're using GNU nm, then we don't want the "-C" option. - # -C means demangle to AIX nm, but means don't demangle with GNU nm - # Also, AIX nm treats weak defined symbols like other global - # defined symbols, whereas GNU nm marks them as "W". - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - else - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' - fi - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then - aix_use_runtimelinking=yes - break - fi - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GCC" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - ;; - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - amigaos*) - case $host_cpu in - powerpc) - # see comment about AmigaOS4 .so support - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='' - ;; - m68k) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - ;; - - bsdi[[45]]*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic - ;; - - cygwin* | mingw* | pw32* | cegcc*) - # When not using gcc, we currently assume that we are using - # Microsoft Visual C++. - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - case $cc_basename in - cl*) - # Native MSVC - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # Assume MSVC wrapper - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' - # The linker will automatically build a .lib file if we build a DLL. - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - # FIXME: Should let the user specify the lib program. - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - ;; - esac - ;; - - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor - # support. Future versions do this automatically, but an explicit c++rt0.o - # does not break anything, and helps significantly (at the cost of a little - # extra space). - freebsd2.2*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # Unfortunately, older versions of FreeBSD 2 do not have this feature. - freebsd2.*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. - freebsd* | dragonfly*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - hpux9*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - - hpux10*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - fi - ;; - - hpux11*) - if test "$GCC" = yes && test "$with_gnu_ld" = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - else - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - m4_if($1, [], [ - # Older versions of the 11.00 compiler do not understand -b yet - # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) - _LT_LINKER_OPTION([if $CC understands -b], - _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], - [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], - [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) - ;; - esac - fi - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_TAGVAR(hardcode_minus_L, $1)=yes - ;; - esac - fi - ;; - - irix5* | irix6* | nonstopux*) - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - # Try to use the -exported_symbol ld option, if it does not - # work, assume that -exports_file does not work either and - # implicitly export all symbols. - # This should be the same for all languages, so no per-tag cache variable. - AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], - [lt_cv_irix_exported_symbol], - [save_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" - AC_LINK_IFELSE( - [AC_LANG_SOURCE( - [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], - [C++], [[int foo (void) { return 0; }]], - [Fortran 77], [[ - subroutine foo - end]], - [Fortran], [[ - subroutine foo - end]])])], - [lt_cv_irix_exported_symbol=yes], - [lt_cv_irix_exported_symbol=no]) - LDFLAGS="$save_LDFLAGS"]) - if test "$lt_cv_irix_exported_symbol" = yes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' - fi - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out - else - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - newsos6) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *nto* | *qnx*) - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - else - case $host_os in - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - ;; - esac - fi - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - os2*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' - ;; - - osf3*) - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - osf4* | osf5*) # as osf3* with the addition of -msym flag - if test "$GCC" = yes; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - else - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' - - # Both c and cxx compiler support -rpath directly - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - ;; - - solaris*) - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' - if test "$GCC" = yes; then - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - else - case `$CC -V 2>&1` in - *"Compilers 5.0"*) - wlarc='' - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' - ;; - *) - wlarc='${wl}' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' - ;; - esac - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. GCC discards it without `$wl', - # but is careful enough not to reorder. - # Supported since Solaris 2.6 (maybe 2.5.1?) - if test "$GCC" = yes; then - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - fi - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - sunos4*) - if test "x$host_vendor" = xsequent; then - # Use $CC to link under sequent, because it throws in some extra .o - # files that make .init and .fini sections work. - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' - fi - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4) - case $host_vendor in - sni) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? - ;; - siemens) - ## LD is ld it makes a PLAMLIB - ## CC just makes a GrossModule. - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' - _LT_TAGVAR(hardcode_direct, $1)=no - ;; - motorola) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie - ;; - esac - runpath_var='LD_RUN_PATH' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - sysv4.3*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' - ;; - - sysv4*MP*) - if test -d /usr/nec; then - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - _LT_TAGVAR(ld_shlibs, $1)=yes - fi - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - if test "$GCC" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - fi - ;; - - uts4*) - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - - *) - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - if test x$host_vendor = xsni; then - case $host in - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' - ;; - esac - fi - fi -]) -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld - -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl -_LT_DECL([], [extract_expsyms_cmds], [2], - [The commands to extract the exported symbol list from a shared archive]) - -# -# Do we need to explicitly link libc? -# -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in -x|xyes) - # Assume -lc should be added - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - - if test "$enable_shared" = yes && test "$GCC" = yes; then - case $_LT_TAGVAR(archive_cmds, $1) in - *'~'*) - # FIXME: we may have to deal with multi-command sequences. - ;; - '$CC '*) - # Test whether the compiler implicitly links with -lc since on some - # systems, -lgcc has to come before -lc. If gcc already passes -lc - # to ld, don't add -lc before -lgcc. - AC_CACHE_CHECK([whether -lc should be explicitly linked in], - [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), - [$RM conftest* - echo "$lt_simple_compile_test_code" > conftest.$ac_ext - - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then - soname=conftest - lib=conftest - libobjs=conftest.$ac_objext - deplibs= - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) - compiler_flags=-v - linker_flags=-v - verstring= - output_objdir=. - libname=conftest - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) - _LT_TAGVAR(allow_undefined_flag, $1)= - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) - then - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no - else - lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes - fi - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag - else - cat conftest.err 1>&5 - fi - $RM conftest* - ]) - _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) - ;; - esac - fi - ;; -esac - -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], - [Whether or not to add -lc for building shared libraries]) -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], - [enable_shared_with_static_runtimes], [0], - [Whether or not to disallow shared libs when runtime libs are static]) -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], - [Compiler flag to allow reflexive dlopens]) -_LT_TAGDECL([], [whole_archive_flag_spec], [1], - [Compiler flag to generate shared objects directly from archives]) -_LT_TAGDECL([], [compiler_needs_object], [1], - [Whether the compiler copes with passing no objects directly]) -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], - [Create an old-style archive from a shared archive]) -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], - [Create a temporary old-style archive to link instead of a shared archive]) -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) -_LT_TAGDECL([], [archive_expsym_cmds], [2]) -_LT_TAGDECL([], [module_cmds], [2], - [Commands used to build a loadable module if different from building - a shared archive.]) -_LT_TAGDECL([], [module_expsym_cmds], [2]) -_LT_TAGDECL([], [with_gnu_ld], [1], - [Whether we are building with GNU ld or not]) -_LT_TAGDECL([], [allow_undefined_flag], [1], - [Flag that allows shared libraries with undefined symbols to be built]) -_LT_TAGDECL([], [no_undefined_flag], [1], - [Flag that enforces no undefined symbols]) -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], - [Flag to hardcode $libdir into a binary during linking. - This must work even if $libdir does not exist]) -_LT_TAGDECL([], [hardcode_libdir_separator], [1], - [Whether we need a single "-rpath" flag with a separated argument]) -_LT_TAGDECL([], [hardcode_direct], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary]) -_LT_TAGDECL([], [hardcode_direct_absolute], [0], - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes - DIR into the resulting binary and the resulting library dependency is - "absolute", i.e impossible to change by setting ${shlibpath_var} if the - library is relocated]) -_LT_TAGDECL([], [hardcode_minus_L], [0], - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR - into the resulting binary]) -_LT_TAGDECL([], [hardcode_automatic], [0], - [Set to "yes" if building a shared library automatically hardcodes DIR - into the library and all subsequent libraries and executables linked - against it]) -_LT_TAGDECL([], [inherit_rpath], [0], - [Set to yes if linker adds runtime paths of dependent libraries - to runtime path list]) -_LT_TAGDECL([], [link_all_deplibs], [0], - [Whether libtool must link a program against all its dependency libraries]) -_LT_TAGDECL([], [always_export_symbols], [0], - [Set to "yes" if exported symbols are required]) -_LT_TAGDECL([], [export_symbols_cmds], [2], - [The commands to list exported symbols]) -_LT_TAGDECL([], [exclude_expsyms], [1], - [Symbols that should not be listed in the preloaded symbols]) -_LT_TAGDECL([], [include_expsyms], [1], - [Symbols that must always be exported]) -_LT_TAGDECL([], [prelink_cmds], [2], - [Commands necessary for linking programs (against libraries) with templates]) -_LT_TAGDECL([], [postlink_cmds], [2], - [Commands necessary for finishing linking programs]) -_LT_TAGDECL([], [file_list_spec], [1], - [Specify filename containing input files]) -dnl FIXME: Not yet implemented -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], -dnl [Compiler flag to generate thread safe objects]) -])# _LT_LINKER_SHLIBS - - -# _LT_LANG_C_CONFIG([TAG]) -# ------------------------ -# Ensure that the configuration variables for a C compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_C_CONFIG], -[m4_require([_LT_DECL_EGREP])dnl -lt_save_CC="$CC" -AC_LANG_PUSH(C) - -# Source file extension for C test sources. -ac_ext=c - -# Object file extension for compiled C test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="int some_variable = 0;" - -# Code to be used in simple link tests -lt_simple_link_test_code='int main(){return(0);}' - -_LT_TAG_COMPILER -# Save the default compiler, since it gets overwritten when the other -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. -compiler_DEFAULT=$CC - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - LT_SYS_DLOPEN_SELF - _LT_CMD_STRIPLIB - - # Report which library types will actually be built - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_CONFIG($1) -fi -AC_LANG_POP -CC="$lt_save_CC" -])# _LT_LANG_C_CONFIG - - -# _LT_LANG_CXX_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a C++ compiler are suitably -# defined. These variables are subsequently used by _LT_CONFIG to write -# the compiler configuration to `libtool'. -m4_defun([_LT_LANG_CXX_CONFIG], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -m4_require([_LT_DECL_EGREP])dnl -m4_require([_LT_PATH_MANIFEST_TOOL])dnl -if test -n "$CXX" && ( test "X$CXX" != "Xno" && - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || - (test "X$CXX" != "Xg++"))) ; then - AC_PROG_CXXCPP -else - _lt_caught_CXX_error=yes -fi - -AC_LANG_PUSH(C++) -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(compiler_needs_object, $1)=no -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for C++ test sources. -ac_ext=cpp - -# Object file extension for compiled C++ test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the CXX compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_caught_CXX_error" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="int some_variable = 0;" - - # Code to be used in simple link tests - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC=$CC - lt_save_CFLAGS=$CFLAGS - lt_save_LD=$LD - lt_save_GCC=$GCC - GCC=$GXX - lt_save_with_gnu_ld=$with_gnu_ld - lt_save_path_LD=$lt_cv_path_LD - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx - else - $as_unset lt_cv_prog_gnu_ld - fi - if test -n "${lt_cv_path_LDCXX+set}"; then - lt_cv_path_LD=$lt_cv_path_LDCXX - else - $as_unset lt_cv_path_LD - fi - test -z "${LDCXX+set}" || LD=$LDCXX - CC=${CXX-"c++"} - CFLAGS=$CXXFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - # We don't want -fno-exception when compiling C++ code, so set the - # no_builtin_flag separately - if test "$GXX" = yes; then - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' - else - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= - fi - - if test "$GXX" = yes; then - # Set up default GNU C++ configuration - - LT_PATH_LD - - # Check if GNU C++ uses GNU ld as the underlying linker, since the - # archiving commands below assume that GNU ld is being used. - if test "$with_gnu_ld" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # If archive_cmds runs LD, not CC, wlarc should be empty - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to - # investigate it a little bit more. (MM) - wlarc='${wl}' - - # ancient GNU ld didn't support --whole-archive et. al. - if eval "`$CC -print-prog-name=ld` --help 2>&1" | - $GREP 'no-whole-archive' > /dev/null; then - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - else - _LT_TAGVAR(whole_archive_flag_spec, $1)= - fi - else - with_gnu_ld=no - wlarc= - - # A generic and very simple default shared library creation - # command for GNU C++ for the case where it uses the native - # linker, instead of GNU ld. If possible, this setting should - # overridden to take advantage of the native linker features on - # the platform it is being used on. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - fi - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - GXX=no - with_gnu_ld=no - wlarc= - fi - - # PORTME: fill in a description of your system's C++ link characteristics - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) - _LT_TAGVAR(ld_shlibs, $1)=yes - case $host_os in - aix3*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aix[[4-9]]*) - if test "$host_cpu" = ia64; then - # On IA64, the linker does run time linking by default, so we don't - # have to do anything special. - aix_use_runtimelinking=no - exp_sym_flag='-Bexport' - no_entry_flag="" - else - aix_use_runtimelinking=no - - # Test if we are trying to use run time linking or normal - # AIX style linking. If -brtl is somewhere in LDFLAGS, we - # need to do runtime linking. - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) - for ld_flag in $LDFLAGS; do - case $ld_flag in - *-brtl*) - aix_use_runtimelinking=yes - break - ;; - esac - done - ;; - esac - - exp_sym_flag='-bexport' - no_entry_flag='-bnoentry' - fi - - # When large executables or shared objects are built, AIX ld can - # have problems creating the table of contents. If linking a library - # or program results in "error TOC overflow" add -mminimal-toc to - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. - - _LT_TAGVAR(archive_cmds, $1)='' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' - - if test "$GXX" = yes; then - case $host_os in aix4.[[012]]|aix4.[[012]].*) - # We only want to do this on AIX 4.2 and lower, the check - # below for broken collect2 doesn't work under 4.3+ - collect2name=`${CC} -print-prog-name=collect2` - if test -f "$collect2name" && - strings "$collect2name" | $GREP resolve_lib_name >/dev/null - then - # We have reworked collect2 - : - else - # We have old collect2 - _LT_TAGVAR(hardcode_direct, $1)=unsupported - # It fails to find uninstalled libraries when the uninstalled - # path is not listed in the libpath. Setting hardcode_minus_L - # to unsupported forces relinking - _LT_TAGVAR(hardcode_minus_L, $1)=yes - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)= - fi - esac - shared_flag='-shared' - if test "$aix_use_runtimelinking" = yes; then - shared_flag="$shared_flag "'${wl}-G' - fi - else - # not using gcc - if test "$host_cpu" = ia64; then - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release - # chokes on -Wl,-G. The following line is correct: - shared_flag='-G' - else - if test "$aix_use_runtimelinking" = yes; then - shared_flag='${wl}-G' - else - shared_flag='${wl}-bM:SRE' - fi - fi - fi - - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' - # It seems that -bexpall does not export symbols beginning with - # underscore (_), so it is better to generate a list of symbols to - # export. - _LT_TAGVAR(always_export_symbols, $1)=yes - if test "$aix_use_runtimelinking" = yes; then - # Warning - without using the other runtime loading flags (-brtl), - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' - # Determine the default libpath from the value encoded in an empty - # executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" - else - if test "$host_cpu" = ia64; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" - else - # Determine the default libpath from the value encoded in an - # empty executable. - _LT_SYS_MODULE_PATH_AIX([$1]) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - # Warning - without using the other run time loading flags, - # -berok will link without error, but may produce a broken library. - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - if test "$with_gnu_ld" = yes; then - # We only use this code for GNU lds that support --whole-archive. - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - else - # Exported symbols can be pulled into shared objects from archives - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' - fi - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes - # This is similar to how AIX traditionally builds its shared - # libraries. - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' - fi - fi - ;; - - beos*) - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - # Joseph Beckenbach says some releases of gcc - # support --undefined. This deserves some investigation. FIXME - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - chorus*) - case $cc_basename in - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - cygwin* | mingw* | pw32* | cegcc*) - case $GXX,$cc_basename in - ,cl* | no,cl*) - # Native MSVC - # hardcode_libdir_flag_spec is actually meaningless, as there is - # no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=yes - _LT_TAGVAR(file_list_spec, $1)='@' - # Tell ltmain to make .lib files, not .a files. - libext=lib - # Tell ltmain to make .dll files, not .so files. - shrext_cmds=".dll" - # FIXME: Setting linknames here is a bad hack. - _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; - else - $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; - fi~ - $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ - linknames=' - # The linker will not automatically build a static lib if we build a DLL. - # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - # Don't use ranlib - _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' - _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ - lt_tool_outputfile="@TOOL_OUTPUT@"~ - case $lt_outputfile in - *.exe|*.EXE) ;; - *) - lt_outputfile="$lt_outputfile.exe" - lt_tool_outputfile="$lt_tool_outputfile.exe" - ;; - esac~ - func_to_tool_file "$lt_outputfile"~ - if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then - $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; - $RM "$lt_outputfile.manifest"; - fi' - ;; - *) - # g++ - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, - # as there is no search path for DLLs. - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported - _LT_TAGVAR(always_export_symbols, $1)=no - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes - - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - # If the export-symbols file already is a .def file (1st line - # is EXPORTS), use it as is; otherwise, prepend... - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then - cp $export_symbols $output_objdir/$soname.def; - else - echo EXPORTS > $output_objdir/$soname.def; - cat $export_symbols >> $output_objdir/$soname.def; - fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - darwin* | rhapsody*) - _LT_DARWIN_LINKER_FEATURES($1) - ;; - - dgux*) - case $cc_basename in - ec++*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - ghcx*) - # Green Hills C++ Compiler - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - freebsd2.*) - # C++ shared libraries reported to be fairly broken before - # switch to ELF - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - freebsd-elf*) - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - ;; - - freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - gnu*) - ;; - - haiku*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - - hpux9*) - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - hpux10*|hpux11*) - if test $with_gnu_ld = no; then - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - case $host_cpu in - hppa*64*|ia64*) - ;; - *) - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - ;; - esac - fi - case $host_cpu in - hppa*64*|ia64*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - ;; - *) - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; - esac - - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - aCC*) - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes; then - if test $with_gnu_ld = no; then - case $host_cpu in - hppa*64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - ia64*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - ;; - esac - fi - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - interix[[3-9]]*) - _LT_TAGVAR(hardcode_direct, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. - # Instead, shared libraries are loaded at an image base (0x10000000 by - # default) and relocated if they conflict, which is a slow very memory - # consuming and fragmenting process. To avoid this, we pick a random, - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link - # time. Moving up from 0x10000000 also allows more sbrk(2) space. - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' - ;; - irix5* | irix6*) - case $cc_basename in - CC*) - # SGI C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - - # Archives containing C++ object files must be created using - # "CC -ar", where "CC" is the IRIX C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' - ;; - *) - if test "$GXX" = yes; then - if test "$with_gnu_ld" = no; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - else - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' - fi - fi - _LT_TAGVAR(link_all_deplibs, $1)=yes - ;; - esac - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - _LT_TAGVAR(inherit_rpath, $1)=yes - ;; - - linux* | k*bsd*-gnu | kopensolaris*-gnu) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - - # Archives containing C++ object files must be created using - # "CC -Bstatic", where "CC" is the KAI C++ compiler. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' - ;; - icpc* | ecpc* ) - # Intel C++ - with_gnu_ld=yes - # version 8.0 and above of icpc choke on multiply defined symbols - # if we add $predep_objects and $postdep_objects, however 7.1 and - # earlier do not add the objects themselves. - case `$CC -V 2>&1` in - *"Version 7."*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - *) # Version 8.0 or newer - tmp_idyn= - case $host_cpu in - ia64*) tmp_idyn=' -i_dynamic';; - esac - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' - ;; - esac - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' - ;; - pgCC* | pgcpp*) - # Portland Group C++ compiler - case `$CC -V` in - *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ - compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ - $RANLIB $oldlib' - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ - rm -rf $tpldir~ - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - *) # Version 6 and above use weak symbols - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - ;; - cxx*) - # Compaq C++ - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' - - runpath_var=LD_RUN_PATH - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' - ;; - xl* | mpixl* | bgxl*) - # IBM XL 8.0 on PPC, with GNU ld - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' - if test "x$supports_anon_versioning" = xyes; then - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ - echo "local: *; };" >> $output_objdir/$libname.ver~ - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' - fi - ;; - *) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' - _LT_TAGVAR(compiler_needs_object, $1)=yes - - # Not sure whether something based on - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 - # would be better. - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - esac - ;; - esac - ;; - - lynxos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - m88k*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - mvs*) - case $cc_basename in - cxx*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - netbsd*) - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' - wlarc= - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - fi - # Workaround some broken pre-1.5 toolchains - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' - ;; - - *nto* | *qnx*) - _LT_TAGVAR(ld_shlibs, $1)=yes - ;; - - openbsd2*) - # C++ shared libraries are fairly broken - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - openbsd*) - if test -f /usr/libexec/ld.so; then - _LT_TAGVAR(hardcode_direct, $1)=yes - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' - fi - output_verbose_link_cmd=func_echo_all - else - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - - osf3* | osf4* | osf5*) - case $cc_basename in - KCC*) - # Kuck and Associates, Inc. (KAI) C++ Compiler - - # KCC will only create a shared library if the output file - # ends with ".so" (or ".sl" for HP-UX), so rename the library - # to its proper name (with version) after linking. - _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Archives containing C++ object files must be created using - # the KAI C++ compiler. - case $host in - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; - esac - ;; - RCC*) - # Rational C++ 2.4.1 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - cxx*) - case $host in - osf3*) - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - ;; - *) - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ - echo "-hidden">> $lib.exp~ - $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ - $RM $lib.exp' - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - # - # There doesn't appear to be a way to prevent this compiler from - # explicitly linking system object files so we need to strip them - # from the output so that they don't get included in the library - # dependencies. - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' - ;; - *) - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' - case $host in - osf3*) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' - ;; - esac - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=: - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - - else - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - fi - ;; - esac - ;; - - psos*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - sunos4*) - case $cc_basename in - CC*) - # Sun C++ 4.x - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - lcc*) - # Lucid - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - solaris*) - case $cc_basename in - CC* | sunCC*) - # Sun C++ 4.2, 5.x and Centerline C++ - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - # The compiler driver will combine and reorder linker options, - # but understands `-z linker_flag'. - # Supported since Solaris 2.6 (maybe 2.5.1?) - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' - ;; - esac - _LT_TAGVAR(link_all_deplibs, $1)=yes - - output_verbose_link_cmd='func_echo_all' - - # Archives containing C++ object files must be created using - # "CC -xar", where "CC" is the Sun C++ compiler. This is - # necessary to make sure instantiated templates are included - # in the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' - ;; - gcx*) - # Green Hills C++ Compiler - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - - # The C++ compiler must be used to create the archive. - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' - ;; - *) - # GNU C++ compiler with Solaris linker - if test "$GXX" = yes && test "$with_gnu_ld" = no; then - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' - if $CC --version | $GREP -v '^2\.7' > /dev/null; then - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - else - # g++ 2.7 appears to require `-G' NOT `-shared' on this - # platform. - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' - - # Commands to make compiler produce verbose output that lists - # what "hidden" libraries, object files and flags are used when - # linking a shared library. - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' - fi - - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' - case $host_os in - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; - *) - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' - ;; - esac - fi - ;; - esac - ;; - - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - sysv5* | sco3.2v5* | sco5v6*) - # Note: We can NOT use -z defs as we might desire, because we do not - # link with -lc, and that would cause any symbols used from libc to - # always be unresolved, which means just about no library would - # ever link correctly. If we're not using GNU ld we use -z text - # though, which does catch some bad symbols but isn't as heavy-handed - # as -z defs. - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' - _LT_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' - _LT_TAGVAR(link_all_deplibs, $1)=yes - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var='LD_RUN_PATH' - - case $cc_basename in - CC*) - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ - '"$_LT_TAGVAR(old_archive_cmds, $1)" - _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ - '"$_LT_TAGVAR(reload_cmds, $1)" - ;; - *) - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' - ;; - esac - ;; - - tandem*) - case $cc_basename in - NCC*) - # NonStop-UX NCC 3.20 - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; - - vxworks*) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - - *) - # FIXME: insert proper C++ library support - _LT_TAGVAR(ld_shlibs, $1)=no - ;; - esac - - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - - _LT_TAGVAR(GCC, $1)="$GXX" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS - LDCXX=$LD - LD=$lt_save_LD - GCC=$lt_save_GCC - with_gnu_ld=$lt_save_with_gnu_ld - lt_cv_path_LDCXX=$lt_cv_path_LD - lt_cv_path_LD=$lt_save_path_LD - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld -fi # test "$_lt_caught_CXX_error" != yes - -AC_LANG_POP -])# _LT_LANG_CXX_CONFIG - - -# _LT_FUNC_STRIPNAME_CNF -# ---------------------- -# func_stripname_cnf prefix suffix name -# strip PREFIX and SUFFIX off of NAME. -# PREFIX and SUFFIX must not contain globbing or regex special -# characters, hashes, percent signs, but SUFFIX may contain a leading -# dot (in which case that matches only a dot). -# -# This function is identical to the (non-XSI) version of func_stripname, -# except this one can be used by m4 code that may be executed by configure, -# rather than the libtool script. -m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl -AC_REQUIRE([_LT_DECL_SED]) -AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) -func_stripname_cnf () -{ - case ${2} in - .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; - *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; - esac -} # func_stripname_cnf -])# _LT_FUNC_STRIPNAME_CNF - -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) -# --------------------------------- -# Figure out "hidden" library dependencies from verbose -# compiler output when linking a shared library. -# Parse the compiler output and extract the necessary -# objects, libraries and library flags. -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl -AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl -# Dependencies to place before and after the object being linked: -_LT_TAGVAR(predep_objects, $1)= -_LT_TAGVAR(postdep_objects, $1)= -_LT_TAGVAR(predeps, $1)= -_LT_TAGVAR(postdeps, $1)= -_LT_TAGVAR(compiler_lib_search_path, $1)= - -dnl we can't use the lt_simple_compile_test_code here, -dnl because it contains code intended for an executable, -dnl not a library. It's possible we should let each -dnl tag define a new lt_????_link_test_code variable, -dnl but it's only used here... -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF -int a; -void foo (void) { a = 0; } -_LT_EOF -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF -class Foo -{ -public: - Foo (void) { a = 0; } -private: - int a; -}; -_LT_EOF -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer*4 a - a=0 - return - end -_LT_EOF -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF - subroutine foo - implicit none - integer a - a=0 - return - end -_LT_EOF -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF -public class foo { - private int a; - public void bar (void) { - a = 0; - } -}; -_LT_EOF -], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF -package foo -func foo() { -} -_LT_EOF -]) - -_lt_libdeps_save_CFLAGS=$CFLAGS -case "$CC $CFLAGS " in #( -*\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; -*\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; -*\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; -esac - -dnl Parse the compiler output and extract the necessary -dnl objects, libraries and library flags. -if AC_TRY_EVAL(ac_compile); then - # Parse the compiler output and extract the necessary - # objects, libraries and library flags. - - # Sentinel used to keep track of whether or not we are before - # the conftest object file. - pre_test_object_deps_done=no - - for p in `eval "$output_verbose_link_cmd"`; do - case ${prev}${p} in - - -L* | -R* | -l*) - # Some compilers place space between "-{L,R}" and the path. - # Remove the space. - if test $p = "-L" || - test $p = "-R"; then - prev=$p - continue - fi - - # Expand the sysroot to ease extracting the directories later. - if test -z "$prev"; then - case $p in - -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; - -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; - -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; - esac - fi - case $p in - =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; - esac - if test "$pre_test_object_deps_done" = no; then - case ${prev} in - -L | -R) - # Internal compiler library paths should come after those - # provided the user. The postdeps already come after the - # user supplied libs so there is no need to process them. - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" - else - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" - fi - ;; - # The "-l" case would never come before the object being - # linked, so don't bother handling this case. - esac - else - if test -z "$_LT_TAGVAR(postdeps, $1)"; then - _LT_TAGVAR(postdeps, $1)="${prev}${p}" - else - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" - fi - fi - prev= - ;; - - *.lto.$objext) ;; # Ignore GCC LTO objects - *.$objext) - # This assumes that the test object file only shows up - # once in the compiler output. - if test "$p" = "conftest.$objext"; then - pre_test_object_deps_done=yes - continue - fi - - if test "$pre_test_object_deps_done" = no; then - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then - _LT_TAGVAR(predep_objects, $1)="$p" - else - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" - fi - else - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then - _LT_TAGVAR(postdep_objects, $1)="$p" - else - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" - fi - fi - ;; - - *) ;; # Ignore the rest. - - esac - done - - # Clean up. - rm -f a.out a.exe -else - echo "libtool.m4: error: problem compiling $1 test program" -fi - -$RM -f confest.$objext -CFLAGS=$_lt_libdeps_save_CFLAGS - -# PORTME: override above test on systems where it is broken -m4_if([$1], [CXX], -[case $host_os in -interix[[3-9]]*) - # Interix 3.5 installs completely hosed .la files for C++, so rather than - # hack all around it, let's just trust "g++" to DTRT. - _LT_TAGVAR(predep_objects,$1)= - _LT_TAGVAR(postdep_objects,$1)= - _LT_TAGVAR(postdeps,$1)= - ;; - -linux*) - case `$CC -V 2>&1 | sed 5q` in - *Sun\ C*) - # Sun C++ 5.9 - - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; - -solaris*) - case $cc_basename in - CC* | sunCC*) - # The more standards-conforming stlport4 library is - # incompatible with the Cstd library. Avoid specifying - # it if it's in CXXFLAGS. Ignore libCrun as - # -library=stlport4 depends on it. - case " $CXX $CXXFLAGS " in - *" -library=stlport4 "*) - solaris_use_stlport4=yes - ;; - esac - - # Adding this requires a known-good setup of shared libraries for - # Sun compiler versions before 5.6, else PIC objects from an old - # archive will be linked into the output, leading to subtle bugs. - if test "$solaris_use_stlport4" != yes; then - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' - fi - ;; - esac - ;; -esac -]) - -case " $_LT_TAGVAR(postdeps, $1) " in -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; -esac - _LT_TAGVAR(compiler_lib_search_dirs, $1)= -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` -fi -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], - [The directories searched by this compiler when creating a shared library]) -_LT_TAGDECL([], [predep_objects], [1], - [Dependencies to place before and after the objects being linked to - create a shared library]) -_LT_TAGDECL([], [postdep_objects], [1]) -_LT_TAGDECL([], [predeps], [1]) -_LT_TAGDECL([], [postdeps], [1]) -_LT_TAGDECL([], [compiler_lib_search_path], [1], - [The library search path used internally by the compiler when linking - a shared library]) -])# _LT_SYS_HIDDEN_LIBDEPS - - -# _LT_LANG_F77_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for a Fortran 77 compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_F77_CONFIG], -[AC_LANG_PUSH(Fortran 77) -if test -z "$F77" || test "X$F77" = "Xno"; then - _lt_disable_F77=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for f77 test sources. -ac_ext=f - -# Object file extension for compiled f77 test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the F77 compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_F77" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${F77-"f77"} - CFLAGS=$FFLAGS - compiler=$CC - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - GCC=$G77 - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$G77" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC="$lt_save_CC" - CFLAGS="$lt_save_CFLAGS" -fi # test "$_lt_disable_F77" != yes - -AC_LANG_POP -])# _LT_LANG_F77_CONFIG - - -# _LT_LANG_FC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for a Fortran compiler are -# suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_FC_CONFIG], -[AC_LANG_PUSH(Fortran) - -if test -z "$FC" || test "X$FC" = "Xno"; then - _lt_disable_FC=yes -fi - -_LT_TAGVAR(archive_cmds_need_lc, $1)=no -_LT_TAGVAR(allow_undefined_flag, $1)= -_LT_TAGVAR(always_export_symbols, $1)=no -_LT_TAGVAR(archive_expsym_cmds, $1)= -_LT_TAGVAR(export_dynamic_flag_spec, $1)= -_LT_TAGVAR(hardcode_direct, $1)=no -_LT_TAGVAR(hardcode_direct_absolute, $1)=no -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= -_LT_TAGVAR(hardcode_libdir_separator, $1)= -_LT_TAGVAR(hardcode_minus_L, $1)=no -_LT_TAGVAR(hardcode_automatic, $1)=no -_LT_TAGVAR(inherit_rpath, $1)=no -_LT_TAGVAR(module_cmds, $1)= -_LT_TAGVAR(module_expsym_cmds, $1)= -_LT_TAGVAR(link_all_deplibs, $1)=unknown -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds -_LT_TAGVAR(no_undefined_flag, $1)= -_LT_TAGVAR(whole_archive_flag_spec, $1)= -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no - -# Source file extension for fc test sources. -ac_ext=${ac_fc_srcext-f} - -# Object file extension for compiled fc test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# No sense in running all these tests if we already determined that -# the FC compiler isn't working. Some variables (like enable_shared) -# are currently assumed to apply to all compilers on this platform, -# and will be corrupted by setting them based on a non-working compiler. -if test "$_lt_disable_FC" != yes; then - # Code to be used in simple compile tests - lt_simple_compile_test_code="\ - subroutine t - return - end -" - - # Code to be used in simple link tests - lt_simple_link_test_code="\ - program t - end -" - - # ltmain only uses $CC for tagged configurations so make sure $CC is set. - _LT_TAG_COMPILER - - # save warnings/boilerplate of simple test code - _LT_COMPILER_BOILERPLATE - _LT_LINKER_BOILERPLATE - - # Allow CC to be a program name with arguments. - lt_save_CC="$CC" - lt_save_GCC=$GCC - lt_save_CFLAGS=$CFLAGS - CC=${FC-"f95"} - CFLAGS=$FCFLAGS - compiler=$CC - GCC=$ac_cv_fc_compiler_gnu - - _LT_TAGVAR(compiler, $1)=$CC - _LT_CC_BASENAME([$compiler]) - - if test -n "$compiler"; then - AC_MSG_CHECKING([if libtool supports shared libraries]) - AC_MSG_RESULT([$can_build_shared]) - - AC_MSG_CHECKING([whether to build shared libraries]) - test "$can_build_shared" = "no" && enable_shared=no - - # On AIX, shared libraries and static libraries use the same namespace, and - # are all built from PIC. - case $host_os in - aix3*) - test "$enable_shared" = yes && enable_static=no - if test -n "$RANLIB"; then - archive_cmds="$archive_cmds~\$RANLIB \$lib" - postinstall_cmds='$RANLIB $lib' - fi - ;; - aix[[4-9]]*) - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then - test "$enable_shared" = yes && enable_static=no - fi - ;; - esac - AC_MSG_RESULT([$enable_shared]) - - AC_MSG_CHECKING([whether to build static libraries]) - # Make sure either enable_shared or enable_static is yes. - test "$enable_shared" = yes || enable_static=yes - AC_MSG_RESULT([$enable_static]) - - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" - _LT_TAGVAR(LD, $1)="$LD" - - ## CAVEAT EMPTOR: - ## There is no encapsulation within the following macros, do not change - ## the running order or otherwise move them around unless you know exactly - ## what you are doing... - _LT_SYS_HIDDEN_LIBDEPS($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_SYS_DYNAMIC_LINKER($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) - fi # test -n "$compiler" - - GCC=$lt_save_GCC - CC=$lt_save_CC - CFLAGS=$lt_save_CFLAGS -fi # test "$_lt_disable_FC" != yes - -AC_LANG_POP -])# _LT_LANG_FC_CONFIG - - -# _LT_LANG_GCJ_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Java Compiler compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GCJ_CONFIG], -[AC_REQUIRE([LT_PROG_GCJ])dnl -AC_LANG_SAVE - -# Source file extension for Java test sources. -ac_ext=java - -# Object file extension for compiled Java test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="class foo {}" - -# Code to be used in simple link tests -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GCJ-"gcj"} -CFLAGS=$GCJFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# GCJ did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GCJ_CONFIG - - -# _LT_LANG_GO_CONFIG([TAG]) -# -------------------------- -# Ensure that the configuration variables for the GNU Go compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_GO_CONFIG], -[AC_REQUIRE([LT_PROG_GO])dnl -AC_LANG_SAVE - -# Source file extension for Go test sources. -ac_ext=go - -# Object file extension for compiled Go test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code="package main; func main() { }" - -# Code to be used in simple link tests -lt_simple_link_test_code='package main; func main() { }' - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC=$CC -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC=yes -CC=${GOC-"gccgo"} -CFLAGS=$GOFLAGS -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_TAGVAR(LD, $1)="$LD" -_LT_CC_BASENAME([$compiler]) - -# Go did not exist at the time GCC didn't implicitly link libc in. -_LT_TAGVAR(archive_cmds_need_lc, $1)=no - -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds -_LT_TAGVAR(reload_flag, $1)=$reload_flag -_LT_TAGVAR(reload_cmds, $1)=$reload_cmds - -## CAVEAT EMPTOR: -## There is no encapsulation within the following macros, do not change -## the running order or otherwise move them around unless you know exactly -## what you are doing... -if test -n "$compiler"; then - _LT_COMPILER_NO_RTTI($1) - _LT_COMPILER_PIC($1) - _LT_COMPILER_C_O($1) - _LT_COMPILER_FILE_LOCKS($1) - _LT_LINKER_SHLIBS($1) - _LT_LINKER_HARDCODE_LIBPATH($1) - - _LT_CONFIG($1) -fi - -AC_LANG_RESTORE - -GCC=$lt_save_GCC -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_GO_CONFIG - - -# _LT_LANG_RC_CONFIG([TAG]) -# ------------------------- -# Ensure that the configuration variables for the Windows resource compiler -# are suitably defined. These variables are subsequently used by _LT_CONFIG -# to write the compiler configuration to `libtool'. -m4_defun([_LT_LANG_RC_CONFIG], -[AC_REQUIRE([LT_PROG_RC])dnl -AC_LANG_SAVE - -# Source file extension for RC test sources. -ac_ext=rc - -# Object file extension for compiled RC test sources. -objext=o -_LT_TAGVAR(objext, $1)=$objext - -# Code to be used in simple compile tests -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' - -# Code to be used in simple link tests -lt_simple_link_test_code="$lt_simple_compile_test_code" - -# ltmain only uses $CC for tagged configurations so make sure $CC is set. -_LT_TAG_COMPILER - -# save warnings/boilerplate of simple test code -_LT_COMPILER_BOILERPLATE -_LT_LINKER_BOILERPLATE - -# Allow CC to be a program name with arguments. -lt_save_CC="$CC" -lt_save_CFLAGS=$CFLAGS -lt_save_GCC=$GCC -GCC= -CC=${RC-"windres"} -CFLAGS= -compiler=$CC -_LT_TAGVAR(compiler, $1)=$CC -_LT_CC_BASENAME([$compiler]) -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes - -if test -n "$compiler"; then - : - _LT_CONFIG($1) -fi - -GCC=$lt_save_GCC -AC_LANG_RESTORE -CC=$lt_save_CC -CFLAGS=$lt_save_CFLAGS -])# _LT_LANG_RC_CONFIG - - -# LT_PROG_GCJ -# ----------- -AC_DEFUN([LT_PROG_GCJ], -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], - [AC_CHECK_TOOL(GCJ, gcj,) - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" - AC_SUBST(GCJFLAGS)])])[]dnl -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) - - -# LT_PROG_GO -# ---------- -AC_DEFUN([LT_PROG_GO], -[AC_CHECK_TOOL(GOC, gccgo,) -]) - - -# LT_PROG_RC -# ---------- -AC_DEFUN([LT_PROG_RC], -[AC_CHECK_TOOL(RC, windres,) -]) - -# Old name: -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_RC], []) - - -# _LT_DECL_EGREP -# -------------- -# If we don't have a new enough Autoconf to choose the best grep -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_EGREP], -[AC_REQUIRE([AC_PROG_EGREP])dnl -AC_REQUIRE([AC_PROG_FGREP])dnl -test -z "$GREP" && GREP=grep -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) -_LT_DECL([], [EGREP], [1], [An ERE matcher]) -_LT_DECL([], [FGREP], [1], [A literal string matcher]) -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too -AC_SUBST([GREP]) -]) - - -# _LT_DECL_OBJDUMP -# -------------- -# If we don't have a new enough Autoconf to choose the best objdump -# available, choose the one first in the user's PATH. -m4_defun([_LT_DECL_OBJDUMP], -[AC_CHECK_TOOL(OBJDUMP, objdump, false) -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) -AC_SUBST([OBJDUMP]) -]) - -# _LT_DECL_DLLTOOL -# ---------------- -# Ensure DLLTOOL variable is set. -m4_defun([_LT_DECL_DLLTOOL], -[AC_CHECK_TOOL(DLLTOOL, dlltool, false) -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program]) -AC_SUBST([DLLTOOL]) -]) - -# _LT_DECL_SED -# ------------ -# Check for a fully-functional sed program, that truncates -# as few characters as possible. Prefer GNU sed if found. -m4_defun([_LT_DECL_SED], -[AC_PROG_SED -test -z "$SED" && SED=sed -Xsed="$SED -e 1s/^X//" -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) -])# _LT_DECL_SED - -m4_ifndef([AC_PROG_SED], [ -############################################################ -# NOTE: This macro has been submitted for inclusion into # -# GNU Autoconf as AC_PROG_SED. When it is available in # -# a released version of Autoconf we should remove this # -# macro and use it instead. # -############################################################ - -m4_defun([AC_PROG_SED], -[AC_MSG_CHECKING([for a sed that does not truncate output]) -AC_CACHE_VAL(lt_cv_path_SED, -[# Loop through the user's path and test for sed and gsed. -# Then use that list of sed's as ones to test for truncation. -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for lt_ac_prog in sed gsed; do - for ac_exec_ext in '' $ac_executable_extensions; do - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" - fi - done - done -done -IFS=$as_save_IFS -lt_ac_max=0 -lt_ac_count=0 -# Add /usr/xpg4/bin/sed as it is typically found on Solaris -# along with /bin/sed that truncates output. -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do - test ! -f $lt_ac_sed && continue - cat /dev/null > conftest.in - lt_ac_count=0 - echo $ECHO_N "0123456789$ECHO_C" >conftest.in - # Check for GNU sed and select it if it is found. - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then - lt_cv_path_SED=$lt_ac_sed - break - fi - while true; do - cat conftest.in conftest.in >conftest.tmp - mv conftest.tmp conftest.in - cp conftest.in conftest.nl - echo >>conftest.nl - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break - cmp -s conftest.out conftest.nl || break - # 10000 chars as input seems more than enough - test $lt_ac_count -gt 10 && break - lt_ac_count=`expr $lt_ac_count + 1` - if test $lt_ac_count -gt $lt_ac_max; then - lt_ac_max=$lt_ac_count - lt_cv_path_SED=$lt_ac_sed - fi - done -done -]) -SED=$lt_cv_path_SED -AC_SUBST([SED]) -AC_MSG_RESULT([$SED]) -])#AC_PROG_SED -])#m4_ifndef - -# Old name: -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([LT_AC_PROG_SED], []) - - -# _LT_CHECK_SHELL_FEATURES -# ------------------------ -# Find out whether the shell is Bourne or XSI compatible, -# or has some other useful features. -m4_defun([_LT_CHECK_SHELL_FEATURES], -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) -# Try some XSI features -xsi_shell=no -( _lt_dummy="a/b/c" - test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ - = c,a/b,b/c, \ - && eval 'test $(( 1 + 1 )) -eq 2 \ - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ - && xsi_shell=yes -AC_MSG_RESULT([$xsi_shell]) -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) - -AC_MSG_CHECKING([whether the shell understands "+="]) -lt_shell_append=no -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ - >/dev/null 2>&1 \ - && lt_shell_append=yes -AC_MSG_RESULT([$lt_shell_append]) -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) - -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then - lt_unset=unset -else - lt_unset=false -fi -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl - -# test EBCDIC or ASCII -case `echo X|tr X '\101'` in - A) # ASCII based system - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr - lt_SP2NL='tr \040 \012' - lt_NL2SP='tr \015\012 \040\040' - ;; - *) # EBCDIC based system - lt_SP2NL='tr \100 \n' - lt_NL2SP='tr \r\n \100\100' - ;; -esac -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl -])# _LT_CHECK_SHELL_FEATURES - - -# _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) -# ------------------------------------------------------ -# In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and -# '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. -m4_defun([_LT_PROG_FUNCTION_REPLACE], -[dnl { -sed -e '/^$1 ()$/,/^} # $1 /c\ -$1 ()\ -{\ -m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) -} # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") -test 0 -eq $? || _lt_function_replace_fail=: -]) - - -# _LT_PROG_REPLACE_SHELLFNS -# ------------------------- -# Replace existing portable implementations of several shell functions with -# equivalent extended shell implementations where those features are available.. -m4_defun([_LT_PROG_REPLACE_SHELLFNS], -[if test x"$xsi_shell" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl - case ${1} in - */*) func_dirname_result="${1%/*}${2}" ;; - * ) func_dirname_result="${3}" ;; - esac - func_basename_result="${1##*/}"]) - - _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are - # positional parameters, so assign one to ordinary parameter first. - func_stripname_result=${3} - func_stripname_result=${func_stripname_result#"${1}"} - func_stripname_result=${func_stripname_result%"${2}"}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl - func_split_long_opt_name=${1%%=*} - func_split_long_opt_arg=${1#*=}]) - - _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl - func_split_short_opt_arg=${1#??} - func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) - - _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl - case ${1} in - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; - *) func_lo2o_result=${1} ;; - esac]) - - _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) - - _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) - - _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) -fi - -if test x"$lt_shell_append" = xyes; then - _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) - - _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl - func_quote_for_eval "${2}" -dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ - eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) - - # Save a `func_append' function call where possible by direct use of '+=' - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -else - # Save a `func_append' function call even when '+=' is not available - sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ - && mv -f "$cfgfile.tmp" "$cfgfile" \ - || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") - test 0 -eq $? || _lt_function_replace_fail=: -fi - -if test x"$_lt_function_replace_fail" = x":"; then - AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) -fi -]) - -# _LT_PATH_CONVERSION_FUNCTIONS -# ----------------------------- -# Determine which file name conversion functions should be used by -# func_to_host_file (and, implicitly, by func_to_host_path). These are needed -# for certain cross-compile configurations and native mingw. -m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -AC_REQUIRE([AC_CANONICAL_BUILD])dnl -AC_MSG_CHECKING([how to convert $build file names to $host format]) -AC_CACHE_VAL(lt_cv_to_host_file_cmd, -[case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 - ;; - esac - ;; - *-*-cygwin* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin - ;; - *-*-cygwin* ) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; - * ) # otherwise, assume *nix - lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin - ;; - esac - ;; - * ) # unhandled hosts (and "normal" native builds) - lt_cv_to_host_file_cmd=func_convert_file_noop - ;; -esac -]) -to_host_file_cmd=$lt_cv_to_host_file_cmd -AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) -_LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], - [0], [convert $build file names to $host format])dnl - -AC_MSG_CHECKING([how to convert $build file names to toolchain format]) -AC_CACHE_VAL(lt_cv_to_tool_file_cmd, -[#assume ordinary cross tools, or native build. -lt_cv_to_tool_file_cmd=func_convert_file_noop -case $host in - *-*-mingw* ) - case $build in - *-*-mingw* ) # actually msys - lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 - ;; - esac - ;; -esac -]) -to_tool_file_cmd=$lt_cv_to_tool_file_cmd -AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) -_LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], - [0], [convert $build files to toolchain format])dnl -])# _LT_PATH_CONVERSION_FUNCTIONS diff --git a/Build/source/extra/xz/m4/ltoptions.m4 b/Build/source/extra/xz/m4/ltoptions.m4 deleted file mode 100644 index 5d9acd8e23b..00000000000 --- a/Build/source/extra/xz/m4/ltoptions.m4 +++ /dev/null @@ -1,384 +0,0 @@ -# Helper functions for option handling. -*- Autoconf -*- -# -# Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, -# Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 7 ltoptions.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) - - -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) -# ------------------------------------------ -m4_define([_LT_MANGLE_OPTION], -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) - - -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) -# --------------------------------------- -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a -# matching handler defined, dispatch to it. Other OPTION-NAMEs are -# saved as a flag. -m4_define([_LT_SET_OPTION], -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), - _LT_MANGLE_DEFUN([$1], [$2]), - [m4_warning([Unknown $1 option `$2'])])[]dnl -]) - - -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) -# ------------------------------------------------------------ -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. -m4_define([_LT_IF_OPTION], -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) - - -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) -# ------------------------------------------------------- -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME -# are set. -m4_define([_LT_UNLESS_OPTIONS], -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), - [m4_define([$0_found])])])[]dnl -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 -])[]dnl -]) - - -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) -# ---------------------------------------- -# OPTION-LIST is a space-separated list of Libtool options associated -# with MACRO-NAME. If any OPTION has a matching handler declared with -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about -# the unknown option and exit. -m4_defun([_LT_SET_OPTIONS], -[# Set options -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), - [_LT_SET_OPTION([$1], _LT_Option)]) - -m4_if([$1],[LT_INIT],[ - dnl - dnl Simply set some default values (i.e off) if boolean options were not - dnl specified: - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no - ]) - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no - ]) - dnl - dnl If no reference was made to various pairs of opposing options, then - dnl we run the default mode handler for the pair. For example, if neither - dnl `shared' nor `disable-shared' was passed, we enable building of shared - dnl archives by default: - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], - [_LT_ENABLE_FAST_INSTALL]) - ]) -])# _LT_SET_OPTIONS - - -## --------------------------------- ## -## Macros to handle LT_INIT options. ## -## --------------------------------- ## - -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) -# ----------------------------------------- -m4_define([_LT_MANGLE_DEFUN], -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) - - -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) -# ----------------------------------------------- -m4_define([LT_OPTION_DEFINE], -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl -])# LT_OPTION_DEFINE - - -# dlopen -# ------ -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes -]) - -AU_DEFUN([AC_LIBTOOL_DLOPEN], -[_LT_SET_OPTION([LT_INIT], [dlopen]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `dlopen' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) - - -# win32-dll -# --------- -# Declare package support for building win32 dll's. -LT_OPTION_DEFINE([LT_INIT], [win32-dll], -[enable_win32_dll=yes - -case $host in -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) - AC_CHECK_TOOL(AS, as, false) - AC_CHECK_TOOL(DLLTOOL, dlltool, false) - AC_CHECK_TOOL(OBJDUMP, objdump, false) - ;; -esac - -test -z "$AS" && AS=as -_LT_DECL([], [AS], [1], [Assembler program])dnl - -test -z "$DLLTOOL" && DLLTOOL=dlltool -_LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl - -test -z "$OBJDUMP" && OBJDUMP=objdump -_LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl -])# win32-dll - -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], -[AC_REQUIRE([AC_CANONICAL_HOST])dnl -_LT_SET_OPTION([LT_INIT], [win32-dll]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `win32-dll' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) - - -# _LT_ENABLE_SHARED([DEFAULT]) -# ---------------------------- -# implement the --enable-shared flag, and supports the `shared' and -# `disable-shared' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_SHARED], -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([shared], - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_shared=yes ;; - no) enable_shared=no ;; - *) - enable_shared=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_shared=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) - - _LT_DECL([build_libtool_libs], [enable_shared], [0], - [Whether or not to build shared libraries]) -])# _LT_ENABLE_SHARED - -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) -]) - -AC_DEFUN([AC_DISABLE_SHARED], -[_LT_SET_OPTION([LT_INIT], [disable-shared]) -]) - -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_SHARED], []) -dnl AC_DEFUN([AM_DISABLE_SHARED], []) - - - -# _LT_ENABLE_STATIC([DEFAULT]) -# ---------------------------- -# implement the --enable-static flag, and support the `static' and -# `disable-static' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_STATIC], -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([static], - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_static=yes ;; - no) enable_static=no ;; - *) - enable_static=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_static=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) - - _LT_DECL([build_old_libs], [enable_static], [0], - [Whether or not to build static libraries]) -])# _LT_ENABLE_STATIC - -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) - -# Old names: -AC_DEFUN([AC_ENABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) -]) - -AC_DEFUN([AC_DISABLE_STATIC], -[_LT_SET_OPTION([LT_INIT], [disable-static]) -]) - -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AM_ENABLE_STATIC], []) -dnl AC_DEFUN([AM_DISABLE_STATIC], []) - - - -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) -# ---------------------------------- -# implement the --enable-fast-install flag, and support the `fast-install' -# and `disable-fast-install' LT_INIT options. -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. -m4_define([_LT_ENABLE_FAST_INSTALL], -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl -AC_ARG_ENABLE([fast-install], - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], - [p=${PACKAGE-default} - case $enableval in - yes) enable_fast_install=yes ;; - no) enable_fast_install=no ;; - *) - enable_fast_install=no - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for pkg in $enableval; do - IFS="$lt_save_ifs" - if test "X$pkg" = "X$p"; then - enable_fast_install=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) - -_LT_DECL([fast_install], [enable_fast_install], [0], - [Whether or not to optimize for fast installation])dnl -])# _LT_ENABLE_FAST_INSTALL - -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) - -# Old names: -AU_DEFUN([AC_ENABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `fast-install' option into LT_INIT's first parameter.]) -]) - -AU_DEFUN([AC_DISABLE_FAST_INSTALL], -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you put -the `disable-fast-install' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) - - -# _LT_WITH_PIC([MODE]) -# -------------------- -# implement the --with-pic flag, and support the `pic-only' and `no-pic' -# LT_INIT options. -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. -m4_define([_LT_WITH_PIC], -[AC_ARG_WITH([pic], - [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], - [lt_p=${PACKAGE-default} - case $withval in - yes|no) pic_mode=$withval ;; - *) - pic_mode=default - # Look at the argument we got. We use all the common list separators. - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," - for lt_pkg in $withval; do - IFS="$lt_save_ifs" - if test "X$lt_pkg" = "X$lt_p"; then - pic_mode=yes - fi - done - IFS="$lt_save_ifs" - ;; - esac], - [pic_mode=default]) - -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) - -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl -])# _LT_WITH_PIC - -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) - -# Old name: -AU_DEFUN([AC_LIBTOOL_PICMODE], -[_LT_SET_OPTION([LT_INIT], [pic-only]) -AC_DIAGNOSE([obsolete], -[$0: Remove this warning and the call to _LT_SET_OPTION when you -put the `pic-only' option into LT_INIT's first parameter.]) -]) - -dnl aclocal-1.4 backwards compatibility: -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) - -## ----------------- ## -## LTDL_INIT Options ## -## ----------------- ## - -m4_define([_LTDL_MODE], []) -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], - [m4_define([_LTDL_MODE], [nonrecursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [recursive], - [m4_define([_LTDL_MODE], [recursive])]) -LT_OPTION_DEFINE([LTDL_INIT], [subproject], - [m4_define([_LTDL_MODE], [subproject])]) - -m4_define([_LTDL_TYPE], []) -LT_OPTION_DEFINE([LTDL_INIT], [installable], - [m4_define([_LTDL_TYPE], [installable])]) -LT_OPTION_DEFINE([LTDL_INIT], [convenience], - [m4_define([_LTDL_TYPE], [convenience])]) diff --git a/Build/source/extra/xz/m4/ltsugar.m4 b/Build/source/extra/xz/m4/ltsugar.m4 deleted file mode 100644 index 9000a057d31..00000000000 --- a/Build/source/extra/xz/m4/ltsugar.m4 +++ /dev/null @@ -1,123 +0,0 @@ -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. -# Written by Gary V. Vaughan, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 6 ltsugar.m4 - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) - - -# lt_join(SEP, ARG1, [ARG2...]) -# ----------------------------- -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their -# associated separator. -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier -# versions in m4sugar had bugs. -m4_define([lt_join], -[m4_if([$#], [1], [], - [$#], [2], [[$2]], - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) -m4_define([_lt_join], -[m4_if([$#$2], [2], [], - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) - - -# lt_car(LIST) -# lt_cdr(LIST) -# ------------ -# Manipulate m4 lists. -# These macros are necessary as long as will still need to support -# Autoconf-2.59 which quotes differently. -m4_define([lt_car], [[$1]]) -m4_define([lt_cdr], -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], - [$#], 1, [], - [m4_dquote(m4_shift($@))])]) -m4_define([lt_unquote], $1) - - -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) -# ------------------------------------------ -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. -# Note that neither SEPARATOR nor STRING are expanded; they are appended -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). -# No SEPARATOR is output if MACRO-NAME was previously undefined (different -# than defined and empty). -# -# This macro is needed until we can rely on Autoconf 2.62, since earlier -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. -m4_define([lt_append], -[m4_define([$1], - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) - - - -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) -# ---------------------------------------------------------- -# Produce a SEP delimited list of all paired combinations of elements of -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list -# has the form PREFIXmINFIXSUFFIXn. -# Needed until we can rely on m4_combine added in Autoconf 2.62. -m4_define([lt_combine], -[m4_if(m4_eval([$# > 3]), [1], - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl -[[m4_foreach([_Lt_prefix], [$2], - [m4_foreach([_Lt_suffix], - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) - - -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) -# ----------------------------------------------------------------------- -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. -m4_define([lt_if_append_uniq], -[m4_ifdef([$1], - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], - [lt_append([$1], [$2], [$3])$4], - [$5])], - [lt_append([$1], [$2], [$3])$4])]) - - -# lt_dict_add(DICT, KEY, VALUE) -# ----------------------------- -m4_define([lt_dict_add], -[m4_define([$1($2)], [$3])]) - - -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) -# -------------------------------------------- -m4_define([lt_dict_add_subkey], -[m4_define([$1($2:$3)], [$4])]) - - -# lt_dict_fetch(DICT, KEY, [SUBKEY]) -# ---------------------------------- -m4_define([lt_dict_fetch], -[m4_ifval([$3], - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) - - -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) -# ----------------------------------------------------------------- -m4_define([lt_if_dict_fetch], -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], - [$5], - [$6])]) - - -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) -# -------------------------------------------------------------- -m4_define([lt_dict_filter], -[m4_if([$5], [], [], - [lt_join(m4_quote(m4_default([$4], [[, ]])), - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl -]) diff --git a/Build/source/extra/xz/m4/ltversion.m4 b/Build/source/extra/xz/m4/ltversion.m4 deleted file mode 100644 index 07a8602d48d..00000000000 --- a/Build/source/extra/xz/m4/ltversion.m4 +++ /dev/null @@ -1,23 +0,0 @@ -# ltversion.m4 -- version numbers -*- Autoconf -*- -# -# Copyright (C) 2004 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004 -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# @configure_input@ - -# serial 3337 ltversion.m4 -# This file is part of GNU Libtool - -m4_define([LT_PACKAGE_VERSION], [2.4.2]) -m4_define([LT_PACKAGE_REVISION], [1.3337]) - -AC_DEFUN([LTVERSION_VERSION], -[macro_version='2.4.2' -macro_revision='1.3337' -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) -_LT_DECL(, macro_revision, 0) -]) diff --git a/Build/source/extra/xz/m4/lt~obsolete.m4 b/Build/source/extra/xz/m4/lt~obsolete.m4 deleted file mode 100644 index c573da90c5c..00000000000 --- a/Build/source/extra/xz/m4/lt~obsolete.m4 +++ /dev/null @@ -1,98 +0,0 @@ -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- -# -# Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. -# Written by Scott James Remnant, 2004. -# -# This file is free software; the Free Software Foundation gives -# unlimited permission to copy and/or distribute it, with or without -# modifications, as long as this notice is preserved. - -# serial 5 lt~obsolete.m4 - -# These exist entirely to fool aclocal when bootstrapping libtool. -# -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) -# which have later been changed to m4_define as they aren't part of the -# exported API, or moved to Autoconf or Automake where they belong. -# -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us -# using a macro with the same name in our local m4/libtool.m4 it'll -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define -# and doesn't know about Autoconf macros at all.) -# -# So we provide this file, which has a silly filename so it's always -# included after everything else. This provides aclocal with the -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything -# because those macros already exist, or will be overwritten later. -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. -# -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. -# Yes, that means every name once taken will need to remain here until -# we give up compatibility with versions before 1.7, at which point -# we need to keep only those names which we still refer to. - -# This is to help aclocal find these macros, as it can't see m4_define. -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) - -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) -m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) -m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) -m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) -m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) -m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) -m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) -m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) diff --git a/Build/source/extra/xz/m4/nls.m4 b/Build/source/extra/xz/m4/nls.m4 deleted file mode 100644 index 003704c4b93..00000000000 --- a/Build/source/extra/xz/m4/nls.m4 +++ /dev/null @@ -1,32 +0,0 @@ -# nls.m4 serial 5 (gettext-0.18) -dnl Copyright (C) 1995-2003, 2005-2006, 2008-2010 Free Software Foundation, -dnl Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -AC_DEFUN([AM_NLS], -[ - AC_MSG_CHECKING([whether NLS is requested]) - dnl Default is enabled NLS - AC_ARG_ENABLE([nls], - [ --disable-nls do not use Native Language Support], - USE_NLS=$enableval, USE_NLS=yes) - AC_MSG_RESULT([$USE_NLS]) - AC_SUBST([USE_NLS]) -]) diff --git a/Build/source/extra/xz/m4/po.m4 b/Build/source/extra/xz/m4/po.m4 deleted file mode 100644 index 47f36a41a07..00000000000 --- a/Build/source/extra/xz/m4/po.m4 +++ /dev/null @@ -1,449 +0,0 @@ -# po.m4 serial 17 (gettext-0.18) -dnl Copyright (C) 1995-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1995-2000. -dnl Bruno Haible , 2000-2003. - -AC_PREREQ([2.50]) - -dnl Checks for all prerequisites of the po subdirectory. -AC_DEFUN([AM_PO_SUBDIRS], -[ - AC_REQUIRE([AC_PROG_MAKE_SET])dnl - AC_REQUIRE([AC_PROG_INSTALL])dnl - AC_REQUIRE([AM_PROG_MKDIR_P])dnl defined by automake - AC_REQUIRE([AM_NLS])dnl - - dnl Release version of the gettext macros. This is used to ensure that - dnl the gettext macros and po/Makefile.in.in are in sync. - AC_SUBST([GETTEXT_MACRO_VERSION], [0.18]) - - dnl Perform the following tests also if --disable-nls has been given, - dnl because they are needed for "make dist" to work. - - dnl Search for GNU msgfmt in the PATH. - dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions. - dnl The second test excludes FreeBSD msgfmt. - AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, - [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT]) - - dnl Test whether it is GNU msgfmt >= 0.15. -changequote(,)dnl - case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;; - *) MSGFMT_015=$MSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([MSGFMT_015]) -changequote(,)dnl - case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;; - *) GMSGFMT_015=$GMSGFMT ;; - esac -changequote([,])dnl - AC_SUBST([GMSGFMT_015]) - - dnl Search for GNU xgettext 0.12 or newer in the PATH. - dnl The first test excludes Solaris xgettext and early GNU xgettext versions. - dnl The second test excludes FreeBSD xgettext. - AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, - [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 && - (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], - :) - dnl Remove leftover from FreeBSD xgettext call. - rm -f messages.po - - dnl Test whether it is GNU xgettext >= 0.15. -changequote(,)dnl - case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;; - *) XGETTEXT_015=$XGETTEXT ;; - esac -changequote([,])dnl - AC_SUBST([XGETTEXT_015]) - - dnl Search for GNU msgmerge 0.11 or newer in the PATH. - AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge, - [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :) - - dnl Installation directories. - dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we - dnl have to define it here, so that it can be used in po/Makefile. - test -n "$localedir" || localedir='${datadir}/locale' - AC_SUBST([localedir]) - - dnl Support for AM_XGETTEXT_OPTION. - test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS= - AC_SUBST([XGETTEXT_EXTRA_OPTIONS]) - - AC_CONFIG_COMMANDS([po-directories], [[ - for ac_file in $CONFIG_FILES; do - # Support "outfile[:infile[:infile...]]" - case "$ac_file" in - *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; - esac - # PO directories have a Makefile.in generated from Makefile.in.in. - case "$ac_file" in */Makefile.in) - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - # Treat a directory as a PO directory if and only if it has a - # POTFILES.in file. This allows packages to have multiple PO - # directories under different names or in different locations. - if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then - rm -f "$ac_dir/POTFILES" - test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES" - cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ]*\$/d" -e "s,.*, $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES" - POMAKEFILEDEPS="POTFILES.in" - # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend - # on $ac_dir but don't depend on user-specified configuration - # parameters. - if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then - # The LINGUAS file contains the set of available languages. - if test -n "$OBSOLETE_ALL_LINGUAS"; then - test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete" - fi - ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"` - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$ALL_LINGUAS_' - POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS" - else - # The set of available languages was given in configure.in. - # Hide the ALL_LINGUAS assigment from automake < 1.5. - eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS' - fi - # Compute POFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po) - # Compute UPDATEPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).po-update) - # Compute DUMMYPOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(lang).nop) - # Compute GMOFILES - # as $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo) - case "$ac_given_srcdir" in - .) srcdirpre= ;; - *) srcdirpre='$(srcdir)/' ;; - esac - POFILES= - UPDATEPOFILES= - DUMMYPOFILES= - GMOFILES= - for lang in $ALL_LINGUAS; do - POFILES="$POFILES $srcdirpre$lang.po" - UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" - DUMMYPOFILES="$DUMMYPOFILES $lang.nop" - GMOFILES="$GMOFILES $srcdirpre$lang.gmo" - done - # CATALOGS depends on both $ac_dir and the user's LINGUAS - # environment variable. - INST_LINGUAS= - if test -n "$ALL_LINGUAS"; then - for presentlang in $ALL_LINGUAS; do - useit=no - if test "%UNSET%" != "$LINGUAS"; then - desiredlanguages="$LINGUAS" - else - desiredlanguages="$ALL_LINGUAS" - fi - for desiredlang in $desiredlanguages; do - # Use the presentlang catalog if desiredlang is - # a. equal to presentlang, or - # b. a variant of presentlang (because in this case, - # presentlang can be used as a fallback for messages - # which are not translated in the desiredlang catalog). - case "$desiredlang" in - "$presentlang"*) useit=yes;; - esac - done - if test $useit = yes; then - INST_LINGUAS="$INST_LINGUAS $presentlang" - fi - done - fi - CATALOGS= - if test -n "$INST_LINGUAS"; then - for lang in $INST_LINGUAS; do - CATALOGS="$CATALOGS $lang.gmo" - done - fi - test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile" - sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile" - for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do - if test -f "$f"; then - case "$f" in - *.orig | *.bak | *~) ;; - *) cat "$f" >> "$ac_dir/Makefile" ;; - esac - fi - done - fi - ;; - esac - done]], - [# Capture the value of obsolete ALL_LINGUAS because we need it to compute - # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it - # from automake < 1.5. - eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"' - # Capture the value of LINGUAS because we need it to compute CATALOGS. - LINGUAS="${LINGUAS-%UNSET%}" - ]) -]) - -dnl Postprocesses a Makefile in a directory containing PO files. -AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE], -[ - # When this code is run, in config.status, two variables have already been - # set: - # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in, - # - LINGUAS is the value of the environment variable LINGUAS at configure - # time. - -changequote(,)dnl - # Adjust a relative srcdir. - ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'` - ac_dir_suffix="/`echo "$ac_dir"|sed 's%^\./%%'`" - ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'` - # In autoconf-2.13 it is called $ac_given_srcdir. - # In autoconf-2.50 it is called $srcdir. - test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir" - case "$ac_given_srcdir" in - .) top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;; - /*) top_srcdir="$ac_given_srcdir" ;; - *) top_srcdir="$ac_dots$ac_given_srcdir" ;; - esac - - # Find a way to echo strings without interpreting backslash. - if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='echo' - else - if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then - gt_echo='printf %s\n' - else - echo_func () { - cat < "$ac_file.tmp" - if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'` - cat >> "$ac_file.tmp" < /dev/null; then - # Add dependencies that cannot be formulated as a simple suffix rule. - for lang in $ALL_LINGUAS; do - frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'` - cat >> "$ac_file.tmp" <> "$ac_file.tmp" </dev/null \ - && break;; - esac - done]) - - if test "$gl_cv_posix_shell" != no; then - POSIX_SHELL=$gl_cv_posix_shell - PREFERABLY_POSIX_SHELL=$POSIX_SHELL - else - POSIX_SHELL= - PREFERABLY_POSIX_SHELL=/bin/sh - fi - AC_SUBST([POSIX_SHELL]) - AC_SUBST([PREFERABLY_POSIX_SHELL]) -]) diff --git a/Build/source/extra/xz/m4/progtest.m4 b/Build/source/extra/xz/m4/progtest.m4 deleted file mode 100644 index 2d804ac99d7..00000000000 --- a/Build/source/extra/xz/m4/progtest.m4 +++ /dev/null @@ -1,92 +0,0 @@ -# progtest.m4 serial 6 (gettext-0.18) -dnl Copyright (C) 1996-2003, 2005, 2008-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. -dnl -dnl This file can can be used in projects which are not available under -dnl the GNU General Public License or the GNU Library General Public -dnl License but which still want to provide support for the GNU gettext -dnl functionality. -dnl Please note that the actual code of the GNU gettext library is covered -dnl by the GNU Library General Public License, and the rest of the GNU -dnl gettext package package is covered by the GNU General Public License. -dnl They are *not* in the public domain. - -dnl Authors: -dnl Ulrich Drepper , 1996. - -AC_PREREQ([2.50]) - -# Search path for a program which passes the given test. - -dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, -dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) -AC_DEFUN([AM_PATH_PROG_WITH_TEST], -[ -# Prepare PATH_SEPARATOR. -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - echo "#! /bin/sh" >conf$$.sh - echo "exit 0" >>conf$$.sh - chmod +x conf$$.sh - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then - PATH_SEPARATOR=';' - else - PATH_SEPARATOR=: - fi - rm -f conf$$.sh -fi - -# Find out how to test for executable files. Don't use a zero-byte file, -# as systems may use methods other than mode bits to determine executability. -cat >conf$$.file <<_ASEOF -#! /bin/sh -exit 0 -_ASEOF -chmod +x conf$$.file -if test -x conf$$.file >/dev/null 2>&1; then - ac_executable_p="test -x" -else - ac_executable_p="test -f" -fi -rm -f conf$$.file - -# Extract the first word of "$2", so it can be a program name with args. -set dummy $2; ac_word=[$]2 -AC_MSG_CHECKING([for $ac_word]) -AC_CACHE_VAL([ac_cv_path_$1], -[case "[$]$1" in - [[\\/]]* | ?:[[\\/]]*) - ac_cv_path_$1="[$]$1" # Let the user override the test with a path. - ;; - *) - ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in ifelse([$5], , $PATH, [$5]); do - IFS="$ac_save_IFS" - test -z "$ac_dir" && ac_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then - echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD - if [$3]; then - ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext" - break 2 - fi - fi - done - done - IFS="$ac_save_IFS" -dnl If no 4th arg is given, leave the cache variable unset, -dnl so AC_PATH_PROGS will keep looking. -ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" -])dnl - ;; -esac])dnl -$1="$ac_cv_path_$1" -if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then - AC_MSG_RESULT([$][$1]) -else - AC_MSG_RESULT([no]) -fi -AC_SUBST([$1])dnl -]) diff --git a/Build/source/extra/xz/m4/tuklib_common.m4 b/Build/source/extra/xz/m4/tuklib_common.m4 deleted file mode 100644 index d942a25fa28..00000000000 --- a/Build/source/extra/xz/m4/tuklib_common.m4 +++ /dev/null @@ -1,22 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_COMMON -# -# DESCRIPTION -# -# Common checks for tuklib. -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_COMMON], [ -AC_REQUIRE([AC_CANONICAL_HOST]) -AC_REQUIRE([AC_PROG_CC_C99]) -AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) -])dnl diff --git a/Build/source/extra/xz/m4/tuklib_cpucores.m4 b/Build/source/extra/xz/m4/tuklib_cpucores.m4 deleted file mode 100644 index 9e295c8f62a..00000000000 --- a/Build/source/extra/xz/m4/tuklib_cpucores.m4 +++ /dev/null @@ -1,105 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_CPUCORES -# -# DESCRIPTION -# -# Check how to find out the number of available CPU cores in the system. -# This information is used by tuklib_cpucores.c. -# -# Supported methods: -# - sysctl(): BSDs, OS/2 -# - sysconf(): GNU/Linux, Solaris, Tru64, IRIX, AIX, Cygwin -# - pstat_getdynamic(): HP-UX -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_CPUCORES], [ -AC_REQUIRE([TUKLIB_COMMON]) - -# sys/param.h might be needed by sys/sysctl.h. -AC_CHECK_HEADERS([sys/param.h]) - -AC_CACHE_CHECK([how to detect the number of available CPU cores], - [tuklib_cv_cpucores_method], [ - -# Look for sysctl() solution first, because on OS/2, both sysconf() -# and sysctl() pass the tests in this file, but only sysctl() -# actually works. -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -#ifdef HAVE_SYS_PARAM_H -# include -#endif -#include -int -main(void) -{ - int name[2] = { CTL_HW, HW_NCPU }; - int cpus; - size_t cpus_size = sizeof(cpus); - sysctl(name, 2, &cpus, &cpus_size, NULL, 0); - return 0; -} -]])], [tuklib_cv_cpucores_method=sysctl], [ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -int -main(void) -{ - long i; -#ifdef _SC_NPROCESSORS_ONLN - /* Many systems using sysconf() */ - i = sysconf(_SC_NPROCESSORS_ONLN); -#else - /* IRIX */ - i = sysconf(_SC_NPROC_ONLN); -#endif - return 0; -} -]])], [tuklib_cv_cpucores_method=sysconf], [ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -#include - -int -main(void) -{ - struct pst_dynamic pst; - pstat_getdynamic(&pst, sizeof(pst), 1, 0); - (void)pst.psd_proc_cnt; - return 0; -} -]])], [tuklib_cv_cpucores_method=pstat_getdynamic], [ - - tuklib_cv_cpucores_method=unknown -])])])]) - -case $tuklib_cv_cpucores_method in - sysctl) - AC_DEFINE([TUKLIB_CPUCORES_SYSCTL], [1], - [Define to 1 if the number of available CPU cores - can be detected with sysctl().]) - ;; - sysconf) - AC_DEFINE([TUKLIB_CPUCORES_SYSCONF], [1], - [Define to 1 if the number of available CPU cores - can be detected with sysconf(_SC_NPROCESSORS_ONLN) - or sysconf(_SC_NPROC_ONLN).]) - ;; - pstat_getdynamic) - AC_DEFINE([TUKLIB_CPUCORES_PSTAT_GETDYNAMIC], [1], - [Define to 1 if the number of available CPU cores - can be detected with pstat_getdynamic().]) - ;; -esac -])dnl diff --git a/Build/source/extra/xz/m4/tuklib_integer.m4 b/Build/source/extra/xz/m4/tuklib_integer.m4 deleted file mode 100644 index 5fe66eef1c2..00000000000 --- a/Build/source/extra/xz/m4/tuklib_integer.m4 +++ /dev/null @@ -1,74 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_INTEGER -# -# DESCRIPTION -# -# Checks for tuklib_integer.h: -# - Endianness -# - Does operating system provide byte swapping macros -# - Does the hardware support fast unaligned access to 16-bit -# and 32-bit integers -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_INTEGER], [ -AC_REQUIRE([TUKLIB_COMMON]) -AC_REQUIRE([AC_C_BIGENDIAN]) -AC_CHECK_HEADERS([byteswap.h sys/endian.h sys/byteorder.h], [break]) - -# Even if we have byteswap.h, we may lack the specific macros/functions. -if test x$ac_cv_header_byteswap_h = xyes ; then - m4_foreach([FUNC], [bswap_16,bswap_32,bswap_64], [ - AC_MSG_CHECKING([if FUNC is available]) - AC_LINK_IFELSE([AC_LANG_SOURCE([ -#include -int -main(void) -{ - FUNC[](42); - return 0; -} - ])], [ - AC_DEFINE(HAVE_[]m4_toupper(FUNC), [1], - [Define to 1 if] FUNC [is available.]) - AC_MSG_RESULT([yes]) - ], [AC_MSG_RESULT([no])]) - - ])dnl -fi - -AC_MSG_CHECKING([if unaligned memory access should be used]) -AC_ARG_ENABLE([unaligned-access], AC_HELP_STRING([--enable-unaligned-access], - [Enable if the system supports *fast* unaligned memory access - with 16-bit and 32-bit integers. By default, this is enabled - only on x86, x86_64, and big endian PowerPC.]), - [], [enable_unaligned_access=auto]) -if test "x$enable_unaligned_access" = xauto ; then - # TODO: There may be other architectures, on which unaligned access - # is OK. - case $host_cpu in - i?86|x86_64|powerpc|powerpc64) - enable_unaligned_access=yes - ;; - *) - enable_unaligned_access=no - ;; - esac -fi -if test "x$enable_unaligned_access" = xyes ; then - AC_DEFINE([TUKLIB_FAST_UNALIGNED_ACCESS], [1], [Define to 1 if - the system supports fast unaligned access to 16-bit and - 32-bit integers.]) - AC_MSG_RESULT([yes]) -else - AC_MSG_RESULT([no]) -fi -])dnl diff --git a/Build/source/extra/xz/m4/tuklib_mbstr.m4 b/Build/source/extra/xz/m4/tuklib_mbstr.m4 deleted file mode 100644 index 991be9b9cc2..00000000000 --- a/Build/source/extra/xz/m4/tuklib_mbstr.m4 +++ /dev/null @@ -1,30 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_MBSTR -# -# DESCRIPTION -# -# Check if multibyte and wide character functionality is available -# for use by tuklib_mbstr_* functions. If not enough multibyte string -# support is available in the C library, the functions keep working -# with the assumption that all strings are a in single-byte character -# set without combining characters, e.g. US-ASCII or ISO-8859-*. -# -# This .m4 file and tuklib_mbstr.h are common to all tuklib_mbstr_* -# functions, but each function is put into a separate .c file so -# that it is possible to pick only what is strictly needed. -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_MBSTR], [ -AC_REQUIRE([TUKLIB_COMMON]) -AC_FUNC_MBRTOWC -AC_CHECK_FUNCS([wcwidth]) -])dnl diff --git a/Build/source/extra/xz/m4/tuklib_physmem.m4 b/Build/source/extra/xz/m4/tuklib_physmem.m4 deleted file mode 100644 index 124992565b8..00000000000 --- a/Build/source/extra/xz/m4/tuklib_physmem.m4 +++ /dev/null @@ -1,211 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_PHYSMEM -# -# DESCRIPTION -# -# Check how to get the amount of physical memory. -# This information is used in tuklib_physmem.c. -# -# Supported methods: -# -# - Windows (including Cygwin), OS/2, DJGPP (DOS), and OpenVMS have -# operating-system specific functions. -# -# - AIX has _system_configuration.physmem. -# -# - sysconf() works on GNU/Linux and Solaris, and possibly on -# some BSDs. -# -# - BSDs use sysctl(). -# -# - Tru64 uses getsysinfo(). -# -# - HP-UX uses pstat_getstatic(). -# -# - IRIX has setinvent_r(), getinvent_r(), and endinvent_r(). -# -# - sysinfo() works on Linux/dietlibc and probably on other Linux -# systems whose libc may lack sysconf(). -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_PHYSMEM], [ -AC_REQUIRE([TUKLIB_COMMON]) - -# sys/param.h might be needed by sys/sysctl.h. -AC_CHECK_HEADERS([sys/param.h]) - -AC_CACHE_CHECK([how to detect the amount of physical memory], - [tuklib_cv_physmem_method], [ - -# Maybe checking $host_os would be enough but this matches what -# tuklib_physmem.c does. -# -# NOTE: IRIX has a compiler that doesn't error out with #error, so use -# a non-compilable text instead of #error to generate an error. -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#if defined(_WIN32) || defined(__CYGWIN__) || defined(__OS2__) \ - || defined(__DJGPP__) || defined(__VMS) -int main(void) { return 0; } -#else -compile error -#endif -]])], [tuklib_cv_physmem_method=special], [ - -# Look for AIX-specific solution before sysconf(), because the test -# for sysconf() will pass on AIX but won't actually work -# (sysconf(_SC_PHYS_PAGES) compiles but always returns -1 on AIX). -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include - -int -main(void) -{ - (void)_system_configuration.physmem; - return 0; -} -]])], [tuklib_cv_physmem_method=aix], [ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -int -main(void) -{ - long i; - i = sysconf(_SC_PAGESIZE); - i = sysconf(_SC_PHYS_PAGES); - return 0; -} -]])], [tuklib_cv_physmem_method=sysconf], [ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -#ifdef HAVE_SYS_PARAM_H -# include -#endif -#include -int -main(void) -{ - int name[2] = { CTL_HW, HW_PHYSMEM }; - unsigned long mem; - size_t mem_ptr_size = sizeof(mem); - sysctl(name, 2, &mem, &mem_ptr_size, NULL, 0); - return 0; -} -]])], [tuklib_cv_physmem_method=sysctl], [ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -#include - -int -main(void) -{ - int memkb; - int start = 0; - getsysinfo(GSI_PHYSMEM, (caddr_t)&memkb, sizeof(memkb), &start); - return 0; -} -]])], [tuklib_cv_physmem_method=getsysinfo],[ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -#include - -int -main(void) -{ - struct pst_static pst; - pstat_getstatic(&pst, sizeof(pst), 1, 0); - (void)pst.physical_memory; - (void)pst.page_size; - return 0; -} -]])], [tuklib_cv_physmem_method=pstat_getstatic],[ - -AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -int -main(void) -{ - inv_state_t *st = NULL; - setinvent_r(&st); - getinvent_r(st); - endinvent_r(st); - return 0; -} -]])], [tuklib_cv_physmem_method=getinvent_r], [ - -# This version of sysinfo() is Linux-specific. Some non-Linux systems have -# different sysinfo() so we must check $host_os. -case $host_os in - linux*) - AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ -#include -int -main(void) -{ - struct sysinfo si; - sysinfo(&si); - return 0; -} - ]])], [ - tuklib_cv_physmem_method=sysinfo - ], [ - tuklib_cv_physmem_method=unknown - ]) - ;; - *) - tuklib_cv_physmem_method=unknown - ;; -esac -])])])])])])])]) - -case $tuklib_cv_physmem_method in - aix) - AC_DEFINE([TUKLIB_PHYSMEM_AIX], [1], - [Define to 1 if the amount of physical memory - can be detected with _system_configuration.physmem.]) - ;; - sysconf) - AC_DEFINE([TUKLIB_PHYSMEM_SYSCONF], [1], - [Define to 1 if the amount of physical memory can - be detected with sysconf(_SC_PAGESIZE) and - sysconf(_SC_PHYS_PAGES).]) - ;; - sysctl) - AC_DEFINE([TUKLIB_PHYSMEM_SYSCTL], [1], - [Define to 1 if the amount of physical memory can - be detected with sysctl().]) - ;; - getsysinfo) - AC_DEFINE([TUKLIB_PHYSMEM_GETSYSINFO], [1], - [Define to 1 if the amount of physical memory can - be detected with getsysinfo().]) - ;; - pstat_getstatic) - AC_DEFINE([TUKLIB_PHYSMEM_PSTAT_GETSTATIC], [1], - [Define to 1 if the amount of physical memory can - be detected with pstat_getstatic().]) - ;; - getinvent_r) - AC_DEFINE([TUKLIB_PHYSMEM_GETINVENT_R], [1], - [Define to 1 if the amount of physical memory - can be detected with getinvent_r().]) - ;; - sysinfo) - AC_DEFINE([TUKLIB_PHYSMEM_SYSINFO], [1], - [Define to 1 if the amount of physical memory - can be detected with Linux sysinfo().]) - ;; -esac -])dnl diff --git a/Build/source/extra/xz/m4/tuklib_progname.m4 b/Build/source/extra/xz/m4/tuklib_progname.m4 deleted file mode 100644 index f3e158bd486..00000000000 --- a/Build/source/extra/xz/m4/tuklib_progname.m4 +++ /dev/null @@ -1,25 +0,0 @@ -# -# SYNOPSIS -# -# TUKLIB_PROGNAME -# -# DESCRIPTION -# -# Put argv[0] into a global variable progname. On DOS-like systems, -# modify it so that it looks nice (no full path or .exe suffix). -# -# This .m4 file is needed allow this module to use glibc's -# program_invocation_name. -# -# COPYING -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -AC_DEFUN_ONCE([TUKLIB_PROGNAME], [ -AC_REQUIRE([TUKLIB_COMMON]) -AC_CHECK_DECLS([program_invocation_name], [], [], [#include ]) -])dnl diff --git a/Build/source/extra/xz/m4/visibility.m4 b/Build/source/extra/xz/m4/visibility.m4 deleted file mode 100644 index 077c4765ec2..00000000000 --- a/Build/source/extra/xz/m4/visibility.m4 +++ /dev/null @@ -1,74 +0,0 @@ -# visibility.m4 serial 3 (gettext-0.18) -dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc. -dnl This file is free software; the Free Software Foundation -dnl gives unlimited permission to copy and/or distribute it, -dnl with or without modifications, as long as this notice is preserved. - -dnl From Bruno Haible. - -dnl Tests whether the compiler supports the command-line option -dnl -fvisibility=hidden and the function and variable attributes -dnl __attribute__((__visibility__("hidden"))) and -dnl __attribute__((__visibility__("default"))). -dnl Does *not* test for __visibility__("protected") - which has tricky -dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on -dnl MacOS X. -dnl Does *not* test for __visibility__("internal") - which has processor -dnl dependent semantics. -dnl Does *not* test for #pragma GCC visibility push(hidden) - which is -dnl "really only recommended for legacy code". -dnl Set the variable CFLAG_VISIBILITY. -dnl Defines and sets the variable HAVE_VISIBILITY. - -AC_DEFUN([gl_VISIBILITY], -[ - AC_REQUIRE([AC_PROG_CC]) - CFLAG_VISIBILITY= - HAVE_VISIBILITY=0 - if test -n "$GCC"; then - dnl First, check whether -Werror can be added to the command line, or - dnl whether it leads to an error because of some other option that the - dnl user has put into $CC $CFLAGS $CPPFLAGS. - AC_MSG_CHECKING([whether the -Werror option is usable]) - AC_CACHE_VAL([gl_cv_cc_vis_werror], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -Werror" - AC_TRY_COMPILE([], [], - [gl_cv_cc_vis_werror=yes], - [gl_cv_cc_vis_werror=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_vis_werror]) - dnl Now check whether visibility declarations are supported. - AC_MSG_CHECKING([for simple visibility declarations]) - AC_CACHE_VAL([gl_cv_cc_visibility], [ - gl_save_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -fvisibility=hidden" - dnl We use the option -Werror and a function dummyfunc, because on some - dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning - dnl "visibility attribute not supported in this configuration; ignored" - dnl at the first function definition in every compilation unit, and we - dnl don't want to use the option in this case. - if test $gl_cv_cc_vis_werror = yes; then - CFLAGS="$CFLAGS -Werror" - fi - AC_TRY_COMPILE( - [extern __attribute__((__visibility__("hidden"))) int hiddenvar; - extern __attribute__((__visibility__("default"))) int exportedvar; - extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void); - extern __attribute__((__visibility__("default"))) int exportedfunc (void); - void dummyfunc (void) {}], - [], - [gl_cv_cc_visibility=yes], - [gl_cv_cc_visibility=no]) - CFLAGS="$gl_save_CFLAGS"]) - AC_MSG_RESULT([$gl_cv_cc_visibility]) - if test $gl_cv_cc_visibility = yes; then - CFLAG_VISIBILITY="-fvisibility=hidden" - HAVE_VISIBILITY=1 - fi - fi - AC_SUBST([CFLAG_VISIBILITY]) - AC_SUBST([HAVE_VISIBILITY]) - AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], - [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.]) -]) diff --git a/Build/source/extra/xz/macosx/build.sh b/Build/source/extra/xz/macosx/build.sh deleted file mode 100755 index d48ee61bd16..00000000000 --- a/Build/source/extra/xz/macosx/build.sh +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh - -############################################################################### -# Author: Anders F Björklund -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -############################################################################### - -mkdir -p Root -mkdir -p Resources - -# Abort immediately if something goes wrong. -set -e - -# Clean up if it was already configured. -[ -f Makefile ] && make distclean - -# Build the regular fat program - -CC="gcc-4.0" \ -CFLAGS="-O2 -g -arch ppc -arch ppc64 -arch i386 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \ -../configure --disable-dependency-tracking --disable-xzdec --disable-lzmadec i686-apple-darwin8 - -make - -make check - -make DESTDIR=`pwd`/Root install - -make distclean - -# Build the size-optimized program - -CC="gcc-4.0" \ -CFLAGS="-Os -g -arch ppc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" \ -../configure --disable-dependency-tracking --disable-shared --disable-nls --disable-encoders --enable-small --disable-threads i686-apple-darwin8 - -make -C src/liblzma -make -C src/xzdec -make -C src/xzdec DESTDIR=`pwd`/Root install - -cp -a ../extra Root/usr/local/share/doc/xz - -make distclean - -# Strip debugging symbols and make relocatable - -for bin in xz lzmainfo xzdec lzmadec; do - strip -S Root/usr/local/bin/$bin - install_name_tool -change /usr/local/lib/liblzma.5.dylib @executable_path/../lib/liblzma.5.dylib Root/usr/local/bin/$bin -done - -for lib in liblzma.5.dylib; do - strip -S Root/usr/local/lib/$lib - install_name_tool -id @executable_path/../lib/liblzma.5.dylib Root/usr/local/lib/$lib -done - -strip -S Root/usr/local/lib/liblzma.a -rm -f Root/usr/local/lib/liblzma.la - -# Include pkg-config while making relocatable - -sed -e 's|prefix=/usr/local|prefix=${pcfiledir}/../..|' < Root/usr/local/lib/pkgconfig/liblzma.pc > Root/liblzma.pc -mv Root/liblzma.pc Root/usr/local/lib/pkgconfig/liblzma.pc - -# Create tarball, but without the HFS+ attrib - -rmdir debug lib po src/liblzma/api src/liblzma src/lzmainfo src/scripts src/xz src/xzdec src tests - -( cd Root/usr/local; COPY_EXTENDED_ATTRIBUTES_DISABLE=true COPYFILE_DISABLE=true tar cvjf ../../../XZ.tbz * ) - -# Include documentation files for package - -cp -p ../README Resources/ReadMe.txt -cp -p ../COPYING Resources/License.txt - -# Make an Installer.app package - -ID="org.tukaani.xz" -VERSION=`cd ..; sh build-aux/version.sh` -PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker -$PACKAGEMAKER -r Root/usr/local -l /usr/local -e Resources -i $ID -n $VERSION -t XZ -o XZ.pkg -g 10.4 --verbose - -# Put the package in a disk image - -hdiutil create -fs HFS+ -format UDZO -quiet -srcfolder XZ.pkg -ov XZ.dmg -hdiutil internet-enable -yes -quiet XZ.dmg - -echo -echo "Build completed successfully." -echo diff --git a/Build/source/extra/xz/po/LINGUAS b/Build/source/extra/xz/po/LINGUAS deleted file mode 100644 index 6babcabd7d4..00000000000 --- a/Build/source/extra/xz/po/LINGUAS +++ /dev/null @@ -1,5 +0,0 @@ -cs -de -fr -it -pl diff --git a/Build/source/extra/xz/po/Makefile.in.in b/Build/source/extra/xz/po/Makefile.in.in deleted file mode 100644 index 83d8838ac01..00000000000 --- a/Build/source/extra/xz/po/Makefile.in.in +++ /dev/null @@ -1,444 +0,0 @@ -# Makefile for PO directory in any package using GNU gettext. -# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper -# -# This file can be copied and used freely without restrictions. It can -# be used in projects which are not available under the GNU General Public -# License but which still want to provide support for the GNU gettext -# functionality. -# Please note that the actual code of GNU gettext is covered by the GNU -# General Public License and is *not* in the public domain. -# -# Origin: gettext-0.18 -GETTEXT_MACRO_VERSION = 0.18 - -PACKAGE = @PACKAGE@ -VERSION = @VERSION@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ - -SHELL = /bin/sh -@SET_MAKE@ - -srcdir = @srcdir@ -top_srcdir = @top_srcdir@ -VPATH = @srcdir@ - -prefix = @prefix@ -exec_prefix = @exec_prefix@ -datarootdir = @datarootdir@ -datadir = @datadir@ -localedir = @localedir@ -gettextsrcdir = $(datadir)/gettext/po - -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ - -# We use $(mkdir_p). -# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as -# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions, -# @install_sh@ does not start with $(SHELL), so we add it. -# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined -# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake -# versions, $(mkinstalldirs) and $(install_sh) are unused. -mkinstalldirs = $(SHELL) @install_sh@ -d -install_sh = $(SHELL) @install_sh@ -MKDIR_P = @MKDIR_P@ -mkdir_p = @mkdir_p@ - -GMSGFMT_ = @GMSGFMT@ -GMSGFMT_no = @GMSGFMT@ -GMSGFMT_yes = @GMSGFMT_015@ -GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT)) -MSGFMT_ = @MSGFMT@ -MSGFMT_no = @MSGFMT@ -MSGFMT_yes = @MSGFMT_015@ -MSGFMT = $(MSGFMT_$(USE_MSGCTXT)) -XGETTEXT_ = @XGETTEXT@ -XGETTEXT_no = @XGETTEXT@ -XGETTEXT_yes = @XGETTEXT_015@ -XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT)) -MSGMERGE = msgmerge -MSGMERGE_UPDATE = @MSGMERGE@ --update -MSGINIT = msginit -MSGCONV = msgconv -MSGFILTER = msgfilter - -POFILES = @POFILES@ -GMOFILES = @GMOFILES@ -UPDATEPOFILES = @UPDATEPOFILES@ -DUMMYPOFILES = @DUMMYPOFILES@ -DISTFILES.common = Makefile.in.in remove-potcdate.sin \ -$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3) -DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \ -$(POFILES) $(GMOFILES) \ -$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3) - -POTFILES = \ - -CATALOGS = @CATALOGS@ - -# Makevars gets inserted here. (Don't remove this line!) - -.SUFFIXES: -.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - -.po.mo: - @echo "$(MSGFMT) -c -o $@ $<"; \ - $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ - -.po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \ - cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - -.sin.sed: - sed -e '/^#/d' $< > t-$@ - mv t-$@ $@ - - -all: check-macro-version all-@USE_NLS@ - -all-yes: stamp-po -all-no: - -# Ensure that the gettext macros and this Makefile.in.in are in sync. -check-macro-version: - @test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \ - || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \ - exit 1; \ - } - -# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no -# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because -# we don't want to bother translators with empty POT files). We assume that -# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty. -# In this case, stamp-po is a nop (i.e. a phony target). - -# stamp-po is a timestamp denoting the last time at which the CATALOGS have -# been loosely updated. Its purpose is that when a developer or translator -# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS, -# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent -# invocations of "make" will do nothing. This timestamp would not be necessary -# if updating the $(CATALOGS) would always touch them; however, the rule for -# $(POFILES) has been designed to not touch files that don't need to be -# changed. -stamp-po: $(srcdir)/$(DOMAIN).pot - test ! -f $(srcdir)/$(DOMAIN).pot || \ - test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES) - @test ! -f $(srcdir)/$(DOMAIN).pot || { \ - echo "touch stamp-po" && \ - echo timestamp > stamp-poT && \ - mv stamp-poT stamp-po; \ - } - -# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update', -# otherwise packages like GCC can not be built if only parts of the source -# have been downloaded. - -# This target rebuilds $(DOMAIN).pot; it is an expensive operation. -# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed. -$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed - if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \ - package_gnu='GNU '; \ - else \ - package_gnu=''; \ - fi; \ - if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \ - msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \ - else \ - msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \ - fi; \ - case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - *) \ - $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \ - --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \ - --files-from=$(srcdir)/POTFILES.in \ - --copyright-holder='$(COPYRIGHT_HOLDER)' \ - --package-name="$${package_gnu}@PACKAGE@" \ - --package-version='@VERSION@' \ - --msgid-bugs-address="$$msgid_bugs_address" \ - ;; \ - esac - test ! -f $(DOMAIN).po || { \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \ - sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \ - if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \ - else \ - rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - else \ - mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \ - fi; \ - } - -# This rule has no dependencies: we don't need to update $(DOMAIN).pot at -# every "make" invocation, only create it when it is missing. -# Only "make $(DOMAIN).pot-update" or "make dist" will force an update. -$(srcdir)/$(DOMAIN).pot: - $(MAKE) $(DOMAIN).pot-update - -# This target rebuilds a PO file if $(DOMAIN).pot has changed. -# Note that a PO file is not touched if it doesn't need to be changed. -$(POFILES): $(srcdir)/$(DOMAIN).pot - @lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \ - if test -f "$(srcdir)/$${lang}.po"; then \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \ - cd $(srcdir) \ - && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \ - esac; \ - }; \ - else \ - $(MAKE) $${lang}.po-create; \ - fi - - -install: install-exec install-data -install-exec: -install-data: install-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - for file in $(DISTFILES.common) Makevars.template; do \ - $(INSTALL_DATA) $(srcdir)/$$file \ - $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - for file in Makevars; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -install-data-no: all -install-data-yes: all - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \ - $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \ - echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \ - cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \ - fi; \ - done; \ - done - -install-strip: install - -installdirs: installdirs-exec installdirs-data -installdirs-exec: -installdirs-data: installdirs-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \ - else \ - : ; \ - fi -installdirs-data-no: -installdirs-data-yes: - @catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - dir=$(localedir)/$$lang/LC_MESSAGES; \ - $(mkdir_p) $(DESTDIR)$$dir; \ - for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \ - if test -n "$$lc"; then \ - if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \ - link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \ - mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \ - for file in *; do \ - if test -f $$file; then \ - ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \ - fi; \ - done); \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \ - else \ - if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \ - :; \ - else \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \ - mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \ - fi; \ - fi; \ - fi; \ - done; \ - done - -# Define this as empty until I found a useful application. -installcheck: - -uninstall: uninstall-exec uninstall-data -uninstall-exec: -uninstall-data: uninstall-data-@USE_NLS@ - if test "$(PACKAGE)" = "gettext-tools"; then \ - for file in $(DISTFILES.common) Makevars.template; do \ - rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \ - done; \ - else \ - : ; \ - fi -uninstall-data-no: -uninstall-data-yes: - catalogs='$(CATALOGS)'; \ - for cat in $$catalogs; do \ - cat=`basename $$cat`; \ - lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \ - for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \ - rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \ - done; \ - done - -check: all - -info dvi ps pdf html tags TAGS ctags CTAGS ID: - -mostlyclean: - rm -f remove-potcdate.sed - rm -f stamp-poT - rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po - rm -fr *.o - -clean: mostlyclean - -distclean: clean - rm -f Makefile Makefile.in POTFILES *.mo - -maintainer-clean: distclean - @echo "This command is intended for maintainers to use;" - @echo "it deletes files that may require special tools to rebuild." - rm -f stamp-po $(GMOFILES) - -distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir) -dist distdir: - $(MAKE) update-po - @$(MAKE) dist2 -# This is a separate target because 'update-po' must be executed before. -dist2: stamp-po $(DISTFILES) - dists="$(DISTFILES)"; \ - if test "$(PACKAGE)" = "gettext-tools"; then \ - dists="$$dists Makevars.template"; \ - fi; \ - if test -f $(srcdir)/$(DOMAIN).pot; then \ - dists="$$dists $(DOMAIN).pot stamp-po"; \ - fi; \ - if test -f $(srcdir)/ChangeLog; then \ - dists="$$dists ChangeLog"; \ - fi; \ - for i in 0 1 2 3 4 5 6 7 8 9; do \ - if test -f $(srcdir)/ChangeLog.$$i; then \ - dists="$$dists ChangeLog.$$i"; \ - fi; \ - done; \ - if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \ - for file in $$dists; do \ - if test -f $$file; then \ - cp -p $$file $(distdir) || exit 1; \ - else \ - cp -p $(srcdir)/$$file $(distdir) || exit 1; \ - fi; \ - done - -update-po: Makefile - $(MAKE) $(DOMAIN).pot-update - test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES) - $(MAKE) update-gmo - -# General rule for creating PO files. - -.nop.po-create: - @lang=`echo $@ | sed -e 's/\.po-create$$//'`; \ - echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \ - exit 1 - -# General rule for updating PO files. - -.nop.po-update: - @lang=`echo $@ | sed -e 's/\.po-update$$//'`; \ - if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ - echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \ - cd $(srcdir); \ - if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \ - '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - *) \ - $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \ - esac; \ - }; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "msgmerge for $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -$(DUMMYPOFILES): - -update-gmo: Makefile $(GMOFILES) - @: - -# Recreate Makefile by invoking config.status. Explicitly invoke the shell, -# because execution permission bits may not work on the current file system. -# Use @SHELL@, which is the shell determined by autoconf for the use by its -# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient. -Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@ - cd $(top_builddir) \ - && @SHELL@ ./config.status $(subdir)/$@.in po-directories - -force: - -# Tell versions [3.59,3.63) of GNU make not to export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/po/Makevars b/Build/source/extra/xz/po/Makevars deleted file mode 100644 index dc19bc96313..00000000000 --- a/Build/source/extra/xz/po/Makevars +++ /dev/null @@ -1,46 +0,0 @@ -# Makefile variables for PO directory in any package using GNU gettext. - -# Usually the message domain is the same as the package name. -DOMAIN = $(PACKAGE) - -# These two variables depend on the location of this directory. -subdir = po -top_builddir = .. - -# These options get passed to xgettext. -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ - -# This is the copyright holder that gets inserted into the header of the -# $(DOMAIN).pot file. Set this to the copyright holder of the surrounding -# package. (Note that the msgstr strings, extracted from the package's -# sources, belong to the copyright holder of the package.) Translators are -# expected to transfer the copyright for their translations to this person -# or entity, or to disclaim their copyright. The empty string stands for -# the public domain; in this case the translators are expected to disclaim -# their copyright. -COPYRIGHT_HOLDER = - -# This is the email address or URL to which the translators shall report -# bugs in the untranslated strings: -# - Strings which are not entire sentences, see the maintainer guidelines -# in the GNU gettext documentation, section 'Preparing Strings'. -# - Strings which use unclear terms or require additional context to be -# understood. -# - Strings which make invalid assumptions about notation of date, time or -# money. -# - Pluralisation problems. -# - Incorrect English spelling. -# - Incorrect formatting. -# It can be your email address, or a mailing list address where translators -# can write to without being subscribed, or the URL of a web page through -# which the translators can contact you. -MSGID_BUGS_ADDRESS = - -# This is the list of locale categories, beyond LC_MESSAGES, for which the -# message catalogs shall be used. It is usually empty. -EXTRA_LOCALE_CATEGORIES = - -# Although you may need slightly wider terminal than 80 chars, it is -# much nicer to edit the output of --help when this is set. -XGETTEXT_OPTIONS += --no-wrap -MSGMERGE += --no-wrap diff --git a/Build/source/extra/xz/po/POTFILES.in b/Build/source/extra/xz/po/POTFILES.in deleted file mode 100644 index e1438e0ec1f..00000000000 --- a/Build/source/extra/xz/po/POTFILES.in +++ /dev/null @@ -1,13 +0,0 @@ -# List of source files which contain translatable strings. -src/xz/args.c -src/xz/coder.c -src/xz/file_io.c -src/xz/hardware.c -src/xz/list.c -src/xz/main.c -src/xz/message.c -src/xz/options.c -src/xz/signals.c -src/xz/suffix.c -src/xz/util.c -src/common/tuklib_exit.c diff --git a/Build/source/extra/xz/po/Rules-quot b/Build/source/extra/xz/po/Rules-quot deleted file mode 100644 index af5248792a7..00000000000 --- a/Build/source/extra/xz/po/Rules-quot +++ /dev/null @@ -1,47 +0,0 @@ -# Special Makefile rules for English message catalogs with quotation marks. - -DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot - -.SUFFIXES: .insert-header .po-update-en - -en@quot.po-create: - $(MAKE) en@quot.po-update -en@boldquot.po-create: - $(MAKE) en@boldquot.po-update - -en@quot.po-update: en@quot.po-update-en -en@boldquot.po-update: en@boldquot.po-update-en - -.insert-header.po-update-en: - @lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \ - if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \ - tmpdir=`pwd`; \ - echo "$$lang:"; \ - ll=`echo $$lang | sed -e 's/@.*//'`; \ - LC_ALL=C; export LC_ALL; \ - cd $(srcdir); \ - if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$lang -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \ - if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ - rm -f $$tmpdir/$$lang.new.po; \ - else \ - if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ - :; \ - else \ - echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ - exit 1; \ - fi; \ - fi; \ - else \ - echo "creation of $$lang.po failed!" 1>&2; \ - rm -f $$tmpdir/$$lang.new.po; \ - fi - -en@quot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header - -en@boldquot.insert-header: insert-header.sin - sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header - -mostlyclean: mostlyclean-quot -mostlyclean-quot: - rm -f *.insert-header diff --git a/Build/source/extra/xz/po/boldquot.sed b/Build/source/extra/xz/po/boldquot.sed deleted file mode 100644 index 4b937aa517b..00000000000 --- a/Build/source/extra/xz/po/boldquot.sed +++ /dev/null @@ -1,10 +0,0 @@ -s/"\([^"]*\)"/“\1”/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“”/""/g -s/“/“/g -s/”/”/g -s/‘/‘/g -s/’/’/g diff --git a/Build/source/extra/xz/po/cs.gmo b/Build/source/extra/xz/po/cs.gmo deleted file mode 100644 index b54184a75c7..00000000000 Binary files a/Build/source/extra/xz/po/cs.gmo and /dev/null differ diff --git a/Build/source/extra/xz/po/cs.po b/Build/source/extra/xz/po/cs.po deleted file mode 100644 index c621b0c4469..00000000000 --- a/Build/source/extra/xz/po/cs.po +++ /dev/null @@ -1,885 +0,0 @@ -# XZ Utils Czech translation -# This file is put in the public domain. -# Marek Černocký , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: xz-utils\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: 2010-12-03 11:32+0100\n" -"Last-Translator: Marek Černocký \n" -"Language-Team: Czech \n" -"Language: cs\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2\n" -"X-Poedit-Language: Czech\n" -"X-Poedit-SourceCharset: utf-8\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "%s: Neznámý typ formátu souboru" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "%s: Neznámý typ kontroly integrity" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "Spolu s přepínači „--files“ nebo „--files0“ může být zadán pouze jeden soubor" - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "Proměnná prostředí %s obsahuje příliš mnoho argumentů" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "Maximální počet filtrů je čtyři" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "Omezení použitelné paměti je příliš malé pro dané nastavení filtru." - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "Použití přednastavení v režimu raw je nevhodné." - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "Přesné volby u přednastavení se mohou lišit mezi různými verzemi softwaru." - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "Formát .lzma podporuje pouze filtr LZMA1" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "LZMA1 nelze použít s formátem .xz" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "Nepodporovaný omezující filtr nebo volby filtru" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "Dekomprimace bude vyžadovat %s MiB paměti." - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "Přizpůsobit velikost slovníku LZMA%c z %s MiB na %s MiB, tak aby nebylo překročeno omezení použitelné paměti %s MiB" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "%s: Vypadá to, že soubor byl přesunut, proto nebude odstraněn" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "%s: Nelze odstranit: %s" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "%s: Nelze nastavit vlastníka souboru: %s" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "%s: Nelze nastavit skupinu souboru: %s" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "%s: Nelze nastavit oprávnění souboru: %s" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "%s: Jedná se o symbolický odkaz, vynechává se" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "%s: Jedná se o složku, vynechává se" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "%s: Nejedná se o běžný soubor, vynechává se" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "%s: Soubor má nastavený bit setuid nebo setgid, vynechává se" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "%s: Soubor má nastavený bit sticky, vynechává se" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "%s: Vstupní soubor má více než jeden pevný odkaz, vynechává se" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "Chyba při obnovení příznaku O_APPEND na standardní výstup: %s" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "%s: Selhalo zavření souboru: %s" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s: Selhalo nastavení pozice při pokusu o vytvoření souboru řídké matice: %s" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "%s: Chyba čtení: %s" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "%s: Chyba při posunu v rámci souboru: %s" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "%s: Neočekávaný konec souboru" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "%s: Chyba zápisu: %s" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "Vypnuto" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "Celkové množství fyzické paměti (RAM): " - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "Omezení použitelné paměti pro komprimaci: " - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "Omezení použitelné paměti pro dekomprimaci:" - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "žádná" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "neznámá-2" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "neznámá-3" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "neznámá-5" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "neznámá-6" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "neznámá-7" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "neznámá-8" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "neznámá-9" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "neznámá-11" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "neznámá-12" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "neznámá-13" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "neznámá-14" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "neznámá-15" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "%s: Soubor je prázdný" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "%s: Je příliš malý na to, aby to mohl být platný soubor .xz" - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr "Proud Bloky Komprim Nekomprim Poměr Kontrl Název souboru" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr " Proudů: %s\n" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr " Bloků: %s\n" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr " Komprimovaná velikost: %s\n" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr " Nekomprimovaná velikost: %s\n" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr " Poměr komprimace: %s\n" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr " Typ kontroly: %s\n" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr " Zarovnání proudu: %s\n" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" -" Proudy:\n" -" Proud Bloky KomprPozice NekomprPozice KomprVelikost NekomprVelikost Poměr Kontrola Zarovnání" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" -" Bloky:\n" -" Proud Blok KomprPozice NekomprPozice CelkVelikost NekomprVelikost Poměr Kontrola" - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr " KontrHod %*s Hlavič Příznaky KomprVel PoužiPam Filtry" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr " Potřebná paměť: %s MiB\n" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr " Velikosti v hlavičkách: %s\n" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "Ano" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "Ne" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "%s soubor\n" -msgstr[1] "%s soubory\n" -msgstr[2] "%s souborů\n" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "Celkem:" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr " Počet souborů: %s\n" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "--list pracuje pouze se soubory .xz (--format=xz nebo --format=auto)" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "--list nepodporuje čtení ze standardního vstupu" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "%s: Chyba při čtení názvů souborů: %s" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "%s: Neočekávaný konec vstupu při čtení názvů souborů" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "%s: Byl nalezen nulový znak při čtení názvů souborů; nechtěli jste náhodou použít „--files0“ místo „--files“?" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporovaná." - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "Ze standardního vstupu nelze číst data, když se ze standardního vstupu načítají názvy souborů" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "" - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "Interní chyba" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "Nelze ustanovit ovladač signálu" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "Žádná kontrola integrity; integrita souboru se nebude ověřovat" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "Nepodporovaný typ kontroly integrity; integrita souboru se nebude ověřovat" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "Dosaženo omezení použitelné paměti" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "Formát souboru nebyl rozpoznán" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "Nepodporovaná volba" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "Komprimovaná data jsou poškozená" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "Neočekávaný konec vstupu" - -#: src/xz/message.c:867 -#, fuzzy, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "Je vyžadováno %s MiB paměti. Limit je %s." - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "Je vyžadováno %s MiB paměti. Limit je %s." - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "%s: Omezující filtr: %s\n" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "Zkuste „%s --help“ pro více informací" - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" -"Použití: %s [PŘEPÍNAČ]... [SOUBOR]...\n" -"Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n" -"\n" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "Povinné argumenty pro dlouhé přepínače jsou povinné rovněž pro krátké přepínače.\n" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr "Operační režim:\n" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" -" -z, --compress provést komprimaci\n" -" -d, --decompress provést dekomprimaci\n" -" -t, --test testovat integritu komprimovaného souboru\n" -" -l, --list vypsat informace o souborech .xz" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" -"\n" -"Modifikátory operací:\n" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" -" -k, --keep zachovat (nemazat) vstupní soubory\n" -" -f, --force vynutit přepis výstupního souboru a de/komprimovat odkazy\n" -" -c, --stdout zapisovat na standardní výstup a nemazat vstupní soubory" - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" -" --no-sparse nevytvářet při dekomprimaci soubory řídkých matic\n" -" -S, --suffix=.PRIP použít u komprimovaných souborů příponu „.PRIP“\n" -" --files[=SOUBOR] číst názvy souborů, které se mají zpracovat, ze SOUBORu;\n" -" pokud není SOUBOR zadán, čte se ze standardního vstupu;\n" -" názvy souborů musí být zakončeny znakem nového řádku\n" -" --files0[=SOUBOR] stejné jako --files, ale použít k zakončování nulový znak" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" -"\n" -"Základní přepínače pro formát souboru a komprimaci:\n" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" -" -F, --format=FORMÁT formát souboru k zakódování nebo dekódování; možné\n" -" hodnoty jsou „auto“ (výchozí), „xz“, „lzma“ a „raw“\n" -" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s rozmyslem),\n" -" „crc32“, „crc64“ (výchozí) nebo „sha256“" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" -" -0 .. -9 přednastavení komprimace; výchozí je 6; než použijete\n" -" hodnoty 7 – 9, vezměte do úvahy množství použité paměti" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" -" -e, --extreme zkusit zlepšit poměr komprimace využitím více času\n" -" procesoru; nemá vliv na paměťové nároky dekomprimace" - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" nastaví omezení použitelné paměti pro komprimaci,\n" -" dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n" -" RAM nebo 0 pro výchozí" - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" -" --no-adjust pokud nastavení komprimace přesáhne omezení použitelné\n" -" paměti, předat chybu namísto snížení nastavení" - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" -"\n" -"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" -"\n" -" --lzma1[=VOLBY] LZMA1 nebo LZMA2; VOLBY je čárkou oddělovaný seznam žádné\n" -" --lzma2[=VOLBY] nebo více následujících voleb (platné hodnoty; výchozí):\n" -" preset=PŘE změnit volby na PŘEdnastavené (0 – 9[e])\n" -" dict=POČ velikost slovníku (4 KiB – 1536 MiB; 8 MiB)\n" -" lc=POČ počet kontextových bitů literálu (0 – 4; 3)\n" -" lp=POČ počet pozičních bitů literálu (0 – 4; 0)\n" -" pb=POČ počet pozičních bitů (0 – 4; 2)\n" -" mode=REŽIM režim komprimace (fast, normal; normal)\n" -" nice=NUM příznivá délka shody (2 – 273; 64)\n" -" mf=NÁZEV hledání shod (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=POČ maximální hloubka prohledávání;\n" -" 0 = automaticky (výchozí)" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" -"\n" -" --x86[=VOLBY] Filtr x86 BCJ (32bitový a 64bitový)\n" -" --powerpc[=VOLBY] Filtr PowerPC BCJ (pouze big endian)\n" -" --ia64[=VOLBY] Filtr IA64 (Itanium) BCJ\n" -" --arm[=VOLBY] Filtr ARM BCJ (pouze little endian)\n" -" --armthumb[=VOLBY] Filtr ARM-Thumb BCJ (pouze little endian)\n" -" --sparc[=VOLBY] Filtr SPARC BCJ\n" -" Platné volby pro všechny filtry BCJ:\n" -" start=POČ počáteční posun pro převody (výchozí=0)" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" -"\n" -" --delta[=VOLBY] Filtr Delta; platné VOLBY (platné hodnoty; výchozí):\n" -" dist=POČ vzdálenost mezi bajty, které jsou odečítány\n" -" jeden od druhého (1 – 256; 1)" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" -"\n" -" Ostatní přepínače:\n" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" -" -q, --quiet potlačit varování; zadáním dvakrát, potlačíte i chyby\n" -" -v, --verbose podrobnější zprávy; zadáním dvakrát, budou ještě\n" -" podrobnější" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr " -Q, --no-warn způsobí, že varování neovlivní stav ukončení" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr "" -" --robot použít strojově analyzovatelné zprávy (užitečné pro\n" -" skripty)" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr "" -" --info-memory zobrazit celkové množství paměti RAM a současné aktivní\n" -" omezení použitelné paměti a skončit" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" -" -h, --help zobrazit krátkou nápovědu (vypíše jen základní přepínače)\n" -" -H, --long-help zobrazit tuto úplnou nápovědu a skončit" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" -" -h, --help zobrazit tuto zkrácenou nápovědu a skončit\n" -" -H, --long-help zobrazit úplnou nápovědu (vypíše i pokročilé přepínače)" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr " -V, --version zobrazit číslo verze a skončit" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" -"\n" -"Pokud SOUBOR není zadán nebo pokud je -, bude se číst ze standardního vstupu.\n" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "Chyby hlaste na <%s> (v angličtině nebo finštině).\n" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "Domovská stránka %s: <%s>\n" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "%s: Volby musí být páry „název=hodnota“ oddělené čárkami" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "%s: Neplatný název volby" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "%s: Neplatná hodnota volby" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "Nepodporované přednastavení LZMA1/LZMA2: %s" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "Součet lc a lp nesmí překročit hodnotu 4" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "Vybraný vyhledávač shod vyžaduje minimálně nice=%" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "%s: S přepínačem --format=raw je vyžadován --sufix=.PRIP, vyjma zápisu do standardního výstupu" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "%s: Název souboru má neznámou příponu, vynechává se" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "%s: Soubor již má příponu „%s“, vynechává se" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "%s: Neplatná přípona názvu souboru" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "%s: Hodnota není nezáporné desítkové číslo" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "%s: Neplatná jednotka s předponou" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "Platné jednotky s předponami jsou „KiB“ (2^10 B), „MiB“ (2^20 B) a „GiB“ (2^30 B)." - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "Hodnota volby „%s“ musí být v rozsahu [%, %]" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "Prázdný název souboru, vynechává se" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "Z terminálu nelze číst komprimovaná data" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "Do terminálu nelze zapisovat komprimovaná data" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "Zápis do standardního výstupu selhal" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "Neznámá chyba" - -#~ msgid "Limit was %s MiB, but %s MiB would have been needed" -#~ msgstr "Limit byl %s MiB, ale bylo by zapotřebí %s MiB" - -#~ msgid "%s MiB (%s bytes)\n" -#~ msgstr "%s MiB (%s bajtů)\n" - -#~ msgid "" -#~ " -e, --extreme use more CPU time when encoding to increase compression\n" -#~ " ratio without increasing memory usage of the decoder" -#~ msgstr "" -#~ " -e, --extreme využít více procesorového času pro kódování, čímž se\n" -#~ " zvýší kompresní poměr bez zvýšení paměti použité kodérem" - -#~ msgid "" -#~ " -M, --memory=NUM use roughly NUM bytes of memory at maximum; 0 indicates\n" -#~ " the default setting, which is 40 % of total RAM" -#~ msgstr "" -#~ " -M, --memory=POČ použít zhruba POČ bajtů paměti jako maximum; 0 znamená\n" -#~ " výchozí nastavení, což je 40% celkového množství paměti" - -#~ msgid "" -#~ "\n" -#~ " --subblock[=OPTS] Subblock filter; valid OPTS (valid values; default):\n" -#~ " size=NUM number of bytes of data per subblock\n" -#~ " (1 - 256Mi; 4Ki)\n" -#~ " rle=NUM run-length encoder chunk size (0-256; 0)" -#~ msgstr "" -#~ "\n" -#~ " --subblock[=VOLBY] Subblokový filtr; platné VOLBY (platné hodnoty; výchozí):\n" -#~ " size=POČ počet bajtů dat na subblok\n" -#~ " (1 - 256 Mi; 4 Ki)\n" -#~ " rle=POČ velikost dávky pro kodér run-length (0-256; 0)" - -#~ msgid "" -#~ "On this system and configuration, this program will use a maximum of roughly\n" -#~ "%s MiB RAM and " -#~ msgstr "" -#~ "Na tomto systému a s tímto nastavením použije tento program maximum ze zhruba\n" -#~ "%s MiB RAM a " - -#~ msgid "" -#~ "one thread.\n" -#~ "\n" -#~ msgstr "" -#~ "jedno vlákno.\n" -#~ "\n" - -#~ msgid "%s: Invalid multiplier suffix. Valid suffixes:" -#~ msgstr "%s: Neplatná přípona. Platné přípony jsou:" diff --git a/Build/source/extra/xz/po/de.gmo b/Build/source/extra/xz/po/de.gmo deleted file mode 100644 index d7201dea0a4..00000000000 Binary files a/Build/source/extra/xz/po/de.gmo and /dev/null differ diff --git a/Build/source/extra/xz/po/de.po b/Build/source/extra/xz/po/de.po deleted file mode 100644 index bdd38a51813..00000000000 --- a/Build/source/extra/xz/po/de.po +++ /dev/null @@ -1,850 +0,0 @@ -# XZ Utils German translation -# This file is put in the public domain. -# Andre Noll , 2010. -# -msgid "" -msgstr "" -"Project-Id-Version: XZ Utils 4.999.9beta\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: 2010-09-07 20:27+0200\n" -"Last-Translator: \n" -"Language-Team: German\n" -"Language: de\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "%s: Unbekanntes file format" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "%s: Integritäts-Check Typ nicht unterstützt" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "Nur ein file kann als Argument für --files oder --files0 angegeben werden." - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "Die Umgebungsvariable %s enthält zu viele Argumente" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "Maximal vier Filter möglich" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "Das Speicher Limit ist zu niedrig für die gegebene Filter Konfiguration." - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "Verwendung der Voreinstellung im raw Modus wird nicht empfohlen." - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "Die genauen Optionen der Voreinstellung können zwischen Software Versionen variieren." - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "Das .lzma Format unterstützt nur den LZMA1 Filter" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "LZMA1 kann nicht mit dem .xz Format verwendet werden" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "Optionen nicht unterstützt" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "Dekompression wird %s MiB Speicher brauchen." - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "Passte LZMA%c Wörterbuch Größe von %s MiB to %s MiB an, um nicht das Speicher Nutzungslimit von %s MiB zu übersteigen" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "%s: Datei scheint umbenannt worden zu sein, daher wird sie nicht gelöscht" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "%s: Kann nicht löschen: %s" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "%s: Kann Datei Eigentümer nicht setzen: %s" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "%s: Kann Datei Gruppe nicht setzen: %s" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "%s: Kann Zugriffsrechte nicht setzen: %s" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "%s: Überspringe symbolischen Verweis" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "%s: Überspringe Verzeichnis" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "%s: Keine reguläre Datei, überspringe" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "%s: Datei hat das setuid oder setgid Bit gesetzt, überspringe" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "%s: Datei hat sticky Bit gesetzt, überspringe" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "%s: Eingabedatei hat mehr als einen hard link, überspringe" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "Fehler beim Wiederherstellen des O_APPEND flags bei Standard Output: %s" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "%s: Fehler beim Schießen der Datei: %s" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s: Positionierungsfehler beim Versuch eine sparse Datei zu erzeugen: %s" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "%s: Lesefehler: %s" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "%s: Fehler beim Lesen der Dateinamen: %s" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "%s: Unerwartetes Ende der Datei" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "%s: Schreibfehler: %s" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "Deaktiviert" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "Gesamtmenge physikalischer Speicher (RAM): " - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "Speicher Nutzungslimit für Kompression: " - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "Speicher Nutzungslimit für Dekompression: " - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "Kein" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "Unbek.2" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "Unbek.3" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "Unbek.5" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "Unbek.6" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "Unbek.7" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "Unbek.8" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "Unbek.9" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "Unbek.11" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "Unbek.12" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "Unbek.13" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "Unbek.14" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "Unbek.15" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "%s: Datei ist leer" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "%s: Zu klein um ein gültiges .xz file zu sein" - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr " Str. Blöcke Kompr. Unkompr. Verh. Check Dateiname" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr " Ströme: %s\n" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr " Blöcke: %s\n" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr " Größe komprimiert: %s\n" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr " Größe unkomprimiert: %s\n" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr " Verhältnis: %s\n" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr " Check: %s\n" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr " Strom Auffüllung: %s\n" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" -" Ströme:\n" -" Strom Blöcke KompOffset UnkompOffset KompGröße UnkompGröße Verh. Check Auffüllung" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" -" Blöcke:\n" -" Strom Block KompOffset UnkompOffset TotalGröße UnkompGröße Verh. Check" - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr " CheckWert %*s Kopf Schalter KompGröße Speicher Filter" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr " Benötigter Speicher: %s MiB\n" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr " Größe in Köpfen: %s\n" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "Ja" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "Nein" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "%s Datei\n" -msgstr[1] "%s Dateien\n" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "Gesamt:" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr " Anzahl Dateien: %s\n" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "--list funktioniert nur mit .xz Dateien (--format=xz oder --format=auto)" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "--list unterstützt kein Lesen der Standardeingabe" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "%s: Fehler beim Lesen der Dateinamen: %s" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "%s: Unerwartetes Ende beim Lesen der Dateinamen" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "%s: Null Charakter gefunden beim Lesen der Dateinamen; Meinten Sie `--files0' statt `--files'?" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt." - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "Lesen der Standardeingabe ist nicht möglich, wenn die Dateinamen auch von der Standardeingabe gelesen werden" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "" - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "Interner Fehler (Bug)" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "Kann Signal Routine nicht setzen" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "Kein Integritäts-Check; werde Datei-Integrität nicht überprüfen" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "Typ des Integritäts-Checks nicht unterstützt; werde Datei-Integrität nicht überprüfen" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "Speicher-Limit erreicht" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "Datei Format nicht erkannt" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "Optionen nicht unterstützt" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "Komprimierte Daten sind korrupt" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "Unerwartetes Eingabe Ende" - -#: src/xz/message.c:867 -#, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "%s MiB Speicher wird benötigt. Der Begrenzer ist deaktiviert." - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "%s MiB Speicher wird benötigt. Limit ist %s." - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "%s: Filter Kette: %s\n" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "Versuchen Sie `%s --help' für mehr Informationen." - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" -"Benutzung: %s [OPTION]... [DATEI]...\n" -"Komprimiert oder dekomprimiert .xz DATEI(EN).\n" -"\n" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "" -"Obligatorische Argumente für lange Optionen sind auch für kurze Optionen\n" -"zwingend.\n" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr " Operationsmodus:\n" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" -" -z, --compress erzwinge Komprimierung\n" -" -d, --decompress erzwinge Dekomprimierung\n" -" -t, --test überprüfe Datei Integrität\n" -" -l, --list liste Datei Informationen" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" -"\n" -" Operationsmodifikatoren:\n" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" -" -k, --keep Eingabedateien beibehalten (nicht löschen)\n" -" -f, --force erzwinge Überschreiben der Ausgabedatei und\n" -" (de)komprimiere Verweise (Links)\n" -" -c, --stdout schreibe nach Standard Output und lösche nicht die\n" -" Eingabedateien" - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" -" --no-sparse erzeuge keine sparse Datei beim Dekomprimieren\n" -" -S, --suffix=.SUF benutze `.SUF' Endung für komprimierte Dateien\n" -" --files=[DATEI] lese zu verarbeitende Dateinamen von DATEI; falls\n" -" DATEI nicht angegeben wurde, werden Dateinamen\n" -" von Standard Input gelesen. Dateinamen müssen mit\n" -" einem Zeilenumbruch voneinander getrennt werden\n" -" --files0=[DATEI] wie --files, aber benutze den Null Charakter als Trenner" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" -"\n" -" Grundlegende Optionen für Dateiformat und Kompression:\n" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" -" -F, --format=FMT Dateiformat zur Kodierung oder Dekodierung; mögliche\n" -" Werte sind `auto' (Voreinstellung), `xz', `lzma' und\n" -" `raw'\n" -" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n" -" `crc64' (Voreinstellung), oder `sha256'" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" -" -0 .. -9 Kompressionseinstellung; Voreinstellung is 6. Beachten\n" -" Sie den Speicherverbrauch des Komprimieres *und* des\n" -" Dekomprimierers, wenn Sie 7-9 benutzen!" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" -" -e, --extreme Versuche durch stärkere CPU Nutzung das Kompressions-\n" -" verhältnis zu verbessern. Das beeinflusst nicht den\n" -" Speicherbedarf des Dekomprimierers." - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT Setze Speicher Nutzungslimit für Kompression,\n" -" Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n" -" oder 0 für Grundeinstellungen." - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" -" --no-adjust Wenn die Kompressionseinstellungen das Speicher\n" -" Nutzungslimit übersteigen, erzeuge einen Fehler statt\n" -" die Einstellungen nach unten anzupassen." - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" -"\n" -" User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" -"\n" -" --lzma1[=OPTIONEN] LZMA1 oder LZMA2; OPTIONEN ist eine durch Kommata\n" -" --lzma2[=OPTIONEN] getrennte Liste bestehend aus den folgenden Optionen\n" -" (zulässige Werte; Voreinstellung):\n" -" preset=NUM Setze Optionen zurück zu Voreinstellung\n" -" (0-9[e])\n" -" dict=NUM Wörterbuch Größe (4 KiB - 1536 MiB; 8 MiB)\n" -" lc=NUM Anzahl der Literal Kontext Bits (0-4; 3)\n" -" lp=NUM Anzahl der Literal Positionsbits (0-4; 0)\n" -" pb=NUM Anzahl der Positionsbits (0-4; 2)\n" -" mode=MODUS Kompressionsmodus (fast, normal; normal)\n" -" nice=NUM Nice-Länge eines Treffers (2-273; 64)\n" -" mf=NAME Algorithmus zum Auffinden von\n" -" Übereinstimmungen (hc3, hc4, bt2, bt3, bt4;\n" -" bt4)\n" -" depth=NUM Maximale Suchtiefe; 0=automatisch\n" -" (Voreinstellung)" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" -"\n" -" --x86[=OPTIONEN] x86 BCJ Filter (32-bit und 64-bit)\n" -" --powerpc[=OPTIONEN] PowerPC BCJ Filter (nur big endian)\n" -" --ia64[=OPTIONEN] IA64 (Itanium) BCJ Filter\n" -" --arm[=OPTIONEN] ARM BCJ Filter (nur little endian)\n" -" --armthumb[=OPTIONEN] ARM-Thumb BCJ Filter (nur little endian)\n" -" --sparc[=OPTIONEN] SPARC BCJ Filter\n" -" Zulässige Optionen für alle BCJ Filter:\n" -" start=NUM Start-Offset für Konversion\n" -" (Voreinstellung=0)" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" -"\n" -" --delta[=OPTIONEN] Delta Filter; zulässige Optionen (gültige Werte;\n" -" Voreinstellung):\n" -" dist=NUM Abstand zwischen den Bytes, die voneinander\n" -" subtrahiert werden (1-256; 1)" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" -"\n" -" Andere Optionen:\n" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" -" -q, --quiet unterdrücke Warnungen; benutze diese Option zweimal\n" -" um auch Fehlermeldungen zu unterdrücken\n" -" -v, --verbose sei gesprächig; benutze diese Option zweimal um noch\n" -" gesprächiger zu sein" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr " -Q, --no-warn Warnungen verändern nicht den exit status" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr "" -" --robot benutze Maschinen-lesbare Meldungen (nützlich für\n" -" Skripte)" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr " --info-memory zeige Speicherlimit an und terminiere" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" -" -h, --help zeige kurze Hilfe and (zeigt nur die grundlegenden\n" -" Optionen)\n" -" -H, --long-help zeige diese lange Hilfe an und terminiere" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" -" -h, --help zeige diese kurze Hilfe an und terminiere\n" -" -H, --long-help zeige die lange Hilfe an (zeigt auch fortgeschrittene\n" -" Optionen an)" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr " -V, --version zeige Versionsnummer an und terminiere" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" -"\n" -"Wenn DATEI nicht angegeben wurde, oder DATEI gleich - ist, dann wird von\n" -"der Standardeingabe gelesen.\n" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "" -"Melde Bugs an <%s> (in englisch oder finnisch).\n" -"Melde Übersetzungsfehler an (in englisch oder deutsch).\n" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "%s Homepage: <%s>\n" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "%s: Optionen müssen in der Form `Name=Wert` gegeben werden, getrennt durch Kommata" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "%s: Ungültige Option" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "%s: Ungültiger Wert für Option" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "LZMA1/LZMA2 Voreinstellung ist ungültig: %s" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "Die Summe aus lc und lp darf höchstens 4 sein" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "Der ausgewählte Algorithmus zum Auffinden von Übereinstimmungen braucht mindestens nice=%" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "%s: Mit --format=raw ist --sufix=.SUF notwendig, falls nicht nach stdout geschrieben wird" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "%s: Dateiname hat unbekannte Endung, überspringe" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "%s: Datei hat bereits `%s' Endung, überspringe" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "%s: Ungültige Datei Endung" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "%s: Wert ist keine nicht-negative ganze Zahl" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "%s: Ungültige Einheit" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "Gültige Einheiten sind `KiB' (2^10), `MiB' (2^20), und `GiB' (2^30)." - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "Wert der Option `%s' muss im Bereich [%, %] sein" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "Leere Dateiname, überspringe" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "Komprimierte Daten können nicht vom Terminal gelesen werden" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "Komprimierte Daten können nicht auf das Terminal geschrieben werden" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "Schreiben auf die Standardausgabe fehlgeschlagen" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "Unbekannter Fehler" diff --git a/Build/source/extra/xz/po/en@boldquot.header b/Build/source/extra/xz/po/en@boldquot.header deleted file mode 100644 index fedb6a06d12..00000000000 --- a/Build/source/extra/xz/po/en@boldquot.header +++ /dev/null @@ -1,25 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# -# This catalog furthermore displays the text between the quotation marks in -# bold face, assuming the VT100/XTerm escape sequences. -# diff --git a/Build/source/extra/xz/po/en@quot.header b/Build/source/extra/xz/po/en@quot.header deleted file mode 100644 index a9647fc35c3..00000000000 --- a/Build/source/extra/xz/po/en@quot.header +++ /dev/null @@ -1,22 +0,0 @@ -# All this catalog "translates" are quotation characters. -# The msgids must be ASCII and therefore cannot contain real quotation -# characters, only substitutes like grave accent (0x60), apostrophe (0x27) -# and double quote (0x22). These substitutes look strange; see -# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html -# -# This catalog translates grave accent (0x60) and apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019). -# It also translates pairs of apostrophe (0x27) to -# left single quotation mark (U+2018) and right single quotation mark (U+2019) -# and pairs of quotation mark (0x22) to -# left double quotation mark (U+201C) and right double quotation mark (U+201D). -# -# When output to an UTF-8 terminal, the quotation characters appear perfectly. -# When output to an ISO-8859-1 terminal, the single quotation marks are -# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to -# grave/acute accent (by libiconv), and the double quotation marks are -# transliterated to 0x22. -# When output to an ASCII terminal, the single quotation marks are -# transliterated to apostrophes, and the double quotation marks are -# transliterated to 0x22. -# diff --git a/Build/source/extra/xz/po/fr.gmo b/Build/source/extra/xz/po/fr.gmo deleted file mode 100644 index 4affdccb210..00000000000 Binary files a/Build/source/extra/xz/po/fr.gmo and /dev/null differ diff --git a/Build/source/extra/xz/po/fr.po b/Build/source/extra/xz/po/fr.po deleted file mode 100644 index aaef3499047..00000000000 --- a/Build/source/extra/xz/po/fr.po +++ /dev/null @@ -1,863 +0,0 @@ -# XZ Utils French Translation -# This file is put in the public domain. -# Adrien Nader , 2011. -# -msgid "" -msgstr "" -"Project-Id-Version: xz-utils\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: 2010-09-24 21;12+0200\n" -"Last-Translator: Adrien Nader \n" -"Language-Team: None\n" -"Language: fr\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n==1) ? 0 : 1;\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "%s : Format de fichier inconnu" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "%s : Type de vérification d'intégrité inconnu" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "Un seul fichier peut être spécifié avec `--files' ou `--files0'." - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "La variable d'environnement %s contient trop d'arguments" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "Le nombre maximal de filtres est quatre" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "La limite d'utilisation mémoire est trop basse pour la configuration de filtres donnée." - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "Utiliser un préréglage en mode `raw' est déconseillé." - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "Le détail des préréglages peut varier entre différentes versions du logiciel." - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "Le format .lzma ne prend en charge que le filtre LZMA1" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "Le filtre LZMA1 ne peut être utilisé avec le format .xz" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "Enchaînement ou options de filtres non pris en charge" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "La décompression nécessitera %s MiB de mémoire." - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "Taille du dictionnaire LZMA%c réduite de %s MiB à %s MiB pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "%s : Le fichier a apparemment été déplacé, suppression annulée" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "%s : Impossible de supprimer : %s" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "%s : Impossible de modifier le propriétaire du fichier : %s" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "%s : Impossible de modifier le groupe propriétaire du fichier : %s" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "%s : Impossible de modifier les permissions du fichier : %s" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "%s est un lien symbolique : ignoré" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "%s est un répertoire : ignoré" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "%s n'est pas un fichier régulier : ignoré" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "%s : Le fichier possède les bits `setuid' ou `setgid' : ignoré" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "%s : Le fichier possède le bit `sticky' : ignoré" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "%s : Le fichier d'entrée a plus d'un lien matériel : ignoré" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "Impossible de rétablir le drapeau O_APPEND sur la sortie standard : %s" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "%s : Impossible de fermer le fichier : %s" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s : Impossible de se déplacer dans le fichier pour créer un 'sparse file' : %s" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "%s : Erreur d'écriture : %s" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "%s : Impossible de se déplacer dans le fichier : %s" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "%s : Fin de fichier inattendue" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "%s : Erreur d'écriture : %s" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "Désactivé" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "Quantité totale de mémoire physique (RAM) : " - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "Limite d'utilisation pour la compression : " - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "Limite d'utilisation pour la décompression : " - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "Aucune" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "Inconnue-2" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "Inconnue-3" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "Inconnue-5" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "Inconnue-6" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "Inconnue-7" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "Inconnue-8" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "Inconnue-9" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "Inconnue-11" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "Inconnue-12" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "Inconnue-13" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "Inconnue-14" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "Inconnue-15" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "%s : Le fichier est vide" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "%s : Trop petit pour être un fichier xz valide." - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr " Flux : %s\n" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr " Blocs : %s\n" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr " Taille compressé : %s\n" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr " Taille décompressé : %s\n" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr " Ratio : %s\n" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr " Vérification : %s\n" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr " Octets de rembourrage du flux : %s\n" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" -" Flux :\n" -" Flux Blocs PositionComp PositionDécomp TailleComp TailleDécomp Ratio Vérif. Bourrage" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" -" Blocs :\n" -" Flux Bloc PositionComp PositionDécomp TailleTot TailleDécomp Ratio Vérif." - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr " ValVérif %*sEn-tête Drapeaux TailleComp UtilMém Filtres" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr " Mémoire nécessaire : %s MiB\n" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr " Tailles stockées dans l'en-tête : %s\n" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "Oui" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "Non" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "%s fichier\n" -msgstr[1] "%s fichiers\n" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "Totaux :" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr " Nombre de fichiers : %s\n" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "--list ne marche que sur les fichiers .xz (--format=xz ou --format=auto)" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "--list est incompatible avec la lecture sur l'entrée standard" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "%s : Erreur lors de la lecture des noms de fichiers : %s" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "%s : Fin des données inattendue lors de la lecture des noms de fichiers" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "%s : Caractère NULL détecté lors de la lecture des noms de fichiers ; peut-être pensiez-vous à `--files0' plutot qu'a `--files' ?" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "La compression et la décompression ne marchent pas encore avec --robot." - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "Impossible de lire à la fois les données et les noms de fichiers depuis l'entrée standard" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "%s : " - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "Erreur interne (bug)" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "Impossible d'installer le gestionnaire de signaux" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "Pas de données de vérification d'intégrité ; vérification non effectuée" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "Méthode de vérification d'intégrité non prise en charge ; vérification non effectuée" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "Limite d'utilisation mémoire atteinte" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "Format de fichier inconnu" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "Options non prises en charge" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "Les données compressées sont corrompues" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "Fin des données inattendue " - -#: src/xz/message.c:867 -#, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "%s MiB de mémoire sont nécessaires. La limite est désactivée." - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "%s MiB de mémoire sont nécessaires, la limite étant %s." - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "%s : Enchaînement de filtres : %s\n" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "Utilisez `%s --help' pour plus d'informations." - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" -"Utilisation : %s [OPTION]... [FICHIER]...\n" -"Compresse ou decompresse FICHIER(s) au format .xz.\n" -"\n" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "" -"Les arguments obligatoires pour les options longues le sont aussi pour les\n" -"options courtes.\n" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr " Mode d'opération :\n" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" -" -z, --compress forcer la compression\n" -" -d, --decompress forcer la décompression\n" -" -t, --test tester l'intégrité du fichier compressé\n" -" -l, --list lister les informations à propos des fichiers .xz" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" -"\n" -" Modifictauers :\n" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" -" -k, --keep ne pas supprimer les fichiers d'entrée (\"keep\")\n" -" -f, --force forcer l'écrasement du fichier de sortie et\n" -" (dé)compresser les liens\n" -" -c, --stdout écrire sur la sortie standard et ne pas supprimer les\n" -" fichiers d'entrée" - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" -" --no-sparse ne pas créer de 'sparse file' lors de la décompression\n" -" -S, --suffix=.SUF utiliser le suffixe `.SUF' pour les fichiers compressés\n" -" --files[=FILE] lire les fichiers sur lesquels opérer depuis FILE ; si\n" -" FILE est omis, ceux-ci sont lus depuis l'entrée standard\n" -" et doivent être suivis d'un caractère de retour à la ligne\n" -" --files0[=FILE] comme --files mais avec un caractère null comme séparateur" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" -"\n" -" Options basiques de format de fichier et de compression :\n" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" -" -F, --format=FMT format de fichier à encoder ou décoder ; les possibilités\n" -" sont : `auto' (par défaut), `xz', `lzma' et `raw'\n" -" -C, --check=CHECK type de vérification d'intégrité : `none' (à utiliser avec\n" -" précaution), `crc32', `crc64' (par défaut) ou `sha256'" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" -" -0 ... -9 préréglage de compression ; 6 par défaut ; pensez à\n" -" l'utilisation mémoire du compresseur *et* du décompresseur\n" -" avant d'utiliser 7, 8 ou 9 !" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" -" -e, --extreme essayer d'améliorer la compression en utilisant davantage\n" -" de temps processeur sans affecter les besoins mémoire du\n" -" décompresseur" - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" règle la limite d'utilisation mémoire pour la compression,\n" -" décompression ou les deux ; LIMIT est en octets, % de\n" -" RAM, ou 0 pour les valeurs par défaut" - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" -" --no-adjust si les réglages de compression dépassent la limite\n" -" d'utilisation mémoire, renvoyer une erreur plutôt que de\n" -" diminuer les réglages" - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" -"\n" -" Enchaînement de filtres de compression personnalisé (au lieu des préréglages) :" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" -"\n" -" --lzma1[=OPTS] LZMA1 ou LZMA2 ; OPTS est une liste de zéro ou plusieurs\n" -" --lzma2[=OPTS] options parmi les suivantes (vals. valides ; par défaut) :\n" -" preset=PRE remettre les options à un préréglage (0-9[e])\n" -" dict=NUM taille dictionnaire (4KiB - 1536MiB ; 8MiB)\n" -" lc=NUM nombre de 'literal context bits' (0-4 ; 3)\n" -" lp=NUM nombre de 'literal position bits' (0-4 ; 0)\n" -" pb=NUM nombre de 'position bits' (0-4 ; 2)\n" -" mode=MODE mode de compression (fast, normal ; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME 'match finder' (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM profondeur de recherche maximale ;\n" -" 0=automatique (par défaut)" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" -"\n" -" --x86[=OPTS] filtre BCJ x86 (32-bit et 64-bit)\n" -" --powerpc[=OPTS] filtre BCJ PowerPC ('big endian' uniquement)\n" -" --ia64[=OPTS] filtre BCJ IA-64 (Itanium)\n" -" --arm[=OPTS] filtre BCJ ARM ('little endian' uniquement)\n" -" --armthumb[=OPTS] filtre BCJ ARM-Thumb ('little endian' uniquement)\n" -" --sparc[=OPTS] filtre BCJ SPARC\n" -" OPTS valides pour tous les filtres BCJ :\n" -" start=NUM start offset for conversions (default=0)" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" -"\n" -" --delta[=OPTS] Filtre delta ; OPTS valides (vals. valides ; par défaut) :\n" -" dist=NUM distance entre les octets soustraits\n" -" les uns aux autres (1-256 ; 1)" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" -"\n" -" Autres options :\n" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" -" -q, --quiet supprimer les avertissemnts ; spécifier deux fois pour\n" -" aussi supprimer les erreur\n" -" -v, --verbose être bavard ; spécifier deux fois pour l'être davantage" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr " -Q, --no-warn les avertissements ne modifient pas le code de sortie" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr "" -" --robot utiliser des messages lisibles par un programme\n" -" (utile pour les scripts)" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr "" -" --info-memory affiche la quantité totale de RAM et la limite actuelle\n" -" en mémoire puis quitte" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" -" -h, --help affiche l'aide courte (ne liste que les options de base)\n" -" -H, --long-help affiche l'aide longue (ceci) puis quitte" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" -" -h, --help affiche l'aide courte (ceci) puis quitte\n" -" -H, --long-help affiche l'aide longue (liste aussi les options avancées)" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr " -V, --version affiche le numéro de version puis quitte" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" -"\n" -"Sans FILE ou quand FILE est -, lire l'entrée standard.\n" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "" -"Signaler les bogues à <%s> (en anglais ou en finlandais).\n" -"Signaler les bogues de traduction à .\n" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "%s page du projet : <%s>\n" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "%s: Les options doivent être des paires `nom=valeur' séparées par des virgules" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "%s : Nom d'option invalide" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "%s : Valeur d'option invalide" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "Préréglage LZMA1/LZMA2 non pris en charge : %s" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "La somme de lc et lp ne doit pas dépasser 4" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "Le `match finder' choisi nécessite au moins nice=%" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "%s : Avec --format=raw, --suffix=.SUF est nécessaire sauf lors de l'écriture vers stdout" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "%s : Le fichier a un suffixe inconnu, ignoré" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "%s : Le fichier a déjà le suffixe '%s', ignoré" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "%s: Suffixe de nom de fichier invalide" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "%s : La valeur n'est pas un entier décimal non négatif" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "%s : Suffixe multiplicateur invalide" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "Les suffixes valides sont 'KiB' (2^10), 'MiB' (2^20) et 'GiB' (2^30)." - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "La valeur de l'option '%s' doit être inclue entre % et %" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "Nom de fichier vide, ignoré" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "Les données compressées ne peuvent pas être lues depuis un terminal" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "Les données compressées ne peuvent pas être écrites dans un terminal" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "Impossible d'écrire vers la sortie standard" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "Erreur inconnue" - -#~ msgid "Using up to % threads." -#~ msgstr "Jusqu'à % threads seront utilisés." - -#~ msgid "Adjusted the number of threads from %s to %s to not exceed the memory usage limit of %s MiB" -#~ msgstr "Nombre de threads réduit de %s à %s pour ne pas dépasser la limite d'utilisation mémoire de %s MiB" - -#~ msgid "" -#~ " --single-stream decompress only the first stream, and silently\n" -#~ " ignore possible remaining input data" -#~ msgstr "" -#~ " --single-stream décompresser uniquement le premier flux et ignorer\n" -#~ " silenciseusement les données éventuellement restantes" - -#~ msgid "" -#~ " --block-size=SIZE\n" -#~ " when compressing to the .xz format, start a new block\n" -#~ " after every SIZE bytes of input; 0=disabled (default)" -#~ msgstr "" -#~ " --block-size=SIZE\n" -#~ " pour une compression au format .xz, entamer un nouveau\n" -#~ " bloc après SIZE octets d'entrée ; 0=désactivé (par défaut)" diff --git a/Build/source/extra/xz/po/insert-header.sin b/Build/source/extra/xz/po/insert-header.sin deleted file mode 100644 index b26de01f6c8..00000000000 --- a/Build/source/extra/xz/po/insert-header.sin +++ /dev/null @@ -1,23 +0,0 @@ -# Sed script that inserts the file called HEADER before the header entry. -# -# At each occurrence of a line starting with "msgid ", we execute the following -# commands. At the first occurrence, insert the file. At the following -# occurrences, do nothing. The distinction between the first and the following -# occurrences is achieved by looking at the hold space. -/^msgid /{ -x -# Test if the hold space is empty. -s/m/m/ -ta -# Yes it was empty. First occurrence. Read the file. -r HEADER -# Output the file's contents by reading the next line. But don't lose the -# current line while doing this. -g -N -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/Build/source/extra/xz/po/it.gmo b/Build/source/extra/xz/po/it.gmo deleted file mode 100644 index 7f9e4a316e3..00000000000 Binary files a/Build/source/extra/xz/po/it.gmo and /dev/null differ diff --git a/Build/source/extra/xz/po/it.po b/Build/source/extra/xz/po/it.po deleted file mode 100644 index 36bd2a299f3..00000000000 --- a/Build/source/extra/xz/po/it.po +++ /dev/null @@ -1,848 +0,0 @@ -# Italian translation for xz-utils -# This file is in the public domain -# Gruppo traduzione italiano di Ubuntu-it , 2009, 2010 -# Lorenzo De Liso , 2010. -# Milo Casagrande , 2009, 2010, 2011, 2012. -# -msgid "" -msgstr "" -"Project-Id-Version: xz-utils\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: 2012-05-31 09:57+0800\n" -"Last-Translator: Milo Casagrande \n" -"Language-Team: Italian \n" -"Language: it\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8-bit\n" -"X-Launchpad-Export-Date: 2010-08-16 19:16+0000\n" -"X-Generator: Launchpad (build Unknown)\n" -"Plural-Forms: nplurals=2; plural=(n!=1);\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "%s: tipo di formato del file sconosciuto" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "%s: tipo di controllo integrità non supportato" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "Solo un file può essere specificato con \"--files\" o \"--files0\"." - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "La variabile d'ambiente %s contiene troppi argomenti" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "Il numero massimo di filtri è quattro" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "Il limite dell'uso della memoria è troppo basso per l'impostazione del filtro dato." - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "Non è consigliato usare un preset nella modalità raw." - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "Le opzioni esatte per i preset possono variare tra le versioni del software." - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "Il formato .lzma supporta solo il filtro LZMA1" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "LZMA1 non può essere usato con il formato .xz" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "Catena di filtri od opzioni del filtro non supportata" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "L'estrazione necessita di %s MiB di memoria." - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "Regolata la dimensione del dizionario LZMA%c da %s MiB a %s MiB per non superare il limite dell'uso della memoria di %s MiB" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "%s: sembra che il file sia stato spostato, non viene rimosso" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "%s: impossibile rimuovere: %s" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "%s: impossibile impostare il proprietario del file: %s" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "%s: impossibile impostare il gruppo del file: %s" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "%s: impossibile impostare i permessi del file: %s" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "%s: è un collegamento simbolico, viene saltato" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "%s: è una directory, viene saltata" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "%s: non è un file regolare, viene saltato" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "%s: il file ha il bit setuid o setgid impostato, viene saltato" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "%s: il file ha lo sticky bit impostato, viene saltato" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "%s: il file di input ha più di un collegamento fisico, viene saltato" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "Errore nel ripristinare la flag O_APPEND sullo standard output: %s" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "%s: chiusura del file non riuscita: %s" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s: posizionamento non riuscito nel tentativo di creare un file sparso: %s" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "%s: errore di lettura: %s" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "%s: errore nel cercare il file: %s" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "%s: fine del file inaspettata" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "%s: errore di scrittura: %s" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "Disabilitato" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "Quantità totale di memoria fisica (RAM): " - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "Limite utilizzo memoria per la compressione: " - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "Limite utilizzo memoria per l'estrazione: " - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "Nessuno" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "Sconosc2" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "Sconosc3" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "Sconosc5" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "Sconosc6" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "Sconosc7" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "Sconosc8" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "Sconosc9" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "Sconosc11" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "Sconosc12" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "Sconosc13" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "Sconosc14" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "Sconosc15" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "%s: il file è vuoto" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "%s: troppo piccolo per essere un file .xz valido" - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr " Strm Blocc. Compresso Estratto Rapp. Contr Nome file" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr " Stream: %s\n" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr " Blocchi: %s\n" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr " Dim. compresso: %s\n" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr " Dim. estratto: %s\n" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr " Rapporto: %s\n" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr " Controllo: %s\n" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr " Padding dello stream: %s\n" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" -"Stream:\n" -" Stream Blocc. Offset comp. Offset estr. Dim. comp. Dim. estratto Rapp. Contr Padding" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" -" Blocchi:\n" -" Stream Blocc. Offset comp. Offset estratto Dim. tot. Dim. estratto Rapp. Contr" - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr " Val.cont %*s Header Flag Dim.compr. Uso mem. Filtri" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr " Memoria necessaria: %s MiB\n" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr " Dim. negli header: %s\n" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "Sì" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "No" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "%s file\n" -msgstr[1] "%s file\n" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "Totali:" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr " Numero di file: %s\n" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "--list funziona solamente con file .xz (--format=xz o --format=auto)" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "--list non è in grado di leggere dallo standard input" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "%s: errore nel leggere i nomi dei file: %s" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "%s: fine dell'input durante la lettura dei nomi dei file non attesa" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "%s: nessun carattere trovato durante la lettura dei nomi dei file; forse si intendeva usare \"--files0\" invece di \"--files\"?" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "La compressione e l'estrazione con --robot non sono ancora supportate." - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "Impossibile leggere i dati dallo standard input durante la lettura dei nomi dei file dallo standard input" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "%s: " - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "Errore interno (bug)" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "Impossibile stabilire i gestori dei segnali" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "Nessun controllo d'integrità; l'integrità del file non viene verificata" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "Tipo di controllo di integrità non supportato; l'integrità del file non viene verificata" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "Limite di utilizzo della memoria raggiunto" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "Formato di file non riconosciuto" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "Opzioni non supportate" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "I dati compressi sono danneggiati" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "Fine dell'input non attesa" - -#: src/xz/message.c:867 -#, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "%s MiB di memoria sono richiesti. Alcun limite impostato." - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "%s MiB di memoria sono richiesti. Il limite è %s." - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "%s: catena di filtri: %s\n" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "Provare \"%s --help\" per maggiori informazioni." - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" -"Uso: %s [OPZIONI]... [FILE]...\n" -"Comprime o estrae i FILE nel formato .xz.\n" -"\n" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "Gli argomenti obbligatori per le opzioni lunghe lo sono anche per quelle brevi.\n" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr " Modalità di operazione:\n" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" -" -z, --compress Forza la compressione\n" -" -d, --decompress Forza l'estrazione\n" -" -t, --test Verifica l'integrità dei file compressi\n" -" -l, --list Elenca informazioni sui file .xz" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" -"\n" -" Modificatori di operazioni:\n" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" -" -k, --keep Mantiene (non elimina) i file di input\n" -" -f, --force Forza la sovrascrittura dell'output e comprime/estrae i\n" -" collegamenti\n" -" -c, --stdout Scrive sullo standard output e non elimina i file di input" - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" -" --no-sparse Non crea file sparsi durante l'estrazione\n" -" -S, --suffix=.SUF Usa il suffisso \".SUF\" sui file compressi\n" -" --files=[FILE] Legge i nomi dei file da elaborare da FILE; se FILE è\n" -" omesso, i nomi dei file sono letti dallo standard input;\n" -" i nomi dei file devono essere terminati con un carattere\n" -" di newline\n" -" --files0=[FILE] Come --files ma usa il carattere null come terminatore" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" -"\n" -" Formato file di base e opzioni di compressione:\n" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" -" -F, --format=FMT Formato file per codificare o decodificare; i possibili\n" -" valori sono \"auto\" (predefinito) \"xz\", \"lzma\" e \"raw\"\n" -" -C, --check=CHECK Tipo di verifica integrità: \"none\" (usare con attenzione),\n" -" \"crc32\", \"crc64\" (predefinito) o \"sha256\"" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" -" -0 ... -9 Preset di compressione; predefinito è 6; tenere a mente\n" -" l'utilizzo di memoria per comprimere ed estrarre prima\n" -" di usare 7-9" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" -" -e, --extreme Tenta di migliorare il rapporto di compressione\n" -" utilizzando più tempo di CPU; non cambia i requisiti di\n" -" memoria in fase di estrazione" - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" Imposta il limite di utilizzo della memoria per la\n" -" compressione, l'estrazione o entrambe; LIMIT è in byte,\n" -" % della memoria RAM oppure 0 per il valore predefinito" - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" -" --no-adjust Se le impostazioni di compressione eccedono il limite di\n" -" utilizzo della memoria, lancia un errore invece di\n" -" utilizzare valori più piccoli" - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" -"\n" -" Catena di filtri personalizzati per la compressione (alternative per\n" -" l'utilizzo di preset):" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" -"\n" -" --lzma1[=OPZ] LZMA1 o LZMA2; OPZ è un elenco separato da virgole di zero\n" -" --lzma2[=OPZ] o più delle seguenti opzioni (valori validi; predefinito):\n" -" preset=NUM Reimposta le opzioni al preset NUM (0-9[e])\n" -" dict=NUM Dimensione del dizionario\n" -" (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM Numero di bit letterali di contesto (0-4; 3)\n" -" lp=NUM Numero di bit letterali di posizione (0-4; 0)\n" -" pb=NUM Numero di bit di posizione (0-4; 2)\n" -" mode=MODE Modalità di compressione\n" -" (fast, normal; normal)\n" -" nice=NUM Lunghezza valida per una corrispondenza\n" -" (2-273; 64)\n" -" mf=NAME Strumento per cercare corrispondenze\n" -" (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM Profondità massima di ricerca; 0=automatica\n" -" (predefinito)" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" -"\n" -" --x86[=OPZ] Filtro BCJ x86 (32 e 64 bit)\n" -" --powerpc[=OPZ] Filtro BCJ PowerPC (solo big endian)\n" -" --ia64[=OPZ] Filtro BCJ IA-64 (Itanium)\n" -" --arm[=OPZ] Filtro BCJ ARM (solo little endian)\n" -" --armthumb[=OPZ] Filtro BCJ ARM-Thumb (solo little endian)\n" -" --sparc[=OPZ] Filtro BCJ SPARC\n" -" OPZ valide per tutti i filtri BCJ:\n" -" start=NUM Offset iniziale per le conversioni\n" -" (predefinito=0)" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" -"\n" -" --delta[=OPZ] Filtro Delta; OPZ valide (valori validi; predefinito):\n" -" dist=NUM Distanza tra byte sottratti\n" -" gli uni dagli altri (1-256; 1)" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" -"\n" -" Altre opzioni:\n" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" -" -q, --quiet Sopprime gli avvisi; specificare due volte per sopprimere\n" -" anche gli errori\n" -" -v, --verbose Output prolisso; specificare due volte per output ancora\n" -" più prolisso" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr " -Q, --no-warn Gli avvisi non influenzano lo stato d'uscita" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr " --robot Usa messaggi analizzabili (utile per gli script)" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr "" -" --info-memory Visualizza la quantità totale di RAM, il limite attuale\n" -" attivo di utilizzo della memore ed esce" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" -" -h, --help Stampa l'aiuto breve (elenca solo le opzioni di base)\n" -" -H, --long-help Stampa questo lungo aiuto ed esce" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" -" -h, --help Stampa questo breve aiuto ed esce\n" -" -H, --long-help Stampa l'aiuto lungo (elenca anche le opzioni avanzate)" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr " -V, --version Stampa il numero della versione ed esce" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" -"\n" -"Senza FILE, o quando FILE è -, legge lo standard input.\n" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "" -"Segnalare i bug a <%s> (in inglese o finlandese).\n" -"Segnalare i bug di traduzione a .\n" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "Sito web di %s: <%s>\n" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "%s: le opzioni devono essere coppie \"nome=valore\" separate da virgole" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "%s: nome opzione non valido" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "%s: valore dell'opzione non valido" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "Preset LZMA/LZMA2 non supportato: %s" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "La somma di lc e lp non deve superare 4" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "Lo strumento per cercare corrispondenze selezionato richiede almeno nice=%" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "%s: con --format=raw, --suffix=.SUF è richiesto a meno che non si scriva sullo stdout" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "%s: il nome del file ha un suffisso sconosciuto, viene saltato" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "%s: il file ha già il suffisso \"%s\", viene saltato" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "%s: suffisso del nome del file non valido" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "%s: il valore non è un numero intero decimale non-negativo" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "%s: suffisso del moltiplicatore non valido" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "I suffissi validi sono \"KiB\" (2^10), \"MiB\" (2^20), e \"GiB\" (2^30)." - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "Il valore dell'opzione \"%s\" deve essere nell'intervallo [%, %]" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "Nome file vuoto, viene saltato" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "I dati compressi non possono essere letti da un terminale" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "I dati compressi non possono essere scritti ad un terminale" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "Scrittura sullo standard ouput non riuscita" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "Errore sconosciuto" diff --git a/Build/source/extra/xz/po/pl.gmo b/Build/source/extra/xz/po/pl.gmo deleted file mode 100644 index bf7fa2e5c45..00000000000 Binary files a/Build/source/extra/xz/po/pl.gmo and /dev/null differ diff --git a/Build/source/extra/xz/po/pl.po b/Build/source/extra/xz/po/pl.po deleted file mode 100644 index 3a2fb9c212a..00000000000 --- a/Build/source/extra/xz/po/pl.po +++ /dev/null @@ -1,839 +0,0 @@ -# Polish translation for xz. -# This file is in the public domain. -# Jakub Bogusz , 2011-2012. -# -msgid "" -msgstr "" -"Project-Id-Version: xz 5.0.2\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: 2012-05-29 18:15+0200\n" -"Last-Translator: Jakub Bogusz \n" -"Language-Team: Polish \n" -"Language: pl\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "%s: Nieznany typ formatu pliku" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "%s: Nieobsługiwany typ kontroli spójności" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "Wraz z opcją `--files' lub `--files0' można podać tylko jeden plik." - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "Zmienna środowiskowa %s zawiera zbyt dużo argumentów" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "Maksymalna liczba filtrów to cztery" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "Limit użycia pamięci jest zbyt mały dla podanej konfiguracji filtra." - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "Użycie ustawień predefiniowanych w trybie surowym jest odradzane." - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "Dokładne opcje ustawień predefiniowanych mogą różnić się między wersjami oprogramowania." - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "Format .lzma obsługuje tylko filtr LZMA1" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "LZMA1 nie może być używany z formatem .xz" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "Nieobsługiwany łańcuch filtrów lub opcje filtra" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "Dekompresja będzie wymagała %s MiB pamięci." - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "Skorygowano rozmiar słownika LZMA%c z %s MiB do %s MiB aby nie przekroczyć limitu użycia pamięci %s MiB" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "%s: Plik wygląda na przeniesiony, nie zostanie usunięty" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "%s: Nie można usunąć: %s" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "%s: Nie można ustawić właściciela pliku: %s" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "%s: Nie można ustawić grupy pliku: %s" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "%s: Nie można ustawić uprawnień pliku: %s" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "%s: Jest dowiązaniem symbolicznym, pominięto" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "%s: Jest katalogiem, pominięto" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "%s: Nie jest zwykłym plikiem, pominięto" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "%s: Plik ma ustawiony bit setuid lub setgid, pominięto" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "%s: Plik ma ustawiony bit sticky, pominięto" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "%s: Plik wejściowy ma więcej niż jedno dowiązanie zwykłe, pominięto" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "Błąd podczas odtwarzania flagi O_APPEND dla standardowego wyjścia: %s" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "%s: Zamknięcie pliku nie powiodło się: %s" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "%s: Zmiana pozycji nie powiodła się podczas próby utworzenia pliku rzadkiego: %s" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "%s: Błąd odczytu: %s" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "%s: Błąd podczas zmiany pozycji w pliku: %s" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "%s: Nieoczekiwany koniec pliku" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "%s: Błąd zapisu: %s" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "Wyłączony" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "Całkowita ilość pamięci fizycznej (RAM): " - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "Limit użycia pamięci dla kompresji: " - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "Limit użycia pamięci dla dekompresji: " - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "Brak" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "Nieznany-2" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "Nieznany-3" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "Nieznany-5" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "Nieznany-6" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "Nieznany-7" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "Nieznany-8" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "Nieznany-9" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "Nieznany11" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "Nieznany12" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "Nieznany13" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "Nieznany14" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "Nieznany15" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "%s: Plik jest pusty" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "%s: Za mały na poprawny plik .xz" - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr "Strum. Bloki Spakowany Rozpakowany Wsp. Kontrola Nazwa pliku" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr " Strumienie: %s\n" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr " Bloki: %s\n" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr " Rozmiar spakowany: %s\n" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr " Rozmiar rozpakowany: %s\n" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr " Współczynnik: %s\n" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr " Kontrola spójności: %s\n" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr " Wyrównanie strumienia: %s\n" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" -" Strumienie:\n" -" Strumień Bloki Offset spak. Offset rozp. Rozm.spak. Rozm.rozp. Wsp. Kontrola Wyrównanie" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" -" Bloki:\n" -" Strumień Blok Offset spak. Offset rozp. Rozm.całkowity Rozm.rozp. Wsp. Kontrola" - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr " S.kontr. %*sNagłówek Flagi Rozm. spak. Uż.pamięci Filtry" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr " Wymagana pamięć: %s MiB\n" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr " Rozmiar w nagłówkach: %s\n" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "Tak" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "Nie" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "%s plik\n" -msgstr[1] "%s pliki\n" -msgstr[2] "%s plików\n" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "Sumarycznie:" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr " Liczba plików: %s\n" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "--list działa tylko z plikami .xz (--format=xz lub --format=auto)" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "--list nie obsługuje odczytu ze standardowego wejścia" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "%s: Błąd odczytu nazw plików: %s" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "%s: Nieoczekiwany koniec wejścia podczas odczytu nazw plików" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "%s: Napotkano znak NUL podczas odczytu nazw plików; może miało być `--files0' zamiast `--files'?" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "Kompresja i dekompresja z opcją --robot nie jest jeszcze obsługiwana." - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "Nie można odczytać danych ze standardowego wejścia przy czytaniu nazw plików ze standardowego wejścia" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "%s: " - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "Błąd wewnętrzny" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "Nie można ustawić obsługi sygnałów" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "Brak kontroli spójności; poprawność plików nie będzie weryfikowana" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "Nieobsługiwany typ kontroli spójności; poprawność plików nie będzie weryfikowana" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "Osiągnięto limit użycia pamięci" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "Nie rozpoznany format pliku" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "Nieobsługiwane opcje" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "Dane skompresowane są uszkodzone" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "Nieoczekiwany koniec wejścia" - -#: src/xz/message.c:867 -#, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "Wymagane jest %s MiB pamięci. Limit jest wyłączony." - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "Wymagane jest %s MiB pamięci. Limit to %s." - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "%s: Łańcuch filtrów: %s\n" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "Polecenie `%s --help' pokaże więcej informacji." - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" -"Składnia: %s [OPCJA]... [PLIK]...\n" -"Kompresja lub dekompresja PLIKÓW w formacie .xz.\n" -"\n" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "" -"Argumenty obowiązkowe dla opcji długich są obowiązkowe również dla opcji\n" -"krótkich.\n" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr " Tryb pracy:\n" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" -" -z, --compress wymuszenie kompresji\n" -" -d, --decompress wymuszenie dekompresji\n" -" -t, --test sprawdzenie spójności plików skompresowanych\n" -" -l, --list wypisanie informacji o plikach .xz" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" -"\n" -" Modyfikatory operacji:\n" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" -" -k, --keep zachowanie (nieusuwanie) plików wejściowych\n" -" -f, --force nadpisywanie plików wyjściowych i (de)kompresja dowiązań\n" -" -c, --stdout zapis na standardowe wyjście, nieusuwanie plików wej." - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" -" --no-sparse nietworzenie plików rzadkich podczas dekompresji\n" -" -S, --suffix=.ROZ użycie rozszerzenia `.ROZ' dla plików skompresowanych\n" -" --files[=PLIK] odczyt nazw plików do przetworzenia z PLIKU; jeśli PLIK\n" -" nie został podany, nazwy są czytane ze standardowego\n" -" wejścia; muszą być zakończone znakiem nowej linii\n" -" --files0[=PLIK] podobnie do --files, ale znakiem kończącym musi być NUL" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" -"\n" -" Podstawowe opcje formatu pliku i kompresji:\n" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" -" -F, --format=FORM format pliki do kodowania lub dekodowania; możliwe to\n" -" `auto' (domyślny), `xz', 'lzma' i `raw'\n" -" -C, --check=TEST typ kontroli spójności: `none' (ostrożnie!),\n" -" `crc32', `crc64' (domyślny) lub `sha256'" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" -" -0 ... -9 predefiniowane opcje kompresji; domyślna to 6; przed\n" -" użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie\n" -" pamięci przy kompresji *oraz* dekompresji!" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" -" -e, --extreme próba poprawy współczynnika kompresji z użyciem większej\n" -" ilości czasu procesora; nie wpływa na wymagania\n" -" pamięciowe dekompresora" - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" ustawienie limitu użycia pamięci dla kompresji,\n" -" dekompresji lub obu; LIMIT jest w bajtach, % RAM lub 0\n" -" dla limitów domyślnych" - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" -" --no-adjust jeśli ustawienia kompresji przekraczają limit użycia\n" -" pamięci, zostanie zgłoszony błąd zamiast zmniejszania\n" -" ustawień" - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" -"\n" -" Łańcuch własnych filtrów do kompresji (alternatywa do używania -0 .. -9):" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" -"\n" -" --lzma1[=OPCJE] LZMA1 lub LZMA2; OPCJE to oddzielona przecinkami lista\n" -" --lzma2[=OPCJE] zera lub więcej następujących opcji (w nawiasach wartości\n" -" poprawne; domyślne):\n" -" preset=PRE ustawienie opcji na predefiniowane (0-9[e])\n" -" dict=ILE rozmiar słownika (4KiB - 1536MiB; 8MiB)\n" -" lc=ILE liczba bitów kontekstu literału (0-4; 3)\n" -" lp=ILE liczba bitów pozycji literału (0-4; 0)\n" -" pp=ILE liczba bitów pozycji (0-4; 2)\n" -" mode=TRYB tryb kompresji (fast, normal; normal)\n" -" nice=ILE długość dopasowania (2-273; 64)\n" -" mf=NAZWA dopasowywacz (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=ILE maks. głębokość szukania; 0=auto (domyślne)" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" -"\n" -" --x86[=OPCJE] Filtr BCJ x86 (32-bitowy lub 64-bitowy)\n" -" --powerpc[=OPCJE] Filtr BCJ PowerPC (tylko big-endian)\n" -" --ia64[=OPCJE] Filtr BCJ IA-64 (Itanium)\n" -" --arm[=OPCJE] Filtr BCJ ARM (tylko little-endian)\n" -" --armthumb[=OPCJE] Filtr BCJ ARM-Thumb (tylko little-endian)\n" -" --sparc[=OPCJE] Filtr BCJ SPARC\n" -" Poprawne OPCJE dla wszystkich filtrów BCJ:\n" -" start=ILE offset początku konwersji (domyślnie=0)" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" -"\n" -" --delta[=OPCJE] Filtr delta; poprawne OPCJE (poprawne wart.; domyślne):\n" -" dist=ILE odległość między bajtami odejmowanymi od\n" -" siebie (1-256; 1)" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" -"\n" -" Inne opcje:\n" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" -" -q, --quiet pominięcie ostrzeżeń; dwukrotne podanie pomija też błędy\n" -" -v, --verbose więcej informacji; dwukrotne podanie to jeszcze więcej" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr " -Q, --no-warn ostrzeżenia nie mają wpływu na status zakończenia" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr " --robot komunikaty w formacie dla maszyny (do skryptów)" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr "" -" --info-memory wyświetlenie całkowitej ilości pamięci RAM oraz aktualnie\n" -" aktywnych limitów pamięci i zakończenie pracy" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" -" -h, --help wyświetlenie krótkiego opisu (tylko podstawowe opcje)\n" -" -H, --long-help wyświetlenie tego długiego opisu i zakończenie" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" -" -h, --help wyświetlenie tego krótkiego opisu i zakończenie\n" -" -H, --long-help wyświetlenie długiego opisu (także opcje zaawansowane)" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr " -V, --version wyświetlenie informacji o wersji i zakończenie" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" -"\n" -"Jeśli nie podano PLIKU lub PLIK to -, czytane jest standardowe wejście.\n" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "" -"Błędy prosimy zgłaszać na adres <%s>\n" -"(w języku angielskim lub fińskim).\n" -"Błędy w tłumaczeniu prosimy zgłaszać na adres\n" -".\n" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "Strona domowa %s: <%s>\n" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "%s: Opcje muszą być parami `nazwa=wartość' rozdzielonymi przecinkami" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "%s: Błędna nazwa opcji" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "%s: Błędna wartość opcji" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "Nieobsługiwane ustawienie predefiniowane LZMA1/LZMA2: %s" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "Suma lc i lp nie może przekroczyć 4" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "Wybrany dopasowywacz wymaga przynajmniej nice=%" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "%s: Przy --format=raw i zapisie do pliku wymagana jest opcja --suffix=.ROZ" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "%s: Nazwa pliku ma nieznane rozszerzenie, pominięto" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "%s: Plik już ma rozszerzenie `%s', pominięto" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "%s: Błędne rozszerzenie nazwy pliku" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "%s: Wartość nie jest nieujemną liczbą całkowitą" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "%s: Błędny przyrostek mnożnika" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "Poprawne przyrostki to `KiB' (2^10), `MiB' (2^20) i `GiB' (2^30)." - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "Wartość opcji `%s' musi być w przedziale [%, %]" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "Pusta nazwa pliku, pominięto" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "Dane skompresowane nie mogą być czytane z terminala" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "Dane skompresowane nie mogą być zapisywane na terminal" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "Zapis na standardowe wyjście nie powiódł się" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "Nieznany błąd" diff --git a/Build/source/extra/xz/po/quot.sed b/Build/source/extra/xz/po/quot.sed deleted file mode 100644 index 0122c46318d..00000000000 --- a/Build/source/extra/xz/po/quot.sed +++ /dev/null @@ -1,6 +0,0 @@ -s/"\([^"]*\)"/“\1”/g -s/`\([^`']*\)'/‘\1’/g -s/ '\([^`']*\)' / ‘\1’ /g -s/ '\([^`']*\)'$/ ‘\1’/g -s/^'\([^`']*\)' /‘\1’ /g -s/“”/""/g diff --git a/Build/source/extra/xz/po/remove-potcdate.sin b/Build/source/extra/xz/po/remove-potcdate.sin deleted file mode 100644 index 2436c49e786..00000000000 --- a/Build/source/extra/xz/po/remove-potcdate.sin +++ /dev/null @@ -1,19 +0,0 @@ -# Sed script that remove the POT-Creation-Date line in the header entry -# from a POT file. -# -# The distinction between the first and the following occurrences of the -# pattern is achieved by looking at the hold space. -/^"POT-Creation-Date: .*"$/{ -x -# Test if the hold space is empty. -s/P/P/ -ta -# Yes it was empty. First occurrence. Remove the line. -g -d -bb -:a -# The hold space was nonempty. Following occurrences. Do nothing. -x -:b -} diff --git a/Build/source/extra/xz/po/stamp-po b/Build/source/extra/xz/po/stamp-po deleted file mode 100644 index 9788f70238c..00000000000 --- a/Build/source/extra/xz/po/stamp-po +++ /dev/null @@ -1 +0,0 @@ -timestamp diff --git a/Build/source/extra/xz/po/xz.pot b/Build/source/extra/xz/po/xz.pot deleted file mode 100644 index afbdb853288..00000000000 --- a/Build/source/extra/xz/po/xz.pot +++ /dev/null @@ -1,750 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# This file is put in the public domain. -# FIRST AUTHOR , YEAR. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: xz 5.0.5\n" -"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n" -"POT-Creation-Date: 2013-06-30 16:50+0300\n" -"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" -"Last-Translator: FULL NAME \n" -"Language-Team: LANGUAGE \n" -"Language: \n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=CHARSET\n" -"Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" - -#: src/xz/args.c:333 -#, c-format -msgid "%s: Unknown file format type" -msgstr "" - -#: src/xz/args.c:356 src/xz/args.c:364 -#, c-format -msgid "%s: Unsupported integrity check type" -msgstr "" - -#: src/xz/args.c:382 -msgid "Only one file can be specified with `--files' or `--files0'." -msgstr "" - -#: src/xz/args.c:445 -#, c-format -msgid "The environment variable %s contains too many arguments" -msgstr "" - -#: src/xz/coder.c:99 -msgid "Maximum number of filters is four" -msgstr "" - -#: src/xz/coder.c:118 -msgid "Memory usage limit is too low for the given filter setup." -msgstr "" - -#: src/xz/coder.c:139 -msgid "Using a preset in raw mode is discouraged." -msgstr "" - -#: src/xz/coder.c:141 -msgid "The exact options of the presets may vary between software versions." -msgstr "" - -#: src/xz/coder.c:164 -msgid "The .lzma format supports only the LZMA1 filter" -msgstr "" - -#: src/xz/coder.c:172 -msgid "LZMA1 cannot be used with the .xz format" -msgstr "" - -#: src/xz/coder.c:189 -msgid "Unsupported filter chain or filter options" -msgstr "" - -#: src/xz/coder.c:197 -#, c-format -msgid "Decompression will need %s MiB of memory." -msgstr "" - -#: src/xz/coder.c:254 -#, c-format -msgid "Adjusted LZMA%c dictionary size from %s MiB to %s MiB to not exceed the memory usage limit of %s MiB" -msgstr "" - -#. TRANSLATORS: When compression or decompression finishes, -#. and xz is going to remove the source file, xz first checks -#. if the source file still exists, and if it does, does its -#. device and inode numbers match what xz saw when it opened -#. the source file. If these checks fail, this message is -#. shown, %s being the filename, and the file is not deleted. -#. The check for device and inode numbers is there, because -#. it is possible that the user has put a new file in place -#. of the original file, and in that case it obviously -#. shouldn't be removed. -#: src/xz/file_io.c:138 -#, c-format -msgid "%s: File seems to have been moved, not removing" -msgstr "" - -#: src/xz/file_io.c:145 src/xz/file_io.c:586 -#, c-format -msgid "%s: Cannot remove: %s" -msgstr "" - -#: src/xz/file_io.c:170 -#, c-format -msgid "%s: Cannot set the file owner: %s" -msgstr "" - -#: src/xz/file_io.c:176 -#, c-format -msgid "%s: Cannot set the file group: %s" -msgstr "" - -#: src/xz/file_io.c:195 -#, c-format -msgid "%s: Cannot set the file permissions: %s" -msgstr "" - -#: src/xz/file_io.c:338 src/xz/file_io.c:417 -#, c-format -msgid "%s: Is a symbolic link, skipping" -msgstr "" - -#: src/xz/file_io.c:452 -#, c-format -msgid "%s: Is a directory, skipping" -msgstr "" - -#: src/xz/file_io.c:458 -#, c-format -msgid "%s: Not a regular file, skipping" -msgstr "" - -#: src/xz/file_io.c:475 -#, c-format -msgid "%s: File has setuid or setgid bit set, skipping" -msgstr "" - -#: src/xz/file_io.c:482 -#, c-format -msgid "%s: File has sticky bit set, skipping" -msgstr "" - -#: src/xz/file_io.c:489 -#, c-format -msgid "%s: Input file has more than one hard link, skipping" -msgstr "" - -#: src/xz/file_io.c:711 -#, c-format -msgid "Error restoring the O_APPEND flag to standard output: %s" -msgstr "" - -#: src/xz/file_io.c:723 -#, c-format -msgid "%s: Closing the file failed: %s" -msgstr "" - -#: src/xz/file_io.c:759 src/xz/file_io.c:943 -#, c-format -msgid "%s: Seeking failed when trying to create a sparse file: %s" -msgstr "" - -#: src/xz/file_io.c:818 -#, c-format -msgid "%s: Read error: %s" -msgstr "" - -#: src/xz/file_io.c:841 -#, c-format -msgid "%s: Error seeking the file: %s" -msgstr "" - -#: src/xz/file_io.c:851 -#, c-format -msgid "%s: Unexpected end of file" -msgstr "" - -#: src/xz/file_io.c:901 -#, c-format -msgid "%s: Write error: %s" -msgstr "" - -#: src/xz/hardware.c:100 -msgid "Disabled" -msgstr "" - -#. TRANSLATORS: Test with "xz --info-memory" to see if -#. the alignment looks nice. -#: src/xz/hardware.c:119 -msgid "Total amount of physical memory (RAM): " -msgstr "" - -#: src/xz/hardware.c:121 -msgid "Memory usage limit for compression: " -msgstr "" - -#: src/xz/hardware.c:123 -msgid "Memory usage limit for decompression: " -msgstr "" - -#. TRANSLATORS: Indicates that there is no integrity check. -#. This string is used in tables, so the width must not -#. exceed ten columns with a fixed-width font. -#: src/xz/list.c:62 -msgid "None" -msgstr "" - -#. TRANSLATORS: Indicates that integrity check name is not known, -#. but the Check ID is known (here 2). This and other "Unknown-N" -#. strings are used in tables, so the width must not exceed ten -#. columns with a fixed-width font. It's OK to omit the dash if -#. you need space for one extra letter, but don't use spaces. -#: src/xz/list.c:69 -msgid "Unknown-2" -msgstr "" - -#: src/xz/list.c:70 -msgid "Unknown-3" -msgstr "" - -#: src/xz/list.c:72 -msgid "Unknown-5" -msgstr "" - -#: src/xz/list.c:73 -msgid "Unknown-6" -msgstr "" - -#: src/xz/list.c:74 -msgid "Unknown-7" -msgstr "" - -#: src/xz/list.c:75 -msgid "Unknown-8" -msgstr "" - -#: src/xz/list.c:76 -msgid "Unknown-9" -msgstr "" - -#: src/xz/list.c:78 -msgid "Unknown-11" -msgstr "" - -#: src/xz/list.c:79 -msgid "Unknown-12" -msgstr "" - -#: src/xz/list.c:80 -msgid "Unknown-13" -msgstr "" - -#: src/xz/list.c:81 -msgid "Unknown-14" -msgstr "" - -#: src/xz/list.c:82 -msgid "Unknown-15" -msgstr "" - -#: src/xz/list.c:126 -#, c-format -msgid "%s: File is empty" -msgstr "" - -#: src/xz/list.c:131 -#, c-format -msgid "%s: Too small to be a valid .xz file" -msgstr "" - -#. TRANSLATORS: These are column headings. From Strms (Streams) -#. to Ratio, the columns are right aligned. Check and Filename -#. are left aligned. If you need longer words, it's OK to -#. use two lines here. Test with "xz -l foo.xz". -#: src/xz/list.c:629 -msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename" -msgstr "" - -#: src/xz/list.c:669 -#, c-format -msgid " Streams: %s\n" -msgstr "" - -#: src/xz/list.c:671 -#, c-format -msgid " Blocks: %s\n" -msgstr "" - -#: src/xz/list.c:673 -#, c-format -msgid " Compressed size: %s\n" -msgstr "" - -#: src/xz/list.c:676 -#, c-format -msgid " Uncompressed size: %s\n" -msgstr "" - -#: src/xz/list.c:679 -#, c-format -msgid " Ratio: %s\n" -msgstr "" - -#: src/xz/list.c:681 -#, c-format -msgid " Check: %s\n" -msgstr "" - -#: src/xz/list.c:682 -#, c-format -msgid " Stream padding: %s\n" -msgstr "" - -#. TRANSLATORS: The second line is column headings. All except -#. Check are right aligned; Check is left aligned. Test with -#. "xz -lv foo.xz". -#: src/xz/list.c:710 -msgid "" -" Streams:\n" -" Stream Blocks CompOffset UncompOffset CompSize UncompSize Ratio Check Padding" -msgstr "" - -#. TRANSLATORS: The second line is column headings. All -#. except Check are right aligned; Check is left aligned. -#: src/xz/list.c:765 -#, c-format -msgid "" -" Blocks:\n" -" Stream Block CompOffset UncompOffset TotalSize UncompSize Ratio Check" -msgstr "" - -#. TRANSLATORS: These are additional column headings -#. for the most verbose listing mode. CheckVal -#. (Check value), Flags, and Filters are left aligned. -#. Header (Block Header Size), CompSize, and MemUsage -#. are right aligned. %*s is replaced with 0-120 -#. spaces to make the CheckVal column wide enough. -#. Test with "xz -lvv foo.xz". -#: src/xz/list.c:777 -#, c-format -msgid " CheckVal %*s Header Flags CompSize MemUsage Filters" -msgstr "" - -#: src/xz/list.c:855 src/xz/list.c:1024 -#, c-format -msgid " Memory needed: %s MiB\n" -msgstr "" - -#: src/xz/list.c:857 src/xz/list.c:1026 -#, c-format -msgid " Sizes in headers: %s\n" -msgstr "" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "Yes" -msgstr "" - -#: src/xz/list.c:858 src/xz/list.c:1027 -msgid "No" -msgstr "" - -#. TRANSLATORS: %s is an integer. Only the plural form of this -#. message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". -#: src/xz/list.c:1003 -#, c-format -msgid "%s file\n" -msgid_plural "%s files\n" -msgstr[0] "" -msgstr[1] "" - -#: src/xz/list.c:1016 -msgid "Totals:" -msgstr "" - -#: src/xz/list.c:1017 -#, c-format -msgid " Number of files: %s\n" -msgstr "" - -#: src/xz/list.c:1089 -msgid "--list works only on .xz files (--format=xz or --format=auto)" -msgstr "" - -#: src/xz/list.c:1095 -msgid "--list does not support reading from standard input" -msgstr "" - -#: src/xz/main.c:89 -#, c-format -msgid "%s: Error reading filenames: %s" -msgstr "" - -#: src/xz/main.c:96 -#, c-format -msgid "%s: Unexpected end of input when reading filenames" -msgstr "" - -#: src/xz/main.c:120 -#, c-format -msgid "%s: Null character found when reading filenames; maybe you meant to use `--files0' instead of `--files'?" -msgstr "" - -#: src/xz/main.c:174 -msgid "Compression and decompression with --robot are not supported yet." -msgstr "" - -#: src/xz/main.c:231 -msgid "Cannot read data from standard input when reading filenames from standard input" -msgstr "" - -#. TRANSLATORS: This is the program name in the beginning -#. of the line in messages. Usually it becomes "xz: ". -#. This is a translatable string because French needs -#. a space before a colon. -#: src/xz/message.c:733 -#, c-format -msgid "%s: " -msgstr "" - -#: src/xz/message.c:796 src/xz/message.c:846 -msgid "Internal error (bug)" -msgstr "" - -#: src/xz/message.c:803 -msgid "Cannot establish signal handlers" -msgstr "" - -#: src/xz/message.c:812 -msgid "No integrity check; not verifying file integrity" -msgstr "" - -#: src/xz/message.c:815 -msgid "Unsupported type of integrity check; not verifying file integrity" -msgstr "" - -#: src/xz/message.c:822 -msgid "Memory usage limit reached" -msgstr "" - -#: src/xz/message.c:825 -msgid "File format not recognized" -msgstr "" - -#: src/xz/message.c:828 -msgid "Unsupported options" -msgstr "" - -#: src/xz/message.c:831 -msgid "Compressed data is corrupt" -msgstr "" - -#: src/xz/message.c:834 -msgid "Unexpected end of input" -msgstr "" - -#: src/xz/message.c:867 -#, c-format -msgid "%s MiB of memory is required. The limiter is disabled." -msgstr "" - -#: src/xz/message.c:895 -#, c-format -msgid "%s MiB of memory is required. The limit is %s." -msgstr "" - -#: src/xz/message.c:1062 -#, c-format -msgid "%s: Filter chain: %s\n" -msgstr "" - -#: src/xz/message.c:1072 -#, c-format -msgid "Try `%s --help' for more information." -msgstr "" - -#: src/xz/message.c:1098 -#, c-format -msgid "" -"Usage: %s [OPTION]... [FILE]...\n" -"Compress or decompress FILEs in the .xz format.\n" -"\n" -msgstr "" - -#: src/xz/message.c:1105 -msgid "Mandatory arguments to long options are mandatory for short options too.\n" -msgstr "" - -#: src/xz/message.c:1109 -msgid " Operation mode:\n" -msgstr "" - -#: src/xz/message.c:1112 -msgid "" -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files" -msgstr "" - -#: src/xz/message.c:1118 -msgid "" -"\n" -" Operation modifiers:\n" -msgstr "" - -#: src/xz/message.c:1121 -msgid "" -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files" -msgstr "" - -#: src/xz/message.c:1127 -msgid "" -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator" -msgstr "" - -#: src/xz/message.c:1135 -msgid "" -"\n" -" Basic file format and compression options:\n" -msgstr "" - -#: src/xz/message.c:1137 -msgid "" -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'" -msgstr "" - -#: src/xz/message.c:1144 -msgid "" -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!" -msgstr "" - -#: src/xz/message.c:1148 -msgid "" -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements" -msgstr "" - -#: src/xz/message.c:1153 -#, no-c-format -msgid "" -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults" -msgstr "" - -#: src/xz/message.c:1160 -msgid "" -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards" -msgstr "" - -#: src/xz/message.c:1166 -msgid "" -"\n" -" Custom filter chain for compression (alternative for using presets):" -msgstr "" - -#: src/xz/message.c:1175 -msgid "" -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)" -msgstr "" - -#: src/xz/message.c:1190 -msgid "" -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)" -msgstr "" - -#: src/xz/message.c:1202 -msgid "" -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)" -msgstr "" - -#: src/xz/message.c:1210 -msgid "" -"\n" -" Other options:\n" -msgstr "" - -#: src/xz/message.c:1213 -msgid "" -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose" -msgstr "" - -#: src/xz/message.c:1218 -msgid " -Q, --no-warn make warnings not affect the exit status" -msgstr "" - -#: src/xz/message.c:1220 -msgid " --robot use machine-parsable messages (useful for scripts)" -msgstr "" - -#: src/xz/message.c:1223 -msgid "" -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit" -msgstr "" - -#: src/xz/message.c:1226 -msgid "" -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit" -msgstr "" - -#: src/xz/message.c:1230 -msgid "" -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)" -msgstr "" - -#: src/xz/message.c:1235 -msgid " -V, --version display the version number and exit" -msgstr "" - -#: src/xz/message.c:1237 -msgid "" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -msgstr "" - -#. TRANSLATORS: This message indicates the bug reporting address -#. for this package. Please add _another line_ saying -#. "Report translation bugs to <...>\n" with the email or WWW -#. address for translation bugs. Thanks. -#: src/xz/message.c:1243 -#, c-format -msgid "Report bugs to <%s> (in English or Finnish).\n" -msgstr "" - -#: src/xz/message.c:1245 -#, c-format -msgid "%s home page: <%s>\n" -msgstr "" - -#: src/xz/options.c:86 -#, c-format -msgid "%s: Options must be `name=value' pairs separated with commas" -msgstr "" - -#: src/xz/options.c:93 -#, c-format -msgid "%s: Invalid option name" -msgstr "" - -#: src/xz/options.c:113 -#, c-format -msgid "%s: Invalid option value" -msgstr "" - -#: src/xz/options.c:247 -#, c-format -msgid "Unsupported LZMA1/LZMA2 preset: %s" -msgstr "" - -#: src/xz/options.c:355 -msgid "The sum of lc and lp must not exceed 4" -msgstr "" - -#: src/xz/options.c:359 -#, c-format -msgid "The selected match finder requires at least nice=%" -msgstr "" - -#: src/xz/suffix.c:101 src/xz/suffix.c:194 -#, c-format -msgid "%s: With --format=raw, --suffix=.SUF is required unless writing to stdout" -msgstr "" - -#: src/xz/suffix.c:121 -#, c-format -msgid "%s: Filename has an unknown suffix, skipping" -msgstr "" - -#: src/xz/suffix.c:175 src/xz/suffix.c:184 -#, c-format -msgid "%s: File already has `%s' suffix, skipping" -msgstr "" - -#: src/xz/suffix.c:235 -#, c-format -msgid "%s: Invalid filename suffix" -msgstr "" - -#: src/xz/util.c:71 -#, c-format -msgid "%s: Value is not a non-negative decimal integer" -msgstr "" - -#: src/xz/util.c:113 -#, c-format -msgid "%s: Invalid multiplier suffix" -msgstr "" - -#: src/xz/util.c:115 -msgid "Valid suffixes are `KiB' (2^10), `MiB' (2^20), and `GiB' (2^30)." -msgstr "" - -#: src/xz/util.c:132 -#, c-format -msgid "Value of the option `%s' must be in the range [%, %]" -msgstr "" - -#: src/xz/util.c:257 -msgid "Empty filename, skipping" -msgstr "" - -#: src/xz/util.c:271 -msgid "Compressed data cannot be read from a terminal" -msgstr "" - -#: src/xz/util.c:284 -msgid "Compressed data cannot be written to a terminal" -msgstr "" - -#: src/common/tuklib_exit.c:39 -msgid "Writing to standard output failed" -msgstr "" - -#: src/common/tuklib_exit.c:42 -msgid "Unknown error" -msgstr "" diff --git a/Build/source/extra/xz/src/Makefile.am b/Build/source/extra/xz/src/Makefile.am deleted file mode 100644 index 9fb4caad669..00000000000 --- a/Build/source/extra/xz/src/Makefile.am +++ /dev/null @@ -1,22 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -SUBDIRS = liblzma xzdec - -if COND_XZ -SUBDIRS += xz -endif - -if COND_LZMAINFO -SUBDIRS += lzmainfo -endif - -if COND_SCRIPTS -SUBDIRS += scripts -endif - -EXTRA_DIST = common diff --git a/Build/source/extra/xz/src/Makefile.in b/Build/source/extra/xz/src/Makefile.in deleted file mode 100644 index f113128e3ac..00000000000 --- a/Build/source/extra/xz/src/Makefile.in +++ /dev/null @@ -1,653 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@COND_XZ_TRUE@am__append_1 = xz -@COND_LZMAINFO_TRUE@am__append_2 = lzmainfo -@COND_SCRIPTS_TRUE@am__append_3 = scripts -subdir = src -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = liblzma xzdec xz lzmainfo scripts -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -SUBDIRS = liblzma xzdec $(am__append_1) $(am__append_2) \ - $(am__append_3) -EXTRA_DIST = common -all: all-recursive - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile -installdirs: installdirs-recursive -installdirs-am: -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-recursive - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libtool cscopelist-am ctags \ - ctags-am distclean distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ - ps ps-am tags tags-am uninstall uninstall-am - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/common/common_w32res.rc b/Build/source/extra/xz/src/common/common_w32res.rc deleted file mode 100644 index fdb88d184ac..00000000000 --- a/Build/source/extra/xz/src/common/common_w32res.rc +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#include -#include "config.h" -#define LZMA_H_INTERNAL -#define LZMA_H_INTERNAL_RC -#include "lzma/version.h" - -#ifndef MY_BUILD -# define MY_BUILD 0 -#endif -#define MY_VERSION LZMA_VERSION_MAJOR,LZMA_VERSION_MINOR,LZMA_VERSION_PATCH,MY_BUILD - -#define MY_FILENAME MY_NAME MY_SUFFIX -#define MY_COMPANY "The Tukaani Project " -#define MY_PRODUCT PACKAGE_NAME " <" PACKAGE_URL ">" - -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -VS_VERSION_INFO VERSIONINFO - FILEVERSION MY_VERSION - PRODUCTVERSION MY_VERSION - FILEFLAGSMASK VS_FFI_FILEFLAGSMASK - FILEFLAGS 0 - FILEOS VOS_NT_WINDOWS32 - FILETYPE MY_TYPE - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "040904b0" - BEGIN - VALUE "CompanyName", MY_COMPANY - VALUE "FileDescription", MY_DESC - VALUE "FileVersion", LZMA_VERSION_STRING - VALUE "InternalName", MY_NAME - VALUE "OriginalFilename", MY_FILENAME - VALUE "ProductName", MY_PRODUCT - VALUE "ProductVersion", LZMA_VERSION_STRING - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x409, 1200 - END -END diff --git a/Build/source/extra/xz/src/common/mythread.h b/Build/source/extra/xz/src/common/mythread.h deleted file mode 100644 index 476c2fc9e10..00000000000 --- a/Build/source/extra/xz/src/common/mythread.h +++ /dev/null @@ -1,42 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file mythread.h -/// \brief Wrappers for threads -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" - - -#ifdef HAVE_PTHREAD -# include - -# define mythread_once(func) \ - do { \ - static pthread_once_t once_ = PTHREAD_ONCE_INIT; \ - pthread_once(&once_, &func); \ - } while (0) - -# define mythread_sigmask(how, set, oset) \ - pthread_sigmask(how, set, oset) - -#else - -# define mythread_once(func) \ - do { \ - static bool once_ = false; \ - if (!once_) { \ - func(); \ - once_ = true; \ - } \ - } while (0) - -# define mythread_sigmask(how, set, oset) \ - sigprocmask(how, set, oset) - -#endif diff --git a/Build/source/extra/xz/src/common/sysdefs.h b/Build/source/extra/xz/src/common/sysdefs.h deleted file mode 100644 index 5ea6bdae4ae..00000000000 --- a/Build/source/extra/xz/src/common/sysdefs.h +++ /dev/null @@ -1,192 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file sysdefs.h -/// \brief Common includes, definitions, system-specific things etc. -/// -/// This file is used also by the lzma command line tool, that's why this -/// file is separate from common.h. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SYSDEFS_H -#define LZMA_SYSDEFS_H - -////////////// -// Includes // -////////////// - -#ifdef HAVE_CONFIG_H -# include -#endif - -// Get standard-compliant stdio functions under MinGW and MinGW-w64. -#ifdef __MINGW32__ -# define __USE_MINGW_ANSI_STDIO 1 -#endif - -// size_t and NULL -#include - -#ifdef HAVE_INTTYPES_H -# include -#endif - -// C99 says that inttypes.h always includes stdint.h, but some systems -// don't do that, and require including stdint.h separately. -#ifdef HAVE_STDINT_H -# include -#endif - -// Some pre-C99 systems have SIZE_MAX in limits.h instead of stdint.h. The -// limits are also used to figure out some macros missing from pre-C99 systems. -#ifdef HAVE_LIMITS_H -# include -#endif - -// Be more compatible with systems that have non-conforming inttypes.h. -// We assume that int is 32-bit and that long is either 32-bit or 64-bit. -// Full Autoconf test could be more correct, but this should work well enough. -// Note that this duplicates some code from lzma.h, but this is better since -// we can work without inttypes.h thanks to Autoconf tests. -#ifndef UINT32_C -# if UINT_MAX != 4294967295U -# error UINT32_C is not defined and unsigned int is not 32-bit. -# endif -# define UINT32_C(n) n ## U -#endif -#ifndef UINT32_MAX -# define UINT32_MAX UINT32_C(4294967295) -#endif -#ifndef PRIu32 -# define PRIu32 "u" -#endif -#ifndef PRIx32 -# define PRIx32 "x" -#endif -#ifndef PRIX32 -# define PRIX32 "X" -#endif - -#if ULONG_MAX == 4294967295UL -# ifndef UINT64_C -# define UINT64_C(n) n ## ULL -# endif -# ifndef PRIu64 -# define PRIu64 "llu" -# endif -# ifndef PRIx64 -# define PRIx64 "llx" -# endif -# ifndef PRIX64 -# define PRIX64 "llX" -# endif -#else -# ifndef UINT64_C -# define UINT64_C(n) n ## UL -# endif -# ifndef PRIu64 -# define PRIu64 "lu" -# endif -# ifndef PRIx64 -# define PRIx64 "lx" -# endif -# ifndef PRIX64 -# define PRIX64 "lX" -# endif -#endif -#ifndef UINT64_MAX -# define UINT64_MAX UINT64_C(18446744073709551615) -#endif - -// Incorrect(?) SIZE_MAX: -// - Interix headers typedef size_t to unsigned long, -// but a few lines later define SIZE_MAX to INT32_MAX. -// - SCO OpenServer (x86) headers typedef size_t to unsigned int -// but define SIZE_MAX to INT32_MAX. -#if defined(__INTERIX) || defined(_SCO_DS) -# undef SIZE_MAX -#endif - -// The code currently assumes that size_t is either 32-bit or 64-bit. -#ifndef SIZE_MAX -# if SIZEOF_SIZE_T == 4 -# define SIZE_MAX UINT32_MAX -# elif SIZEOF_SIZE_T == 8 -# define SIZE_MAX UINT64_MAX -# else -# error size_t is not 32-bit or 64-bit -# endif -#endif -#if SIZE_MAX != UINT32_MAX && SIZE_MAX != UINT64_MAX -# error size_t is not 32-bit or 64-bit -#endif - -#include -#include - -// Pre-C99 systems lack stdbool.h. All the code in LZMA Utils must be written -// so that it works with fake bool type, for example: -// -// bool foo = (flags & 0x100) != 0; -// bool bar = !!(flags & 0x100); -// -// This works with the real C99 bool but breaks with fake bool: -// -// bool baz = (flags & 0x100); -// -#ifdef HAVE_STDBOOL_H -# include -#else -# if ! HAVE__BOOL -typedef unsigned char _Bool; -# endif -# define bool _Bool -# define false 0 -# define true 1 -# define __bool_true_false_are_defined 1 -#endif - -// string.h should be enough but let's include strings.h and memory.h too if -// they exists, since that shouldn't do any harm, but may improve portability. -#ifdef HAVE_STRING_H -# include -#endif - -#ifdef HAVE_STRINGS_H -# include -#endif - -#ifdef HAVE_MEMORY_H -# include -#endif - - -//////////// -// Macros // -//////////// - -#undef memzero -#define memzero(s, n) memset(s, 0, n) - -// NOTE: Avoid using MIN() and MAX(), because even conditionally defining -// those macros can cause some portability trouble, since on some systems -// the system headers insist defining their own versions. -#define my_min(x, y) ((x) < (y) ? (x) : (y)) -#define my_max(x, y) ((x) > (y) ? (x) : (y)) - -#ifndef ARRAY_SIZE -# define ARRAY_SIZE(array) (sizeof(array) / sizeof((array)[0])) -#endif - -#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) || __GNUC__ > 4 -# define lzma_attr_alloc_size(x) __attribute__((__alloc_size__(x))) -#else -# define lzma_attr_alloc_size(x) -#endif - -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_common.h b/Build/source/extra/xz/src/common/tuklib_common.h deleted file mode 100644 index 31fbab58b00..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_common.h +++ /dev/null @@ -1,71 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_common.h -/// \brief Common definitions for tuklib modules -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_COMMON_H -#define TUKLIB_COMMON_H - -// The config file may be replaced by a package-specific file. -// It should include at least stddef.h, inttypes.h, and limits.h. -#include "tuklib_config.h" - -// TUKLIB_SYMBOL_PREFIX is prefixed to all symbols exported by -// the tuklib modules. If you use a tuklib module in a library, -// you should use TUKLIB_SYMBOL_PREFIX to make sure that there -// are no symbol conflicts in case someone links your library -// into application that also uses the same tuklib module. -#ifndef TUKLIB_SYMBOL_PREFIX -# define TUKLIB_SYMBOL_PREFIX -#endif - -#define TUKLIB_CAT_X(a, b) a ## b -#define TUKLIB_CAT(a, b) TUKLIB_CAT_X(a, b) - -#ifndef TUKLIB_SYMBOL -# define TUKLIB_SYMBOL(sym) TUKLIB_CAT(TUKLIB_SYMBOL_PREFIX, sym) -#endif - -#ifndef TUKLIB_DECLS_BEGIN -# ifdef __cplusplus -# define TUKLIB_DECLS_BEGIN extern "C" { -# else -# define TUKLIB_DECLS_BEGIN -# endif -#endif - -#ifndef TUKLIB_DECLS_END -# ifdef __cplusplus -# define TUKLIB_DECLS_END } -# else -# define TUKLIB_DECLS_END -# endif -#endif - -#if defined(__GNUC__) && defined(__GNUC_MINOR__) -# define TUKLIB_GNUC_REQ(major, minor) \ - ((__GNUC__ == (major) && __GNUC_MINOR__ >= (minor)) \ - || __GNUC__ > (major)) -#else -# define TUKLIB_GNUC_REQ(major, minor) 0 -#endif - -#if TUKLIB_GNUC_REQ(2, 5) -# define tuklib_attr_noreturn __attribute__((__noreturn__)) -#else -# define tuklib_attr_noreturn -#endif - -#if (defined(_WIN32) && !defined(__CYGWIN__)) \ - || defined(__OS2__) || defined(__MSDOS__) -# define TUKLIB_DOSLIKE 1 -#endif - -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_config.h b/Build/source/extra/xz/src/common/tuklib_config.h deleted file mode 100644 index 549cb24d773..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_config.h +++ /dev/null @@ -1,7 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include "sysdefs.h" -#else -# include -# include -# include -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_cpucores.c b/Build/source/extra/xz/src/common/tuklib_cpucores.c deleted file mode 100644 index 1da13df7f5f..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_cpucores.c +++ /dev/null @@ -1,62 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_cpucores.c -/// \brief Get the number of CPU cores online -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_cpucores.h" - -#if defined(TUKLIB_CPUCORES_SYSCTL) -# ifdef HAVE_SYS_PARAM_H -# include -# endif -# include - -#elif defined(TUKLIB_CPUCORES_SYSCONF) -# include - -// HP-UX -#elif defined(TUKLIB_CPUCORES_PSTAT_GETDYNAMIC) -# include -# include -#endif - - -extern uint32_t -tuklib_cpucores(void) -{ - uint32_t ret = 0; - -#if defined(TUKLIB_CPUCORES_SYSCTL) - int name[2] = { CTL_HW, HW_NCPU }; - int cpus; - size_t cpus_size = sizeof(cpus); - if (sysctl(name, 2, &cpus, &cpus_size, NULL, 0) != -1 - && cpus_size == sizeof(cpus) && cpus > 0) - ret = cpus; - -#elif defined(TUKLIB_CPUCORES_SYSCONF) -# ifdef _SC_NPROCESSORS_ONLN - // Most systems - const long cpus = sysconf(_SC_NPROCESSORS_ONLN); -# else - // IRIX - const long cpus = sysconf(_SC_NPROC_ONLN); -# endif - if (cpus > 0) - ret = cpus; - -#elif defined(TUKLIB_CPUCORES_PSTAT_GETDYNAMIC) - struct pst_dynamic pst; - if (pstat_getdynamic(&pst, sizeof(pst), 1, 0) != -1) - ret = pst.psd_proc_cnt; -#endif - - return ret; -} diff --git a/Build/source/extra/xz/src/common/tuklib_cpucores.h b/Build/source/extra/xz/src/common/tuklib_cpucores.h deleted file mode 100644 index be1ce1c175a..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_cpucores.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_cpucores.h -/// \brief Get the number of CPU cores online -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_CPUCORES_H -#define TUKLIB_CPUCORES_H - -#include "tuklib_common.h" -TUKLIB_DECLS_BEGIN - -#define tuklib_cpucores TUKLIB_SYMBOL(tuklib_cpucores) -extern uint32_t tuklib_cpucores(void); - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_exit.c b/Build/source/extra/xz/src/common/tuklib_exit.c deleted file mode 100644 index c393be64d75..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_exit.c +++ /dev/null @@ -1,57 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_exit.c -/// \brief Close stdout and stderr, and exit -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_common.h" - -#include -#include - -#include "tuklib_gettext.h" -#include "tuklib_progname.h" -#include "tuklib_exit.h" - - -extern void -tuklib_exit(int status, int err_status, int show_error) -{ - if (status != err_status) { - // Close stdout. If something goes wrong, - // print an error message to stderr. - const int ferror_err = ferror(stdout); - const int fclose_err = fclose(stdout); - if (ferror_err || fclose_err) { - status = err_status; - - // If it was fclose() that failed, we have the reason - // in errno. If only ferror() indicated an error, - // we have no idea what the reason was. - if (show_error) - fprintf(stderr, "%s: %s: %s\n", progname, - _("Writing to standard " - "output failed"), - fclose_err ? strerror(errno) - : _("Unknown error")); - } - } - - if (status != err_status) { - // Close stderr. If something goes wrong, there's - // nothing where we could print an error message. - // Just set the exit status. - const int ferror_err = ferror(stderr); - const int fclose_err = fclose(stderr); - if (fclose_err || ferror_err) - status = err_status; - } - - exit(status); -} diff --git a/Build/source/extra/xz/src/common/tuklib_exit.h b/Build/source/extra/xz/src/common/tuklib_exit.h deleted file mode 100644 index b11776f0e5b..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_exit.h +++ /dev/null @@ -1,25 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_exit.h -/// \brief Close stdout and stderr, and exit -/// \note Requires tuklib_progname and tuklib_gettext modules -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_EXIT_H -#define TUKLIB_EXIT_H - -#include "tuklib_common.h" -TUKLIB_DECLS_BEGIN - -#define tuklib_exit TUKLIB_SYMBOL(tuklib_exit) -extern void tuklib_exit(int status, int err_status, int show_error) - tuklib_attr_noreturn; - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_gettext.h b/Build/source/extra/xz/src/common/tuklib_gettext.h deleted file mode 100644 index ff189040712..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_gettext.h +++ /dev/null @@ -1,44 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_gettext.h -/// \brief Wrapper for gettext and friends -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_GETTEXT_H -#define TUKLIB_GETTEXT_H - -#include "tuklib_common.h" -#include - -#ifndef TUKLIB_GETTEXT -# ifdef ENABLE_NLS -# define TUKLIB_GETTEXT 1 -# else -# define TUKLIB_GETTEXT 0 -# endif -#endif - -#if TUKLIB_GETTEXT -# include -# define tuklib_gettext_init(package, localedir) \ - do { \ - setlocale(LC_ALL, ""); \ - bindtextdomain(package, localedir); \ - textdomain(package); \ - } while (0) -# define _(msgid) gettext(msgid) -#else -# define tuklib_gettext_init(package, localedir) \ - setlocale(LC_ALL, "") -# define _(msgid) (msgid) -# define ngettext(msgid1, msgid2, n) ((n) == 1 ? (msgid1) : (msgid2)) -#endif -#define N_(msgid) msgid - -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_integer.h b/Build/source/extra/xz/src/common/tuklib_integer.h deleted file mode 100644 index e6daa772d58..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_integer.h +++ /dev/null @@ -1,523 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_integer.h -/// \brief Various integer and bit operations -/// -/// This file provides macros or functions to do some basic integer and bit -/// operations. -/// -/// Endianness related integer operations (XX = 16, 32, or 64; Y = b or l): -/// - Byte swapping: bswapXX(num) -/// - Byte order conversions to/from native: convXXYe(num) -/// - Aligned reads: readXXYe(ptr) -/// - Aligned writes: writeXXYe(ptr, num) -/// - Unaligned reads (16/32-bit only): unaligned_readXXYe(ptr) -/// - Unaligned writes (16/32-bit only): unaligned_writeXXYe(ptr, num) -/// -/// Since they can macros, the arguments should have no side effects since -/// they may be evaluated more than once. -/// -/// \todo PowerPC and possibly some other architectures support -/// byte swapping load and store instructions. This file -/// doesn't take advantage of those instructions. -/// -/// Bit scan operations for non-zero 32-bit integers: -/// - Bit scan reverse (find highest non-zero bit): bsr32(num) -/// - Count leading zeros: clz32(num) -/// - Count trailing zeros: ctz32(num) -/// - Bit scan forward (simply an alias for ctz32()): bsf32(num) -/// -/// The above bit scan operations return 0-31. If num is zero, -/// the result is undefined. -// -// Authors: Lasse Collin -// Joachim Henke -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_INTEGER_H -#define TUKLIB_INTEGER_H - -#include "tuklib_common.h" - - -//////////////////////////////////////// -// Operating system specific features // -//////////////////////////////////////// - -#if defined(HAVE_BYTESWAP_H) - // glibc, uClibc, dietlibc -# include -# ifdef HAVE_BSWAP_16 -# define bswap16(num) bswap_16(num) -# endif -# ifdef HAVE_BSWAP_32 -# define bswap32(num) bswap_32(num) -# endif -# ifdef HAVE_BSWAP_64 -# define bswap64(num) bswap_64(num) -# endif - -#elif defined(HAVE_SYS_ENDIAN_H) - // *BSDs and Darwin -# include - -#elif defined(HAVE_SYS_BYTEORDER_H) - // Solaris -# include -# ifdef BSWAP_16 -# define bswap16(num) BSWAP_16(num) -# endif -# ifdef BSWAP_32 -# define bswap32(num) BSWAP_32(num) -# endif -# ifdef BSWAP_64 -# define bswap64(num) BSWAP_64(num) -# endif -# ifdef BE_16 -# define conv16be(num) BE_16(num) -# endif -# ifdef BE_32 -# define conv32be(num) BE_32(num) -# endif -# ifdef BE_64 -# define conv64be(num) BE_64(num) -# endif -# ifdef LE_16 -# define conv16le(num) LE_16(num) -# endif -# ifdef LE_32 -# define conv32le(num) LE_32(num) -# endif -# ifdef LE_64 -# define conv64le(num) LE_64(num) -# endif -#endif - - -/////////////////// -// Byte swapping // -/////////////////// - -#ifndef bswap16 -# define bswap16(num) \ - (((uint16_t)(num) << 8) | ((uint16_t)(num) >> 8)) -#endif - -#ifndef bswap32 -# define bswap32(num) \ - ( (((uint32_t)(num) << 24) ) \ - | (((uint32_t)(num) << 8) & UINT32_C(0x00FF0000)) \ - | (((uint32_t)(num) >> 8) & UINT32_C(0x0000FF00)) \ - | (((uint32_t)(num) >> 24) ) ) -#endif - -#ifndef bswap64 -# define bswap64(num) \ - ( (((uint64_t)(num) << 56) ) \ - | (((uint64_t)(num) << 40) & UINT64_C(0x00FF000000000000)) \ - | (((uint64_t)(num) << 24) & UINT64_C(0x0000FF0000000000)) \ - | (((uint64_t)(num) << 8) & UINT64_C(0x000000FF00000000)) \ - | (((uint64_t)(num) >> 8) & UINT64_C(0x00000000FF000000)) \ - | (((uint64_t)(num) >> 24) & UINT64_C(0x0000000000FF0000)) \ - | (((uint64_t)(num) >> 40) & UINT64_C(0x000000000000FF00)) \ - | (((uint64_t)(num) >> 56) ) ) -#endif - -// Define conversion macros using the basic byte swapping macros. -#ifdef WORDS_BIGENDIAN -# ifndef conv16be -# define conv16be(num) ((uint16_t)(num)) -# endif -# ifndef conv32be -# define conv32be(num) ((uint32_t)(num)) -# endif -# ifndef conv64be -# define conv64be(num) ((uint64_t)(num)) -# endif -# ifndef conv16le -# define conv16le(num) bswap16(num) -# endif -# ifndef conv32le -# define conv32le(num) bswap32(num) -# endif -# ifndef conv64le -# define conv64le(num) bswap64(num) -# endif -#else -# ifndef conv16be -# define conv16be(num) bswap16(num) -# endif -# ifndef conv32be -# define conv32be(num) bswap32(num) -# endif -# ifndef conv64be -# define conv64be(num) bswap64(num) -# endif -# ifndef conv16le -# define conv16le(num) ((uint16_t)(num)) -# endif -# ifndef conv32le -# define conv32le(num) ((uint32_t)(num)) -# endif -# ifndef conv64le -# define conv64le(num) ((uint64_t)(num)) -# endif -#endif - - -////////////////////////////// -// Aligned reads and writes // -////////////////////////////// - -static inline uint16_t -read16be(const uint8_t *buf) -{ - uint16_t num = *(const uint16_t *)buf; - return conv16be(num); -} - - -static inline uint16_t -read16le(const uint8_t *buf) -{ - uint16_t num = *(const uint16_t *)buf; - return conv16le(num); -} - - -static inline uint32_t -read32be(const uint8_t *buf) -{ - uint32_t num = *(const uint32_t *)buf; - return conv32be(num); -} - - -static inline uint32_t -read32le(const uint8_t *buf) -{ - uint32_t num = *(const uint32_t *)buf; - return conv32le(num); -} - - -static inline uint64_t -read64be(const uint8_t *buf) -{ - uint64_t num = *(const uint64_t *)buf; - return conv64be(num); -} - - -static inline uint64_t -read64le(const uint8_t *buf) -{ - uint64_t num = *(const uint64_t *)buf; - return conv64le(num); -} - - -// NOTE: Possible byte swapping must be done in a macro to allow GCC -// to optimize byte swapping of constants when using glibc's or *BSD's -// byte swapping macros. The actual write is done in an inline function -// to make type checking of the buf pointer possible similarly to readXXYe() -// functions. - -#define write16be(buf, num) write16ne((buf), conv16be(num)) -#define write16le(buf, num) write16ne((buf), conv16le(num)) -#define write32be(buf, num) write32ne((buf), conv32be(num)) -#define write32le(buf, num) write32ne((buf), conv32le(num)) -#define write64be(buf, num) write64ne((buf), conv64be(num)) -#define write64le(buf, num) write64ne((buf), conv64le(num)) - - -static inline void -write16ne(uint8_t *buf, uint16_t num) -{ - *(uint16_t *)buf = num; - return; -} - - -static inline void -write32ne(uint8_t *buf, uint32_t num) -{ - *(uint32_t *)buf = num; - return; -} - - -static inline void -write64ne(uint8_t *buf, uint64_t num) -{ - *(uint64_t *)buf = num; - return; -} - - -//////////////////////////////// -// Unaligned reads and writes // -//////////////////////////////// - -// NOTE: TUKLIB_FAST_UNALIGNED_ACCESS indicates only support for 16-bit and -// 32-bit unaligned integer loads and stores. It's possible that 64-bit -// unaligned access doesn't work or is slower than byte-by-byte access. -// Since unaligned 64-bit is probably not needed as often as 16-bit or -// 32-bit, we simply don't support 64-bit unaligned access for now. -#ifdef TUKLIB_FAST_UNALIGNED_ACCESS -# define unaligned_read16be read16be -# define unaligned_read16le read16le -# define unaligned_read32be read32be -# define unaligned_read32le read32le -# define unaligned_write16be write16be -# define unaligned_write16le write16le -# define unaligned_write32be write32be -# define unaligned_write32le write32le - -#else - -static inline uint16_t -unaligned_read16be(const uint8_t *buf) -{ - uint16_t num = ((uint16_t)buf[0] << 8) | (uint16_t)buf[1]; - return num; -} - - -static inline uint16_t -unaligned_read16le(const uint8_t *buf) -{ - uint16_t num = ((uint16_t)buf[0]) | ((uint16_t)buf[1] << 8); - return num; -} - - -static inline uint32_t -unaligned_read32be(const uint8_t *buf) -{ - uint32_t num = (uint32_t)buf[0] << 24; - num |= (uint32_t)buf[1] << 16; - num |= (uint32_t)buf[2] << 8; - num |= (uint32_t)buf[3]; - return num; -} - - -static inline uint32_t -unaligned_read32le(const uint8_t *buf) -{ - uint32_t num = (uint32_t)buf[0]; - num |= (uint32_t)buf[1] << 8; - num |= (uint32_t)buf[2] << 16; - num |= (uint32_t)buf[3] << 24; - return num; -} - - -static inline void -unaligned_write16be(uint8_t *buf, uint16_t num) -{ - buf[0] = num >> 8; - buf[1] = num; - return; -} - - -static inline void -unaligned_write16le(uint8_t *buf, uint16_t num) -{ - buf[0] = num; - buf[1] = num >> 8; - return; -} - - -static inline void -unaligned_write32be(uint8_t *buf, uint32_t num) -{ - buf[0] = num >> 24; - buf[1] = num >> 16; - buf[2] = num >> 8; - buf[3] = num; - return; -} - - -static inline void -unaligned_write32le(uint8_t *buf, uint32_t num) -{ - buf[0] = num; - buf[1] = num >> 8; - buf[2] = num >> 16; - buf[3] = num >> 24; - return; -} - -#endif - - -static inline uint32_t -bsr32(uint32_t n) -{ - // Check for ICC first, since it tends to define __GNUC__ too. -#if defined(__INTEL_COMPILER) - return _bit_scan_reverse(n); - -#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX == UINT32_MAX - // GCC >= 3.4 has __builtin_clz(), which gives good results on - // multiple architectures. On x86, __builtin_clz() ^ 31U becomes - // either plain BSR (so the XOR gets optimized away) or LZCNT and - // XOR (if -march indicates that SSE4a instructions are supported). - return __builtin_clz(n) ^ 31U; - -#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - uint32_t i; - __asm__("bsrl %1, %0" : "=r" (i) : "rm" (n)); - return i; - -#elif defined(_MSC_VER) && _MSC_VER >= 1400 - // MSVC isn't supported by tuklib, but since this code exists, - // it doesn't hurt to have it here anyway. - uint32_t i; - _BitScanReverse((DWORD *)&i, n); - return i; - -#else - uint32_t i = 31; - - if ((n & UINT32_C(0xFFFF0000)) == 0) { - n <<= 16; - i = 15; - } - - if ((n & UINT32_C(0xFF000000)) == 0) { - n <<= 8; - i -= 8; - } - - if ((n & UINT32_C(0xF0000000)) == 0) { - n <<= 4; - i -= 4; - } - - if ((n & UINT32_C(0xC0000000)) == 0) { - n <<= 2; - i -= 2; - } - - if ((n & UINT32_C(0x80000000)) == 0) - --i; - - return i; -#endif -} - - -static inline uint32_t -clz32(uint32_t n) -{ -#if defined(__INTEL_COMPILER) - return _bit_scan_reverse(n) ^ 31U; - -#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX == UINT32_MAX - return __builtin_clz(n); - -#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - uint32_t i; - __asm__("bsrl %1, %0\n\t" - "xorl $31, %0" - : "=r" (i) : "rm" (n)); - return i; - -#elif defined(_MSC_VER) && _MSC_VER >= 1400 - uint32_t i; - _BitScanReverse((DWORD *)&i, n); - return i ^ 31U; - -#else - uint32_t i = 0; - - if ((n & UINT32_C(0xFFFF0000)) == 0) { - n <<= 16; - i = 16; - } - - if ((n & UINT32_C(0xFF000000)) == 0) { - n <<= 8; - i += 8; - } - - if ((n & UINT32_C(0xF0000000)) == 0) { - n <<= 4; - i += 4; - } - - if ((n & UINT32_C(0xC0000000)) == 0) { - n <<= 2; - i += 2; - } - - if ((n & UINT32_C(0x80000000)) == 0) - ++i; - - return i; -#endif -} - - -static inline uint32_t -ctz32(uint32_t n) -{ -#if defined(__INTEL_COMPILER) - return _bit_scan_forward(n); - -#elif TUKLIB_GNUC_REQ(3, 4) && UINT_MAX >= UINT32_MAX - return __builtin_ctz(n); - -#elif defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__)) - uint32_t i; - __asm__("bsfl %1, %0" : "=r" (i) : "rm" (n)); - return i; - -#elif defined(_MSC_VER) && _MSC_VER >= 1400 - uint32_t i; - _BitScanForward((DWORD *)&i, n); - return i; - -#else - uint32_t i = 0; - - if ((n & UINT32_C(0x0000FFFF)) == 0) { - n >>= 16; - i = 16; - } - - if ((n & UINT32_C(0x000000FF)) == 0) { - n >>= 8; - i += 8; - } - - if ((n & UINT32_C(0x0000000F)) == 0) { - n >>= 4; - i += 4; - } - - if ((n & UINT32_C(0x00000003)) == 0) { - n >>= 2; - i += 2; - } - - if ((n & UINT32_C(0x00000001)) == 0) - ++i; - - return i; -#endif -} - -#define bsf32 ctz32 - -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_mbstr.h b/Build/source/extra/xz/src/common/tuklib_mbstr.h deleted file mode 100644 index 9f358355180..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_mbstr.h +++ /dev/null @@ -1,66 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_mstr.h -/// \brief Utility functions for handling multibyte strings -/// -/// If not enough multibyte string support is available in the C library, -/// these functions keep working with the assumption that all strings -/// are in a single-byte character set without combining characters, e.g. -/// US-ASCII or ISO-8859-*. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_MBSTR_H -#define TUKLIB_MBSTR_H - -#include "tuklib_common.h" -TUKLIB_DECLS_BEGIN - -#define tuklib_mbstr_width TUKLIB_SYMBOL(tuklib_mbstr_width) -extern size_t tuklib_mbstr_width(const char *str, size_t *bytes); -///< -/// \brief Get the number of columns needed for the multibyte string -/// -/// This is somewhat similar to wcswidth() but works on multibyte strings. -/// -/// \param str String whose width is to be calculated. If the -/// current locale uses a multibyte character set -/// that has shift states, the string must begin -/// and end in the initial shift state. -/// \param bytes If this is not NULL, *bytes is set to the -/// value returned by strlen(str) (even if an -/// error occurs when calculating the width). -/// -/// \return On success, the number of columns needed to display the -/// string e.g. in a terminal emulator is returned. On error, -/// (size_t)-1 is returned. Possible errors include invalid, -/// partial, or non-printable multibyte character in str, or -/// that str doesn't end in the initial shift state. - -#define tuklib_mbstr_fw TUKLIB_SYMBOL(tuklib_mbstr_fw) -extern int tuklib_mbstr_fw(const char *str, int columns_min); -///< -/// \brief Get the field width for printf() e.g. to align table columns -/// -/// Printing simple tables to a terminal can be done using the field field -/// feature in the printf() format string, but it works only with single-byte -/// character sets. To do the same with multibyte strings, tuklib_mbstr_fw() -/// can be used to calculate appropriate field width. -/// -/// The behavior of this function is undefined, if -/// - str is NULL or not terminated with '\0'; -/// - columns_min <= 0; or -/// - the calculated field width exceeds INT_MAX. -/// -/// \return If tuklib_mbstr_width(str, NULL) fails, -1 is returned. -/// If str needs more columns than columns_min, zero is returned. -/// Otherwise a positive integer is returned, which can be -/// used as the field width, e.g. printf("%*s", fw, str). - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_mbstr_fw.c b/Build/source/extra/xz/src/common/tuklib_mbstr_fw.c deleted file mode 100644 index 978a3fe10d9..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_mbstr_fw.c +++ /dev/null @@ -1,31 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_mstr_fw.c -/// \brief Get the field width for printf() e.g. to align table columns -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_mbstr.h" - - -extern int -tuklib_mbstr_fw(const char *str, int columns_min) -{ - size_t len; - const size_t width = tuklib_mbstr_width(str, &len); - if (width == (size_t)-1) - return -1; - - if (width > (size_t)columns_min) - return 0; - - if (width < (size_t)columns_min) - len += (size_t)columns_min - width; - - return len; -} diff --git a/Build/source/extra/xz/src/common/tuklib_mbstr_width.c b/Build/source/extra/xz/src/common/tuklib_mbstr_width.c deleted file mode 100644 index 3c38990f460..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_mbstr_width.c +++ /dev/null @@ -1,64 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_mstr_width.c -/// \brief Calculate width of a multibyte string -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_mbstr.h" - -#if defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH) -# include -#endif - - -extern size_t -tuklib_mbstr_width(const char *str, size_t *bytes) -{ - const size_t len = strlen(str); - if (bytes != NULL) - *bytes = len; - -#if !(defined(HAVE_MBRTOWC) && defined(HAVE_WCWIDTH)) - // In single-byte mode, the width of the string is the same - // as its length. - return len; - -#else - mbstate_t state; - memset(&state, 0, sizeof(state)); - - size_t width = 0; - size_t i = 0; - - // Convert one multibyte character at a time to wchar_t - // and get its width using wcwidth(). - while (i < len) { - wchar_t wc; - const size_t ret = mbrtowc(&wc, str + i, len - i, &state); - if (ret < 1 || ret > len) - return (size_t)-1; - - i += ret; - - const int wc_width = wcwidth(wc); - if (wc_width < 0) - return (size_t)-1; - - width += wc_width; - } - - // Require that the string ends in the initial shift state. - // This way the caller can be combine the string with other - // strings without needing to worry about the shift states. - if (!mbsinit(&state)) - return (size_t)-1; - - return width; -#endif -} diff --git a/Build/source/extra/xz/src/common/tuklib_open_stdxxx.c b/Build/source/extra/xz/src/common/tuklib_open_stdxxx.c deleted file mode 100644 index 26702a6afab..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_open_stdxxx.c +++ /dev/null @@ -1,57 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_open_stdxxx.c -/// \brief Make sure that file descriptors 0, 1, and 2 are open -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_open_stdxxx.h" - -#ifndef TUKLIB_DOSLIKE -# include -# include -# include -# include -#endif - - -extern void -tuklib_open_stdxxx(int err_status) -{ -#ifdef TUKLIB_DOSLIKE - // Do nothing, just silence warnings. - (void)err_status; - -#else - for (int i = 0; i <= 2; ++i) { - // We use fcntl() to check if the file descriptor is open. - if (fcntl(i, F_GETFD) == -1 && errno == EBADF) { - // With stdin, we could use /dev/full so that - // writing to stdin would fail. However, /dev/full - // is Linux specific, and if the program tries to - // write to stdin, there's already a problem anyway. - const int fd = open("/dev/null", O_NOCTTY - | (i == 0 ? O_WRONLY : O_RDONLY)); - - if (fd != i) { - if (fd != -1) - (void)close(fd); - - // Something went wrong. Exit with the - // exit status we were given. Don't try - // to print an error message, since stderr - // may very well be non-existent. This - // error should be extremely rare. - exit(err_status); - } - } - } -#endif - - return; -} diff --git a/Build/source/extra/xz/src/common/tuklib_open_stdxxx.h b/Build/source/extra/xz/src/common/tuklib_open_stdxxx.h deleted file mode 100644 index b91161609ee..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_open_stdxxx.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_open_stdxxx.h -/// \brief Make sure that file descriptors 0, 1, and 2 are open -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_OPEN_STDXXX_H -#define TUKLIB_OPEN_STDXXX_H - -#include "tuklib_common.h" -TUKLIB_DECLS_BEGIN - -#define tuklib_open_stdxx TUKLIB_SYMBOL(tuklib_open_stdxxx) -extern void tuklib_open_stdxxx(int err_status); - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_physmem.c b/Build/source/extra/xz/src/common/tuklib_physmem.c deleted file mode 100644 index 623b6e70b7f..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_physmem.c +++ /dev/null @@ -1,196 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_physmem.c -/// \brief Get the amount of physical memory -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_physmem.h" - -// We want to use Windows-specific code on Cygwin, which also has memory -// information available via sysconf(), but on Cygwin 1.5 and older it -// gives wrong results (from our point of view). -#if defined(_WIN32) || defined(__CYGWIN__) -# ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0500 -# endif -# include - -#elif defined(__OS2__) -# define INCL_DOSMISC -# include - -#elif defined(__DJGPP__) -# include - -#elif defined(__VMS) -# include -# include -# include - -// AIX -#elif defined(TUKLIB_PHYSMEM_AIX) -# include - -#elif defined(TUKLIB_PHYSMEM_SYSCONF) -# include - -#elif defined(TUKLIB_PHYSMEM_SYSCTL) -# ifdef HAVE_SYS_PARAM_H -# include -# endif -# include - -// Tru64 -#elif defined(TUKLIB_PHYSMEM_GETSYSINFO) -# include -# include - -// HP-UX -#elif defined(TUKLIB_PHYSMEM_PSTAT_GETSTATIC) -# include -# include - -// IRIX -#elif defined(TUKLIB_PHYSMEM_GETINVENT_R) -# include - -// This sysinfo() is Linux-specific. -#elif defined(TUKLIB_PHYSMEM_SYSINFO) -# include -#endif - - -extern uint64_t -tuklib_physmem(void) -{ - uint64_t ret = 0; - -#if defined(_WIN32) || defined(__CYGWIN__) - if ((GetVersion() & 0xFF) >= 5) { - // Windows 2000 and later have GlobalMemoryStatusEx() which - // supports reporting values greater than 4 GiB. To keep the - // code working also on older Windows versions, use - // GlobalMemoryStatusEx() conditionally. - HMODULE kernel32 = GetModuleHandle("kernel32.dll"); - if (kernel32 != NULL) { - BOOL (WINAPI *gmse)(LPMEMORYSTATUSEX) = GetProcAddress( - kernel32, "GlobalMemoryStatusEx"); - if (gmse != NULL) { - MEMORYSTATUSEX meminfo; - meminfo.dwLength = sizeof(meminfo); - if (gmse(&meminfo)) - ret = meminfo.ullTotalPhys; - } - } - } - - if (ret == 0) { - // GlobalMemoryStatus() is supported by Windows 95 and later, - // so it is fine to link against it unconditionally. Note that - // GlobalMemoryStatus() has no return value. - MEMORYSTATUS meminfo; - meminfo.dwLength = sizeof(meminfo); - GlobalMemoryStatus(&meminfo); - ret = meminfo.dwTotalPhys; - } - -#elif defined(__OS2__) - unsigned long mem; - if (DosQuerySysInfo(QSV_TOTPHYSMEM, QSV_TOTPHYSMEM, - &mem, sizeof(mem)) == 0) - ret = mem; - -#elif defined(__DJGPP__) - __dpmi_free_mem_info meminfo; - if (__dpmi_get_free_memory_information(&meminfo) == 0 - && meminfo.total_number_of_physical_pages - != (unsigned long)-1) - ret = (uint64_t)meminfo.total_number_of_physical_pages * 4096; - -#elif defined(__VMS) - int vms_mem; - int val = SYI$_MEMSIZE; - if (LIB$GETSYI(&val, &vms_mem, 0, 0, 0, 0) == SS$_NORMAL) - ret = (uint64_t)vms_mem * 8192; - -#elif defined(TUKLIB_PHYSMEM_AIX) - ret = _system_configuration.physmem; - -#elif defined(TUKLIB_PHYSMEM_SYSCONF) - const long pagesize = sysconf(_SC_PAGESIZE); - const long pages = sysconf(_SC_PHYS_PAGES); - if (pagesize != -1 && pages != -1) - // According to docs, pagesize * pages can overflow. - // Simple case is 32-bit box with 4 GiB or more RAM, - // which may report exactly 4 GiB of RAM, and "long" - // being 32-bit will overflow. Casting to uint64_t - // hopefully avoids overflows in the near future. - ret = (uint64_t)pagesize * (uint64_t)pages; - -#elif defined(TUKLIB_PHYSMEM_SYSCTL) - int name[2] = { - CTL_HW, -#ifdef HW_PHYSMEM64 - HW_PHYSMEM64 -#else - HW_PHYSMEM -#endif - }; - union { - uint32_t u32; - uint64_t u64; - } mem; - size_t mem_ptr_size = sizeof(mem.u64); - if (sysctl(name, 2, &mem.u64, &mem_ptr_size, NULL, 0) != -1) { - // IIRC, 64-bit "return value" is possible on some 64-bit - // BSD systems even with HW_PHYSMEM (instead of HW_PHYSMEM64), - // so support both. - if (mem_ptr_size == sizeof(mem.u64)) - ret = mem.u64; - else if (mem_ptr_size == sizeof(mem.u32)) - ret = mem.u32; - } - -#elif defined(TUKLIB_PHYSMEM_GETSYSINFO) - // Docs are unclear if "start" is needed, but it doesn't hurt - // much to have it. - int memkb; - int start = 0; - if (getsysinfo(GSI_PHYSMEM, (caddr_t)&memkb, sizeof(memkb), &start) - != -1) - ret = (uint64_t)memkb * 1024; - -#elif defined(TUKLIB_PHYSMEM_PSTAT_GETSTATIC) - struct pst_static pst; - if (pstat_getstatic(&pst, sizeof(pst), 1, 0) != -1) - ret = (uint64_t)pst.physical_memory * (uint64_t)pst.page_size; - -#elif defined(TUKLIB_PHYSMEM_GETINVENT_R) - inv_state_t *st = NULL; - if (setinvent_r(&st) != -1) { - inventory_t *i; - while ((i = getinvent_r(st)) != NULL) { - if (i->inv_class == INV_MEMORY - && i->inv_type == INV_MAIN_MB) { - ret = (uint64_t)i->inv_state << 20; - break; - } - } - - endinvent_r(st); - } - -#elif defined(TUKLIB_PHYSMEM_SYSINFO) - struct sysinfo si; - if (sysinfo(&si) == 0) - ret = (uint64_t)si.totalram * si.mem_unit; -#endif - - return ret; -} diff --git a/Build/source/extra/xz/src/common/tuklib_physmem.h b/Build/source/extra/xz/src/common/tuklib_physmem.h deleted file mode 100644 index 09e2a51338a..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_physmem.h +++ /dev/null @@ -1,28 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_physmem.h -/// \brief Get the amount of physical memory -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_PHYSMEM_H -#define TUKLIB_PHYSMEM_H - -#include "tuklib_common.h" -TUKLIB_DECLS_BEGIN - -#define tuklib_physmem TUKLIB_SYMBOL(tuklib_physmem) -extern uint64_t tuklib_physmem(void); -///< -/// \brief Get the amount of physical memory in bytes -/// -/// \return Amount of physical memory in bytes. On error, zero is -/// returned. - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/common/tuklib_progname.c b/Build/source/extra/xz/src/common/tuklib_progname.c deleted file mode 100644 index 7cb7e203dd9..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_progname.c +++ /dev/null @@ -1,50 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_progname.c -/// \brief Program name to be displayed in messages -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tuklib_progname.h" -#include - - -#if !HAVE_DECL_PROGRAM_INVOCATION_NAME -char *progname = NULL; -#endif - - -extern void -tuklib_progname_init(char **argv) -{ -#ifdef TUKLIB_DOSLIKE - // On these systems, argv[0] always has the full path and .exe - // suffix even if the user just types the plain program name. - // We modify argv[0] to make it nicer to read. - - // Strip the leading path. - char *p = argv[0] + strlen(argv[0]); - while (argv[0] < p && p[-1] != '/' && p[-1] != '\\') - --p; - - argv[0] = p; - - // Strip the .exe suffix. - p = strrchr(p, '.'); - if (p != NULL) - *p = '\0'; - - // Make it lowercase. - for (p = argv[0]; *p != '\0'; ++p) - if (*p >= 'A' && *p <= 'Z') - *p = *p - 'A' + 'a'; -#endif - - progname = argv[0]; - return; -} diff --git a/Build/source/extra/xz/src/common/tuklib_progname.h b/Build/source/extra/xz/src/common/tuklib_progname.h deleted file mode 100644 index 791b12517e5..00000000000 --- a/Build/source/extra/xz/src/common/tuklib_progname.h +++ /dev/null @@ -1,32 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tuklib_progname.h -/// \brief Program name to be displayed in messages -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef TUKLIB_PROGNAME_H -#define TUKLIB_PROGNAME_H - -#include "tuklib_common.h" -#include - -TUKLIB_DECLS_BEGIN - -#if HAVE_DECL_PROGRAM_INVOCATION_NAME -# define progname program_invocation_name -#else -# define progname TUKLIB_SYMBOL(tuklib_progname) - extern char *progname; -#endif - -#define tuklib_progname_init TUKLIB_SYMBOL(tuklib_progname_init) -extern void tuklib_progname_init(char **argv); - -TUKLIB_DECLS_END -#endif diff --git a/Build/source/extra/xz/src/liblzma/Makefile.am b/Build/source/extra/xz/src/liblzma/Makefile.am deleted file mode 100644 index 0529ff848b0..00000000000 --- a/Build/source/extra/xz/src/liblzma/Makefile.am +++ /dev/null @@ -1,90 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -SUBDIRS = api - -EXTRA_DIST = -CLEANFILES = -doc_DATA = - -lib_LTLIBRARIES = liblzma.la -liblzma_la_SOURCES = $(top_srcdir)/src/common/tuklib_physmem.c -liblzma_la_CPPFLAGS = \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_srcdir)/src/liblzma/common \ - -I$(top_srcdir)/src/liblzma/check \ - -I$(top_srcdir)/src/liblzma/lz \ - -I$(top_srcdir)/src/liblzma/rangecoder \ - -I$(top_srcdir)/src/liblzma/lzma \ - -I$(top_srcdir)/src/liblzma/delta \ - -I$(top_srcdir)/src/liblzma/simple \ - -I$(top_srcdir)/src/common \ - -DTUKLIB_SYMBOL_PREFIX=lzma_ -liblzma_la_LDFLAGS = -no-undefined -version-info 5:5:0 - -include $(srcdir)/common/Makefile.inc -include $(srcdir)/check/Makefile.inc - -if COND_FILTER_LZ -include $(srcdir)/lz/Makefile.inc -endif - -if COND_FILTER_LZMA1 -include $(srcdir)/lzma/Makefile.inc -include $(srcdir)/rangecoder/Makefile.inc -endif - -if COND_FILTER_DELTA -include $(srcdir)/delta/Makefile.inc -endif - -if COND_FILTER_SIMPLE -include $(srcdir)/simple/Makefile.inc -endif - - -## Windows-specific stuff - -# Windows resource compiler support. libtool knows what to do with .rc -# files, but Automake (<= 1.11 at least) doesn't know. -# -# We want the resource file only in shared liblzma. To avoid linking it into -# static liblzma, we overwrite the static object file with an object file -# compiled from empty input. Note that GNU-specific features are OK here, -# because on Windows we are compiled with the GNU toolchain. -.rc.lo: - $(LIBTOOL) --mode=compile $(RC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) \ - -i $< -o $@ - echo > empty.c - $(COMPILE) -c empty.c -o $(*D)/$(*F).o - -# Remove ordinals from the generated .def file. People must link by name, -# not by ordinal, because no one is going to track the ordinal numbers. -liblzma.def: liblzma.la liblzma.def.in - sed 's/ \+@ *[0-9]\+//' liblzma.def.in > liblzma.def - -# Creating liblzma.def.in is a side effect of linking the library. -liblzma.def.in: liblzma.la - -if COND_W32 -CLEANFILES += liblzma.def liblzma.def.in empty.c -liblzma_la_SOURCES += liblzma_w32res.rc -liblzma_la_LDFLAGS += -Xlinker --output-def -Xlinker liblzma.def.in - -## liblzma.def.in is created only when building shared liblzma, so don't -## try to create liblzma.def when not building shared liblzma. -if COND_SHARED -doc_DATA += liblzma.def -endif -endif - - -## pkg-config -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = liblzma.pc -EXTRA_DIST += liblzma.pc.in diff --git a/Build/source/extra/xz/src/liblzma/Makefile.in b/Build/source/extra/xz/src/liblzma/Makefile.in deleted file mode 100644 index 50049287882..00000000000 --- a/Build/source/extra/xz/src/liblzma/Makefile.in +++ /dev/null @@ -1,1792 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -DIST_COMMON = $(srcdir)/common/Makefile.inc \ - $(srcdir)/check/Makefile.inc $(srcdir)/lz/Makefile.inc \ - $(srcdir)/lzma/Makefile.inc $(srcdir)/rangecoder/Makefile.inc \ - $(srcdir)/delta/Makefile.inc $(srcdir)/simple/Makefile.inc \ - $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(srcdir)/liblzma.pc.in $(top_srcdir)/build-aux/depcomp -@COND_MAIN_ENCODER_TRUE@am__append_1 = \ -@COND_MAIN_ENCODER_TRUE@ common/alone_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/block_buffer_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/block_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/block_encoder.h \ -@COND_MAIN_ENCODER_TRUE@ common/block_header_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/easy_buffer_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/easy_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/easy_encoder_memusage.c \ -@COND_MAIN_ENCODER_TRUE@ common/filter_buffer_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/filter_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/filter_encoder.h \ -@COND_MAIN_ENCODER_TRUE@ common/filter_flags_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/index_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/index_encoder.h \ -@COND_MAIN_ENCODER_TRUE@ common/stream_buffer_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/stream_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/stream_encoder.h \ -@COND_MAIN_ENCODER_TRUE@ common/stream_flags_encoder.c \ -@COND_MAIN_ENCODER_TRUE@ common/vli_encoder.c - -@COND_MAIN_DECODER_TRUE@am__append_2 = \ -@COND_MAIN_DECODER_TRUE@ common/alone_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/alone_decoder.h \ -@COND_MAIN_DECODER_TRUE@ common/auto_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/block_buffer_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/block_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/block_decoder.h \ -@COND_MAIN_DECODER_TRUE@ common/block_header_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/easy_decoder_memusage.c \ -@COND_MAIN_DECODER_TRUE@ common/filter_buffer_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/filter_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/filter_decoder.h \ -@COND_MAIN_DECODER_TRUE@ common/filter_flags_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/index_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/index_hash.c \ -@COND_MAIN_DECODER_TRUE@ common/stream_buffer_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/stream_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/stream_decoder.h \ -@COND_MAIN_DECODER_TRUE@ common/stream_flags_decoder.c \ -@COND_MAIN_DECODER_TRUE@ common/vli_decoder.c - -@COND_CHECK_CRC32_TRUE@@COND_SMALL_TRUE@am__append_3 = check/crc32_small.c -@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__append_4 = \ -@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@ check/crc32_table.c \ -@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@ check/crc32_table_le.h \ -@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@ check/crc32_table_be.h - -@COND_ASM_X86_TRUE@@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__append_5 = check/crc32_x86.S -@COND_ASM_X86_FALSE@@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__append_6 = check/crc32_fast.c -@COND_CHECK_CRC64_TRUE@@COND_SMALL_TRUE@am__append_7 = check/crc64_small.c -@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__append_8 = \ -@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@ check/crc64_table.c \ -@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@ check/crc64_table_le.h \ -@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@ check/crc64_table_be.h - -@COND_ASM_X86_TRUE@@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__append_9 = check/crc64_x86.S -@COND_ASM_X86_FALSE@@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__append_10 = check/crc64_fast.c -@COND_CHECK_SHA256_TRUE@am__append_11 = check/sha256.c -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@am__append_12 = \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_encoder.c \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_encoder.h \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_encoder_hash.h \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_encoder_hash_table.h \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_encoder_mf.c - -@COND_DECODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@am__append_13 = \ -@COND_DECODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_decoder.c \ -@COND_DECODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ lz/lz_decoder.h - -@COND_FILTER_LZMA1_TRUE@am__append_14 = lzma/fastpos_tablegen.c \ -@COND_FILTER_LZMA1_TRUE@ rangecoder/price_tablegen.c -@COND_FILTER_LZMA1_TRUE@am__append_15 = lzma/lzma_common.h -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_16 = \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/fastpos.h \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder.h \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder.c \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder_presets.c \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder_private.h \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder_optimum_fast.c \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_encoder_optimum_normal.c - -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@@COND_SMALL_FALSE@am__append_17 = lzma/fastpos_table.c -@COND_DECODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_18 = \ -@COND_DECODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_decoder.c \ -@COND_DECODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma_decoder.h - -@COND_ENCODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_19 = \ -@COND_ENCODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma2_encoder.c \ -@COND_ENCODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma2_encoder.h - -@COND_DECODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_20 = \ -@COND_DECODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma2_decoder.c \ -@COND_DECODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@ lzma/lzma2_decoder.h - -@COND_FILTER_LZMA1_TRUE@am__append_21 = rangecoder/range_common.h -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_22 = \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ rangecoder/range_encoder.h \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ rangecoder/price.h \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ rangecoder/price_table.c - -@COND_DECODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__append_23 = rangecoder/range_decoder.h -@COND_FILTER_DELTA_TRUE@am__append_24 = \ -@COND_FILTER_DELTA_TRUE@ delta/delta_common.c \ -@COND_FILTER_DELTA_TRUE@ delta/delta_common.h \ -@COND_FILTER_DELTA_TRUE@ delta/delta_private.h - -@COND_ENCODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@am__append_25 = \ -@COND_ENCODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@ delta/delta_encoder.c \ -@COND_ENCODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@ delta/delta_encoder.h - -@COND_DECODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@am__append_26 = \ -@COND_DECODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@ delta/delta_decoder.c \ -@COND_DECODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@ delta/delta_decoder.h - -@COND_FILTER_SIMPLE_TRUE@am__append_27 = \ -@COND_FILTER_SIMPLE_TRUE@ simple/simple_coder.c \ -@COND_FILTER_SIMPLE_TRUE@ simple/simple_coder.h \ -@COND_FILTER_SIMPLE_TRUE@ simple/simple_private.h - -@COND_ENCODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_28 = \ -@COND_ENCODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@ simple/simple_encoder.c \ -@COND_ENCODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@ simple/simple_encoder.h - -@COND_DECODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_29 = \ -@COND_DECODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@ simple/simple_decoder.c \ -@COND_DECODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@ simple/simple_decoder.h - -@COND_FILTER_SIMPLE_TRUE@@COND_FILTER_X86_TRUE@am__append_30 = simple/x86.c -@COND_FILTER_POWERPC_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_31 = simple/powerpc.c -@COND_FILTER_IA64_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_32 = simple/ia64.c -@COND_FILTER_ARM_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_33 = simple/arm.c -@COND_FILTER_ARMTHUMB_TRUE@@COND_FILTER_SIMPLE_TRUE@am__append_34 = simple/armthumb.c -@COND_FILTER_SIMPLE_TRUE@@COND_FILTER_SPARC_TRUE@am__append_35 = simple/sparc.c -@COND_W32_TRUE@am__append_36 = liblzma.def liblzma.def.in empty.c -@COND_W32_TRUE@am__append_37 = liblzma_w32res.rc -@COND_W32_TRUE@am__append_38 = -Xlinker --output-def -Xlinker liblzma.def.in -@COND_SHARED_TRUE@@COND_W32_TRUE@am__append_39 = liblzma.def -subdir = src/liblzma -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = liblzma.pc -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" \ - "$(DESTDIR)$(pkgconfigdir)" -LTLIBRARIES = $(lib_LTLIBRARIES) -liblzma_la_LIBADD = -am__liblzma_la_SOURCES_DIST = \ - $(top_srcdir)/src/common/tuklib_physmem.c common/common.c \ - common/common.h common/block_util.c common/easy_preset.c \ - common/easy_preset.h common/filter_common.c \ - common/filter_common.h common/hardware_physmem.c \ - common/index.c common/index.h common/stream_flags_common.c \ - common/stream_flags_common.h common/vli_size.c \ - common/alone_encoder.c common/block_buffer_encoder.c \ - common/block_encoder.c common/block_encoder.h \ - common/block_header_encoder.c common/easy_buffer_encoder.c \ - common/easy_encoder.c common/easy_encoder_memusage.c \ - common/filter_buffer_encoder.c common/filter_encoder.c \ - common/filter_encoder.h common/filter_flags_encoder.c \ - common/index_encoder.c common/index_encoder.h \ - common/stream_buffer_encoder.c common/stream_encoder.c \ - common/stream_encoder.h common/stream_flags_encoder.c \ - common/vli_encoder.c common/alone_decoder.c \ - common/alone_decoder.h common/auto_decoder.c \ - common/block_buffer_decoder.c common/block_decoder.c \ - common/block_decoder.h common/block_header_decoder.c \ - common/easy_decoder_memusage.c common/filter_buffer_decoder.c \ - common/filter_decoder.c common/filter_decoder.h \ - common/filter_flags_decoder.c common/index_decoder.c \ - common/index_hash.c common/stream_buffer_decoder.c \ - common/stream_decoder.c common/stream_decoder.h \ - common/stream_flags_decoder.c common/vli_decoder.c \ - check/check.c check/check.h check/crc_macros.h \ - check/crc32_small.c check/crc32_table.c check/crc32_table_le.h \ - check/crc32_table_be.h check/crc32_x86.S check/crc32_fast.c \ - check/crc64_small.c check/crc64_table.c check/crc64_table_le.h \ - check/crc64_table_be.h check/crc64_x86.S check/crc64_fast.c \ - check/sha256.c lz/lz_encoder.c lz/lz_encoder.h \ - lz/lz_encoder_hash.h lz/lz_encoder_hash_table.h \ - lz/lz_encoder_mf.c lz/lz_decoder.c lz/lz_decoder.h \ - lzma/lzma_common.h lzma/fastpos.h lzma/lzma_encoder.h \ - lzma/lzma_encoder.c lzma/lzma_encoder_presets.c \ - lzma/lzma_encoder_private.h lzma/lzma_encoder_optimum_fast.c \ - lzma/lzma_encoder_optimum_normal.c lzma/fastpos_table.c \ - lzma/lzma_decoder.c lzma/lzma_decoder.h lzma/lzma2_encoder.c \ - lzma/lzma2_encoder.h lzma/lzma2_decoder.c lzma/lzma2_decoder.h \ - rangecoder/range_common.h rangecoder/range_encoder.h \ - rangecoder/price.h rangecoder/price_table.c \ - rangecoder/range_decoder.h delta/delta_common.c \ - delta/delta_common.h delta/delta_private.h \ - delta/delta_encoder.c delta/delta_encoder.h \ - delta/delta_decoder.c delta/delta_decoder.h \ - simple/simple_coder.c simple/simple_coder.h \ - simple/simple_private.h simple/simple_encoder.c \ - simple/simple_encoder.h simple/simple_decoder.c \ - simple/simple_decoder.h simple/x86.c simple/powerpc.c \ - simple/ia64.c simple/arm.c simple/armthumb.c simple/sparc.c \ - liblzma_w32res.rc -@COND_MAIN_ENCODER_TRUE@am__objects_1 = liblzma_la-alone_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-block_buffer_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-block_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-block_header_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-easy_buffer_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-easy_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-easy_encoder_memusage.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-filter_buffer_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-filter_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-filter_flags_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-index_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-stream_buffer_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-stream_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-stream_flags_encoder.lo \ -@COND_MAIN_ENCODER_TRUE@ liblzma_la-vli_encoder.lo -@COND_MAIN_DECODER_TRUE@am__objects_2 = liblzma_la-alone_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-auto_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-block_buffer_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-block_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-block_header_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-easy_decoder_memusage.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-filter_buffer_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-filter_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-filter_flags_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-index_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-index_hash.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-stream_buffer_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-stream_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-stream_flags_decoder.lo \ -@COND_MAIN_DECODER_TRUE@ liblzma_la-vli_decoder.lo -@COND_CHECK_CRC32_TRUE@@COND_SMALL_TRUE@am__objects_3 = liblzma_la-crc32_small.lo -@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__objects_4 = liblzma_la-crc32_table.lo -@COND_ASM_X86_TRUE@@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__objects_5 = liblzma_la-crc32_x86.lo -@COND_ASM_X86_FALSE@@COND_CHECK_CRC32_TRUE@@COND_SMALL_FALSE@am__objects_6 = liblzma_la-crc32_fast.lo -@COND_CHECK_CRC64_TRUE@@COND_SMALL_TRUE@am__objects_7 = liblzma_la-crc64_small.lo -@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__objects_8 = liblzma_la-crc64_table.lo -@COND_ASM_X86_TRUE@@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__objects_9 = liblzma_la-crc64_x86.lo -@COND_ASM_X86_FALSE@@COND_CHECK_CRC64_TRUE@@COND_SMALL_FALSE@am__objects_10 = liblzma_la-crc64_fast.lo -@COND_CHECK_SHA256_TRUE@am__objects_11 = liblzma_la-sha256.lo -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@am__objects_12 = liblzma_la-lz_encoder.lo \ -@COND_ENCODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@ liblzma_la-lz_encoder_mf.lo -@COND_DECODER_LZ_TRUE@@COND_FILTER_LZ_TRUE@am__objects_13 = liblzma_la-lz_decoder.lo -am__objects_14 = -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__objects_15 = liblzma_la-lzma_encoder.lo \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ liblzma_la-lzma_encoder_presets.lo \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ liblzma_la-lzma_encoder_optimum_fast.lo \ -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@ liblzma_la-lzma_encoder_optimum_normal.lo -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@@COND_SMALL_FALSE@am__objects_16 = liblzma_la-fastpos_table.lo -@COND_DECODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__objects_17 = liblzma_la-lzma_decoder.lo -@COND_ENCODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@am__objects_18 = liblzma_la-lzma2_encoder.lo -@COND_DECODER_LZMA2_TRUE@@COND_FILTER_LZMA1_TRUE@am__objects_19 = liblzma_la-lzma2_decoder.lo -@COND_ENCODER_LZMA1_TRUE@@COND_FILTER_LZMA1_TRUE@am__objects_20 = liblzma_la-price_table.lo -@COND_FILTER_DELTA_TRUE@am__objects_21 = liblzma_la-delta_common.lo -@COND_ENCODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@am__objects_22 = liblzma_la-delta_encoder.lo -@COND_DECODER_DELTA_TRUE@@COND_FILTER_DELTA_TRUE@am__objects_23 = liblzma_la-delta_decoder.lo -@COND_FILTER_SIMPLE_TRUE@am__objects_24 = liblzma_la-simple_coder.lo -@COND_ENCODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_25 = liblzma_la-simple_encoder.lo -@COND_DECODER_SIMPLE_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_26 = liblzma_la-simple_decoder.lo -@COND_FILTER_SIMPLE_TRUE@@COND_FILTER_X86_TRUE@am__objects_27 = liblzma_la-x86.lo -@COND_FILTER_POWERPC_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_28 = liblzma_la-powerpc.lo -@COND_FILTER_IA64_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_29 = liblzma_la-ia64.lo -@COND_FILTER_ARM_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_30 = liblzma_la-arm.lo -@COND_FILTER_ARMTHUMB_TRUE@@COND_FILTER_SIMPLE_TRUE@am__objects_31 = liblzma_la-armthumb.lo -@COND_FILTER_SIMPLE_TRUE@@COND_FILTER_SPARC_TRUE@am__objects_32 = liblzma_la-sparc.lo -@COND_W32_TRUE@am__objects_33 = liblzma_w32res.lo -am_liblzma_la_OBJECTS = liblzma_la-tuklib_physmem.lo \ - liblzma_la-common.lo liblzma_la-block_util.lo \ - liblzma_la-easy_preset.lo liblzma_la-filter_common.lo \ - liblzma_la-hardware_physmem.lo liblzma_la-index.lo \ - liblzma_la-stream_flags_common.lo liblzma_la-vli_size.lo \ - $(am__objects_1) $(am__objects_2) liblzma_la-check.lo \ - $(am__objects_3) $(am__objects_4) $(am__objects_5) \ - $(am__objects_6) $(am__objects_7) $(am__objects_8) \ - $(am__objects_9) $(am__objects_10) $(am__objects_11) \ - $(am__objects_12) $(am__objects_13) $(am__objects_14) \ - $(am__objects_15) $(am__objects_16) $(am__objects_17) \ - $(am__objects_18) $(am__objects_19) $(am__objects_14) \ - $(am__objects_20) $(am__objects_14) $(am__objects_21) \ - $(am__objects_22) $(am__objects_23) $(am__objects_24) \ - $(am__objects_25) $(am__objects_26) $(am__objects_27) \ - $(am__objects_28) $(am__objects_29) $(am__objects_30) \ - $(am__objects_31) $(am__objects_32) $(am__objects_33) -liblzma_la_OBJECTS = $(am_liblzma_la_OBJECTS) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -liblzma_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(liblzma_la_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CCASFLAGS) $(CCASFLAGS) -AM_V_CPPAS = $(am__v_CPPAS_@AM_V@) -am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@) -am__v_CPPAS_0 = @echo " CPPAS " $@; -am__v_CPPAS_1 = -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(liblzma_la_SOURCES) -DIST_SOURCES = $(am__liblzma_la_SOURCES_DIST) -RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ - ctags-recursive dvi-recursive html-recursive info-recursive \ - install-data-recursive install-dvi-recursive \ - install-exec-recursive install-html-recursive \ - install-info-recursive install-pdf-recursive \ - install-ps-recursive install-recursive installcheck-recursive \ - installdirs-recursive pdf-recursive ps-recursive \ - tags-recursive uninstall-recursive -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -DATA = $(doc_DATA) $(pkgconfig_DATA) -RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ - distclean-recursive maintainer-clean-recursive -am__recursive_targets = \ - $(RECURSIVE_TARGETS) \ - $(RECURSIVE_CLEAN_TARGETS) \ - $(am__extra_recursive_targets) -AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ - distdir -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DIST_SUBDIRS = $(SUBDIRS) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -am__relativize = \ - dir0=`pwd`; \ - sed_first='s,^\([^/]*\)/.*$$,\1,'; \ - sed_rest='s,^[^/]*/*,,'; \ - sed_last='s,^.*/\([^/]*\)$$,\1,'; \ - sed_butlast='s,/*[^/]*$$,,'; \ - while test -n "$$dir1"; do \ - first=`echo "$$dir1" | sed -e "$$sed_first"`; \ - if test "$$first" != "."; then \ - if test "$$first" = ".."; then \ - dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ - dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ - else \ - first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ - if test "$$first2" = "$$first"; then \ - dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ - else \ - dir2="../$$dir2"; \ - fi; \ - dir0="$$dir0"/"$$first"; \ - fi; \ - fi; \ - dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ - done; \ - reldir="$$dir2" -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -SUBDIRS = api -EXTRA_DIST = check/crc32_tablegen.c check/crc64_tablegen.c \ - $(am__append_14) liblzma.pc.in -CLEANFILES = $(am__append_36) -doc_DATA = $(am__append_39) -lib_LTLIBRARIES = liblzma.la -liblzma_la_SOURCES = $(top_srcdir)/src/common/tuklib_physmem.c \ - common/common.c common/common.h common/block_util.c \ - common/easy_preset.c common/easy_preset.h \ - common/filter_common.c common/filter_common.h \ - common/hardware_physmem.c common/index.c common/index.h \ - common/stream_flags_common.c common/stream_flags_common.h \ - common/vli_size.c $(am__append_1) $(am__append_2) \ - check/check.c check/check.h check/crc_macros.h $(am__append_3) \ - $(am__append_4) $(am__append_5) $(am__append_6) \ - $(am__append_7) $(am__append_8) $(am__append_9) \ - $(am__append_10) $(am__append_11) $(am__append_12) \ - $(am__append_13) $(am__append_15) $(am__append_16) \ - $(am__append_17) $(am__append_18) $(am__append_19) \ - $(am__append_20) $(am__append_21) $(am__append_22) \ - $(am__append_23) $(am__append_24) $(am__append_25) \ - $(am__append_26) $(am__append_27) $(am__append_28) \ - $(am__append_29) $(am__append_30) $(am__append_31) \ - $(am__append_32) $(am__append_33) $(am__append_34) \ - $(am__append_35) $(am__append_37) -liblzma_la_CPPFLAGS = \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_srcdir)/src/liblzma/common \ - -I$(top_srcdir)/src/liblzma/check \ - -I$(top_srcdir)/src/liblzma/lz \ - -I$(top_srcdir)/src/liblzma/rangecoder \ - -I$(top_srcdir)/src/liblzma/lzma \ - -I$(top_srcdir)/src/liblzma/delta \ - -I$(top_srcdir)/src/liblzma/simple \ - -I$(top_srcdir)/src/common \ - -DTUKLIB_SYMBOL_PREFIX=lzma_ - -liblzma_la_LDFLAGS = -no-undefined -version-info 5:5:0 \ - $(am__append_38) -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = liblzma.pc -all: all-recursive - -.SUFFIXES: -.SUFFIXES: .S .c .lo .o .obj .rc -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(srcdir)/common/Makefile.inc $(srcdir)/check/Makefile.inc $(srcdir)/lz/Makefile.inc $(srcdir)/lzma/Makefile.inc $(srcdir)/rangecoder/Makefile.inc $(srcdir)/delta/Makefile.inc $(srcdir)/simple/Makefile.inc $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/liblzma/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/liblzma/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; -$(srcdir)/common/Makefile.inc $(srcdir)/check/Makefile.inc $(srcdir)/lz/Makefile.inc $(srcdir)/lzma/Makefile.inc $(srcdir)/rangecoder/Makefile.inc $(srcdir)/delta/Makefile.inc $(srcdir)/simple/Makefile.inc: - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -liblzma.pc: $(top_builddir)/config.status $(srcdir)/liblzma.pc.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ - -install-libLTLIBRARIES: $(lib_LTLIBRARIES) - @$(NORMAL_INSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - list2=; for p in $$list; do \ - if test -f $$p; then \ - list2="$$list2 $$p"; \ - else :; fi; \ - done; \ - test -z "$$list2" || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \ - } - -uninstall-libLTLIBRARIES: - @$(NORMAL_UNINSTALL) - @list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \ - for p in $$list; do \ - $(am__strip_dir) \ - echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \ - $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \ - done - -clean-libLTLIBRARIES: - -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) - @list='$(lib_LTLIBRARIES)'; \ - locs=`for p in $$list; do echo $$p; done | \ - sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ - sort -u`; \ - test -z "$$locs" || { \ - echo rm -f $${locs}; \ - rm -f $${locs}; \ - } - -liblzma.la: $(liblzma_la_OBJECTS) $(liblzma_la_DEPENDENCIES) $(EXTRA_liblzma_la_DEPENDENCIES) - $(AM_V_CCLD)$(liblzma_la_LINK) -rpath $(libdir) $(liblzma_la_OBJECTS) $(liblzma_la_LIBADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-alone_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-alone_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-arm.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-armthumb.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-auto_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_buffer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_buffer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_header_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_header_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-block_util.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-check.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc32_fast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc32_small.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc32_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc32_x86.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc64_fast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc64_small.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc64_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-crc64_x86.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-delta_common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-delta_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-delta_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-easy_buffer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-easy_decoder_memusage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-easy_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-easy_encoder_memusage.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-easy_preset.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-fastpos_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_buffer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_buffer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_flags_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-filter_flags_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-hardware_physmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-ia64.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-index.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-index_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-index_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-index_hash.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lz_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lz_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lz_encoder_mf.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma2_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma2_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma_encoder_optimum_fast.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma_encoder_optimum_normal.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-lzma_encoder_presets.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-powerpc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-price_table.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-sha256.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-simple_coder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-simple_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-simple_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-sparc.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_buffer_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_buffer_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_flags_common.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_flags_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-stream_flags_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-tuklib_physmem.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-vli_decoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-vli_encoder.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-vli_size.Plo@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/liblzma_la-x86.Plo@am__quote@ - -.S.o: -@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $< - -.S.obj: -@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(CPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.S.lo: -@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $< - -liblzma_la-crc32_x86.lo: check/crc32_x86.S -@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT liblzma_la-crc32_x86.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc32_x86.Tpo -c -o liblzma_la-crc32_x86.lo `test -f 'check/crc32_x86.S' || echo '$(srcdir)/'`check/crc32_x86.S -@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc32_x86.Tpo $(DEPDIR)/liblzma_la-crc32_x86.Plo -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='check/crc32_x86.S' object='liblzma_la-crc32_x86.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o liblzma_la-crc32_x86.lo `test -f 'check/crc32_x86.S' || echo '$(srcdir)/'`check/crc32_x86.S - -liblzma_la-crc64_x86.lo: check/crc64_x86.S -@am__fastdepCCAS_TRUE@ $(AM_V_CPPAS)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -MT liblzma_la-crc64_x86.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc64_x86.Tpo -c -o liblzma_la-crc64_x86.lo `test -f 'check/crc64_x86.S' || echo '$(srcdir)/'`check/crc64_x86.S -@am__fastdepCCAS_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc64_x86.Tpo $(DEPDIR)/liblzma_la-crc64_x86.Plo -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS)source='check/crc64_x86.S' object='liblzma_la-crc64_x86.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCCAS_FALSE@ DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCCAS_FALSE@ $(AM_V_CPPAS@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS) -c -o liblzma_la-crc64_x86.lo `test -f 'check/crc64_x86.S' || echo '$(srcdir)/'`check/crc64_x86.S - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -liblzma_la-tuklib_physmem.lo: $(top_srcdir)/src/common/tuklib_physmem.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-tuklib_physmem.lo -MD -MP -MF $(DEPDIR)/liblzma_la-tuklib_physmem.Tpo -c -o liblzma_la-tuklib_physmem.lo `test -f '$(top_srcdir)/src/common/tuklib_physmem.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_physmem.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-tuklib_physmem.Tpo $(DEPDIR)/liblzma_la-tuklib_physmem.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_physmem.c' object='liblzma_la-tuklib_physmem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-tuklib_physmem.lo `test -f '$(top_srcdir)/src/common/tuklib_physmem.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_physmem.c - -liblzma_la-common.lo: common/common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-common.lo -MD -MP -MF $(DEPDIR)/liblzma_la-common.Tpo -c -o liblzma_la-common.lo `test -f 'common/common.c' || echo '$(srcdir)/'`common/common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-common.Tpo $(DEPDIR)/liblzma_la-common.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/common.c' object='liblzma_la-common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-common.lo `test -f 'common/common.c' || echo '$(srcdir)/'`common/common.c - -liblzma_la-block_util.lo: common/block_util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_util.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_util.Tpo -c -o liblzma_la-block_util.lo `test -f 'common/block_util.c' || echo '$(srcdir)/'`common/block_util.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_util.Tpo $(DEPDIR)/liblzma_la-block_util.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_util.c' object='liblzma_la-block_util.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_util.lo `test -f 'common/block_util.c' || echo '$(srcdir)/'`common/block_util.c - -liblzma_la-easy_preset.lo: common/easy_preset.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-easy_preset.lo -MD -MP -MF $(DEPDIR)/liblzma_la-easy_preset.Tpo -c -o liblzma_la-easy_preset.lo `test -f 'common/easy_preset.c' || echo '$(srcdir)/'`common/easy_preset.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-easy_preset.Tpo $(DEPDIR)/liblzma_la-easy_preset.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/easy_preset.c' object='liblzma_la-easy_preset.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-easy_preset.lo `test -f 'common/easy_preset.c' || echo '$(srcdir)/'`common/easy_preset.c - -liblzma_la-filter_common.lo: common/filter_common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_common.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_common.Tpo -c -o liblzma_la-filter_common.lo `test -f 'common/filter_common.c' || echo '$(srcdir)/'`common/filter_common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_common.Tpo $(DEPDIR)/liblzma_la-filter_common.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_common.c' object='liblzma_la-filter_common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_common.lo `test -f 'common/filter_common.c' || echo '$(srcdir)/'`common/filter_common.c - -liblzma_la-hardware_physmem.lo: common/hardware_physmem.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-hardware_physmem.lo -MD -MP -MF $(DEPDIR)/liblzma_la-hardware_physmem.Tpo -c -o liblzma_la-hardware_physmem.lo `test -f 'common/hardware_physmem.c' || echo '$(srcdir)/'`common/hardware_physmem.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-hardware_physmem.Tpo $(DEPDIR)/liblzma_la-hardware_physmem.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/hardware_physmem.c' object='liblzma_la-hardware_physmem.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-hardware_physmem.lo `test -f 'common/hardware_physmem.c' || echo '$(srcdir)/'`common/hardware_physmem.c - -liblzma_la-index.lo: common/index.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-index.lo -MD -MP -MF $(DEPDIR)/liblzma_la-index.Tpo -c -o liblzma_la-index.lo `test -f 'common/index.c' || echo '$(srcdir)/'`common/index.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-index.Tpo $(DEPDIR)/liblzma_la-index.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/index.c' object='liblzma_la-index.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-index.lo `test -f 'common/index.c' || echo '$(srcdir)/'`common/index.c - -liblzma_la-stream_flags_common.lo: common/stream_flags_common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_flags_common.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_flags_common.Tpo -c -o liblzma_la-stream_flags_common.lo `test -f 'common/stream_flags_common.c' || echo '$(srcdir)/'`common/stream_flags_common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_flags_common.Tpo $(DEPDIR)/liblzma_la-stream_flags_common.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_flags_common.c' object='liblzma_la-stream_flags_common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_flags_common.lo `test -f 'common/stream_flags_common.c' || echo '$(srcdir)/'`common/stream_flags_common.c - -liblzma_la-vli_size.lo: common/vli_size.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-vli_size.lo -MD -MP -MF $(DEPDIR)/liblzma_la-vli_size.Tpo -c -o liblzma_la-vli_size.lo `test -f 'common/vli_size.c' || echo '$(srcdir)/'`common/vli_size.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-vli_size.Tpo $(DEPDIR)/liblzma_la-vli_size.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/vli_size.c' object='liblzma_la-vli_size.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-vli_size.lo `test -f 'common/vli_size.c' || echo '$(srcdir)/'`common/vli_size.c - -liblzma_la-alone_encoder.lo: common/alone_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-alone_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-alone_encoder.Tpo -c -o liblzma_la-alone_encoder.lo `test -f 'common/alone_encoder.c' || echo '$(srcdir)/'`common/alone_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-alone_encoder.Tpo $(DEPDIR)/liblzma_la-alone_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/alone_encoder.c' object='liblzma_la-alone_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-alone_encoder.lo `test -f 'common/alone_encoder.c' || echo '$(srcdir)/'`common/alone_encoder.c - -liblzma_la-block_buffer_encoder.lo: common/block_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_buffer_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_buffer_encoder.Tpo -c -o liblzma_la-block_buffer_encoder.lo `test -f 'common/block_buffer_encoder.c' || echo '$(srcdir)/'`common/block_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_buffer_encoder.Tpo $(DEPDIR)/liblzma_la-block_buffer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_buffer_encoder.c' object='liblzma_la-block_buffer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_buffer_encoder.lo `test -f 'common/block_buffer_encoder.c' || echo '$(srcdir)/'`common/block_buffer_encoder.c - -liblzma_la-block_encoder.lo: common/block_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_encoder.Tpo -c -o liblzma_la-block_encoder.lo `test -f 'common/block_encoder.c' || echo '$(srcdir)/'`common/block_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_encoder.Tpo $(DEPDIR)/liblzma_la-block_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_encoder.c' object='liblzma_la-block_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_encoder.lo `test -f 'common/block_encoder.c' || echo '$(srcdir)/'`common/block_encoder.c - -liblzma_la-block_header_encoder.lo: common/block_header_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_header_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_header_encoder.Tpo -c -o liblzma_la-block_header_encoder.lo `test -f 'common/block_header_encoder.c' || echo '$(srcdir)/'`common/block_header_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_header_encoder.Tpo $(DEPDIR)/liblzma_la-block_header_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_header_encoder.c' object='liblzma_la-block_header_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_header_encoder.lo `test -f 'common/block_header_encoder.c' || echo '$(srcdir)/'`common/block_header_encoder.c - -liblzma_la-easy_buffer_encoder.lo: common/easy_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-easy_buffer_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-easy_buffer_encoder.Tpo -c -o liblzma_la-easy_buffer_encoder.lo `test -f 'common/easy_buffer_encoder.c' || echo '$(srcdir)/'`common/easy_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-easy_buffer_encoder.Tpo $(DEPDIR)/liblzma_la-easy_buffer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/easy_buffer_encoder.c' object='liblzma_la-easy_buffer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-easy_buffer_encoder.lo `test -f 'common/easy_buffer_encoder.c' || echo '$(srcdir)/'`common/easy_buffer_encoder.c - -liblzma_la-easy_encoder.lo: common/easy_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-easy_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-easy_encoder.Tpo -c -o liblzma_la-easy_encoder.lo `test -f 'common/easy_encoder.c' || echo '$(srcdir)/'`common/easy_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-easy_encoder.Tpo $(DEPDIR)/liblzma_la-easy_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/easy_encoder.c' object='liblzma_la-easy_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-easy_encoder.lo `test -f 'common/easy_encoder.c' || echo '$(srcdir)/'`common/easy_encoder.c - -liblzma_la-easy_encoder_memusage.lo: common/easy_encoder_memusage.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-easy_encoder_memusage.lo -MD -MP -MF $(DEPDIR)/liblzma_la-easy_encoder_memusage.Tpo -c -o liblzma_la-easy_encoder_memusage.lo `test -f 'common/easy_encoder_memusage.c' || echo '$(srcdir)/'`common/easy_encoder_memusage.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-easy_encoder_memusage.Tpo $(DEPDIR)/liblzma_la-easy_encoder_memusage.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/easy_encoder_memusage.c' object='liblzma_la-easy_encoder_memusage.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-easy_encoder_memusage.lo `test -f 'common/easy_encoder_memusage.c' || echo '$(srcdir)/'`common/easy_encoder_memusage.c - -liblzma_la-filter_buffer_encoder.lo: common/filter_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_buffer_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_buffer_encoder.Tpo -c -o liblzma_la-filter_buffer_encoder.lo `test -f 'common/filter_buffer_encoder.c' || echo '$(srcdir)/'`common/filter_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_buffer_encoder.Tpo $(DEPDIR)/liblzma_la-filter_buffer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_buffer_encoder.c' object='liblzma_la-filter_buffer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_buffer_encoder.lo `test -f 'common/filter_buffer_encoder.c' || echo '$(srcdir)/'`common/filter_buffer_encoder.c - -liblzma_la-filter_encoder.lo: common/filter_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_encoder.Tpo -c -o liblzma_la-filter_encoder.lo `test -f 'common/filter_encoder.c' || echo '$(srcdir)/'`common/filter_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_encoder.Tpo $(DEPDIR)/liblzma_la-filter_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_encoder.c' object='liblzma_la-filter_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_encoder.lo `test -f 'common/filter_encoder.c' || echo '$(srcdir)/'`common/filter_encoder.c - -liblzma_la-filter_flags_encoder.lo: common/filter_flags_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_flags_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_flags_encoder.Tpo -c -o liblzma_la-filter_flags_encoder.lo `test -f 'common/filter_flags_encoder.c' || echo '$(srcdir)/'`common/filter_flags_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_flags_encoder.Tpo $(DEPDIR)/liblzma_la-filter_flags_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_flags_encoder.c' object='liblzma_la-filter_flags_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_flags_encoder.lo `test -f 'common/filter_flags_encoder.c' || echo '$(srcdir)/'`common/filter_flags_encoder.c - -liblzma_la-index_encoder.lo: common/index_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-index_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-index_encoder.Tpo -c -o liblzma_la-index_encoder.lo `test -f 'common/index_encoder.c' || echo '$(srcdir)/'`common/index_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-index_encoder.Tpo $(DEPDIR)/liblzma_la-index_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/index_encoder.c' object='liblzma_la-index_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-index_encoder.lo `test -f 'common/index_encoder.c' || echo '$(srcdir)/'`common/index_encoder.c - -liblzma_la-stream_buffer_encoder.lo: common/stream_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_buffer_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_buffer_encoder.Tpo -c -o liblzma_la-stream_buffer_encoder.lo `test -f 'common/stream_buffer_encoder.c' || echo '$(srcdir)/'`common/stream_buffer_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_buffer_encoder.Tpo $(DEPDIR)/liblzma_la-stream_buffer_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_buffer_encoder.c' object='liblzma_la-stream_buffer_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_buffer_encoder.lo `test -f 'common/stream_buffer_encoder.c' || echo '$(srcdir)/'`common/stream_buffer_encoder.c - -liblzma_la-stream_encoder.lo: common/stream_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_encoder.Tpo -c -o liblzma_la-stream_encoder.lo `test -f 'common/stream_encoder.c' || echo '$(srcdir)/'`common/stream_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_encoder.Tpo $(DEPDIR)/liblzma_la-stream_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_encoder.c' object='liblzma_la-stream_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_encoder.lo `test -f 'common/stream_encoder.c' || echo '$(srcdir)/'`common/stream_encoder.c - -liblzma_la-stream_flags_encoder.lo: common/stream_flags_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_flags_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_flags_encoder.Tpo -c -o liblzma_la-stream_flags_encoder.lo `test -f 'common/stream_flags_encoder.c' || echo '$(srcdir)/'`common/stream_flags_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_flags_encoder.Tpo $(DEPDIR)/liblzma_la-stream_flags_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_flags_encoder.c' object='liblzma_la-stream_flags_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_flags_encoder.lo `test -f 'common/stream_flags_encoder.c' || echo '$(srcdir)/'`common/stream_flags_encoder.c - -liblzma_la-vli_encoder.lo: common/vli_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-vli_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-vli_encoder.Tpo -c -o liblzma_la-vli_encoder.lo `test -f 'common/vli_encoder.c' || echo '$(srcdir)/'`common/vli_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-vli_encoder.Tpo $(DEPDIR)/liblzma_la-vli_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/vli_encoder.c' object='liblzma_la-vli_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-vli_encoder.lo `test -f 'common/vli_encoder.c' || echo '$(srcdir)/'`common/vli_encoder.c - -liblzma_la-alone_decoder.lo: common/alone_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-alone_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-alone_decoder.Tpo -c -o liblzma_la-alone_decoder.lo `test -f 'common/alone_decoder.c' || echo '$(srcdir)/'`common/alone_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-alone_decoder.Tpo $(DEPDIR)/liblzma_la-alone_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/alone_decoder.c' object='liblzma_la-alone_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-alone_decoder.lo `test -f 'common/alone_decoder.c' || echo '$(srcdir)/'`common/alone_decoder.c - -liblzma_la-auto_decoder.lo: common/auto_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-auto_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-auto_decoder.Tpo -c -o liblzma_la-auto_decoder.lo `test -f 'common/auto_decoder.c' || echo '$(srcdir)/'`common/auto_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-auto_decoder.Tpo $(DEPDIR)/liblzma_la-auto_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/auto_decoder.c' object='liblzma_la-auto_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-auto_decoder.lo `test -f 'common/auto_decoder.c' || echo '$(srcdir)/'`common/auto_decoder.c - -liblzma_la-block_buffer_decoder.lo: common/block_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_buffer_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_buffer_decoder.Tpo -c -o liblzma_la-block_buffer_decoder.lo `test -f 'common/block_buffer_decoder.c' || echo '$(srcdir)/'`common/block_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_buffer_decoder.Tpo $(DEPDIR)/liblzma_la-block_buffer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_buffer_decoder.c' object='liblzma_la-block_buffer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_buffer_decoder.lo `test -f 'common/block_buffer_decoder.c' || echo '$(srcdir)/'`common/block_buffer_decoder.c - -liblzma_la-block_decoder.lo: common/block_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_decoder.Tpo -c -o liblzma_la-block_decoder.lo `test -f 'common/block_decoder.c' || echo '$(srcdir)/'`common/block_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_decoder.Tpo $(DEPDIR)/liblzma_la-block_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_decoder.c' object='liblzma_la-block_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_decoder.lo `test -f 'common/block_decoder.c' || echo '$(srcdir)/'`common/block_decoder.c - -liblzma_la-block_header_decoder.lo: common/block_header_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-block_header_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-block_header_decoder.Tpo -c -o liblzma_la-block_header_decoder.lo `test -f 'common/block_header_decoder.c' || echo '$(srcdir)/'`common/block_header_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-block_header_decoder.Tpo $(DEPDIR)/liblzma_la-block_header_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/block_header_decoder.c' object='liblzma_la-block_header_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-block_header_decoder.lo `test -f 'common/block_header_decoder.c' || echo '$(srcdir)/'`common/block_header_decoder.c - -liblzma_la-easy_decoder_memusage.lo: common/easy_decoder_memusage.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-easy_decoder_memusage.lo -MD -MP -MF $(DEPDIR)/liblzma_la-easy_decoder_memusage.Tpo -c -o liblzma_la-easy_decoder_memusage.lo `test -f 'common/easy_decoder_memusage.c' || echo '$(srcdir)/'`common/easy_decoder_memusage.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-easy_decoder_memusage.Tpo $(DEPDIR)/liblzma_la-easy_decoder_memusage.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/easy_decoder_memusage.c' object='liblzma_la-easy_decoder_memusage.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-easy_decoder_memusage.lo `test -f 'common/easy_decoder_memusage.c' || echo '$(srcdir)/'`common/easy_decoder_memusage.c - -liblzma_la-filter_buffer_decoder.lo: common/filter_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_buffer_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_buffer_decoder.Tpo -c -o liblzma_la-filter_buffer_decoder.lo `test -f 'common/filter_buffer_decoder.c' || echo '$(srcdir)/'`common/filter_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_buffer_decoder.Tpo $(DEPDIR)/liblzma_la-filter_buffer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_buffer_decoder.c' object='liblzma_la-filter_buffer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_buffer_decoder.lo `test -f 'common/filter_buffer_decoder.c' || echo '$(srcdir)/'`common/filter_buffer_decoder.c - -liblzma_la-filter_decoder.lo: common/filter_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_decoder.Tpo -c -o liblzma_la-filter_decoder.lo `test -f 'common/filter_decoder.c' || echo '$(srcdir)/'`common/filter_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_decoder.Tpo $(DEPDIR)/liblzma_la-filter_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_decoder.c' object='liblzma_la-filter_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_decoder.lo `test -f 'common/filter_decoder.c' || echo '$(srcdir)/'`common/filter_decoder.c - -liblzma_la-filter_flags_decoder.lo: common/filter_flags_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-filter_flags_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-filter_flags_decoder.Tpo -c -o liblzma_la-filter_flags_decoder.lo `test -f 'common/filter_flags_decoder.c' || echo '$(srcdir)/'`common/filter_flags_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-filter_flags_decoder.Tpo $(DEPDIR)/liblzma_la-filter_flags_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/filter_flags_decoder.c' object='liblzma_la-filter_flags_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-filter_flags_decoder.lo `test -f 'common/filter_flags_decoder.c' || echo '$(srcdir)/'`common/filter_flags_decoder.c - -liblzma_la-index_decoder.lo: common/index_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-index_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-index_decoder.Tpo -c -o liblzma_la-index_decoder.lo `test -f 'common/index_decoder.c' || echo '$(srcdir)/'`common/index_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-index_decoder.Tpo $(DEPDIR)/liblzma_la-index_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/index_decoder.c' object='liblzma_la-index_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-index_decoder.lo `test -f 'common/index_decoder.c' || echo '$(srcdir)/'`common/index_decoder.c - -liblzma_la-index_hash.lo: common/index_hash.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-index_hash.lo -MD -MP -MF $(DEPDIR)/liblzma_la-index_hash.Tpo -c -o liblzma_la-index_hash.lo `test -f 'common/index_hash.c' || echo '$(srcdir)/'`common/index_hash.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-index_hash.Tpo $(DEPDIR)/liblzma_la-index_hash.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/index_hash.c' object='liblzma_la-index_hash.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-index_hash.lo `test -f 'common/index_hash.c' || echo '$(srcdir)/'`common/index_hash.c - -liblzma_la-stream_buffer_decoder.lo: common/stream_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_buffer_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_buffer_decoder.Tpo -c -o liblzma_la-stream_buffer_decoder.lo `test -f 'common/stream_buffer_decoder.c' || echo '$(srcdir)/'`common/stream_buffer_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_buffer_decoder.Tpo $(DEPDIR)/liblzma_la-stream_buffer_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_buffer_decoder.c' object='liblzma_la-stream_buffer_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_buffer_decoder.lo `test -f 'common/stream_buffer_decoder.c' || echo '$(srcdir)/'`common/stream_buffer_decoder.c - -liblzma_la-stream_decoder.lo: common/stream_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_decoder.Tpo -c -o liblzma_la-stream_decoder.lo `test -f 'common/stream_decoder.c' || echo '$(srcdir)/'`common/stream_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_decoder.Tpo $(DEPDIR)/liblzma_la-stream_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_decoder.c' object='liblzma_la-stream_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_decoder.lo `test -f 'common/stream_decoder.c' || echo '$(srcdir)/'`common/stream_decoder.c - -liblzma_la-stream_flags_decoder.lo: common/stream_flags_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-stream_flags_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-stream_flags_decoder.Tpo -c -o liblzma_la-stream_flags_decoder.lo `test -f 'common/stream_flags_decoder.c' || echo '$(srcdir)/'`common/stream_flags_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-stream_flags_decoder.Tpo $(DEPDIR)/liblzma_la-stream_flags_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/stream_flags_decoder.c' object='liblzma_la-stream_flags_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-stream_flags_decoder.lo `test -f 'common/stream_flags_decoder.c' || echo '$(srcdir)/'`common/stream_flags_decoder.c - -liblzma_la-vli_decoder.lo: common/vli_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-vli_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-vli_decoder.Tpo -c -o liblzma_la-vli_decoder.lo `test -f 'common/vli_decoder.c' || echo '$(srcdir)/'`common/vli_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-vli_decoder.Tpo $(DEPDIR)/liblzma_la-vli_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='common/vli_decoder.c' object='liblzma_la-vli_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-vli_decoder.lo `test -f 'common/vli_decoder.c' || echo '$(srcdir)/'`common/vli_decoder.c - -liblzma_la-check.lo: check/check.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-check.lo -MD -MP -MF $(DEPDIR)/liblzma_la-check.Tpo -c -o liblzma_la-check.lo `test -f 'check/check.c' || echo '$(srcdir)/'`check/check.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-check.Tpo $(DEPDIR)/liblzma_la-check.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/check.c' object='liblzma_la-check.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-check.lo `test -f 'check/check.c' || echo '$(srcdir)/'`check/check.c - -liblzma_la-crc32_small.lo: check/crc32_small.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc32_small.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc32_small.Tpo -c -o liblzma_la-crc32_small.lo `test -f 'check/crc32_small.c' || echo '$(srcdir)/'`check/crc32_small.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc32_small.Tpo $(DEPDIR)/liblzma_la-crc32_small.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc32_small.c' object='liblzma_la-crc32_small.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc32_small.lo `test -f 'check/crc32_small.c' || echo '$(srcdir)/'`check/crc32_small.c - -liblzma_la-crc32_table.lo: check/crc32_table.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc32_table.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc32_table.Tpo -c -o liblzma_la-crc32_table.lo `test -f 'check/crc32_table.c' || echo '$(srcdir)/'`check/crc32_table.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc32_table.Tpo $(DEPDIR)/liblzma_la-crc32_table.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc32_table.c' object='liblzma_la-crc32_table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc32_table.lo `test -f 'check/crc32_table.c' || echo '$(srcdir)/'`check/crc32_table.c - -liblzma_la-crc32_fast.lo: check/crc32_fast.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc32_fast.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc32_fast.Tpo -c -o liblzma_la-crc32_fast.lo `test -f 'check/crc32_fast.c' || echo '$(srcdir)/'`check/crc32_fast.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc32_fast.Tpo $(DEPDIR)/liblzma_la-crc32_fast.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc32_fast.c' object='liblzma_la-crc32_fast.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc32_fast.lo `test -f 'check/crc32_fast.c' || echo '$(srcdir)/'`check/crc32_fast.c - -liblzma_la-crc64_small.lo: check/crc64_small.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc64_small.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc64_small.Tpo -c -o liblzma_la-crc64_small.lo `test -f 'check/crc64_small.c' || echo '$(srcdir)/'`check/crc64_small.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc64_small.Tpo $(DEPDIR)/liblzma_la-crc64_small.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc64_small.c' object='liblzma_la-crc64_small.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc64_small.lo `test -f 'check/crc64_small.c' || echo '$(srcdir)/'`check/crc64_small.c - -liblzma_la-crc64_table.lo: check/crc64_table.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc64_table.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc64_table.Tpo -c -o liblzma_la-crc64_table.lo `test -f 'check/crc64_table.c' || echo '$(srcdir)/'`check/crc64_table.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc64_table.Tpo $(DEPDIR)/liblzma_la-crc64_table.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc64_table.c' object='liblzma_la-crc64_table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc64_table.lo `test -f 'check/crc64_table.c' || echo '$(srcdir)/'`check/crc64_table.c - -liblzma_la-crc64_fast.lo: check/crc64_fast.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-crc64_fast.lo -MD -MP -MF $(DEPDIR)/liblzma_la-crc64_fast.Tpo -c -o liblzma_la-crc64_fast.lo `test -f 'check/crc64_fast.c' || echo '$(srcdir)/'`check/crc64_fast.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-crc64_fast.Tpo $(DEPDIR)/liblzma_la-crc64_fast.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/crc64_fast.c' object='liblzma_la-crc64_fast.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-crc64_fast.lo `test -f 'check/crc64_fast.c' || echo '$(srcdir)/'`check/crc64_fast.c - -liblzma_la-sha256.lo: check/sha256.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-sha256.lo -MD -MP -MF $(DEPDIR)/liblzma_la-sha256.Tpo -c -o liblzma_la-sha256.lo `test -f 'check/sha256.c' || echo '$(srcdir)/'`check/sha256.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-sha256.Tpo $(DEPDIR)/liblzma_la-sha256.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='check/sha256.c' object='liblzma_la-sha256.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-sha256.lo `test -f 'check/sha256.c' || echo '$(srcdir)/'`check/sha256.c - -liblzma_la-lz_encoder.lo: lz/lz_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lz_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lz_encoder.Tpo -c -o liblzma_la-lz_encoder.lo `test -f 'lz/lz_encoder.c' || echo '$(srcdir)/'`lz/lz_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lz_encoder.Tpo $(DEPDIR)/liblzma_la-lz_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lz/lz_encoder.c' object='liblzma_la-lz_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lz_encoder.lo `test -f 'lz/lz_encoder.c' || echo '$(srcdir)/'`lz/lz_encoder.c - -liblzma_la-lz_encoder_mf.lo: lz/lz_encoder_mf.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lz_encoder_mf.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lz_encoder_mf.Tpo -c -o liblzma_la-lz_encoder_mf.lo `test -f 'lz/lz_encoder_mf.c' || echo '$(srcdir)/'`lz/lz_encoder_mf.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lz_encoder_mf.Tpo $(DEPDIR)/liblzma_la-lz_encoder_mf.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lz/lz_encoder_mf.c' object='liblzma_la-lz_encoder_mf.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lz_encoder_mf.lo `test -f 'lz/lz_encoder_mf.c' || echo '$(srcdir)/'`lz/lz_encoder_mf.c - -liblzma_la-lz_decoder.lo: lz/lz_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lz_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lz_decoder.Tpo -c -o liblzma_la-lz_decoder.lo `test -f 'lz/lz_decoder.c' || echo '$(srcdir)/'`lz/lz_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lz_decoder.Tpo $(DEPDIR)/liblzma_la-lz_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lz/lz_decoder.c' object='liblzma_la-lz_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lz_decoder.lo `test -f 'lz/lz_decoder.c' || echo '$(srcdir)/'`lz/lz_decoder.c - -liblzma_la-lzma_encoder.lo: lzma/lzma_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma_encoder.Tpo -c -o liblzma_la-lzma_encoder.lo `test -f 'lzma/lzma_encoder.c' || echo '$(srcdir)/'`lzma/lzma_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma_encoder.Tpo $(DEPDIR)/liblzma_la-lzma_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma_encoder.c' object='liblzma_la-lzma_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma_encoder.lo `test -f 'lzma/lzma_encoder.c' || echo '$(srcdir)/'`lzma/lzma_encoder.c - -liblzma_la-lzma_encoder_presets.lo: lzma/lzma_encoder_presets.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma_encoder_presets.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma_encoder_presets.Tpo -c -o liblzma_la-lzma_encoder_presets.lo `test -f 'lzma/lzma_encoder_presets.c' || echo '$(srcdir)/'`lzma/lzma_encoder_presets.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma_encoder_presets.Tpo $(DEPDIR)/liblzma_la-lzma_encoder_presets.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma_encoder_presets.c' object='liblzma_la-lzma_encoder_presets.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma_encoder_presets.lo `test -f 'lzma/lzma_encoder_presets.c' || echo '$(srcdir)/'`lzma/lzma_encoder_presets.c - -liblzma_la-lzma_encoder_optimum_fast.lo: lzma/lzma_encoder_optimum_fast.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma_encoder_optimum_fast.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma_encoder_optimum_fast.Tpo -c -o liblzma_la-lzma_encoder_optimum_fast.lo `test -f 'lzma/lzma_encoder_optimum_fast.c' || echo '$(srcdir)/'`lzma/lzma_encoder_optimum_fast.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma_encoder_optimum_fast.Tpo $(DEPDIR)/liblzma_la-lzma_encoder_optimum_fast.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma_encoder_optimum_fast.c' object='liblzma_la-lzma_encoder_optimum_fast.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma_encoder_optimum_fast.lo `test -f 'lzma/lzma_encoder_optimum_fast.c' || echo '$(srcdir)/'`lzma/lzma_encoder_optimum_fast.c - -liblzma_la-lzma_encoder_optimum_normal.lo: lzma/lzma_encoder_optimum_normal.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma_encoder_optimum_normal.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma_encoder_optimum_normal.Tpo -c -o liblzma_la-lzma_encoder_optimum_normal.lo `test -f 'lzma/lzma_encoder_optimum_normal.c' || echo '$(srcdir)/'`lzma/lzma_encoder_optimum_normal.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma_encoder_optimum_normal.Tpo $(DEPDIR)/liblzma_la-lzma_encoder_optimum_normal.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma_encoder_optimum_normal.c' object='liblzma_la-lzma_encoder_optimum_normal.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma_encoder_optimum_normal.lo `test -f 'lzma/lzma_encoder_optimum_normal.c' || echo '$(srcdir)/'`lzma/lzma_encoder_optimum_normal.c - -liblzma_la-fastpos_table.lo: lzma/fastpos_table.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-fastpos_table.lo -MD -MP -MF $(DEPDIR)/liblzma_la-fastpos_table.Tpo -c -o liblzma_la-fastpos_table.lo `test -f 'lzma/fastpos_table.c' || echo '$(srcdir)/'`lzma/fastpos_table.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-fastpos_table.Tpo $(DEPDIR)/liblzma_la-fastpos_table.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/fastpos_table.c' object='liblzma_la-fastpos_table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-fastpos_table.lo `test -f 'lzma/fastpos_table.c' || echo '$(srcdir)/'`lzma/fastpos_table.c - -liblzma_la-lzma_decoder.lo: lzma/lzma_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma_decoder.Tpo -c -o liblzma_la-lzma_decoder.lo `test -f 'lzma/lzma_decoder.c' || echo '$(srcdir)/'`lzma/lzma_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma_decoder.Tpo $(DEPDIR)/liblzma_la-lzma_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma_decoder.c' object='liblzma_la-lzma_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma_decoder.lo `test -f 'lzma/lzma_decoder.c' || echo '$(srcdir)/'`lzma/lzma_decoder.c - -liblzma_la-lzma2_encoder.lo: lzma/lzma2_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma2_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma2_encoder.Tpo -c -o liblzma_la-lzma2_encoder.lo `test -f 'lzma/lzma2_encoder.c' || echo '$(srcdir)/'`lzma/lzma2_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma2_encoder.Tpo $(DEPDIR)/liblzma_la-lzma2_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma2_encoder.c' object='liblzma_la-lzma2_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma2_encoder.lo `test -f 'lzma/lzma2_encoder.c' || echo '$(srcdir)/'`lzma/lzma2_encoder.c - -liblzma_la-lzma2_decoder.lo: lzma/lzma2_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-lzma2_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-lzma2_decoder.Tpo -c -o liblzma_la-lzma2_decoder.lo `test -f 'lzma/lzma2_decoder.c' || echo '$(srcdir)/'`lzma/lzma2_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-lzma2_decoder.Tpo $(DEPDIR)/liblzma_la-lzma2_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzma/lzma2_decoder.c' object='liblzma_la-lzma2_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-lzma2_decoder.lo `test -f 'lzma/lzma2_decoder.c' || echo '$(srcdir)/'`lzma/lzma2_decoder.c - -liblzma_la-price_table.lo: rangecoder/price_table.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-price_table.lo -MD -MP -MF $(DEPDIR)/liblzma_la-price_table.Tpo -c -o liblzma_la-price_table.lo `test -f 'rangecoder/price_table.c' || echo '$(srcdir)/'`rangecoder/price_table.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-price_table.Tpo $(DEPDIR)/liblzma_la-price_table.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='rangecoder/price_table.c' object='liblzma_la-price_table.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-price_table.lo `test -f 'rangecoder/price_table.c' || echo '$(srcdir)/'`rangecoder/price_table.c - -liblzma_la-delta_common.lo: delta/delta_common.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-delta_common.lo -MD -MP -MF $(DEPDIR)/liblzma_la-delta_common.Tpo -c -o liblzma_la-delta_common.lo `test -f 'delta/delta_common.c' || echo '$(srcdir)/'`delta/delta_common.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-delta_common.Tpo $(DEPDIR)/liblzma_la-delta_common.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='delta/delta_common.c' object='liblzma_la-delta_common.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-delta_common.lo `test -f 'delta/delta_common.c' || echo '$(srcdir)/'`delta/delta_common.c - -liblzma_la-delta_encoder.lo: delta/delta_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-delta_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-delta_encoder.Tpo -c -o liblzma_la-delta_encoder.lo `test -f 'delta/delta_encoder.c' || echo '$(srcdir)/'`delta/delta_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-delta_encoder.Tpo $(DEPDIR)/liblzma_la-delta_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='delta/delta_encoder.c' object='liblzma_la-delta_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-delta_encoder.lo `test -f 'delta/delta_encoder.c' || echo '$(srcdir)/'`delta/delta_encoder.c - -liblzma_la-delta_decoder.lo: delta/delta_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-delta_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-delta_decoder.Tpo -c -o liblzma_la-delta_decoder.lo `test -f 'delta/delta_decoder.c' || echo '$(srcdir)/'`delta/delta_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-delta_decoder.Tpo $(DEPDIR)/liblzma_la-delta_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='delta/delta_decoder.c' object='liblzma_la-delta_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-delta_decoder.lo `test -f 'delta/delta_decoder.c' || echo '$(srcdir)/'`delta/delta_decoder.c - -liblzma_la-simple_coder.lo: simple/simple_coder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-simple_coder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-simple_coder.Tpo -c -o liblzma_la-simple_coder.lo `test -f 'simple/simple_coder.c' || echo '$(srcdir)/'`simple/simple_coder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-simple_coder.Tpo $(DEPDIR)/liblzma_la-simple_coder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/simple_coder.c' object='liblzma_la-simple_coder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-simple_coder.lo `test -f 'simple/simple_coder.c' || echo '$(srcdir)/'`simple/simple_coder.c - -liblzma_la-simple_encoder.lo: simple/simple_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-simple_encoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-simple_encoder.Tpo -c -o liblzma_la-simple_encoder.lo `test -f 'simple/simple_encoder.c' || echo '$(srcdir)/'`simple/simple_encoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-simple_encoder.Tpo $(DEPDIR)/liblzma_la-simple_encoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/simple_encoder.c' object='liblzma_la-simple_encoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-simple_encoder.lo `test -f 'simple/simple_encoder.c' || echo '$(srcdir)/'`simple/simple_encoder.c - -liblzma_la-simple_decoder.lo: simple/simple_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-simple_decoder.lo -MD -MP -MF $(DEPDIR)/liblzma_la-simple_decoder.Tpo -c -o liblzma_la-simple_decoder.lo `test -f 'simple/simple_decoder.c' || echo '$(srcdir)/'`simple/simple_decoder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-simple_decoder.Tpo $(DEPDIR)/liblzma_la-simple_decoder.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/simple_decoder.c' object='liblzma_la-simple_decoder.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-simple_decoder.lo `test -f 'simple/simple_decoder.c' || echo '$(srcdir)/'`simple/simple_decoder.c - -liblzma_la-x86.lo: simple/x86.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-x86.lo -MD -MP -MF $(DEPDIR)/liblzma_la-x86.Tpo -c -o liblzma_la-x86.lo `test -f 'simple/x86.c' || echo '$(srcdir)/'`simple/x86.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-x86.Tpo $(DEPDIR)/liblzma_la-x86.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/x86.c' object='liblzma_la-x86.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-x86.lo `test -f 'simple/x86.c' || echo '$(srcdir)/'`simple/x86.c - -liblzma_la-powerpc.lo: simple/powerpc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-powerpc.lo -MD -MP -MF $(DEPDIR)/liblzma_la-powerpc.Tpo -c -o liblzma_la-powerpc.lo `test -f 'simple/powerpc.c' || echo '$(srcdir)/'`simple/powerpc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-powerpc.Tpo $(DEPDIR)/liblzma_la-powerpc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/powerpc.c' object='liblzma_la-powerpc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-powerpc.lo `test -f 'simple/powerpc.c' || echo '$(srcdir)/'`simple/powerpc.c - -liblzma_la-ia64.lo: simple/ia64.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-ia64.lo -MD -MP -MF $(DEPDIR)/liblzma_la-ia64.Tpo -c -o liblzma_la-ia64.lo `test -f 'simple/ia64.c' || echo '$(srcdir)/'`simple/ia64.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-ia64.Tpo $(DEPDIR)/liblzma_la-ia64.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/ia64.c' object='liblzma_la-ia64.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-ia64.lo `test -f 'simple/ia64.c' || echo '$(srcdir)/'`simple/ia64.c - -liblzma_la-arm.lo: simple/arm.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-arm.lo -MD -MP -MF $(DEPDIR)/liblzma_la-arm.Tpo -c -o liblzma_la-arm.lo `test -f 'simple/arm.c' || echo '$(srcdir)/'`simple/arm.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-arm.Tpo $(DEPDIR)/liblzma_la-arm.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/arm.c' object='liblzma_la-arm.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-arm.lo `test -f 'simple/arm.c' || echo '$(srcdir)/'`simple/arm.c - -liblzma_la-armthumb.lo: simple/armthumb.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-armthumb.lo -MD -MP -MF $(DEPDIR)/liblzma_la-armthumb.Tpo -c -o liblzma_la-armthumb.lo `test -f 'simple/armthumb.c' || echo '$(srcdir)/'`simple/armthumb.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-armthumb.Tpo $(DEPDIR)/liblzma_la-armthumb.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/armthumb.c' object='liblzma_la-armthumb.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-armthumb.lo `test -f 'simple/armthumb.c' || echo '$(srcdir)/'`simple/armthumb.c - -liblzma_la-sparc.lo: simple/sparc.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT liblzma_la-sparc.lo -MD -MP -MF $(DEPDIR)/liblzma_la-sparc.Tpo -c -o liblzma_la-sparc.lo `test -f 'simple/sparc.c' || echo '$(srcdir)/'`simple/sparc.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/liblzma_la-sparc.Tpo $(DEPDIR)/liblzma_la-sparc.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='simple/sparc.c' object='liblzma_la-sparc.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o liblzma_la-sparc.lo `test -f 'simple/sparc.c' || echo '$(srcdir)/'`simple/sparc.c - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-docDATA: $(doc_DATA) - @$(NORMAL_INSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(docdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(docdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(docdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(docdir)" || exit $$?; \ - done - -uninstall-docDATA: - @$(NORMAL_UNINSTALL) - @list='$(doc_DATA)'; test -n "$(docdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(docdir)'; $(am__uninstall_files_from_dir) -install-pkgconfigDATA: $(pkgconfig_DATA) - @$(NORMAL_INSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; \ - done | $(am__base_list) | \ - while read files; do \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \ - done - -uninstall-pkgconfigDATA: - @$(NORMAL_UNINSTALL) - @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \ - files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ - dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir) - -# This directory's subdirectories are mostly independent; you can cd -# into them and run 'make' without going through this Makefile. -# To change the values of 'make' variables: instead of editing Makefiles, -# (1) if the variable is set in 'config.status', edit 'config.status' -# (which will cause the Makefiles to be regenerated when you run 'make'); -# (2) otherwise, pass the desired values on the 'make' command line. -$(am__recursive_targets): - @fail=; \ - if $(am__make_keepgoing); then \ - failcom='fail=yes'; \ - else \ - failcom='exit 1'; \ - fi; \ - dot_seen=no; \ - target=`echo $@ | sed s/-recursive//`; \ - case "$@" in \ - distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ - *) list='$(SUBDIRS)' ;; \ - esac; \ - for subdir in $$list; do \ - echo "Making $$target in $$subdir"; \ - if test "$$subdir" = "."; then \ - dot_seen=yes; \ - local_target="$$target-am"; \ - else \ - local_target="$$target"; \ - fi; \ - ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || eval $$failcom; \ - done; \ - if test "$$dot_seen" = "no"; then \ - $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ - fi; test -z "$$fail" - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-recursive -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ - include_option=--etags-include; \ - empty_fix=.; \ - else \ - include_option=--include; \ - empty_fix=; \ - fi; \ - list='$(SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - test ! -f $$subdir/TAGS || \ - set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ - fi; \ - done; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-recursive - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-recursive - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done - @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ - if test "$$subdir" = .; then :; else \ - $(am__make_dryrun) \ - || test -d "$(distdir)/$$subdir" \ - || $(MKDIR_P) "$(distdir)/$$subdir" \ - || exit 1; \ - dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ - $(am__relativize); \ - new_distdir=$$reldir; \ - dir1=$$subdir; dir2="$(top_distdir)"; \ - $(am__relativize); \ - new_top_distdir=$$reldir; \ - echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ - echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ - ($(am__cd) $$subdir && \ - $(MAKE) $(AM_MAKEFLAGS) \ - top_distdir="$$new_top_distdir" \ - distdir="$$new_distdir" \ - am__remove_distdir=: \ - am__skip_length_check=: \ - am__skip_mode_fix=: \ - distdir) \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-recursive -all-am: Makefile $(LTLIBRARIES) $(DATA) -installdirs: installdirs-recursive -installdirs-am: - for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(docdir)" "$(DESTDIR)$(pkgconfigdir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-recursive -install-exec: install-exec-recursive -install-data: install-data-recursive -uninstall: uninstall-recursive - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-recursive -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-recursive - -clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ - mostlyclean-am - -distclean: distclean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-recursive - -dvi-am: - -html: html-recursive - -html-am: - -info: info-recursive - -info-am: - -install-data-am: install-docDATA install-pkgconfigDATA - -install-dvi: install-dvi-recursive - -install-dvi-am: - -install-exec-am: install-libLTLIBRARIES - -install-html: install-html-recursive - -install-html-am: - -install-info: install-info-recursive - -install-info-am: - -install-man: - -install-pdf: install-pdf-recursive - -install-pdf-am: - -install-ps: install-ps-recursive - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-recursive - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-recursive - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-recursive - -pdf-am: - -ps: ps-recursive - -ps-am: - -uninstall-am: uninstall-docDATA uninstall-libLTLIBRARIES \ - uninstall-pkgconfigDATA - -.MAKE: $(am__recursive_targets) install-am install-strip - -.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ - check-am clean clean-generic clean-libLTLIBRARIES \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-compile distclean-generic distclean-libtool \ - distclean-tags distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-docDATA install-dvi install-dvi-am install-exec \ - install-exec-am install-html install-html-am install-info \ - install-info-am install-libLTLIBRARIES install-man install-pdf \ - install-pdf-am install-pkgconfigDATA install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - installdirs-am maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-docDATA uninstall-libLTLIBRARIES \ - uninstall-pkgconfigDATA - - -# Windows resource compiler support. libtool knows what to do with .rc -# files, but Automake (<= 1.11 at least) doesn't know. -# -# We want the resource file only in shared liblzma. To avoid linking it into -# static liblzma, we overwrite the static object file with an object file -# compiled from empty input. Note that GNU-specific features are OK here, -# because on Windows we are compiled with the GNU toolchain. -.rc.lo: - $(LIBTOOL) --mode=compile $(RC) $(DEFS) $(DEFAULT_INCLUDES) \ - $(INCLUDES) $(liblzma_la_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) \ - -i $< -o $@ - echo > empty.c - $(COMPILE) -c empty.c -o $(*D)/$(*F).o - -# Remove ordinals from the generated .def file. People must link by name, -# not by ordinal, because no one is going to track the ordinal numbers. -liblzma.def: liblzma.la liblzma.def.in - sed 's/ \+@ *[0-9]\+//' liblzma.def.in > liblzma.def - -# Creating liblzma.def.in is a side effect of linking the library. -liblzma.def.in: liblzma.la - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/liblzma/api/Makefile.am b/Build/source/extra/xz/src/liblzma/api/Makefile.am deleted file mode 100644 index e016de5855c..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/Makefile.am +++ /dev/null @@ -1,23 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -nobase_include_HEADERS = \ - lzma.h \ - lzma/base.h \ - lzma/bcj.h \ - lzma/block.h \ - lzma/check.h \ - lzma/container.h \ - lzma/delta.h \ - lzma/filter.h \ - lzma/hardware.h \ - lzma/index.h \ - lzma/index_hash.h \ - lzma/lzma.h \ - lzma/stream_flags.h \ - lzma/version.h \ - lzma/vli.h diff --git a/Build/source/extra/xz/src/liblzma/api/Makefile.in b/Build/source/extra/xz/src/liblzma/api/Makefile.in deleted file mode 100644 index e374ae31b30..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/Makefile.in +++ /dev/null @@ -1,608 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -subdir = src/liblzma/api -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(nobase_include_HEADERS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(includedir)" -HEADERS = $(nobase_include_HEADERS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -nobase_include_HEADERS = \ - lzma.h \ - lzma/base.h \ - lzma/bcj.h \ - lzma/block.h \ - lzma/check.h \ - lzma/container.h \ - lzma/delta.h \ - lzma/filter.h \ - lzma/hardware.h \ - lzma/index.h \ - lzma/index_hash.h \ - lzma/lzma.h \ - lzma/stream_flags.h \ - lzma/version.h \ - lzma/vli.h - -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/liblzma/api/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/liblzma/api/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-nobase_includeHEADERS: $(nobase_include_HEADERS) - @$(NORMAL_INSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \ - fi; \ - $(am__nobase_list) | while read dir files; do \ - xfiles=; for file in $$files; do \ - if test -f "$$file"; then xfiles="$$xfiles $$file"; \ - else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \ - test -z "$$xfiles" || { \ - test "x$$dir" = x. || { \ - echo " $(MKDIR_P) '$(DESTDIR)$(includedir)/$$dir'"; \ - $(MKDIR_P) "$(DESTDIR)$(includedir)/$$dir"; }; \ - echo " $(INSTALL_HEADER) $$xfiles '$(DESTDIR)$(includedir)/$$dir'"; \ - $(INSTALL_HEADER) $$xfiles "$(DESTDIR)$(includedir)/$$dir" || exit $$?; }; \ - done - -uninstall-nobase_includeHEADERS: - @$(NORMAL_UNINSTALL) - @list='$(nobase_include_HEADERS)'; test -n "$(includedir)" || list=; \ - $(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \ - dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(HEADERS) -installdirs: - for dir in "$(DESTDIR)$(includedir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-nobase_includeHEADERS - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-nobase_includeHEADERS - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean clean-generic \ - clean-libtool cscopelist-am ctags ctags-am distclean \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man \ - install-nobase_includeHEADERS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-nobase_includeHEADERS - - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/liblzma/api/lzma.h b/Build/source/extra/xz/src/liblzma/api/lzma.h deleted file mode 100644 index fb874c3e137..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma.h +++ /dev/null @@ -1,313 +0,0 @@ -/** - * \file api/lzma.h - * \brief The public API of liblzma data compression library - * - * liblzma is a public domain general-purpose data compression library with - * a zlib-like API. The native file format is .xz, but also the old .lzma - * format and raw (no headers) streams are supported. Multiple compression - * algorithms (filters) are supported. Currently LZMA2 is the primary filter. - * - * liblzma is part of XZ Utils . XZ Utils includes - * a gzip-like command line tool named xz and some other tools. XZ Utils - * is developed and maintained by Lasse Collin. - * - * Major parts of liblzma are based on Igor Pavlov's public domain LZMA SDK - * . - * - * The SHA-256 implementation is based on the public domain code found from - * 7-Zip , which has a modified version of the public - * domain SHA-256 code found from Crypto++ . - * The SHA-256 code in Crypto++ was written by Kevin Springle and Wei Dai. - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#ifndef LZMA_H -#define LZMA_H - -/***************************** - * Required standard headers * - *****************************/ - -/* - * liblzma API headers need some standard types and macros. To allow - * including lzma.h without requiring the application to include other - * headers first, lzma.h includes the required standard headers unless - * they already seem to be included already or if LZMA_MANUAL_HEADERS - * has been defined. - * - * Here's what types and macros are needed and from which headers: - * - stddef.h: size_t, NULL - * - stdint.h: uint8_t, uint32_t, uint64_t, UINT32_C(n), uint64_C(n), - * UINT32_MAX, UINT64_MAX - * - * However, inttypes.h is a little more portable than stdint.h, although - * inttypes.h declares some unneeded things compared to plain stdint.h. - * - * The hacks below aren't perfect, specifically they assume that inttypes.h - * exists and that it typedefs at least uint8_t, uint32_t, and uint64_t, - * and that, in case of incomplete inttypes.h, unsigned int is 32-bit. - * If the application already takes care of setting up all the types and - * macros properly (for example by using gnulib's stdint.h or inttypes.h), - * we try to detect that the macros are already defined and don't include - * inttypes.h here again. However, you may define LZMA_MANUAL_HEADERS to - * force this file to never include any system headers. - * - * Some could argue that liblzma API should provide all the required types, - * for example lzma_uint64, LZMA_UINT64_C(n), and LZMA_UINT64_MAX. This was - * seen as an unnecessary mess, since most systems already provide all the - * necessary types and macros in the standard headers. - * - * Note that liblzma API still has lzma_bool, because using stdbool.h would - * break C89 and C++ programs on many systems. sizeof(bool) in C99 isn't - * necessarily the same as sizeof(bool) in C++. - */ - -#ifndef LZMA_MANUAL_HEADERS - /* - * I suppose this works portably also in C++. Note that in C++, - * we need to get size_t into the global namespace. - */ -# include - - /* - * Skip inttypes.h if we already have all the required macros. If we - * have the macros, we assume that we have the matching typedefs too. - */ -# if !defined(UINT32_C) || !defined(UINT64_C) \ - || !defined(UINT32_MAX) || !defined(UINT64_MAX) - /* - * MSVC has no C99 support, and thus it cannot be used to - * compile liblzma. The liblzma API has to still be usable - * from MSVC, so we need to define the required standard - * integer types here. - */ -# if defined(_WIN32) && defined(_MSC_VER) - typedef unsigned __int8 uint8_t; - typedef unsigned __int32 uint32_t; - typedef unsigned __int64 uint64_t; -# else - /* Use the standard inttypes.h. */ -# ifdef __cplusplus - /* - * C99 sections 7.18.2 and 7.18.4 specify - * that C++ implementations define the limit - * and constant macros only if specifically - * requested. Note that if you want the - * format macros (PRIu64 etc.) too, you need - * to define __STDC_FORMAT_MACROS before - * including lzma.h, since re-including - * inttypes.h with __STDC_FORMAT_MACROS - * defined doesn't necessarily work. - */ -# ifndef __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS 1 -# endif -# ifndef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS 1 -# endif -# endif - -# include -# endif - - /* - * Some old systems have only the typedefs in inttypes.h, and - * lack all the macros. For those systems, we need a few more - * hacks. We assume that unsigned int is 32-bit and unsigned - * long is either 32-bit or 64-bit. If these hacks aren't - * enough, the application has to setup the types manually - * before including lzma.h. - */ -# ifndef UINT32_C -# if defined(_WIN32) && defined(_MSC_VER) -# define UINT32_C(n) n ## UI32 -# else -# define UINT32_C(n) n ## U -# endif -# endif - -# ifndef UINT64_C -# if defined(_WIN32) && defined(_MSC_VER) -# define UINT64_C(n) n ## UI64 -# else - /* Get ULONG_MAX. */ -# include -# if ULONG_MAX == 4294967295UL -# define UINT64_C(n) n ## ULL -# else -# define UINT64_C(n) n ## UL -# endif -# endif -# endif - -# ifndef UINT32_MAX -# define UINT32_MAX (UINT32_C(4294967295)) -# endif - -# ifndef UINT64_MAX -# define UINT64_MAX (UINT64_C(18446744073709551615)) -# endif -# endif -#endif /* ifdef LZMA_MANUAL_HEADERS */ - - -/****************** - * LZMA_API macro * - ******************/ - -/* - * Some systems require that the functions and function pointers are - * declared specially in the headers. LZMA_API_IMPORT is for importing - * symbols and LZMA_API_CALL is to specify the calling convention. - * - * By default it is assumed that the application will link dynamically - * against liblzma. #define LZMA_API_STATIC in your application if you - * want to link against static liblzma. If you don't care about portability - * to operating systems like Windows, or at least don't care about linking - * against static liblzma on them, don't worry about LZMA_API_STATIC. That - * is, most developers will never need to use LZMA_API_STATIC. - * - * The GCC variants are a special case on Windows (Cygwin and MinGW). - * We rely on GCC doing the right thing with its auto-import feature, - * and thus don't use __declspec(dllimport). This way developers don't - * need to worry about LZMA_API_STATIC. Also the calling convention is - * omitted on Cygwin but not on MinGW. - */ -#ifndef LZMA_API_IMPORT -# if !defined(LZMA_API_STATIC) && defined(_WIN32) && !defined(__GNUC__) -# define LZMA_API_IMPORT __declspec(dllimport) -# else -# define LZMA_API_IMPORT -# endif -#endif - -#ifndef LZMA_API_CALL -# if defined(_WIN32) && !defined(__CYGWIN__) -# define LZMA_API_CALL __cdecl -# else -# define LZMA_API_CALL -# endif -#endif - -#ifndef LZMA_API -# define LZMA_API(type) LZMA_API_IMPORT type LZMA_API_CALL -#endif - - -/*********** - * nothrow * - ***********/ - -/* - * None of the functions in liblzma may throw an exception. Even - * the functions that use callback functions won't throw exceptions, - * because liblzma would break if a callback function threw an exception. - */ -#ifndef lzma_nothrow -# if defined(__cplusplus) -# define lzma_nothrow throw() -# elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) -# define lzma_nothrow __attribute__((__nothrow__)) -# else -# define lzma_nothrow -# endif -#endif - - -/******************** - * GNU C extensions * - ********************/ - -/* - * GNU C extensions are used conditionally in the public API. It doesn't - * break anything if these are sometimes enabled and sometimes not, only - * affects warnings and optimizations. - */ -#if __GNUC__ >= 3 -# ifndef lzma_attribute -# define lzma_attribute(attr) __attribute__(attr) -# endif - - /* warn_unused_result was added in GCC 3.4. */ -# ifndef lzma_attr_warn_unused_result -# if __GNUC__ == 3 && __GNUC_MINOR__ < 4 -# define lzma_attr_warn_unused_result -# endif -# endif - -#else -# ifndef lzma_attribute -# define lzma_attribute(attr) -# endif -#endif - - -#ifndef lzma_attr_pure -# define lzma_attr_pure lzma_attribute((__pure__)) -#endif - -#ifndef lzma_attr_const -# define lzma_attr_const lzma_attribute((__const__)) -#endif - -#ifndef lzma_attr_warn_unused_result -# define lzma_attr_warn_unused_result \ - lzma_attribute((__warn_unused_result__)) -#endif - - -/************** - * Subheaders * - **************/ - -#ifdef __cplusplus -extern "C" { -#endif - -/* - * Subheaders check that this is defined. It is to prevent including - * them directly from applications. - */ -#define LZMA_H_INTERNAL 1 - -/* Basic features */ -#include "lzma/version.h" -#include "lzma/base.h" -#include "lzma/vli.h" -#include "lzma/check.h" - -/* Filters */ -#include "lzma/filter.h" -#include "lzma/bcj.h" -#include "lzma/delta.h" -#include "lzma/lzma.h" - -/* Container formats */ -#include "lzma/container.h" - -/* Advanced features */ -#include "lzma/stream_flags.h" -#include "lzma/block.h" -#include "lzma/index.h" -#include "lzma/index_hash.h" - -/* Hardware information */ -#include "lzma/hardware.h" - -/* - * All subheaders included. Undefine LZMA_H_INTERNAL to prevent applications - * re-including the subheaders. - */ -#undef LZMA_H_INTERNAL - -#ifdef __cplusplus -} -#endif - -#endif /* ifndef LZMA_H */ diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/base.h b/Build/source/extra/xz/src/liblzma/api/lzma/base.h deleted file mode 100644 index 43dde8d60f3..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/base.h +++ /dev/null @@ -1,601 +0,0 @@ -/** - * \file lzma/base.h - * \brief Data types and functions used in many places in liblzma API - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Boolean - * - * This is here because C89 doesn't have stdbool.h. To set a value for - * variables having type lzma_bool, you can use - * - C99's `true' and `false' from stdbool.h; - * - C++'s internal `true' and `false'; or - * - integers one (true) and zero (false). - */ -typedef unsigned char lzma_bool; - - -/** - * \brief Type of reserved enumeration variable in structures - * - * To avoid breaking library ABI when new features are added, several - * structures contain extra variables that may be used in future. Since - * sizeof(enum) can be different than sizeof(int), and sizeof(enum) may - * even vary depending on the range of enumeration constants, we specify - * a separate type to be used for reserved enumeration variables. All - * enumeration constants in liblzma API will be non-negative and less - * than 128, which should guarantee that the ABI won't break even when - * new constants are added to existing enumerations. - */ -typedef enum { - LZMA_RESERVED_ENUM = 0 -} lzma_reserved_enum; - - -/** - * \brief Return values used by several functions in liblzma - * - * Check the descriptions of specific functions to find out which return - * values they can return. With some functions the return values may have - * more specific meanings than described here; those differences are - * described per-function basis. - */ -typedef enum { - LZMA_OK = 0, - /**< - * \brief Operation completed successfully - */ - - LZMA_STREAM_END = 1, - /**< - * \brief End of stream was reached - * - * In encoder, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or - * LZMA_FINISH was finished. In decoder, this indicates - * that all the data was successfully decoded. - * - * In all cases, when LZMA_STREAM_END is returned, the last - * output bytes should be picked from strm->next_out. - */ - - LZMA_NO_CHECK = 2, - /**< - * \brief Input stream has no integrity check - * - * This return value can be returned only if the - * LZMA_TELL_NO_CHECK flag was used when initializing - * the decoder. LZMA_NO_CHECK is just a warning, and - * the decoding can be continued normally. - * - * It is possible to call lzma_get_check() immediately after - * lzma_code has returned LZMA_NO_CHECK. The result will - * naturally be LZMA_CHECK_NONE, but the possibility to call - * lzma_get_check() may be convenient in some applications. - */ - - LZMA_UNSUPPORTED_CHECK = 3, - /**< - * \brief Cannot calculate the integrity check - * - * The usage of this return value is different in encoders - * and decoders. - * - * Encoders can return this value only from the initialization - * function. If initialization fails with this value, the - * encoding cannot be done, because there's no way to produce - * output with the correct integrity check. - * - * Decoders can return this value only from lzma_code() and - * only if the LZMA_TELL_UNSUPPORTED_CHECK flag was used when - * initializing the decoder. The decoding can still be - * continued normally even if the check type is unsupported, - * but naturally the check will not be validated, and possible - * errors may go undetected. - * - * With decoder, it is possible to call lzma_get_check() - * immediately after lzma_code() has returned - * LZMA_UNSUPPORTED_CHECK. This way it is possible to find - * out what the unsupported Check ID was. - */ - - LZMA_GET_CHECK = 4, - /**< - * \brief Integrity check type is now available - * - * This value can be returned only by the lzma_code() function - * and only if the decoder was initialized with the - * LZMA_TELL_ANY_CHECK flag. LZMA_GET_CHECK tells the - * application that it may now call lzma_get_check() to find - * out the Check ID. This can be used, for example, to - * implement a decoder that accepts only files that have - * strong enough integrity check. - */ - - LZMA_MEM_ERROR = 5, - /**< - * \brief Cannot allocate memory - * - * Memory allocation failed, or the size of the allocation - * would be greater than SIZE_MAX. - * - * Due to internal implementation reasons, the coding cannot - * be continued even if more memory were made available after - * LZMA_MEM_ERROR. - */ - - LZMA_MEMLIMIT_ERROR = 6, - /** - * \brief Memory usage limit was reached - * - * Decoder would need more memory than allowed by the - * specified memory usage limit. To continue decoding, - * the memory usage limit has to be increased with - * lzma_memlimit_set(). - */ - - LZMA_FORMAT_ERROR = 7, - /**< - * \brief File format not recognized - * - * The decoder did not recognize the input as supported file - * format. This error can occur, for example, when trying to - * decode .lzma format file with lzma_stream_decoder, - * because lzma_stream_decoder accepts only the .xz format. - */ - - LZMA_OPTIONS_ERROR = 8, - /**< - * \brief Invalid or unsupported options - * - * Invalid or unsupported options, for example - * - unsupported filter(s) or filter options; or - * - reserved bits set in headers (decoder only). - * - * Rebuilding liblzma with more features enabled, or - * upgrading to a newer version of liblzma may help. - */ - - LZMA_DATA_ERROR = 9, - /**< - * \brief Data is corrupt - * - * The usage of this return value is different in encoders - * and decoders. In both encoder and decoder, the coding - * cannot continue after this error. - * - * Encoders return this if size limits of the target file - * format would be exceeded. These limits are huge, thus - * getting this error from an encoder is mostly theoretical. - * For example, the maximum compressed and uncompressed - * size of a .xz Stream is roughly 8 EiB (2^63 bytes). - * - * Decoders return this error if the input data is corrupt. - * This can mean, for example, invalid CRC32 in headers - * or invalid check of uncompressed data. - */ - - LZMA_BUF_ERROR = 10, - /**< - * \brief No progress is possible - * - * This error code is returned when the coder cannot consume - * any new input and produce any new output. The most common - * reason for this error is that the input stream being - * decoded is truncated or corrupt. - * - * This error is not fatal. Coding can be continued normally - * by providing more input and/or more output space, if - * possible. - * - * Typically the first call to lzma_code() that can do no - * progress returns LZMA_OK instead of LZMA_BUF_ERROR. Only - * the second consecutive call doing no progress will return - * LZMA_BUF_ERROR. This is intentional. - * - * With zlib, Z_BUF_ERROR may be returned even if the - * application is doing nothing wrong, so apps will need - * to handle Z_BUF_ERROR specially. The above hack - * guarantees that liblzma never returns LZMA_BUF_ERROR - * to properly written applications unless the input file - * is truncated or corrupt. This should simplify the - * applications a little. - */ - - LZMA_PROG_ERROR = 11, - /**< - * \brief Programming error - * - * This indicates that the arguments given to the function are - * invalid or the internal state of the decoder is corrupt. - * - Function arguments are invalid or the structures - * pointed by the argument pointers are invalid - * e.g. if strm->next_out has been set to NULL and - * strm->avail_out > 0 when calling lzma_code(). - * - lzma_* functions have been called in wrong order - * e.g. lzma_code() was called right after lzma_end(). - * - If errors occur randomly, the reason might be flaky - * hardware. - * - * If you think that your code is correct, this error code - * can be a sign of a bug in liblzma. See the documentation - * how to report bugs. - */ -} lzma_ret; - - -/** - * \brief The `action' argument for lzma_code() - * - * After the first use of LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, or LZMA_FINISH, - * the same `action' must is used until lzma_code() returns LZMA_STREAM_END. - * Also, the amount of input (that is, strm->avail_in) must not be modified - * by the application until lzma_code() returns LZMA_STREAM_END. Changing the - * `action' or modifying the amount of input will make lzma_code() return - * LZMA_PROG_ERROR. - */ -typedef enum { - LZMA_RUN = 0, - /**< - * \brief Continue coding - * - * Encoder: Encode as much input as possible. Some internal - * buffering will probably be done (depends on the filter - * chain in use), which causes latency: the input used won't - * usually be decodeable from the output of the same - * lzma_code() call. - * - * Decoder: Decode as much input as possible and produce as - * much output as possible. - */ - - LZMA_SYNC_FLUSH = 1, - /**< - * \brief Make all the input available at output - * - * Normally the encoder introduces some latency. - * LZMA_SYNC_FLUSH forces all the buffered data to be - * available at output without resetting the internal - * state of the encoder. This way it is possible to use - * compressed stream for example for communication over - * network. - * - * Only some filters support LZMA_SYNC_FLUSH. Trying to use - * LZMA_SYNC_FLUSH with filters that don't support it will - * make lzma_code() return LZMA_OPTIONS_ERROR. For example, - * LZMA1 doesn't support LZMA_SYNC_FLUSH but LZMA2 does. - * - * Using LZMA_SYNC_FLUSH very often can dramatically reduce - * the compression ratio. With some filters (for example, - * LZMA2), fine-tuning the compression options may help - * mitigate this problem significantly (for example, - * match finder with LZMA2). - * - * Decoders don't support LZMA_SYNC_FLUSH. - */ - - LZMA_FULL_FLUSH = 2, - /**< - * \brief Finish encoding of the current Block - * - * All the input data going to the current Block must have - * been given to the encoder (the last bytes can still be - * pending in* next_in). Call lzma_code() with LZMA_FULL_FLUSH - * until it returns LZMA_STREAM_END. Then continue normally - * with LZMA_RUN or finish the Stream with LZMA_FINISH. - * - * This action is currently supported only by Stream encoder - * and easy encoder (which uses Stream encoder). If there is - * no unfinished Block, no empty Block is created. - */ - - LZMA_FINISH = 3 - /**< - * \brief Finish the coding operation - * - * All the input data must have been given to the encoder - * (the last bytes can still be pending in next_in). - * Call lzma_code() with LZMA_FINISH until it returns - * LZMA_STREAM_END. Once LZMA_FINISH has been used, - * the amount of input must no longer be changed by - * the application. - * - * When decoding, using LZMA_FINISH is optional unless the - * LZMA_CONCATENATED flag was used when the decoder was - * initialized. When LZMA_CONCATENATED was not used, the only - * effect of LZMA_FINISH is that the amount of input must not - * be changed just like in the encoder. - */ -} lzma_action; - - -/** - * \brief Custom functions for memory handling - * - * A pointer to lzma_allocator may be passed via lzma_stream structure - * to liblzma, and some advanced functions take a pointer to lzma_allocator - * as a separate function argument. The library will use the functions - * specified in lzma_allocator for memory handling instead of the default - * malloc() and free(). C++ users should note that the custom memory - * handling functions must not throw exceptions. - * - * liblzma doesn't make an internal copy of lzma_allocator. Thus, it is - * OK to change these function pointers in the middle of the coding - * process, but obviously it must be done carefully to make sure that the - * replacement `free' can deallocate memory allocated by the earlier - * `alloc' function(s). - */ -typedef struct { - /** - * \brief Pointer to a custom memory allocation function - * - * If you don't want a custom allocator, but still want - * custom free(), set this to NULL and liblzma will use - * the standard malloc(). - * - * \param opaque lzma_allocator.opaque (see below) - * \param nmemb Number of elements like in calloc(). liblzma - * will always set nmemb to 1, so it is safe to - * ignore nmemb in a custom allocator if you like. - * The nmemb argument exists only for - * compatibility with zlib and libbzip2. - * \param size Size of an element in bytes. - * liblzma never sets this to zero. - * - * \return Pointer to the beginning of a memory block of - * `size' bytes, or NULL if allocation fails - * for some reason. When allocation fails, functions - * of liblzma return LZMA_MEM_ERROR. - * - * The allocator should not waste time zeroing the allocated buffers. - * This is not only about speed, but also memory usage, since the - * operating system kernel doesn't necessarily allocate the requested - * memory in physical memory until it is actually used. With small - * input files, liblzma may actually need only a fraction of the - * memory that it requested for allocation. - * - * \note LZMA_MEM_ERROR is also used when the size of the - * allocation would be greater than SIZE_MAX. Thus, - * don't assume that the custom allocator must have - * returned NULL if some function from liblzma - * returns LZMA_MEM_ERROR. - */ - void *(LZMA_API_CALL *alloc)(void *opaque, size_t nmemb, size_t size); - - /** - * \brief Pointer to a custom memory freeing function - * - * If you don't want a custom freeing function, but still - * want a custom allocator, set this to NULL and liblzma - * will use the standard free(). - * - * \param opaque lzma_allocator.opaque (see below) - * \param ptr Pointer returned by lzma_allocator.alloc(), - * or when it is set to NULL, a pointer returned - * by the standard malloc(). - */ - void (LZMA_API_CALL *free)(void *opaque, void *ptr); - - /** - * \brief Pointer passed to .alloc() and .free() - * - * opaque is passed as the first argument to lzma_allocator.alloc() - * and lzma_allocator.free(). This intended to ease implementing - * custom memory allocation functions for use with liblzma. - * - * If you don't need this, you should set this to NULL. - */ - void *opaque; - -} lzma_allocator; - - -/** - * \brief Internal data structure - * - * The contents of this structure is not visible outside the library. - */ -typedef struct lzma_internal_s lzma_internal; - - -/** - * \brief Passing data to and from liblzma - * - * The lzma_stream structure is used for - * - passing pointers to input and output buffers to liblzma; - * - defining custom memory hander functions; and - * - holding a pointer to coder-specific internal data structures. - * - * Typical usage: - * - * - After allocating lzma_stream (on stack or with malloc()), it must be - * initialized to LZMA_STREAM_INIT (see LZMA_STREAM_INIT for details). - * - * - Initialize a coder to the lzma_stream, for example by using - * lzma_easy_encoder() or lzma_auto_decoder(). Some notes: - * - In contrast to zlib, strm->next_in and strm->next_out are - * ignored by all initialization functions, thus it is safe - * to not initialize them yet. - * - The initialization functions always set strm->total_in and - * strm->total_out to zero. - * - If the initialization function fails, no memory is left allocated - * that would require freeing with lzma_end() even if some memory was - * associated with the lzma_stream structure when the initialization - * function was called. - * - * - Use lzma_code() to do the actual work. - * - * - Once the coding has been finished, the existing lzma_stream can be - * reused. It is OK to reuse lzma_stream with different initialization - * function without calling lzma_end() first. Old allocations are - * automatically freed. - * - * - Finally, use lzma_end() to free the allocated memory. lzma_end() never - * frees the lzma_stream structure itself. - * - * Application may modify the values of total_in and total_out as it wants. - * They are updated by liblzma to match the amount of data read and - * written, but aren't used for anything else. - */ -typedef struct { - const uint8_t *next_in; /**< Pointer to the next input byte. */ - size_t avail_in; /**< Number of available input bytes in next_in. */ - uint64_t total_in; /**< Total number of bytes read by liblzma. */ - - uint8_t *next_out; /**< Pointer to the next output position. */ - size_t avail_out; /**< Amount of free space in next_out. */ - uint64_t total_out; /**< Total number of bytes written by liblzma. */ - - /** - * \brief Custom memory allocation functions - * - * In most cases this is NULL which makes liblzma use - * the standard malloc() and free(). - */ - lzma_allocator *allocator; - - /** Internal state is not visible to applications. */ - lzma_internal *internal; - - /* - * Reserved space to allow possible future extensions without - * breaking the ABI. Excluding the initialization of this structure, - * you should not touch these, because the names of these variables - * may change. - */ - void *reserved_ptr1; - void *reserved_ptr2; - void *reserved_ptr3; - void *reserved_ptr4; - uint64_t reserved_int1; - uint64_t reserved_int2; - size_t reserved_int3; - size_t reserved_int4; - lzma_reserved_enum reserved_enum1; - lzma_reserved_enum reserved_enum2; - -} lzma_stream; - - -/** - * \brief Initialization for lzma_stream - * - * When you declare an instance of lzma_stream, you can immediately - * initialize it so that initialization functions know that no memory - * has been allocated yet: - * - * lzma_stream strm = LZMA_STREAM_INIT; - * - * If you need to initialize a dynamically allocated lzma_stream, you can use - * memset(strm_pointer, 0, sizeof(lzma_stream)). Strictly speaking, this - * violates the C standard since NULL may have different internal - * representation than zero, but it should be portable enough in practice. - * Anyway, for maximum portability, you can use something like this: - * - * lzma_stream tmp = LZMA_STREAM_INIT; - * *strm = tmp; - */ -#define LZMA_STREAM_INIT \ - { NULL, 0, 0, NULL, 0, 0, NULL, NULL, \ - NULL, NULL, NULL, NULL, 0, 0, 0, 0, \ - LZMA_RESERVED_ENUM, LZMA_RESERVED_ENUM } - - -/** - * \brief Encode or decode data - * - * Once the lzma_stream has been successfully initialized (e.g. with - * lzma_stream_encoder()), the actual encoding or decoding is done - * using this function. The application has to update strm->next_in, - * strm->avail_in, strm->next_out, and strm->avail_out to pass input - * to and get output from liblzma. - * - * See the description of the coder-specific initialization function to find - * out what `action' values are supported by the coder. - */ -extern LZMA_API(lzma_ret) lzma_code(lzma_stream *strm, lzma_action action) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Free memory allocated for the coder data structures - * - * \param strm Pointer to lzma_stream that is at least initialized - * with LZMA_STREAM_INIT. - * - * After lzma_end(strm), strm->internal is guaranteed to be NULL. No other - * members of the lzma_stream structure are touched. - * - * \note zlib indicates an error if application end()s unfinished - * stream structure. liblzma doesn't do this, and assumes that - * application knows what it is doing. - */ -extern LZMA_API(void) lzma_end(lzma_stream *strm) lzma_nothrow; - - -/** - * \brief Get the memory usage of decoder filter chain - * - * This function is currently supported only when *strm has been initialized - * with a function that takes a memlimit argument. With other functions, you - * should use e.g. lzma_raw_encoder_memusage() or lzma_raw_decoder_memusage() - * to estimate the memory requirements. - * - * This function is useful e.g. after LZMA_MEMLIMIT_ERROR to find out how big - * the memory usage limit should have been to decode the input. Note that - * this may give misleading information if decoding .xz Streams that have - * multiple Blocks, because each Block can have different memory requirements. - * - * \return How much memory is currently allocated for the filter - * decoders. If no filter chain is currently allocated, - * some non-zero value is still returned, which is less than - * or equal to what any filter chain would indicate as its - * memory requirement. - * - * If this function isn't supported by *strm or some other error - * occurs, zero is returned. - */ -extern LZMA_API(uint64_t) lzma_memusage(const lzma_stream *strm) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the current memory usage limit - * - * This function is supported only when *strm has been initialized with - * a function that takes a memlimit argument. - * - * \return On success, the current memory usage limit is returned - * (always non-zero). On error, zero is returned. - */ -extern LZMA_API(uint64_t) lzma_memlimit_get(const lzma_stream *strm) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Set the memory usage limit - * - * This function is supported only when *strm has been initialized with - * a function that takes a memlimit argument. - * - * \return - LZMA_OK: New memory usage limit successfully set. - * - LZMA_MEMLIMIT_ERROR: The new limit is too small. - * The limit was not changed. - * - LZMA_PROG_ERROR: Invalid arguments, e.g. *strm doesn't - * support memory usage limit or memlimit was zero. - */ -extern LZMA_API(lzma_ret) lzma_memlimit_set( - lzma_stream *strm, uint64_t memlimit) lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/bcj.h b/Build/source/extra/xz/src/liblzma/api/lzma/bcj.h deleted file mode 100644 index 8e37538ad4a..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/bcj.h +++ /dev/null @@ -1,90 +0,0 @@ -/** - * \file lzma/bcj.h - * \brief Branch/Call/Jump conversion filters - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/* Filter IDs for lzma_filter.id */ - -#define LZMA_FILTER_X86 LZMA_VLI_C(0x04) - /**< - * Filter for x86 binaries - */ - -#define LZMA_FILTER_POWERPC LZMA_VLI_C(0x05) - /**< - * Filter for Big endian PowerPC binaries - */ - -#define LZMA_FILTER_IA64 LZMA_VLI_C(0x06) - /**< - * Filter for IA-64 (Itanium) binaries. - */ - -#define LZMA_FILTER_ARM LZMA_VLI_C(0x07) - /**< - * Filter for ARM binaries. - */ - -#define LZMA_FILTER_ARMTHUMB LZMA_VLI_C(0x08) - /**< - * Filter for ARM-Thumb binaries. - */ - -#define LZMA_FILTER_SPARC LZMA_VLI_C(0x09) - /**< - * Filter for SPARC binaries. - */ - - -/** - * \brief Options for BCJ filters - * - * The BCJ filters never change the size of the data. Specifying options - * for them is optional: if pointer to options is NULL, default value is - * used. You probably never need to specify options to BCJ filters, so just - * set the options pointer to NULL and be happy. - * - * If options with non-default values have been specified when encoding, - * the same options must also be specified when decoding. - * - * \note At the moment, none of the BCJ filters support - * LZMA_SYNC_FLUSH. If LZMA_SYNC_FLUSH is specified, - * LZMA_OPTIONS_ERROR will be returned. If there is need, - * partial support for LZMA_SYNC_FLUSH can be added in future. - * Partial means that flushing would be possible only at - * offsets that are multiple of 2, 4, or 16 depending on - * the filter, except x86 which cannot be made to support - * LZMA_SYNC_FLUSH predictably. - */ -typedef struct { - /** - * \brief Start offset for conversions - * - * This setting is useful only when the same filter is used - * _separately_ for multiple sections of the same executable file, - * and the sections contain cross-section branch/call/jump - * instructions. In that case it is beneficial to set the start - * offset of the non-first sections so that the relative addresses - * of the cross-section branch/call/jump instructions will use the - * same absolute addresses as in the first section. - * - * When the pointer to options is NULL, the default value (zero) - * is used. - */ - uint32_t start_offset; - -} lzma_options_bcj; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/block.h b/Build/source/extra/xz/src/liblzma/api/lzma/block.h deleted file mode 100644 index 8a4bf2323cc..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/block.h +++ /dev/null @@ -1,530 +0,0 @@ -/** - * \file lzma/block.h - * \brief .xz Block handling - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Options for the Block and Block Header encoders and decoders - * - * Different Block handling functions use different parts of this structure. - * Some read some members, other functions write, and some do both. Only the - * members listed for reading need to be initialized when the specified - * functions are called. The members marked for writing will be assigned - * new values at some point either by calling the given function or by - * later calls to lzma_code(). - */ -typedef struct { - /** - * \brief Block format version - * - * To prevent API and ABI breakages if new features are needed in - * the Block field, a version number is used to indicate which - * fields in this structure are in use. For now, version must always - * be zero. With non-zero version, most Block related functions will - * return LZMA_OPTIONS_ERROR. - * - * Read by: - * - All functions that take pointer to lzma_block as argument, - * including lzma_block_header_decode(). - * - * Written by: - * - lzma_block_header_decode() - */ - uint32_t version; - - /** - * \brief Size of the Block Header field - * - * This is always a multiple of four. - * - * Read by: - * - lzma_block_header_encode() - * - lzma_block_header_decode() - * - lzma_block_compressed_size() - * - lzma_block_unpadded_size() - * - lzma_block_total_size() - * - lzma_block_decoder() - * - lzma_block_buffer_decode() - * - * Written by: - * - lzma_block_header_size() - * - lzma_block_buffer_encode() - */ - uint32_t header_size; -# define LZMA_BLOCK_HEADER_SIZE_MIN 8 -# define LZMA_BLOCK_HEADER_SIZE_MAX 1024 - - /** - * \brief Type of integrity Check - * - * The Check ID is not stored into the Block Header, thus its value - * must be provided also when decoding. - * - * Read by: - * - lzma_block_header_encode() - * - lzma_block_header_decode() - * - lzma_block_compressed_size() - * - lzma_block_unpadded_size() - * - lzma_block_total_size() - * - lzma_block_encoder() - * - lzma_block_decoder() - * - lzma_block_buffer_encode() - * - lzma_block_buffer_decode() - */ - lzma_check check; - - /** - * \brief Size of the Compressed Data in bytes - * - * Encoding: If this is not LZMA_VLI_UNKNOWN, Block Header encoder - * will store this value to the Block Header. Block encoder doesn't - * care about this value, but will set it once the encoding has been - * finished. - * - * Decoding: If this is not LZMA_VLI_UNKNOWN, Block decoder will - * verify that the size of the Compressed Data field matches - * compressed_size. - * - * Usually you don't know this value when encoding in streamed mode, - * and thus cannot write this field into the Block Header. - * - * In non-streamed mode you can reserve space for this field before - * encoding the actual Block. After encoding the data, finish the - * Block by encoding the Block Header. Steps in detail: - * - * - Set compressed_size to some big enough value. If you don't know - * better, use LZMA_VLI_MAX, but remember that bigger values take - * more space in Block Header. - * - * - Call lzma_block_header_size() to see how much space you need to - * reserve for the Block Header. - * - * - Encode the Block using lzma_block_encoder() and lzma_code(). - * It sets compressed_size to the correct value. - * - * - Use lzma_block_header_encode() to encode the Block Header. - * Because space was reserved in the first step, you don't need - * to call lzma_block_header_size() anymore, because due to - * reserving, header_size has to be big enough. If it is "too big", - * lzma_block_header_encode() will add enough Header Padding to - * make Block Header to match the size specified by header_size. - * - * Read by: - * - lzma_block_header_size() - * - lzma_block_header_encode() - * - lzma_block_compressed_size() - * - lzma_block_unpadded_size() - * - lzma_block_total_size() - * - lzma_block_decoder() - * - lzma_block_buffer_decode() - * - * Written by: - * - lzma_block_header_decode() - * - lzma_block_compressed_size() - * - lzma_block_encoder() - * - lzma_block_decoder() - * - lzma_block_buffer_encode() - * - lzma_block_buffer_decode() - */ - lzma_vli compressed_size; - - /** - * \brief Uncompressed Size in bytes - * - * This is handled very similarly to compressed_size above. - * - * uncompressed_size is needed by fewer functions than - * compressed_size. This is because uncompressed_size isn't - * needed to validate that Block stays within proper limits. - * - * Read by: - * - lzma_block_header_size() - * - lzma_block_header_encode() - * - lzma_block_decoder() - * - lzma_block_buffer_decode() - * - * Written by: - * - lzma_block_header_decode() - * - lzma_block_encoder() - * - lzma_block_decoder() - * - lzma_block_buffer_encode() - * - lzma_block_buffer_decode() - */ - lzma_vli uncompressed_size; - - /** - * \brief Array of filters - * - * There can be 1-4 filters. The end of the array is marked with - * .id = LZMA_VLI_UNKNOWN. - * - * Read by: - * - lzma_block_header_size() - * - lzma_block_header_encode() - * - lzma_block_encoder() - * - lzma_block_decoder() - * - lzma_block_buffer_encode() - * - lzma_block_buffer_decode() - * - * Written by: - * - lzma_block_header_decode(): Note that this does NOT free() - * the old filter options structures. All unused filters[] will - * have .id == LZMA_VLI_UNKNOWN and .options == NULL. If - * decoding fails, all filters[] are guaranteed to be - * LZMA_VLI_UNKNOWN and NULL. - * - * \note Because of the array is terminated with - * .id = LZMA_VLI_UNKNOWN, the actual array must - * have LZMA_FILTERS_MAX + 1 members or the Block - * Header decoder will overflow the buffer. - */ - lzma_filter *filters; - - /** - * \brief Raw value stored in the Check field - * - * After successful coding, the first lzma_check_size(check) bytes - * of this array contain the raw value stored in the Check field. - * - * Note that CRC32 and CRC64 are stored in little endian byte order. - * Take it into account if you display the Check values to the user. - * - * Written by: - * - lzma_block_encoder() - * - lzma_block_decoder() - * - lzma_block_buffer_encode() - * - lzma_block_buffer_decode() - */ - uint8_t raw_check[LZMA_CHECK_SIZE_MAX]; - - /* - * Reserved space to allow possible future extensions without - * breaking the ABI. You should not touch these, because the names - * of these variables may change. These are and will never be used - * with the currently supported options, so it is safe to leave these - * uninitialized. - */ - void *reserved_ptr1; - void *reserved_ptr2; - void *reserved_ptr3; - uint32_t reserved_int1; - uint32_t reserved_int2; - lzma_vli reserved_int3; - lzma_vli reserved_int4; - lzma_vli reserved_int5; - lzma_vli reserved_int6; - lzma_vli reserved_int7; - lzma_vli reserved_int8; - lzma_reserved_enum reserved_enum1; - lzma_reserved_enum reserved_enum2; - lzma_reserved_enum reserved_enum3; - lzma_reserved_enum reserved_enum4; - lzma_bool reserved_bool1; - lzma_bool reserved_bool2; - lzma_bool reserved_bool3; - lzma_bool reserved_bool4; - lzma_bool reserved_bool5; - lzma_bool reserved_bool6; - lzma_bool reserved_bool7; - lzma_bool reserved_bool8; - -} lzma_block; - - -/** - * \brief Decode the Block Header Size field - * - * To decode Block Header using lzma_block_header_decode(), the size of the - * Block Header has to be known and stored into lzma_block.header_size. - * The size can be calculated from the first byte of a Block using this macro. - * Note that if the first byte is 0x00, it indicates beginning of Index; use - * this macro only when the byte is not 0x00. - * - * There is no encoding macro, because Block Header encoder is enough for that. - */ -#define lzma_block_header_size_decode(b) (((uint32_t)(b) + 1) * 4) - - -/** - * \brief Calculate Block Header Size - * - * Calculate the minimum size needed for the Block Header field using the - * settings specified in the lzma_block structure. Note that it is OK to - * increase the calculated header_size value as long as it is a multiple of - * four and doesn't exceed LZMA_BLOCK_HEADER_SIZE_MAX. Increasing header_size - * just means that lzma_block_header_encode() will add Header Padding. - * - * \return - LZMA_OK: Size calculated successfully and stored to - * block->header_size. - * - LZMA_OPTIONS_ERROR: Unsupported version, filters or - * filter options. - * - LZMA_PROG_ERROR: Invalid values like compressed_size == 0. - * - * \note This doesn't check that all the options are valid i.e. this - * may return LZMA_OK even if lzma_block_header_encode() or - * lzma_block_encoder() would fail. If you want to validate the - * filter chain, consider using lzma_memlimit_encoder() which as - * a side-effect validates the filter chain. - */ -extern LZMA_API(lzma_ret) lzma_block_header_size(lzma_block *block) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Encode Block Header - * - * The caller must have calculated the size of the Block Header already with - * lzma_block_header_size(). If a value larger than the one calculated by - * lzma_block_header_size() is used, the Block Header will be padded to the - * specified size. - * - * \param out Beginning of the output buffer. This must be - * at least block->header_size bytes. - * \param block Block options to be encoded. - * - * \return - LZMA_OK: Encoding was successful. block->header_size - * bytes were written to output buffer. - * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. - * - LZMA_PROG_ERROR: Invalid arguments, for example - * block->header_size is invalid or block->filters is NULL. - */ -extern LZMA_API(lzma_ret) lzma_block_header_encode( - const lzma_block *block, uint8_t *out) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode Block Header - * - * block->version should be set to the highest value supported by the - * application; currently the only possible version is zero. This function - * will set version to the lowest value that still supports all the features - * required by the Block Header. - * - * The size of the Block Header must have already been decoded with - * lzma_block_header_size_decode() macro and stored to block->header_size. - * - * block->filters must have been allocated, but they don't need to be - * initialized (possible existing filter options are not freed). - * - * \param block Destination for Block options. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() (and also free() - * if an error occurs). - * \param in Beginning of the input buffer. This must be - * at least block->header_size bytes. - * - * \return - LZMA_OK: Decoding was successful. block->header_size - * bytes were read from the input buffer. - * - LZMA_OPTIONS_ERROR: The Block Header specifies some - * unsupported options such as unsupported filters. This can - * happen also if block->version was set to a too low value - * compared to what would be required to properly represent - * the information stored in the Block Header. - * - LZMA_DATA_ERROR: Block Header is corrupt, for example, - * the CRC32 doesn't match. - * - LZMA_PROG_ERROR: Invalid arguments, for example - * block->header_size is invalid or block->filters is NULL. - */ -extern LZMA_API(lzma_ret) lzma_block_header_decode(lzma_block *block, - lzma_allocator *allocator, const uint8_t *in) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Validate and set Compressed Size according to Unpadded Size - * - * Block Header stores Compressed Size, but Index has Unpadded Size. If the - * application has already parsed the Index and is now decoding Blocks, - * it can calculate Compressed Size from Unpadded Size. This function does - * exactly that with error checking: - * - * - Compressed Size calculated from Unpadded Size must be positive integer, - * that is, Unpadded Size must be big enough that after Block Header and - * Check fields there's still at least one byte for Compressed Size. - * - * - If Compressed Size was present in Block Header, the new value - * calculated from Unpadded Size is compared against the value - * from Block Header. - * - * \note This function must be called _after_ decoding the Block Header - * field so that it can properly validate Compressed Size if it - * was present in Block Header. - * - * \return - LZMA_OK: block->compressed_size was set successfully. - * - LZMA_DATA_ERROR: unpadded_size is too small compared to - * block->header_size and lzma_check_size(block->check). - * - LZMA_PROG_ERROR: Some values are invalid. For example, - * block->header_size must be a multiple of four and - * between 8 and 1024 inclusive. - */ -extern LZMA_API(lzma_ret) lzma_block_compressed_size( - lzma_block *block, lzma_vli unpadded_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Calculate Unpadded Size - * - * The Index field stores Unpadded Size and Uncompressed Size. The latter - * can be taken directly from the lzma_block structure after coding a Block, - * but Unpadded Size needs to be calculated from Block Header Size, - * Compressed Size, and size of the Check field. This is where this function - * is needed. - * - * \return Unpadded Size on success, or zero on error. - */ -extern LZMA_API(lzma_vli) lzma_block_unpadded_size(const lzma_block *block) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Calculate the total encoded size of a Block - * - * This is equivalent to lzma_block_unpadded_size() except that the returned - * value includes the size of the Block Padding field. - * - * \return On success, total encoded size of the Block. On error, - * zero is returned. - */ -extern LZMA_API(lzma_vli) lzma_block_total_size(const lzma_block *block) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Initialize .xz Block encoder - * - * Valid actions for lzma_code() are LZMA_RUN, LZMA_SYNC_FLUSH (only if the - * filter chain supports it), and LZMA_FINISH. - * - * \return - LZMA_OK: All good, continue with lzma_code(). - * - LZMA_MEM_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_UNSUPPORTED_CHECK: block->check specifies a Check ID - * that is not supported by this buid of liblzma. Initializing - * the encoder failed. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_block_encoder( - lzma_stream *strm, lzma_block *block) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize .xz Block decoder - * - * Valid actions for lzma_code() are LZMA_RUN and LZMA_FINISH. Using - * LZMA_FINISH is not required. It is supported only for convenience. - * - * \return - LZMA_OK: All good, continue with lzma_code(). - * - LZMA_UNSUPPORTED_CHECK: Initialization was successful, but - * the given Check ID is not supported, thus Check will be - * ignored. - * - LZMA_PROG_ERROR - * - LZMA_MEM_ERROR - */ -extern LZMA_API(lzma_ret) lzma_block_decoder( - lzma_stream *strm, lzma_block *block) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Calculate maximum output size for single-call Block encoding - * - * This is equivalent to lzma_stream_buffer_bound() but for .xz Blocks. - * See the documentation of lzma_stream_buffer_bound(). - */ -extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_size) - lzma_nothrow; - - -/** - * \brief Single-call .xz Block encoder - * - * In contrast to the multi-call encoder initialized with - * lzma_block_encoder(), this function encodes also the Block Header. This - * is required to make it possible to write appropriate Block Header also - * in case the data isn't compressible, and different filter chain has to be - * used to encode the data in uncompressed form using uncompressed chunks - * of the LZMA2 filter. - * - * When the data isn't compressible, header_size, compressed_size, and - * uncompressed_size are set just like when the data was compressible, but - * it is possible that header_size is too small to hold the filter chain - * specified in block->filters, because that isn't necessarily the filter - * chain that was actually used to encode the data. lzma_block_unpadded_size() - * still works normally, because it doesn't read the filters array. - * - * \param block Block options: block->version, block->check, - * and block->filters must have been initialized. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_size Size of the input buffer - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_BUF_ERROR: Not enough output buffer space. - * - LZMA_UNSUPPORTED_CHECK - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - * - LZMA_DATA_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_block_buffer_encode( - lzma_block *block, lzma_allocator *allocator, - const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Single-call .xz Block decoder - * - * This is single-call equivalent of lzma_block_decoder(), and requires that - * the caller has already decoded Block Header and checked its memory usage. - * - * \param block Block options just like with lzma_block_decoder(). - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_pos The next byte will be read from in[*in_pos]. - * *in_pos is updated only if decoding succeeds. - * \param in_size Size of the input buffer; the first byte that - * won't be read is in[in_size]. - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Decoding was successful. - * - LZMA_OPTIONS_ERROR - * - LZMA_DATA_ERROR - * - LZMA_MEM_ERROR - * - LZMA_BUF_ERROR: Output buffer was too small. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_block_buffer_decode( - lzma_block *block, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) - lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/check.h b/Build/source/extra/xz/src/liblzma/api/lzma/check.h deleted file mode 100644 index 6a243db0d79..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/check.h +++ /dev/null @@ -1,150 +0,0 @@ -/** - * \file lzma/check.h - * \brief Integrity checks - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Type of the integrity check (Check ID) - * - * The .xz format supports multiple types of checks that are calculated - * from the uncompressed data. They vary in both speed and ability to - * detect errors. - */ -typedef enum { - LZMA_CHECK_NONE = 0, - /**< - * No Check is calculated. - * - * Size of the Check field: 0 bytes - */ - - LZMA_CHECK_CRC32 = 1, - /**< - * CRC32 using the polynomial from the IEEE 802.3 standard - * - * Size of the Check field: 4 bytes - */ - - LZMA_CHECK_CRC64 = 4, - /**< - * CRC64 using the polynomial from the ECMA-182 standard - * - * Size of the Check field: 8 bytes - */ - - LZMA_CHECK_SHA256 = 10 - /**< - * SHA-256 - * - * Size of the Check field: 32 bytes - */ -} lzma_check; - - -/** - * \brief Maximum valid Check ID - * - * The .xz file format specification specifies 16 Check IDs (0-15). Some - * of them are only reserved, that is, no actual Check algorithm has been - * assigned. When decoding, liblzma still accepts unknown Check IDs for - * future compatibility. If a valid but unsupported Check ID is detected, - * liblzma can indicate a warning; see the flags LZMA_TELL_NO_CHECK, - * LZMA_TELL_UNSUPPORTED_CHECK, and LZMA_TELL_ANY_CHECK in container.h. - */ -#define LZMA_CHECK_ID_MAX 15 - - -/** - * \brief Test if the given Check ID is supported - * - * Return true if the given Check ID is supported by this liblzma build. - * Otherwise false is returned. It is safe to call this with a value that - * is not in the range [0, 15]; in that case the return value is always false. - * - * You can assume that LZMA_CHECK_NONE and LZMA_CHECK_CRC32 are always - * supported (even if liblzma is built with limited features). - */ -extern LZMA_API(lzma_bool) lzma_check_is_supported(lzma_check check) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Get the size of the Check field with the given Check ID - * - * Although not all Check IDs have a check algorithm associated, the size of - * every Check is already frozen. This function returns the size (in bytes) of - * the Check field with the specified Check ID. The values are: - * { 0, 4, 4, 4, 8, 8, 8, 16, 16, 16, 32, 32, 32, 64, 64, 64 } - * - * If the argument is not in the range [0, 15], UINT32_MAX is returned. - */ -extern LZMA_API(uint32_t) lzma_check_size(lzma_check check) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Maximum size of a Check field - */ -#define LZMA_CHECK_SIZE_MAX 64 - - -/** - * \brief Calculate CRC32 - * - * Calculate CRC32 using the polynomial from the IEEE 802.3 standard. - * - * \param buf Pointer to the input buffer - * \param size Size of the input buffer - * \param crc Previously returned CRC value. This is used to - * calculate the CRC of a big buffer in smaller chunks. - * Set to zero when starting a new calculation. - * - * \return Updated CRC value, which can be passed to this function - * again to continue CRC calculation. - */ -extern LZMA_API(uint32_t) lzma_crc32( - const uint8_t *buf, size_t size, uint32_t crc) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Calculate CRC64 - * - * Calculate CRC64 using the polynomial from the ECMA-182 standard. - * - * This function is used similarly to lzma_crc32(). See its documentation. - */ -extern LZMA_API(uint64_t) lzma_crc64( - const uint8_t *buf, size_t size, uint64_t crc) - lzma_nothrow lzma_attr_pure; - - -/* - * SHA-256 functions are currently not exported to public API. - * Contact Lasse Collin if you think it should be. - */ - - -/** - * \brief Get the type of the integrity check - * - * This function can be called only immediately after lzma_code() has - * returned LZMA_NO_CHECK, LZMA_UNSUPPORTED_CHECK, or LZMA_GET_CHECK. - * Calling this function in any other situation has undefined behavior. - */ -extern LZMA_API(lzma_check) lzma_get_check(const lzma_stream *strm) - lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/container.h b/Build/source/extra/xz/src/liblzma/api/lzma/container.h deleted file mode 100644 index 7a9ffc64578..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/container.h +++ /dev/null @@ -1,424 +0,0 @@ -/** - * \file lzma/container.h - * \brief File formats - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/************ - * Encoding * - ************/ - -/** - * \brief Default compression preset - * - * It's not straightforward to recommend a default preset, because in some - * cases keeping the resource usage relatively low is more important that - * getting the maximum compression ratio. - */ -#define LZMA_PRESET_DEFAULT UINT32_C(6) - - -/** - * \brief Mask for preset level - * - * This is useful only if you need to extract the level from the preset - * variable. That should be rare. - */ -#define LZMA_PRESET_LEVEL_MASK UINT32_C(0x1F) - - -/* - * Preset flags - * - * Currently only one flag is defined. - */ - -/** - * \brief Extreme compression preset - * - * This flag modifies the preset to make the encoding significantly slower - * while improving the compression ratio only marginally. This is useful - * when you don't mind wasting time to get as small result as possible. - * - * This flag doesn't affect the memory usage requirements of the decoder (at - * least not significantly). The memory usage of the encoder may be increased - * a little but only at the lowest preset levels (0-3). - */ -#define LZMA_PRESET_EXTREME (UINT32_C(1) << 31) - - -/** - * \brief Calculate approximate memory usage of easy encoder - * - * This function is a wrapper for lzma_raw_encoder_memusage(). - * - * \param preset Compression preset (level and possible flags) - * - * \return Number of bytes of memory required for the given - * preset when encoding. If an error occurs, for example - * due to unsupported preset, UINT64_MAX is returned. - */ -extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t preset) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Calculate approximate decoder memory usage of a preset - * - * This function is a wrapper for lzma_raw_decoder_memusage(). - * - * \param preset Compression preset (level and possible flags) - * - * \return Number of bytes of memory required to decompress a file - * that was compressed using the given preset. If an error - * occurs, for example due to unsupported preset, UINT64_MAX - * is returned. - */ -extern LZMA_API(uint64_t) lzma_easy_decoder_memusage(uint32_t preset) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Initialize .xz Stream encoder using a preset number - * - * This function is intended for those who just want to use the basic features - * if liblzma (that is, most developers out there). - * - * \param strm Pointer to lzma_stream that is at least initialized - * with LZMA_STREAM_INIT. - * \param preset Compression preset to use. A preset consist of level - * number and zero or more flags. Usually flags aren't - * used, so preset is simply a number [0, 9] which match - * the options -0 ... -9 of the xz command line tool. - * Additional flags can be be set using bitwise-or with - * the preset level number, e.g. 6 | LZMA_PRESET_EXTREME. - * \param check Integrity check type to use. See check.h for available - * checks. The xz command line tool defaults to - * LZMA_CHECK_CRC64, which is a good choice if you are - * unsure. LZMA_CHECK_CRC32 is good too as long as the - * uncompressed file is not many gigabytes. - * - * \return - LZMA_OK: Initialization succeeded. Use lzma_code() to - * encode your data. - * - LZMA_MEM_ERROR: Memory allocation failed. - * - LZMA_OPTIONS_ERROR: The given compression preset is not - * supported by this build of liblzma. - * - LZMA_UNSUPPORTED_CHECK: The given check type is not - * supported by this liblzma build. - * - LZMA_PROG_ERROR: One or more of the parameters have values - * that will never be valid. For example, strm == NULL. - * - * If initialization fails (return value is not LZMA_OK), all the memory - * allocated for *strm by liblzma is always freed. Thus, there is no need - * to call lzma_end() after failed initialization. - * - * If initialization succeeds, use lzma_code() to do the actual encoding. - * Valid values for `action' (the second argument of lzma_code()) are - * LZMA_RUN, LZMA_SYNC_FLUSH, LZMA_FULL_FLUSH, and LZMA_FINISH. In future, - * there may be compression levels or flags that don't support LZMA_SYNC_FLUSH. - */ -extern LZMA_API(lzma_ret) lzma_easy_encoder( - lzma_stream *strm, uint32_t preset, lzma_check check) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Single-call .xz Stream encoding using a preset number - * - * The maximum required output buffer size can be calculated with - * lzma_stream_buffer_bound(). - * - * \param preset Compression preset to use. See the description - * in lzma_easy_encoder(). - * \param check Type of the integrity check to calculate from - * uncompressed data. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_size Size of the input buffer - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_BUF_ERROR: Not enough output buffer space. - * - LZMA_UNSUPPORTED_CHECK - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - * - LZMA_DATA_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_easy_buffer_encode( - uint32_t preset, lzma_check check, - lzma_allocator *allocator, const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; - - -/** - * \brief Initialize .xz Stream encoder using a custom filter chain - * - * \param strm Pointer to properly prepared lzma_stream - * \param filters Array of filters. This must be terminated with - * filters[n].id = LZMA_VLI_UNKNOWN. See filter.h for - * more information. - * \param check Type of the integrity check to calculate from - * uncompressed data. - * - * \return - LZMA_OK: Initialization was successful. - * - LZMA_MEM_ERROR - * - LZMA_UNSUPPORTED_CHECK - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_stream_encoder(lzma_stream *strm, - const lzma_filter *filters, lzma_check check) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize .lzma encoder (legacy file format) - * - * The .lzma format is sometimes called the LZMA_Alone format, which is the - * reason for the name of this function. The .lzma format supports only the - * LZMA1 filter. There is no support for integrity checks like CRC32. - * - * Use this function if and only if you need to create files readable by - * legacy LZMA tools such as LZMA Utils 4.32.x. Moving to the .xz format - * is strongly recommended. - * - * The valid action values for lzma_code() are LZMA_RUN and LZMA_FINISH. - * No kind of flushing is supported, because the file format doesn't make - * it possible. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_alone_encoder( - lzma_stream *strm, const lzma_options_lzma *options) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Calculate output buffer size for single-call Stream encoder - * - * When trying to compress uncompressible data, the encoded size will be - * slightly bigger than the input data. This function calculates how much - * output buffer space is required to be sure that lzma_stream_buffer_encode() - * doesn't return LZMA_BUF_ERROR. - * - * The calculated value is not exact, but it is guaranteed to be big enough. - * The actual maximum output space required may be slightly smaller (up to - * about 100 bytes). This should not be a problem in practice. - * - * If the calculated maximum size doesn't fit into size_t or would make the - * Stream grow past LZMA_VLI_MAX (which should never happen in practice), - * zero is returned to indicate the error. - * - * \note The limit calculated by this function applies only to - * single-call encoding. Multi-call encoding may (and probably - * will) have larger maximum expansion when encoding - * uncompressible data. Currently there is no function to - * calculate the maximum expansion of multi-call encoding. - */ -extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_size) - lzma_nothrow; - - -/** - * \brief Single-call .xz Stream encoder - * - * \param filters Array of filters. This must be terminated with - * filters[n].id = LZMA_VLI_UNKNOWN. See filter.h - * for more information. - * \param check Type of the integrity check to calculate from - * uncompressed data. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_size Size of the input buffer - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_BUF_ERROR: Not enough output buffer space. - * - LZMA_UNSUPPORTED_CHECK - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - * - LZMA_DATA_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_stream_buffer_encode( - lzma_filter *filters, lzma_check check, - lzma_allocator *allocator, const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/************ - * Decoding * - ************/ - -/** - * This flag makes lzma_code() return LZMA_NO_CHECK if the input stream - * being decoded has no integrity check. Note that when used with - * lzma_auto_decoder(), all .lzma files will trigger LZMA_NO_CHECK - * if LZMA_TELL_NO_CHECK is used. - */ -#define LZMA_TELL_NO_CHECK UINT32_C(0x01) - - -/** - * This flag makes lzma_code() return LZMA_UNSUPPORTED_CHECK if the input - * stream has an integrity check, but the type of the integrity check is not - * supported by this liblzma version or build. Such files can still be - * decoded, but the integrity check cannot be verified. - */ -#define LZMA_TELL_UNSUPPORTED_CHECK UINT32_C(0x02) - - -/** - * This flag makes lzma_code() return LZMA_GET_CHECK as soon as the type - * of the integrity check is known. The type can then be got with - * lzma_get_check(). - */ -#define LZMA_TELL_ANY_CHECK UINT32_C(0x04) - - -/** - * This flag enables decoding of concatenated files with file formats that - * allow concatenating compressed files as is. From the formats currently - * supported by liblzma, only the .xz format allows concatenated files. - * Concatenated files are not allowed with the legacy .lzma format. - * - * This flag also affects the usage of the `action' argument for lzma_code(). - * When LZMA_CONCATENATED is used, lzma_code() won't return LZMA_STREAM_END - * unless LZMA_FINISH is used as `action'. Thus, the application has to set - * LZMA_FINISH in the same way as it does when encoding. - * - * If LZMA_CONCATENATED is not used, the decoders still accept LZMA_FINISH - * as `action' for lzma_code(), but the usage of LZMA_FINISH isn't required. - */ -#define LZMA_CONCATENATED UINT32_C(0x08) - - -/** - * \brief Initialize .xz Stream decoder - * - * \param strm Pointer to properly prepared lzma_stream - * \param memlimit Memory usage limit as bytes. Use UINT64_MAX - * to effectively disable the limiter. - * \param flags Bitwise-or of zero or more of the decoder flags: - * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, - * LZMA_TELL_ANY_CHECK, LZMA_CONCATENATED - * - * \return - LZMA_OK: Initialization was successful. - * - LZMA_MEM_ERROR: Cannot allocate memory. - * - LZMA_OPTIONS_ERROR: Unsupported flags - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_stream_decoder( - lzma_stream *strm, uint64_t memlimit, uint32_t flags) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode .xz Streams and .lzma files with autodetection - * - * This decoder autodetects between the .xz and .lzma file formats, and - * calls lzma_stream_decoder() or lzma_alone_decoder() once the type - * of the input file has been detected. - * - * \param strm Pointer to properly prepared lzma_stream - * \param memlimit Memory usage limit as bytes. Use UINT64_MAX - * to effectively disable the limiter. - * \param flags Bitwise-or of flags, or zero for no flags. - * - * \return - LZMA_OK: Initialization was successful. - * - LZMA_MEM_ERROR: Cannot allocate memory. - * - LZMA_OPTIONS_ERROR: Unsupported flags - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_auto_decoder( - lzma_stream *strm, uint64_t memlimit, uint32_t flags) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize .lzma decoder (legacy file format) - * - * Valid `action' arguments to lzma_code() are LZMA_RUN and LZMA_FINISH. - * There is no need to use LZMA_FINISH, but allowing it may simplify - * certain types of applications. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_alone_decoder( - lzma_stream *strm, uint64_t memlimit) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Single-call .xz Stream decoder - * - * \param memlimit Pointer to how much memory the decoder is allowed - * to allocate. The value pointed by this pointer is - * modified if and only if LZMA_MEMLIMIT_ERROR is - * returned. - * \param flags Bitwise-or of zero or more of the decoder flags: - * LZMA_TELL_NO_CHECK, LZMA_TELL_UNSUPPORTED_CHECK, - * LZMA_CONCATENATED. Note that LZMA_TELL_ANY_CHECK - * is not allowed and will return LZMA_PROG_ERROR. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_pos The next byte will be read from in[*in_pos]. - * *in_pos is updated only if decoding succeeds. - * \param in_size Size of the input buffer; the first byte that - * won't be read is in[in_size]. - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if decoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Decoding was successful. - * - LZMA_FORMAT_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_DATA_ERROR - * - LZMA_NO_CHECK: This can be returned only if using - * the LZMA_TELL_NO_CHECK flag. - * - LZMA_UNSUPPORTED_CHECK: This can be returned only if using - * the LZMA_TELL_UNSUPPORTED_CHECK flag. - * - LZMA_MEM_ERROR - * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. - * The minimum required memlimit value was stored to *memlimit. - * - LZMA_BUF_ERROR: Output buffer was too small. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_stream_buffer_decode( - uint64_t *memlimit, uint32_t flags, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) - lzma_nothrow lzma_attr_warn_unused_result; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/delta.h b/Build/source/extra/xz/src/liblzma/api/lzma/delta.h deleted file mode 100644 index 592fc4f8496..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/delta.h +++ /dev/null @@ -1,77 +0,0 @@ -/** - * \file lzma/delta.h - * \brief Delta filter - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Filter ID - * - * Filter ID of the Delta filter. This is used as lzma_filter.id. - */ -#define LZMA_FILTER_DELTA LZMA_VLI_C(0x03) - - -/** - * \brief Type of the delta calculation - * - * Currently only byte-wise delta is supported. Other possible types could - * be, for example, delta of 16/32/64-bit little/big endian integers, but - * these are not currently planned since byte-wise delta is almost as good. - */ -typedef enum { - LZMA_DELTA_TYPE_BYTE -} lzma_delta_type; - - -/** - * \brief Options for the Delta filter - * - * These options are needed by both encoder and decoder. - */ -typedef struct { - /** For now, this must always be LZMA_DELTA_TYPE_BYTE. */ - lzma_delta_type type; - - /** - * \brief Delta distance - * - * With the only currently supported type, LZMA_DELTA_TYPE_BYTE, - * the distance is as bytes. - * - * Examples: - * - 16-bit stereo audio: distance = 4 bytes - * - 24-bit RGB image data: distance = 3 bytes - */ - uint32_t dist; -# define LZMA_DELTA_DIST_MIN 1 -# define LZMA_DELTA_DIST_MAX 256 - - /* - * Reserved space to allow possible future extensions without - * breaking the ABI. You should not touch these, because the names - * of these variables may change. These are and will never be used - * when type is LZMA_DELTA_TYPE_BYTE, so it is safe to leave these - * uninitialized. - */ - uint32_t reserved_int1; - uint32_t reserved_int2; - uint32_t reserved_int3; - uint32_t reserved_int4; - void *reserved_ptr1; - void *reserved_ptr2; - -} lzma_options_delta; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h b/Build/source/extra/xz/src/liblzma/api/lzma/filter.h deleted file mode 100644 index e0bc163ad35..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h +++ /dev/null @@ -1,424 +0,0 @@ -/** - * \file lzma/filter.h - * \brief Common filter related types and functions - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Maximum number of filters in a chain - * - * A filter chain can have 1-4 filters, of which three are allowed to change - * the size of the data. Usually only one or two filters are needed. - */ -#define LZMA_FILTERS_MAX 4 - - -/** - * \brief Filter options - * - * This structure is used to pass Filter ID and a pointer filter's - * options to liblzma. A few functions work with a single lzma_filter - * structure, while most functions expect a filter chain. - * - * A filter chain is indicated with an array of lzma_filter structures. - * The array is terminated with .id = LZMA_VLI_UNKNOWN. Thus, the filter - * array must have LZMA_FILTERS_MAX + 1 elements (that is, five) to - * be able to hold any arbitrary filter chain. This is important when - * using lzma_block_header_decode() from block.h, because too small - * array would make liblzma write past the end of the filters array. - */ -typedef struct { - /** - * \brief Filter ID - * - * Use constants whose name begin with `LZMA_FILTER_' to specify - * different filters. In an array of lzma_filter structures, use - * LZMA_VLI_UNKNOWN to indicate end of filters. - * - * \note This is not an enum, because on some systems enums - * cannot be 64-bit. - */ - lzma_vli id; - - /** - * \brief Pointer to filter-specific options structure - * - * If the filter doesn't need options, set this to NULL. If id is - * set to LZMA_VLI_UNKNOWN, options is ignored, and thus - * doesn't need be initialized. - */ - void *options; - -} lzma_filter; - - -/** - * \brief Test if the given Filter ID is supported for encoding - * - * Return true if the give Filter ID is supported for encoding by this - * liblzma build. Otherwise false is returned. - * - * There is no way to list which filters are available in this particular - * liblzma version and build. It would be useless, because the application - * couldn't know what kind of options the filter would need. - */ -extern LZMA_API(lzma_bool) lzma_filter_encoder_is_supported(lzma_vli id) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Test if the given Filter ID is supported for decoding - * - * Return true if the give Filter ID is supported for decoding by this - * liblzma build. Otherwise false is returned. - */ -extern LZMA_API(lzma_bool) lzma_filter_decoder_is_supported(lzma_vli id) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Copy the filters array - * - * Copy the Filter IDs and filter-specific options from src to dest. - * Up to LZMA_FILTERS_MAX filters are copied, plus the terminating - * .id == LZMA_VLI_UNKNOWN. Thus, dest should have at least - * LZMA_FILTERS_MAX + 1 elements space unless the caller knows that - * src is smaller than that. - * - * Unless the filter-specific options is NULL, the Filter ID has to be - * supported by liblzma, because liblzma needs to know the size of every - * filter-specific options structure. The filter-specific options are not - * validated. If options is NULL, any unsupported Filter IDs are copied - * without returning an error. - * - * Old filter-specific options in dest are not freed, so dest doesn't - * need to be initialized by the caller in any way. - * - * If an error occurs, memory possibly already allocated by this function - * is always freed. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_OPTIONS_ERROR: Unsupported Filter ID and its options - * is not NULL. - * - LZMA_PROG_ERROR: src or dest is NULL. - */ -extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src, - lzma_filter *dest, lzma_allocator *allocator) lzma_nothrow; - - -/** - * \brief Calculate approximate memory requirements for raw encoder - * - * This function can be used to calculate the memory requirements for - * Block and Stream encoders too because Block and Stream encoders don't - * need significantly more memory than raw encoder. - * - * \param filters Array of filters terminated with - * .id == LZMA_VLI_UNKNOWN. - * - * \return Number of bytes of memory required for the given - * filter chain when encoding. If an error occurs, - * for example due to unsupported filter chain, - * UINT64_MAX is returned. - */ -extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Calculate approximate memory requirements for raw decoder - * - * This function can be used to calculate the memory requirements for - * Block and Stream decoders too because Block and Stream decoders don't - * need significantly more memory than raw decoder. - * - * \param filters Array of filters terminated with - * .id == LZMA_VLI_UNKNOWN. - * - * \return Number of bytes of memory required for the given - * filter chain when decoding. If an error occurs, - * for example due to unsupported filter chain, - * UINT64_MAX is returned. - */ -extern LZMA_API(uint64_t) lzma_raw_decoder_memusage(const lzma_filter *filters) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Initialize raw encoder - * - * This function may be useful when implementing custom file formats. - * - * \param strm Pointer to properly prepared lzma_stream - * \param filters Array of lzma_filter structures. The end of the - * array must be marked with .id = LZMA_VLI_UNKNOWN. - * - * The `action' with lzma_code() can be LZMA_RUN, LZMA_SYNC_FLUSH (if the - * filter chain supports it), or LZMA_FINISH. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_raw_encoder( - lzma_stream *strm, const lzma_filter *filters) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize raw decoder - * - * The initialization of raw decoder goes similarly to raw encoder. - * - * The `action' with lzma_code() can be LZMA_RUN or LZMA_FINISH. Using - * LZMA_FINISH is not required, it is supported just for convenience. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_raw_decoder( - lzma_stream *strm, const lzma_filter *filters) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Update the filter chain in the encoder - * - * This function is for advanced users only. This function has two slightly - * different purposes: - * - * - After LZMA_FULL_FLUSH when using Stream encoder: Set a new filter - * chain, which will be used starting from the next Block. - * - * - After LZMA_SYNC_FLUSH using Raw, Block, or Stream encoder: Change - * the filter-specific options in the middle of encoding. The actual - * filters in the chain (Filter IDs) cannot be changed. In the future, - * it might become possible to change the filter options without - * using LZMA_SYNC_FLUSH. - * - * While rarely useful, this function may be called also when no data has - * been compressed yet. In that case, this function will behave as if - * LZMA_FULL_FLUSH (Stream encoder) or LZMA_SYNC_FLUSH (Raw or Block - * encoder) had been used right before calling this function. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_MEMLIMIT_ERROR - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_filters_update( - lzma_stream *strm, const lzma_filter *filters) lzma_nothrow; - - -/** - * \brief Single-call raw encoder - * - * \param filters Array of lzma_filter structures. The end of the - * array must be marked with .id = LZMA_VLI_UNKNOWN. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_size Size of the input buffer - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_BUF_ERROR: Not enough output buffer space. - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - * - LZMA_DATA_ERROR - * - LZMA_PROG_ERROR - * - * \note There is no function to calculate how big output buffer - * would surely be big enough. (lzma_stream_buffer_bound() - * works only for lzma_stream_buffer_encode(); raw encoder - * won't necessarily meet that bound.) - */ -extern LZMA_API(lzma_ret) lzma_raw_buffer_encode( - const lzma_filter *filters, lzma_allocator *allocator, - const uint8_t *in, size_t in_size, uint8_t *out, - size_t *out_pos, size_t out_size) lzma_nothrow; - - -/** - * \brief Single-call raw decoder - * - * \param filters Array of lzma_filter structures. The end of the - * array must be marked with .id = LZMA_VLI_UNKNOWN. - * \param allocator lzma_allocator for custom allocator functions. - * Set to NULL to use malloc() and free(). - * \param in Beginning of the input buffer - * \param in_pos The next byte will be read from in[*in_pos]. - * *in_pos is updated only if decoding succeeds. - * \param in_size Size of the input buffer; the first byte that - * won't be read is in[in_size]. - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - */ -extern LZMA_API(lzma_ret) lzma_raw_buffer_decode( - const lzma_filter *filters, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; - - -/** - * \brief Get the size of the Filter Properties field - * - * This function may be useful when implementing custom file formats - * using the raw encoder and decoder. - * - * \param size Pointer to uint32_t to hold the size of the properties - * \param filter Filter ID and options (the size of the properties may - * vary depending on the options) - * - * \return - LZMA_OK - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - * - * \note This function validates the Filter ID, but does not - * necessarily validate the options. Thus, it is possible - * that this returns LZMA_OK while the following call to - * lzma_properties_encode() returns LZMA_OPTIONS_ERROR. - */ -extern LZMA_API(lzma_ret) lzma_properties_size( - uint32_t *size, const lzma_filter *filter) lzma_nothrow; - - -/** - * \brief Encode the Filter Properties field - * - * \param filter Filter ID and options - * \param props Buffer to hold the encoded options. The size of - * buffer must have been already determined with - * lzma_properties_size(). - * - * \return - LZMA_OK - * - LZMA_OPTIONS_ERROR - * - LZMA_PROG_ERROR - * - * \note Even this function won't validate more options than actually - * necessary. Thus, it is possible that encoding the properties - * succeeds but using the same options to initialize the encoder - * will fail. - * - * \note If lzma_properties_size() indicated that the size - * of the Filter Properties field is zero, calling - * lzma_properties_encode() is not required, but it - * won't do any harm either. - */ -extern LZMA_API(lzma_ret) lzma_properties_encode( - const lzma_filter *filter, uint8_t *props) lzma_nothrow; - - -/** - * \brief Decode the Filter Properties field - * - * \param filter filter->id must have been set to the correct - * Filter ID. filter->options doesn't need to be - * initialized (it's not freed by this function). The - * decoded options will be stored to filter->options. - * filter->options is set to NULL if there are no - * properties or if an error occurs. - * \param allocator Custom memory allocator used to allocate the - * options. Set to NULL to use the default malloc(), - * and in case of an error, also free(). - * \param props Input buffer containing the properties. - * \param props_size Size of the properties. This must be the exact - * size; giving too much or too little input will - * return LZMA_OPTIONS_ERROR. - * - * \return - LZMA_OK - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - */ -extern LZMA_API(lzma_ret) lzma_properties_decode( - lzma_filter *filter, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) lzma_nothrow; - - -/** - * \brief Calculate encoded size of a Filter Flags field - * - * Knowing the size of Filter Flags is useful to know when allocating - * memory to hold the encoded Filter Flags. - * - * \param size Pointer to integer to hold the calculated size - * \param filter Filter ID and associated options whose encoded - * size is to be calculated - * - * \return - LZMA_OK: *size set successfully. Note that this doesn't - * guarantee that filter->options is valid, thus - * lzma_filter_flags_encode() may still fail. - * - LZMA_OPTIONS_ERROR: Unknown Filter ID or unsupported options. - * - LZMA_PROG_ERROR: Invalid options - * - * \note If you need to calculate size of List of Filter Flags, - * you need to loop over every lzma_filter entry. - */ -extern LZMA_API(lzma_ret) lzma_filter_flags_size( - uint32_t *size, const lzma_filter *filter) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Encode Filter Flags into given buffer - * - * In contrast to some functions, this doesn't allocate the needed buffer. - * This is due to how this function is used internally by liblzma. - * - * \param filter Filter ID and options to be encoded - * \param out Beginning of the output buffer - * \param out_pos out[*out_pos] is the next write position. This - * is updated by the encoder. - * \param out_size out[out_size] is the first byte to not write. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_OPTIONS_ERROR: Invalid or unsupported options. - * - LZMA_PROG_ERROR: Invalid options or not enough output - * buffer space (you should have checked it with - * lzma_filter_flags_size()). - */ -extern LZMA_API(lzma_ret) lzma_filter_flags_encode(const lzma_filter *filter, - uint8_t *out, size_t *out_pos, size_t out_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode Filter Flags from given buffer - * - * The decoded result is stored into *filter. The old value of - * filter->options is not free()d. - * - * \return - LZMA_OK - * - LZMA_OPTIONS_ERROR - * - LZMA_MEM_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_filter_flags_decode( - lzma_filter *filter, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size) - lzma_nothrow lzma_attr_warn_unused_result; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/hardware.h b/Build/source/extra/xz/src/liblzma/api/lzma/hardware.h deleted file mode 100644 index e7dd03c3e8d..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/hardware.h +++ /dev/null @@ -1,50 +0,0 @@ -/** - * \file lzma/hardware.h - * \brief Hardware information - * - * Since liblzma can consume a lot of system resources, it also provides - * ways to limit the resource usage. Applications linking against liblzma - * need to do the actual decisions how much resources to let liblzma to use. - * To ease making these decisions, liblzma provides functions to find out - * the relevant capabilities of the underlaying hardware. Currently there - * is only a function to find out the amount of RAM, but in the future there - * will be also a function to detect how many concurrent threads the system - * can run. - * - * \note On some operating systems, these function may temporarily - * load a shared library or open file descriptor(s) to find out - * the requested hardware information. Unless the application - * assumes that specific file descriptors are not touched by - * other threads, this should have no effect on thread safety. - * Possible operations involving file descriptors will restart - * the syscalls if they return EINTR. - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Get the total amount of physical memory (RAM) in bytes - * - * This function may be useful when determining a reasonable memory - * usage limit for decompressing or how much memory it is OK to use - * for compressing. - * - * \return On success, the total amount of physical memory in bytes - * is returned. If the amount of RAM cannot be determined, - * zero is returned. This can happen if an error occurs - * or if there is no code in liblzma to detect the amount - * of RAM on the specific operating system. - */ -extern LZMA_API(uint64_t) lzma_physmem(void) lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/index.h b/Build/source/extra/xz/src/liblzma/api/lzma/index.h deleted file mode 100644 index 16bacc287df..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/index.h +++ /dev/null @@ -1,682 +0,0 @@ -/** - * \file lzma/index.h - * \brief Handling of .xz Index and related information - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Opaque data type to hold the Index(es) and other information - * - * lzma_index often holds just one .xz Index and possibly the Stream Flags - * of the same Stream and size of the Stream Padding field. However, - * multiple lzma_indexes can be concatenated with lzma_index_cat() and then - * there may be information about multiple Streams in the same lzma_index. - * - * Notes about thread safety: Only one thread may modify lzma_index at - * a time. All functions that take non-const pointer to lzma_index - * modify it. As long as no thread is modifying the lzma_index, getting - * information from the same lzma_index can be done from multiple threads - * at the same time with functions that take a const pointer to - * lzma_index or use lzma_index_iter. The same iterator must be used - * only by one thread at a time, of course, but there can be as many - * iterators for the same lzma_index as needed. - */ -typedef struct lzma_index_s lzma_index; - - -/** - * \brief Iterator to get information about Blocks and Streams - */ -typedef struct { - struct { - /** - * \brief Pointer to Stream Flags - * - * This is NULL if Stream Flags have not been set for - * this Stream with lzma_index_stream_flags(). - */ - const lzma_stream_flags *flags; - - const void *reserved_ptr1; - const void *reserved_ptr2; - const void *reserved_ptr3; - - /** - * \brief Stream number in the lzma_index - * - * The first Stream is 1. - */ - lzma_vli number; - - /** - * \brief Number of Blocks in the Stream - * - * If this is zero, the block structure below has - * undefined values. - */ - lzma_vli block_count; - - /** - * \brief Compressed start offset of this Stream - * - * The offset is relative to the beginning of the lzma_index - * (i.e. usually the beginning of the .xz file). - */ - lzma_vli compressed_offset; - - /** - * \brief Uncompressed start offset of this Stream - * - * The offset is relative to the beginning of the lzma_index - * (i.e. usually the beginning of the .xz file). - */ - lzma_vli uncompressed_offset; - - /** - * \brief Compressed size of this Stream - * - * This includes all headers except the possible - * Stream Padding after this Stream. - */ - lzma_vli compressed_size; - - /** - * \brief Uncompressed size of this Stream - */ - lzma_vli uncompressed_size; - - /** - * \brief Size of Stream Padding after this Stream - * - * If it hasn't been set with lzma_index_stream_padding(), - * this defaults to zero. Stream Padding is always - * a multiple of four bytes. - */ - lzma_vli padding; - - lzma_vli reserved_vli1; - lzma_vli reserved_vli2; - lzma_vli reserved_vli3; - lzma_vli reserved_vli4; - } stream; - - struct { - /** - * \brief Block number in the file - * - * The first Block is 1. - */ - lzma_vli number_in_file; - - /** - * \brief Compressed start offset of this Block - * - * This offset is relative to the beginning of the - * lzma_index (i.e. usually the beginning of the .xz file). - * Normally this is where you should seek in the .xz file - * to start decompressing this Block. - */ - lzma_vli compressed_file_offset; - - /** - * \brief Uncompressed start offset of this Block - * - * This offset is relative to the beginning of the lzma_index - * (i.e. usually the beginning of the .xz file). - * - * When doing random-access reading, it is possible that - * the target offset is not exactly at Block boundary. One - * will need to compare the target offset against - * uncompressed_file_offset or uncompressed_stream_offset, - * and possibly decode and throw away some amount of data - * before reaching the target offset. - */ - lzma_vli uncompressed_file_offset; - - /** - * \brief Block number in this Stream - * - * The first Block is 1. - */ - lzma_vli number_in_stream; - - /** - * \brief Compressed start offset of this Block - * - * This offset is relative to the beginning of the Stream - * containing this Block. - */ - lzma_vli compressed_stream_offset; - - /** - * \brief Uncompressed start offset of this Block - * - * This offset is relative to the beginning of the Stream - * containing this Block. - */ - lzma_vli uncompressed_stream_offset; - - /** - * \brief Uncompressed size of this Block - * - * You should pass this to the Block decoder if you will - * decode this Block. It will allow the Block decoder to - * validate the uncompressed size. - */ - lzma_vli uncompressed_size; - - /** - * \brief Unpadded size of this Block - * - * You should pass this to the Block decoder if you will - * decode this Block. It will allow the Block decoder to - * validate the unpadded size. - */ - lzma_vli unpadded_size; - - /** - * \brief Total compressed size - * - * This includes all headers and padding in this Block. - * This is useful if you need to know how many bytes - * the Block decoder will actually read. - */ - lzma_vli total_size; - - lzma_vli reserved_vli1; - lzma_vli reserved_vli2; - lzma_vli reserved_vli3; - lzma_vli reserved_vli4; - - const void *reserved_ptr1; - const void *reserved_ptr2; - const void *reserved_ptr3; - const void *reserved_ptr4; - } block; - - /* - * Internal data which is used to store the state of the iterator. - * The exact format may vary between liblzma versions, so don't - * touch these in any way. - */ - union { - const void *p; - size_t s; - lzma_vli v; - } internal[6]; -} lzma_index_iter; - - -/** - * \brief Operation mode for lzma_index_iter_next() - */ -typedef enum { - LZMA_INDEX_ITER_ANY = 0, - /**< - * \brief Get the next Block or Stream - * - * Go to the next Block if the current Stream has at least - * one Block left. Otherwise go to the next Stream even if - * it has no Blocks. If the Stream has no Blocks - * (lzma_index_iter.stream.block_count == 0), - * lzma_index_iter.block will have undefined values. - */ - - LZMA_INDEX_ITER_STREAM = 1, - /**< - * \brief Get the next Stream - * - * Go to the next Stream even if the current Stream has - * unread Blocks left. If the next Stream has at least one - * Block, the iterator will point to the first Block. - * If there are no Blocks, lzma_index_iter.block will have - * undefined values. - */ - - LZMA_INDEX_ITER_BLOCK = 2, - /**< - * \brief Get the next Block - * - * Go to the next Block if the current Stream has at least - * one Block left. If the current Stream has no Blocks left, - * the next Stream with at least one Block is located and - * the iterator will be made to point to the first Block of - * that Stream. - */ - - LZMA_INDEX_ITER_NONEMPTY_BLOCK = 3 - /**< - * \brief Get the next non-empty Block - * - * This is like LZMA_INDEX_ITER_BLOCK except that it will - * skip Blocks whose Uncompressed Size is zero. - */ - -} lzma_index_iter_mode; - - -/** - * \brief Calculate memory usage of lzma_index - * - * On disk, the size of the Index field depends on both the number of Records - * stored and how big values the Records store (due to variable-length integer - * encoding). When the Index is kept in lzma_index structure, the memory usage - * depends only on the number of Records/Blocks stored in the Index(es), and - * in case of concatenated lzma_indexes, the number of Streams. The size in - * RAM is almost always significantly bigger than in the encoded form on disk. - * - * This function calculates an approximate amount of memory needed hold - * the given number of Streams and Blocks in lzma_index structure. This - * value may vary between CPU architectures and also between liblzma versions - * if the internal implementation is modified. - */ -extern LZMA_API(uint64_t) lzma_index_memusage( - lzma_vli streams, lzma_vli blocks) lzma_nothrow; - - -/** - * \brief Calculate the memory usage of an existing lzma_index - * - * This is a shorthand for lzma_index_memusage(lzma_index_stream_count(i), - * lzma_index_block_count(i)). - */ -extern LZMA_API(uint64_t) lzma_index_memused(const lzma_index *i) - lzma_nothrow; - - -/** - * \brief Allocate and initialize a new lzma_index structure - * - * \return On success, a pointer to an empty initialized lzma_index is - * returned. If allocation fails, NULL is returned. - */ -extern LZMA_API(lzma_index *) lzma_index_init(lzma_allocator *allocator) - lzma_nothrow; - - -/** - * \brief Deallocate lzma_index - * - * If i is NULL, this does nothing. - */ -extern LZMA_API(void) lzma_index_end(lzma_index *i, lzma_allocator *allocator) - lzma_nothrow; - - -/** - * \brief Add a new Block to lzma_index - * - * \param i Pointer to a lzma_index structure - * \param allocator Pointer to lzma_allocator, or NULL to - * use malloc() - * \param unpadded_size Unpadded Size of a Block. This can be - * calculated with lzma_block_unpadded_size() - * after encoding or decoding the Block. - * \param uncompressed_size Uncompressed Size of a Block. This can be - * taken directly from lzma_block structure - * after encoding or decoding the Block. - * - * Appending a new Block does not invalidate iterators. For example, - * if an iterator was pointing to the end of the lzma_index, after - * lzma_index_append() it is possible to read the next Block with - * an existing iterator. - * - * \return - LZMA_OK - * - LZMA_MEM_ERROR - * - LZMA_DATA_ERROR: Compressed or uncompressed size of the - * Stream or size of the Index field would grow too big. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_append( - lzma_index *i, lzma_allocator *allocator, - lzma_vli unpadded_size, lzma_vli uncompressed_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Set the Stream Flags - * - * Set the Stream Flags of the last (and typically the only) Stream - * in lzma_index. This can be useful when reading information from the - * lzma_index, because to decode Blocks, knowing the integrity check type - * is needed. - * - * The given Stream Flags are copied into internal preallocated structure - * in the lzma_index, thus the caller doesn't need to keep the *stream_flags - * available after calling this function. - * - * \return - LZMA_OK - * - LZMA_OPTIONS_ERROR: Unsupported stream_flags->version. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_stream_flags( - lzma_index *i, const lzma_stream_flags *stream_flags) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Get the types of integrity Checks - * - * If lzma_index_stream_flags() is used to set the Stream Flags for - * every Stream, lzma_index_checks() can be used to get a bitmask to - * indicate which Check types have been used. It can be useful e.g. if - * showing the Check types to the user. - * - * The bitmask is 1 << check_id, e.g. CRC32 is 1 << 1 and SHA-256 is 1 << 10. - */ -extern LZMA_API(uint32_t) lzma_index_checks(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Set the amount of Stream Padding - * - * Set the amount of Stream Padding of the last (and typically the only) - * Stream in the lzma_index. This is needed when planning to do random-access - * reading within multiple concatenated Streams. - * - * By default, the amount of Stream Padding is assumed to be zero bytes. - * - * \return - LZMA_OK - * - LZMA_DATA_ERROR: The file size would grow too big. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_stream_padding( - lzma_index *i, lzma_vli stream_padding) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Get the number of Streams - */ -extern LZMA_API(lzma_vli) lzma_index_stream_count(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the number of Blocks - * - * This returns the total number of Blocks in lzma_index. To get number - * of Blocks in individual Streams, use lzma_index_iter. - */ -extern LZMA_API(lzma_vli) lzma_index_block_count(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the size of the Index field as bytes - * - * This is needed to verify the Backward Size field in the Stream Footer. - */ -extern LZMA_API(lzma_vli) lzma_index_size(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the total size of the Stream - * - * If multiple lzma_indexes have been combined, this works as if the Blocks - * were in a single Stream. This is useful if you are going to combine - * Blocks from multiple Streams into a single new Stream. - */ -extern LZMA_API(lzma_vli) lzma_index_stream_size(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the total size of the Blocks - * - * This doesn't include the Stream Header, Stream Footer, Stream Padding, - * or Index fields. - */ -extern LZMA_API(lzma_vli) lzma_index_total_size(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the total size of the file - * - * When no lzma_indexes have been combined with lzma_index_cat() and there is - * no Stream Padding, this function is identical to lzma_index_stream_size(). - * If multiple lzma_indexes have been combined, this includes also the headers - * of each separate Stream and the possible Stream Padding fields. - */ -extern LZMA_API(lzma_vli) lzma_index_file_size(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Get the uncompressed size of the file - */ -extern LZMA_API(lzma_vli) lzma_index_uncompressed_size(const lzma_index *i) - lzma_nothrow lzma_attr_pure; - - -/** - * \brief Initialize an iterator - * - * \param iter Pointer to a lzma_index_iter structure - * \param i lzma_index to which the iterator will be associated - * - * This function associates the iterator with the given lzma_index, and calls - * lzma_index_iter_rewind() on the iterator. - * - * This function doesn't allocate any memory, thus there is no - * lzma_index_iter_end(). The iterator is valid as long as the - * associated lzma_index is valid, that is, until lzma_index_end() or - * using it as source in lzma_index_cat(). Specifically, lzma_index doesn't - * become invalid if new Blocks are added to it with lzma_index_append() or - * if it is used as the destination in lzma_index_cat(). - * - * It is safe to make copies of an initialized lzma_index_iter, for example, - * to easily restart reading at some particular position. - */ -extern LZMA_API(void) lzma_index_iter_init( - lzma_index_iter *iter, const lzma_index *i) lzma_nothrow; - - -/** - * \brief Rewind the iterator - * - * Rewind the iterator so that next call to lzma_index_iter_next() will - * return the first Block or Stream. - */ -extern LZMA_API(void) lzma_index_iter_rewind(lzma_index_iter *iter) - lzma_nothrow; - - -/** - * \brief Get the next Block or Stream - * - * \param iter Iterator initialized with lzma_index_iter_init() - * \param mode Specify what kind of information the caller wants - * to get. See lzma_index_iter_mode for details. - * - * \return If next Block or Stream matching the mode was found, *iter - * is updated and this function returns false. If no Block or - * Stream matching the mode is found, *iter is not modified - * and this function returns true. If mode is set to an unknown - * value, *iter is not modified and this function returns true. - */ -extern LZMA_API(lzma_bool) lzma_index_iter_next( - lzma_index_iter *iter, lzma_index_iter_mode mode) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Locate a Block - * - * If it is possible to seek in the .xz file, it is possible to parse - * the Index field(s) and use lzma_index_iter_locate() to do random-access - * reading with granularity of Block size. - * - * \param iter Iterator that was earlier initialized with - * lzma_index_iter_init(). - * \param target Uncompressed target offset which the caller would - * like to locate from the Stream - * - * If the target is smaller than the uncompressed size of the Stream (can be - * checked with lzma_index_uncompressed_size()): - * - Information about the Stream and Block containing the requested - * uncompressed offset is stored into *iter. - * - Internal state of the iterator is adjusted so that - * lzma_index_iter_next() can be used to read subsequent Blocks or Streams. - * - This function returns false. - * - * If target is greater than the uncompressed size of the Stream, *iter - * is not modified, and this function returns true. - */ -extern LZMA_API(lzma_bool) lzma_index_iter_locate( - lzma_index_iter *iter, lzma_vli target) lzma_nothrow; - - -/** - * \brief Concatenate lzma_indexes - * - * Concatenating lzma_indexes is useful when doing random-access reading in - * multi-Stream .xz file, or when combining multiple Streams into single - * Stream. - * - * \param dest lzma_index after which src is appended - * \param src lzma_index to be appended after dest. If this - * function succeeds, the memory allocated for src - * is freed or moved to be part of dest, and all - * iterators pointing to src will become invalid. - * \param allocator Custom memory allocator; can be NULL to use - * malloc() and free(). - * - * \return - LZMA_OK: lzma_indexes were concatenated successfully. - * src is now a dangling pointer. - * - LZMA_DATA_ERROR: *dest would grow too big. - * - LZMA_MEM_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_cat( - lzma_index *dest, lzma_index *src, lzma_allocator *allocator) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Duplicate lzma_index - * - * \return A copy of the lzma_index, or NULL if memory allocation failed. - */ -extern LZMA_API(lzma_index *) lzma_index_dup( - const lzma_index *i, lzma_allocator *allocator) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize .xz Index encoder - * - * \param strm Pointer to properly prepared lzma_stream - * \param i Pointer to lzma_index which should be encoded. - * - * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH. - * It is enough to use only one of them (you can choose freely; use LZMA_RUN - * to support liblzma versions older than 5.0.0). - * - * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). - * - LZMA_MEM_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_encoder( - lzma_stream *strm, const lzma_index *i) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Initialize .xz Index decoder - * - * \param strm Pointer to properly prepared lzma_stream - * \param i The decoded Index will be made available via - * this pointer. Initially this function will - * set *i to NULL (the old value is ignored). If - * decoding succeeds (lzma_code() returns - * LZMA_STREAM_END), *i will be set to point - * to a new lzma_index, which the application - * has to later free with lzma_index_end(). - * \param memlimit How much memory the resulting lzma_index is - * allowed to require. - * - * The valid `action' values for lzma_code() are LZMA_RUN and LZMA_FINISH. - * It is enough to use only one of them (you can choose freely; use LZMA_RUN - * to support liblzma versions older than 5.0.0). - * - * \return - LZMA_OK: Initialization succeeded, continue with lzma_code(). - * - LZMA_MEM_ERROR - * - LZMA_MEMLIMIT_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_decoder( - lzma_stream *strm, lzma_index **i, uint64_t memlimit) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Single-call .xz Index encoder - * - * \param i lzma_index to be encoded - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * *out_pos is updated only if encoding succeeds. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_BUF_ERROR: Output buffer is too small. Use - * lzma_index_size() to find out how much output - * space is needed. - * - LZMA_PROG_ERROR - * - * \note This function doesn't take allocator argument since all - * the internal data is allocated on stack. - */ -extern LZMA_API(lzma_ret) lzma_index_buffer_encode(const lzma_index *i, - uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; - - -/** - * \brief Single-call .xz Index decoder - * - * \param i If decoding succeeds, *i will point to a new - * lzma_index, which the application has to - * later free with lzma_index_end(). If an error - * occurs, *i will be NULL. The old value of *i - * is always ignored and thus doesn't need to be - * initialized by the caller. - * \param memlimit Pointer to how much memory the resulting - * lzma_index is allowed to require. The value - * pointed by this pointer is modified if and only - * if LZMA_MEMLIMIT_ERROR is returned. - * \param allocator Pointer to lzma_allocator, or NULL to use malloc() - * \param in Beginning of the input buffer - * \param in_pos The next byte will be read from in[*in_pos]. - * *in_pos is updated only if decoding succeeds. - * \param in_size Size of the input buffer; the first byte that - * won't be read is in[in_size]. - * - * \return - LZMA_OK: Decoding was successful. - * - LZMA_MEM_ERROR - * - LZMA_MEMLIMIT_ERROR: Memory usage limit was reached. - * The minimum required memlimit value was stored to *memlimit. - * - LZMA_DATA_ERROR - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_buffer_decode(lzma_index **i, - uint64_t *memlimit, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size) - lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/index_hash.h b/Build/source/extra/xz/src/liblzma/api/lzma/index_hash.h deleted file mode 100644 index fa2e048d552..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/index_hash.h +++ /dev/null @@ -1,107 +0,0 @@ -/** - * \file lzma/index_hash.h - * \brief Validate Index by using a hash function - * - * Hashing makes it possible to use constant amount of memory to validate - * Index of arbitrary size. - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - -/** - * \brief Opaque data type to hold the Index hash - */ -typedef struct lzma_index_hash_s lzma_index_hash; - - -/** - * \brief Allocate and initialize a new lzma_index_hash structure - * - * If index_hash is NULL, a new lzma_index_hash structure is allocated, - * initialized, and a pointer to it returned. If allocation fails, NULL - * is returned. - * - * If index_hash is non-NULL, it is reinitialized and the same pointer - * returned. In this case, return value cannot be NULL or a different - * pointer than the index_hash that was given as an argument. - */ -extern LZMA_API(lzma_index_hash *) lzma_index_hash_init( - lzma_index_hash *index_hash, lzma_allocator *allocator) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Deallocate lzma_index_hash structure - */ -extern LZMA_API(void) lzma_index_hash_end( - lzma_index_hash *index_hash, lzma_allocator *allocator) - lzma_nothrow; - - -/** - * \brief Add a new Record to an Index hash - * - * \param index Pointer to a lzma_index_hash structure - * \param unpadded_size Unpadded Size of a Block - * \param uncompressed_size Uncompressed Size of a Block - * - * \return - LZMA_OK - * - LZMA_DATA_ERROR: Compressed or uncompressed size of the - * Stream or size of the Index field would grow too big. - * - LZMA_PROG_ERROR: Invalid arguments or this function is being - * used when lzma_index_hash_decode() has already been used. - */ -extern LZMA_API(lzma_ret) lzma_index_hash_append(lzma_index_hash *index_hash, - lzma_vli unpadded_size, lzma_vli uncompressed_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode and validate the Index field - * - * After telling the sizes of all Blocks with lzma_index_hash_append(), - * the actual Index field is decoded with this function. Specifically, - * once decoding of the Index field has been started, no more Records - * can be added using lzma_index_hash_append(). - * - * This function doesn't use lzma_stream structure to pass the input data. - * Instead, the input buffer is specified using three arguments. This is - * because it matches better the internal APIs of liblzma. - * - * \param index_hash Pointer to a lzma_index_hash structure - * \param in Pointer to the beginning of the input buffer - * \param in_pos in[*in_pos] is the next byte to process - * \param in_size in[in_size] is the first byte not to process - * - * \return - LZMA_OK: So far good, but more input is needed. - * - LZMA_STREAM_END: Index decoded successfully and it matches - * the Records given with lzma_index_hash_append(). - * - LZMA_DATA_ERROR: Index is corrupt or doesn't match the - * information given with lzma_index_hash_append(). - * - LZMA_BUF_ERROR: Cannot progress because *in_pos >= in_size. - * - LZMA_PROG_ERROR - */ -extern LZMA_API(lzma_ret) lzma_index_hash_decode(lzma_index_hash *index_hash, - const uint8_t *in, size_t *in_pos, size_t in_size) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Get the size of the Index field as bytes - * - * This is needed to verify the Backward Size field in the Stream Footer. - */ -extern LZMA_API(lzma_vli) lzma_index_hash_size( - const lzma_index_hash *index_hash) - lzma_nothrow lzma_attr_pure; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/lzma.h b/Build/source/extra/xz/src/liblzma/api/lzma/lzma.h deleted file mode 100644 index 3f8e095f70e..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/lzma.h +++ /dev/null @@ -1,420 +0,0 @@ -/** - * \file lzma/lzma.h - * \brief LZMA1 and LZMA2 filters - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief LZMA1 Filter ID - * - * LZMA1 is the very same thing as what was called just LZMA in LZMA Utils, - * 7-Zip, and LZMA SDK. It's called LZMA1 here to prevent developers from - * accidentally using LZMA when they actually want LZMA2. - * - * LZMA1 shouldn't be used for new applications unless you _really_ know - * what you are doing. LZMA2 is almost always a better choice. - */ -#define LZMA_FILTER_LZMA1 LZMA_VLI_C(0x4000000000000001) - -/** - * \brief LZMA2 Filter ID - * - * Usually you want this instead of LZMA1. Compared to LZMA1, LZMA2 adds - * support for LZMA_SYNC_FLUSH, uncompressed chunks (smaller expansion - * when trying to compress uncompressible data), possibility to change - * lc/lp/pb in the middle of encoding, and some other internal improvements. - */ -#define LZMA_FILTER_LZMA2 LZMA_VLI_C(0x21) - - -/** - * \brief Match finders - * - * Match finder has major effect on both speed and compression ratio. - * Usually hash chains are faster than binary trees. - * - * If you will use LZMA_SYNC_FLUSH often, the hash chains may be a better - * choice, because binary trees get much higher compression ratio penalty - * with LZMA_SYNC_FLUSH. - * - * The memory usage formulas are only rough estimates, which are closest to - * reality when dict_size is a power of two. The formulas are more complex - * in reality, and can also change a little between liblzma versions. Use - * lzma_raw_encoder_memusage() to get more accurate estimate of memory usage. - */ -typedef enum { - LZMA_MF_HC3 = 0x03, - /**< - * \brief Hash Chain with 2- and 3-byte hashing - * - * Minimum nice_len: 3 - * - * Memory usage: - * - dict_size <= 16 MiB: dict_size * 7.5 - * - dict_size > 16 MiB: dict_size * 5.5 + 64 MiB - */ - - LZMA_MF_HC4 = 0x04, - /**< - * \brief Hash Chain with 2-, 3-, and 4-byte hashing - * - * Minimum nice_len: 4 - * - * Memory usage: - * - dict_size <= 32 MiB: dict_size * 7.5 - * - dict_size > 32 MiB: dict_size * 6.5 - */ - - LZMA_MF_BT2 = 0x12, - /**< - * \brief Binary Tree with 2-byte hashing - * - * Minimum nice_len: 2 - * - * Memory usage: dict_size * 9.5 - */ - - LZMA_MF_BT3 = 0x13, - /**< - * \brief Binary Tree with 2- and 3-byte hashing - * - * Minimum nice_len: 3 - * - * Memory usage: - * - dict_size <= 16 MiB: dict_size * 11.5 - * - dict_size > 16 MiB: dict_size * 9.5 + 64 MiB - */ - - LZMA_MF_BT4 = 0x14 - /**< - * \brief Binary Tree with 2-, 3-, and 4-byte hashing - * - * Minimum nice_len: 4 - * - * Memory usage: - * - dict_size <= 32 MiB: dict_size * 11.5 - * - dict_size > 32 MiB: dict_size * 10.5 - */ -} lzma_match_finder; - - -/** - * \brief Test if given match finder is supported - * - * Return true if the given match finder is supported by this liblzma build. - * Otherwise false is returned. It is safe to call this with a value that - * isn't listed in lzma_match_finder enumeration; the return value will be - * false. - * - * There is no way to list which match finders are available in this - * particular liblzma version and build. It would be useless, because - * a new match finder, which the application developer wasn't aware, - * could require giving additional options to the encoder that the older - * match finders don't need. - */ -extern LZMA_API(lzma_bool) lzma_mf_is_supported(lzma_match_finder match_finder) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Compression modes - * - * This selects the function used to analyze the data produced by the match - * finder. - */ -typedef enum { - LZMA_MODE_FAST = 1, - /**< - * \brief Fast compression - * - * Fast mode is usually at its best when combined with - * a hash chain match finder. - */ - - LZMA_MODE_NORMAL = 2 - /**< - * \brief Normal compression - * - * This is usually notably slower than fast mode. Use this - * together with binary tree match finders to expose the - * full potential of the LZMA1 or LZMA2 encoder. - */ -} lzma_mode; - - -/** - * \brief Test if given compression mode is supported - * - * Return true if the given compression mode is supported by this liblzma - * build. Otherwise false is returned. It is safe to call this with a value - * that isn't listed in lzma_mode enumeration; the return value will be false. - * - * There is no way to list which modes are available in this particular - * liblzma version and build. It would be useless, because a new compression - * mode, which the application developer wasn't aware, could require giving - * additional options to the encoder that the older modes don't need. - */ -extern LZMA_API(lzma_bool) lzma_mode_is_supported(lzma_mode mode) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Options specific to the LZMA1 and LZMA2 filters - * - * Since LZMA1 and LZMA2 share most of the code, it's simplest to share - * the options structure too. For encoding, all but the reserved variables - * need to be initialized unless specifically mentioned otherwise. - * lzma_lzma_preset() can be used to get a good starting point. - * - * For raw decoding, both LZMA1 and LZMA2 need dict_size, preset_dict, and - * preset_dict_size (if preset_dict != NULL). LZMA1 needs also lc, lp, and pb. - */ -typedef struct { - /** - * \brief Dictionary size in bytes - * - * Dictionary size indicates how many bytes of the recently processed - * uncompressed data is kept in memory. One method to reduce size of - * the uncompressed data is to store distance-length pairs, which - * indicate what data to repeat from the dictionary buffer. Thus, - * the bigger the dictionary, the better the compression ratio - * usually is. - * - * Maximum size of the dictionary depends on multiple things: - * - Memory usage limit - * - Available address space (not a problem on 64-bit systems) - * - Selected match finder (encoder only) - * - * Currently the maximum dictionary size for encoding is 1.5 GiB - * (i.e. (UINT32_C(1) << 30) + (UINT32_C(1) << 29)) even on 64-bit - * systems for certain match finder implementation reasons. In the - * future, there may be match finders that support bigger - * dictionaries. - * - * Decoder already supports dictionaries up to 4 GiB - 1 B (i.e. - * UINT32_MAX), so increasing the maximum dictionary size of the - * encoder won't cause problems for old decoders. - * - * Because extremely small dictionaries sizes would have unneeded - * overhead in the decoder, the minimum dictionary size is 4096 bytes. - * - * \note When decoding, too big dictionary does no other harm - * than wasting memory. - */ - uint32_t dict_size; -# define LZMA_DICT_SIZE_MIN UINT32_C(4096) -# define LZMA_DICT_SIZE_DEFAULT (UINT32_C(1) << 23) - - /** - * \brief Pointer to an initial dictionary - * - * It is possible to initialize the LZ77 history window using - * a preset dictionary. It is useful when compressing many - * similar, relatively small chunks of data independently from - * each other. The preset dictionary should contain typical - * strings that occur in the files being compressed. The most - * probable strings should be near the end of the preset dictionary. - * - * This feature should be used only in special situations. For - * now, it works correctly only with raw encoding and decoding. - * Currently none of the container formats supported by - * liblzma allow preset dictionary when decoding, thus if - * you create a .xz or .lzma file with preset dictionary, it - * cannot be decoded with the regular decoder functions. In the - * future, the .xz format will likely get support for preset - * dictionary though. - */ - const uint8_t *preset_dict; - - /** - * \brief Size of the preset dictionary - * - * Specifies the size of the preset dictionary. If the size is - * bigger than dict_size, only the last dict_size bytes are - * processed. - * - * This variable is read only when preset_dict is not NULL. - * If preset_dict is not NULL but preset_dict_size is zero, - * no preset dictionary is used (identical to only setting - * preset_dict to NULL). - */ - uint32_t preset_dict_size; - - /** - * \brief Number of literal context bits - * - * How many of the highest bits of the previous uncompressed - * eight-bit byte (also known as `literal') are taken into - * account when predicting the bits of the next literal. - * - * E.g. in typical English text, an upper-case letter is - * often followed by a lower-case letter, and a lower-case - * letter is usually followed by another lower-case letter. - * In the US-ASCII character set, the highest three bits are 010 - * for upper-case letters and 011 for lower-case letters. - * When lc is at least 3, the literal coding can take advantage of - * this property in the uncompressed data. - * - * There is a limit that applies to literal context bits and literal - * position bits together: lc + lp <= 4. Without this limit the - * decoding could become very slow, which could have security related - * results in some cases like email servers doing virus scanning. - * This limit also simplifies the internal implementation in liblzma. - * - * There may be LZMA1 streams that have lc + lp > 4 (maximum possible - * lc would be 8). It is not possible to decode such streams with - * liblzma. - */ - uint32_t lc; -# define LZMA_LCLP_MIN 0 -# define LZMA_LCLP_MAX 4 -# define LZMA_LC_DEFAULT 3 - - /** - * \brief Number of literal position bits - * - * lp affects what kind of alignment in the uncompressed data is - * assumed when encoding literals. A literal is a single 8-bit byte. - * See pb below for more information about alignment. - */ - uint32_t lp; -# define LZMA_LP_DEFAULT 0 - - /** - * \brief Number of position bits - * - * pb affects what kind of alignment in the uncompressed data is - * assumed in general. The default means four-byte alignment - * (2^ pb =2^2=4), which is often a good choice when there's - * no better guess. - * - * When the aligment is known, setting pb accordingly may reduce - * the file size a little. E.g. with text files having one-byte - * alignment (US-ASCII, ISO-8859-*, UTF-8), setting pb=0 can - * improve compression slightly. For UTF-16 text, pb=1 is a good - * choice. If the alignment is an odd number like 3 bytes, pb=0 - * might be the best choice. - * - * Even though the assumed alignment can be adjusted with pb and - * lp, LZMA1 and LZMA2 still slightly favor 16-byte alignment. - * It might be worth taking into account when designing file formats - * that are likely to be often compressed with LZMA1 or LZMA2. - */ - uint32_t pb; -# define LZMA_PB_MIN 0 -# define LZMA_PB_MAX 4 -# define LZMA_PB_DEFAULT 2 - - /** Compression mode */ - lzma_mode mode; - - /** - * \brief Nice length of a match - * - * This determines how many bytes the encoder compares from the match - * candidates when looking for the best match. Once a match of at - * least nice_len bytes long is found, the encoder stops looking for - * better candidates and encodes the match. (Naturally, if the found - * match is actually longer than nice_len, the actual length is - * encoded; it's not truncated to nice_len.) - * - * Bigger values usually increase the compression ratio and - * compression time. For most files, 32 to 128 is a good value, - * which gives very good compression ratio at good speed. - * - * The exact minimum value depends on the match finder. The maximum - * is 273, which is the maximum length of a match that LZMA1 and - * LZMA2 can encode. - */ - uint32_t nice_len; - - /** Match finder ID */ - lzma_match_finder mf; - - /** - * \brief Maximum search depth in the match finder - * - * For every input byte, match finder searches through the hash chain - * or binary tree in a loop, each iteration going one step deeper in - * the chain or tree. The searching stops if - * - a match of at least nice_len bytes long is found; - * - all match candidates from the hash chain or binary tree have - * been checked; or - * - maximum search depth is reached. - * - * Maximum search depth is needed to prevent the match finder from - * wasting too much time in case there are lots of short match - * candidates. On the other hand, stopping the search before all - * candidates have been checked can reduce compression ratio. - * - * Setting depth to zero tells liblzma to use an automatic default - * value, that depends on the selected match finder and nice_len. - * The default is in the range [4, 200] or so (it may vary between - * liblzma versions). - * - * Using a bigger depth value than the default can increase - * compression ratio in some cases. There is no strict maximum value, - * but high values (thousands or millions) should be used with care: - * the encoder could remain fast enough with typical input, but - * malicious input could cause the match finder to slow down - * dramatically, possibly creating a denial of service attack. - */ - uint32_t depth; - - /* - * Reserved space to allow possible future extensions without - * breaking the ABI. You should not touch these, because the names - * of these variables may change. These are and will never be used - * with the currently supported options, so it is safe to leave these - * uninitialized. - */ - uint32_t reserved_int1; - uint32_t reserved_int2; - uint32_t reserved_int3; - uint32_t reserved_int4; - uint32_t reserved_int5; - uint32_t reserved_int6; - uint32_t reserved_int7; - uint32_t reserved_int8; - lzma_reserved_enum reserved_enum1; - lzma_reserved_enum reserved_enum2; - lzma_reserved_enum reserved_enum3; - lzma_reserved_enum reserved_enum4; - void *reserved_ptr1; - void *reserved_ptr2; - -} lzma_options_lzma; - - -/** - * \brief Set a compression preset to lzma_options_lzma structure - * - * 0 is the fastest and 9 is the slowest. These match the switches -0 .. -9 - * of the xz command line tool. In addition, it is possible to bitwise-or - * flags to the preset. Currently only LZMA_PRESET_EXTREME is supported. - * The flags are defined in container.h, because the flags are used also - * with lzma_easy_encoder(). - * - * The preset values are subject to changes between liblzma versions. - * - * This function is available only if LZMA1 or LZMA2 encoder has been enabled - * when building liblzma. - * - * \return On success, false is returned. If the preset is not - * supported, true is returned. - */ -extern LZMA_API(lzma_bool) lzma_lzma_preset( - lzma_options_lzma *options, uint32_t preset) lzma_nothrow; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/stream_flags.h b/Build/source/extra/xz/src/liblzma/api/lzma/stream_flags.h deleted file mode 100644 index bbdd408263e..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/stream_flags.h +++ /dev/null @@ -1,223 +0,0 @@ -/** - * \file lzma/stream_flags.h - * \brief .xz Stream Header and Stream Footer encoder and decoder - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Size of Stream Header and Stream Footer - * - * Stream Header and Stream Footer have the same size and they are not - * going to change even if a newer version of the .xz file format is - * developed in future. - */ -#define LZMA_STREAM_HEADER_SIZE 12 - - -/** - * \brief Options for encoding/decoding Stream Header and Stream Footer - */ -typedef struct { - /** - * \brief Stream Flags format version - * - * To prevent API and ABI breakages if new features are needed in - * Stream Header or Stream Footer, a version number is used to - * indicate which fields in this structure are in use. For now, - * version must always be zero. With non-zero version, the - * lzma_stream_header_encode() and lzma_stream_footer_encode() - * will return LZMA_OPTIONS_ERROR. - * - * lzma_stream_header_decode() and lzma_stream_footer_decode() - * will always set this to the lowest value that supports all the - * features indicated by the Stream Flags field. The application - * must check that the version number set by the decoding functions - * is supported by the application. Otherwise it is possible that - * the application will decode the Stream incorrectly. - */ - uint32_t version; - - /** - * \brief Backward Size - * - * Backward Size must be a multiple of four bytes. In this Stream - * format version, Backward Size is the size of the Index field. - * - * Backward Size isn't actually part of the Stream Flags field, but - * it is convenient to include in this structure anyway. Backward - * Size is present only in the Stream Footer. There is no need to - * initialize backward_size when encoding Stream Header. - * - * lzma_stream_header_decode() always sets backward_size to - * LZMA_VLI_UNKNOWN so that it is convenient to use - * lzma_stream_flags_compare() when both Stream Header and Stream - * Footer have been decoded. - */ - lzma_vli backward_size; -# define LZMA_BACKWARD_SIZE_MIN 4 -# define LZMA_BACKWARD_SIZE_MAX (LZMA_VLI_C(1) << 34) - - /** - * \brief Check ID - * - * This indicates the type of the integrity check calculated from - * uncompressed data. - */ - lzma_check check; - - /* - * Reserved space to allow possible future extensions without - * breaking the ABI. You should not touch these, because the - * names of these variables may change. - * - * (We will never be able to use all of these since Stream Flags - * is just two bytes plus Backward Size of four bytes. But it's - * nice to have the proper types when they are needed.) - */ - lzma_reserved_enum reserved_enum1; - lzma_reserved_enum reserved_enum2; - lzma_reserved_enum reserved_enum3; - lzma_reserved_enum reserved_enum4; - lzma_bool reserved_bool1; - lzma_bool reserved_bool2; - lzma_bool reserved_bool3; - lzma_bool reserved_bool4; - lzma_bool reserved_bool5; - lzma_bool reserved_bool6; - lzma_bool reserved_bool7; - lzma_bool reserved_bool8; - uint32_t reserved_int1; - uint32_t reserved_int2; - -} lzma_stream_flags; - - -/** - * \brief Encode Stream Header - * - * \param options Stream Header options to be encoded. - * options->backward_size is ignored and doesn't - * need to be initialized. - * \param out Beginning of the output buffer of - * LZMA_STREAM_HEADER_SIZE bytes. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_OPTIONS_ERROR: options->version is not supported by - * this liblzma version. - * - LZMA_PROG_ERROR: Invalid options. - */ -extern LZMA_API(lzma_ret) lzma_stream_header_encode( - const lzma_stream_flags *options, uint8_t *out) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Encode Stream Footer - * - * \param options Stream Footer options to be encoded. - * \param out Beginning of the output buffer of - * LZMA_STREAM_HEADER_SIZE bytes. - * - * \return - LZMA_OK: Encoding was successful. - * - LZMA_OPTIONS_ERROR: options->version is not supported by - * this liblzma version. - * - LZMA_PROG_ERROR: Invalid options. - */ -extern LZMA_API(lzma_ret) lzma_stream_footer_encode( - const lzma_stream_flags *options, uint8_t *out) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode Stream Header - * - * \param options Target for the decoded Stream Header options. - * \param in Beginning of the input buffer of - * LZMA_STREAM_HEADER_SIZE bytes. - * - * options->backward_size is always set to LZMA_VLI_UNKNOWN. This is to - * help comparing Stream Flags from Stream Header and Stream Footer with - * lzma_stream_flags_compare(). - * - * \return - LZMA_OK: Decoding was successful. - * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given - * buffer cannot be Stream Header. - * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the header - * is corrupt. - * - LZMA_OPTIONS_ERROR: Unsupported options are present - * in the header. - * - * \note When decoding .xz files that contain multiple Streams, it may - * make sense to print "file format not recognized" only if - * decoding of the Stream Header of the _first_ Stream gives - * LZMA_FORMAT_ERROR. If non-first Stream Header gives - * LZMA_FORMAT_ERROR, the message used for LZMA_DATA_ERROR is - * probably more appropriate. - * - * For example, Stream decoder in liblzma uses LZMA_DATA_ERROR if - * LZMA_FORMAT_ERROR is returned by lzma_stream_header_decode() - * when decoding non-first Stream. - */ -extern LZMA_API(lzma_ret) lzma_stream_header_decode( - lzma_stream_flags *options, const uint8_t *in) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Decode Stream Footer - * - * \param options Target for the decoded Stream Header options. - * \param in Beginning of the input buffer of - * LZMA_STREAM_HEADER_SIZE bytes. - * - * \return - LZMA_OK: Decoding was successful. - * - LZMA_FORMAT_ERROR: Magic bytes don't match, thus the given - * buffer cannot be Stream Footer. - * - LZMA_DATA_ERROR: CRC32 doesn't match, thus the Stream Footer - * is corrupt. - * - LZMA_OPTIONS_ERROR: Unsupported options are present - * in Stream Footer. - * - * \note If Stream Header was already decoded successfully, but - * decoding Stream Footer returns LZMA_FORMAT_ERROR, the - * application should probably report some other error message - * than "file format not recognized", since the file more likely - * is corrupt (possibly truncated). Stream decoder in liblzma - * uses LZMA_DATA_ERROR in this situation. - */ -extern LZMA_API(lzma_ret) lzma_stream_footer_decode( - lzma_stream_flags *options, const uint8_t *in) - lzma_nothrow lzma_attr_warn_unused_result; - - -/** - * \brief Compare two lzma_stream_flags structures - * - * backward_size values are compared only if both are not - * LZMA_VLI_UNKNOWN. - * - * \return - LZMA_OK: Both are equal. If either had backward_size set - * to LZMA_VLI_UNKNOWN, backward_size values were not - * compared or validated. - * - LZMA_DATA_ERROR: The structures differ. - * - LZMA_OPTIONS_ERROR: version in either structure is greater - * than the maximum supported version (currently zero). - * - LZMA_PROG_ERROR: Invalid value, e.g. invalid check or - * backward_size. - */ -extern LZMA_API(lzma_ret) lzma_stream_flags_compare( - const lzma_stream_flags *a, const lzma_stream_flags *b) - lzma_nothrow lzma_attr_pure; diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/version.h b/Build/source/extra/xz/src/liblzma/api/lzma/version.h deleted file mode 100644 index 66e93965dca..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/version.h +++ /dev/null @@ -1,121 +0,0 @@ -/** - * \file lzma/version.h - * \brief Version number - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/* - * Version number split into components - */ -#define LZMA_VERSION_MAJOR 5 -#define LZMA_VERSION_MINOR 0 -#define LZMA_VERSION_PATCH 5 -#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE - -#ifndef LZMA_VERSION_COMMIT -# define LZMA_VERSION_COMMIT "" -#endif - - -/* - * Map symbolic stability levels to integers. - */ -#define LZMA_VERSION_STABILITY_ALPHA 0 -#define LZMA_VERSION_STABILITY_BETA 1 -#define LZMA_VERSION_STABILITY_STABLE 2 - - -/** - * \brief Compile-time version number - * - * The version number is of format xyyyzzzs where - * - x = major - * - yyy = minor - * - zzz = revision - * - s indicates stability: 0 = alpha, 1 = beta, 2 = stable - * - * The same xyyyzzz triplet is never reused with different stability levels. - * For example, if 5.1.0alpha has been released, there will never be 5.1.0beta - * or 5.1.0 stable. - * - * \note The version number of liblzma has nothing to with - * the version number of Igor Pavlov's LZMA SDK. - */ -#define LZMA_VERSION (LZMA_VERSION_MAJOR * UINT32_C(10000000) \ - + LZMA_VERSION_MINOR * UINT32_C(10000) \ - + LZMA_VERSION_PATCH * UINT32_C(10) \ - + LZMA_VERSION_STABILITY) - - -/* - * Macros to construct the compile-time version string - */ -#if LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_ALPHA -# define LZMA_VERSION_STABILITY_STRING "alpha" -#elif LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_BETA -# define LZMA_VERSION_STABILITY_STRING "beta" -#elif LZMA_VERSION_STABILITY == LZMA_VERSION_STABILITY_STABLE -# define LZMA_VERSION_STABILITY_STRING "" -#else -# error Incorrect LZMA_VERSION_STABILITY -#endif - -#define LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit) \ - #major "." #minor "." #patch stability commit - -#define LZMA_VERSION_STRING_C(major, minor, patch, stability, commit) \ - LZMA_VERSION_STRING_C_(major, minor, patch, stability, commit) - - -/** - * \brief Compile-time version as a string - * - * This can be for example "4.999.5alpha", "4.999.8beta", or "5.0.0" (stable - * versions don't have any "stable" suffix). In future, a snapshot built - * from source code repository may include an additional suffix, for example - * "4.999.8beta-21-g1d92". The commit ID won't be available in numeric form - * in LZMA_VERSION macro. - */ -#define LZMA_VERSION_STRING LZMA_VERSION_STRING_C( \ - LZMA_VERSION_MAJOR, LZMA_VERSION_MINOR, \ - LZMA_VERSION_PATCH, LZMA_VERSION_STABILITY_STRING, \ - LZMA_VERSION_COMMIT) - - -/* #ifndef is needed for use with windres (MinGW or Cygwin). */ -#ifndef LZMA_H_INTERNAL_RC - -/** - * \brief Run-time version number as an integer - * - * Return the value of LZMA_VERSION macro at the compile time of liblzma. - * This allows the application to compare if it was built against the same, - * older, or newer version of liblzma that is currently running. - */ -extern LZMA_API(uint32_t) lzma_version_number(void) - lzma_nothrow lzma_attr_const; - - -/** - * \brief Run-time version as a string - * - * This function may be useful if you want to display which version of - * liblzma your application is currently using. - */ -extern LZMA_API(const char *) lzma_version_string(void) - lzma_nothrow lzma_attr_const; - -#endif diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/vli.h b/Build/source/extra/xz/src/liblzma/api/lzma/vli.h deleted file mode 100644 index 9ad13f2e2fc..00000000000 --- a/Build/source/extra/xz/src/liblzma/api/lzma/vli.h +++ /dev/null @@ -1,166 +0,0 @@ -/** - * \file lzma/vli.h - * \brief Variable-length integer handling - * - * In the .xz format, most integers are encoded in a variable-length - * representation, which is sometimes called little endian base-128 encoding. - * This saves space when smaller values are more likely than bigger values. - * - * The encoding scheme encodes seven bits to every byte, using minimum - * number of bytes required to represent the given value. Encodings that use - * non-minimum number of bytes are invalid, thus every integer has exactly - * one encoded representation. The maximum number of bits in a VLI is 63, - * thus the vli argument must be less than or equal to UINT64_MAX / 2. You - * should use LZMA_VLI_MAX for clarity. - */ - -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * See ../lzma.h for information about liblzma as a whole. - */ - -#ifndef LZMA_H_INTERNAL -# error Never include this file directly. Use instead. -#endif - - -/** - * \brief Maximum supported value of a variable-length integer - */ -#define LZMA_VLI_MAX (UINT64_MAX / 2) - -/** - * \brief VLI value to denote that the value is unknown - */ -#define LZMA_VLI_UNKNOWN UINT64_MAX - -/** - * \brief Maximum supported encoded length of variable length integers - */ -#define LZMA_VLI_BYTES_MAX 9 - -/** - * \brief VLI constant suffix - */ -#define LZMA_VLI_C(n) UINT64_C(n) - - -/** - * \brief Variable-length integer type - * - * Valid VLI values are in the range [0, LZMA_VLI_MAX]. Unknown value is - * indicated with LZMA_VLI_UNKNOWN, which is the maximum value of the - * underlaying integer type. - * - * lzma_vli will be uint64_t for the foreseeable future. If a bigger size - * is needed in the future, it is guaranteed that 2 * LZMA_VLI_MAX will - * not overflow lzma_vli. This simplifies integer overflow detection. - */ -typedef uint64_t lzma_vli; - - -/** - * \brief Validate a variable-length integer - * - * This is useful to test that application has given acceptable values - * for example in the uncompressed_size and compressed_size variables. - * - * \return True if the integer is representable as VLI or if it - * indicates unknown value. - */ -#define lzma_vli_is_valid(vli) \ - ((vli) <= LZMA_VLI_MAX || (vli) == LZMA_VLI_UNKNOWN) - - -/** - * \brief Encode a variable-length integer - * - * This function has two modes: single-call and multi-call. Single-call mode - * encodes the whole integer at once; it is an error if the output buffer is - * too small. Multi-call mode saves the position in *vli_pos, and thus it is - * possible to continue encoding if the buffer becomes full before the whole - * integer has been encoded. - * - * \param vli Integer to be encoded - * \param vli_pos How many VLI-encoded bytes have already been written - * out. When starting to encode a new integer in - * multi-call mode, *vli_pos must be set to zero. - * To use single-call encoding, set vli_pos to NULL. - * \param out Beginning of the output buffer - * \param out_pos The next byte will be written to out[*out_pos]. - * \param out_size Size of the out buffer; the first byte into - * which no data is written to is out[out_size]. - * - * \return Slightly different return values are used in multi-call and - * single-call modes. - * - * Single-call (vli_pos == NULL): - * - LZMA_OK: Integer successfully encoded. - * - LZMA_PROG_ERROR: Arguments are not sane. This can be due - * to too little output space; single-call mode doesn't use - * LZMA_BUF_ERROR, since the application should have checked - * the encoded size with lzma_vli_size(). - * - * Multi-call (vli_pos != NULL): - * - LZMA_OK: So far all OK, but the integer is not - * completely written out yet. - * - LZMA_STREAM_END: Integer successfully encoded. - * - LZMA_BUF_ERROR: No output space was provided. - * - LZMA_PROG_ERROR: Arguments are not sane. - */ -extern LZMA_API(lzma_ret) lzma_vli_encode(lzma_vli vli, size_t *vli_pos, - uint8_t *out, size_t *out_pos, size_t out_size) lzma_nothrow; - - -/** - * \brief Decode a variable-length integer - * - * Like lzma_vli_encode(), this function has single-call and multi-call modes. - * - * \param vli Pointer to decoded integer. The decoder will - * initialize it to zero when *vli_pos == 0, so - * application isn't required to initialize *vli. - * \param vli_pos How many bytes have already been decoded. When - * starting to decode a new integer in multi-call - * mode, *vli_pos must be initialized to zero. To - * use single-call decoding, set vli_pos to NULL. - * \param in Beginning of the input buffer - * \param in_pos The next byte will be read from in[*in_pos]. - * \param in_size Size of the input buffer; the first byte that - * won't be read is in[in_size]. - * - * \return Slightly different return values are used in multi-call and - * single-call modes. - * - * Single-call (vli_pos == NULL): - * - LZMA_OK: Integer successfully decoded. - * - LZMA_DATA_ERROR: Integer is corrupt. This includes hitting - * the end of the input buffer before the whole integer was - * decoded; providing no input at all will use LZMA_DATA_ERROR. - * - LZMA_PROG_ERROR: Arguments are not sane. - * - * Multi-call (vli_pos != NULL): - * - LZMA_OK: So far all OK, but the integer is not - * completely decoded yet. - * - LZMA_STREAM_END: Integer successfully decoded. - * - LZMA_DATA_ERROR: Integer is corrupt. - * - LZMA_BUF_ERROR: No input was provided. - * - LZMA_PROG_ERROR: Arguments are not sane. - */ -extern LZMA_API(lzma_ret) lzma_vli_decode(lzma_vli *vli, size_t *vli_pos, - const uint8_t *in, size_t *in_pos, size_t in_size) - lzma_nothrow; - - -/** - * \brief Get the number of bytes required to encode a VLI - * - * \return Number of bytes on success (1-9). If vli isn't valid, - * zero is returned. - */ -extern LZMA_API(uint32_t) lzma_vli_size(lzma_vli vli) - lzma_nothrow lzma_attr_pure; diff --git a/Build/source/extra/xz/src/liblzma/check/Makefile.inc b/Build/source/extra/xz/src/liblzma/check/Makefile.inc deleted file mode 100644 index e4067a9cbcb..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/Makefile.inc +++ /dev/null @@ -1,51 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -EXTRA_DIST += \ - check/crc32_tablegen.c \ - check/crc64_tablegen.c - -liblzma_la_SOURCES += \ - check/check.c \ - check/check.h \ - check/crc_macros.h - -if COND_CHECK_CRC32 -if COND_SMALL -liblzma_la_SOURCES += check/crc32_small.c -else -liblzma_la_SOURCES += \ - check/crc32_table.c \ - check/crc32_table_le.h \ - check/crc32_table_be.h -if COND_ASM_X86 -liblzma_la_SOURCES += check/crc32_x86.S -else -liblzma_la_SOURCES += check/crc32_fast.c -endif -endif -endif - -if COND_CHECK_CRC64 -if COND_SMALL -liblzma_la_SOURCES += check/crc64_small.c -else -liblzma_la_SOURCES += \ - check/crc64_table.c \ - check/crc64_table_le.h \ - check/crc64_table_be.h -if COND_ASM_X86 -liblzma_la_SOURCES += check/crc64_x86.S -else -liblzma_la_SOURCES += check/crc64_fast.c -endif -endif -endif - -if COND_CHECK_SHA256 -liblzma_la_SOURCES += check/sha256.c -endif diff --git a/Build/source/extra/xz/src/liblzma/check/check.c b/Build/source/extra/xz/src/liblzma/check/check.c deleted file mode 100644 index 428ddaeb779..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/check.c +++ /dev/null @@ -1,174 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file check.c -/// \brief Single API to access different integrity checks -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "check.h" - - -extern LZMA_API(lzma_bool) -lzma_check_is_supported(lzma_check type) -{ - if ((unsigned int)(type) > LZMA_CHECK_ID_MAX) - return false; - - static const lzma_bool available_checks[LZMA_CHECK_ID_MAX + 1] = { - true, // LZMA_CHECK_NONE - -#ifdef HAVE_CHECK_CRC32 - true, -#else - false, -#endif - - false, // Reserved - false, // Reserved - -#ifdef HAVE_CHECK_CRC64 - true, -#else - false, -#endif - - false, // Reserved - false, // Reserved - false, // Reserved - false, // Reserved - false, // Reserved - -#ifdef HAVE_CHECK_SHA256 - true, -#else - false, -#endif - - false, // Reserved - false, // Reserved - false, // Reserved - false, // Reserved - false, // Reserved - }; - - return available_checks[(unsigned int)(type)]; -} - - -extern LZMA_API(uint32_t) -lzma_check_size(lzma_check type) -{ - if ((unsigned int)(type) > LZMA_CHECK_ID_MAX) - return UINT32_MAX; - - // See file-format.txt section 2.1.1.2. - static const uint8_t check_sizes[LZMA_CHECK_ID_MAX + 1] = { - 0, - 4, 4, 4, - 8, 8, 8, - 16, 16, 16, - 32, 32, 32, - 64, 64, 64 - }; - - return check_sizes[(unsigned int)(type)]; -} - - -extern void -lzma_check_init(lzma_check_state *check, lzma_check type) -{ - switch (type) { - case LZMA_CHECK_NONE: - break; - -#ifdef HAVE_CHECK_CRC32 - case LZMA_CHECK_CRC32: - check->state.crc32 = 0; - break; -#endif - -#ifdef HAVE_CHECK_CRC64 - case LZMA_CHECK_CRC64: - check->state.crc64 = 0; - break; -#endif - -#ifdef HAVE_CHECK_SHA256 - case LZMA_CHECK_SHA256: - lzma_sha256_init(check); - break; -#endif - - default: - break; - } - - return; -} - - -extern void -lzma_check_update(lzma_check_state *check, lzma_check type, - const uint8_t *buf, size_t size) -{ - switch (type) { -#ifdef HAVE_CHECK_CRC32 - case LZMA_CHECK_CRC32: - check->state.crc32 = lzma_crc32(buf, size, check->state.crc32); - break; -#endif - -#ifdef HAVE_CHECK_CRC64 - case LZMA_CHECK_CRC64: - check->state.crc64 = lzma_crc64(buf, size, check->state.crc64); - break; -#endif - -#ifdef HAVE_CHECK_SHA256 - case LZMA_CHECK_SHA256: - lzma_sha256_update(buf, size, check); - break; -#endif - - default: - break; - } - - return; -} - - -extern void -lzma_check_finish(lzma_check_state *check, lzma_check type) -{ - switch (type) { -#ifdef HAVE_CHECK_CRC32 - case LZMA_CHECK_CRC32: - check->buffer.u32[0] = conv32le(check->state.crc32); - break; -#endif - -#ifdef HAVE_CHECK_CRC64 - case LZMA_CHECK_CRC64: - check->buffer.u64[0] = conv64le(check->state.crc64); - break; -#endif - -#ifdef HAVE_CHECK_SHA256 - case LZMA_CHECK_SHA256: - lzma_sha256_finish(check); - break; -#endif - - default: - break; - } - - return; -} diff --git a/Build/source/extra/xz/src/liblzma/check/check.h b/Build/source/extra/xz/src/liblzma/check/check.h deleted file mode 100644 index e100d2b8530..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/check.h +++ /dev/null @@ -1,95 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file check.h -/// \brief Internal API to different integrity check functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_CHECK_H -#define LZMA_CHECK_H - -#include "common.h" - - -// Index hashing needs the best possible hash function (preferably -// a cryptographic hash) for maximum reliability. -#if defined(HAVE_CHECK_SHA256) -# define LZMA_CHECK_BEST LZMA_CHECK_SHA256 -#elif defined(HAVE_CHECK_CRC64) -# define LZMA_CHECK_BEST LZMA_CHECK_CRC64 -#else -# define LZMA_CHECK_BEST LZMA_CHECK_CRC32 -#endif - - -/// \brief Structure to hold internal state of the check being calculated -/// -/// \note This is not in the public API because this structure may -/// change in future if new integrity check algorithms are added. -typedef struct { - /// Buffer to hold the final result and a temporary buffer for SHA256. - union { - uint8_t u8[64]; - uint32_t u32[16]; - uint64_t u64[8]; - } buffer; - - /// Check-specific data - union { - uint32_t crc32; - uint64_t crc64; - - struct { - /// Internal state - uint32_t state[8]; - - /// Size of the message excluding padding - uint64_t size; - } sha256; - } state; - -} lzma_check_state; - - -/// lzma_crc32_table[0] is needed by LZ encoder so we need to keep -/// the array two-dimensional. -#ifdef HAVE_SMALL -extern uint32_t lzma_crc32_table[1][256]; -extern void lzma_crc32_init(void); -#else -extern const uint32_t lzma_crc32_table[8][256]; -extern const uint64_t lzma_crc64_table[4][256]; -#endif - - -/// \brief Initialize *check depending on type -/// -/// \return LZMA_OK on success. LZMA_UNSUPPORTED_CHECK if the type is not -/// supported by the current version or build of liblzma. -/// LZMA_PROG_ERROR if type > LZMA_CHECK_ID_MAX. -extern void lzma_check_init(lzma_check_state *check, lzma_check type); - -/// Update the check state -extern void lzma_check_update(lzma_check_state *check, lzma_check type, - const uint8_t *buf, size_t size); - -/// Finish the check calculation and store the result to check->buffer.u8. -extern void lzma_check_finish(lzma_check_state *check, lzma_check type); - - -/// Prepare SHA-256 state for new input. -extern void lzma_sha256_init(lzma_check_state *check); - -/// Update the SHA-256 hash state -extern void lzma_sha256_update( - const uint8_t *buf, size_t size, lzma_check_state *check); - -/// Finish the SHA-256 calculation and store the result to check->buffer.u8. -extern void lzma_sha256_finish(lzma_check_state *check); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_fast.c b/Build/source/extra/xz/src/liblzma/check/crc32_fast.c deleted file mode 100644 index 94da85592d8..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_fast.c +++ /dev/null @@ -1,82 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc32.c -/// \brief CRC32 calculation -/// -/// Calculate the CRC32 using the slice-by-eight algorithm. -/// It is explained in this document: -/// http://www.intel.com/technology/comms/perfnet/download/CRC_generators.pdf -/// The code in this file is not the same as in Intel's paper, but -/// the basic principle is identical. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "check.h" -#include "crc_macros.h" - - -// If you make any changes, do some bench marking! Seemingly unrelated -// changes can very easily ruin the performance (and very probably is -// very compiler dependent). -extern LZMA_API(uint32_t) -lzma_crc32(const uint8_t *buf, size_t size, uint32_t crc) -{ - crc = ~crc; - -#ifdef WORDS_BIGENDIAN - crc = bswap32(crc); -#endif - - if (size > 8) { - // Fix the alignment, if needed. The if statement above - // ensures that this won't read past the end of buf[]. - while ((uintptr_t)(buf) & 7) { - crc = lzma_crc32_table[0][*buf++ ^ A(crc)] ^ S8(crc); - --size; - } - - // Calculate the position where to stop. - const uint8_t *const limit = buf + (size & ~(size_t)(7)); - - // Calculate how many bytes must be calculated separately - // before returning the result. - size &= (size_t)(7); - - // Calculate the CRC32 using the slice-by-eight algorithm. - while (buf < limit) { - crc ^= *(const uint32_t *)(buf); - buf += 4; - - crc = lzma_crc32_table[7][A(crc)] - ^ lzma_crc32_table[6][B(crc)] - ^ lzma_crc32_table[5][C(crc)] - ^ lzma_crc32_table[4][D(crc)]; - - const uint32_t tmp = *(const uint32_t *)(buf); - buf += 4; - - // At least with some compilers, it is critical for - // performance, that the crc variable is XORed - // between the two table-lookup pairs. - crc = lzma_crc32_table[3][A(tmp)] - ^ lzma_crc32_table[2][B(tmp)] - ^ crc - ^ lzma_crc32_table[1][C(tmp)] - ^ lzma_crc32_table[0][D(tmp)]; - } - } - - while (size-- != 0) - crc = lzma_crc32_table[0][*buf++ ^ A(crc)] ^ S8(crc); - -#ifdef WORDS_BIGENDIAN - crc = bswap32(crc); -#endif - - return ~crc; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_small.c b/Build/source/extra/xz/src/liblzma/check/crc32_small.c deleted file mode 100644 index 5f8a3286878..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_small.c +++ /dev/null @@ -1,61 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc32_small.c -/// \brief CRC32 calculation (size-optimized) -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "check.h" - - -uint32_t lzma_crc32_table[1][256]; - - -static void -crc32_init(void) -{ - static const uint32_t poly32 = UINT32_C(0xEDB88320); - - for (size_t b = 0; b < 256; ++b) { - uint32_t r = b; - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly32; - else - r >>= 1; - } - - lzma_crc32_table[0][b] = r; - } - - return; -} - - -extern void -lzma_crc32_init(void) -{ - mythread_once(crc32_init); - return; -} - - -extern LZMA_API(uint32_t) -lzma_crc32(const uint8_t *buf, size_t size, uint32_t crc) -{ - lzma_crc32_init(); - - crc = ~crc; - - while (size != 0) { - crc = lzma_crc32_table[0][*buf++ ^ (crc & 0xFF)] ^ (crc >> 8); - --size; - } - - return ~crc; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_table.c b/Build/source/extra/xz/src/liblzma/check/crc32_table.c deleted file mode 100644 index 368874eb79d..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_table.c +++ /dev/null @@ -1,19 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc32_table.c -/// \brief Precalculated CRC32 table with correct endianness -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - -#ifdef WORDS_BIGENDIAN -# include "crc32_table_be.h" -#else -# include "crc32_table_le.h" -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_table_be.h b/Build/source/extra/xz/src/liblzma/check/crc32_table_be.h deleted file mode 100644 index c483cb670dc..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_table_be.h +++ /dev/null @@ -1,525 +0,0 @@ -/* This file has been automatically generated by crc32_tablegen.c. */ - -const uint32_t lzma_crc32_table[8][256] = { - { - 0x00000000, 0x96300777, 0x2C610EEE, 0xBA510999, - 0x19C46D07, 0x8FF46A70, 0x35A563E9, 0xA395649E, - 0x3288DB0E, 0xA4B8DC79, 0x1EE9D5E0, 0x88D9D297, - 0x2B4CB609, 0xBD7CB17E, 0x072DB8E7, 0x911DBF90, - 0x6410B71D, 0xF220B06A, 0x4871B9F3, 0xDE41BE84, - 0x7DD4DA1A, 0xEBE4DD6D, 0x51B5D4F4, 0xC785D383, - 0x56986C13, 0xC0A86B64, 0x7AF962FD, 0xECC9658A, - 0x4F5C0114, 0xD96C0663, 0x633D0FFA, 0xF50D088D, - 0xC8206E3B, 0x5E10694C, 0xE44160D5, 0x727167A2, - 0xD1E4033C, 0x47D4044B, 0xFD850DD2, 0x6BB50AA5, - 0xFAA8B535, 0x6C98B242, 0xD6C9BBDB, 0x40F9BCAC, - 0xE36CD832, 0x755CDF45, 0xCF0DD6DC, 0x593DD1AB, - 0xAC30D926, 0x3A00DE51, 0x8051D7C8, 0x1661D0BF, - 0xB5F4B421, 0x23C4B356, 0x9995BACF, 0x0FA5BDB8, - 0x9EB80228, 0x0888055F, 0xB2D90CC6, 0x24E90BB1, - 0x877C6F2F, 0x114C6858, 0xAB1D61C1, 0x3D2D66B6, - 0x9041DC76, 0x0671DB01, 0xBC20D298, 0x2A10D5EF, - 0x8985B171, 0x1FB5B606, 0xA5E4BF9F, 0x33D4B8E8, - 0xA2C90778, 0x34F9000F, 0x8EA80996, 0x18980EE1, - 0xBB0D6A7F, 0x2D3D6D08, 0x976C6491, 0x015C63E6, - 0xF4516B6B, 0x62616C1C, 0xD8306585, 0x4E0062F2, - 0xED95066C, 0x7BA5011B, 0xC1F40882, 0x57C40FF5, - 0xC6D9B065, 0x50E9B712, 0xEAB8BE8B, 0x7C88B9FC, - 0xDF1DDD62, 0x492DDA15, 0xF37CD38C, 0x654CD4FB, - 0x5861B24D, 0xCE51B53A, 0x7400BCA3, 0xE230BBD4, - 0x41A5DF4A, 0xD795D83D, 0x6DC4D1A4, 0xFBF4D6D3, - 0x6AE96943, 0xFCD96E34, 0x468867AD, 0xD0B860DA, - 0x732D0444, 0xE51D0333, 0x5F4C0AAA, 0xC97C0DDD, - 0x3C710550, 0xAA410227, 0x10100BBE, 0x86200CC9, - 0x25B56857, 0xB3856F20, 0x09D466B9, 0x9FE461CE, - 0x0EF9DE5E, 0x98C9D929, 0x2298D0B0, 0xB4A8D7C7, - 0x173DB359, 0x810DB42E, 0x3B5CBDB7, 0xAD6CBAC0, - 0x2083B8ED, 0xB6B3BF9A, 0x0CE2B603, 0x9AD2B174, - 0x3947D5EA, 0xAF77D29D, 0x1526DB04, 0x8316DC73, - 0x120B63E3, 0x843B6494, 0x3E6A6D0D, 0xA85A6A7A, - 0x0BCF0EE4, 0x9DFF0993, 0x27AE000A, 0xB19E077D, - 0x44930FF0, 0xD2A30887, 0x68F2011E, 0xFEC20669, - 0x5D5762F7, 0xCB676580, 0x71366C19, 0xE7066B6E, - 0x761BD4FE, 0xE02BD389, 0x5A7ADA10, 0xCC4ADD67, - 0x6FDFB9F9, 0xF9EFBE8E, 0x43BEB717, 0xD58EB060, - 0xE8A3D6D6, 0x7E93D1A1, 0xC4C2D838, 0x52F2DF4F, - 0xF167BBD1, 0x6757BCA6, 0xDD06B53F, 0x4B36B248, - 0xDA2B0DD8, 0x4C1B0AAF, 0xF64A0336, 0x607A0441, - 0xC3EF60DF, 0x55DF67A8, 0xEF8E6E31, 0x79BE6946, - 0x8CB361CB, 0x1A8366BC, 0xA0D26F25, 0x36E26852, - 0x95770CCC, 0x03470BBB, 0xB9160222, 0x2F260555, - 0xBE3BBAC5, 0x280BBDB2, 0x925AB42B, 0x046AB35C, - 0xA7FFD7C2, 0x31CFD0B5, 0x8B9ED92C, 0x1DAEDE5B, - 0xB0C2649B, 0x26F263EC, 0x9CA36A75, 0x0A936D02, - 0xA906099C, 0x3F360EEB, 0x85670772, 0x13570005, - 0x824ABF95, 0x147AB8E2, 0xAE2BB17B, 0x381BB60C, - 0x9B8ED292, 0x0DBED5E5, 0xB7EFDC7C, 0x21DFDB0B, - 0xD4D2D386, 0x42E2D4F1, 0xF8B3DD68, 0x6E83DA1F, - 0xCD16BE81, 0x5B26B9F6, 0xE177B06F, 0x7747B718, - 0xE65A0888, 0x706A0FFF, 0xCA3B0666, 0x5C0B0111, - 0xFF9E658F, 0x69AE62F8, 0xD3FF6B61, 0x45CF6C16, - 0x78E20AA0, 0xEED20DD7, 0x5483044E, 0xC2B30339, - 0x612667A7, 0xF71660D0, 0x4D476949, 0xDB776E3E, - 0x4A6AD1AE, 0xDC5AD6D9, 0x660BDF40, 0xF03BD837, - 0x53AEBCA9, 0xC59EBBDE, 0x7FCFB247, 0xE9FFB530, - 0x1CF2BDBD, 0x8AC2BACA, 0x3093B353, 0xA6A3B424, - 0x0536D0BA, 0x9306D7CD, 0x2957DE54, 0xBF67D923, - 0x2E7A66B3, 0xB84A61C4, 0x021B685D, 0x942B6F2A, - 0x37BE0BB4, 0xA18E0CC3, 0x1BDF055A, 0x8DEF022D - }, { - 0x00000000, 0x41311B19, 0x82623632, 0xC3532D2B, - 0x04C56C64, 0x45F4777D, 0x86A75A56, 0xC796414F, - 0x088AD9C8, 0x49BBC2D1, 0x8AE8EFFA, 0xCBD9F4E3, - 0x0C4FB5AC, 0x4D7EAEB5, 0x8E2D839E, 0xCF1C9887, - 0x5112C24A, 0x1023D953, 0xD370F478, 0x9241EF61, - 0x55D7AE2E, 0x14E6B537, 0xD7B5981C, 0x96848305, - 0x59981B82, 0x18A9009B, 0xDBFA2DB0, 0x9ACB36A9, - 0x5D5D77E6, 0x1C6C6CFF, 0xDF3F41D4, 0x9E0E5ACD, - 0xA2248495, 0xE3159F8C, 0x2046B2A7, 0x6177A9BE, - 0xA6E1E8F1, 0xE7D0F3E8, 0x2483DEC3, 0x65B2C5DA, - 0xAAAE5D5D, 0xEB9F4644, 0x28CC6B6F, 0x69FD7076, - 0xAE6B3139, 0xEF5A2A20, 0x2C09070B, 0x6D381C12, - 0xF33646DF, 0xB2075DC6, 0x715470ED, 0x30656BF4, - 0xF7F32ABB, 0xB6C231A2, 0x75911C89, 0x34A00790, - 0xFBBC9F17, 0xBA8D840E, 0x79DEA925, 0x38EFB23C, - 0xFF79F373, 0xBE48E86A, 0x7D1BC541, 0x3C2ADE58, - 0x054F79F0, 0x447E62E9, 0x872D4FC2, 0xC61C54DB, - 0x018A1594, 0x40BB0E8D, 0x83E823A6, 0xC2D938BF, - 0x0DC5A038, 0x4CF4BB21, 0x8FA7960A, 0xCE968D13, - 0x0900CC5C, 0x4831D745, 0x8B62FA6E, 0xCA53E177, - 0x545DBBBA, 0x156CA0A3, 0xD63F8D88, 0x970E9691, - 0x5098D7DE, 0x11A9CCC7, 0xD2FAE1EC, 0x93CBFAF5, - 0x5CD76272, 0x1DE6796B, 0xDEB55440, 0x9F844F59, - 0x58120E16, 0x1923150F, 0xDA703824, 0x9B41233D, - 0xA76BFD65, 0xE65AE67C, 0x2509CB57, 0x6438D04E, - 0xA3AE9101, 0xE29F8A18, 0x21CCA733, 0x60FDBC2A, - 0xAFE124AD, 0xEED03FB4, 0x2D83129F, 0x6CB20986, - 0xAB2448C9, 0xEA1553D0, 0x29467EFB, 0x687765E2, - 0xF6793F2F, 0xB7482436, 0x741B091D, 0x352A1204, - 0xF2BC534B, 0xB38D4852, 0x70DE6579, 0x31EF7E60, - 0xFEF3E6E7, 0xBFC2FDFE, 0x7C91D0D5, 0x3DA0CBCC, - 0xFA368A83, 0xBB07919A, 0x7854BCB1, 0x3965A7A8, - 0x4B98833B, 0x0AA99822, 0xC9FAB509, 0x88CBAE10, - 0x4F5DEF5F, 0x0E6CF446, 0xCD3FD96D, 0x8C0EC274, - 0x43125AF3, 0x022341EA, 0xC1706CC1, 0x804177D8, - 0x47D73697, 0x06E62D8E, 0xC5B500A5, 0x84841BBC, - 0x1A8A4171, 0x5BBB5A68, 0x98E87743, 0xD9D96C5A, - 0x1E4F2D15, 0x5F7E360C, 0x9C2D1B27, 0xDD1C003E, - 0x120098B9, 0x533183A0, 0x9062AE8B, 0xD153B592, - 0x16C5F4DD, 0x57F4EFC4, 0x94A7C2EF, 0xD596D9F6, - 0xE9BC07AE, 0xA88D1CB7, 0x6BDE319C, 0x2AEF2A85, - 0xED796BCA, 0xAC4870D3, 0x6F1B5DF8, 0x2E2A46E1, - 0xE136DE66, 0xA007C57F, 0x6354E854, 0x2265F34D, - 0xE5F3B202, 0xA4C2A91B, 0x67918430, 0x26A09F29, - 0xB8AEC5E4, 0xF99FDEFD, 0x3ACCF3D6, 0x7BFDE8CF, - 0xBC6BA980, 0xFD5AB299, 0x3E099FB2, 0x7F3884AB, - 0xB0241C2C, 0xF1150735, 0x32462A1E, 0x73773107, - 0xB4E17048, 0xF5D06B51, 0x3683467A, 0x77B25D63, - 0x4ED7FACB, 0x0FE6E1D2, 0xCCB5CCF9, 0x8D84D7E0, - 0x4A1296AF, 0x0B238DB6, 0xC870A09D, 0x8941BB84, - 0x465D2303, 0x076C381A, 0xC43F1531, 0x850E0E28, - 0x42984F67, 0x03A9547E, 0xC0FA7955, 0x81CB624C, - 0x1FC53881, 0x5EF42398, 0x9DA70EB3, 0xDC9615AA, - 0x1B0054E5, 0x5A314FFC, 0x996262D7, 0xD85379CE, - 0x174FE149, 0x567EFA50, 0x952DD77B, 0xD41CCC62, - 0x138A8D2D, 0x52BB9634, 0x91E8BB1F, 0xD0D9A006, - 0xECF37E5E, 0xADC26547, 0x6E91486C, 0x2FA05375, - 0xE836123A, 0xA9070923, 0x6A542408, 0x2B653F11, - 0xE479A796, 0xA548BC8F, 0x661B91A4, 0x272A8ABD, - 0xE0BCCBF2, 0xA18DD0EB, 0x62DEFDC0, 0x23EFE6D9, - 0xBDE1BC14, 0xFCD0A70D, 0x3F838A26, 0x7EB2913F, - 0xB924D070, 0xF815CB69, 0x3B46E642, 0x7A77FD5B, - 0xB56B65DC, 0xF45A7EC5, 0x370953EE, 0x763848F7, - 0xB1AE09B8, 0xF09F12A1, 0x33CC3F8A, 0x72FD2493 - }, { - 0x00000000, 0x376AC201, 0x6ED48403, 0x59BE4602, - 0xDCA80907, 0xEBC2CB06, 0xB27C8D04, 0x85164F05, - 0xB851130E, 0x8F3BD10F, 0xD685970D, 0xE1EF550C, - 0x64F91A09, 0x5393D808, 0x0A2D9E0A, 0x3D475C0B, - 0x70A3261C, 0x47C9E41D, 0x1E77A21F, 0x291D601E, - 0xAC0B2F1B, 0x9B61ED1A, 0xC2DFAB18, 0xF5B56919, - 0xC8F23512, 0xFF98F713, 0xA626B111, 0x914C7310, - 0x145A3C15, 0x2330FE14, 0x7A8EB816, 0x4DE47A17, - 0xE0464D38, 0xD72C8F39, 0x8E92C93B, 0xB9F80B3A, - 0x3CEE443F, 0x0B84863E, 0x523AC03C, 0x6550023D, - 0x58175E36, 0x6F7D9C37, 0x36C3DA35, 0x01A91834, - 0x84BF5731, 0xB3D59530, 0xEA6BD332, 0xDD011133, - 0x90E56B24, 0xA78FA925, 0xFE31EF27, 0xC95B2D26, - 0x4C4D6223, 0x7B27A022, 0x2299E620, 0x15F32421, - 0x28B4782A, 0x1FDEBA2B, 0x4660FC29, 0x710A3E28, - 0xF41C712D, 0xC376B32C, 0x9AC8F52E, 0xADA2372F, - 0xC08D9A70, 0xF7E75871, 0xAE591E73, 0x9933DC72, - 0x1C259377, 0x2B4F5176, 0x72F11774, 0x459BD575, - 0x78DC897E, 0x4FB64B7F, 0x16080D7D, 0x2162CF7C, - 0xA4748079, 0x931E4278, 0xCAA0047A, 0xFDCAC67B, - 0xB02EBC6C, 0x87447E6D, 0xDEFA386F, 0xE990FA6E, - 0x6C86B56B, 0x5BEC776A, 0x02523168, 0x3538F369, - 0x087FAF62, 0x3F156D63, 0x66AB2B61, 0x51C1E960, - 0xD4D7A665, 0xE3BD6464, 0xBA032266, 0x8D69E067, - 0x20CBD748, 0x17A11549, 0x4E1F534B, 0x7975914A, - 0xFC63DE4F, 0xCB091C4E, 0x92B75A4C, 0xA5DD984D, - 0x989AC446, 0xAFF00647, 0xF64E4045, 0xC1248244, - 0x4432CD41, 0x73580F40, 0x2AE64942, 0x1D8C8B43, - 0x5068F154, 0x67023355, 0x3EBC7557, 0x09D6B756, - 0x8CC0F853, 0xBBAA3A52, 0xE2147C50, 0xD57EBE51, - 0xE839E25A, 0xDF53205B, 0x86ED6659, 0xB187A458, - 0x3491EB5D, 0x03FB295C, 0x5A456F5E, 0x6D2FAD5F, - 0x801B35E1, 0xB771F7E0, 0xEECFB1E2, 0xD9A573E3, - 0x5CB33CE6, 0x6BD9FEE7, 0x3267B8E5, 0x050D7AE4, - 0x384A26EF, 0x0F20E4EE, 0x569EA2EC, 0x61F460ED, - 0xE4E22FE8, 0xD388EDE9, 0x8A36ABEB, 0xBD5C69EA, - 0xF0B813FD, 0xC7D2D1FC, 0x9E6C97FE, 0xA90655FF, - 0x2C101AFA, 0x1B7AD8FB, 0x42C49EF9, 0x75AE5CF8, - 0x48E900F3, 0x7F83C2F2, 0x263D84F0, 0x115746F1, - 0x944109F4, 0xA32BCBF5, 0xFA958DF7, 0xCDFF4FF6, - 0x605D78D9, 0x5737BAD8, 0x0E89FCDA, 0x39E33EDB, - 0xBCF571DE, 0x8B9FB3DF, 0xD221F5DD, 0xE54B37DC, - 0xD80C6BD7, 0xEF66A9D6, 0xB6D8EFD4, 0x81B22DD5, - 0x04A462D0, 0x33CEA0D1, 0x6A70E6D3, 0x5D1A24D2, - 0x10FE5EC5, 0x27949CC4, 0x7E2ADAC6, 0x494018C7, - 0xCC5657C2, 0xFB3C95C3, 0xA282D3C1, 0x95E811C0, - 0xA8AF4DCB, 0x9FC58FCA, 0xC67BC9C8, 0xF1110BC9, - 0x740744CC, 0x436D86CD, 0x1AD3C0CF, 0x2DB902CE, - 0x4096AF91, 0x77FC6D90, 0x2E422B92, 0x1928E993, - 0x9C3EA696, 0xAB546497, 0xF2EA2295, 0xC580E094, - 0xF8C7BC9F, 0xCFAD7E9E, 0x9613389C, 0xA179FA9D, - 0x246FB598, 0x13057799, 0x4ABB319B, 0x7DD1F39A, - 0x3035898D, 0x075F4B8C, 0x5EE10D8E, 0x698BCF8F, - 0xEC9D808A, 0xDBF7428B, 0x82490489, 0xB523C688, - 0x88649A83, 0xBF0E5882, 0xE6B01E80, 0xD1DADC81, - 0x54CC9384, 0x63A65185, 0x3A181787, 0x0D72D586, - 0xA0D0E2A9, 0x97BA20A8, 0xCE0466AA, 0xF96EA4AB, - 0x7C78EBAE, 0x4B1229AF, 0x12AC6FAD, 0x25C6ADAC, - 0x1881F1A7, 0x2FEB33A6, 0x765575A4, 0x413FB7A5, - 0xC429F8A0, 0xF3433AA1, 0xAAFD7CA3, 0x9D97BEA2, - 0xD073C4B5, 0xE71906B4, 0xBEA740B6, 0x89CD82B7, - 0x0CDBCDB2, 0x3BB10FB3, 0x620F49B1, 0x55658BB0, - 0x6822D7BB, 0x5F4815BA, 0x06F653B8, 0x319C91B9, - 0xB48ADEBC, 0x83E01CBD, 0xDA5E5ABF, 0xED3498BE - }, { - 0x00000000, 0x6567BCB8, 0x8BC809AA, 0xEEAFB512, - 0x5797628F, 0x32F0DE37, 0xDC5F6B25, 0xB938D79D, - 0xEF28B4C5, 0x8A4F087D, 0x64E0BD6F, 0x018701D7, - 0xB8BFD64A, 0xDDD86AF2, 0x3377DFE0, 0x56106358, - 0x9F571950, 0xFA30A5E8, 0x149F10FA, 0x71F8AC42, - 0xC8C07BDF, 0xADA7C767, 0x43087275, 0x266FCECD, - 0x707FAD95, 0x1518112D, 0xFBB7A43F, 0x9ED01887, - 0x27E8CF1A, 0x428F73A2, 0xAC20C6B0, 0xC9477A08, - 0x3EAF32A0, 0x5BC88E18, 0xB5673B0A, 0xD00087B2, - 0x6938502F, 0x0C5FEC97, 0xE2F05985, 0x8797E53D, - 0xD1878665, 0xB4E03ADD, 0x5A4F8FCF, 0x3F283377, - 0x8610E4EA, 0xE3775852, 0x0DD8ED40, 0x68BF51F8, - 0xA1F82BF0, 0xC49F9748, 0x2A30225A, 0x4F579EE2, - 0xF66F497F, 0x9308F5C7, 0x7DA740D5, 0x18C0FC6D, - 0x4ED09F35, 0x2BB7238D, 0xC518969F, 0xA07F2A27, - 0x1947FDBA, 0x7C204102, 0x928FF410, 0xF7E848A8, - 0x3D58149B, 0x583FA823, 0xB6901D31, 0xD3F7A189, - 0x6ACF7614, 0x0FA8CAAC, 0xE1077FBE, 0x8460C306, - 0xD270A05E, 0xB7171CE6, 0x59B8A9F4, 0x3CDF154C, - 0x85E7C2D1, 0xE0807E69, 0x0E2FCB7B, 0x6B4877C3, - 0xA20F0DCB, 0xC768B173, 0x29C70461, 0x4CA0B8D9, - 0xF5986F44, 0x90FFD3FC, 0x7E5066EE, 0x1B37DA56, - 0x4D27B90E, 0x284005B6, 0xC6EFB0A4, 0xA3880C1C, - 0x1AB0DB81, 0x7FD76739, 0x9178D22B, 0xF41F6E93, - 0x03F7263B, 0x66909A83, 0x883F2F91, 0xED589329, - 0x546044B4, 0x3107F80C, 0xDFA84D1E, 0xBACFF1A6, - 0xECDF92FE, 0x89B82E46, 0x67179B54, 0x027027EC, - 0xBB48F071, 0xDE2F4CC9, 0x3080F9DB, 0x55E74563, - 0x9CA03F6B, 0xF9C783D3, 0x176836C1, 0x720F8A79, - 0xCB375DE4, 0xAE50E15C, 0x40FF544E, 0x2598E8F6, - 0x73888BAE, 0x16EF3716, 0xF8408204, 0x9D273EBC, - 0x241FE921, 0x41785599, 0xAFD7E08B, 0xCAB05C33, - 0x3BB659ED, 0x5ED1E555, 0xB07E5047, 0xD519ECFF, - 0x6C213B62, 0x094687DA, 0xE7E932C8, 0x828E8E70, - 0xD49EED28, 0xB1F95190, 0x5F56E482, 0x3A31583A, - 0x83098FA7, 0xE66E331F, 0x08C1860D, 0x6DA63AB5, - 0xA4E140BD, 0xC186FC05, 0x2F294917, 0x4A4EF5AF, - 0xF3762232, 0x96119E8A, 0x78BE2B98, 0x1DD99720, - 0x4BC9F478, 0x2EAE48C0, 0xC001FDD2, 0xA566416A, - 0x1C5E96F7, 0x79392A4F, 0x97969F5D, 0xF2F123E5, - 0x05196B4D, 0x607ED7F5, 0x8ED162E7, 0xEBB6DE5F, - 0x528E09C2, 0x37E9B57A, 0xD9460068, 0xBC21BCD0, - 0xEA31DF88, 0x8F566330, 0x61F9D622, 0x049E6A9A, - 0xBDA6BD07, 0xD8C101BF, 0x366EB4AD, 0x53090815, - 0x9A4E721D, 0xFF29CEA5, 0x11867BB7, 0x74E1C70F, - 0xCDD91092, 0xA8BEAC2A, 0x46111938, 0x2376A580, - 0x7566C6D8, 0x10017A60, 0xFEAECF72, 0x9BC973CA, - 0x22F1A457, 0x479618EF, 0xA939ADFD, 0xCC5E1145, - 0x06EE4D76, 0x6389F1CE, 0x8D2644DC, 0xE841F864, - 0x51792FF9, 0x341E9341, 0xDAB12653, 0xBFD69AEB, - 0xE9C6F9B3, 0x8CA1450B, 0x620EF019, 0x07694CA1, - 0xBE519B3C, 0xDB362784, 0x35999296, 0x50FE2E2E, - 0x99B95426, 0xFCDEE89E, 0x12715D8C, 0x7716E134, - 0xCE2E36A9, 0xAB498A11, 0x45E63F03, 0x208183BB, - 0x7691E0E3, 0x13F65C5B, 0xFD59E949, 0x983E55F1, - 0x2106826C, 0x44613ED4, 0xAACE8BC6, 0xCFA9377E, - 0x38417FD6, 0x5D26C36E, 0xB389767C, 0xD6EECAC4, - 0x6FD61D59, 0x0AB1A1E1, 0xE41E14F3, 0x8179A84B, - 0xD769CB13, 0xB20E77AB, 0x5CA1C2B9, 0x39C67E01, - 0x80FEA99C, 0xE5991524, 0x0B36A036, 0x6E511C8E, - 0xA7166686, 0xC271DA3E, 0x2CDE6F2C, 0x49B9D394, - 0xF0810409, 0x95E6B8B1, 0x7B490DA3, 0x1E2EB11B, - 0x483ED243, 0x2D596EFB, 0xC3F6DBE9, 0xA6916751, - 0x1FA9B0CC, 0x7ACE0C74, 0x9461B966, 0xF10605DE - }, { - 0x00000000, 0xB029603D, 0x6053C07A, 0xD07AA047, - 0xC0A680F5, 0x708FE0C8, 0xA0F5408F, 0x10DC20B2, - 0xC14B7030, 0x7162100D, 0xA118B04A, 0x1131D077, - 0x01EDF0C5, 0xB1C490F8, 0x61BE30BF, 0xD1975082, - 0x8297E060, 0x32BE805D, 0xE2C4201A, 0x52ED4027, - 0x42316095, 0xF21800A8, 0x2262A0EF, 0x924BC0D2, - 0x43DC9050, 0xF3F5F06D, 0x238F502A, 0x93A63017, - 0x837A10A5, 0x33537098, 0xE329D0DF, 0x5300B0E2, - 0x042FC1C1, 0xB406A1FC, 0x647C01BB, 0xD4556186, - 0xC4894134, 0x74A02109, 0xA4DA814E, 0x14F3E173, - 0xC564B1F1, 0x754DD1CC, 0xA537718B, 0x151E11B6, - 0x05C23104, 0xB5EB5139, 0x6591F17E, 0xD5B89143, - 0x86B821A1, 0x3691419C, 0xE6EBE1DB, 0x56C281E6, - 0x461EA154, 0xF637C169, 0x264D612E, 0x96640113, - 0x47F35191, 0xF7DA31AC, 0x27A091EB, 0x9789F1D6, - 0x8755D164, 0x377CB159, 0xE706111E, 0x572F7123, - 0x4958F358, 0xF9719365, 0x290B3322, 0x9922531F, - 0x89FE73AD, 0x39D71390, 0xE9ADB3D7, 0x5984D3EA, - 0x88138368, 0x383AE355, 0xE8404312, 0x5869232F, - 0x48B5039D, 0xF89C63A0, 0x28E6C3E7, 0x98CFA3DA, - 0xCBCF1338, 0x7BE67305, 0xAB9CD342, 0x1BB5B37F, - 0x0B6993CD, 0xBB40F3F0, 0x6B3A53B7, 0xDB13338A, - 0x0A846308, 0xBAAD0335, 0x6AD7A372, 0xDAFEC34F, - 0xCA22E3FD, 0x7A0B83C0, 0xAA712387, 0x1A5843BA, - 0x4D773299, 0xFD5E52A4, 0x2D24F2E3, 0x9D0D92DE, - 0x8DD1B26C, 0x3DF8D251, 0xED827216, 0x5DAB122B, - 0x8C3C42A9, 0x3C152294, 0xEC6F82D3, 0x5C46E2EE, - 0x4C9AC25C, 0xFCB3A261, 0x2CC90226, 0x9CE0621B, - 0xCFE0D2F9, 0x7FC9B2C4, 0xAFB31283, 0x1F9A72BE, - 0x0F46520C, 0xBF6F3231, 0x6F159276, 0xDF3CF24B, - 0x0EABA2C9, 0xBE82C2F4, 0x6EF862B3, 0xDED1028E, - 0xCE0D223C, 0x7E244201, 0xAE5EE246, 0x1E77827B, - 0x92B0E6B1, 0x2299868C, 0xF2E326CB, 0x42CA46F6, - 0x52166644, 0xE23F0679, 0x3245A63E, 0x826CC603, - 0x53FB9681, 0xE3D2F6BC, 0x33A856FB, 0x838136C6, - 0x935D1674, 0x23747649, 0xF30ED60E, 0x4327B633, - 0x102706D1, 0xA00E66EC, 0x7074C6AB, 0xC05DA696, - 0xD0818624, 0x60A8E619, 0xB0D2465E, 0x00FB2663, - 0xD16C76E1, 0x614516DC, 0xB13FB69B, 0x0116D6A6, - 0x11CAF614, 0xA1E39629, 0x7199366E, 0xC1B05653, - 0x969F2770, 0x26B6474D, 0xF6CCE70A, 0x46E58737, - 0x5639A785, 0xE610C7B8, 0x366A67FF, 0x864307C2, - 0x57D45740, 0xE7FD377D, 0x3787973A, 0x87AEF707, - 0x9772D7B5, 0x275BB788, 0xF72117CF, 0x470877F2, - 0x1408C710, 0xA421A72D, 0x745B076A, 0xC4726757, - 0xD4AE47E5, 0x648727D8, 0xB4FD879F, 0x04D4E7A2, - 0xD543B720, 0x656AD71D, 0xB510775A, 0x05391767, - 0x15E537D5, 0xA5CC57E8, 0x75B6F7AF, 0xC59F9792, - 0xDBE815E9, 0x6BC175D4, 0xBBBBD593, 0x0B92B5AE, - 0x1B4E951C, 0xAB67F521, 0x7B1D5566, 0xCB34355B, - 0x1AA365D9, 0xAA8A05E4, 0x7AF0A5A3, 0xCAD9C59E, - 0xDA05E52C, 0x6A2C8511, 0xBA562556, 0x0A7F456B, - 0x597FF589, 0xE95695B4, 0x392C35F3, 0x890555CE, - 0x99D9757C, 0x29F01541, 0xF98AB506, 0x49A3D53B, - 0x983485B9, 0x281DE584, 0xF86745C3, 0x484E25FE, - 0x5892054C, 0xE8BB6571, 0x38C1C536, 0x88E8A50B, - 0xDFC7D428, 0x6FEEB415, 0xBF941452, 0x0FBD746F, - 0x1F6154DD, 0xAF4834E0, 0x7F3294A7, 0xCF1BF49A, - 0x1E8CA418, 0xAEA5C425, 0x7EDF6462, 0xCEF6045F, - 0xDE2A24ED, 0x6E0344D0, 0xBE79E497, 0x0E5084AA, - 0x5D503448, 0xED795475, 0x3D03F432, 0x8D2A940F, - 0x9DF6B4BD, 0x2DDFD480, 0xFDA574C7, 0x4D8C14FA, - 0x9C1B4478, 0x2C322445, 0xFC488402, 0x4C61E43F, - 0x5CBDC48D, 0xEC94A4B0, 0x3CEE04F7, 0x8CC764CA - }, { - 0x00000000, 0xA5D35CCB, 0x0BA1C84D, 0xAE729486, - 0x1642919B, 0xB391CD50, 0x1DE359D6, 0xB830051D, - 0x6D8253EC, 0xC8510F27, 0x66239BA1, 0xC3F0C76A, - 0x7BC0C277, 0xDE139EBC, 0x70610A3A, 0xD5B256F1, - 0x9B02D603, 0x3ED18AC8, 0x90A31E4E, 0x35704285, - 0x8D404798, 0x28931B53, 0x86E18FD5, 0x2332D31E, - 0xF68085EF, 0x5353D924, 0xFD214DA2, 0x58F21169, - 0xE0C21474, 0x451148BF, 0xEB63DC39, 0x4EB080F2, - 0x3605AC07, 0x93D6F0CC, 0x3DA4644A, 0x98773881, - 0x20473D9C, 0x85946157, 0x2BE6F5D1, 0x8E35A91A, - 0x5B87FFEB, 0xFE54A320, 0x502637A6, 0xF5F56B6D, - 0x4DC56E70, 0xE81632BB, 0x4664A63D, 0xE3B7FAF6, - 0xAD077A04, 0x08D426CF, 0xA6A6B249, 0x0375EE82, - 0xBB45EB9F, 0x1E96B754, 0xB0E423D2, 0x15377F19, - 0xC08529E8, 0x65567523, 0xCB24E1A5, 0x6EF7BD6E, - 0xD6C7B873, 0x7314E4B8, 0xDD66703E, 0x78B52CF5, - 0x6C0A580F, 0xC9D904C4, 0x67AB9042, 0xC278CC89, - 0x7A48C994, 0xDF9B955F, 0x71E901D9, 0xD43A5D12, - 0x01880BE3, 0xA45B5728, 0x0A29C3AE, 0xAFFA9F65, - 0x17CA9A78, 0xB219C6B3, 0x1C6B5235, 0xB9B80EFE, - 0xF7088E0C, 0x52DBD2C7, 0xFCA94641, 0x597A1A8A, - 0xE14A1F97, 0x4499435C, 0xEAEBD7DA, 0x4F388B11, - 0x9A8ADDE0, 0x3F59812B, 0x912B15AD, 0x34F84966, - 0x8CC84C7B, 0x291B10B0, 0x87698436, 0x22BAD8FD, - 0x5A0FF408, 0xFFDCA8C3, 0x51AE3C45, 0xF47D608E, - 0x4C4D6593, 0xE99E3958, 0x47ECADDE, 0xE23FF115, - 0x378DA7E4, 0x925EFB2F, 0x3C2C6FA9, 0x99FF3362, - 0x21CF367F, 0x841C6AB4, 0x2A6EFE32, 0x8FBDA2F9, - 0xC10D220B, 0x64DE7EC0, 0xCAACEA46, 0x6F7FB68D, - 0xD74FB390, 0x729CEF5B, 0xDCEE7BDD, 0x793D2716, - 0xAC8F71E7, 0x095C2D2C, 0xA72EB9AA, 0x02FDE561, - 0xBACDE07C, 0x1F1EBCB7, 0xB16C2831, 0x14BF74FA, - 0xD814B01E, 0x7DC7ECD5, 0xD3B57853, 0x76662498, - 0xCE562185, 0x6B857D4E, 0xC5F7E9C8, 0x6024B503, - 0xB596E3F2, 0x1045BF39, 0xBE372BBF, 0x1BE47774, - 0xA3D47269, 0x06072EA2, 0xA875BA24, 0x0DA6E6EF, - 0x4316661D, 0xE6C53AD6, 0x48B7AE50, 0xED64F29B, - 0x5554F786, 0xF087AB4D, 0x5EF53FCB, 0xFB266300, - 0x2E9435F1, 0x8B47693A, 0x2535FDBC, 0x80E6A177, - 0x38D6A46A, 0x9D05F8A1, 0x33776C27, 0x96A430EC, - 0xEE111C19, 0x4BC240D2, 0xE5B0D454, 0x4063889F, - 0xF8538D82, 0x5D80D149, 0xF3F245CF, 0x56211904, - 0x83934FF5, 0x2640133E, 0x883287B8, 0x2DE1DB73, - 0x95D1DE6E, 0x300282A5, 0x9E701623, 0x3BA34AE8, - 0x7513CA1A, 0xD0C096D1, 0x7EB20257, 0xDB615E9C, - 0x63515B81, 0xC682074A, 0x68F093CC, 0xCD23CF07, - 0x189199F6, 0xBD42C53D, 0x133051BB, 0xB6E30D70, - 0x0ED3086D, 0xAB0054A6, 0x0572C020, 0xA0A19CEB, - 0xB41EE811, 0x11CDB4DA, 0xBFBF205C, 0x1A6C7C97, - 0xA25C798A, 0x078F2541, 0xA9FDB1C7, 0x0C2EED0C, - 0xD99CBBFD, 0x7C4FE736, 0xD23D73B0, 0x77EE2F7B, - 0xCFDE2A66, 0x6A0D76AD, 0xC47FE22B, 0x61ACBEE0, - 0x2F1C3E12, 0x8ACF62D9, 0x24BDF65F, 0x816EAA94, - 0x395EAF89, 0x9C8DF342, 0x32FF67C4, 0x972C3B0F, - 0x429E6DFE, 0xE74D3135, 0x493FA5B3, 0xECECF978, - 0x54DCFC65, 0xF10FA0AE, 0x5F7D3428, 0xFAAE68E3, - 0x821B4416, 0x27C818DD, 0x89BA8C5B, 0x2C69D090, - 0x9459D58D, 0x318A8946, 0x9FF81DC0, 0x3A2B410B, - 0xEF9917FA, 0x4A4A4B31, 0xE438DFB7, 0x41EB837C, - 0xF9DB8661, 0x5C08DAAA, 0xF27A4E2C, 0x57A912E7, - 0x19199215, 0xBCCACEDE, 0x12B85A58, 0xB76B0693, - 0x0F5B038E, 0xAA885F45, 0x04FACBC3, 0xA1299708, - 0x749BC1F9, 0xD1489D32, 0x7F3A09B4, 0xDAE9557F, - 0x62D95062, 0xC70A0CA9, 0x6978982F, 0xCCABC4E4 - }, { - 0x00000000, 0xB40B77A6, 0x29119F97, 0x9D1AE831, - 0x13244FF4, 0xA72F3852, 0x3A35D063, 0x8E3EA7C5, - 0x674EEF33, 0xD3459895, 0x4E5F70A4, 0xFA540702, - 0x746AA0C7, 0xC061D761, 0x5D7B3F50, 0xE97048F6, - 0xCE9CDE67, 0x7A97A9C1, 0xE78D41F0, 0x53863656, - 0xDDB89193, 0x69B3E635, 0xF4A90E04, 0x40A279A2, - 0xA9D23154, 0x1DD946F2, 0x80C3AEC3, 0x34C8D965, - 0xBAF67EA0, 0x0EFD0906, 0x93E7E137, 0x27EC9691, - 0x9C39BDCF, 0x2832CA69, 0xB5282258, 0x012355FE, - 0x8F1DF23B, 0x3B16859D, 0xA60C6DAC, 0x12071A0A, - 0xFB7752FC, 0x4F7C255A, 0xD266CD6B, 0x666DBACD, - 0xE8531D08, 0x5C586AAE, 0xC142829F, 0x7549F539, - 0x52A563A8, 0xE6AE140E, 0x7BB4FC3F, 0xCFBF8B99, - 0x41812C5C, 0xF58A5BFA, 0x6890B3CB, 0xDC9BC46D, - 0x35EB8C9B, 0x81E0FB3D, 0x1CFA130C, 0xA8F164AA, - 0x26CFC36F, 0x92C4B4C9, 0x0FDE5CF8, 0xBBD52B5E, - 0x79750B44, 0xCD7E7CE2, 0x506494D3, 0xE46FE375, - 0x6A5144B0, 0xDE5A3316, 0x4340DB27, 0xF74BAC81, - 0x1E3BE477, 0xAA3093D1, 0x372A7BE0, 0x83210C46, - 0x0D1FAB83, 0xB914DC25, 0x240E3414, 0x900543B2, - 0xB7E9D523, 0x03E2A285, 0x9EF84AB4, 0x2AF33D12, - 0xA4CD9AD7, 0x10C6ED71, 0x8DDC0540, 0x39D772E6, - 0xD0A73A10, 0x64AC4DB6, 0xF9B6A587, 0x4DBDD221, - 0xC38375E4, 0x77880242, 0xEA92EA73, 0x5E999DD5, - 0xE54CB68B, 0x5147C12D, 0xCC5D291C, 0x78565EBA, - 0xF668F97F, 0x42638ED9, 0xDF7966E8, 0x6B72114E, - 0x820259B8, 0x36092E1E, 0xAB13C62F, 0x1F18B189, - 0x9126164C, 0x252D61EA, 0xB83789DB, 0x0C3CFE7D, - 0x2BD068EC, 0x9FDB1F4A, 0x02C1F77B, 0xB6CA80DD, - 0x38F42718, 0x8CFF50BE, 0x11E5B88F, 0xA5EECF29, - 0x4C9E87DF, 0xF895F079, 0x658F1848, 0xD1846FEE, - 0x5FBAC82B, 0xEBB1BF8D, 0x76AB57BC, 0xC2A0201A, - 0xF2EA1688, 0x46E1612E, 0xDBFB891F, 0x6FF0FEB9, - 0xE1CE597C, 0x55C52EDA, 0xC8DFC6EB, 0x7CD4B14D, - 0x95A4F9BB, 0x21AF8E1D, 0xBCB5662C, 0x08BE118A, - 0x8680B64F, 0x328BC1E9, 0xAF9129D8, 0x1B9A5E7E, - 0x3C76C8EF, 0x887DBF49, 0x15675778, 0xA16C20DE, - 0x2F52871B, 0x9B59F0BD, 0x0643188C, 0xB2486F2A, - 0x5B3827DC, 0xEF33507A, 0x7229B84B, 0xC622CFED, - 0x481C6828, 0xFC171F8E, 0x610DF7BF, 0xD5068019, - 0x6ED3AB47, 0xDAD8DCE1, 0x47C234D0, 0xF3C94376, - 0x7DF7E4B3, 0xC9FC9315, 0x54E67B24, 0xE0ED0C82, - 0x099D4474, 0xBD9633D2, 0x208CDBE3, 0x9487AC45, - 0x1AB90B80, 0xAEB27C26, 0x33A89417, 0x87A3E3B1, - 0xA04F7520, 0x14440286, 0x895EEAB7, 0x3D559D11, - 0xB36B3AD4, 0x07604D72, 0x9A7AA543, 0x2E71D2E5, - 0xC7019A13, 0x730AEDB5, 0xEE100584, 0x5A1B7222, - 0xD425D5E7, 0x602EA241, 0xFD344A70, 0x493F3DD6, - 0x8B9F1DCC, 0x3F946A6A, 0xA28E825B, 0x1685F5FD, - 0x98BB5238, 0x2CB0259E, 0xB1AACDAF, 0x05A1BA09, - 0xECD1F2FF, 0x58DA8559, 0xC5C06D68, 0x71CB1ACE, - 0xFFF5BD0B, 0x4BFECAAD, 0xD6E4229C, 0x62EF553A, - 0x4503C3AB, 0xF108B40D, 0x6C125C3C, 0xD8192B9A, - 0x56278C5F, 0xE22CFBF9, 0x7F3613C8, 0xCB3D646E, - 0x224D2C98, 0x96465B3E, 0x0B5CB30F, 0xBF57C4A9, - 0x3169636C, 0x856214CA, 0x1878FCFB, 0xAC738B5D, - 0x17A6A003, 0xA3ADD7A5, 0x3EB73F94, 0x8ABC4832, - 0x0482EFF7, 0xB0899851, 0x2D937060, 0x999807C6, - 0x70E84F30, 0xC4E33896, 0x59F9D0A7, 0xEDF2A701, - 0x63CC00C4, 0xD7C77762, 0x4ADD9F53, 0xFED6E8F5, - 0xD93A7E64, 0x6D3109C2, 0xF02BE1F3, 0x44209655, - 0xCA1E3190, 0x7E154636, 0xE30FAE07, 0x5704D9A1, - 0xBE749157, 0x0A7FE6F1, 0x97650EC0, 0x236E7966, - 0xAD50DEA3, 0x195BA905, 0x84414134, 0x304A3692 - }, { - 0x00000000, 0x9E00AACC, 0x7D072542, 0xE3078F8E, - 0xFA0E4A84, 0x640EE048, 0x87096FC6, 0x1909C50A, - 0xB51BE5D3, 0x2B1B4F1F, 0xC81CC091, 0x561C6A5D, - 0x4F15AF57, 0xD115059B, 0x32128A15, 0xAC1220D9, - 0x2B31BB7C, 0xB53111B0, 0x56369E3E, 0xC83634F2, - 0xD13FF1F8, 0x4F3F5B34, 0xAC38D4BA, 0x32387E76, - 0x9E2A5EAF, 0x002AF463, 0xE32D7BED, 0x7D2DD121, - 0x6424142B, 0xFA24BEE7, 0x19233169, 0x87239BA5, - 0x566276F9, 0xC862DC35, 0x2B6553BB, 0xB565F977, - 0xAC6C3C7D, 0x326C96B1, 0xD16B193F, 0x4F6BB3F3, - 0xE379932A, 0x7D7939E6, 0x9E7EB668, 0x007E1CA4, - 0x1977D9AE, 0x87777362, 0x6470FCEC, 0xFA705620, - 0x7D53CD85, 0xE3536749, 0x0054E8C7, 0x9E54420B, - 0x875D8701, 0x195D2DCD, 0xFA5AA243, 0x645A088F, - 0xC8482856, 0x5648829A, 0xB54F0D14, 0x2B4FA7D8, - 0x324662D2, 0xAC46C81E, 0x4F414790, 0xD141ED5C, - 0xEDC29D29, 0x73C237E5, 0x90C5B86B, 0x0EC512A7, - 0x17CCD7AD, 0x89CC7D61, 0x6ACBF2EF, 0xF4CB5823, - 0x58D978FA, 0xC6D9D236, 0x25DE5DB8, 0xBBDEF774, - 0xA2D7327E, 0x3CD798B2, 0xDFD0173C, 0x41D0BDF0, - 0xC6F32655, 0x58F38C99, 0xBBF40317, 0x25F4A9DB, - 0x3CFD6CD1, 0xA2FDC61D, 0x41FA4993, 0xDFFAE35F, - 0x73E8C386, 0xEDE8694A, 0x0EEFE6C4, 0x90EF4C08, - 0x89E68902, 0x17E623CE, 0xF4E1AC40, 0x6AE1068C, - 0xBBA0EBD0, 0x25A0411C, 0xC6A7CE92, 0x58A7645E, - 0x41AEA154, 0xDFAE0B98, 0x3CA98416, 0xA2A92EDA, - 0x0EBB0E03, 0x90BBA4CF, 0x73BC2B41, 0xEDBC818D, - 0xF4B54487, 0x6AB5EE4B, 0x89B261C5, 0x17B2CB09, - 0x909150AC, 0x0E91FA60, 0xED9675EE, 0x7396DF22, - 0x6A9F1A28, 0xF49FB0E4, 0x17983F6A, 0x899895A6, - 0x258AB57F, 0xBB8A1FB3, 0x588D903D, 0xC68D3AF1, - 0xDF84FFFB, 0x41845537, 0xA283DAB9, 0x3C837075, - 0xDA853B53, 0x4485919F, 0xA7821E11, 0x3982B4DD, - 0x208B71D7, 0xBE8BDB1B, 0x5D8C5495, 0xC38CFE59, - 0x6F9EDE80, 0xF19E744C, 0x1299FBC2, 0x8C99510E, - 0x95909404, 0x0B903EC8, 0xE897B146, 0x76971B8A, - 0xF1B4802F, 0x6FB42AE3, 0x8CB3A56D, 0x12B30FA1, - 0x0BBACAAB, 0x95BA6067, 0x76BDEFE9, 0xE8BD4525, - 0x44AF65FC, 0xDAAFCF30, 0x39A840BE, 0xA7A8EA72, - 0xBEA12F78, 0x20A185B4, 0xC3A60A3A, 0x5DA6A0F6, - 0x8CE74DAA, 0x12E7E766, 0xF1E068E8, 0x6FE0C224, - 0x76E9072E, 0xE8E9ADE2, 0x0BEE226C, 0x95EE88A0, - 0x39FCA879, 0xA7FC02B5, 0x44FB8D3B, 0xDAFB27F7, - 0xC3F2E2FD, 0x5DF24831, 0xBEF5C7BF, 0x20F56D73, - 0xA7D6F6D6, 0x39D65C1A, 0xDAD1D394, 0x44D17958, - 0x5DD8BC52, 0xC3D8169E, 0x20DF9910, 0xBEDF33DC, - 0x12CD1305, 0x8CCDB9C9, 0x6FCA3647, 0xF1CA9C8B, - 0xE8C35981, 0x76C3F34D, 0x95C47CC3, 0x0BC4D60F, - 0x3747A67A, 0xA9470CB6, 0x4A408338, 0xD44029F4, - 0xCD49ECFE, 0x53494632, 0xB04EC9BC, 0x2E4E6370, - 0x825C43A9, 0x1C5CE965, 0xFF5B66EB, 0x615BCC27, - 0x7852092D, 0xE652A3E1, 0x05552C6F, 0x9B5586A3, - 0x1C761D06, 0x8276B7CA, 0x61713844, 0xFF719288, - 0xE6785782, 0x7878FD4E, 0x9B7F72C0, 0x057FD80C, - 0xA96DF8D5, 0x376D5219, 0xD46ADD97, 0x4A6A775B, - 0x5363B251, 0xCD63189D, 0x2E649713, 0xB0643DDF, - 0x6125D083, 0xFF257A4F, 0x1C22F5C1, 0x82225F0D, - 0x9B2B9A07, 0x052B30CB, 0xE62CBF45, 0x782C1589, - 0xD43E3550, 0x4A3E9F9C, 0xA9391012, 0x3739BADE, - 0x2E307FD4, 0xB030D518, 0x53375A96, 0xCD37F05A, - 0x4A146BFF, 0xD414C133, 0x37134EBD, 0xA913E471, - 0xB01A217B, 0x2E1A8BB7, 0xCD1D0439, 0x531DAEF5, - 0xFF0F8E2C, 0x610F24E0, 0x8208AB6E, 0x1C0801A2, - 0x0501C4A8, 0x9B016E64, 0x7806E1EA, 0xE6064B26 - } -}; diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_table_le.h b/Build/source/extra/xz/src/liblzma/check/crc32_table_le.h deleted file mode 100644 index 25f4fc44353..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_table_le.h +++ /dev/null @@ -1,525 +0,0 @@ -/* This file has been automatically generated by crc32_tablegen.c. */ - -const uint32_t lzma_crc32_table[8][256] = { - { - 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, - 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, - 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, - 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, - 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, - 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, - 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, - 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, - 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, - 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, - 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, - 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, - 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, - 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, - 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, - 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, - 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, - 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, - 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, - 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, - 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, - 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, - 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, - 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, - 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, - 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, - 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, - 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, - 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, - 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, - 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, - 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, - 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, - 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, - 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, - 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, - 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, - 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, - 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, - 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, - 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, - 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, - 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, - 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, - 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, - 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, - 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, - 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, - 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, - 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, - 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, - 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, - 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, - 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, - 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, - 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, - 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, - 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, - 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, - 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, - 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, - 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, - 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, - 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D - }, { - 0x00000000, 0x191B3141, 0x32366282, 0x2B2D53C3, - 0x646CC504, 0x7D77F445, 0x565AA786, 0x4F4196C7, - 0xC8D98A08, 0xD1C2BB49, 0xFAEFE88A, 0xE3F4D9CB, - 0xACB54F0C, 0xB5AE7E4D, 0x9E832D8E, 0x87981CCF, - 0x4AC21251, 0x53D92310, 0x78F470D3, 0x61EF4192, - 0x2EAED755, 0x37B5E614, 0x1C98B5D7, 0x05838496, - 0x821B9859, 0x9B00A918, 0xB02DFADB, 0xA936CB9A, - 0xE6775D5D, 0xFF6C6C1C, 0xD4413FDF, 0xCD5A0E9E, - 0x958424A2, 0x8C9F15E3, 0xA7B24620, 0xBEA97761, - 0xF1E8E1A6, 0xE8F3D0E7, 0xC3DE8324, 0xDAC5B265, - 0x5D5DAEAA, 0x44469FEB, 0x6F6BCC28, 0x7670FD69, - 0x39316BAE, 0x202A5AEF, 0x0B07092C, 0x121C386D, - 0xDF4636F3, 0xC65D07B2, 0xED705471, 0xF46B6530, - 0xBB2AF3F7, 0xA231C2B6, 0x891C9175, 0x9007A034, - 0x179FBCFB, 0x0E848DBA, 0x25A9DE79, 0x3CB2EF38, - 0x73F379FF, 0x6AE848BE, 0x41C51B7D, 0x58DE2A3C, - 0xF0794F05, 0xE9627E44, 0xC24F2D87, 0xDB541CC6, - 0x94158A01, 0x8D0EBB40, 0xA623E883, 0xBF38D9C2, - 0x38A0C50D, 0x21BBF44C, 0x0A96A78F, 0x138D96CE, - 0x5CCC0009, 0x45D73148, 0x6EFA628B, 0x77E153CA, - 0xBABB5D54, 0xA3A06C15, 0x888D3FD6, 0x91960E97, - 0xDED79850, 0xC7CCA911, 0xECE1FAD2, 0xF5FACB93, - 0x7262D75C, 0x6B79E61D, 0x4054B5DE, 0x594F849F, - 0x160E1258, 0x0F152319, 0x243870DA, 0x3D23419B, - 0x65FD6BA7, 0x7CE65AE6, 0x57CB0925, 0x4ED03864, - 0x0191AEA3, 0x188A9FE2, 0x33A7CC21, 0x2ABCFD60, - 0xAD24E1AF, 0xB43FD0EE, 0x9F12832D, 0x8609B26C, - 0xC94824AB, 0xD05315EA, 0xFB7E4629, 0xE2657768, - 0x2F3F79F6, 0x362448B7, 0x1D091B74, 0x04122A35, - 0x4B53BCF2, 0x52488DB3, 0x7965DE70, 0x607EEF31, - 0xE7E6F3FE, 0xFEFDC2BF, 0xD5D0917C, 0xCCCBA03D, - 0x838A36FA, 0x9A9107BB, 0xB1BC5478, 0xA8A76539, - 0x3B83984B, 0x2298A90A, 0x09B5FAC9, 0x10AECB88, - 0x5FEF5D4F, 0x46F46C0E, 0x6DD93FCD, 0x74C20E8C, - 0xF35A1243, 0xEA412302, 0xC16C70C1, 0xD8774180, - 0x9736D747, 0x8E2DE606, 0xA500B5C5, 0xBC1B8484, - 0x71418A1A, 0x685ABB5B, 0x4377E898, 0x5A6CD9D9, - 0x152D4F1E, 0x0C367E5F, 0x271B2D9C, 0x3E001CDD, - 0xB9980012, 0xA0833153, 0x8BAE6290, 0x92B553D1, - 0xDDF4C516, 0xC4EFF457, 0xEFC2A794, 0xF6D996D5, - 0xAE07BCE9, 0xB71C8DA8, 0x9C31DE6B, 0x852AEF2A, - 0xCA6B79ED, 0xD37048AC, 0xF85D1B6F, 0xE1462A2E, - 0x66DE36E1, 0x7FC507A0, 0x54E85463, 0x4DF36522, - 0x02B2F3E5, 0x1BA9C2A4, 0x30849167, 0x299FA026, - 0xE4C5AEB8, 0xFDDE9FF9, 0xD6F3CC3A, 0xCFE8FD7B, - 0x80A96BBC, 0x99B25AFD, 0xB29F093E, 0xAB84387F, - 0x2C1C24B0, 0x350715F1, 0x1E2A4632, 0x07317773, - 0x4870E1B4, 0x516BD0F5, 0x7A468336, 0x635DB277, - 0xCBFAD74E, 0xD2E1E60F, 0xF9CCB5CC, 0xE0D7848D, - 0xAF96124A, 0xB68D230B, 0x9DA070C8, 0x84BB4189, - 0x03235D46, 0x1A386C07, 0x31153FC4, 0x280E0E85, - 0x674F9842, 0x7E54A903, 0x5579FAC0, 0x4C62CB81, - 0x8138C51F, 0x9823F45E, 0xB30EA79D, 0xAA1596DC, - 0xE554001B, 0xFC4F315A, 0xD7626299, 0xCE7953D8, - 0x49E14F17, 0x50FA7E56, 0x7BD72D95, 0x62CC1CD4, - 0x2D8D8A13, 0x3496BB52, 0x1FBBE891, 0x06A0D9D0, - 0x5E7EF3EC, 0x4765C2AD, 0x6C48916E, 0x7553A02F, - 0x3A1236E8, 0x230907A9, 0x0824546A, 0x113F652B, - 0x96A779E4, 0x8FBC48A5, 0xA4911B66, 0xBD8A2A27, - 0xF2CBBCE0, 0xEBD08DA1, 0xC0FDDE62, 0xD9E6EF23, - 0x14BCE1BD, 0x0DA7D0FC, 0x268A833F, 0x3F91B27E, - 0x70D024B9, 0x69CB15F8, 0x42E6463B, 0x5BFD777A, - 0xDC656BB5, 0xC57E5AF4, 0xEE530937, 0xF7483876, - 0xB809AEB1, 0xA1129FF0, 0x8A3FCC33, 0x9324FD72 - }, { - 0x00000000, 0x01C26A37, 0x0384D46E, 0x0246BE59, - 0x0709A8DC, 0x06CBC2EB, 0x048D7CB2, 0x054F1685, - 0x0E1351B8, 0x0FD13B8F, 0x0D9785D6, 0x0C55EFE1, - 0x091AF964, 0x08D89353, 0x0A9E2D0A, 0x0B5C473D, - 0x1C26A370, 0x1DE4C947, 0x1FA2771E, 0x1E601D29, - 0x1B2F0BAC, 0x1AED619B, 0x18ABDFC2, 0x1969B5F5, - 0x1235F2C8, 0x13F798FF, 0x11B126A6, 0x10734C91, - 0x153C5A14, 0x14FE3023, 0x16B88E7A, 0x177AE44D, - 0x384D46E0, 0x398F2CD7, 0x3BC9928E, 0x3A0BF8B9, - 0x3F44EE3C, 0x3E86840B, 0x3CC03A52, 0x3D025065, - 0x365E1758, 0x379C7D6F, 0x35DAC336, 0x3418A901, - 0x3157BF84, 0x3095D5B3, 0x32D36BEA, 0x331101DD, - 0x246BE590, 0x25A98FA7, 0x27EF31FE, 0x262D5BC9, - 0x23624D4C, 0x22A0277B, 0x20E69922, 0x2124F315, - 0x2A78B428, 0x2BBADE1F, 0x29FC6046, 0x283E0A71, - 0x2D711CF4, 0x2CB376C3, 0x2EF5C89A, 0x2F37A2AD, - 0x709A8DC0, 0x7158E7F7, 0x731E59AE, 0x72DC3399, - 0x7793251C, 0x76514F2B, 0x7417F172, 0x75D59B45, - 0x7E89DC78, 0x7F4BB64F, 0x7D0D0816, 0x7CCF6221, - 0x798074A4, 0x78421E93, 0x7A04A0CA, 0x7BC6CAFD, - 0x6CBC2EB0, 0x6D7E4487, 0x6F38FADE, 0x6EFA90E9, - 0x6BB5866C, 0x6A77EC5B, 0x68315202, 0x69F33835, - 0x62AF7F08, 0x636D153F, 0x612BAB66, 0x60E9C151, - 0x65A6D7D4, 0x6464BDE3, 0x662203BA, 0x67E0698D, - 0x48D7CB20, 0x4915A117, 0x4B531F4E, 0x4A917579, - 0x4FDE63FC, 0x4E1C09CB, 0x4C5AB792, 0x4D98DDA5, - 0x46C49A98, 0x4706F0AF, 0x45404EF6, 0x448224C1, - 0x41CD3244, 0x400F5873, 0x4249E62A, 0x438B8C1D, - 0x54F16850, 0x55330267, 0x5775BC3E, 0x56B7D609, - 0x53F8C08C, 0x523AAABB, 0x507C14E2, 0x51BE7ED5, - 0x5AE239E8, 0x5B2053DF, 0x5966ED86, 0x58A487B1, - 0x5DEB9134, 0x5C29FB03, 0x5E6F455A, 0x5FAD2F6D, - 0xE1351B80, 0xE0F771B7, 0xE2B1CFEE, 0xE373A5D9, - 0xE63CB35C, 0xE7FED96B, 0xE5B86732, 0xE47A0D05, - 0xEF264A38, 0xEEE4200F, 0xECA29E56, 0xED60F461, - 0xE82FE2E4, 0xE9ED88D3, 0xEBAB368A, 0xEA695CBD, - 0xFD13B8F0, 0xFCD1D2C7, 0xFE976C9E, 0xFF5506A9, - 0xFA1A102C, 0xFBD87A1B, 0xF99EC442, 0xF85CAE75, - 0xF300E948, 0xF2C2837F, 0xF0843D26, 0xF1465711, - 0xF4094194, 0xF5CB2BA3, 0xF78D95FA, 0xF64FFFCD, - 0xD9785D60, 0xD8BA3757, 0xDAFC890E, 0xDB3EE339, - 0xDE71F5BC, 0xDFB39F8B, 0xDDF521D2, 0xDC374BE5, - 0xD76B0CD8, 0xD6A966EF, 0xD4EFD8B6, 0xD52DB281, - 0xD062A404, 0xD1A0CE33, 0xD3E6706A, 0xD2241A5D, - 0xC55EFE10, 0xC49C9427, 0xC6DA2A7E, 0xC7184049, - 0xC25756CC, 0xC3953CFB, 0xC1D382A2, 0xC011E895, - 0xCB4DAFA8, 0xCA8FC59F, 0xC8C97BC6, 0xC90B11F1, - 0xCC440774, 0xCD866D43, 0xCFC0D31A, 0xCE02B92D, - 0x91AF9640, 0x906DFC77, 0x922B422E, 0x93E92819, - 0x96A63E9C, 0x976454AB, 0x9522EAF2, 0x94E080C5, - 0x9FBCC7F8, 0x9E7EADCF, 0x9C381396, 0x9DFA79A1, - 0x98B56F24, 0x99770513, 0x9B31BB4A, 0x9AF3D17D, - 0x8D893530, 0x8C4B5F07, 0x8E0DE15E, 0x8FCF8B69, - 0x8A809DEC, 0x8B42F7DB, 0x89044982, 0x88C623B5, - 0x839A6488, 0x82580EBF, 0x801EB0E6, 0x81DCDAD1, - 0x8493CC54, 0x8551A663, 0x8717183A, 0x86D5720D, - 0xA9E2D0A0, 0xA820BA97, 0xAA6604CE, 0xABA46EF9, - 0xAEEB787C, 0xAF29124B, 0xAD6FAC12, 0xACADC625, - 0xA7F18118, 0xA633EB2F, 0xA4755576, 0xA5B73F41, - 0xA0F829C4, 0xA13A43F3, 0xA37CFDAA, 0xA2BE979D, - 0xB5C473D0, 0xB40619E7, 0xB640A7BE, 0xB782CD89, - 0xB2CDDB0C, 0xB30FB13B, 0xB1490F62, 0xB08B6555, - 0xBBD72268, 0xBA15485F, 0xB853F606, 0xB9919C31, - 0xBCDE8AB4, 0xBD1CE083, 0xBF5A5EDA, 0xBE9834ED - }, { - 0x00000000, 0xB8BC6765, 0xAA09C88B, 0x12B5AFEE, - 0x8F629757, 0x37DEF032, 0x256B5FDC, 0x9DD738B9, - 0xC5B428EF, 0x7D084F8A, 0x6FBDE064, 0xD7018701, - 0x4AD6BFB8, 0xF26AD8DD, 0xE0DF7733, 0x58631056, - 0x5019579F, 0xE8A530FA, 0xFA109F14, 0x42ACF871, - 0xDF7BC0C8, 0x67C7A7AD, 0x75720843, 0xCDCE6F26, - 0x95AD7F70, 0x2D111815, 0x3FA4B7FB, 0x8718D09E, - 0x1ACFE827, 0xA2738F42, 0xB0C620AC, 0x087A47C9, - 0xA032AF3E, 0x188EC85B, 0x0A3B67B5, 0xB28700D0, - 0x2F503869, 0x97EC5F0C, 0x8559F0E2, 0x3DE59787, - 0x658687D1, 0xDD3AE0B4, 0xCF8F4F5A, 0x7733283F, - 0xEAE41086, 0x525877E3, 0x40EDD80D, 0xF851BF68, - 0xF02BF8A1, 0x48979FC4, 0x5A22302A, 0xE29E574F, - 0x7F496FF6, 0xC7F50893, 0xD540A77D, 0x6DFCC018, - 0x359FD04E, 0x8D23B72B, 0x9F9618C5, 0x272A7FA0, - 0xBAFD4719, 0x0241207C, 0x10F48F92, 0xA848E8F7, - 0x9B14583D, 0x23A83F58, 0x311D90B6, 0x89A1F7D3, - 0x1476CF6A, 0xACCAA80F, 0xBE7F07E1, 0x06C36084, - 0x5EA070D2, 0xE61C17B7, 0xF4A9B859, 0x4C15DF3C, - 0xD1C2E785, 0x697E80E0, 0x7BCB2F0E, 0xC377486B, - 0xCB0D0FA2, 0x73B168C7, 0x6104C729, 0xD9B8A04C, - 0x446F98F5, 0xFCD3FF90, 0xEE66507E, 0x56DA371B, - 0x0EB9274D, 0xB6054028, 0xA4B0EFC6, 0x1C0C88A3, - 0x81DBB01A, 0x3967D77F, 0x2BD27891, 0x936E1FF4, - 0x3B26F703, 0x839A9066, 0x912F3F88, 0x299358ED, - 0xB4446054, 0x0CF80731, 0x1E4DA8DF, 0xA6F1CFBA, - 0xFE92DFEC, 0x462EB889, 0x549B1767, 0xEC277002, - 0x71F048BB, 0xC94C2FDE, 0xDBF98030, 0x6345E755, - 0x6B3FA09C, 0xD383C7F9, 0xC1366817, 0x798A0F72, - 0xE45D37CB, 0x5CE150AE, 0x4E54FF40, 0xF6E89825, - 0xAE8B8873, 0x1637EF16, 0x048240F8, 0xBC3E279D, - 0x21E91F24, 0x99557841, 0x8BE0D7AF, 0x335CB0CA, - 0xED59B63B, 0x55E5D15E, 0x47507EB0, 0xFFEC19D5, - 0x623B216C, 0xDA874609, 0xC832E9E7, 0x708E8E82, - 0x28ED9ED4, 0x9051F9B1, 0x82E4565F, 0x3A58313A, - 0xA78F0983, 0x1F336EE6, 0x0D86C108, 0xB53AA66D, - 0xBD40E1A4, 0x05FC86C1, 0x1749292F, 0xAFF54E4A, - 0x322276F3, 0x8A9E1196, 0x982BBE78, 0x2097D91D, - 0x78F4C94B, 0xC048AE2E, 0xD2FD01C0, 0x6A4166A5, - 0xF7965E1C, 0x4F2A3979, 0x5D9F9697, 0xE523F1F2, - 0x4D6B1905, 0xF5D77E60, 0xE762D18E, 0x5FDEB6EB, - 0xC2098E52, 0x7AB5E937, 0x680046D9, 0xD0BC21BC, - 0x88DF31EA, 0x3063568F, 0x22D6F961, 0x9A6A9E04, - 0x07BDA6BD, 0xBF01C1D8, 0xADB46E36, 0x15080953, - 0x1D724E9A, 0xA5CE29FF, 0xB77B8611, 0x0FC7E174, - 0x9210D9CD, 0x2AACBEA8, 0x38191146, 0x80A57623, - 0xD8C66675, 0x607A0110, 0x72CFAEFE, 0xCA73C99B, - 0x57A4F122, 0xEF189647, 0xFDAD39A9, 0x45115ECC, - 0x764DEE06, 0xCEF18963, 0xDC44268D, 0x64F841E8, - 0xF92F7951, 0x41931E34, 0x5326B1DA, 0xEB9AD6BF, - 0xB3F9C6E9, 0x0B45A18C, 0x19F00E62, 0xA14C6907, - 0x3C9B51BE, 0x842736DB, 0x96929935, 0x2E2EFE50, - 0x2654B999, 0x9EE8DEFC, 0x8C5D7112, 0x34E11677, - 0xA9362ECE, 0x118A49AB, 0x033FE645, 0xBB838120, - 0xE3E09176, 0x5B5CF613, 0x49E959FD, 0xF1553E98, - 0x6C820621, 0xD43E6144, 0xC68BCEAA, 0x7E37A9CF, - 0xD67F4138, 0x6EC3265D, 0x7C7689B3, 0xC4CAEED6, - 0x591DD66F, 0xE1A1B10A, 0xF3141EE4, 0x4BA87981, - 0x13CB69D7, 0xAB770EB2, 0xB9C2A15C, 0x017EC639, - 0x9CA9FE80, 0x241599E5, 0x36A0360B, 0x8E1C516E, - 0x866616A7, 0x3EDA71C2, 0x2C6FDE2C, 0x94D3B949, - 0x090481F0, 0xB1B8E695, 0xA30D497B, 0x1BB12E1E, - 0x43D23E48, 0xFB6E592D, 0xE9DBF6C3, 0x516791A6, - 0xCCB0A91F, 0x740CCE7A, 0x66B96194, 0xDE0506F1 - }, { - 0x00000000, 0x3D6029B0, 0x7AC05360, 0x47A07AD0, - 0xF580A6C0, 0xC8E08F70, 0x8F40F5A0, 0xB220DC10, - 0x30704BC1, 0x0D106271, 0x4AB018A1, 0x77D03111, - 0xC5F0ED01, 0xF890C4B1, 0xBF30BE61, 0x825097D1, - 0x60E09782, 0x5D80BE32, 0x1A20C4E2, 0x2740ED52, - 0x95603142, 0xA80018F2, 0xEFA06222, 0xD2C04B92, - 0x5090DC43, 0x6DF0F5F3, 0x2A508F23, 0x1730A693, - 0xA5107A83, 0x98705333, 0xDFD029E3, 0xE2B00053, - 0xC1C12F04, 0xFCA106B4, 0xBB017C64, 0x866155D4, - 0x344189C4, 0x0921A074, 0x4E81DAA4, 0x73E1F314, - 0xF1B164C5, 0xCCD14D75, 0x8B7137A5, 0xB6111E15, - 0x0431C205, 0x3951EBB5, 0x7EF19165, 0x4391B8D5, - 0xA121B886, 0x9C419136, 0xDBE1EBE6, 0xE681C256, - 0x54A11E46, 0x69C137F6, 0x2E614D26, 0x13016496, - 0x9151F347, 0xAC31DAF7, 0xEB91A027, 0xD6F18997, - 0x64D15587, 0x59B17C37, 0x1E1106E7, 0x23712F57, - 0x58F35849, 0x659371F9, 0x22330B29, 0x1F532299, - 0xAD73FE89, 0x9013D739, 0xD7B3ADE9, 0xEAD38459, - 0x68831388, 0x55E33A38, 0x124340E8, 0x2F236958, - 0x9D03B548, 0xA0639CF8, 0xE7C3E628, 0xDAA3CF98, - 0x3813CFCB, 0x0573E67B, 0x42D39CAB, 0x7FB3B51B, - 0xCD93690B, 0xF0F340BB, 0xB7533A6B, 0x8A3313DB, - 0x0863840A, 0x3503ADBA, 0x72A3D76A, 0x4FC3FEDA, - 0xFDE322CA, 0xC0830B7A, 0x872371AA, 0xBA43581A, - 0x9932774D, 0xA4525EFD, 0xE3F2242D, 0xDE920D9D, - 0x6CB2D18D, 0x51D2F83D, 0x167282ED, 0x2B12AB5D, - 0xA9423C8C, 0x9422153C, 0xD3826FEC, 0xEEE2465C, - 0x5CC29A4C, 0x61A2B3FC, 0x2602C92C, 0x1B62E09C, - 0xF9D2E0CF, 0xC4B2C97F, 0x8312B3AF, 0xBE729A1F, - 0x0C52460F, 0x31326FBF, 0x7692156F, 0x4BF23CDF, - 0xC9A2AB0E, 0xF4C282BE, 0xB362F86E, 0x8E02D1DE, - 0x3C220DCE, 0x0142247E, 0x46E25EAE, 0x7B82771E, - 0xB1E6B092, 0x8C869922, 0xCB26E3F2, 0xF646CA42, - 0x44661652, 0x79063FE2, 0x3EA64532, 0x03C66C82, - 0x8196FB53, 0xBCF6D2E3, 0xFB56A833, 0xC6368183, - 0x74165D93, 0x49767423, 0x0ED60EF3, 0x33B62743, - 0xD1062710, 0xEC660EA0, 0xABC67470, 0x96A65DC0, - 0x248681D0, 0x19E6A860, 0x5E46D2B0, 0x6326FB00, - 0xE1766CD1, 0xDC164561, 0x9BB63FB1, 0xA6D61601, - 0x14F6CA11, 0x2996E3A1, 0x6E369971, 0x5356B0C1, - 0x70279F96, 0x4D47B626, 0x0AE7CCF6, 0x3787E546, - 0x85A73956, 0xB8C710E6, 0xFF676A36, 0xC2074386, - 0x4057D457, 0x7D37FDE7, 0x3A978737, 0x07F7AE87, - 0xB5D77297, 0x88B75B27, 0xCF1721F7, 0xF2770847, - 0x10C70814, 0x2DA721A4, 0x6A075B74, 0x576772C4, - 0xE547AED4, 0xD8278764, 0x9F87FDB4, 0xA2E7D404, - 0x20B743D5, 0x1DD76A65, 0x5A7710B5, 0x67173905, - 0xD537E515, 0xE857CCA5, 0xAFF7B675, 0x92979FC5, - 0xE915E8DB, 0xD475C16B, 0x93D5BBBB, 0xAEB5920B, - 0x1C954E1B, 0x21F567AB, 0x66551D7B, 0x5B3534CB, - 0xD965A31A, 0xE4058AAA, 0xA3A5F07A, 0x9EC5D9CA, - 0x2CE505DA, 0x11852C6A, 0x562556BA, 0x6B457F0A, - 0x89F57F59, 0xB49556E9, 0xF3352C39, 0xCE550589, - 0x7C75D999, 0x4115F029, 0x06B58AF9, 0x3BD5A349, - 0xB9853498, 0x84E51D28, 0xC34567F8, 0xFE254E48, - 0x4C059258, 0x7165BBE8, 0x36C5C138, 0x0BA5E888, - 0x28D4C7DF, 0x15B4EE6F, 0x521494BF, 0x6F74BD0F, - 0xDD54611F, 0xE03448AF, 0xA794327F, 0x9AF41BCF, - 0x18A48C1E, 0x25C4A5AE, 0x6264DF7E, 0x5F04F6CE, - 0xED242ADE, 0xD044036E, 0x97E479BE, 0xAA84500E, - 0x4834505D, 0x755479ED, 0x32F4033D, 0x0F942A8D, - 0xBDB4F69D, 0x80D4DF2D, 0xC774A5FD, 0xFA148C4D, - 0x78441B9C, 0x4524322C, 0x028448FC, 0x3FE4614C, - 0x8DC4BD5C, 0xB0A494EC, 0xF704EE3C, 0xCA64C78C - }, { - 0x00000000, 0xCB5CD3A5, 0x4DC8A10B, 0x869472AE, - 0x9B914216, 0x50CD91B3, 0xD659E31D, 0x1D0530B8, - 0xEC53826D, 0x270F51C8, 0xA19B2366, 0x6AC7F0C3, - 0x77C2C07B, 0xBC9E13DE, 0x3A0A6170, 0xF156B2D5, - 0x03D6029B, 0xC88AD13E, 0x4E1EA390, 0x85427035, - 0x9847408D, 0x531B9328, 0xD58FE186, 0x1ED33223, - 0xEF8580F6, 0x24D95353, 0xA24D21FD, 0x6911F258, - 0x7414C2E0, 0xBF481145, 0x39DC63EB, 0xF280B04E, - 0x07AC0536, 0xCCF0D693, 0x4A64A43D, 0x81387798, - 0x9C3D4720, 0x57619485, 0xD1F5E62B, 0x1AA9358E, - 0xEBFF875B, 0x20A354FE, 0xA6372650, 0x6D6BF5F5, - 0x706EC54D, 0xBB3216E8, 0x3DA66446, 0xF6FAB7E3, - 0x047A07AD, 0xCF26D408, 0x49B2A6A6, 0x82EE7503, - 0x9FEB45BB, 0x54B7961E, 0xD223E4B0, 0x197F3715, - 0xE82985C0, 0x23755665, 0xA5E124CB, 0x6EBDF76E, - 0x73B8C7D6, 0xB8E41473, 0x3E7066DD, 0xF52CB578, - 0x0F580A6C, 0xC404D9C9, 0x4290AB67, 0x89CC78C2, - 0x94C9487A, 0x5F959BDF, 0xD901E971, 0x125D3AD4, - 0xE30B8801, 0x28575BA4, 0xAEC3290A, 0x659FFAAF, - 0x789ACA17, 0xB3C619B2, 0x35526B1C, 0xFE0EB8B9, - 0x0C8E08F7, 0xC7D2DB52, 0x4146A9FC, 0x8A1A7A59, - 0x971F4AE1, 0x5C439944, 0xDAD7EBEA, 0x118B384F, - 0xE0DD8A9A, 0x2B81593F, 0xAD152B91, 0x6649F834, - 0x7B4CC88C, 0xB0101B29, 0x36846987, 0xFDD8BA22, - 0x08F40F5A, 0xC3A8DCFF, 0x453CAE51, 0x8E607DF4, - 0x93654D4C, 0x58399EE9, 0xDEADEC47, 0x15F13FE2, - 0xE4A78D37, 0x2FFB5E92, 0xA96F2C3C, 0x6233FF99, - 0x7F36CF21, 0xB46A1C84, 0x32FE6E2A, 0xF9A2BD8F, - 0x0B220DC1, 0xC07EDE64, 0x46EAACCA, 0x8DB67F6F, - 0x90B34FD7, 0x5BEF9C72, 0xDD7BEEDC, 0x16273D79, - 0xE7718FAC, 0x2C2D5C09, 0xAAB92EA7, 0x61E5FD02, - 0x7CE0CDBA, 0xB7BC1E1F, 0x31286CB1, 0xFA74BF14, - 0x1EB014D8, 0xD5ECC77D, 0x5378B5D3, 0x98246676, - 0x852156CE, 0x4E7D856B, 0xC8E9F7C5, 0x03B52460, - 0xF2E396B5, 0x39BF4510, 0xBF2B37BE, 0x7477E41B, - 0x6972D4A3, 0xA22E0706, 0x24BA75A8, 0xEFE6A60D, - 0x1D661643, 0xD63AC5E6, 0x50AEB748, 0x9BF264ED, - 0x86F75455, 0x4DAB87F0, 0xCB3FF55E, 0x006326FB, - 0xF135942E, 0x3A69478B, 0xBCFD3525, 0x77A1E680, - 0x6AA4D638, 0xA1F8059D, 0x276C7733, 0xEC30A496, - 0x191C11EE, 0xD240C24B, 0x54D4B0E5, 0x9F886340, - 0x828D53F8, 0x49D1805D, 0xCF45F2F3, 0x04192156, - 0xF54F9383, 0x3E134026, 0xB8873288, 0x73DBE12D, - 0x6EDED195, 0xA5820230, 0x2316709E, 0xE84AA33B, - 0x1ACA1375, 0xD196C0D0, 0x5702B27E, 0x9C5E61DB, - 0x815B5163, 0x4A0782C6, 0xCC93F068, 0x07CF23CD, - 0xF6999118, 0x3DC542BD, 0xBB513013, 0x700DE3B6, - 0x6D08D30E, 0xA65400AB, 0x20C07205, 0xEB9CA1A0, - 0x11E81EB4, 0xDAB4CD11, 0x5C20BFBF, 0x977C6C1A, - 0x8A795CA2, 0x41258F07, 0xC7B1FDA9, 0x0CED2E0C, - 0xFDBB9CD9, 0x36E74F7C, 0xB0733DD2, 0x7B2FEE77, - 0x662ADECF, 0xAD760D6A, 0x2BE27FC4, 0xE0BEAC61, - 0x123E1C2F, 0xD962CF8A, 0x5FF6BD24, 0x94AA6E81, - 0x89AF5E39, 0x42F38D9C, 0xC467FF32, 0x0F3B2C97, - 0xFE6D9E42, 0x35314DE7, 0xB3A53F49, 0x78F9ECEC, - 0x65FCDC54, 0xAEA00FF1, 0x28347D5F, 0xE368AEFA, - 0x16441B82, 0xDD18C827, 0x5B8CBA89, 0x90D0692C, - 0x8DD55994, 0x46898A31, 0xC01DF89F, 0x0B412B3A, - 0xFA1799EF, 0x314B4A4A, 0xB7DF38E4, 0x7C83EB41, - 0x6186DBF9, 0xAADA085C, 0x2C4E7AF2, 0xE712A957, - 0x15921919, 0xDECECABC, 0x585AB812, 0x93066BB7, - 0x8E035B0F, 0x455F88AA, 0xC3CBFA04, 0x089729A1, - 0xF9C19B74, 0x329D48D1, 0xB4093A7F, 0x7F55E9DA, - 0x6250D962, 0xA90C0AC7, 0x2F987869, 0xE4C4ABCC - }, { - 0x00000000, 0xA6770BB4, 0x979F1129, 0x31E81A9D, - 0xF44F2413, 0x52382FA7, 0x63D0353A, 0xC5A73E8E, - 0x33EF4E67, 0x959845D3, 0xA4705F4E, 0x020754FA, - 0xC7A06A74, 0x61D761C0, 0x503F7B5D, 0xF64870E9, - 0x67DE9CCE, 0xC1A9977A, 0xF0418DE7, 0x56368653, - 0x9391B8DD, 0x35E6B369, 0x040EA9F4, 0xA279A240, - 0x5431D2A9, 0xF246D91D, 0xC3AEC380, 0x65D9C834, - 0xA07EF6BA, 0x0609FD0E, 0x37E1E793, 0x9196EC27, - 0xCFBD399C, 0x69CA3228, 0x582228B5, 0xFE552301, - 0x3BF21D8F, 0x9D85163B, 0xAC6D0CA6, 0x0A1A0712, - 0xFC5277FB, 0x5A257C4F, 0x6BCD66D2, 0xCDBA6D66, - 0x081D53E8, 0xAE6A585C, 0x9F8242C1, 0x39F54975, - 0xA863A552, 0x0E14AEE6, 0x3FFCB47B, 0x998BBFCF, - 0x5C2C8141, 0xFA5B8AF5, 0xCBB39068, 0x6DC49BDC, - 0x9B8CEB35, 0x3DFBE081, 0x0C13FA1C, 0xAA64F1A8, - 0x6FC3CF26, 0xC9B4C492, 0xF85CDE0F, 0x5E2BD5BB, - 0x440B7579, 0xE27C7ECD, 0xD3946450, 0x75E36FE4, - 0xB044516A, 0x16335ADE, 0x27DB4043, 0x81AC4BF7, - 0x77E43B1E, 0xD19330AA, 0xE07B2A37, 0x460C2183, - 0x83AB1F0D, 0x25DC14B9, 0x14340E24, 0xB2430590, - 0x23D5E9B7, 0x85A2E203, 0xB44AF89E, 0x123DF32A, - 0xD79ACDA4, 0x71EDC610, 0x4005DC8D, 0xE672D739, - 0x103AA7D0, 0xB64DAC64, 0x87A5B6F9, 0x21D2BD4D, - 0xE47583C3, 0x42028877, 0x73EA92EA, 0xD59D995E, - 0x8BB64CE5, 0x2DC14751, 0x1C295DCC, 0xBA5E5678, - 0x7FF968F6, 0xD98E6342, 0xE86679DF, 0x4E11726B, - 0xB8590282, 0x1E2E0936, 0x2FC613AB, 0x89B1181F, - 0x4C162691, 0xEA612D25, 0xDB8937B8, 0x7DFE3C0C, - 0xEC68D02B, 0x4A1FDB9F, 0x7BF7C102, 0xDD80CAB6, - 0x1827F438, 0xBE50FF8C, 0x8FB8E511, 0x29CFEEA5, - 0xDF879E4C, 0x79F095F8, 0x48188F65, 0xEE6F84D1, - 0x2BC8BA5F, 0x8DBFB1EB, 0xBC57AB76, 0x1A20A0C2, - 0x8816EAF2, 0x2E61E146, 0x1F89FBDB, 0xB9FEF06F, - 0x7C59CEE1, 0xDA2EC555, 0xEBC6DFC8, 0x4DB1D47C, - 0xBBF9A495, 0x1D8EAF21, 0x2C66B5BC, 0x8A11BE08, - 0x4FB68086, 0xE9C18B32, 0xD82991AF, 0x7E5E9A1B, - 0xEFC8763C, 0x49BF7D88, 0x78576715, 0xDE206CA1, - 0x1B87522F, 0xBDF0599B, 0x8C184306, 0x2A6F48B2, - 0xDC27385B, 0x7A5033EF, 0x4BB82972, 0xEDCF22C6, - 0x28681C48, 0x8E1F17FC, 0xBFF70D61, 0x198006D5, - 0x47ABD36E, 0xE1DCD8DA, 0xD034C247, 0x7643C9F3, - 0xB3E4F77D, 0x1593FCC9, 0x247BE654, 0x820CEDE0, - 0x74449D09, 0xD23396BD, 0xE3DB8C20, 0x45AC8794, - 0x800BB91A, 0x267CB2AE, 0x1794A833, 0xB1E3A387, - 0x20754FA0, 0x86024414, 0xB7EA5E89, 0x119D553D, - 0xD43A6BB3, 0x724D6007, 0x43A57A9A, 0xE5D2712E, - 0x139A01C7, 0xB5ED0A73, 0x840510EE, 0x22721B5A, - 0xE7D525D4, 0x41A22E60, 0x704A34FD, 0xD63D3F49, - 0xCC1D9F8B, 0x6A6A943F, 0x5B828EA2, 0xFDF58516, - 0x3852BB98, 0x9E25B02C, 0xAFCDAAB1, 0x09BAA105, - 0xFFF2D1EC, 0x5985DA58, 0x686DC0C5, 0xCE1ACB71, - 0x0BBDF5FF, 0xADCAFE4B, 0x9C22E4D6, 0x3A55EF62, - 0xABC30345, 0x0DB408F1, 0x3C5C126C, 0x9A2B19D8, - 0x5F8C2756, 0xF9FB2CE2, 0xC813367F, 0x6E643DCB, - 0x982C4D22, 0x3E5B4696, 0x0FB35C0B, 0xA9C457BF, - 0x6C636931, 0xCA146285, 0xFBFC7818, 0x5D8B73AC, - 0x03A0A617, 0xA5D7ADA3, 0x943FB73E, 0x3248BC8A, - 0xF7EF8204, 0x519889B0, 0x6070932D, 0xC6079899, - 0x304FE870, 0x9638E3C4, 0xA7D0F959, 0x01A7F2ED, - 0xC400CC63, 0x6277C7D7, 0x539FDD4A, 0xF5E8D6FE, - 0x647E3AD9, 0xC209316D, 0xF3E12BF0, 0x55962044, - 0x90311ECA, 0x3646157E, 0x07AE0FE3, 0xA1D90457, - 0x579174BE, 0xF1E67F0A, 0xC00E6597, 0x66796E23, - 0xA3DE50AD, 0x05A95B19, 0x34414184, 0x92364A30 - }, { - 0x00000000, 0xCCAA009E, 0x4225077D, 0x8E8F07E3, - 0x844A0EFA, 0x48E00E64, 0xC66F0987, 0x0AC50919, - 0xD3E51BB5, 0x1F4F1B2B, 0x91C01CC8, 0x5D6A1C56, - 0x57AF154F, 0x9B0515D1, 0x158A1232, 0xD92012AC, - 0x7CBB312B, 0xB01131B5, 0x3E9E3656, 0xF23436C8, - 0xF8F13FD1, 0x345B3F4F, 0xBAD438AC, 0x767E3832, - 0xAF5E2A9E, 0x63F42A00, 0xED7B2DE3, 0x21D12D7D, - 0x2B142464, 0xE7BE24FA, 0x69312319, 0xA59B2387, - 0xF9766256, 0x35DC62C8, 0xBB53652B, 0x77F965B5, - 0x7D3C6CAC, 0xB1966C32, 0x3F196BD1, 0xF3B36B4F, - 0x2A9379E3, 0xE639797D, 0x68B67E9E, 0xA41C7E00, - 0xAED97719, 0x62737787, 0xECFC7064, 0x205670FA, - 0x85CD537D, 0x496753E3, 0xC7E85400, 0x0B42549E, - 0x01875D87, 0xCD2D5D19, 0x43A25AFA, 0x8F085A64, - 0x562848C8, 0x9A824856, 0x140D4FB5, 0xD8A74F2B, - 0xD2624632, 0x1EC846AC, 0x9047414F, 0x5CED41D1, - 0x299DC2ED, 0xE537C273, 0x6BB8C590, 0xA712C50E, - 0xADD7CC17, 0x617DCC89, 0xEFF2CB6A, 0x2358CBF4, - 0xFA78D958, 0x36D2D9C6, 0xB85DDE25, 0x74F7DEBB, - 0x7E32D7A2, 0xB298D73C, 0x3C17D0DF, 0xF0BDD041, - 0x5526F3C6, 0x998CF358, 0x1703F4BB, 0xDBA9F425, - 0xD16CFD3C, 0x1DC6FDA2, 0x9349FA41, 0x5FE3FADF, - 0x86C3E873, 0x4A69E8ED, 0xC4E6EF0E, 0x084CEF90, - 0x0289E689, 0xCE23E617, 0x40ACE1F4, 0x8C06E16A, - 0xD0EBA0BB, 0x1C41A025, 0x92CEA7C6, 0x5E64A758, - 0x54A1AE41, 0x980BAEDF, 0x1684A93C, 0xDA2EA9A2, - 0x030EBB0E, 0xCFA4BB90, 0x412BBC73, 0x8D81BCED, - 0x8744B5F4, 0x4BEEB56A, 0xC561B289, 0x09CBB217, - 0xAC509190, 0x60FA910E, 0xEE7596ED, 0x22DF9673, - 0x281A9F6A, 0xE4B09FF4, 0x6A3F9817, 0xA6959889, - 0x7FB58A25, 0xB31F8ABB, 0x3D908D58, 0xF13A8DC6, - 0xFBFF84DF, 0x37558441, 0xB9DA83A2, 0x7570833C, - 0x533B85DA, 0x9F918544, 0x111E82A7, 0xDDB48239, - 0xD7718B20, 0x1BDB8BBE, 0x95548C5D, 0x59FE8CC3, - 0x80DE9E6F, 0x4C749EF1, 0xC2FB9912, 0x0E51998C, - 0x04949095, 0xC83E900B, 0x46B197E8, 0x8A1B9776, - 0x2F80B4F1, 0xE32AB46F, 0x6DA5B38C, 0xA10FB312, - 0xABCABA0B, 0x6760BA95, 0xE9EFBD76, 0x2545BDE8, - 0xFC65AF44, 0x30CFAFDA, 0xBE40A839, 0x72EAA8A7, - 0x782FA1BE, 0xB485A120, 0x3A0AA6C3, 0xF6A0A65D, - 0xAA4DE78C, 0x66E7E712, 0xE868E0F1, 0x24C2E06F, - 0x2E07E976, 0xE2ADE9E8, 0x6C22EE0B, 0xA088EE95, - 0x79A8FC39, 0xB502FCA7, 0x3B8DFB44, 0xF727FBDA, - 0xFDE2F2C3, 0x3148F25D, 0xBFC7F5BE, 0x736DF520, - 0xD6F6D6A7, 0x1A5CD639, 0x94D3D1DA, 0x5879D144, - 0x52BCD85D, 0x9E16D8C3, 0x1099DF20, 0xDC33DFBE, - 0x0513CD12, 0xC9B9CD8C, 0x4736CA6F, 0x8B9CCAF1, - 0x8159C3E8, 0x4DF3C376, 0xC37CC495, 0x0FD6C40B, - 0x7AA64737, 0xB60C47A9, 0x3883404A, 0xF42940D4, - 0xFEEC49CD, 0x32464953, 0xBCC94EB0, 0x70634E2E, - 0xA9435C82, 0x65E95C1C, 0xEB665BFF, 0x27CC5B61, - 0x2D095278, 0xE1A352E6, 0x6F2C5505, 0xA386559B, - 0x061D761C, 0xCAB77682, 0x44387161, 0x889271FF, - 0x825778E6, 0x4EFD7878, 0xC0727F9B, 0x0CD87F05, - 0xD5F86DA9, 0x19526D37, 0x97DD6AD4, 0x5B776A4A, - 0x51B26353, 0x9D1863CD, 0x1397642E, 0xDF3D64B0, - 0x83D02561, 0x4F7A25FF, 0xC1F5221C, 0x0D5F2282, - 0x079A2B9B, 0xCB302B05, 0x45BF2CE6, 0x89152C78, - 0x50353ED4, 0x9C9F3E4A, 0x121039A9, 0xDEBA3937, - 0xD47F302E, 0x18D530B0, 0x965A3753, 0x5AF037CD, - 0xFF6B144A, 0x33C114D4, 0xBD4E1337, 0x71E413A9, - 0x7B211AB0, 0xB78B1A2E, 0x39041DCD, 0xF5AE1D53, - 0x2C8E0FFF, 0xE0240F61, 0x6EAB0882, 0xA201081C, - 0xA8C40105, 0x646E019B, 0xEAE10678, 0x264B06E6 - } -}; diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_tablegen.c b/Build/source/extra/xz/src/liblzma/check/crc32_tablegen.c deleted file mode 100644 index 31a4d2751db..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_tablegen.c +++ /dev/null @@ -1,117 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc32_tablegen.c -/// \brief Generate crc32_table_le.h and crc32_table_be.h -/// -/// Compiling: gcc -std=c99 -o crc32_tablegen crc32_tablegen.c -/// Add -DWORDS_BIGENDIAN to generate big endian table. -/// Add -DLZ_HASH_TABLE to generate lz_encoder_hash_table.h (little endian). -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include "../../common/tuklib_integer.h" - - -static uint32_t crc32_table[8][256]; - - -static void -init_crc32_table(void) -{ - static const uint32_t poly32 = UINT32_C(0xEDB88320); - - for (size_t s = 0; s < 8; ++s) { - for (size_t b = 0; b < 256; ++b) { - uint32_t r = s == 0 ? b : crc32_table[s - 1][b]; - - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly32; - else - r >>= 1; - } - - crc32_table[s][b] = r; - } - } - -#ifdef WORDS_BIGENDIAN - for (size_t s = 0; s < 8; ++s) - for (size_t b = 0; b < 256; ++b) - crc32_table[s][b] = bswap32(crc32_table[s][b]); -#endif - - return; -} - - -static void -print_crc32_table(void) -{ - printf("/* This file has been automatically generated by " - "crc32_tablegen.c. */\n\n" - "const uint32_t lzma_crc32_table[8][256] = {\n\t{"); - - for (size_t s = 0; s < 8; ++s) { - for (size_t b = 0; b < 256; ++b) { - if ((b % 4) == 0) - printf("\n\t\t"); - - printf("0x%08" PRIX32, crc32_table[s][b]); - - if (b != 255) - printf(",%s", (b+1) % 4 == 0 ? "" : " "); - } - - if (s == 7) - printf("\n\t}\n};\n"); - else - printf("\n\t}, {"); - } - - return; -} - - -static void -print_lz_table(void) -{ - printf("/* This file has been automatically generated by " - "crc32_tablegen.c. */\n\n" - "const uint32_t lzma_lz_hash_table[256] = {"); - - for (size_t b = 0; b < 256; ++b) { - if ((b % 4) == 0) - printf("\n\t"); - - printf("0x%08" PRIX32, crc32_table[0][b]); - - if (b != 255) - printf(",%s", (b+1) % 4 == 0 ? "" : " "); - } - - printf("\n};\n"); - - return; -} - - -int -main(void) -{ - init_crc32_table(); - -#ifdef LZ_HASH_TABLE - print_lz_table(); -#else - print_crc32_table(); -#endif - - return 0; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc32_x86.S b/Build/source/extra/xz/src/liblzma/check/crc32_x86.S deleted file mode 100644 index 67f68a4145f..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc32_x86.S +++ /dev/null @@ -1,304 +0,0 @@ -/* - * Speed-optimized CRC32 using slicing-by-eight algorithm - * - * This uses only i386 instructions, but it is optimized for i686 and later - * (including e.g. Pentium II/III/IV, Athlon XP, and Core 2). For i586 - * (e.g. Pentium), slicing-by-four would be better, and even the C version - * of slicing-by-eight built with gcc -march=i586 tends to be a little bit - * better than this. Very few probably run this code on i586 or older x86 - * so this shouldn't be a problem in practice. - * - * Authors: Igor Pavlov (original version) - * Lasse Collin (AT&T syntax, PIC support, better portability) - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * This code needs lzma_crc32_table, which can be created using the - * following C code: - -uint32_t lzma_crc32_table[8][256]; - -void -init_table(void) -{ - // IEEE-802.3 - static const uint32_t poly32 = UINT32_C(0xEDB88320); - - // Castagnoli - // static const uint32_t poly32 = UINT32_C(0x82F63B78); - - // Koopman - // static const uint32_t poly32 = UINT32_C(0xEB31D82E); - - for (size_t s = 0; s < 8; ++s) { - for (size_t b = 0; b < 256; ++b) { - uint32_t r = s == 0 ? b : lzma_crc32_table[s - 1][b]; - - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly32; - else - r >>= 1; - } - - lzma_crc32_table[s][b] = r; - } - } -} - - * The prototype of the CRC32 function: - * extern uint32_t lzma_crc32(const uint8_t *buf, size_t size, uint32_t crc); - */ - -/* - * On some systems, the functions need to be prefixed. The prefix is - * usually an underscore. - */ -#ifndef __USER_LABEL_PREFIX__ -# define __USER_LABEL_PREFIX__ -#endif -#define MAKE_SYM_CAT(prefix, sym) prefix ## sym -#define MAKE_SYM(prefix, sym) MAKE_SYM_CAT(prefix, sym) -#define LZMA_CRC32 MAKE_SYM(__USER_LABEL_PREFIX__, lzma_crc32) -#define LZMA_CRC32_TABLE MAKE_SYM(__USER_LABEL_PREFIX__, lzma_crc32_table) - -/* - * Solaris assembler doesn't have .p2align, and Darwin uses .align - * differently than GNU/Linux and Solaris. - */ -#if defined(__APPLE__) || defined(__MSDOS__) -# define ALIGN(pow2, abs) .align pow2 -#else -# define ALIGN(pow2, abs) .align abs -#endif - - .text - .globl LZMA_CRC32 - -#if !defined(__APPLE__) && !defined(_WIN32) && !defined(__CYGWIN__) \ - && !defined(__MSDOS__) - .type LZMA_CRC32, @function -#endif - - ALIGN(4, 16) -LZMA_CRC32: - /* - * Register usage: - * %eax crc - * %esi buf - * %edi size or buf + size - * %ebx lzma_crc32_table - * %ebp Table index - * %ecx Temporary - * %edx Temporary - */ - pushl %ebx - pushl %esi - pushl %edi - pushl %ebp - movl 0x14(%esp), %esi /* buf */ - movl 0x18(%esp), %edi /* size */ - movl 0x1C(%esp), %eax /* crc */ - - /* - * Store the address of lzma_crc32_table to %ebx. This is needed to - * get position-independent code (PIC). - * - * The PIC macro is defined by libtool, while __PIC__ is defined - * by GCC but only on some systems. Testing for both makes it simpler - * to test this code without libtool, and keeps the code working also - * when built with libtool but using something else than GCC. - * - * I understood that libtool may define PIC on Windows even though - * the code in Windows DLLs is not PIC in sense that it is in ELF - * binaries, so we need a separate check to always use the non-PIC - * code on Windows. - */ -#if (!defined(PIC) && !defined(__PIC__)) \ - || (defined(_WIN32) || defined(__CYGWIN__)) - /* Not PIC */ - movl $ LZMA_CRC32_TABLE, %ebx -#elif defined(__APPLE__) - /* Mach-O */ - call .L_get_pc -.L_pic: - leal .L_lzma_crc32_table$non_lazy_ptr-.L_pic(%ebx), %ebx - movl (%ebx), %ebx -#else - /* ELF */ - call .L_get_pc - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl LZMA_CRC32_TABLE@GOT(%ebx), %ebx -#endif - - /* Complement the initial value. */ - notl %eax - - ALIGN(4, 16) -.L_align: - /* - * Check if there is enough input to use slicing-by-eight. - * We need 16 bytes, because the loop pre-reads eight bytes. - */ - cmpl $16, %edi - jb .L_rest - - /* Check if we have reached alignment of eight bytes. */ - testl $7, %esi - jz .L_slice - - /* Calculate CRC of the next input byte. */ - movzbl (%esi), %ebp - incl %esi - movzbl %al, %ecx - xorl %ecx, %ebp - shrl $8, %eax - xorl (%ebx, %ebp, 4), %eax - decl %edi - jmp .L_align - - ALIGN(2, 4) -.L_slice: - /* - * If we get here, there's at least 16 bytes of aligned input - * available. Make %edi multiple of eight bytes. Store the possible - * remainder over the "size" variable in the argument stack. - */ - movl %edi, 0x18(%esp) - andl $-8, %edi - subl %edi, 0x18(%esp) - - /* - * Let %edi be buf + size - 8 while running the main loop. This way - * we can compare for equality to determine when exit the loop. - */ - addl %esi, %edi - subl $8, %edi - - /* Read in the first eight aligned bytes. */ - xorl (%esi), %eax - movl 4(%esi), %ecx - movzbl %cl, %ebp - -.L_loop: - movl 0x0C00(%ebx, %ebp, 4), %edx - movzbl %ch, %ebp - xorl 0x0800(%ebx, %ebp, 4), %edx - shrl $16, %ecx - xorl 8(%esi), %edx - movzbl %cl, %ebp - xorl 0x0400(%ebx, %ebp, 4), %edx - movzbl %ch, %ebp - xorl (%ebx, %ebp, 4), %edx - movzbl %al, %ebp - - /* - * Read the next four bytes, for which the CRC is calculated - * on the next interation of the loop. - */ - movl 12(%esi), %ecx - - xorl 0x1C00(%ebx, %ebp, 4), %edx - movzbl %ah, %ebp - shrl $16, %eax - xorl 0x1800(%ebx, %ebp, 4), %edx - movzbl %ah, %ebp - movzbl %al, %eax - movl 0x1400(%ebx, %eax, 4), %eax - addl $8, %esi - xorl %edx, %eax - xorl 0x1000(%ebx, %ebp, 4), %eax - - /* Check for end of aligned input. */ - cmpl %edi, %esi - movzbl %cl, %ebp - jne .L_loop - - /* - * Process the remaining eight bytes, which we have already - * copied to %ecx and %edx. - */ - movl 0x0C00(%ebx, %ebp, 4), %edx - movzbl %ch, %ebp - xorl 0x0800(%ebx, %ebp, 4), %edx - shrl $16, %ecx - movzbl %cl, %ebp - xorl 0x0400(%ebx, %ebp, 4), %edx - movzbl %ch, %ebp - xorl (%ebx, %ebp, 4), %edx - movzbl %al, %ebp - - xorl 0x1C00(%ebx, %ebp, 4), %edx - movzbl %ah, %ebp - shrl $16, %eax - xorl 0x1800(%ebx, %ebp, 4), %edx - movzbl %ah, %ebp - movzbl %al, %eax - movl 0x1400(%ebx, %eax, 4), %eax - addl $8, %esi - xorl %edx, %eax - xorl 0x1000(%ebx, %ebp, 4), %eax - - /* Copy the number of remaining bytes to %edi. */ - movl 0x18(%esp), %edi - -.L_rest: - /* Check for end of input. */ - testl %edi, %edi - jz .L_return - - /* Calculate CRC of the next input byte. */ - movzbl (%esi), %ebp - incl %esi - movzbl %al, %ecx - xorl %ecx, %ebp - shrl $8, %eax - xorl (%ebx, %ebp, 4), %eax - decl %edi - jmp .L_rest - -.L_return: - /* Complement the final value. */ - notl %eax - - popl %ebp - popl %edi - popl %esi - popl %ebx - ret - -#if defined(PIC) || defined(__PIC__) - ALIGN(4, 16) -.L_get_pc: - movl (%esp), %ebx - ret -#endif - -#if defined(__APPLE__) && (defined(PIC) || defined(__PIC__)) - /* Mach-O PIC */ - .section __IMPORT,__pointers,non_lazy_symbol_pointers -.L_lzma_crc32_table$non_lazy_ptr: - .indirect_symbol LZMA_CRC32_TABLE - .long 0 - -#elif defined(_WIN32) || defined(__CYGWIN__) -# ifdef DLL_EXPORT - /* This is equivalent of __declspec(dllexport). */ - .section .drectve - .ascii " -export:lzma_crc32" -# endif - -#elif !defined(__MSDOS__) - /* ELF */ - .size LZMA_CRC32, .-LZMA_CRC32 -#endif - -/* - * This is needed to support non-executable stack. It's ugly to - * use __linux__ here, but I don't know a way to detect when - * we are using GNU assembler. - */ -#if defined(__ELF__) && defined(__linux__) - .section .note.GNU-stack,"",@progbits -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_fast.c b/Build/source/extra/xz/src/liblzma/check/crc64_fast.c deleted file mode 100644 index 52af29ed48d..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_fast.c +++ /dev/null @@ -1,72 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc64.c -/// \brief CRC64 calculation -/// -/// Calculate the CRC64 using the slice-by-four algorithm. This is the same -/// idea that is used in crc32_fast.c, but for CRC64 we use only four tables -/// instead of eight to avoid increasing CPU cache usage. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "check.h" -#include "crc_macros.h" - - -#ifdef WORDS_BIGENDIAN -# define A1(x) ((x) >> 56) -#else -# define A1 A -#endif - - -// See the comments in crc32_fast.c. They aren't duplicated here. -extern LZMA_API(uint64_t) -lzma_crc64(const uint8_t *buf, size_t size, uint64_t crc) -{ - crc = ~crc; - -#ifdef WORDS_BIGENDIAN - crc = bswap64(crc); -#endif - - if (size > 4) { - while ((uintptr_t)(buf) & 3) { - crc = lzma_crc64_table[0][*buf++ ^ A1(crc)] ^ S8(crc); - --size; - } - - const uint8_t *const limit = buf + (size & ~(size_t)(3)); - size &= (size_t)(3); - - while (buf < limit) { -#ifdef WORDS_BIGENDIAN - const uint32_t tmp = (crc >> 32) - ^ *(const uint32_t *)(buf); -#else - const uint32_t tmp = crc ^ *(const uint32_t *)(buf); -#endif - buf += 4; - - crc = lzma_crc64_table[3][A(tmp)] - ^ lzma_crc64_table[2][B(tmp)] - ^ S32(crc) - ^ lzma_crc64_table[1][C(tmp)] - ^ lzma_crc64_table[0][D(tmp)]; - } - } - - while (size-- != 0) - crc = lzma_crc64_table[0][*buf++ ^ A1(crc)] ^ S8(crc); - -#ifdef WORDS_BIGENDIAN - crc = bswap64(crc); -#endif - - return ~crc; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_small.c b/Build/source/extra/xz/src/liblzma/check/crc64_small.c deleted file mode 100644 index 55d72316bce..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_small.c +++ /dev/null @@ -1,53 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc64_small.c -/// \brief CRC64 calculation (size-optimized) -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "check.h" - - -static uint64_t crc64_table[256]; - - -static void -crc64_init(void) -{ - static const uint64_t poly64 = UINT64_C(0xC96C5795D7870F42); - - for (size_t b = 0; b < 256; ++b) { - uint64_t r = b; - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly64; - else - r >>= 1; - } - - crc64_table[b] = r; - } - - return; -} - - -extern LZMA_API(uint64_t) -lzma_crc64(const uint8_t *buf, size_t size, uint64_t crc) -{ - mythread_once(crc64_init); - - crc = ~crc; - - while (size != 0) { - crc = crc64_table[*buf++ ^ (crc & 0xFF)] ^ (crc >> 8); - --size; - } - - return ~crc; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_table.c b/Build/source/extra/xz/src/liblzma/check/crc64_table.c deleted file mode 100644 index 1fbcd94703c..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_table.c +++ /dev/null @@ -1,19 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc64_table.c -/// \brief Precalculated CRC64 table with correct endianness -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - -#ifdef WORDS_BIGENDIAN -# include "crc64_table_be.h" -#else -# include "crc64_table_le.h" -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_table_be.h b/Build/source/extra/xz/src/liblzma/check/crc64_table_be.h deleted file mode 100644 index ea074f397a7..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_table_be.h +++ /dev/null @@ -1,521 +0,0 @@ -/* This file has been automatically generated by crc64_tablegen.c. */ - -const uint64_t lzma_crc64_table[4][256] = { - { - UINT64_C(0x0000000000000000), UINT64_C(0x6F5FA703BE4C2EB3), - UINT64_C(0x5BA040A8573684F4), UINT64_C(0x34FFE7ABE97AAA47), - UINT64_C(0x335E8FFF84C3D07B), UINT64_C(0x5C0128FC3A8FFEC8), - UINT64_C(0x68FECF57D3F5548F), UINT64_C(0x07A168546DB97A3C), - UINT64_C(0x66BC1EFF0987A1F7), UINT64_C(0x09E3B9FCB7CB8F44), - UINT64_C(0x3D1C5E575EB12503), UINT64_C(0x5243F954E0FD0BB0), - UINT64_C(0x55E291008D44718C), UINT64_C(0x3ABD360333085F3F), - UINT64_C(0x0E42D1A8DA72F578), UINT64_C(0x611D76AB643EDBCB), - UINT64_C(0x4966335138A19B7D), UINT64_C(0x2639945286EDB5CE), - UINT64_C(0x12C673F96F971F89), UINT64_C(0x7D99D4FAD1DB313A), - UINT64_C(0x7A38BCAEBC624B06), UINT64_C(0x15671BAD022E65B5), - UINT64_C(0x2198FC06EB54CFF2), UINT64_C(0x4EC75B055518E141), - UINT64_C(0x2FDA2DAE31263A8A), UINT64_C(0x40858AAD8F6A1439), - UINT64_C(0x747A6D066610BE7E), UINT64_C(0x1B25CA05D85C90CD), - UINT64_C(0x1C84A251B5E5EAF1), UINT64_C(0x73DB05520BA9C442), - UINT64_C(0x4724E2F9E2D36E05), UINT64_C(0x287B45FA5C9F40B6), - UINT64_C(0x92CC66A2704237FB), UINT64_C(0xFD93C1A1CE0E1948), - UINT64_C(0xC96C260A2774B30F), UINT64_C(0xA633810999389DBC), - UINT64_C(0xA192E95DF481E780), UINT64_C(0xCECD4E5E4ACDC933), - UINT64_C(0xFA32A9F5A3B76374), UINT64_C(0x956D0EF61DFB4DC7), - UINT64_C(0xF470785D79C5960C), UINT64_C(0x9B2FDF5EC789B8BF), - UINT64_C(0xAFD038F52EF312F8), UINT64_C(0xC08F9FF690BF3C4B), - UINT64_C(0xC72EF7A2FD064677), UINT64_C(0xA87150A1434A68C4), - UINT64_C(0x9C8EB70AAA30C283), UINT64_C(0xF3D11009147CEC30), - UINT64_C(0xDBAA55F348E3AC86), UINT64_C(0xB4F5F2F0F6AF8235), - UINT64_C(0x800A155B1FD52872), UINT64_C(0xEF55B258A19906C1), - UINT64_C(0xE8F4DA0CCC207CFD), UINT64_C(0x87AB7D0F726C524E), - UINT64_C(0xB3549AA49B16F809), UINT64_C(0xDC0B3DA7255AD6BA), - UINT64_C(0xBD164B0C41640D71), UINT64_C(0xD249EC0FFF2823C2), - UINT64_C(0xE6B60BA416528985), UINT64_C(0x89E9ACA7A81EA736), - UINT64_C(0x8E48C4F3C5A7DD0A), UINT64_C(0xE11763F07BEBF3B9), - UINT64_C(0xD5E8845B929159FE), UINT64_C(0xBAB723582CDD774D), - UINT64_C(0xA187C3EBCA2BB664), UINT64_C(0xCED864E8746798D7), - UINT64_C(0xFA2783439D1D3290), UINT64_C(0x9578244023511C23), - UINT64_C(0x92D94C144EE8661F), UINT64_C(0xFD86EB17F0A448AC), - UINT64_C(0xC9790CBC19DEE2EB), UINT64_C(0xA626ABBFA792CC58), - UINT64_C(0xC73BDD14C3AC1793), UINT64_C(0xA8647A177DE03920), - UINT64_C(0x9C9B9DBC949A9367), UINT64_C(0xF3C43ABF2AD6BDD4), - UINT64_C(0xF46552EB476FC7E8), UINT64_C(0x9B3AF5E8F923E95B), - UINT64_C(0xAFC512431059431C), UINT64_C(0xC09AB540AE156DAF), - UINT64_C(0xE8E1F0BAF28A2D19), UINT64_C(0x87BE57B94CC603AA), - UINT64_C(0xB341B012A5BCA9ED), UINT64_C(0xDC1E17111BF0875E), - UINT64_C(0xDBBF7F457649FD62), UINT64_C(0xB4E0D846C805D3D1), - UINT64_C(0x801F3FED217F7996), UINT64_C(0xEF4098EE9F335725), - UINT64_C(0x8E5DEE45FB0D8CEE), UINT64_C(0xE10249464541A25D), - UINT64_C(0xD5FDAEEDAC3B081A), UINT64_C(0xBAA209EE127726A9), - UINT64_C(0xBD0361BA7FCE5C95), UINT64_C(0xD25CC6B9C1827226), - UINT64_C(0xE6A3211228F8D861), UINT64_C(0x89FC861196B4F6D2), - UINT64_C(0x334BA549BA69819F), UINT64_C(0x5C14024A0425AF2C), - UINT64_C(0x68EBE5E1ED5F056B), UINT64_C(0x07B442E253132BD8), - UINT64_C(0x00152AB63EAA51E4), UINT64_C(0x6F4A8DB580E67F57), - UINT64_C(0x5BB56A1E699CD510), UINT64_C(0x34EACD1DD7D0FBA3), - UINT64_C(0x55F7BBB6B3EE2068), UINT64_C(0x3AA81CB50DA20EDB), - UINT64_C(0x0E57FB1EE4D8A49C), UINT64_C(0x61085C1D5A948A2F), - UINT64_C(0x66A93449372DF013), UINT64_C(0x09F6934A8961DEA0), - UINT64_C(0x3D0974E1601B74E7), UINT64_C(0x5256D3E2DE575A54), - UINT64_C(0x7A2D961882C81AE2), UINT64_C(0x1572311B3C843451), - UINT64_C(0x218DD6B0D5FE9E16), UINT64_C(0x4ED271B36BB2B0A5), - UINT64_C(0x497319E7060BCA99), UINT64_C(0x262CBEE4B847E42A), - UINT64_C(0x12D3594F513D4E6D), UINT64_C(0x7D8CFE4CEF7160DE), - UINT64_C(0x1C9188E78B4FBB15), UINT64_C(0x73CE2FE4350395A6), - UINT64_C(0x4731C84FDC793FE1), UINT64_C(0x286E6F4C62351152), - UINT64_C(0x2FCF07180F8C6B6E), UINT64_C(0x4090A01BB1C045DD), - UINT64_C(0x746F47B058BAEF9A), UINT64_C(0x1B30E0B3E6F6C129), - UINT64_C(0x420F87D795576CC9), UINT64_C(0x2D5020D42B1B427A), - UINT64_C(0x19AFC77FC261E83D), UINT64_C(0x76F0607C7C2DC68E), - UINT64_C(0x715108281194BCB2), UINT64_C(0x1E0EAF2BAFD89201), - UINT64_C(0x2AF1488046A23846), UINT64_C(0x45AEEF83F8EE16F5), - UINT64_C(0x24B399289CD0CD3E), UINT64_C(0x4BEC3E2B229CE38D), - UINT64_C(0x7F13D980CBE649CA), UINT64_C(0x104C7E8375AA6779), - UINT64_C(0x17ED16D718131D45), UINT64_C(0x78B2B1D4A65F33F6), - UINT64_C(0x4C4D567F4F2599B1), UINT64_C(0x2312F17CF169B702), - UINT64_C(0x0B69B486ADF6F7B4), UINT64_C(0x6436138513BAD907), - UINT64_C(0x50C9F42EFAC07340), UINT64_C(0x3F96532D448C5DF3), - UINT64_C(0x38373B79293527CF), UINT64_C(0x57689C7A9779097C), - UINT64_C(0x63977BD17E03A33B), UINT64_C(0x0CC8DCD2C04F8D88), - UINT64_C(0x6DD5AA79A4715643), UINT64_C(0x028A0D7A1A3D78F0), - UINT64_C(0x3675EAD1F347D2B7), UINT64_C(0x592A4DD24D0BFC04), - UINT64_C(0x5E8B258620B28638), UINT64_C(0x31D482859EFEA88B), - UINT64_C(0x052B652E778402CC), UINT64_C(0x6A74C22DC9C82C7F), - UINT64_C(0xD0C3E175E5155B32), UINT64_C(0xBF9C46765B597581), - UINT64_C(0x8B63A1DDB223DFC6), UINT64_C(0xE43C06DE0C6FF175), - UINT64_C(0xE39D6E8A61D68B49), UINT64_C(0x8CC2C989DF9AA5FA), - UINT64_C(0xB83D2E2236E00FBD), UINT64_C(0xD762892188AC210E), - UINT64_C(0xB67FFF8AEC92FAC5), UINT64_C(0xD920588952DED476), - UINT64_C(0xEDDFBF22BBA47E31), UINT64_C(0x8280182105E85082), - UINT64_C(0x8521707568512ABE), UINT64_C(0xEA7ED776D61D040D), - UINT64_C(0xDE8130DD3F67AE4A), UINT64_C(0xB1DE97DE812B80F9), - UINT64_C(0x99A5D224DDB4C04F), UINT64_C(0xF6FA752763F8EEFC), - UINT64_C(0xC205928C8A8244BB), UINT64_C(0xAD5A358F34CE6A08), - UINT64_C(0xAAFB5DDB59771034), UINT64_C(0xC5A4FAD8E73B3E87), - UINT64_C(0xF15B1D730E4194C0), UINT64_C(0x9E04BA70B00DBA73), - UINT64_C(0xFF19CCDBD43361B8), UINT64_C(0x90466BD86A7F4F0B), - UINT64_C(0xA4B98C738305E54C), UINT64_C(0xCBE62B703D49CBFF), - UINT64_C(0xCC47432450F0B1C3), UINT64_C(0xA318E427EEBC9F70), - UINT64_C(0x97E7038C07C63537), UINT64_C(0xF8B8A48FB98A1B84), - UINT64_C(0xE388443C5F7CDAAD), UINT64_C(0x8CD7E33FE130F41E), - UINT64_C(0xB8280494084A5E59), UINT64_C(0xD777A397B60670EA), - UINT64_C(0xD0D6CBC3DBBF0AD6), UINT64_C(0xBF896CC065F32465), - UINT64_C(0x8B768B6B8C898E22), UINT64_C(0xE4292C6832C5A091), - UINT64_C(0x85345AC356FB7B5A), UINT64_C(0xEA6BFDC0E8B755E9), - UINT64_C(0xDE941A6B01CDFFAE), UINT64_C(0xB1CBBD68BF81D11D), - UINT64_C(0xB66AD53CD238AB21), UINT64_C(0xD935723F6C748592), - UINT64_C(0xEDCA9594850E2FD5), UINT64_C(0x829532973B420166), - UINT64_C(0xAAEE776D67DD41D0), UINT64_C(0xC5B1D06ED9916F63), - UINT64_C(0xF14E37C530EBC524), UINT64_C(0x9E1190C68EA7EB97), - UINT64_C(0x99B0F892E31E91AB), UINT64_C(0xF6EF5F915D52BF18), - UINT64_C(0xC210B83AB428155F), UINT64_C(0xAD4F1F390A643BEC), - UINT64_C(0xCC5269926E5AE027), UINT64_C(0xA30DCE91D016CE94), - UINT64_C(0x97F2293A396C64D3), UINT64_C(0xF8AD8E3987204A60), - UINT64_C(0xFF0CE66DEA99305C), UINT64_C(0x9053416E54D51EEF), - UINT64_C(0xA4ACA6C5BDAFB4A8), UINT64_C(0xCBF301C603E39A1B), - UINT64_C(0x7144229E2F3EED56), UINT64_C(0x1E1B859D9172C3E5), - UINT64_C(0x2AE46236780869A2), UINT64_C(0x45BBC535C6444711), - UINT64_C(0x421AAD61ABFD3D2D), UINT64_C(0x2D450A6215B1139E), - UINT64_C(0x19BAEDC9FCCBB9D9), UINT64_C(0x76E54ACA4287976A), - UINT64_C(0x17F83C6126B94CA1), UINT64_C(0x78A79B6298F56212), - UINT64_C(0x4C587CC9718FC855), UINT64_C(0x2307DBCACFC3E6E6), - UINT64_C(0x24A6B39EA27A9CDA), UINT64_C(0x4BF9149D1C36B269), - UINT64_C(0x7F06F336F54C182E), UINT64_C(0x105954354B00369D), - UINT64_C(0x382211CF179F762B), UINT64_C(0x577DB6CCA9D35898), - UINT64_C(0x6382516740A9F2DF), UINT64_C(0x0CDDF664FEE5DC6C), - UINT64_C(0x0B7C9E30935CA650), UINT64_C(0x642339332D1088E3), - UINT64_C(0x50DCDE98C46A22A4), UINT64_C(0x3F83799B7A260C17), - UINT64_C(0x5E9E0F301E18D7DC), UINT64_C(0x31C1A833A054F96F), - UINT64_C(0x053E4F98492E5328), UINT64_C(0x6A61E89BF7627D9B), - UINT64_C(0x6DC080CF9ADB07A7), UINT64_C(0x029F27CC24972914), - UINT64_C(0x3660C067CDED8353), UINT64_C(0x593F676473A1ADE0) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0x0DF1D05C9279E954), - UINT64_C(0x1AE2A1B924F3D2A9), UINT64_C(0x171371E5B68A3BFD), - UINT64_C(0xB1DA4DDC62497DC1), UINT64_C(0xBC2B9D80F0309495), - UINT64_C(0xAB38EC6546BAAF68), UINT64_C(0xA6C93C39D4C3463C), - UINT64_C(0xE7AB9517EE3D2210), UINT64_C(0xEA5A454B7C44CB44), - UINT64_C(0xFD4934AECACEF0B9), UINT64_C(0xF0B8E4F258B719ED), - UINT64_C(0x5671D8CB8C745FD1), UINT64_C(0x5B8008971E0DB685), - UINT64_C(0x4C937972A8878D78), UINT64_C(0x4162A92E3AFE642C), - UINT64_C(0xCE572B2FDC7B4420), UINT64_C(0xC3A6FB734E02AD74), - UINT64_C(0xD4B58A96F8889689), UINT64_C(0xD9445ACA6AF17FDD), - UINT64_C(0x7F8D66F3BE3239E1), UINT64_C(0x727CB6AF2C4BD0B5), - UINT64_C(0x656FC74A9AC1EB48), UINT64_C(0x689E171608B8021C), - UINT64_C(0x29FCBE3832466630), UINT64_C(0x240D6E64A03F8F64), - UINT64_C(0x331E1F8116B5B499), UINT64_C(0x3EEFCFDD84CC5DCD), - UINT64_C(0x9826F3E4500F1BF1), UINT64_C(0x95D723B8C276F2A5), - UINT64_C(0x82C4525D74FCC958), UINT64_C(0x8F358201E685200C), - UINT64_C(0x9CAF565EB8F78840), UINT64_C(0x915E86022A8E6114), - UINT64_C(0x864DF7E79C045AE9), UINT64_C(0x8BBC27BB0E7DB3BD), - UINT64_C(0x2D751B82DABEF581), UINT64_C(0x2084CBDE48C71CD5), - UINT64_C(0x3797BA3BFE4D2728), UINT64_C(0x3A666A676C34CE7C), - UINT64_C(0x7B04C34956CAAA50), UINT64_C(0x76F51315C4B34304), - UINT64_C(0x61E662F0723978F9), UINT64_C(0x6C17B2ACE04091AD), - UINT64_C(0xCADE8E953483D791), UINT64_C(0xC72F5EC9A6FA3EC5), - UINT64_C(0xD03C2F2C10700538), UINT64_C(0xDDCDFF708209EC6C), - UINT64_C(0x52F87D71648CCC60), UINT64_C(0x5F09AD2DF6F52534), - UINT64_C(0x481ADCC8407F1EC9), UINT64_C(0x45EB0C94D206F79D), - UINT64_C(0xE32230AD06C5B1A1), UINT64_C(0xEED3E0F194BC58F5), - UINT64_C(0xF9C0911422366308), UINT64_C(0xF4314148B04F8A5C), - UINT64_C(0xB553E8668AB1EE70), UINT64_C(0xB8A2383A18C80724), - UINT64_C(0xAFB149DFAE423CD9), UINT64_C(0xA24099833C3BD58D), - UINT64_C(0x0489A5BAE8F893B1), UINT64_C(0x097875E67A817AE5), - UINT64_C(0x1E6B0403CC0B4118), UINT64_C(0x139AD45F5E72A84C), - UINT64_C(0x385FADBC70EF1181), UINT64_C(0x35AE7DE0E296F8D5), - UINT64_C(0x22BD0C05541CC328), UINT64_C(0x2F4CDC59C6652A7C), - UINT64_C(0x8985E06012A66C40), UINT64_C(0x8474303C80DF8514), - UINT64_C(0x936741D93655BEE9), UINT64_C(0x9E969185A42C57BD), - UINT64_C(0xDFF438AB9ED23391), UINT64_C(0xD205E8F70CABDAC5), - UINT64_C(0xC5169912BA21E138), UINT64_C(0xC8E7494E2858086C), - UINT64_C(0x6E2E7577FC9B4E50), UINT64_C(0x63DFA52B6EE2A704), - UINT64_C(0x74CCD4CED8689CF9), UINT64_C(0x793D04924A1175AD), - UINT64_C(0xF6088693AC9455A1), UINT64_C(0xFBF956CF3EEDBCF5), - UINT64_C(0xECEA272A88678708), UINT64_C(0xE11BF7761A1E6E5C), - UINT64_C(0x47D2CB4FCEDD2860), UINT64_C(0x4A231B135CA4C134), - UINT64_C(0x5D306AF6EA2EFAC9), UINT64_C(0x50C1BAAA7857139D), - UINT64_C(0x11A3138442A977B1), UINT64_C(0x1C52C3D8D0D09EE5), - UINT64_C(0x0B41B23D665AA518), UINT64_C(0x06B06261F4234C4C), - UINT64_C(0xA0795E5820E00A70), UINT64_C(0xAD888E04B299E324), - UINT64_C(0xBA9BFFE10413D8D9), UINT64_C(0xB76A2FBD966A318D), - UINT64_C(0xA4F0FBE2C81899C1), UINT64_C(0xA9012BBE5A617095), - UINT64_C(0xBE125A5BECEB4B68), UINT64_C(0xB3E38A077E92A23C), - UINT64_C(0x152AB63EAA51E400), UINT64_C(0x18DB666238280D54), - UINT64_C(0x0FC817878EA236A9), UINT64_C(0x0239C7DB1CDBDFFD), - UINT64_C(0x435B6EF52625BBD1), UINT64_C(0x4EAABEA9B45C5285), - UINT64_C(0x59B9CF4C02D66978), UINT64_C(0x54481F1090AF802C), - UINT64_C(0xF2812329446CC610), UINT64_C(0xFF70F375D6152F44), - UINT64_C(0xE8638290609F14B9), UINT64_C(0xE59252CCF2E6FDED), - UINT64_C(0x6AA7D0CD1463DDE1), UINT64_C(0x67560091861A34B5), - UINT64_C(0x7045717430900F48), UINT64_C(0x7DB4A128A2E9E61C), - UINT64_C(0xDB7D9D11762AA020), UINT64_C(0xD68C4D4DE4534974), - UINT64_C(0xC19F3CA852D97289), UINT64_C(0xCC6EECF4C0A09BDD), - UINT64_C(0x8D0C45DAFA5EFFF1), UINT64_C(0x80FD9586682716A5), - UINT64_C(0x97EEE463DEAD2D58), UINT64_C(0x9A1F343F4CD4C40C), - UINT64_C(0x3CD6080698178230), UINT64_C(0x3127D85A0A6E6B64), - UINT64_C(0x2634A9BFBCE45099), UINT64_C(0x2BC579E32E9DB9CD), - UINT64_C(0xF5A054D6CA71FB90), UINT64_C(0xF851848A580812C4), - UINT64_C(0xEF42F56FEE822939), UINT64_C(0xE2B325337CFBC06D), - UINT64_C(0x447A190AA8388651), UINT64_C(0x498BC9563A416F05), - UINT64_C(0x5E98B8B38CCB54F8), UINT64_C(0x536968EF1EB2BDAC), - UINT64_C(0x120BC1C1244CD980), UINT64_C(0x1FFA119DB63530D4), - UINT64_C(0x08E9607800BF0B29), UINT64_C(0x0518B02492C6E27D), - UINT64_C(0xA3D18C1D4605A441), UINT64_C(0xAE205C41D47C4D15), - UINT64_C(0xB9332DA462F676E8), UINT64_C(0xB4C2FDF8F08F9FBC), - UINT64_C(0x3BF77FF9160ABFB0), UINT64_C(0x3606AFA5847356E4), - UINT64_C(0x2115DE4032F96D19), UINT64_C(0x2CE40E1CA080844D), - UINT64_C(0x8A2D32257443C271), UINT64_C(0x87DCE279E63A2B25), - UINT64_C(0x90CF939C50B010D8), UINT64_C(0x9D3E43C0C2C9F98C), - UINT64_C(0xDC5CEAEEF8379DA0), UINT64_C(0xD1AD3AB26A4E74F4), - UINT64_C(0xC6BE4B57DCC44F09), UINT64_C(0xCB4F9B0B4EBDA65D), - UINT64_C(0x6D86A7329A7EE061), UINT64_C(0x6077776E08070935), - UINT64_C(0x7764068BBE8D32C8), UINT64_C(0x7A95D6D72CF4DB9C), - UINT64_C(0x690F0288728673D0), UINT64_C(0x64FED2D4E0FF9A84), - UINT64_C(0x73EDA3315675A179), UINT64_C(0x7E1C736DC40C482D), - UINT64_C(0xD8D54F5410CF0E11), UINT64_C(0xD5249F0882B6E745), - UINT64_C(0xC237EEED343CDCB8), UINT64_C(0xCFC63EB1A64535EC), - UINT64_C(0x8EA4979F9CBB51C0), UINT64_C(0x835547C30EC2B894), - UINT64_C(0x94463626B8488369), UINT64_C(0x99B7E67A2A316A3D), - UINT64_C(0x3F7EDA43FEF22C01), UINT64_C(0x328F0A1F6C8BC555), - UINT64_C(0x259C7BFADA01FEA8), UINT64_C(0x286DABA6487817FC), - UINT64_C(0xA75829A7AEFD37F0), UINT64_C(0xAAA9F9FB3C84DEA4), - UINT64_C(0xBDBA881E8A0EE559), UINT64_C(0xB04B584218770C0D), - UINT64_C(0x1682647BCCB44A31), UINT64_C(0x1B73B4275ECDA365), - UINT64_C(0x0C60C5C2E8479898), UINT64_C(0x0191159E7A3E71CC), - UINT64_C(0x40F3BCB040C015E0), UINT64_C(0x4D026CECD2B9FCB4), - UINT64_C(0x5A111D096433C749), UINT64_C(0x57E0CD55F64A2E1D), - UINT64_C(0xF129F16C22896821), UINT64_C(0xFCD82130B0F08175), - UINT64_C(0xEBCB50D5067ABA88), UINT64_C(0xE63A8089940353DC), - UINT64_C(0xCDFFF96ABA9EEA11), UINT64_C(0xC00E293628E70345), - UINT64_C(0xD71D58D39E6D38B8), UINT64_C(0xDAEC888F0C14D1EC), - UINT64_C(0x7C25B4B6D8D797D0), UINT64_C(0x71D464EA4AAE7E84), - UINT64_C(0x66C7150FFC244579), UINT64_C(0x6B36C5536E5DAC2D), - UINT64_C(0x2A546C7D54A3C801), UINT64_C(0x27A5BC21C6DA2155), - UINT64_C(0x30B6CDC470501AA8), UINT64_C(0x3D471D98E229F3FC), - UINT64_C(0x9B8E21A136EAB5C0), UINT64_C(0x967FF1FDA4935C94), - UINT64_C(0x816C801812196769), UINT64_C(0x8C9D504480608E3D), - UINT64_C(0x03A8D24566E5AE31), UINT64_C(0x0E590219F49C4765), - UINT64_C(0x194A73FC42167C98), UINT64_C(0x14BBA3A0D06F95CC), - UINT64_C(0xB2729F9904ACD3F0), UINT64_C(0xBF834FC596D53AA4), - UINT64_C(0xA8903E20205F0159), UINT64_C(0xA561EE7CB226E80D), - UINT64_C(0xE403475288D88C21), UINT64_C(0xE9F2970E1AA16575), - UINT64_C(0xFEE1E6EBAC2B5E88), UINT64_C(0xF31036B73E52B7DC), - UINT64_C(0x55D90A8EEA91F1E0), UINT64_C(0x5828DAD278E818B4), - UINT64_C(0x4F3BAB37CE622349), UINT64_C(0x42CA7B6B5C1BCA1D), - UINT64_C(0x5150AF3402696251), UINT64_C(0x5CA17F6890108B05), - UINT64_C(0x4BB20E8D269AB0F8), UINT64_C(0x4643DED1B4E359AC), - UINT64_C(0xE08AE2E860201F90), UINT64_C(0xED7B32B4F259F6C4), - UINT64_C(0xFA68435144D3CD39), UINT64_C(0xF799930DD6AA246D), - UINT64_C(0xB6FB3A23EC544041), UINT64_C(0xBB0AEA7F7E2DA915), - UINT64_C(0xAC199B9AC8A792E8), UINT64_C(0xA1E84BC65ADE7BBC), - UINT64_C(0x072177FF8E1D3D80), UINT64_C(0x0AD0A7A31C64D4D4), - UINT64_C(0x1DC3D646AAEEEF29), UINT64_C(0x1032061A3897067D), - UINT64_C(0x9F07841BDE122671), UINT64_C(0x92F654474C6BCF25), - UINT64_C(0x85E525A2FAE1F4D8), UINT64_C(0x8814F5FE68981D8C), - UINT64_C(0x2EDDC9C7BC5B5BB0), UINT64_C(0x232C199B2E22B2E4), - UINT64_C(0x343F687E98A88919), UINT64_C(0x39CEB8220AD1604D), - UINT64_C(0x78AC110C302F0461), UINT64_C(0x755DC150A256ED35), - UINT64_C(0x624EB0B514DCD6C8), UINT64_C(0x6FBF60E986A53F9C), - UINT64_C(0xC9765CD0526679A0), UINT64_C(0xC4878C8CC01F90F4), - UINT64_C(0xD394FD697695AB09), UINT64_C(0xDE652D35E4EC425D) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0xCB6D6A914AE10B3F), - UINT64_C(0x96DBD42295C2177E), UINT64_C(0x5DB6BEB3DF231C41), - UINT64_C(0x2CB7A9452A852FFC), UINT64_C(0xE7DAC3D4606424C3), - UINT64_C(0xBA6C7D67BF473882), UINT64_C(0x710117F6F5A633BD), - UINT64_C(0xDD705D247FA5876A), UINT64_C(0x161D37B535448C55), - UINT64_C(0x4BAB8906EA679014), UINT64_C(0x80C6E397A0869B2B), - UINT64_C(0xF1C7F4615520A896), UINT64_C(0x3AAA9EF01FC1A3A9), - UINT64_C(0x671C2043C0E2BFE8), UINT64_C(0xAC714AD28A03B4D7), - UINT64_C(0xBAE1BA48FE4A0FD5), UINT64_C(0x718CD0D9B4AB04EA), - UINT64_C(0x2C3A6E6A6B8818AB), UINT64_C(0xE75704FB21691394), - UINT64_C(0x9656130DD4CF2029), UINT64_C(0x5D3B799C9E2E2B16), - UINT64_C(0x008DC72F410D3757), UINT64_C(0xCBE0ADBE0BEC3C68), - UINT64_C(0x6791E76C81EF88BF), UINT64_C(0xACFC8DFDCB0E8380), - UINT64_C(0xF14A334E142D9FC1), UINT64_C(0x3A2759DF5ECC94FE), - UINT64_C(0x4B264E29AB6AA743), UINT64_C(0x804B24B8E18BAC7C), - UINT64_C(0xDDFD9A0B3EA8B03D), UINT64_C(0x1690F09A7449BB02), - UINT64_C(0xF1DD7B3ED73AC638), UINT64_C(0x3AB011AF9DDBCD07), - UINT64_C(0x6706AF1C42F8D146), UINT64_C(0xAC6BC58D0819DA79), - UINT64_C(0xDD6AD27BFDBFE9C4), UINT64_C(0x1607B8EAB75EE2FB), - UINT64_C(0x4BB10659687DFEBA), UINT64_C(0x80DC6CC8229CF585), - UINT64_C(0x2CAD261AA89F4152), UINT64_C(0xE7C04C8BE27E4A6D), - UINT64_C(0xBA76F2383D5D562C), UINT64_C(0x711B98A977BC5D13), - UINT64_C(0x001A8F5F821A6EAE), UINT64_C(0xCB77E5CEC8FB6591), - UINT64_C(0x96C15B7D17D879D0), UINT64_C(0x5DAC31EC5D3972EF), - UINT64_C(0x4B3CC1762970C9ED), UINT64_C(0x8051ABE76391C2D2), - UINT64_C(0xDDE71554BCB2DE93), UINT64_C(0x168A7FC5F653D5AC), - UINT64_C(0x678B683303F5E611), UINT64_C(0xACE602A24914ED2E), - UINT64_C(0xF150BC119637F16F), UINT64_C(0x3A3DD680DCD6FA50), - UINT64_C(0x964C9C5256D54E87), UINT64_C(0x5D21F6C31C3445B8), - UINT64_C(0x00974870C31759F9), UINT64_C(0xCBFA22E189F652C6), - UINT64_C(0xBAFB35177C50617B), UINT64_C(0x71965F8636B16A44), - UINT64_C(0x2C20E135E9927605), UINT64_C(0xE74D8BA4A3737D3A), - UINT64_C(0xE2BBF77CAE758C71), UINT64_C(0x29D69DEDE494874E), - UINT64_C(0x7460235E3BB79B0F), UINT64_C(0xBF0D49CF71569030), - UINT64_C(0xCE0C5E3984F0A38D), UINT64_C(0x056134A8CE11A8B2), - UINT64_C(0x58D78A1B1132B4F3), UINT64_C(0x93BAE08A5BD3BFCC), - UINT64_C(0x3FCBAA58D1D00B1B), UINT64_C(0xF4A6C0C99B310024), - UINT64_C(0xA9107E7A44121C65), UINT64_C(0x627D14EB0EF3175A), - UINT64_C(0x137C031DFB5524E7), UINT64_C(0xD811698CB1B42FD8), - UINT64_C(0x85A7D73F6E973399), UINT64_C(0x4ECABDAE247638A6), - UINT64_C(0x585A4D34503F83A4), UINT64_C(0x933727A51ADE889B), - UINT64_C(0xCE819916C5FD94DA), UINT64_C(0x05ECF3878F1C9FE5), - UINT64_C(0x74EDE4717ABAAC58), UINT64_C(0xBF808EE0305BA767), - UINT64_C(0xE2363053EF78BB26), UINT64_C(0x295B5AC2A599B019), - UINT64_C(0x852A10102F9A04CE), UINT64_C(0x4E477A81657B0FF1), - UINT64_C(0x13F1C432BA5813B0), UINT64_C(0xD89CAEA3F0B9188F), - UINT64_C(0xA99DB955051F2B32), UINT64_C(0x62F0D3C44FFE200D), - UINT64_C(0x3F466D7790DD3C4C), UINT64_C(0xF42B07E6DA3C3773), - UINT64_C(0x13668C42794F4A49), UINT64_C(0xD80BE6D333AE4176), - UINT64_C(0x85BD5860EC8D5D37), UINT64_C(0x4ED032F1A66C5608), - UINT64_C(0x3FD1250753CA65B5), UINT64_C(0xF4BC4F96192B6E8A), - UINT64_C(0xA90AF125C60872CB), UINT64_C(0x62679BB48CE979F4), - UINT64_C(0xCE16D16606EACD23), UINT64_C(0x057BBBF74C0BC61C), - UINT64_C(0x58CD05449328DA5D), UINT64_C(0x93A06FD5D9C9D162), - UINT64_C(0xE2A178232C6FE2DF), UINT64_C(0x29CC12B2668EE9E0), - UINT64_C(0x747AAC01B9ADF5A1), UINT64_C(0xBF17C690F34CFE9E), - UINT64_C(0xA987360A8705459C), UINT64_C(0x62EA5C9BCDE44EA3), - UINT64_C(0x3F5CE22812C752E2), UINT64_C(0xF43188B9582659DD), - UINT64_C(0x85309F4FAD806A60), UINT64_C(0x4E5DF5DEE761615F), - UINT64_C(0x13EB4B6D38427D1E), UINT64_C(0xD88621FC72A37621), - UINT64_C(0x74F76B2EF8A0C2F6), UINT64_C(0xBF9A01BFB241C9C9), - UINT64_C(0xE22CBF0C6D62D588), UINT64_C(0x2941D59D2783DEB7), - UINT64_C(0x5840C26BD225ED0A), UINT64_C(0x932DA8FA98C4E635), - UINT64_C(0xCE9B164947E7FA74), UINT64_C(0x05F67CD80D06F14B), - UINT64_C(0xC477EFF95CEB18E3), UINT64_C(0x0F1A8568160A13DC), - UINT64_C(0x52AC3BDBC9290F9D), UINT64_C(0x99C1514A83C804A2), - UINT64_C(0xE8C046BC766E371F), UINT64_C(0x23AD2C2D3C8F3C20), - UINT64_C(0x7E1B929EE3AC2061), UINT64_C(0xB576F80FA94D2B5E), - UINT64_C(0x1907B2DD234E9F89), UINT64_C(0xD26AD84C69AF94B6), - UINT64_C(0x8FDC66FFB68C88F7), UINT64_C(0x44B10C6EFC6D83C8), - UINT64_C(0x35B01B9809CBB075), UINT64_C(0xFEDD7109432ABB4A), - UINT64_C(0xA36BCFBA9C09A70B), UINT64_C(0x6806A52BD6E8AC34), - UINT64_C(0x7E9655B1A2A11736), UINT64_C(0xB5FB3F20E8401C09), - UINT64_C(0xE84D819337630048), UINT64_C(0x2320EB027D820B77), - UINT64_C(0x5221FCF4882438CA), UINT64_C(0x994C9665C2C533F5), - UINT64_C(0xC4FA28D61DE62FB4), UINT64_C(0x0F9742475707248B), - UINT64_C(0xA3E60895DD04905C), UINT64_C(0x688B620497E59B63), - UINT64_C(0x353DDCB748C68722), UINT64_C(0xFE50B62602278C1D), - UINT64_C(0x8F51A1D0F781BFA0), UINT64_C(0x443CCB41BD60B49F), - UINT64_C(0x198A75F26243A8DE), UINT64_C(0xD2E71F6328A2A3E1), - UINT64_C(0x35AA94C78BD1DEDB), UINT64_C(0xFEC7FE56C130D5E4), - UINT64_C(0xA37140E51E13C9A5), UINT64_C(0x681C2A7454F2C29A), - UINT64_C(0x191D3D82A154F127), UINT64_C(0xD2705713EBB5FA18), - UINT64_C(0x8FC6E9A03496E659), UINT64_C(0x44AB83317E77ED66), - UINT64_C(0xE8DAC9E3F47459B1), UINT64_C(0x23B7A372BE95528E), - UINT64_C(0x7E011DC161B64ECF), UINT64_C(0xB56C77502B5745F0), - UINT64_C(0xC46D60A6DEF1764D), UINT64_C(0x0F000A3794107D72), - UINT64_C(0x52B6B4844B336133), UINT64_C(0x99DBDE1501D26A0C), - UINT64_C(0x8F4B2E8F759BD10E), UINT64_C(0x4426441E3F7ADA31), - UINT64_C(0x1990FAADE059C670), UINT64_C(0xD2FD903CAAB8CD4F), - UINT64_C(0xA3FC87CA5F1EFEF2), UINT64_C(0x6891ED5B15FFF5CD), - UINT64_C(0x352753E8CADCE98C), UINT64_C(0xFE4A3979803DE2B3), - UINT64_C(0x523B73AB0A3E5664), UINT64_C(0x9956193A40DF5D5B), - UINT64_C(0xC4E0A7899FFC411A), UINT64_C(0x0F8DCD18D51D4A25), - UINT64_C(0x7E8CDAEE20BB7998), UINT64_C(0xB5E1B07F6A5A72A7), - UINT64_C(0xE8570ECCB5796EE6), UINT64_C(0x233A645DFF9865D9), - UINT64_C(0x26CC1885F29E9492), UINT64_C(0xEDA17214B87F9FAD), - UINT64_C(0xB017CCA7675C83EC), UINT64_C(0x7B7AA6362DBD88D3), - UINT64_C(0x0A7BB1C0D81BBB6E), UINT64_C(0xC116DB5192FAB051), - UINT64_C(0x9CA065E24DD9AC10), UINT64_C(0x57CD0F730738A72F), - UINT64_C(0xFBBC45A18D3B13F8), UINT64_C(0x30D12F30C7DA18C7), - UINT64_C(0x6D67918318F90486), UINT64_C(0xA60AFB1252180FB9), - UINT64_C(0xD70BECE4A7BE3C04), UINT64_C(0x1C668675ED5F373B), - UINT64_C(0x41D038C6327C2B7A), UINT64_C(0x8ABD5257789D2045), - UINT64_C(0x9C2DA2CD0CD49B47), UINT64_C(0x5740C85C46359078), - UINT64_C(0x0AF676EF99168C39), UINT64_C(0xC19B1C7ED3F78706), - UINT64_C(0xB09A0B882651B4BB), UINT64_C(0x7BF761196CB0BF84), - UINT64_C(0x2641DFAAB393A3C5), UINT64_C(0xED2CB53BF972A8FA), - UINT64_C(0x415DFFE973711C2D), UINT64_C(0x8A30957839901712), - UINT64_C(0xD7862BCBE6B30B53), UINT64_C(0x1CEB415AAC52006C), - UINT64_C(0x6DEA56AC59F433D1), UINT64_C(0xA6873C3D131538EE), - UINT64_C(0xFB31828ECC3624AF), UINT64_C(0x305CE81F86D72F90), - UINT64_C(0xD71163BB25A452AA), UINT64_C(0x1C7C092A6F455995), - UINT64_C(0x41CAB799B06645D4), UINT64_C(0x8AA7DD08FA874EEB), - UINT64_C(0xFBA6CAFE0F217D56), UINT64_C(0x30CBA06F45C07669), - UINT64_C(0x6D7D1EDC9AE36A28), UINT64_C(0xA610744DD0026117), - UINT64_C(0x0A613E9F5A01D5C0), UINT64_C(0xC10C540E10E0DEFF), - UINT64_C(0x9CBAEABDCFC3C2BE), UINT64_C(0x57D7802C8522C981), - UINT64_C(0x26D697DA7084FA3C), UINT64_C(0xEDBBFD4B3A65F103), - UINT64_C(0xB00D43F8E546ED42), UINT64_C(0x7B602969AFA7E67D), - UINT64_C(0x6DF0D9F3DBEE5D7F), UINT64_C(0xA69DB362910F5640), - UINT64_C(0xFB2B0DD14E2C4A01), UINT64_C(0x3046674004CD413E), - UINT64_C(0x414770B6F16B7283), UINT64_C(0x8A2A1A27BB8A79BC), - UINT64_C(0xD79CA49464A965FD), UINT64_C(0x1CF1CE052E486EC2), - UINT64_C(0xB08084D7A44BDA15), UINT64_C(0x7BEDEE46EEAAD12A), - UINT64_C(0x265B50F53189CD6B), UINT64_C(0xED363A647B68C654), - UINT64_C(0x9C372D928ECEF5E9), UINT64_C(0x575A4703C42FFED6), - UINT64_C(0x0AECF9B01B0CE297), UINT64_C(0xC181932151EDE9A8) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0xDCA12C225E8AEE1D), - UINT64_C(0xB8435944BC14DD3B), UINT64_C(0x64E27566E29E3326), - UINT64_C(0x7087B2887829BA77), UINT64_C(0xAC269EAA26A3546A), - UINT64_C(0xC8C4EBCCC43D674C), UINT64_C(0x1465C7EE9AB78951), - UINT64_C(0xE00E6511F15274EF), UINT64_C(0x3CAF4933AFD89AF2), - UINT64_C(0x584D3C554D46A9D4), UINT64_C(0x84EC107713CC47C9), - UINT64_C(0x9089D799897BCE98), UINT64_C(0x4C28FBBBD7F12085), - UINT64_C(0x28CA8EDD356F13A3), UINT64_C(0xF46BA2FF6BE5FDBE), - UINT64_C(0x4503C48DC90A304C), UINT64_C(0x99A2E8AF9780DE51), - UINT64_C(0xFD409DC9751EED77), UINT64_C(0x21E1B1EB2B94036A), - UINT64_C(0x35847605B1238A3B), UINT64_C(0xE9255A27EFA96426), - UINT64_C(0x8DC72F410D375700), UINT64_C(0x5166036353BDB91D), - UINT64_C(0xA50DA19C385844A3), UINT64_C(0x79AC8DBE66D2AABE), - UINT64_C(0x1D4EF8D8844C9998), UINT64_C(0xC1EFD4FADAC67785), - UINT64_C(0xD58A13144071FED4), UINT64_C(0x092B3F361EFB10C9), - UINT64_C(0x6DC94A50FC6523EF), UINT64_C(0xB1686672A2EFCDF2), - UINT64_C(0x8A06881B93156098), UINT64_C(0x56A7A439CD9F8E85), - UINT64_C(0x3245D15F2F01BDA3), UINT64_C(0xEEE4FD7D718B53BE), - UINT64_C(0xFA813A93EB3CDAEF), UINT64_C(0x262016B1B5B634F2), - UINT64_C(0x42C263D7572807D4), UINT64_C(0x9E634FF509A2E9C9), - UINT64_C(0x6A08ED0A62471477), UINT64_C(0xB6A9C1283CCDFA6A), - UINT64_C(0xD24BB44EDE53C94C), UINT64_C(0x0EEA986C80D92751), - UINT64_C(0x1A8F5F821A6EAE00), UINT64_C(0xC62E73A044E4401D), - UINT64_C(0xA2CC06C6A67A733B), UINT64_C(0x7E6D2AE4F8F09D26), - UINT64_C(0xCF054C965A1F50D4), UINT64_C(0x13A460B40495BEC9), - UINT64_C(0x774615D2E60B8DEF), UINT64_C(0xABE739F0B88163F2), - UINT64_C(0xBF82FE1E2236EAA3), UINT64_C(0x6323D23C7CBC04BE), - UINT64_C(0x07C1A75A9E223798), UINT64_C(0xDB608B78C0A8D985), - UINT64_C(0x2F0B2987AB4D243B), UINT64_C(0xF3AA05A5F5C7CA26), - UINT64_C(0x974870C31759F900), UINT64_C(0x4BE95CE149D3171D), - UINT64_C(0x5F8C9B0FD3649E4C), UINT64_C(0x832DB72D8DEE7051), - UINT64_C(0xE7CFC24B6F704377), UINT64_C(0x3B6EEE6931FAAD6A), - UINT64_C(0x91131E980D8418A2), UINT64_C(0x4DB232BA530EF6BF), - UINT64_C(0x295047DCB190C599), UINT64_C(0xF5F16BFEEF1A2B84), - UINT64_C(0xE194AC1075ADA2D5), UINT64_C(0x3D3580322B274CC8), - UINT64_C(0x59D7F554C9B97FEE), UINT64_C(0x8576D976973391F3), - UINT64_C(0x711D7B89FCD66C4D), UINT64_C(0xADBC57ABA25C8250), - UINT64_C(0xC95E22CD40C2B176), UINT64_C(0x15FF0EEF1E485F6B), - UINT64_C(0x019AC90184FFD63A), UINT64_C(0xDD3BE523DA753827), - UINT64_C(0xB9D9904538EB0B01), UINT64_C(0x6578BC676661E51C), - UINT64_C(0xD410DA15C48E28EE), UINT64_C(0x08B1F6379A04C6F3), - UINT64_C(0x6C538351789AF5D5), UINT64_C(0xB0F2AF7326101BC8), - UINT64_C(0xA497689DBCA79299), UINT64_C(0x783644BFE22D7C84), - UINT64_C(0x1CD431D900B34FA2), UINT64_C(0xC0751DFB5E39A1BF), - UINT64_C(0x341EBF0435DC5C01), UINT64_C(0xE8BF93266B56B21C), - UINT64_C(0x8C5DE64089C8813A), UINT64_C(0x50FCCA62D7426F27), - UINT64_C(0x44990D8C4DF5E676), UINT64_C(0x983821AE137F086B), - UINT64_C(0xFCDA54C8F1E13B4D), UINT64_C(0x207B78EAAF6BD550), - UINT64_C(0x1B1596839E91783A), UINT64_C(0xC7B4BAA1C01B9627), - UINT64_C(0xA356CFC72285A501), UINT64_C(0x7FF7E3E57C0F4B1C), - UINT64_C(0x6B92240BE6B8C24D), UINT64_C(0xB7330829B8322C50), - UINT64_C(0xD3D17D4F5AAC1F76), UINT64_C(0x0F70516D0426F16B), - UINT64_C(0xFB1BF3926FC30CD5), UINT64_C(0x27BADFB03149E2C8), - UINT64_C(0x4358AAD6D3D7D1EE), UINT64_C(0x9FF986F48D5D3FF3), - UINT64_C(0x8B9C411A17EAB6A2), UINT64_C(0x573D6D38496058BF), - UINT64_C(0x33DF185EABFE6B99), UINT64_C(0xEF7E347CF5748584), - UINT64_C(0x5E16520E579B4876), UINT64_C(0x82B77E2C0911A66B), - UINT64_C(0xE6550B4AEB8F954D), UINT64_C(0x3AF42768B5057B50), - UINT64_C(0x2E91E0862FB2F201), UINT64_C(0xF230CCA471381C1C), - UINT64_C(0x96D2B9C293A62F3A), UINT64_C(0x4A7395E0CD2CC127), - UINT64_C(0xBE18371FA6C93C99), UINT64_C(0x62B91B3DF843D284), - UINT64_C(0x065B6E5B1ADDE1A2), UINT64_C(0xDAFA427944570FBF), - UINT64_C(0xCE9F8597DEE086EE), UINT64_C(0x123EA9B5806A68F3), - UINT64_C(0x76DCDCD362F45BD5), UINT64_C(0xAA7DF0F13C7EB5C8), - UINT64_C(0xA739329F30A7E9D6), UINT64_C(0x7B981EBD6E2D07CB), - UINT64_C(0x1F7A6BDB8CB334ED), UINT64_C(0xC3DB47F9D239DAF0), - UINT64_C(0xD7BE8017488E53A1), UINT64_C(0x0B1FAC351604BDBC), - UINT64_C(0x6FFDD953F49A8E9A), UINT64_C(0xB35CF571AA106087), - UINT64_C(0x4737578EC1F59D39), UINT64_C(0x9B967BAC9F7F7324), - UINT64_C(0xFF740ECA7DE14002), UINT64_C(0x23D522E8236BAE1F), - UINT64_C(0x37B0E506B9DC274E), UINT64_C(0xEB11C924E756C953), - UINT64_C(0x8FF3BC4205C8FA75), UINT64_C(0x535290605B421468), - UINT64_C(0xE23AF612F9ADD99A), UINT64_C(0x3E9BDA30A7273787), - UINT64_C(0x5A79AF5645B904A1), UINT64_C(0x86D883741B33EABC), - UINT64_C(0x92BD449A818463ED), UINT64_C(0x4E1C68B8DF0E8DF0), - UINT64_C(0x2AFE1DDE3D90BED6), UINT64_C(0xF65F31FC631A50CB), - UINT64_C(0x0234930308FFAD75), UINT64_C(0xDE95BF2156754368), - UINT64_C(0xBA77CA47B4EB704E), UINT64_C(0x66D6E665EA619E53), - UINT64_C(0x72B3218B70D61702), UINT64_C(0xAE120DA92E5CF91F), - UINT64_C(0xCAF078CFCCC2CA39), UINT64_C(0x165154ED92482424), - UINT64_C(0x2D3FBA84A3B2894E), UINT64_C(0xF19E96A6FD386753), - UINT64_C(0x957CE3C01FA65475), UINT64_C(0x49DDCFE2412CBA68), - UINT64_C(0x5DB8080CDB9B3339), UINT64_C(0x8119242E8511DD24), - UINT64_C(0xE5FB5148678FEE02), UINT64_C(0x395A7D6A3905001F), - UINT64_C(0xCD31DF9552E0FDA1), UINT64_C(0x1190F3B70C6A13BC), - UINT64_C(0x757286D1EEF4209A), UINT64_C(0xA9D3AAF3B07ECE87), - UINT64_C(0xBDB66D1D2AC947D6), UINT64_C(0x6117413F7443A9CB), - UINT64_C(0x05F5345996DD9AED), UINT64_C(0xD954187BC85774F0), - UINT64_C(0x683C7E096AB8B902), UINT64_C(0xB49D522B3432571F), - UINT64_C(0xD07F274DD6AC6439), UINT64_C(0x0CDE0B6F88268A24), - UINT64_C(0x18BBCC8112910375), UINT64_C(0xC41AE0A34C1BED68), - UINT64_C(0xA0F895C5AE85DE4E), UINT64_C(0x7C59B9E7F00F3053), - UINT64_C(0x88321B189BEACDED), UINT64_C(0x5493373AC56023F0), - UINT64_C(0x3071425C27FE10D6), UINT64_C(0xECD06E7E7974FECB), - UINT64_C(0xF8B5A990E3C3779A), UINT64_C(0x241485B2BD499987), - UINT64_C(0x40F6F0D45FD7AAA1), UINT64_C(0x9C57DCF6015D44BC), - UINT64_C(0x362A2C073D23F174), UINT64_C(0xEA8B002563A91F69), - UINT64_C(0x8E69754381372C4F), UINT64_C(0x52C85961DFBDC252), - UINT64_C(0x46AD9E8F450A4B03), UINT64_C(0x9A0CB2AD1B80A51E), - UINT64_C(0xFEEEC7CBF91E9638), UINT64_C(0x224FEBE9A7947825), - UINT64_C(0xD6244916CC71859B), UINT64_C(0x0A85653492FB6B86), - UINT64_C(0x6E671052706558A0), UINT64_C(0xB2C63C702EEFB6BD), - UINT64_C(0xA6A3FB9EB4583FEC), UINT64_C(0x7A02D7BCEAD2D1F1), - UINT64_C(0x1EE0A2DA084CE2D7), UINT64_C(0xC2418EF856C60CCA), - UINT64_C(0x7329E88AF429C138), UINT64_C(0xAF88C4A8AAA32F25), - UINT64_C(0xCB6AB1CE483D1C03), UINT64_C(0x17CB9DEC16B7F21E), - UINT64_C(0x03AE5A028C007B4F), UINT64_C(0xDF0F7620D28A9552), - UINT64_C(0xBBED03463014A674), UINT64_C(0x674C2F646E9E4869), - UINT64_C(0x93278D9B057BB5D7), UINT64_C(0x4F86A1B95BF15BCA), - UINT64_C(0x2B64D4DFB96F68EC), UINT64_C(0xF7C5F8FDE7E586F1), - UINT64_C(0xE3A03F137D520FA0), UINT64_C(0x3F01133123D8E1BD), - UINT64_C(0x5BE36657C146D29B), UINT64_C(0x87424A759FCC3C86), - UINT64_C(0xBC2CA41CAE3691EC), UINT64_C(0x608D883EF0BC7FF1), - UINT64_C(0x046FFD5812224CD7), UINT64_C(0xD8CED17A4CA8A2CA), - UINT64_C(0xCCAB1694D61F2B9B), UINT64_C(0x100A3AB68895C586), - UINT64_C(0x74E84FD06A0BF6A0), UINT64_C(0xA84963F2348118BD), - UINT64_C(0x5C22C10D5F64E503), UINT64_C(0x8083ED2F01EE0B1E), - UINT64_C(0xE4619849E3703838), UINT64_C(0x38C0B46BBDFAD625), - UINT64_C(0x2CA57385274D5F74), UINT64_C(0xF0045FA779C7B169), - UINT64_C(0x94E62AC19B59824F), UINT64_C(0x484706E3C5D36C52), - UINT64_C(0xF92F6091673CA1A0), UINT64_C(0x258E4CB339B64FBD), - UINT64_C(0x416C39D5DB287C9B), UINT64_C(0x9DCD15F785A29286), - UINT64_C(0x89A8D2191F151BD7), UINT64_C(0x5509FE3B419FF5CA), - UINT64_C(0x31EB8B5DA301C6EC), UINT64_C(0xED4AA77FFD8B28F1), - UINT64_C(0x19210580966ED54F), UINT64_C(0xC58029A2C8E43B52), - UINT64_C(0xA1625CC42A7A0874), UINT64_C(0x7DC370E674F0E669), - UINT64_C(0x69A6B708EE476F38), UINT64_C(0xB5079B2AB0CD8125), - UINT64_C(0xD1E5EE4C5253B203), UINT64_C(0x0D44C26E0CD95C1E) - } -}; diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_table_le.h b/Build/source/extra/xz/src/liblzma/check/crc64_table_le.h deleted file mode 100644 index 1196b31e132..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_table_le.h +++ /dev/null @@ -1,521 +0,0 @@ -/* This file has been automatically generated by crc64_tablegen.c. */ - -const uint64_t lzma_crc64_table[4][256] = { - { - UINT64_C(0x0000000000000000), UINT64_C(0xB32E4CBE03A75F6F), - UINT64_C(0xF4843657A840A05B), UINT64_C(0x47AA7AE9ABE7FF34), - UINT64_C(0x7BD0C384FF8F5E33), UINT64_C(0xC8FE8F3AFC28015C), - UINT64_C(0x8F54F5D357CFFE68), UINT64_C(0x3C7AB96D5468A107), - UINT64_C(0xF7A18709FF1EBC66), UINT64_C(0x448FCBB7FCB9E309), - UINT64_C(0x0325B15E575E1C3D), UINT64_C(0xB00BFDE054F94352), - UINT64_C(0x8C71448D0091E255), UINT64_C(0x3F5F08330336BD3A), - UINT64_C(0x78F572DAA8D1420E), UINT64_C(0xCBDB3E64AB761D61), - UINT64_C(0x7D9BA13851336649), UINT64_C(0xCEB5ED8652943926), - UINT64_C(0x891F976FF973C612), UINT64_C(0x3A31DBD1FAD4997D), - UINT64_C(0x064B62BCAEBC387A), UINT64_C(0xB5652E02AD1B6715), - UINT64_C(0xF2CF54EB06FC9821), UINT64_C(0x41E11855055BC74E), - UINT64_C(0x8A3A2631AE2DDA2F), UINT64_C(0x39146A8FAD8A8540), - UINT64_C(0x7EBE1066066D7A74), UINT64_C(0xCD905CD805CA251B), - UINT64_C(0xF1EAE5B551A2841C), UINT64_C(0x42C4A90B5205DB73), - UINT64_C(0x056ED3E2F9E22447), UINT64_C(0xB6409F5CFA457B28), - UINT64_C(0xFB374270A266CC92), UINT64_C(0x48190ECEA1C193FD), - UINT64_C(0x0FB374270A266CC9), UINT64_C(0xBC9D3899098133A6), - UINT64_C(0x80E781F45DE992A1), UINT64_C(0x33C9CD4A5E4ECDCE), - UINT64_C(0x7463B7A3F5A932FA), UINT64_C(0xC74DFB1DF60E6D95), - UINT64_C(0x0C96C5795D7870F4), UINT64_C(0xBFB889C75EDF2F9B), - UINT64_C(0xF812F32EF538D0AF), UINT64_C(0x4B3CBF90F69F8FC0), - UINT64_C(0x774606FDA2F72EC7), UINT64_C(0xC4684A43A15071A8), - UINT64_C(0x83C230AA0AB78E9C), UINT64_C(0x30EC7C140910D1F3), - UINT64_C(0x86ACE348F355AADB), UINT64_C(0x3582AFF6F0F2F5B4), - UINT64_C(0x7228D51F5B150A80), UINT64_C(0xC10699A158B255EF), - UINT64_C(0xFD7C20CC0CDAF4E8), UINT64_C(0x4E526C720F7DAB87), - UINT64_C(0x09F8169BA49A54B3), UINT64_C(0xBAD65A25A73D0BDC), - UINT64_C(0x710D64410C4B16BD), UINT64_C(0xC22328FF0FEC49D2), - UINT64_C(0x85895216A40BB6E6), UINT64_C(0x36A71EA8A7ACE989), - UINT64_C(0x0ADDA7C5F3C4488E), UINT64_C(0xB9F3EB7BF06317E1), - UINT64_C(0xFE5991925B84E8D5), UINT64_C(0x4D77DD2C5823B7BA), - UINT64_C(0x64B62BCAEBC387A1), UINT64_C(0xD7986774E864D8CE), - UINT64_C(0x90321D9D438327FA), UINT64_C(0x231C512340247895), - UINT64_C(0x1F66E84E144CD992), UINT64_C(0xAC48A4F017EB86FD), - UINT64_C(0xEBE2DE19BC0C79C9), UINT64_C(0x58CC92A7BFAB26A6), - UINT64_C(0x9317ACC314DD3BC7), UINT64_C(0x2039E07D177A64A8), - UINT64_C(0x67939A94BC9D9B9C), UINT64_C(0xD4BDD62ABF3AC4F3), - UINT64_C(0xE8C76F47EB5265F4), UINT64_C(0x5BE923F9E8F53A9B), - UINT64_C(0x1C4359104312C5AF), UINT64_C(0xAF6D15AE40B59AC0), - UINT64_C(0x192D8AF2BAF0E1E8), UINT64_C(0xAA03C64CB957BE87), - UINT64_C(0xEDA9BCA512B041B3), UINT64_C(0x5E87F01B11171EDC), - UINT64_C(0x62FD4976457FBFDB), UINT64_C(0xD1D305C846D8E0B4), - UINT64_C(0x96797F21ED3F1F80), UINT64_C(0x2557339FEE9840EF), - UINT64_C(0xEE8C0DFB45EE5D8E), UINT64_C(0x5DA24145464902E1), - UINT64_C(0x1A083BACEDAEFDD5), UINT64_C(0xA9267712EE09A2BA), - UINT64_C(0x955CCE7FBA6103BD), UINT64_C(0x267282C1B9C65CD2), - UINT64_C(0x61D8F8281221A3E6), UINT64_C(0xD2F6B4961186FC89), - UINT64_C(0x9F8169BA49A54B33), UINT64_C(0x2CAF25044A02145C), - UINT64_C(0x6B055FEDE1E5EB68), UINT64_C(0xD82B1353E242B407), - UINT64_C(0xE451AA3EB62A1500), UINT64_C(0x577FE680B58D4A6F), - UINT64_C(0x10D59C691E6AB55B), UINT64_C(0xA3FBD0D71DCDEA34), - UINT64_C(0x6820EEB3B6BBF755), UINT64_C(0xDB0EA20DB51CA83A), - UINT64_C(0x9CA4D8E41EFB570E), UINT64_C(0x2F8A945A1D5C0861), - UINT64_C(0x13F02D374934A966), UINT64_C(0xA0DE61894A93F609), - UINT64_C(0xE7741B60E174093D), UINT64_C(0x545A57DEE2D35652), - UINT64_C(0xE21AC88218962D7A), UINT64_C(0x5134843C1B317215), - UINT64_C(0x169EFED5B0D68D21), UINT64_C(0xA5B0B26BB371D24E), - UINT64_C(0x99CA0B06E7197349), UINT64_C(0x2AE447B8E4BE2C26), - UINT64_C(0x6D4E3D514F59D312), UINT64_C(0xDE6071EF4CFE8C7D), - UINT64_C(0x15BB4F8BE788911C), UINT64_C(0xA6950335E42FCE73), - UINT64_C(0xE13F79DC4FC83147), UINT64_C(0x521135624C6F6E28), - UINT64_C(0x6E6B8C0F1807CF2F), UINT64_C(0xDD45C0B11BA09040), - UINT64_C(0x9AEFBA58B0476F74), UINT64_C(0x29C1F6E6B3E0301B), - UINT64_C(0xC96C5795D7870F42), UINT64_C(0x7A421B2BD420502D), - UINT64_C(0x3DE861C27FC7AF19), UINT64_C(0x8EC62D7C7C60F076), - UINT64_C(0xB2BC941128085171), UINT64_C(0x0192D8AF2BAF0E1E), - UINT64_C(0x4638A2468048F12A), UINT64_C(0xF516EEF883EFAE45), - UINT64_C(0x3ECDD09C2899B324), UINT64_C(0x8DE39C222B3EEC4B), - UINT64_C(0xCA49E6CB80D9137F), UINT64_C(0x7967AA75837E4C10), - UINT64_C(0x451D1318D716ED17), UINT64_C(0xF6335FA6D4B1B278), - UINT64_C(0xB199254F7F564D4C), UINT64_C(0x02B769F17CF11223), - UINT64_C(0xB4F7F6AD86B4690B), UINT64_C(0x07D9BA1385133664), - UINT64_C(0x4073C0FA2EF4C950), UINT64_C(0xF35D8C442D53963F), - UINT64_C(0xCF273529793B3738), UINT64_C(0x7C0979977A9C6857), - UINT64_C(0x3BA3037ED17B9763), UINT64_C(0x888D4FC0D2DCC80C), - UINT64_C(0x435671A479AAD56D), UINT64_C(0xF0783D1A7A0D8A02), - UINT64_C(0xB7D247F3D1EA7536), UINT64_C(0x04FC0B4DD24D2A59), - UINT64_C(0x3886B22086258B5E), UINT64_C(0x8BA8FE9E8582D431), - UINT64_C(0xCC0284772E652B05), UINT64_C(0x7F2CC8C92DC2746A), - UINT64_C(0x325B15E575E1C3D0), UINT64_C(0x8175595B76469CBF), - UINT64_C(0xC6DF23B2DDA1638B), UINT64_C(0x75F16F0CDE063CE4), - UINT64_C(0x498BD6618A6E9DE3), UINT64_C(0xFAA59ADF89C9C28C), - UINT64_C(0xBD0FE036222E3DB8), UINT64_C(0x0E21AC88218962D7), - UINT64_C(0xC5FA92EC8AFF7FB6), UINT64_C(0x76D4DE52895820D9), - UINT64_C(0x317EA4BB22BFDFED), UINT64_C(0x8250E80521188082), - UINT64_C(0xBE2A516875702185), UINT64_C(0x0D041DD676D77EEA), - UINT64_C(0x4AAE673FDD3081DE), UINT64_C(0xF9802B81DE97DEB1), - UINT64_C(0x4FC0B4DD24D2A599), UINT64_C(0xFCEEF8632775FAF6), - UINT64_C(0xBB44828A8C9205C2), UINT64_C(0x086ACE348F355AAD), - UINT64_C(0x34107759DB5DFBAA), UINT64_C(0x873E3BE7D8FAA4C5), - UINT64_C(0xC094410E731D5BF1), UINT64_C(0x73BA0DB070BA049E), - UINT64_C(0xB86133D4DBCC19FF), UINT64_C(0x0B4F7F6AD86B4690), - UINT64_C(0x4CE50583738CB9A4), UINT64_C(0xFFCB493D702BE6CB), - UINT64_C(0xC3B1F050244347CC), UINT64_C(0x709FBCEE27E418A3), - UINT64_C(0x3735C6078C03E797), UINT64_C(0x841B8AB98FA4B8F8), - UINT64_C(0xADDA7C5F3C4488E3), UINT64_C(0x1EF430E13FE3D78C), - UINT64_C(0x595E4A08940428B8), UINT64_C(0xEA7006B697A377D7), - UINT64_C(0xD60ABFDBC3CBD6D0), UINT64_C(0x6524F365C06C89BF), - UINT64_C(0x228E898C6B8B768B), UINT64_C(0x91A0C532682C29E4), - UINT64_C(0x5A7BFB56C35A3485), UINT64_C(0xE955B7E8C0FD6BEA), - UINT64_C(0xAEFFCD016B1A94DE), UINT64_C(0x1DD181BF68BDCBB1), - UINT64_C(0x21AB38D23CD56AB6), UINT64_C(0x9285746C3F7235D9), - UINT64_C(0xD52F0E859495CAED), UINT64_C(0x6601423B97329582), - UINT64_C(0xD041DD676D77EEAA), UINT64_C(0x636F91D96ED0B1C5), - UINT64_C(0x24C5EB30C5374EF1), UINT64_C(0x97EBA78EC690119E), - UINT64_C(0xAB911EE392F8B099), UINT64_C(0x18BF525D915FEFF6), - UINT64_C(0x5F1528B43AB810C2), UINT64_C(0xEC3B640A391F4FAD), - UINT64_C(0x27E05A6E926952CC), UINT64_C(0x94CE16D091CE0DA3), - UINT64_C(0xD3646C393A29F297), UINT64_C(0x604A2087398EADF8), - UINT64_C(0x5C3099EA6DE60CFF), UINT64_C(0xEF1ED5546E415390), - UINT64_C(0xA8B4AFBDC5A6ACA4), UINT64_C(0x1B9AE303C601F3CB), - UINT64_C(0x56ED3E2F9E224471), UINT64_C(0xE5C372919D851B1E), - UINT64_C(0xA26908783662E42A), UINT64_C(0x114744C635C5BB45), - UINT64_C(0x2D3DFDAB61AD1A42), UINT64_C(0x9E13B115620A452D), - UINT64_C(0xD9B9CBFCC9EDBA19), UINT64_C(0x6A978742CA4AE576), - UINT64_C(0xA14CB926613CF817), UINT64_C(0x1262F598629BA778), - UINT64_C(0x55C88F71C97C584C), UINT64_C(0xE6E6C3CFCADB0723), - UINT64_C(0xDA9C7AA29EB3A624), UINT64_C(0x69B2361C9D14F94B), - UINT64_C(0x2E184CF536F3067F), UINT64_C(0x9D36004B35545910), - UINT64_C(0x2B769F17CF112238), UINT64_C(0x9858D3A9CCB67D57), - UINT64_C(0xDFF2A94067518263), UINT64_C(0x6CDCE5FE64F6DD0C), - UINT64_C(0x50A65C93309E7C0B), UINT64_C(0xE388102D33392364), - UINT64_C(0xA4226AC498DEDC50), UINT64_C(0x170C267A9B79833F), - UINT64_C(0xDCD7181E300F9E5E), UINT64_C(0x6FF954A033A8C131), - UINT64_C(0x28532E49984F3E05), UINT64_C(0x9B7D62F79BE8616A), - UINT64_C(0xA707DB9ACF80C06D), UINT64_C(0x14299724CC279F02), - UINT64_C(0x5383EDCD67C06036), UINT64_C(0xE0ADA17364673F59) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0x54E979925CD0F10D), - UINT64_C(0xA9D2F324B9A1E21A), UINT64_C(0xFD3B8AB6E5711317), - UINT64_C(0xC17D4962DC4DDAB1), UINT64_C(0x959430F0809D2BBC), - UINT64_C(0x68AFBA4665EC38AB), UINT64_C(0x3C46C3D4393CC9A6), - UINT64_C(0x10223DEE1795ABE7), UINT64_C(0x44CB447C4B455AEA), - UINT64_C(0xB9F0CECAAE3449FD), UINT64_C(0xED19B758F2E4B8F0), - UINT64_C(0xD15F748CCBD87156), UINT64_C(0x85B60D1E9708805B), - UINT64_C(0x788D87A87279934C), UINT64_C(0x2C64FE3A2EA96241), - UINT64_C(0x20447BDC2F2B57CE), UINT64_C(0x74AD024E73FBA6C3), - UINT64_C(0x899688F8968AB5D4), UINT64_C(0xDD7FF16ACA5A44D9), - UINT64_C(0xE13932BEF3668D7F), UINT64_C(0xB5D04B2CAFB67C72), - UINT64_C(0x48EBC19A4AC76F65), UINT64_C(0x1C02B80816179E68), - UINT64_C(0x3066463238BEFC29), UINT64_C(0x648F3FA0646E0D24), - UINT64_C(0x99B4B516811F1E33), UINT64_C(0xCD5DCC84DDCFEF3E), - UINT64_C(0xF11B0F50E4F32698), UINT64_C(0xA5F276C2B823D795), - UINT64_C(0x58C9FC745D52C482), UINT64_C(0x0C2085E60182358F), - UINT64_C(0x4088F7B85E56AF9C), UINT64_C(0x14618E2A02865E91), - UINT64_C(0xE95A049CE7F74D86), UINT64_C(0xBDB37D0EBB27BC8B), - UINT64_C(0x81F5BEDA821B752D), UINT64_C(0xD51CC748DECB8420), - UINT64_C(0x28274DFE3BBA9737), UINT64_C(0x7CCE346C676A663A), - UINT64_C(0x50AACA5649C3047B), UINT64_C(0x0443B3C41513F576), - UINT64_C(0xF9783972F062E661), UINT64_C(0xAD9140E0ACB2176C), - UINT64_C(0x91D78334958EDECA), UINT64_C(0xC53EFAA6C95E2FC7), - UINT64_C(0x380570102C2F3CD0), UINT64_C(0x6CEC098270FFCDDD), - UINT64_C(0x60CC8C64717DF852), UINT64_C(0x3425F5F62DAD095F), - UINT64_C(0xC91E7F40C8DC1A48), UINT64_C(0x9DF706D2940CEB45), - UINT64_C(0xA1B1C506AD3022E3), UINT64_C(0xF558BC94F1E0D3EE), - UINT64_C(0x086336221491C0F9), UINT64_C(0x5C8A4FB0484131F4), - UINT64_C(0x70EEB18A66E853B5), UINT64_C(0x2407C8183A38A2B8), - UINT64_C(0xD93C42AEDF49B1AF), UINT64_C(0x8DD53B3C839940A2), - UINT64_C(0xB193F8E8BAA58904), UINT64_C(0xE57A817AE6757809), - UINT64_C(0x18410BCC03046B1E), UINT64_C(0x4CA8725E5FD49A13), - UINT64_C(0x8111EF70BCAD5F38), UINT64_C(0xD5F896E2E07DAE35), - UINT64_C(0x28C31C54050CBD22), UINT64_C(0x7C2A65C659DC4C2F), - UINT64_C(0x406CA61260E08589), UINT64_C(0x1485DF803C307484), - UINT64_C(0xE9BE5536D9416793), UINT64_C(0xBD572CA48591969E), - UINT64_C(0x9133D29EAB38F4DF), UINT64_C(0xC5DAAB0CF7E805D2), - UINT64_C(0x38E121BA129916C5), UINT64_C(0x6C0858284E49E7C8), - UINT64_C(0x504E9BFC77752E6E), UINT64_C(0x04A7E26E2BA5DF63), - UINT64_C(0xF99C68D8CED4CC74), UINT64_C(0xAD75114A92043D79), - UINT64_C(0xA15594AC938608F6), UINT64_C(0xF5BCED3ECF56F9FB), - UINT64_C(0x088767882A27EAEC), UINT64_C(0x5C6E1E1A76F71BE1), - UINT64_C(0x6028DDCE4FCBD247), UINT64_C(0x34C1A45C131B234A), - UINT64_C(0xC9FA2EEAF66A305D), UINT64_C(0x9D135778AABAC150), - UINT64_C(0xB177A9428413A311), UINT64_C(0xE59ED0D0D8C3521C), - UINT64_C(0x18A55A663DB2410B), UINT64_C(0x4C4C23F46162B006), - UINT64_C(0x700AE020585E79A0), UINT64_C(0x24E399B2048E88AD), - UINT64_C(0xD9D81304E1FF9BBA), UINT64_C(0x8D316A96BD2F6AB7), - UINT64_C(0xC19918C8E2FBF0A4), UINT64_C(0x9570615ABE2B01A9), - UINT64_C(0x684BEBEC5B5A12BE), UINT64_C(0x3CA2927E078AE3B3), - UINT64_C(0x00E451AA3EB62A15), UINT64_C(0x540D28386266DB18), - UINT64_C(0xA936A28E8717C80F), UINT64_C(0xFDDFDB1CDBC73902), - UINT64_C(0xD1BB2526F56E5B43), UINT64_C(0x85525CB4A9BEAA4E), - UINT64_C(0x7869D6024CCFB959), UINT64_C(0x2C80AF90101F4854), - UINT64_C(0x10C66C44292381F2), UINT64_C(0x442F15D675F370FF), - UINT64_C(0xB9149F60908263E8), UINT64_C(0xEDFDE6F2CC5292E5), - UINT64_C(0xE1DD6314CDD0A76A), UINT64_C(0xB5341A8691005667), - UINT64_C(0x480F903074714570), UINT64_C(0x1CE6E9A228A1B47D), - UINT64_C(0x20A02A76119D7DDB), UINT64_C(0x744953E44D4D8CD6), - UINT64_C(0x8972D952A83C9FC1), UINT64_C(0xDD9BA0C0F4EC6ECC), - UINT64_C(0xF1FF5EFADA450C8D), UINT64_C(0xA51627688695FD80), - UINT64_C(0x582DADDE63E4EE97), UINT64_C(0x0CC4D44C3F341F9A), - UINT64_C(0x308217980608D63C), UINT64_C(0x646B6E0A5AD82731), - UINT64_C(0x9950E4BCBFA93426), UINT64_C(0xCDB99D2EE379C52B), - UINT64_C(0x90FB71CAD654A0F5), UINT64_C(0xC41208588A8451F8), - UINT64_C(0x392982EE6FF542EF), UINT64_C(0x6DC0FB7C3325B3E2), - UINT64_C(0x518638A80A197A44), UINT64_C(0x056F413A56C98B49), - UINT64_C(0xF854CB8CB3B8985E), UINT64_C(0xACBDB21EEF686953), - UINT64_C(0x80D94C24C1C10B12), UINT64_C(0xD43035B69D11FA1F), - UINT64_C(0x290BBF007860E908), UINT64_C(0x7DE2C69224B01805), - UINT64_C(0x41A405461D8CD1A3), UINT64_C(0x154D7CD4415C20AE), - UINT64_C(0xE876F662A42D33B9), UINT64_C(0xBC9F8FF0F8FDC2B4), - UINT64_C(0xB0BF0A16F97FF73B), UINT64_C(0xE4567384A5AF0636), - UINT64_C(0x196DF93240DE1521), UINT64_C(0x4D8480A01C0EE42C), - UINT64_C(0x71C2437425322D8A), UINT64_C(0x252B3AE679E2DC87), - UINT64_C(0xD810B0509C93CF90), UINT64_C(0x8CF9C9C2C0433E9D), - UINT64_C(0xA09D37F8EEEA5CDC), UINT64_C(0xF4744E6AB23AADD1), - UINT64_C(0x094FC4DC574BBEC6), UINT64_C(0x5DA6BD4E0B9B4FCB), - UINT64_C(0x61E07E9A32A7866D), UINT64_C(0x350907086E777760), - UINT64_C(0xC8328DBE8B066477), UINT64_C(0x9CDBF42CD7D6957A), - UINT64_C(0xD073867288020F69), UINT64_C(0x849AFFE0D4D2FE64), - UINT64_C(0x79A1755631A3ED73), UINT64_C(0x2D480CC46D731C7E), - UINT64_C(0x110ECF10544FD5D8), UINT64_C(0x45E7B682089F24D5), - UINT64_C(0xB8DC3C34EDEE37C2), UINT64_C(0xEC3545A6B13EC6CF), - UINT64_C(0xC051BB9C9F97A48E), UINT64_C(0x94B8C20EC3475583), - UINT64_C(0x698348B826364694), UINT64_C(0x3D6A312A7AE6B799), - UINT64_C(0x012CF2FE43DA7E3F), UINT64_C(0x55C58B6C1F0A8F32), - UINT64_C(0xA8FE01DAFA7B9C25), UINT64_C(0xFC177848A6AB6D28), - UINT64_C(0xF037FDAEA72958A7), UINT64_C(0xA4DE843CFBF9A9AA), - UINT64_C(0x59E50E8A1E88BABD), UINT64_C(0x0D0C771842584BB0), - UINT64_C(0x314AB4CC7B648216), UINT64_C(0x65A3CD5E27B4731B), - UINT64_C(0x989847E8C2C5600C), UINT64_C(0xCC713E7A9E159101), - UINT64_C(0xE015C040B0BCF340), UINT64_C(0xB4FCB9D2EC6C024D), - UINT64_C(0x49C73364091D115A), UINT64_C(0x1D2E4AF655CDE057), - UINT64_C(0x216889226CF129F1), UINT64_C(0x7581F0B03021D8FC), - UINT64_C(0x88BA7A06D550CBEB), UINT64_C(0xDC53039489803AE6), - UINT64_C(0x11EA9EBA6AF9FFCD), UINT64_C(0x4503E72836290EC0), - UINT64_C(0xB8386D9ED3581DD7), UINT64_C(0xECD1140C8F88ECDA), - UINT64_C(0xD097D7D8B6B4257C), UINT64_C(0x847EAE4AEA64D471), - UINT64_C(0x794524FC0F15C766), UINT64_C(0x2DAC5D6E53C5366B), - UINT64_C(0x01C8A3547D6C542A), UINT64_C(0x5521DAC621BCA527), - UINT64_C(0xA81A5070C4CDB630), UINT64_C(0xFCF329E2981D473D), - UINT64_C(0xC0B5EA36A1218E9B), UINT64_C(0x945C93A4FDF17F96), - UINT64_C(0x6967191218806C81), UINT64_C(0x3D8E608044509D8C), - UINT64_C(0x31AEE56645D2A803), UINT64_C(0x65479CF41902590E), - UINT64_C(0x987C1642FC734A19), UINT64_C(0xCC956FD0A0A3BB14), - UINT64_C(0xF0D3AC04999F72B2), UINT64_C(0xA43AD596C54F83BF), - UINT64_C(0x59015F20203E90A8), UINT64_C(0x0DE826B27CEE61A5), - UINT64_C(0x218CD888524703E4), UINT64_C(0x7565A11A0E97F2E9), - UINT64_C(0x885E2BACEBE6E1FE), UINT64_C(0xDCB7523EB73610F3), - UINT64_C(0xE0F191EA8E0AD955), UINT64_C(0xB418E878D2DA2858), - UINT64_C(0x492362CE37AB3B4F), UINT64_C(0x1DCA1B5C6B7BCA42), - UINT64_C(0x5162690234AF5051), UINT64_C(0x058B1090687FA15C), - UINT64_C(0xF8B09A268D0EB24B), UINT64_C(0xAC59E3B4D1DE4346), - UINT64_C(0x901F2060E8E28AE0), UINT64_C(0xC4F659F2B4327BED), - UINT64_C(0x39CDD344514368FA), UINT64_C(0x6D24AAD60D9399F7), - UINT64_C(0x414054EC233AFBB6), UINT64_C(0x15A92D7E7FEA0ABB), - UINT64_C(0xE892A7C89A9B19AC), UINT64_C(0xBC7BDE5AC64BE8A1), - UINT64_C(0x803D1D8EFF772107), UINT64_C(0xD4D4641CA3A7D00A), - UINT64_C(0x29EFEEAA46D6C31D), UINT64_C(0x7D0697381A063210), - UINT64_C(0x712612DE1B84079F), UINT64_C(0x25CF6B4C4754F692), - UINT64_C(0xD8F4E1FAA225E585), UINT64_C(0x8C1D9868FEF51488), - UINT64_C(0xB05B5BBCC7C9DD2E), UINT64_C(0xE4B2222E9B192C23), - UINT64_C(0x1989A8987E683F34), UINT64_C(0x4D60D10A22B8CE39), - UINT64_C(0x61042F300C11AC78), UINT64_C(0x35ED56A250C15D75), - UINT64_C(0xC8D6DC14B5B04E62), UINT64_C(0x9C3FA586E960BF6F), - UINT64_C(0xA0796652D05C76C9), UINT64_C(0xF4901FC08C8C87C4), - UINT64_C(0x09AB957669FD94D3), UINT64_C(0x5D42ECE4352D65DE) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0x3F0BE14A916A6DCB), - UINT64_C(0x7E17C29522D4DB96), UINT64_C(0x411C23DFB3BEB65D), - UINT64_C(0xFC2F852A45A9B72C), UINT64_C(0xC3246460D4C3DAE7), - UINT64_C(0x823847BF677D6CBA), UINT64_C(0xBD33A6F5F6170171), - UINT64_C(0x6A87A57F245D70DD), UINT64_C(0x558C4435B5371D16), - UINT64_C(0x149067EA0689AB4B), UINT64_C(0x2B9B86A097E3C680), - UINT64_C(0x96A8205561F4C7F1), UINT64_C(0xA9A3C11FF09EAA3A), - UINT64_C(0xE8BFE2C043201C67), UINT64_C(0xD7B4038AD24A71AC), - UINT64_C(0xD50F4AFE48BAE1BA), UINT64_C(0xEA04ABB4D9D08C71), - UINT64_C(0xAB18886B6A6E3A2C), UINT64_C(0x94136921FB0457E7), - UINT64_C(0x2920CFD40D135696), UINT64_C(0x162B2E9E9C793B5D), - UINT64_C(0x57370D412FC78D00), UINT64_C(0x683CEC0BBEADE0CB), - UINT64_C(0xBF88EF816CE79167), UINT64_C(0x80830ECBFD8DFCAC), - UINT64_C(0xC19F2D144E334AF1), UINT64_C(0xFE94CC5EDF59273A), - UINT64_C(0x43A76AAB294E264B), UINT64_C(0x7CAC8BE1B8244B80), - UINT64_C(0x3DB0A83E0B9AFDDD), UINT64_C(0x02BB49749AF09016), - UINT64_C(0x38C63AD73E7BDDF1), UINT64_C(0x07CDDB9DAF11B03A), - UINT64_C(0x46D1F8421CAF0667), UINT64_C(0x79DA19088DC56BAC), - UINT64_C(0xC4E9BFFD7BD26ADD), UINT64_C(0xFBE25EB7EAB80716), - UINT64_C(0xBAFE7D685906B14B), UINT64_C(0x85F59C22C86CDC80), - UINT64_C(0x52419FA81A26AD2C), UINT64_C(0x6D4A7EE28B4CC0E7), - UINT64_C(0x2C565D3D38F276BA), UINT64_C(0x135DBC77A9981B71), - UINT64_C(0xAE6E1A825F8F1A00), UINT64_C(0x9165FBC8CEE577CB), - UINT64_C(0xD079D8177D5BC196), UINT64_C(0xEF72395DEC31AC5D), - UINT64_C(0xEDC9702976C13C4B), UINT64_C(0xD2C29163E7AB5180), - UINT64_C(0x93DEB2BC5415E7DD), UINT64_C(0xACD553F6C57F8A16), - UINT64_C(0x11E6F50333688B67), UINT64_C(0x2EED1449A202E6AC), - UINT64_C(0x6FF1379611BC50F1), UINT64_C(0x50FAD6DC80D63D3A), - UINT64_C(0x874ED556529C4C96), UINT64_C(0xB845341CC3F6215D), - UINT64_C(0xF95917C370489700), UINT64_C(0xC652F689E122FACB), - UINT64_C(0x7B61507C1735FBBA), UINT64_C(0x446AB136865F9671), - UINT64_C(0x057692E935E1202C), UINT64_C(0x3A7D73A3A48B4DE7), - UINT64_C(0x718C75AE7CF7BBE2), UINT64_C(0x4E8794E4ED9DD629), - UINT64_C(0x0F9BB73B5E236074), UINT64_C(0x30905671CF490DBF), - UINT64_C(0x8DA3F084395E0CCE), UINT64_C(0xB2A811CEA8346105), - UINT64_C(0xF3B432111B8AD758), UINT64_C(0xCCBFD35B8AE0BA93), - UINT64_C(0x1B0BD0D158AACB3F), UINT64_C(0x2400319BC9C0A6F4), - UINT64_C(0x651C12447A7E10A9), UINT64_C(0x5A17F30EEB147D62), - UINT64_C(0xE72455FB1D037C13), UINT64_C(0xD82FB4B18C6911D8), - UINT64_C(0x9933976E3FD7A785), UINT64_C(0xA6387624AEBDCA4E), - UINT64_C(0xA4833F50344D5A58), UINT64_C(0x9B88DE1AA5273793), - UINT64_C(0xDA94FDC5169981CE), UINT64_C(0xE59F1C8F87F3EC05), - UINT64_C(0x58ACBA7A71E4ED74), UINT64_C(0x67A75B30E08E80BF), - UINT64_C(0x26BB78EF533036E2), UINT64_C(0x19B099A5C25A5B29), - UINT64_C(0xCE049A2F10102A85), UINT64_C(0xF10F7B65817A474E), - UINT64_C(0xB01358BA32C4F113), UINT64_C(0x8F18B9F0A3AE9CD8), - UINT64_C(0x322B1F0555B99DA9), UINT64_C(0x0D20FE4FC4D3F062), - UINT64_C(0x4C3CDD90776D463F), UINT64_C(0x73373CDAE6072BF4), - UINT64_C(0x494A4F79428C6613), UINT64_C(0x7641AE33D3E60BD8), - UINT64_C(0x375D8DEC6058BD85), UINT64_C(0x08566CA6F132D04E), - UINT64_C(0xB565CA530725D13F), UINT64_C(0x8A6E2B19964FBCF4), - UINT64_C(0xCB7208C625F10AA9), UINT64_C(0xF479E98CB49B6762), - UINT64_C(0x23CDEA0666D116CE), UINT64_C(0x1CC60B4CF7BB7B05), - UINT64_C(0x5DDA28934405CD58), UINT64_C(0x62D1C9D9D56FA093), - UINT64_C(0xDFE26F2C2378A1E2), UINT64_C(0xE0E98E66B212CC29), - UINT64_C(0xA1F5ADB901AC7A74), UINT64_C(0x9EFE4CF390C617BF), - UINT64_C(0x9C4505870A3687A9), UINT64_C(0xA34EE4CD9B5CEA62), - UINT64_C(0xE252C71228E25C3F), UINT64_C(0xDD592658B98831F4), - UINT64_C(0x606A80AD4F9F3085), UINT64_C(0x5F6161E7DEF55D4E), - UINT64_C(0x1E7D42386D4BEB13), UINT64_C(0x2176A372FC2186D8), - UINT64_C(0xF6C2A0F82E6BF774), UINT64_C(0xC9C941B2BF019ABF), - UINT64_C(0x88D5626D0CBF2CE2), UINT64_C(0xB7DE83279DD54129), - UINT64_C(0x0AED25D26BC24058), UINT64_C(0x35E6C498FAA82D93), - UINT64_C(0x74FAE74749169BCE), UINT64_C(0x4BF1060DD87CF605), - UINT64_C(0xE318EB5CF9EF77C4), UINT64_C(0xDC130A1668851A0F), - UINT64_C(0x9D0F29C9DB3BAC52), UINT64_C(0xA204C8834A51C199), - UINT64_C(0x1F376E76BC46C0E8), UINT64_C(0x203C8F3C2D2CAD23), - UINT64_C(0x6120ACE39E921B7E), UINT64_C(0x5E2B4DA90FF876B5), - UINT64_C(0x899F4E23DDB20719), UINT64_C(0xB694AF694CD86AD2), - UINT64_C(0xF7888CB6FF66DC8F), UINT64_C(0xC8836DFC6E0CB144), - UINT64_C(0x75B0CB09981BB035), UINT64_C(0x4ABB2A430971DDFE), - UINT64_C(0x0BA7099CBACF6BA3), UINT64_C(0x34ACE8D62BA50668), - UINT64_C(0x3617A1A2B155967E), UINT64_C(0x091C40E8203FFBB5), - UINT64_C(0x4800633793814DE8), UINT64_C(0x770B827D02EB2023), - UINT64_C(0xCA382488F4FC2152), UINT64_C(0xF533C5C265964C99), - UINT64_C(0xB42FE61DD628FAC4), UINT64_C(0x8B2407574742970F), - UINT64_C(0x5C9004DD9508E6A3), UINT64_C(0x639BE59704628B68), - UINT64_C(0x2287C648B7DC3D35), UINT64_C(0x1D8C270226B650FE), - UINT64_C(0xA0BF81F7D0A1518F), UINT64_C(0x9FB460BD41CB3C44), - UINT64_C(0xDEA84362F2758A19), UINT64_C(0xE1A3A228631FE7D2), - UINT64_C(0xDBDED18BC794AA35), UINT64_C(0xE4D530C156FEC7FE), - UINT64_C(0xA5C9131EE54071A3), UINT64_C(0x9AC2F254742A1C68), - UINT64_C(0x27F154A1823D1D19), UINT64_C(0x18FAB5EB135770D2), - UINT64_C(0x59E69634A0E9C68F), UINT64_C(0x66ED777E3183AB44), - UINT64_C(0xB15974F4E3C9DAE8), UINT64_C(0x8E5295BE72A3B723), - UINT64_C(0xCF4EB661C11D017E), UINT64_C(0xF045572B50776CB5), - UINT64_C(0x4D76F1DEA6606DC4), UINT64_C(0x727D1094370A000F), - UINT64_C(0x3361334B84B4B652), UINT64_C(0x0C6AD20115DEDB99), - UINT64_C(0x0ED19B758F2E4B8F), UINT64_C(0x31DA7A3F1E442644), - UINT64_C(0x70C659E0ADFA9019), UINT64_C(0x4FCDB8AA3C90FDD2), - UINT64_C(0xF2FE1E5FCA87FCA3), UINT64_C(0xCDF5FF155BED9168), - UINT64_C(0x8CE9DCCAE8532735), UINT64_C(0xB3E23D8079394AFE), - UINT64_C(0x64563E0AAB733B52), UINT64_C(0x5B5DDF403A195699), - UINT64_C(0x1A41FC9F89A7E0C4), UINT64_C(0x254A1DD518CD8D0F), - UINT64_C(0x9879BB20EEDA8C7E), UINT64_C(0xA7725A6A7FB0E1B5), - UINT64_C(0xE66E79B5CC0E57E8), UINT64_C(0xD96598FF5D643A23), - UINT64_C(0x92949EF28518CC26), UINT64_C(0xAD9F7FB81472A1ED), - UINT64_C(0xEC835C67A7CC17B0), UINT64_C(0xD388BD2D36A67A7B), - UINT64_C(0x6EBB1BD8C0B17B0A), UINT64_C(0x51B0FA9251DB16C1), - UINT64_C(0x10ACD94DE265A09C), UINT64_C(0x2FA73807730FCD57), - UINT64_C(0xF8133B8DA145BCFB), UINT64_C(0xC718DAC7302FD130), - UINT64_C(0x8604F9188391676D), UINT64_C(0xB90F185212FB0AA6), - UINT64_C(0x043CBEA7E4EC0BD7), UINT64_C(0x3B375FED7586661C), - UINT64_C(0x7A2B7C32C638D041), UINT64_C(0x45209D785752BD8A), - UINT64_C(0x479BD40CCDA22D9C), UINT64_C(0x789035465CC84057), - UINT64_C(0x398C1699EF76F60A), UINT64_C(0x0687F7D37E1C9BC1), - UINT64_C(0xBBB45126880B9AB0), UINT64_C(0x84BFB06C1961F77B), - UINT64_C(0xC5A393B3AADF4126), UINT64_C(0xFAA872F93BB52CED), - UINT64_C(0x2D1C7173E9FF5D41), UINT64_C(0x121790397895308A), - UINT64_C(0x530BB3E6CB2B86D7), UINT64_C(0x6C0052AC5A41EB1C), - UINT64_C(0xD133F459AC56EA6D), UINT64_C(0xEE3815133D3C87A6), - UINT64_C(0xAF2436CC8E8231FB), UINT64_C(0x902FD7861FE85C30), - UINT64_C(0xAA52A425BB6311D7), UINT64_C(0x9559456F2A097C1C), - UINT64_C(0xD44566B099B7CA41), UINT64_C(0xEB4E87FA08DDA78A), - UINT64_C(0x567D210FFECAA6FB), UINT64_C(0x6976C0456FA0CB30), - UINT64_C(0x286AE39ADC1E7D6D), UINT64_C(0x176102D04D7410A6), - UINT64_C(0xC0D5015A9F3E610A), UINT64_C(0xFFDEE0100E540CC1), - UINT64_C(0xBEC2C3CFBDEABA9C), UINT64_C(0x81C922852C80D757), - UINT64_C(0x3CFA8470DA97D626), UINT64_C(0x03F1653A4BFDBBED), - UINT64_C(0x42ED46E5F8430DB0), UINT64_C(0x7DE6A7AF6929607B), - UINT64_C(0x7F5DEEDBF3D9F06D), UINT64_C(0x40560F9162B39DA6), - UINT64_C(0x014A2C4ED10D2BFB), UINT64_C(0x3E41CD0440674630), - UINT64_C(0x83726BF1B6704741), UINT64_C(0xBC798ABB271A2A8A), - UINT64_C(0xFD65A96494A49CD7), UINT64_C(0xC26E482E05CEF11C), - UINT64_C(0x15DA4BA4D78480B0), UINT64_C(0x2AD1AAEE46EEED7B), - UINT64_C(0x6BCD8931F5505B26), UINT64_C(0x54C6687B643A36ED), - UINT64_C(0xE9F5CE8E922D379C), UINT64_C(0xD6FE2FC403475A57), - UINT64_C(0x97E20C1BB0F9EC0A), UINT64_C(0xA8E9ED51219381C1) - }, { - UINT64_C(0x0000000000000000), UINT64_C(0x1DEE8A5E222CA1DC), - UINT64_C(0x3BDD14BC445943B8), UINT64_C(0x26339EE26675E264), - UINT64_C(0x77BA297888B28770), UINT64_C(0x6A54A326AA9E26AC), - UINT64_C(0x4C673DC4CCEBC4C8), UINT64_C(0x5189B79AEEC76514), - UINT64_C(0xEF7452F111650EE0), UINT64_C(0xF29AD8AF3349AF3C), - UINT64_C(0xD4A9464D553C4D58), UINT64_C(0xC947CC137710EC84), - UINT64_C(0x98CE7B8999D78990), UINT64_C(0x8520F1D7BBFB284C), - UINT64_C(0xA3136F35DD8ECA28), UINT64_C(0xBEFDE56BFFA26BF4), - UINT64_C(0x4C300AC98DC40345), UINT64_C(0x51DE8097AFE8A299), - UINT64_C(0x77ED1E75C99D40FD), UINT64_C(0x6A03942BEBB1E121), - UINT64_C(0x3B8A23B105768435), UINT64_C(0x2664A9EF275A25E9), - UINT64_C(0x0057370D412FC78D), UINT64_C(0x1DB9BD5363036651), - UINT64_C(0xA34458389CA10DA5), UINT64_C(0xBEAAD266BE8DAC79), - UINT64_C(0x98994C84D8F84E1D), UINT64_C(0x8577C6DAFAD4EFC1), - UINT64_C(0xD4FE714014138AD5), UINT64_C(0xC910FB1E363F2B09), - UINT64_C(0xEF2365FC504AC96D), UINT64_C(0xF2CDEFA2726668B1), - UINT64_C(0x986015931B88068A), UINT64_C(0x858E9FCD39A4A756), - UINT64_C(0xA3BD012F5FD14532), UINT64_C(0xBE538B717DFDE4EE), - UINT64_C(0xEFDA3CEB933A81FA), UINT64_C(0xF234B6B5B1162026), - UINT64_C(0xD4072857D763C242), UINT64_C(0xC9E9A209F54F639E), - UINT64_C(0x771447620AED086A), UINT64_C(0x6AFACD3C28C1A9B6), - UINT64_C(0x4CC953DE4EB44BD2), UINT64_C(0x5127D9806C98EA0E), - UINT64_C(0x00AE6E1A825F8F1A), UINT64_C(0x1D40E444A0732EC6), - UINT64_C(0x3B737AA6C606CCA2), UINT64_C(0x269DF0F8E42A6D7E), - UINT64_C(0xD4501F5A964C05CF), UINT64_C(0xC9BE9504B460A413), - UINT64_C(0xEF8D0BE6D2154677), UINT64_C(0xF26381B8F039E7AB), - UINT64_C(0xA3EA36221EFE82BF), UINT64_C(0xBE04BC7C3CD22363), - UINT64_C(0x9837229E5AA7C107), UINT64_C(0x85D9A8C0788B60DB), - UINT64_C(0x3B244DAB87290B2F), UINT64_C(0x26CAC7F5A505AAF3), - UINT64_C(0x00F95917C3704897), UINT64_C(0x1D17D349E15CE94B), - UINT64_C(0x4C9E64D30F9B8C5F), UINT64_C(0x5170EE8D2DB72D83), - UINT64_C(0x7743706F4BC2CFE7), UINT64_C(0x6AADFA3169EE6E3B), - UINT64_C(0xA218840D981E1391), UINT64_C(0xBFF60E53BA32B24D), - UINT64_C(0x99C590B1DC475029), UINT64_C(0x842B1AEFFE6BF1F5), - UINT64_C(0xD5A2AD7510AC94E1), UINT64_C(0xC84C272B3280353D), - UINT64_C(0xEE7FB9C954F5D759), UINT64_C(0xF391339776D97685), - UINT64_C(0x4D6CD6FC897B1D71), UINT64_C(0x50825CA2AB57BCAD), - UINT64_C(0x76B1C240CD225EC9), UINT64_C(0x6B5F481EEF0EFF15), - UINT64_C(0x3AD6FF8401C99A01), UINT64_C(0x273875DA23E53BDD), - UINT64_C(0x010BEB384590D9B9), UINT64_C(0x1CE5616667BC7865), - UINT64_C(0xEE288EC415DA10D4), UINT64_C(0xF3C6049A37F6B108), - UINT64_C(0xD5F59A785183536C), UINT64_C(0xC81B102673AFF2B0), - UINT64_C(0x9992A7BC9D6897A4), UINT64_C(0x847C2DE2BF443678), - UINT64_C(0xA24FB300D931D41C), UINT64_C(0xBFA1395EFB1D75C0), - UINT64_C(0x015CDC3504BF1E34), UINT64_C(0x1CB2566B2693BFE8), - UINT64_C(0x3A81C88940E65D8C), UINT64_C(0x276F42D762CAFC50), - UINT64_C(0x76E6F54D8C0D9944), UINT64_C(0x6B087F13AE213898), - UINT64_C(0x4D3BE1F1C854DAFC), UINT64_C(0x50D56BAFEA787B20), - UINT64_C(0x3A78919E8396151B), UINT64_C(0x27961BC0A1BAB4C7), - UINT64_C(0x01A58522C7CF56A3), UINT64_C(0x1C4B0F7CE5E3F77F), - UINT64_C(0x4DC2B8E60B24926B), UINT64_C(0x502C32B8290833B7), - UINT64_C(0x761FAC5A4F7DD1D3), UINT64_C(0x6BF126046D51700F), - UINT64_C(0xD50CC36F92F31BFB), UINT64_C(0xC8E24931B0DFBA27), - UINT64_C(0xEED1D7D3D6AA5843), UINT64_C(0xF33F5D8DF486F99F), - UINT64_C(0xA2B6EA171A419C8B), UINT64_C(0xBF586049386D3D57), - UINT64_C(0x996BFEAB5E18DF33), UINT64_C(0x848574F57C347EEF), - UINT64_C(0x76489B570E52165E), UINT64_C(0x6BA611092C7EB782), - UINT64_C(0x4D958FEB4A0B55E6), UINT64_C(0x507B05B56827F43A), - UINT64_C(0x01F2B22F86E0912E), UINT64_C(0x1C1C3871A4CC30F2), - UINT64_C(0x3A2FA693C2B9D296), UINT64_C(0x27C12CCDE095734A), - UINT64_C(0x993CC9A61F3718BE), UINT64_C(0x84D243F83D1BB962), - UINT64_C(0xA2E1DD1A5B6E5B06), UINT64_C(0xBF0F57447942FADA), - UINT64_C(0xEE86E0DE97859FCE), UINT64_C(0xF3686A80B5A93E12), - UINT64_C(0xD55BF462D3DCDC76), UINT64_C(0xC8B57E3CF1F07DAA), - UINT64_C(0xD6E9A7309F3239A7), UINT64_C(0xCB072D6EBD1E987B), - UINT64_C(0xED34B38CDB6B7A1F), UINT64_C(0xF0DA39D2F947DBC3), - UINT64_C(0xA1538E481780BED7), UINT64_C(0xBCBD041635AC1F0B), - UINT64_C(0x9A8E9AF453D9FD6F), UINT64_C(0x876010AA71F55CB3), - UINT64_C(0x399DF5C18E573747), UINT64_C(0x24737F9FAC7B969B), - UINT64_C(0x0240E17DCA0E74FF), UINT64_C(0x1FAE6B23E822D523), - UINT64_C(0x4E27DCB906E5B037), UINT64_C(0x53C956E724C911EB), - UINT64_C(0x75FAC80542BCF38F), UINT64_C(0x6814425B60905253), - UINT64_C(0x9AD9ADF912F63AE2), UINT64_C(0x873727A730DA9B3E), - UINT64_C(0xA104B94556AF795A), UINT64_C(0xBCEA331B7483D886), - UINT64_C(0xED6384819A44BD92), UINT64_C(0xF08D0EDFB8681C4E), - UINT64_C(0xD6BE903DDE1DFE2A), UINT64_C(0xCB501A63FC315FF6), - UINT64_C(0x75ADFF0803933402), UINT64_C(0x6843755621BF95DE), - UINT64_C(0x4E70EBB447CA77BA), UINT64_C(0x539E61EA65E6D666), - UINT64_C(0x0217D6708B21B372), UINT64_C(0x1FF95C2EA90D12AE), - UINT64_C(0x39CAC2CCCF78F0CA), UINT64_C(0x24244892ED545116), - UINT64_C(0x4E89B2A384BA3F2D), UINT64_C(0x536738FDA6969EF1), - UINT64_C(0x7554A61FC0E37C95), UINT64_C(0x68BA2C41E2CFDD49), - UINT64_C(0x39339BDB0C08B85D), UINT64_C(0x24DD11852E241981), - UINT64_C(0x02EE8F674851FBE5), UINT64_C(0x1F0005396A7D5A39), - UINT64_C(0xA1FDE05295DF31CD), UINT64_C(0xBC136A0CB7F39011), - UINT64_C(0x9A20F4EED1867275), UINT64_C(0x87CE7EB0F3AAD3A9), - UINT64_C(0xD647C92A1D6DB6BD), UINT64_C(0xCBA943743F411761), - UINT64_C(0xED9ADD965934F505), UINT64_C(0xF07457C87B1854D9), - UINT64_C(0x02B9B86A097E3C68), UINT64_C(0x1F5732342B529DB4), - UINT64_C(0x3964ACD64D277FD0), UINT64_C(0x248A26886F0BDE0C), - UINT64_C(0x7503911281CCBB18), UINT64_C(0x68ED1B4CA3E01AC4), - UINT64_C(0x4EDE85AEC595F8A0), UINT64_C(0x53300FF0E7B9597C), - UINT64_C(0xEDCDEA9B181B3288), UINT64_C(0xF02360C53A379354), - UINT64_C(0xD610FE275C427130), UINT64_C(0xCBFE74797E6ED0EC), - UINT64_C(0x9A77C3E390A9B5F8), UINT64_C(0x879949BDB2851424), - UINT64_C(0xA1AAD75FD4F0F640), UINT64_C(0xBC445D01F6DC579C), - UINT64_C(0x74F1233D072C2A36), UINT64_C(0x691FA96325008BEA), - UINT64_C(0x4F2C37814375698E), UINT64_C(0x52C2BDDF6159C852), - UINT64_C(0x034B0A458F9EAD46), UINT64_C(0x1EA5801BADB20C9A), - UINT64_C(0x38961EF9CBC7EEFE), UINT64_C(0x257894A7E9EB4F22), - UINT64_C(0x9B8571CC164924D6), UINT64_C(0x866BFB923465850A), - UINT64_C(0xA05865705210676E), UINT64_C(0xBDB6EF2E703CC6B2), - UINT64_C(0xEC3F58B49EFBA3A6), UINT64_C(0xF1D1D2EABCD7027A), - UINT64_C(0xD7E24C08DAA2E01E), UINT64_C(0xCA0CC656F88E41C2), - UINT64_C(0x38C129F48AE82973), UINT64_C(0x252FA3AAA8C488AF), - UINT64_C(0x031C3D48CEB16ACB), UINT64_C(0x1EF2B716EC9DCB17), - UINT64_C(0x4F7B008C025AAE03), UINT64_C(0x52958AD220760FDF), - UINT64_C(0x74A614304603EDBB), UINT64_C(0x69489E6E642F4C67), - UINT64_C(0xD7B57B059B8D2793), UINT64_C(0xCA5BF15BB9A1864F), - UINT64_C(0xEC686FB9DFD4642B), UINT64_C(0xF186E5E7FDF8C5F7), - UINT64_C(0xA00F527D133FA0E3), UINT64_C(0xBDE1D8233113013F), - UINT64_C(0x9BD246C15766E35B), UINT64_C(0x863CCC9F754A4287), - UINT64_C(0xEC9136AE1CA42CBC), UINT64_C(0xF17FBCF03E888D60), - UINT64_C(0xD74C221258FD6F04), UINT64_C(0xCAA2A84C7AD1CED8), - UINT64_C(0x9B2B1FD69416ABCC), UINT64_C(0x86C59588B63A0A10), - UINT64_C(0xA0F60B6AD04FE874), UINT64_C(0xBD188134F26349A8), - UINT64_C(0x03E5645F0DC1225C), UINT64_C(0x1E0BEE012FED8380), - UINT64_C(0x383870E3499861E4), UINT64_C(0x25D6FABD6BB4C038), - UINT64_C(0x745F4D278573A52C), UINT64_C(0x69B1C779A75F04F0), - UINT64_C(0x4F82599BC12AE694), UINT64_C(0x526CD3C5E3064748), - UINT64_C(0xA0A13C6791602FF9), UINT64_C(0xBD4FB639B34C8E25), - UINT64_C(0x9B7C28DBD5396C41), UINT64_C(0x8692A285F715CD9D), - UINT64_C(0xD71B151F19D2A889), UINT64_C(0xCAF59F413BFE0955), - UINT64_C(0xECC601A35D8BEB31), UINT64_C(0xF1288BFD7FA74AED), - UINT64_C(0x4FD56E9680052119), UINT64_C(0x523BE4C8A22980C5), - UINT64_C(0x74087A2AC45C62A1), UINT64_C(0x69E6F074E670C37D), - UINT64_C(0x386F47EE08B7A669), UINT64_C(0x2581CDB02A9B07B5), - UINT64_C(0x03B253524CEEE5D1), UINT64_C(0x1E5CD90C6EC2440D) - } -}; diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_tablegen.c b/Build/source/extra/xz/src/liblzma/check/crc64_tablegen.c deleted file mode 100644 index fddaa7ed140..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_tablegen.c +++ /dev/null @@ -1,88 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc64_tablegen.c -/// \brief Generate crc64_table_le.h and crc64_table_be.h -/// -/// Compiling: gcc -std=c99 -o crc64_tablegen crc64_tablegen.c -/// Add -DWORDS_BIGENDIAN to generate big endian table. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include "../../common/tuklib_integer.h" - - -static uint64_t crc64_table[4][256]; - - -extern void -init_crc64_table(void) -{ - static const uint64_t poly64 = UINT64_C(0xC96C5795D7870F42); - - for (size_t s = 0; s < 4; ++s) { - for (size_t b = 0; b < 256; ++b) { - uint64_t r = s == 0 ? b : crc64_table[s - 1][b]; - - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly64; - else - r >>= 1; - } - - crc64_table[s][b] = r; - } - } - -#ifdef WORDS_BIGENDIAN - for (size_t s = 0; s < 4; ++s) - for (size_t b = 0; b < 256; ++b) - crc64_table[s][b] = bswap64(crc64_table[s][b]); -#endif - - return; -} - - -static void -print_crc64_table(void) -{ - printf("/* This file has been automatically generated by " - "crc64_tablegen.c. */\n\n" - "const uint64_t lzma_crc64_table[4][256] = {\n\t{"); - - for (size_t s = 0; s < 4; ++s) { - for (size_t b = 0; b < 256; ++b) { - if ((b % 2) == 0) - printf("\n\t\t"); - - printf("UINT64_C(0x%016" PRIX64 ")", - crc64_table[s][b]); - - if (b != 255) - printf(",%s", (b+1) % 2 == 0 ? "" : " "); - } - - if (s == 3) - printf("\n\t}\n};\n"); - else - printf("\n\t}, {"); - } - - return; -} - - -int -main(void) -{ - init_crc64_table(); - print_crc64_table(); - return 0; -} diff --git a/Build/source/extra/xz/src/liblzma/check/crc64_x86.S b/Build/source/extra/xz/src/liblzma/check/crc64_x86.S deleted file mode 100644 index f5bb84b97e0..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc64_x86.S +++ /dev/null @@ -1,287 +0,0 @@ -/* - * Speed-optimized CRC64 using slicing-by-four algorithm - * - * This uses only i386 instructions, but it is optimized for i686 and later - * (including e.g. Pentium II/III/IV, Athlon XP, and Core 2). - * - * Authors: Igor Pavlov (original CRC32 assembly code) - * Lasse Collin (CRC64 adaptation of the modified CRC32 code) - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - * - * This code needs lzma_crc64_table, which can be created using the - * following C code: - -uint64_t lzma_crc64_table[4][256]; - -void -init_table(void) -{ - // ECMA-182 - static const uint64_t poly64 = UINT64_C(0xC96C5795D7870F42); - - for (size_t s = 0; s < 4; ++s) { - for (size_t b = 0; b < 256; ++b) { - uint64_t r = s == 0 ? b : lzma_crc64_table[s - 1][b]; - - for (size_t i = 0; i < 8; ++i) { - if (r & 1) - r = (r >> 1) ^ poly64; - else - r >>= 1; - } - - lzma_crc64_table[s][b] = r; - } - } -} - - * The prototype of the CRC64 function: - * extern uint64_t lzma_crc64(const uint8_t *buf, size_t size, uint64_t crc); - */ - -/* - * On some systems, the functions need to be prefixed. The prefix is - * usually an underscore. - */ -#ifndef __USER_LABEL_PREFIX__ -# define __USER_LABEL_PREFIX__ -#endif -#define MAKE_SYM_CAT(prefix, sym) prefix ## sym -#define MAKE_SYM(prefix, sym) MAKE_SYM_CAT(prefix, sym) -#define LZMA_CRC64 MAKE_SYM(__USER_LABEL_PREFIX__, lzma_crc64) -#define LZMA_CRC64_TABLE MAKE_SYM(__USER_LABEL_PREFIX__, lzma_crc64_table) - -/* - * Solaris assembler doesn't have .p2align, and Darwin uses .align - * differently than GNU/Linux and Solaris. - */ -#if defined(__APPLE__) || defined(__MSDOS__) -# define ALIGN(pow2, abs) .align pow2 -#else -# define ALIGN(pow2, abs) .align abs -#endif - - .text - .globl LZMA_CRC64 - -#if !defined(__APPLE__) && !defined(_WIN32) && !defined(__CYGWIN__) \ - && !defined(__MSDOS__) - .type LZMA_CRC64, @function -#endif - - ALIGN(4, 16) -LZMA_CRC64: - /* - * Register usage: - * %eax crc LSB - * %edx crc MSB - * %esi buf - * %edi size or buf + size - * %ebx lzma_crc64_table - * %ebp Table index - * %ecx Temporary - */ - pushl %ebx - pushl %esi - pushl %edi - pushl %ebp - movl 0x14(%esp), %esi /* buf */ - movl 0x18(%esp), %edi /* size */ - movl 0x1C(%esp), %eax /* crc LSB */ - movl 0x20(%esp), %edx /* crc MSB */ - - /* - * Store the address of lzma_crc64_table to %ebx. This is needed to - * get position-independent code (PIC). - * - * The PIC macro is defined by libtool, while __PIC__ is defined - * by GCC but only on some systems. Testing for both makes it simpler - * to test this code without libtool, and keeps the code working also - * when built with libtool but using something else than GCC. - * - * I understood that libtool may define PIC on Windows even though - * the code in Windows DLLs is not PIC in sense that it is in ELF - * binaries, so we need a separate check to always use the non-PIC - * code on Windows. - */ -#if (!defined(PIC) && !defined(__PIC__)) \ - || (defined(_WIN32) || defined(__CYGWIN__)) - /* Not PIC */ - movl $ LZMA_CRC64_TABLE, %ebx -#elif defined(__APPLE__) - /* Mach-O */ - call .L_get_pc -.L_pic: - leal .L_lzma_crc64_table$non_lazy_ptr-.L_pic(%ebx), %ebx - movl (%ebx), %ebx -#else - /* ELF */ - call .L_get_pc - addl $_GLOBAL_OFFSET_TABLE_, %ebx - movl LZMA_CRC64_TABLE@GOT(%ebx), %ebx -#endif - - /* Complement the initial value. */ - notl %eax - notl %edx - -.L_align: - /* - * Check if there is enough input to use slicing-by-four. - * We need eight bytes, because the loop pre-reads four bytes. - */ - cmpl $8, %edi - jb .L_rest - - /* Check if we have reached alignment of four bytes. */ - testl $3, %esi - jz .L_slice - - /* Calculate CRC of the next input byte. */ - movzbl (%esi), %ebp - incl %esi - movzbl %al, %ecx - xorl %ecx, %ebp - shrdl $8, %edx, %eax - xorl (%ebx, %ebp, 8), %eax - shrl $8, %edx - xorl 4(%ebx, %ebp, 8), %edx - decl %edi - jmp .L_align - -.L_slice: - /* - * If we get here, there's at least eight bytes of aligned input - * available. Make %edi multiple of four bytes. Store the possible - * remainder over the "size" variable in the argument stack. - */ - movl %edi, 0x18(%esp) - andl $-4, %edi - subl %edi, 0x18(%esp) - - /* - * Let %edi be buf + size - 4 while running the main loop. This way - * we can compare for equality to determine when exit the loop. - */ - addl %esi, %edi - subl $4, %edi - - /* Read in the first four aligned bytes. */ - movl (%esi), %ecx - -.L_loop: - xorl %eax, %ecx - movzbl %cl, %ebp - movl 0x1800(%ebx, %ebp, 8), %eax - xorl %edx, %eax - movl 0x1804(%ebx, %ebp, 8), %edx - movzbl %ch, %ebp - xorl 0x1000(%ebx, %ebp, 8), %eax - xorl 0x1004(%ebx, %ebp, 8), %edx - shrl $16, %ecx - movzbl %cl, %ebp - xorl 0x0800(%ebx, %ebp, 8), %eax - xorl 0x0804(%ebx, %ebp, 8), %edx - movzbl %ch, %ebp - addl $4, %esi - xorl (%ebx, %ebp, 8), %eax - xorl 4(%ebx, %ebp, 8), %edx - - /* Check for end of aligned input. */ - cmpl %edi, %esi - - /* - * Copy the next input byte to %ecx. It is slightly faster to - * read it here than at the top of the loop. - */ - movl (%esi), %ecx - jb .L_loop - - /* - * Process the remaining four bytes, which we have already - * copied to %ecx. - */ - xorl %eax, %ecx - movzbl %cl, %ebp - movl 0x1800(%ebx, %ebp, 8), %eax - xorl %edx, %eax - movl 0x1804(%ebx, %ebp, 8), %edx - movzbl %ch, %ebp - xorl 0x1000(%ebx, %ebp, 8), %eax - xorl 0x1004(%ebx, %ebp, 8), %edx - shrl $16, %ecx - movzbl %cl, %ebp - xorl 0x0800(%ebx, %ebp, 8), %eax - xorl 0x0804(%ebx, %ebp, 8), %edx - movzbl %ch, %ebp - addl $4, %esi - xorl (%ebx, %ebp, 8), %eax - xorl 4(%ebx, %ebp, 8), %edx - - /* Copy the number of remaining bytes to %edi. */ - movl 0x18(%esp), %edi - -.L_rest: - /* Check for end of input. */ - testl %edi, %edi - jz .L_return - - /* Calculate CRC of the next input byte. */ - movzbl (%esi), %ebp - incl %esi - movzbl %al, %ecx - xorl %ecx, %ebp - shrdl $8, %edx, %eax - xorl (%ebx, %ebp, 8), %eax - shrl $8, %edx - xorl 4(%ebx, %ebp, 8), %edx - decl %edi - jmp .L_rest - -.L_return: - /* Complement the final value. */ - notl %eax - notl %edx - - popl %ebp - popl %edi - popl %esi - popl %ebx - ret - -#if defined(PIC) || defined(__PIC__) - ALIGN(4, 16) -.L_get_pc: - movl (%esp), %ebx - ret -#endif - -#if defined(__APPLE__) && (defined(PIC) || defined(__PIC__)) - /* Mach-O PIC */ - .section __IMPORT,__pointers,non_lazy_symbol_pointers -.L_lzma_crc64_table$non_lazy_ptr: - .indirect_symbol LZMA_CRC64_TABLE - .long 0 - -#elif defined(_WIN32) || defined(__CYGWIN__) -# ifdef DLL_EXPORT - /* This is equivalent of __declspec(dllexport). */ - .section .drectve - .ascii " -export:lzma_crc64" -# endif - -#elif !defined(__MSDOS__) - /* ELF */ - .size LZMA_CRC64, .-LZMA_CRC64 -#endif - -/* - * This is needed to support non-executable stack. It's ugly to - * use __linux__ here, but I don't know a way to detect when - * we are using GNU assembler. - */ -#if defined(__ELF__) && defined(__linux__) - .section .note.GNU-stack,"",@progbits -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/crc_macros.h b/Build/source/extra/xz/src/liblzma/check/crc_macros.h deleted file mode 100644 index a7c21b765dc..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/crc_macros.h +++ /dev/null @@ -1,30 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file crc_macros.h -/// \brief Some endian-dependent macros for CRC32 and CRC64 -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifdef WORDS_BIGENDIAN -# define A(x) ((x) >> 24) -# define B(x) (((x) >> 16) & 0xFF) -# define C(x) (((x) >> 8) & 0xFF) -# define D(x) ((x) & 0xFF) - -# define S8(x) ((x) << 8) -# define S32(x) ((x) << 32) - -#else -# define A(x) ((x) & 0xFF) -# define B(x) (((x) >> 8) & 0xFF) -# define C(x) (((x) >> 16) & 0xFF) -# define D(x) ((x) >> 24) - -# define S8(x) ((x) >> 8) -# define S32(x) ((x) >> 32) -#endif diff --git a/Build/source/extra/xz/src/liblzma/check/sha256.c b/Build/source/extra/xz/src/liblzma/check/sha256.c deleted file mode 100644 index 23bda9222dd..00000000000 --- a/Build/source/extra/xz/src/liblzma/check/sha256.c +++ /dev/null @@ -1,200 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file sha256.c -/// \brief SHA-256 -/// -/// \todo Crypto++ has x86 ASM optimizations. They use SSE so if they -/// are imported to liblzma, SSE instructions need to be used -/// conditionally to keep the code working on older boxes. -// -// This code is based on the code found from 7-Zip, which has a modified -// version of the SHA-256 found from Crypto++ . -// The code was modified a little to fit into liblzma. -// -// Authors: Kevin Springle -// Wei Dai -// Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -// Avoid bogus warnings in transform(). -#if (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) || __GNUC__ > 4 -# pragma GCC diagnostic ignored "-Wuninitialized" -#endif - -#include "check.h" - -// At least on x86, GCC is able to optimize this to a rotate instruction. -#define rotr_32(num, amount) ((num) >> (amount) | (num) << (32 - (amount))) - -#define blk0(i) (W[i] = data[i]) -#define blk2(i) (W[i & 15] += s1(W[(i - 2) & 15]) + W[(i - 7) & 15] \ - + s0(W[(i - 15) & 15])) - -#define Ch(x, y, z) (z ^ (x & (y ^ z))) -#define Maj(x, y, z) ((x & y) | (z & (x | y))) - -#define a(i) T[(0 - i) & 7] -#define b(i) T[(1 - i) & 7] -#define c(i) T[(2 - i) & 7] -#define d(i) T[(3 - i) & 7] -#define e(i) T[(4 - i) & 7] -#define f(i) T[(5 - i) & 7] -#define g(i) T[(6 - i) & 7] -#define h(i) T[(7 - i) & 7] - -#define R(i) \ - h(i) += S1(e(i)) + Ch(e(i), f(i), g(i)) + SHA256_K[i + j] \ - + (j ? blk2(i) : blk0(i)); \ - d(i) += h(i); \ - h(i) += S0(a(i)) + Maj(a(i), b(i), c(i)) - -#define S0(x) (rotr_32(x, 2) ^ rotr_32(x, 13) ^ rotr_32(x, 22)) -#define S1(x) (rotr_32(x, 6) ^ rotr_32(x, 11) ^ rotr_32(x, 25)) -#define s0(x) (rotr_32(x, 7) ^ rotr_32(x, 18) ^ (x >> 3)) -#define s1(x) (rotr_32(x, 17) ^ rotr_32(x, 19) ^ (x >> 10)) - - -static const uint32_t SHA256_K[64] = { - 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5, - 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5, - 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3, - 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174, - 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC, - 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA, - 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7, - 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967, - 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13, - 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85, - 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3, - 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070, - 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5, - 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3, - 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208, - 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2, -}; - - -static void -transform(uint32_t state[static 8], const uint32_t data[static 16]) -{ - uint32_t W[16]; - uint32_t T[8]; - - // Copy state[] to working vars. - memcpy(T, state, sizeof(T)); - - // 64 operations, partially loop unrolled - for (unsigned int j = 0; j < 64; j += 16) { - R( 0); R( 1); R( 2); R( 3); - R( 4); R( 5); R( 6); R( 7); - R( 8); R( 9); R(10); R(11); - R(12); R(13); R(14); R(15); - } - - // Add the working vars back into state[]. - state[0] += a(0); - state[1] += b(0); - state[2] += c(0); - state[3] += d(0); - state[4] += e(0); - state[5] += f(0); - state[6] += g(0); - state[7] += h(0); -} - - -static void -process(lzma_check_state *check) -{ -#ifdef WORDS_BIGENDIAN - transform(check->state.sha256.state, check->buffer.u32); - -#else - uint32_t data[16]; - - for (size_t i = 0; i < 16; ++i) - data[i] = bswap32(check->buffer.u32[i]); - - transform(check->state.sha256.state, data); -#endif - - return; -} - - -extern void -lzma_sha256_init(lzma_check_state *check) -{ - static const uint32_t s[8] = { - 0x6A09E667, 0xBB67AE85, 0x3C6EF372, 0xA54FF53A, - 0x510E527F, 0x9B05688C, 0x1F83D9AB, 0x5BE0CD19, - }; - - memcpy(check->state.sha256.state, s, sizeof(s)); - check->state.sha256.size = 0; - - return; -} - - -extern void -lzma_sha256_update(const uint8_t *buf, size_t size, lzma_check_state *check) -{ - // Copy the input data into a properly aligned temporary buffer. - // This way we can be called with arbitrarily sized buffers - // (no need to be multiple of 64 bytes), and the code works also - // on architectures that don't allow unaligned memory access. - while (size > 0) { - const size_t copy_start = check->state.sha256.size & 0x3F; - size_t copy_size = 64 - copy_start; - if (copy_size > size) - copy_size = size; - - memcpy(check->buffer.u8 + copy_start, buf, copy_size); - - buf += copy_size; - size -= copy_size; - check->state.sha256.size += copy_size; - - if ((check->state.sha256.size & 0x3F) == 0) - process(check); - } - - return; -} - - -extern void -lzma_sha256_finish(lzma_check_state *check) -{ - // Add padding as described in RFC 3174 (it describes SHA-1 but - // the same padding style is used for SHA-256 too). - size_t pos = check->state.sha256.size & 0x3F; - check->buffer.u8[pos++] = 0x80; - - while (pos != 64 - 8) { - if (pos == 64) { - process(check); - pos = 0; - } - - check->buffer.u8[pos++] = 0x00; - } - - // Convert the message size from bytes to bits. - check->state.sha256.size *= 8; - - check->buffer.u64[(64 - 8) / 8] = conv64be(check->state.sha256.size); - - process(check); - - for (size_t i = 0; i < 8; ++i) - check->buffer.u32[i] = conv32be(check->state.sha256.state[i]); - - return; -} diff --git a/Build/source/extra/xz/src/liblzma/common/Makefile.inc b/Build/source/extra/xz/src/liblzma/common/Makefile.inc deleted file mode 100644 index f154f82ff52..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/Makefile.inc +++ /dev/null @@ -1,67 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -liblzma_la_SOURCES += \ - common/common.c \ - common/common.h \ - common/block_util.c \ - common/easy_preset.c \ - common/easy_preset.h \ - common/filter_common.c \ - common/filter_common.h \ - common/hardware_physmem.c \ - common/index.c \ - common/index.h \ - common/stream_flags_common.c \ - common/stream_flags_common.h \ - common/vli_size.c - -if COND_MAIN_ENCODER -liblzma_la_SOURCES += \ - common/alone_encoder.c \ - common/block_buffer_encoder.c \ - common/block_encoder.c \ - common/block_encoder.h \ - common/block_header_encoder.c \ - common/easy_buffer_encoder.c \ - common/easy_encoder.c \ - common/easy_encoder_memusage.c \ - common/filter_buffer_encoder.c \ - common/filter_encoder.c \ - common/filter_encoder.h \ - common/filter_flags_encoder.c \ - common/index_encoder.c \ - common/index_encoder.h \ - common/stream_buffer_encoder.c \ - common/stream_encoder.c \ - common/stream_encoder.h \ - common/stream_flags_encoder.c \ - common/vli_encoder.c -endif - -if COND_MAIN_DECODER -liblzma_la_SOURCES += \ - common/alone_decoder.c \ - common/alone_decoder.h \ - common/auto_decoder.c \ - common/block_buffer_decoder.c \ - common/block_decoder.c \ - common/block_decoder.h \ - common/block_header_decoder.c \ - common/easy_decoder_memusage.c \ - common/filter_buffer_decoder.c \ - common/filter_decoder.c \ - common/filter_decoder.h \ - common/filter_flags_decoder.c \ - common/index_decoder.c \ - common/index_hash.c \ - common/stream_buffer_decoder.c \ - common/stream_decoder.c \ - common/stream_decoder.h \ - common/stream_flags_decoder.c \ - common/vli_decoder.c -endif diff --git a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c b/Build/source/extra/xz/src/liblzma/common/alone_decoder.c deleted file mode 100644 index c25112e6875..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c +++ /dev/null @@ -1,238 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file alone_decoder.c -/// \brief Decoder for LZMA_Alone files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "alone_decoder.h" -#include "lzma_decoder.h" -#include "lz_decoder.h" - - -struct lzma_coder_s { - lzma_next_coder next; - - enum { - SEQ_PROPERTIES, - SEQ_DICTIONARY_SIZE, - SEQ_UNCOMPRESSED_SIZE, - SEQ_CODER_INIT, - SEQ_CODE, - } sequence; - - /// If true, reject files that are unlikely to be .lzma files. - /// If false, more non-.lzma files get accepted and will give - /// LZMA_DATA_ERROR either immediately or after a few output bytes. - bool picky; - - /// Position in the header fields - size_t pos; - - /// Uncompressed size decoded from the header - lzma_vli uncompressed_size; - - /// Memory usage limit - uint64_t memlimit; - - /// Amount of memory actually needed (only an estimate) - uint64_t memusage; - - /// Options decoded from the header needed to initialize - /// the LZMA decoder - lzma_options_lzma options; -}; - - -static lzma_ret -alone_decode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((__unused__)), - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - lzma_action action) -{ - while (*out_pos < out_size - && (coder->sequence == SEQ_CODE || *in_pos < in_size)) - switch (coder->sequence) { - case SEQ_PROPERTIES: - if (lzma_lzma_lclppb_decode(&coder->options, in[*in_pos])) - return LZMA_FORMAT_ERROR; - - coder->sequence = SEQ_DICTIONARY_SIZE; - ++*in_pos; - break; - - case SEQ_DICTIONARY_SIZE: - coder->options.dict_size - |= (size_t)(in[*in_pos]) << (coder->pos * 8); - - if (++coder->pos == 4) { - if (coder->picky && coder->options.dict_size - != UINT32_MAX) { - // A hack to ditch tons of false positives: - // We allow only dictionary sizes that are - // 2^n or 2^n + 2^(n-1). LZMA_Alone created - // only files with 2^n, but accepts any - // dictionary size. - uint32_t d = coder->options.dict_size - 1; - d |= d >> 2; - d |= d >> 3; - d |= d >> 4; - d |= d >> 8; - d |= d >> 16; - ++d; - - if (d != coder->options.dict_size) - return LZMA_FORMAT_ERROR; - } - - coder->pos = 0; - coder->sequence = SEQ_UNCOMPRESSED_SIZE; - } - - ++*in_pos; - break; - - case SEQ_UNCOMPRESSED_SIZE: - coder->uncompressed_size - |= (lzma_vli)(in[*in_pos]) << (coder->pos * 8); - ++*in_pos; - if (++coder->pos < 8) - break; - - // Another hack to ditch false positives: Assume that - // if the uncompressed size is known, it must be less - // than 256 GiB. - if (coder->picky - && coder->uncompressed_size != LZMA_VLI_UNKNOWN - && coder->uncompressed_size - >= (LZMA_VLI_C(1) << 38)) - return LZMA_FORMAT_ERROR; - - // Calculate the memory usage so that it is ready - // for SEQ_CODER_INIT. - coder->memusage = lzma_lzma_decoder_memusage(&coder->options) - + LZMA_MEMUSAGE_BASE; - - coder->pos = 0; - coder->sequence = SEQ_CODER_INIT; - - // Fall through - - case SEQ_CODER_INIT: { - if (coder->memusage > coder->memlimit) - return LZMA_MEMLIMIT_ERROR; - - lzma_filter_info filters[2] = { - { - .init = &lzma_lzma_decoder_init, - .options = &coder->options, - }, { - .init = NULL, - } - }; - - const lzma_ret ret = lzma_next_filter_init(&coder->next, - allocator, filters); - if (ret != LZMA_OK) - return ret; - - // Use a hack to set the uncompressed size. - lzma_lz_decoder_uncompressed(coder->next.coder, - coder->uncompressed_size); - - coder->sequence = SEQ_CODE; - break; - } - - case SEQ_CODE: { - return coder->next.code(coder->next.coder, - allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - } - - default: - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static void -alone_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -alone_decoder_memconfig(lzma_coder *coder, uint64_t *memusage, - uint64_t *old_memlimit, uint64_t new_memlimit) -{ - *memusage = coder->memusage; - *old_memlimit = coder->memlimit; - - if (new_memlimit != 0) { - if (new_memlimit < coder->memusage) - return LZMA_MEMLIMIT_ERROR; - - coder->memlimit = new_memlimit; - } - - return LZMA_OK; -} - - -extern lzma_ret -lzma_alone_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - uint64_t memlimit, bool picky) -{ - lzma_next_coder_init(&lzma_alone_decoder_init, next, allocator); - - if (memlimit == 0) - return LZMA_PROG_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &alone_decode; - next->end = &alone_decoder_end; - next->memconfig = &alone_decoder_memconfig; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - next->coder->sequence = SEQ_PROPERTIES; - next->coder->picky = picky; - next->coder->pos = 0; - next->coder->options.dict_size = 0; - next->coder->options.preset_dict = NULL; - next->coder->options.preset_dict_size = 0; - next->coder->uncompressed_size = 0; - next->coder->memlimit = memlimit; - next->coder->memusage = LZMA_MEMUSAGE_BASE; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_alone_decoder(lzma_stream *strm, uint64_t memlimit) -{ - lzma_next_strm_init(lzma_alone_decoder_init, strm, memlimit, false); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/alone_decoder.h b/Build/source/extra/xz/src/liblzma/common/alone_decoder.h deleted file mode 100644 index f666fc3823e..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/alone_decoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file alone_decoder.h -/// \brief Decoder for LZMA_Alone files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_ALONE_DECODER_H -#define LZMA_ALONE_DECODER_H - -#include "common.h" - - -extern lzma_ret lzma_alone_decoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - uint64_t memlimit, bool picky); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c b/Build/source/extra/xz/src/liblzma/common/alone_encoder.c deleted file mode 100644 index eb1697e9975..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c +++ /dev/null @@ -1,157 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file alone_decoder.c -/// \brief Decoder for LZMA_Alone files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" -#include "lzma_encoder.h" - - -#define ALONE_HEADER_SIZE (1 + 4 + 8) - - -struct lzma_coder_s { - lzma_next_coder next; - - enum { - SEQ_HEADER, - SEQ_CODE, - } sequence; - - size_t header_pos; - uint8_t header[ALONE_HEADER_SIZE]; -}; - - -static lzma_ret -alone_encode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((__unused__)), - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - lzma_action action) -{ - while (*out_pos < out_size) - switch (coder->sequence) { - case SEQ_HEADER: - lzma_bufcpy(coder->header, &coder->header_pos, - ALONE_HEADER_SIZE, - out, out_pos, out_size); - if (coder->header_pos < ALONE_HEADER_SIZE) - return LZMA_OK; - - coder->sequence = SEQ_CODE; - break; - - case SEQ_CODE: - return coder->next.code(coder->next.coder, - allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - - default: - assert(0); - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static void -alone_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -// At least for now, this is not used by any internal function. -static lzma_ret -alone_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_options_lzma *options) -{ - lzma_next_coder_init(&alone_encoder_init, next, allocator); - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &alone_encode; - next->end = &alone_encoder_end; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Basic initializations - next->coder->sequence = SEQ_HEADER; - next->coder->header_pos = 0; - - // Encode the header: - // - Properties (1 byte) - if (lzma_lzma_lclppb_encode(options, next->coder->header)) - return LZMA_OPTIONS_ERROR; - - // - Dictionary size (4 bytes) - if (options->dict_size < LZMA_DICT_SIZE_MIN) - return LZMA_OPTIONS_ERROR; - - // Round up to the next 2^n or 2^n + 2^(n - 1) depending on which - // one is the next unless it is UINT32_MAX. While the header would - // allow any 32-bit integer, we do this to keep the decoder of liblzma - // accepting the resulting files. - uint32_t d = options->dict_size - 1; - d |= d >> 2; - d |= d >> 3; - d |= d >> 4; - d |= d >> 8; - d |= d >> 16; - if (d != UINT32_MAX) - ++d; - - unaligned_write32le(next->coder->header + 1, d); - - // - Uncompressed size (always unknown and using EOPM) - memset(next->coder->header + 1 + 4, 0xFF, 8); - - // Initialize the LZMA encoder. - const lzma_filter_info filters[2] = { - { - .init = &lzma_lzma_encoder_init, - .options = (void *)(options), - }, { - .init = NULL, - } - }; - - return lzma_next_filter_init(&next->coder->next, allocator, filters); -} - - -/* -extern lzma_ret -lzma_alone_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_options_alone *options) -{ - lzma_next_coder_init(&alone_encoder_init, next, allocator, options); -} -*/ - - -extern LZMA_API(lzma_ret) -lzma_alone_encoder(lzma_stream *strm, const lzma_options_lzma *options) -{ - lzma_next_strm_init(alone_encoder_init, strm, options); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/auto_decoder.c b/Build/source/extra/xz/src/liblzma/common/auto_decoder.c deleted file mode 100644 index 35c895fd14c..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/auto_decoder.c +++ /dev/null @@ -1,186 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file auto_decoder.c -/// \brief Autodetect between .xz Stream and .lzma (LZMA_Alone) formats -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_decoder.h" -#include "alone_decoder.h" - - -struct lzma_coder_s { - /// Stream decoder or LZMA_Alone decoder - lzma_next_coder next; - - uint64_t memlimit; - uint32_t flags; - - enum { - SEQ_INIT, - SEQ_CODE, - SEQ_FINISH, - } sequence; -}; - - -static lzma_ret -auto_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - switch (coder->sequence) { - case SEQ_INIT: - if (*in_pos >= in_size) - return LZMA_OK; - - // Update the sequence now, because we want to continue from - // SEQ_CODE even if we return some LZMA_*_CHECK. - coder->sequence = SEQ_CODE; - - // Detect the file format. For now this is simple, since if - // it doesn't start with 0xFD (the first magic byte of the - // new format), it has to be LZMA_Alone, or something that - // we don't support at all. - if (in[*in_pos] == 0xFD) { - return_if_error(lzma_stream_decoder_init( - &coder->next, allocator, - coder->memlimit, coder->flags)); - } else { - return_if_error(lzma_alone_decoder_init(&coder->next, - allocator, coder->memlimit, true)); - - // If the application wants to know about missing - // integrity check or about the check in general, we - // need to handle it here, because LZMA_Alone decoder - // doesn't accept any flags. - if (coder->flags & LZMA_TELL_NO_CHECK) - return LZMA_NO_CHECK; - - if (coder->flags & LZMA_TELL_ANY_CHECK) - return LZMA_GET_CHECK; - } - - // Fall through - - case SEQ_CODE: { - const lzma_ret ret = coder->next.code( - coder->next.coder, allocator, - in, in_pos, in_size, - out, out_pos, out_size, action); - if (ret != LZMA_STREAM_END - || (coder->flags & LZMA_CONCATENATED) == 0) - return ret; - - coder->sequence = SEQ_FINISH; - } - - // Fall through - - case SEQ_FINISH: - // When LZMA_DECODE_CONCATENATED was used and we were decoding - // LZMA_Alone file, we need to check check that there is no - // trailing garbage and wait for LZMA_FINISH. - if (*in_pos < in_size) - return LZMA_DATA_ERROR; - - return action == LZMA_FINISH ? LZMA_STREAM_END : LZMA_OK; - - default: - assert(0); - return LZMA_PROG_ERROR; - } -} - - -static void -auto_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_check -auto_decoder_get_check(const lzma_coder *coder) -{ - // It is LZMA_Alone if get_check is NULL. - return coder->next.get_check == NULL ? LZMA_CHECK_NONE - : coder->next.get_check(coder->next.coder); -} - - -static lzma_ret -auto_decoder_memconfig(lzma_coder *coder, uint64_t *memusage, - uint64_t *old_memlimit, uint64_t new_memlimit) -{ - lzma_ret ret; - - if (coder->next.memconfig != NULL) { - ret = coder->next.memconfig(coder->next.coder, - memusage, old_memlimit, new_memlimit); - assert(*old_memlimit == coder->memlimit); - } else { - // No coder is configured yet. Use the base value as - // the current memory usage. - *memusage = LZMA_MEMUSAGE_BASE; - *old_memlimit = coder->memlimit; - ret = LZMA_OK; - } - - if (ret == LZMA_OK && new_memlimit != 0) - coder->memlimit = new_memlimit; - - return ret; -} - - -static lzma_ret -auto_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - uint64_t memlimit, uint32_t flags) -{ - lzma_next_coder_init(&auto_decoder_init, next, allocator); - - if (memlimit == 0) - return LZMA_PROG_ERROR; - - if (flags & ~LZMA_SUPPORTED_FLAGS) - return LZMA_OPTIONS_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &auto_decode; - next->end = &auto_decoder_end; - next->get_check = &auto_decoder_get_check; - next->memconfig = &auto_decoder_memconfig; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - next->coder->memlimit = memlimit; - next->coder->flags = flags; - next->coder->sequence = SEQ_INIT; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_auto_decoder(lzma_stream *strm, uint64_t memlimit, uint32_t flags) -{ - lzma_next_strm_init(auto_decoder_init, strm, memlimit, flags); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_buffer_decoder.c b/Build/source/extra/xz/src/liblzma/common/block_buffer_decoder.c deleted file mode 100644 index ff27a11ccfe..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_buffer_decoder.c +++ /dev/null @@ -1,80 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_buffer_decoder.c -/// \brief Single-call .xz Block decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "block_decoder.h" - - -extern LZMA_API(lzma_ret) -lzma_block_buffer_decode(lzma_block *block, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - if (in_pos == NULL || (in == NULL && *in_pos != in_size) - || *in_pos > in_size || out_pos == NULL - || (out == NULL && *out_pos != out_size) - || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // Initialize the Block decoder. - lzma_next_coder block_decoder = LZMA_NEXT_CODER_INIT; - lzma_ret ret = lzma_block_decoder_init( - &block_decoder, allocator, block); - - if (ret == LZMA_OK) { - // Save the positions so that we can restore them in case - // an error occurs. - const size_t in_start = *in_pos; - const size_t out_start = *out_pos; - - // Do the actual decoding. - ret = block_decoder.code(block_decoder.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, - LZMA_FINISH); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - if (ret == LZMA_OK) { - // Either the input was truncated or the - // output buffer was too small. - assert(*in_pos == in_size - || *out_pos == out_size); - - // If all the input was consumed, then the - // input is truncated, even if the output - // buffer is also full. This is because - // processing the last byte of the Block - // never produces output. - // - // NOTE: This assumption may break when new - // filters are added, if the end marker of - // the filter doesn't consume at least one - // complete byte. - if (*in_pos == in_size) - ret = LZMA_DATA_ERROR; - else - ret = LZMA_BUF_ERROR; - } - - // Restore the positions. - *in_pos = in_start; - *out_pos = out_start; - } - } - - // Free the decoder memory. This needs to be done even if - // initialization fails, because the internal API doesn't - // require the initialization function to free its memory on error. - lzma_next_end(&block_decoder, allocator); - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c deleted file mode 100644 index 519c6a684d7..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c +++ /dev/null @@ -1,305 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_buffer_encoder.c -/// \brief Single-call .xz Block encoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "block_encoder.h" -#include "filter_encoder.h" -#include "lzma2_encoder.h" -#include "check.h" - - -/// Estimate the maximum size of the Block Header and Check fields for -/// a Block that uses LZMA2 uncompressed chunks. We could use -/// lzma_block_header_size() but this is simpler. -/// -/// Block Header Size + Block Flags + Compressed Size -/// + Uncompressed Size + Filter Flags for LZMA2 + CRC32 + Check -/// and round up to the next multiple of four to take Header Padding -/// into account. -#define HEADERS_BOUND ((1 + 1 + 2 * LZMA_VLI_BYTES_MAX + 3 + 4 \ - + LZMA_CHECK_SIZE_MAX + 3) & ~3) - - -static lzma_vli -lzma2_bound(lzma_vli uncompressed_size) -{ - // Prevent integer overflow in overhead calculation. - if (uncompressed_size > COMPRESSED_SIZE_MAX) - return 0; - - // Calculate the exact overhead of the LZMA2 headers: Round - // uncompressed_size up to the next multiple of LZMA2_CHUNK_MAX, - // multiply by the size of per-chunk header, and add one byte for - // the end marker. - const lzma_vli overhead = ((uncompressed_size + LZMA2_CHUNK_MAX - 1) - / LZMA2_CHUNK_MAX) - * LZMA2_HEADER_UNCOMPRESSED + 1; - - // Catch the possible integer overflow. - if (COMPRESSED_SIZE_MAX - overhead < uncompressed_size) - return 0; - - return uncompressed_size + overhead; -} - - -extern LZMA_API(size_t) -lzma_block_buffer_bound(size_t uncompressed_size) -{ - // For now, if the data doesn't compress, we always use uncompressed - // chunks of LZMA2. In future we may use Subblock filter too, but - // but for simplicity we probably will still use the same bound - // calculation even though Subblock filter would have slightly less - // overhead. - lzma_vli lzma2_size = lzma2_bound(uncompressed_size); - if (lzma2_size == 0) - return 0; - - // Take Block Padding into account. - lzma2_size = (lzma2_size + 3) & ~LZMA_VLI_C(3); - -#if SIZE_MAX < LZMA_VLI_MAX - // Catch the possible integer overflow on 32-bit systems. There's no - // overflow on 64-bit systems, because lzma2_bound() already takes - // into account the size of the headers in the Block. - if (SIZE_MAX - HEADERS_BOUND < lzma2_size) - return 0; -#endif - - return HEADERS_BOUND + lzma2_size; -} - - -static lzma_ret -block_encode_uncompressed(lzma_block *block, const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // TODO: Figure out if the last filter is LZMA2 or Subblock and use - // that filter to encode the uncompressed chunks. - - // Use LZMA2 uncompressed chunks. We wouldn't need a dictionary at - // all, but LZMA2 always requires a dictionary, so use the minimum - // value to minimize memory usage of the decoder. - lzma_options_lzma lzma2 = { - .dict_size = LZMA_DICT_SIZE_MIN, - }; - - lzma_filter filters[2]; - filters[0].id = LZMA_FILTER_LZMA2; - filters[0].options = &lzma2; - filters[1].id = LZMA_VLI_UNKNOWN; - - // Set the above filter options to *block temporarily so that we can - // encode the Block Header. - lzma_filter *filters_orig = block->filters; - block->filters = filters; - - if (lzma_block_header_size(block) != LZMA_OK) { - block->filters = filters_orig; - return LZMA_PROG_ERROR; - } - - // Check that there's enough output space. The caller has already - // set block->compressed_size to what lzma2_bound() has returned, - // so we can reuse that value. We know that compressed_size is a - // known valid VLI and header_size is a small value so their sum - // will never overflow. - assert(block->compressed_size == lzma2_bound(in_size)); - if (out_size - *out_pos - < block->header_size + block->compressed_size) { - block->filters = filters_orig; - return LZMA_BUF_ERROR; - } - - if (lzma_block_header_encode(block, out + *out_pos) != LZMA_OK) { - block->filters = filters_orig; - return LZMA_PROG_ERROR; - } - - block->filters = filters_orig; - *out_pos += block->header_size; - - // Encode the data using LZMA2 uncompressed chunks. - size_t in_pos = 0; - uint8_t control = 0x01; // Dictionary reset - - while (in_pos < in_size) { - // Control byte: Indicate uncompressed chunk, of which - // the first resets the dictionary. - out[(*out_pos)++] = control; - control = 0x02; // No dictionary reset - - // Size of the uncompressed chunk - const size_t copy_size - = my_min(in_size - in_pos, LZMA2_CHUNK_MAX); - out[(*out_pos)++] = (copy_size - 1) >> 8; - out[(*out_pos)++] = (copy_size - 1) & 0xFF; - - // The actual data - assert(*out_pos + copy_size <= out_size); - memcpy(out + *out_pos, in + in_pos, copy_size); - - in_pos += copy_size; - *out_pos += copy_size; - } - - // End marker - out[(*out_pos)++] = 0x00; - assert(*out_pos <= out_size); - - return LZMA_OK; -} - - -static lzma_ret -block_encode_normal(lzma_block *block, lzma_allocator *allocator, - const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Find out the size of the Block Header. - block->compressed_size = lzma2_bound(in_size); - if (block->compressed_size == 0) - return LZMA_DATA_ERROR; - - block->uncompressed_size = in_size; - return_if_error(lzma_block_header_size(block)); - - // Reserve space for the Block Header and skip it for now. - if (out_size - *out_pos <= block->header_size) - return LZMA_BUF_ERROR; - - const size_t out_start = *out_pos; - *out_pos += block->header_size; - - // Limit out_size so that we stop encoding if the output would grow - // bigger than what uncompressed Block would be. - if (out_size - *out_pos > block->compressed_size) - out_size = *out_pos + block->compressed_size; - - // TODO: In many common cases this could be optimized to use - // significantly less memory. - lzma_next_coder raw_encoder = LZMA_NEXT_CODER_INIT; - lzma_ret ret = lzma_raw_encoder_init( - &raw_encoder, allocator, block->filters); - - if (ret == LZMA_OK) { - size_t in_pos = 0; - ret = raw_encoder.code(raw_encoder.coder, allocator, - in, &in_pos, in_size, out, out_pos, out_size, - LZMA_FINISH); - } - - // NOTE: This needs to be run even if lzma_raw_encoder_init() failed. - lzma_next_end(&raw_encoder, allocator); - - if (ret == LZMA_STREAM_END) { - // Compression was successful. Write the Block Header. - block->compressed_size - = *out_pos - (out_start + block->header_size); - ret = lzma_block_header_encode(block, out + out_start); - if (ret != LZMA_OK) - ret = LZMA_PROG_ERROR; - - } else if (ret == LZMA_OK) { - // Output buffer became full. - ret = LZMA_BUF_ERROR; - } - - // Reset *out_pos if something went wrong. - if (ret != LZMA_OK) - *out_pos = out_start; - - return ret; -} - - -extern LZMA_API(lzma_ret) -lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator, - const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Validate the arguments. - if (block == NULL || (in == NULL && in_size != 0) || out == NULL - || out_pos == NULL || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // The contents of the structure may depend on the version so - // check the version before validating the contents of *block. - if (block->version != 0) - return LZMA_OPTIONS_ERROR; - - if ((unsigned int)(block->check) > LZMA_CHECK_ID_MAX - || block->filters == NULL) - return LZMA_PROG_ERROR; - - if (!lzma_check_is_supported(block->check)) - return LZMA_UNSUPPORTED_CHECK; - - // Size of a Block has to be a multiple of four, so limit the size - // here already. This way we don't need to check it again when adding - // Block Padding. - out_size -= (out_size - *out_pos) & 3; - - // Get the size of the Check field. - const size_t check_size = lzma_check_size(block->check); - assert(check_size != UINT32_MAX); - - // Reserve space for the Check field. - if (out_size - *out_pos <= check_size) - return LZMA_BUF_ERROR; - - out_size -= check_size; - - // Do the actual compression. - const lzma_ret ret = block_encode_normal(block, allocator, - in, in_size, out, out_pos, out_size); - if (ret != LZMA_OK) { - // If the error was something else than output buffer - // becoming full, return the error now. - if (ret != LZMA_BUF_ERROR) - return ret; - - // The data was uncompressible (at least with the options - // given to us) or the output buffer was too small. Use the - // uncompressed chunks of LZMA2 to wrap the data into a valid - // Block. If we haven't been given enough output space, even - // this may fail. - return_if_error(block_encode_uncompressed(block, in, in_size, - out, out_pos, out_size)); - } - - assert(*out_pos <= out_size); - - // Block Padding. No buffer overflow here, because we already adjusted - // out_size so that (out_size - out_start) is a multiple of four. - // Thus, if the buffer is full, the loop body can never run. - for (size_t i = (size_t)(block->compressed_size); i & 3; ++i) { - assert(*out_pos < out_size); - out[(*out_pos)++] = 0x00; - } - - // If there's no Check field, we are done now. - if (check_size > 0) { - // Calculate the integrity check. We reserved space for - // the Check field earlier so we don't need to check for - // available output space here. - lzma_check_state check; - lzma_check_init(&check, block->check); - lzma_check_update(&check, block->check, in, in_size); - lzma_check_finish(&check, block->check); - - memcpy(block->raw_check, check.buffer.u8, check_size); - memcpy(out + *out_pos, check.buffer.u8, check_size); - *out_pos += check_size; - } - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_decoder.c b/Build/source/extra/xz/src/liblzma/common/block_decoder.c deleted file mode 100644 index a3ce6f49500..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_decoder.c +++ /dev/null @@ -1,242 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_decoder.c -/// \brief Decodes .xz Blocks -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "block_decoder.h" -#include "filter_decoder.h" -#include "check.h" - - -struct lzma_coder_s { - enum { - SEQ_CODE, - SEQ_PADDING, - SEQ_CHECK, - } sequence; - - /// The filters in the chain; initialized with lzma_raw_decoder_init(). - lzma_next_coder next; - - /// Decoding options; we also write Compressed Size and Uncompressed - /// Size back to this structure when the decoding has been finished. - lzma_block *block; - - /// Compressed Size calculated while decoding - lzma_vli compressed_size; - - /// Uncompressed Size calculated while decoding - lzma_vli uncompressed_size; - - /// Maximum allowed Compressed Size; this takes into account the - /// size of the Block Header and Check fields when Compressed Size - /// is unknown. - lzma_vli compressed_limit; - - /// Position when reading the Check field - size_t check_pos; - - /// Check of the uncompressed data - lzma_check_state check; -}; - - -static inline bool -update_size(lzma_vli *size, lzma_vli add, lzma_vli limit) -{ - if (limit > LZMA_VLI_MAX) - limit = LZMA_VLI_MAX; - - if (limit < *size || limit - *size < add) - return true; - - *size += add; - - return false; -} - - -static inline bool -is_size_valid(lzma_vli size, lzma_vli reference) -{ - return reference == LZMA_VLI_UNKNOWN || reference == size; -} - - -static lzma_ret -block_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - switch (coder->sequence) { - case SEQ_CODE: { - const size_t in_start = *in_pos; - const size_t out_start = *out_pos; - - const lzma_ret ret = coder->next.code(coder->next.coder, - allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - - const size_t in_used = *in_pos - in_start; - const size_t out_used = *out_pos - out_start; - - // NOTE: We compare to compressed_limit here, which prevents - // the total size of the Block growing past LZMA_VLI_MAX. - if (update_size(&coder->compressed_size, in_used, - coder->compressed_limit) - || update_size(&coder->uncompressed_size, - out_used, - coder->block->uncompressed_size)) - return LZMA_DATA_ERROR; - - lzma_check_update(&coder->check, coder->block->check, - out + out_start, out_used); - - if (ret != LZMA_STREAM_END) - return ret; - - // Compressed and Uncompressed Sizes are now at their final - // values. Verify that they match the values given to us. - if (!is_size_valid(coder->compressed_size, - coder->block->compressed_size) - || !is_size_valid(coder->uncompressed_size, - coder->block->uncompressed_size)) - return LZMA_DATA_ERROR; - - // Copy the values into coder->block. The caller - // may use this information to construct Index. - coder->block->compressed_size = coder->compressed_size; - coder->block->uncompressed_size = coder->uncompressed_size; - - coder->sequence = SEQ_PADDING; - } - - // Fall through - - case SEQ_PADDING: - // Compressed Data is padded to a multiple of four bytes. - while (coder->compressed_size & 3) { - if (*in_pos >= in_size) - return LZMA_OK; - - // We use compressed_size here just get the Padding - // right. The actual Compressed Size was stored to - // coder->block already, and won't be modified by - // us anymore. - ++coder->compressed_size; - - if (in[(*in_pos)++] != 0x00) - return LZMA_DATA_ERROR; - } - - if (coder->block->check == LZMA_CHECK_NONE) - return LZMA_STREAM_END; - - lzma_check_finish(&coder->check, coder->block->check); - coder->sequence = SEQ_CHECK; - - // Fall through - - case SEQ_CHECK: { - const size_t check_size = lzma_check_size(coder->block->check); - lzma_bufcpy(in, in_pos, in_size, coder->block->raw_check, - &coder->check_pos, check_size); - if (coder->check_pos < check_size) - return LZMA_OK; - - // Validate the Check only if we support it. - // coder->check.buffer may be uninitialized - // when the Check ID is not supported. - if (lzma_check_is_supported(coder->block->check) - && memcmp(coder->block->raw_check, - coder->check.buffer.u8, - check_size) != 0) - return LZMA_DATA_ERROR; - - return LZMA_STREAM_END; - } - } - - return LZMA_PROG_ERROR; -} - - -static void -block_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_block_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - lzma_block *block) -{ - lzma_next_coder_init(&lzma_block_decoder_init, next, allocator); - - // Validate the options. lzma_block_unpadded_size() does that for us - // except for Uncompressed Size and filters. Filters are validated - // by the raw decoder. - if (lzma_block_unpadded_size(block) == 0 - || !lzma_vli_is_valid(block->uncompressed_size)) - return LZMA_PROG_ERROR; - - // Allocate and initialize *next->coder if needed. - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &block_decode; - next->end = &block_decoder_end; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Basic initializations - next->coder->sequence = SEQ_CODE; - next->coder->block = block; - next->coder->compressed_size = 0; - next->coder->uncompressed_size = 0; - - // If Compressed Size is not known, we calculate the maximum allowed - // value so that encoded size of the Block (including Block Padding) - // is still a valid VLI and a multiple of four. - next->coder->compressed_limit - = block->compressed_size == LZMA_VLI_UNKNOWN - ? (LZMA_VLI_MAX & ~LZMA_VLI_C(3)) - - block->header_size - - lzma_check_size(block->check) - : block->compressed_size; - - // Initialize the check. It's caller's problem if the Check ID is not - // supported, and the Block decoder cannot verify the Check field. - // Caller can test lzma_check_is_supported(block->check). - next->coder->check_pos = 0; - lzma_check_init(&next->coder->check, block->check); - - // Initialize the filter chain. - return lzma_raw_decoder_init(&next->coder->next, allocator, - block->filters); -} - - -extern LZMA_API(lzma_ret) -lzma_block_decoder(lzma_stream *strm, lzma_block *block) -{ - lzma_next_strm_init(lzma_block_decoder_init, strm, block); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_decoder.h b/Build/source/extra/xz/src/liblzma/common/block_decoder.h deleted file mode 100644 index 7da9df63f76..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_decoder.h +++ /dev/null @@ -1,22 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_decoder.h -/// \brief Decodes .xz Blocks -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_BLOCK_DECODER_H -#define LZMA_BLOCK_DECODER_H - -#include "common.h" - - -extern lzma_ret lzma_block_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, lzma_block *block); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/block_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_encoder.c deleted file mode 100644 index 1eeb502b7f8..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_encoder.c +++ /dev/null @@ -1,217 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_encoder.c -/// \brief Encodes .xz Blocks -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "block_encoder.h" -#include "filter_encoder.h" -#include "check.h" - - -struct lzma_coder_s { - /// The filters in the chain; initialized with lzma_raw_decoder_init(). - lzma_next_coder next; - - /// Encoding options; we also write Unpadded Size, Compressed Size, - /// and Uncompressed Size back to this structure when the encoding - /// has been finished. - lzma_block *block; - - enum { - SEQ_CODE, - SEQ_PADDING, - SEQ_CHECK, - } sequence; - - /// Compressed Size calculated while encoding - lzma_vli compressed_size; - - /// Uncompressed Size calculated while encoding - lzma_vli uncompressed_size; - - /// Position in the Check field - size_t pos; - - /// Check of the uncompressed data - lzma_check_state check; -}; - - -static lzma_ret -block_encode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - // Check that our amount of input stays in proper limits. - if (LZMA_VLI_MAX - coder->uncompressed_size < in_size - *in_pos) - return LZMA_DATA_ERROR; - - switch (coder->sequence) { - case SEQ_CODE: { - const size_t in_start = *in_pos; - const size_t out_start = *out_pos; - - const lzma_ret ret = coder->next.code(coder->next.coder, - allocator, in, in_pos, in_size, - out, out_pos, out_size, action); - - const size_t in_used = *in_pos - in_start; - const size_t out_used = *out_pos - out_start; - - if (COMPRESSED_SIZE_MAX - coder->compressed_size < out_used) - return LZMA_DATA_ERROR; - - coder->compressed_size += out_used; - - // No need to check for overflow because we have already - // checked it at the beginning of this function. - coder->uncompressed_size += in_used; - - lzma_check_update(&coder->check, coder->block->check, - in + in_start, in_used); - - if (ret != LZMA_STREAM_END || action == LZMA_SYNC_FLUSH) - return ret; - - assert(*in_pos == in_size); - assert(action == LZMA_FINISH); - - // Copy the values into coder->block. The caller - // may use this information to construct Index. - coder->block->compressed_size = coder->compressed_size; - coder->block->uncompressed_size = coder->uncompressed_size; - - coder->sequence = SEQ_PADDING; - } - - // Fall through - - case SEQ_PADDING: - // Pad Compressed Data to a multiple of four bytes. We can - // use coder->compressed_size for this since we don't need - // it for anything else anymore. - while (coder->compressed_size & 3) { - if (*out_pos >= out_size) - return LZMA_OK; - - out[*out_pos] = 0x00; - ++*out_pos; - ++coder->compressed_size; - } - - if (coder->block->check == LZMA_CHECK_NONE) - return LZMA_STREAM_END; - - lzma_check_finish(&coder->check, coder->block->check); - - coder->sequence = SEQ_CHECK; - - // Fall through - - case SEQ_CHECK: { - const size_t check_size = lzma_check_size(coder->block->check); - lzma_bufcpy(coder->check.buffer.u8, &coder->pos, check_size, - out, out_pos, out_size); - if (coder->pos < check_size) - return LZMA_OK; - - memcpy(coder->block->raw_check, coder->check.buffer.u8, - check_size); - return LZMA_STREAM_END; - } - } - - return LZMA_PROG_ERROR; -} - - -static void -block_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -block_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters lzma_attribute((__unused__)), - const lzma_filter *reversed_filters) -{ - if (coder->sequence != SEQ_CODE) - return LZMA_PROG_ERROR; - - return lzma_next_filter_update( - &coder->next, allocator, reversed_filters); -} - - -extern lzma_ret -lzma_block_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - lzma_block *block) -{ - lzma_next_coder_init(&lzma_block_encoder_init, next, allocator); - - if (block == NULL) - return LZMA_PROG_ERROR; - - // The contents of the structure may depend on the version so - // check the version first. - if (block->version != 0) - return LZMA_OPTIONS_ERROR; - - // If the Check ID is not supported, we cannot calculate the check and - // thus not create a proper Block. - if ((unsigned int)(block->check) > LZMA_CHECK_ID_MAX) - return LZMA_PROG_ERROR; - - if (!lzma_check_is_supported(block->check)) - return LZMA_UNSUPPORTED_CHECK; - - // Allocate and initialize *next->coder if needed. - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &block_encode; - next->end = &block_encoder_end; - next->update = &block_encoder_update; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Basic initializations - next->coder->sequence = SEQ_CODE; - next->coder->block = block; - next->coder->compressed_size = 0; - next->coder->uncompressed_size = 0; - next->coder->pos = 0; - - // Initialize the check - lzma_check_init(&next->coder->check, block->check); - - // Initialize the requested filters. - return lzma_raw_encoder_init(&next->coder->next, allocator, - block->filters); -} - - -extern LZMA_API(lzma_ret) -lzma_block_encoder(lzma_stream *strm, lzma_block *block) -{ - lzma_next_strm_init(lzma_block_encoder_init, strm, block); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_encoder.h b/Build/source/extra/xz/src/liblzma/common/block_encoder.h deleted file mode 100644 index b9eff0be273..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_encoder.h +++ /dev/null @@ -1,47 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_encoder.h -/// \brief Encodes .xz Blocks -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_BLOCK_ENCODER_H -#define LZMA_BLOCK_ENCODER_H - -#include "common.h" - - -/// \brief Biggest Compressed Size value that the Block encoder supports -/// -/// The maximum size of a single Block is limited by the maximum size of -/// a Stream, which in theory is 2^63 - 3 bytes (i.e. LZMA_VLI_MAX - 3). -/// While the size is really big and no one should hit it in practice, we -/// take it into account in some places anyway to catch some errors e.g. if -/// application passes insanely big value to some function. -/// -/// We could take into account the headers etc. to determine the exact -/// maximum size of the Compressed Data field, but the complexity would give -/// us nothing useful. Instead, limit the size of Compressed Data so that -/// even with biggest possible Block Header and Check fields the total -/// encoded size of the Block stays as a valid VLI. This doesn't guarantee -/// that the size of the Stream doesn't grow too big, but that problem is -/// taken care outside the Block handling code. -/// -/// ~LZMA_VLI_C(3) is to guarantee that if we need padding at the end of -/// the Compressed Data field, it will still stay in the proper limit. -/// -/// This constant is in this file because it is needed in both -/// block_encoder.c and block_buffer_encoder.c. -#define COMPRESSED_SIZE_MAX ((LZMA_VLI_MAX - LZMA_BLOCK_HEADER_SIZE_MAX \ - - LZMA_CHECK_SIZE_MAX) & ~LZMA_VLI_C(3)) - - -extern lzma_ret lzma_block_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, lzma_block *block); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/block_header_decoder.c b/Build/source/extra/xz/src/liblzma/common/block_header_decoder.c deleted file mode 100644 index 2c9573ee204..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_header_decoder.c +++ /dev/null @@ -1,116 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_header_decoder.c -/// \brief Decodes Block Header from .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" -#include "check.h" - - -static void -free_properties(lzma_block *block, lzma_allocator *allocator) -{ - // Free allocated filter options. The last array member is not - // touched after the initialization in the beginning of - // lzma_block_header_decode(), so we don't need to touch that here. - for (size_t i = 0; i < LZMA_FILTERS_MAX; ++i) { - lzma_free(block->filters[i].options, allocator); - block->filters[i].id = LZMA_VLI_UNKNOWN; - block->filters[i].options = NULL; - } - - return; -} - - -extern LZMA_API(lzma_ret) -lzma_block_header_decode(lzma_block *block, - lzma_allocator *allocator, const uint8_t *in) -{ - // NOTE: We consider the header to be corrupt not only when the - // CRC32 doesn't match, but also when variable-length integers - // are invalid or over 63 bits, or if the header is too small - // to contain the claimed information. - - // Initialize the filter options array. This way the caller can - // safely free() the options even if an error occurs in this function. - for (size_t i = 0; i <= LZMA_FILTERS_MAX; ++i) { - block->filters[i].id = LZMA_VLI_UNKNOWN; - block->filters[i].options = NULL; - } - - // Always zero for now. - block->version = 0; - - // Validate Block Header Size and Check type. The caller must have - // already set these, so it is a programming error if this test fails. - if (lzma_block_header_size_decode(in[0]) != block->header_size - || (unsigned int)(block->check) > LZMA_CHECK_ID_MAX) - return LZMA_PROG_ERROR; - - // Exclude the CRC32 field. - const size_t in_size = block->header_size - 4; - - // Verify CRC32 - if (lzma_crc32(in, in_size, 0) != unaligned_read32le(in + in_size)) - return LZMA_DATA_ERROR; - - // Check for unsupported flags. - if (in[1] & 0x3C) - return LZMA_OPTIONS_ERROR; - - // Start after the Block Header Size and Block Flags fields. - size_t in_pos = 2; - - // Compressed Size - if (in[1] & 0x40) { - return_if_error(lzma_vli_decode(&block->compressed_size, - NULL, in, &in_pos, in_size)); - - // Validate Compressed Size. This checks that it isn't zero - // and that the total size of the Block is a valid VLI. - if (lzma_block_unpadded_size(block) == 0) - return LZMA_DATA_ERROR; - } else { - block->compressed_size = LZMA_VLI_UNKNOWN; - } - - // Uncompressed Size - if (in[1] & 0x80) - return_if_error(lzma_vli_decode(&block->uncompressed_size, - NULL, in, &in_pos, in_size)); - else - block->uncompressed_size = LZMA_VLI_UNKNOWN; - - // Filter Flags - const size_t filter_count = (in[1] & 3) + 1; - for (size_t i = 0; i < filter_count; ++i) { - const lzma_ret ret = lzma_filter_flags_decode( - &block->filters[i], allocator, - in, &in_pos, in_size); - if (ret != LZMA_OK) { - free_properties(block, allocator); - return ret; - } - } - - // Padding - while (in_pos < in_size) { - if (in[in_pos++] != 0x00) { - free_properties(block, allocator); - - // Possibly some new field present so use - // LZMA_OPTIONS_ERROR instead of LZMA_DATA_ERROR. - return LZMA_OPTIONS_ERROR; - } - } - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_header_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_header_encoder.c deleted file mode 100644 index 707dd0cb14a..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_header_encoder.c +++ /dev/null @@ -1,132 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_header_encoder.c -/// \brief Encodes Block Header for .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" -#include "check.h" - - -extern LZMA_API(lzma_ret) -lzma_block_header_size(lzma_block *block) -{ - if (block->version != 0) - return LZMA_OPTIONS_ERROR; - - // Block Header Size + Block Flags + CRC32. - uint32_t size = 1 + 1 + 4; - - // Compressed Size - if (block->compressed_size != LZMA_VLI_UNKNOWN) { - const uint32_t add = lzma_vli_size(block->compressed_size); - if (add == 0 || block->compressed_size == 0) - return LZMA_PROG_ERROR; - - size += add; - } - - // Uncompressed Size - if (block->uncompressed_size != LZMA_VLI_UNKNOWN) { - const uint32_t add = lzma_vli_size(block->uncompressed_size); - if (add == 0) - return LZMA_PROG_ERROR; - - size += add; - } - - // List of Filter Flags - if (block->filters == NULL || block->filters[0].id == LZMA_VLI_UNKNOWN) - return LZMA_PROG_ERROR; - - for (size_t i = 0; block->filters[i].id != LZMA_VLI_UNKNOWN; ++i) { - // Don't allow too many filters. - if (i == LZMA_FILTERS_MAX) - return LZMA_PROG_ERROR; - - uint32_t add; - return_if_error(lzma_filter_flags_size(&add, - block->filters + i)); - - size += add; - } - - // Pad to a multiple of four bytes. - block->header_size = (size + 3) & ~UINT32_C(3); - - // NOTE: We don't verify that the encoded size of the Block stays - // within limits. This is because it is possible that we are called - // with exaggerated Compressed Size (e.g. LZMA_VLI_MAX) to reserve - // space for Block Header, and later called again with lower, - // real values. - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_block_header_encode(const lzma_block *block, uint8_t *out) -{ - // Validate everything but filters. - if (lzma_block_unpadded_size(block) == 0 - || !lzma_vli_is_valid(block->uncompressed_size)) - return LZMA_PROG_ERROR; - - // Indicate the size of the buffer _excluding_ the CRC32 field. - const size_t out_size = block->header_size - 4; - - // Store the Block Header Size. - out[0] = out_size / 4; - - // We write Block Flags in pieces. - out[1] = 0x00; - size_t out_pos = 2; - - // Compressed Size - if (block->compressed_size != LZMA_VLI_UNKNOWN) { - return_if_error(lzma_vli_encode(block->compressed_size, NULL, - out, &out_pos, out_size)); - - out[1] |= 0x40; - } - - // Uncompressed Size - if (block->uncompressed_size != LZMA_VLI_UNKNOWN) { - return_if_error(lzma_vli_encode(block->uncompressed_size, NULL, - out, &out_pos, out_size)); - - out[1] |= 0x80; - } - - // Filter Flags - if (block->filters == NULL || block->filters[0].id == LZMA_VLI_UNKNOWN) - return LZMA_PROG_ERROR; - - size_t filter_count = 0; - do { - // There can be a maximum of four filters. - if (filter_count == LZMA_FILTERS_MAX) - return LZMA_PROG_ERROR; - - return_if_error(lzma_filter_flags_encode( - block->filters + filter_count, - out, &out_pos, out_size)); - - } while (block->filters[++filter_count].id != LZMA_VLI_UNKNOWN); - - out[1] |= filter_count - 1; - - // Padding - memzero(out + out_pos, out_size - out_pos); - - // CRC32 - unaligned_write32le(out + out_size, lzma_crc32(out, out_size, 0)); - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/block_util.c b/Build/source/extra/xz/src/liblzma/common/block_util.c deleted file mode 100644 index 62c934547c9..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/block_util.c +++ /dev/null @@ -1,90 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file block_header.c -/// \brief Utility functions to handle lzma_block -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" -#include "index.h" - - -extern LZMA_API(lzma_ret) -lzma_block_compressed_size(lzma_block *block, lzma_vli unpadded_size) -{ - // Validate everything but Uncompressed Size and filters. - if (lzma_block_unpadded_size(block) == 0) - return LZMA_PROG_ERROR; - - const uint32_t container_size = block->header_size - + lzma_check_size(block->check); - - // Validate that Compressed Size will be greater than zero. - if (unpadded_size <= container_size) - return LZMA_DATA_ERROR; - - // Calculate what Compressed Size is supposed to be. - // If Compressed Size was present in Block Header, - // compare that the new value matches it. - const lzma_vli compressed_size = unpadded_size - container_size; - if (block->compressed_size != LZMA_VLI_UNKNOWN - && block->compressed_size != compressed_size) - return LZMA_DATA_ERROR; - - block->compressed_size = compressed_size; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_vli) -lzma_block_unpadded_size(const lzma_block *block) -{ - // Validate the values that we are interested in i.e. all but - // Uncompressed Size and the filters. - // - // NOTE: This function is used for validation too, so it is - // essential that these checks are always done even if - // Compressed Size is unknown. - if (block == NULL || block->version != 0 - || block->header_size < LZMA_BLOCK_HEADER_SIZE_MIN - || block->header_size > LZMA_BLOCK_HEADER_SIZE_MAX - || (block->header_size & 3) - || !lzma_vli_is_valid(block->compressed_size) - || block->compressed_size == 0 - || (unsigned int)(block->check) > LZMA_CHECK_ID_MAX) - return 0; - - // If Compressed Size is unknown, return that we cannot know - // size of the Block either. - if (block->compressed_size == LZMA_VLI_UNKNOWN) - return LZMA_VLI_UNKNOWN; - - // Calculate Unpadded Size and validate it. - const lzma_vli unpadded_size = block->compressed_size - + block->header_size - + lzma_check_size(block->check); - - assert(unpadded_size >= UNPADDED_SIZE_MIN); - if (unpadded_size > UNPADDED_SIZE_MAX) - return 0; - - return unpadded_size; -} - - -extern LZMA_API(lzma_vli) -lzma_block_total_size(const lzma_block *block) -{ - lzma_vli unpadded_size = lzma_block_unpadded_size(block); - - if (unpadded_size != LZMA_VLI_UNKNOWN) - unpadded_size = vli_ceil4(unpadded_size); - - return unpadded_size; -} diff --git a/Build/source/extra/xz/src/liblzma/common/common.c b/Build/source/extra/xz/src/liblzma/common/common.c deleted file mode 100644 index b9e38602736..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/common.c +++ /dev/null @@ -1,388 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file common.h -/// \brief Common functions needed in many places in liblzma -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -///////////// -// Version // -///////////// - -extern LZMA_API(uint32_t) -lzma_version_number(void) -{ - return LZMA_VERSION; -} - - -extern LZMA_API(const char *) -lzma_version_string(void) -{ - return LZMA_VERSION_STRING; -} - - -/////////////////////// -// Memory allocation // -/////////////////////// - -extern void * lzma_attribute((__malloc__)) lzma_attr_alloc_size(1) -lzma_alloc(size_t size, lzma_allocator *allocator) -{ - // Some malloc() variants return NULL if called with size == 0. - if (size == 0) - size = 1; - - void *ptr; - - if (allocator != NULL && allocator->alloc != NULL) - ptr = allocator->alloc(allocator->opaque, 1, size); - else - ptr = malloc(size); - - return ptr; -} - - -extern void -lzma_free(void *ptr, lzma_allocator *allocator) -{ - if (allocator != NULL && allocator->free != NULL) - allocator->free(allocator->opaque, ptr); - else - free(ptr); - - return; -} - - -////////// -// Misc // -////////// - -extern size_t -lzma_bufcpy(const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size) -{ - const size_t in_avail = in_size - *in_pos; - const size_t out_avail = out_size - *out_pos; - const size_t copy_size = my_min(in_avail, out_avail); - - memcpy(out + *out_pos, in + *in_pos, copy_size); - - *in_pos += copy_size; - *out_pos += copy_size; - - return copy_size; -} - - -extern lzma_ret -lzma_next_filter_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - lzma_next_coder_init(filters[0].init, next, allocator); - next->id = filters[0].id; - return filters[0].init == NULL - ? LZMA_OK : filters[0].init(next, allocator, filters); -} - - -extern lzma_ret -lzma_next_filter_update(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *reversed_filters) -{ - // Check that the application isn't trying to change the Filter ID. - // End of filters is indicated with LZMA_VLI_UNKNOWN in both - // reversed_filters[0].id and next->id. - if (reversed_filters[0].id != next->id) - return LZMA_PROG_ERROR; - - if (reversed_filters[0].id == LZMA_VLI_UNKNOWN) - return LZMA_OK; - - assert(next->update != NULL); - return next->update(next->coder, allocator, NULL, reversed_filters); -} - - -extern void -lzma_next_end(lzma_next_coder *next, lzma_allocator *allocator) -{ - if (next->init != (uintptr_t)(NULL)) { - // To avoid tiny end functions that simply call - // lzma_free(coder, allocator), we allow leaving next->end - // NULL and call lzma_free() here. - if (next->end != NULL) - next->end(next->coder, allocator); - else - lzma_free(next->coder, allocator); - - // Reset the variables so the we don't accidentally think - // that it is an already initialized coder. - *next = LZMA_NEXT_CODER_INIT; - } - - return; -} - - -////////////////////////////////////// -// External to internal API wrapper // -////////////////////////////////////// - -extern lzma_ret -lzma_strm_init(lzma_stream *strm) -{ - if (strm == NULL) - return LZMA_PROG_ERROR; - - if (strm->internal == NULL) { - strm->internal = lzma_alloc(sizeof(lzma_internal), - strm->allocator); - if (strm->internal == NULL) - return LZMA_MEM_ERROR; - - strm->internal->next = LZMA_NEXT_CODER_INIT; - } - - strm->internal->supported_actions[LZMA_RUN] = false; - strm->internal->supported_actions[LZMA_SYNC_FLUSH] = false; - strm->internal->supported_actions[LZMA_FULL_FLUSH] = false; - strm->internal->supported_actions[LZMA_FINISH] = false; - strm->internal->sequence = ISEQ_RUN; - strm->internal->allow_buf_error = false; - - strm->total_in = 0; - strm->total_out = 0; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_code(lzma_stream *strm, lzma_action action) -{ - // Sanity checks - if ((strm->next_in == NULL && strm->avail_in != 0) - || (strm->next_out == NULL && strm->avail_out != 0) - || strm->internal == NULL - || strm->internal->next.code == NULL - || (unsigned int)(action) > LZMA_FINISH - || !strm->internal->supported_actions[action]) - return LZMA_PROG_ERROR; - - // Check if unsupported members have been set to non-zero or non-NULL, - // which would indicate that some new feature is wanted. - if (strm->reserved_ptr1 != NULL - || strm->reserved_ptr2 != NULL - || strm->reserved_ptr3 != NULL - || strm->reserved_ptr4 != NULL - || strm->reserved_int1 != 0 - || strm->reserved_int2 != 0 - || strm->reserved_int3 != 0 - || strm->reserved_int4 != 0 - || strm->reserved_enum1 != LZMA_RESERVED_ENUM - || strm->reserved_enum2 != LZMA_RESERVED_ENUM) - return LZMA_OPTIONS_ERROR; - - switch (strm->internal->sequence) { - case ISEQ_RUN: - switch (action) { - case LZMA_RUN: - break; - - case LZMA_SYNC_FLUSH: - strm->internal->sequence = ISEQ_SYNC_FLUSH; - break; - - case LZMA_FULL_FLUSH: - strm->internal->sequence = ISEQ_FULL_FLUSH; - break; - - case LZMA_FINISH: - strm->internal->sequence = ISEQ_FINISH; - break; - } - - break; - - case ISEQ_SYNC_FLUSH: - // The same action must be used until we return - // LZMA_STREAM_END, and the amount of input must not change. - if (action != LZMA_SYNC_FLUSH - || strm->internal->avail_in != strm->avail_in) - return LZMA_PROG_ERROR; - - break; - - case ISEQ_FULL_FLUSH: - if (action != LZMA_FULL_FLUSH - || strm->internal->avail_in != strm->avail_in) - return LZMA_PROG_ERROR; - - break; - - case ISEQ_FINISH: - if (action != LZMA_FINISH - || strm->internal->avail_in != strm->avail_in) - return LZMA_PROG_ERROR; - - break; - - case ISEQ_END: - return LZMA_STREAM_END; - - case ISEQ_ERROR: - default: - return LZMA_PROG_ERROR; - } - - size_t in_pos = 0; - size_t out_pos = 0; - lzma_ret ret = strm->internal->next.code( - strm->internal->next.coder, strm->allocator, - strm->next_in, &in_pos, strm->avail_in, - strm->next_out, &out_pos, strm->avail_out, action); - - strm->next_in += in_pos; - strm->avail_in -= in_pos; - strm->total_in += in_pos; - - strm->next_out += out_pos; - strm->avail_out -= out_pos; - strm->total_out += out_pos; - - strm->internal->avail_in = strm->avail_in; - - switch (ret) { - case LZMA_OK: - // Don't return LZMA_BUF_ERROR when it happens the first time. - // This is to avoid returning LZMA_BUF_ERROR when avail_out - // was zero but still there was no more data left to written - // to next_out. - if (out_pos == 0 && in_pos == 0) { - if (strm->internal->allow_buf_error) - ret = LZMA_BUF_ERROR; - else - strm->internal->allow_buf_error = true; - } else { - strm->internal->allow_buf_error = false; - } - break; - - case LZMA_STREAM_END: - if (strm->internal->sequence == ISEQ_SYNC_FLUSH - || strm->internal->sequence == ISEQ_FULL_FLUSH) - strm->internal->sequence = ISEQ_RUN; - else - strm->internal->sequence = ISEQ_END; - - // Fall through - - case LZMA_NO_CHECK: - case LZMA_UNSUPPORTED_CHECK: - case LZMA_GET_CHECK: - case LZMA_MEMLIMIT_ERROR: - // Something else than LZMA_OK, but not a fatal error, - // that is, coding may be continued (except if ISEQ_END). - strm->internal->allow_buf_error = false; - break; - - default: - // All the other errors are fatal; coding cannot be continued. - assert(ret != LZMA_BUF_ERROR); - strm->internal->sequence = ISEQ_ERROR; - break; - } - - return ret; -} - - -extern LZMA_API(void) -lzma_end(lzma_stream *strm) -{ - if (strm != NULL && strm->internal != NULL) { - lzma_next_end(&strm->internal->next, strm->allocator); - lzma_free(strm->internal, strm->allocator); - strm->internal = NULL; - } - - return; -} - - -extern LZMA_API(lzma_check) -lzma_get_check(const lzma_stream *strm) -{ - // Return LZMA_CHECK_NONE if we cannot know the check type. - // It's a bug in the application if this happens. - if (strm->internal->next.get_check == NULL) - return LZMA_CHECK_NONE; - - return strm->internal->next.get_check(strm->internal->next.coder); -} - - -extern LZMA_API(uint64_t) -lzma_memusage(const lzma_stream *strm) -{ - uint64_t memusage; - uint64_t old_memlimit; - - if (strm == NULL || strm->internal == NULL - || strm->internal->next.memconfig == NULL - || strm->internal->next.memconfig( - strm->internal->next.coder, - &memusage, &old_memlimit, 0) != LZMA_OK) - return 0; - - return memusage; -} - - -extern LZMA_API(uint64_t) -lzma_memlimit_get(const lzma_stream *strm) -{ - uint64_t old_memlimit; - uint64_t memusage; - - if (strm == NULL || strm->internal == NULL - || strm->internal->next.memconfig == NULL - || strm->internal->next.memconfig( - strm->internal->next.coder, - &memusage, &old_memlimit, 0) != LZMA_OK) - return 0; - - return old_memlimit; -} - - -extern LZMA_API(lzma_ret) -lzma_memlimit_set(lzma_stream *strm, uint64_t new_memlimit) -{ - // Dummy variables to simplify memconfig functions - uint64_t old_memlimit; - uint64_t memusage; - - if (strm == NULL || strm->internal == NULL - || strm->internal->next.memconfig == NULL) - return LZMA_PROG_ERROR; - - if (new_memlimit != 0 && new_memlimit < LZMA_MEMUSAGE_BASE) - return LZMA_MEMLIMIT_ERROR; - - return strm->internal->next.memconfig(strm->internal->next.coder, - &memusage, &old_memlimit, new_memlimit); -} diff --git a/Build/source/extra/xz/src/liblzma/common/common.h b/Build/source/extra/xz/src/liblzma/common/common.h deleted file mode 100644 index 45aba4f06b2..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/common.h +++ /dev/null @@ -1,284 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file common.h -/// \brief Definitions common to the whole liblzma library -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_COMMON_H -#define LZMA_COMMON_H - -#include "sysdefs.h" -#include "mythread.h" -#include "tuklib_integer.h" - -#if defined(_WIN32) || defined(__CYGWIN__) -# ifdef DLL_EXPORT -# define LZMA_API_EXPORT __declspec(dllexport) -# else -# define LZMA_API_EXPORT -# endif -// Don't use ifdef or defined() below. -#elif HAVE_VISIBILITY -# define LZMA_API_EXPORT __attribute__((__visibility__("default"))) -#else -# define LZMA_API_EXPORT -#endif - -#define LZMA_API(type) LZMA_API_EXPORT type LZMA_API_CALL - -#include "lzma.h" - -// These allow helping the compiler in some often-executed branches, whose -// result is almost always the same. -#ifdef __GNUC__ -# define likely(expr) __builtin_expect(expr, true) -# define unlikely(expr) __builtin_expect(expr, false) -#else -# define likely(expr) (expr) -# define unlikely(expr) (expr) -#endif - - -/// Size of temporary buffers needed in some filters -#define LZMA_BUFFER_SIZE 4096 - - -/// Starting value for memory usage estimates. Instead of calculating size -/// of _every_ structure and taking into account malloc() overhead etc., we -/// add a base size to all memory usage estimates. It's not very accurate -/// but should be easily good enough. -#define LZMA_MEMUSAGE_BASE (UINT64_C(1) << 15) - -/// Start of internal Filter ID space. These IDs must never be used -/// in Streams. -#define LZMA_FILTER_RESERVED_START (LZMA_VLI_C(1) << 62) - - -/// Supported flags that can be passed to lzma_stream_decoder() -/// or lzma_auto_decoder(). -#define LZMA_SUPPORTED_FLAGS \ - ( LZMA_TELL_NO_CHECK \ - | LZMA_TELL_UNSUPPORTED_CHECK \ - | LZMA_TELL_ANY_CHECK \ - | LZMA_CONCATENATED ) - - -/// Type of encoder/decoder specific data; the actual structure is defined -/// differently in different coders. -typedef struct lzma_coder_s lzma_coder; - -typedef struct lzma_next_coder_s lzma_next_coder; - -typedef struct lzma_filter_info_s lzma_filter_info; - - -/// Type of a function used to initialize a filter encoder or decoder -typedef lzma_ret (*lzma_init_function)( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters); - -/// Type of a function to do some kind of coding work (filters, Stream, -/// Block encoders/decoders etc.). Some special coders use don't use both -/// input and output buffers, but for simplicity they still use this same -/// function prototype. -typedef lzma_ret (*lzma_code_function)( - lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - lzma_action action); - -/// Type of a function to free the memory allocated for the coder -typedef void (*lzma_end_function)( - lzma_coder *coder, lzma_allocator *allocator); - - -/// Raw coder validates and converts an array of lzma_filter structures to -/// an array of lzma_filter_info structures. This array is used with -/// lzma_next_filter_init to initialize the filter chain. -struct lzma_filter_info_s { - /// Filter ID. This is used only by the encoder - /// with lzma_filters_update(). - lzma_vli id; - - /// Pointer to function used to initialize the filter. - /// This is NULL to indicate end of array. - lzma_init_function init; - - /// Pointer to filter's options structure - void *options; -}; - - -/// Hold data and function pointers of the next filter in the chain. -struct lzma_next_coder_s { - /// Pointer to coder-specific data - lzma_coder *coder; - - /// Filter ID. This is LZMA_VLI_UNKNOWN when this structure doesn't - /// point to a filter coder. - lzma_vli id; - - /// "Pointer" to init function. This is never called here. - /// We need only to detect if we are initializing a coder - /// that was allocated earlier. See lzma_next_coder_init and - /// lzma_next_strm_init macros in this file. - uintptr_t init; - - /// Pointer to function to do the actual coding - lzma_code_function code; - - /// Pointer to function to free lzma_next_coder.coder. This can - /// be NULL; in that case, lzma_free is called to free - /// lzma_next_coder.coder. - lzma_end_function end; - - /// Pointer to function to return the type of the integrity check. - /// Most coders won't support this. - lzma_check (*get_check)(const lzma_coder *coder); - - /// Pointer to function to get and/or change the memory usage limit. - /// If new_memlimit == 0, the limit is not changed. - lzma_ret (*memconfig)(lzma_coder *coder, uint64_t *memusage, - uint64_t *old_memlimit, uint64_t new_memlimit); - - /// Update the filter-specific options or the whole filter chain - /// in the encoder. - lzma_ret (*update)(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters, - const lzma_filter *reversed_filters); -}; - - -/// Macro to initialize lzma_next_coder structure -#define LZMA_NEXT_CODER_INIT \ - (lzma_next_coder){ \ - .coder = NULL, \ - .init = (uintptr_t)(NULL), \ - .id = LZMA_VLI_UNKNOWN, \ - .code = NULL, \ - .end = NULL, \ - .get_check = NULL, \ - .memconfig = NULL, \ - .update = NULL, \ - } - - -/// Internal data for lzma_strm_init, lzma_code, and lzma_end. A pointer to -/// this is stored in lzma_stream. -struct lzma_internal_s { - /// The actual coder that should do something useful - lzma_next_coder next; - - /// Track the state of the coder. This is used to validate arguments - /// so that the actual coders can rely on e.g. that LZMA_SYNC_FLUSH - /// is used on every call to lzma_code until next.code has returned - /// LZMA_STREAM_END. - enum { - ISEQ_RUN, - ISEQ_SYNC_FLUSH, - ISEQ_FULL_FLUSH, - ISEQ_FINISH, - ISEQ_END, - ISEQ_ERROR, - } sequence; - - /// A copy of lzma_stream avail_in. This is used to verify that the - /// amount of input doesn't change once e.g. LZMA_FINISH has been - /// used. - size_t avail_in; - - /// Indicates which lzma_action values are allowed by next.code. - bool supported_actions[4]; - - /// If true, lzma_code will return LZMA_BUF_ERROR if no progress was - /// made (no input consumed and no output produced by next.code). - bool allow_buf_error; -}; - - -/// Allocates memory -extern void *lzma_alloc(size_t size, lzma_allocator *allocator) - lzma_attribute((__malloc__)) lzma_attr_alloc_size(1); - -/// Frees memory -extern void lzma_free(void *ptr, lzma_allocator *allocator); - - -/// Allocates strm->internal if it is NULL, and initializes *strm and -/// strm->internal. This function is only called via lzma_next_strm_init macro. -extern lzma_ret lzma_strm_init(lzma_stream *strm); - -/// Initializes the next filter in the chain, if any. This takes care of -/// freeing the memory of previously initialized filter if it is different -/// than the filter being initialized now. This way the actual filter -/// initialization functions don't need to use lzma_next_coder_init macro. -extern lzma_ret lzma_next_filter_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -/// Update the next filter in the chain, if any. This checks that -/// the application is not trying to change the Filter IDs. -extern lzma_ret lzma_next_filter_update( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *reversed_filters); - -/// Frees the memory allocated for next->coder either using next->end or, -/// if next->end is NULL, using lzma_free. -extern void lzma_next_end(lzma_next_coder *next, lzma_allocator *allocator); - - -/// Copy as much data as possible from in[] to out[] and update *in_pos -/// and *out_pos accordingly. Returns the number of bytes copied. -extern size_t lzma_bufcpy(const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size); - - -/// \brief Return if expression doesn't evaluate to LZMA_OK -/// -/// There are several situations where we want to return immediately -/// with the value of expr if it isn't LZMA_OK. This macro shortens -/// the code a little. -#define return_if_error(expr) \ -do { \ - const lzma_ret ret_ = (expr); \ - if (ret_ != LZMA_OK) \ - return ret_; \ -} while (0) - - -/// If next isn't already initialized, free the previous coder. Then mark -/// that next is _possibly_ initialized for the coder using this macro. -/// "Possibly" means that if e.g. allocation of next->coder fails, the -/// structure isn't actually initialized for this coder, but leaving -/// next->init to func is still OK. -#define lzma_next_coder_init(func, next, allocator) \ -do { \ - if ((uintptr_t)(func) != (next)->init) \ - lzma_next_end(next, allocator); \ - (next)->init = (uintptr_t)(func); \ -} while (0) - - -/// Initializes lzma_strm and calls func() to initialize strm->internal->next. -/// (The function being called will use lzma_next_coder_init()). If -/// initialization fails, memory that wasn't freed by func() is freed -/// along strm->internal. -#define lzma_next_strm_init(func, strm, ...) \ -do { \ - return_if_error(lzma_strm_init(strm)); \ - const lzma_ret ret_ = func(&(strm)->internal->next, \ - (strm)->allocator, __VA_ARGS__); \ - if (ret_ != LZMA_OK) { \ - lzma_end(strm); \ - return ret_; \ - } \ -} while (0) - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/easy_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/easy_buffer_encoder.c deleted file mode 100644 index c4be34ccfa2..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_buffer_encoder.c +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_buffer_encoder.c -/// \brief Easy single-call .xz Stream encoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "easy_preset.h" - - -extern LZMA_API(lzma_ret) -lzma_easy_buffer_encode(uint32_t preset, lzma_check check, - lzma_allocator *allocator, const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - lzma_options_easy opt_easy; - if (lzma_easy_preset(&opt_easy, preset)) - return LZMA_OPTIONS_ERROR; - - return lzma_stream_buffer_encode(opt_easy.filters, check, - allocator, in, in_size, out, out_pos, out_size); -} diff --git a/Build/source/extra/xz/src/liblzma/common/easy_decoder_memusage.c b/Build/source/extra/xz/src/liblzma/common/easy_decoder_memusage.c deleted file mode 100644 index 20bcd5b7175..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_decoder_memusage.c +++ /dev/null @@ -1,24 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_decoder_memusage.c -/// \brief Decoder memory usage calculation to match easy encoder presets -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "easy_preset.h" - - -extern LZMA_API(uint64_t) -lzma_easy_decoder_memusage(uint32_t preset) -{ - lzma_options_easy opt_easy; - if (lzma_easy_preset(&opt_easy, preset)) - return UINT32_MAX; - - return lzma_raw_decoder_memusage(opt_easy.filters); -} diff --git a/Build/source/extra/xz/src/liblzma/common/easy_encoder.c b/Build/source/extra/xz/src/liblzma/common/easy_encoder.c deleted file mode 100644 index d13ccd7351f..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_encoder.c +++ /dev/null @@ -1,25 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_encoder.c -/// \brief Easy .xz Stream encoder initialization -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "easy_preset.h" -#include "stream_encoder.h" - - -extern LZMA_API(lzma_ret) -lzma_easy_encoder(lzma_stream *strm, uint32_t preset, lzma_check check) -{ - lzma_options_easy opt_easy; - if (lzma_easy_preset(&opt_easy, preset)) - return LZMA_OPTIONS_ERROR; - - return lzma_stream_encoder(strm, opt_easy.filters, check); -} diff --git a/Build/source/extra/xz/src/liblzma/common/easy_encoder_memusage.c b/Build/source/extra/xz/src/liblzma/common/easy_encoder_memusage.c deleted file mode 100644 index e9105758423..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_encoder_memusage.c +++ /dev/null @@ -1,24 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_encoder_memusage.c -/// \brief Easy .xz Stream encoder memory usage calculation -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "easy_preset.h" - - -extern LZMA_API(uint64_t) -lzma_easy_encoder_memusage(uint32_t preset) -{ - lzma_options_easy opt_easy; - if (lzma_easy_preset(&opt_easy, preset)) - return UINT32_MAX; - - return lzma_raw_encoder_memusage(opt_easy.filters); -} diff --git a/Build/source/extra/xz/src/liblzma/common/easy_preset.c b/Build/source/extra/xz/src/liblzma/common/easy_preset.c deleted file mode 100644 index 2f9859860ad..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_preset.c +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_preset.c -/// \brief Preset handling for easy encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "easy_preset.h" - - -extern bool -lzma_easy_preset(lzma_options_easy *opt_easy, uint32_t preset) -{ - if (lzma_lzma_preset(&opt_easy->opt_lzma, preset)) - return true; - - opt_easy->filters[0].id = LZMA_FILTER_LZMA2; - opt_easy->filters[0].options = &opt_easy->opt_lzma; - opt_easy->filters[1].id = LZMA_VLI_UNKNOWN; - - return false; -} diff --git a/Build/source/extra/xz/src/liblzma/common/easy_preset.h b/Build/source/extra/xz/src/liblzma/common/easy_preset.h deleted file mode 100644 index 382ade89406..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/easy_preset.h +++ /dev/null @@ -1,32 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file easy_preset.h -/// \brief Preset handling for easy encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -typedef struct { - /// We need to keep the filters array available in case - /// LZMA_FULL_FLUSH is used. - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - - /// Options for LZMA2 - lzma_options_lzma opt_lzma; - - // Options for more filters can be added later, so this struct - // is not ready to be put into the public API. - -} lzma_options_easy; - - -/// Set *easy to the settings given by the preset. Returns true on error, -/// false on success. -extern bool lzma_easy_preset(lzma_options_easy *easy, uint32_t preset); diff --git a/Build/source/extra/xz/src/liblzma/common/filter_buffer_decoder.c b/Build/source/extra/xz/src/liblzma/common/filter_buffer_decoder.c deleted file mode 100644 index 2d35ef8e0af..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_buffer_decoder.c +++ /dev/null @@ -1,87 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_buffer_decoder.c -/// \brief Single-call raw decoding -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_decoder.h" - - -extern LZMA_API(lzma_ret) -lzma_raw_buffer_decode(const lzma_filter *filters, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Validate what isn't validated later in filter_common.c. - if (in == NULL || in_pos == NULL || *in_pos > in_size || out == NULL - || out_pos == NULL || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // Initialize the decoer. - lzma_next_coder next = LZMA_NEXT_CODER_INIT; - return_if_error(lzma_raw_decoder_init(&next, allocator, filters)); - - // Store the positions so that we can restore them if something - // goes wrong. - const size_t in_start = *in_pos; - const size_t out_start = *out_pos; - - // Do the actual decoding and free decoder's memory. - lzma_ret ret = next.code(next.coder, allocator, in, in_pos, in_size, - out, out_pos, out_size, LZMA_FINISH); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - if (ret == LZMA_OK) { - // Either the input was truncated or the - // output buffer was too small. - assert(*in_pos == in_size || *out_pos == out_size); - - if (*in_pos != in_size) { - // Since input wasn't consumed completely, - // the output buffer became full and is - // too small. - ret = LZMA_BUF_ERROR; - - } else if (*out_pos != out_size) { - // Since output didn't became full, the input - // has to be truncated. - ret = LZMA_DATA_ERROR; - - } else { - // All the input was consumed and output - // buffer is full. Now we don't immediately - // know the reason for the error. Try - // decoding one more byte. If it succeeds, - // then the output buffer was too small. If - // we cannot get a new output byte, the input - // is truncated. - uint8_t tmp[1]; - size_t tmp_pos = 0; - (void)next.code(next.coder, allocator, - in, in_pos, in_size, - tmp, &tmp_pos, 1, LZMA_FINISH); - - if (tmp_pos == 1) - ret = LZMA_BUF_ERROR; - else - ret = LZMA_DATA_ERROR; - } - } - - // Restore the positions. - *in_pos = in_start; - *out_pos = out_start; - } - - lzma_next_end(&next, allocator); - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/filter_buffer_encoder.c deleted file mode 100644 index 646e1b30374..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_buffer_encoder.c +++ /dev/null @@ -1,54 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_buffer_encoder.c -/// \brief Single-call raw encoding -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_encoder.h" - - -extern LZMA_API(lzma_ret) -lzma_raw_buffer_encode(const lzma_filter *filters, lzma_allocator *allocator, - const uint8_t *in, size_t in_size, uint8_t *out, - size_t *out_pos, size_t out_size) -{ - // Validate what isn't validated later in filter_common.c. - if ((in == NULL && in_size != 0) || out == NULL - || out_pos == NULL || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // Initialize the encoder - lzma_next_coder next = LZMA_NEXT_CODER_INIT; - return_if_error(lzma_raw_encoder_init(&next, allocator, filters)); - - // Store the output position so that we can restore it if - // something goes wrong. - const size_t out_start = *out_pos; - - // Do the actual encoding and free coder's memory. - size_t in_pos = 0; - lzma_ret ret = next.code(next.coder, allocator, in, &in_pos, in_size, - out, out_pos, out_size, LZMA_FINISH); - lzma_next_end(&next, allocator); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - if (ret == LZMA_OK) { - // Output buffer was too small. - assert(*out_pos == out_size); - ret = LZMA_BUF_ERROR; - } - - // Restore the output position. - *out_pos = out_start; - } - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_common.c b/Build/source/extra/xz/src/liblzma/common/filter_common.c deleted file mode 100644 index 7c95b05f2a3..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_common.c +++ /dev/null @@ -1,337 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_common.c -/// \brief Filter-specific stuff common for both encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_common.h" - - -static const struct { - /// Filter ID - lzma_vli id; - - /// Size of the filter-specific options structure - size_t options_size; - - /// True if it is OK to use this filter as non-last filter in - /// the chain. - bool non_last_ok; - - /// True if it is OK to use this filter as the last filter in - /// the chain. - bool last_ok; - - /// True if the filter may change the size of the data (that is, the - /// amount of encoded output can be different than the amount of - /// uncompressed input). - bool changes_size; - -} features[] = { -#if defined (HAVE_ENCODER_LZMA1) || defined(HAVE_DECODER_LZMA1) - { - .id = LZMA_FILTER_LZMA1, - .options_size = sizeof(lzma_options_lzma), - .non_last_ok = false, - .last_ok = true, - .changes_size = true, - }, -#endif -#if defined(HAVE_ENCODER_LZMA2) || defined(HAVE_DECODER_LZMA2) - { - .id = LZMA_FILTER_LZMA2, - .options_size = sizeof(lzma_options_lzma), - .non_last_ok = false, - .last_ok = true, - .changes_size = true, - }, -#endif -#if defined(HAVE_ENCODER_X86) || defined(HAVE_DECODER_X86) - { - .id = LZMA_FILTER_X86, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_POWERPC) || defined(HAVE_DECODER_POWERPC) - { - .id = LZMA_FILTER_POWERPC, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_IA64) || defined(HAVE_DECODER_IA64) - { - .id = LZMA_FILTER_IA64, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_ARM) || defined(HAVE_DECODER_ARM) - { - .id = LZMA_FILTER_ARM, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_ARMTHUMB) || defined(HAVE_DECODER_ARMTHUMB) - { - .id = LZMA_FILTER_ARMTHUMB, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_SPARC) || defined(HAVE_DECODER_SPARC) - { - .id = LZMA_FILTER_SPARC, - .options_size = sizeof(lzma_options_bcj), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif -#if defined(HAVE_ENCODER_DELTA) || defined(HAVE_DECODER_DELTA) - { - .id = LZMA_FILTER_DELTA, - .options_size = sizeof(lzma_options_delta), - .non_last_ok = true, - .last_ok = false, - .changes_size = false, - }, -#endif - { - .id = LZMA_VLI_UNKNOWN - } -}; - - -extern LZMA_API(lzma_ret) -lzma_filters_copy(const lzma_filter *src, lzma_filter *dest, - lzma_allocator *allocator) -{ - if (src == NULL || dest == NULL) - return LZMA_PROG_ERROR; - - lzma_ret ret; - size_t i; - for (i = 0; src[i].id != LZMA_VLI_UNKNOWN; ++i) { - // There must be a maximum of four filters plus - // the array terminator. - if (i == LZMA_FILTERS_MAX) { - ret = LZMA_OPTIONS_ERROR; - goto error; - } - - dest[i].id = src[i].id; - - if (src[i].options == NULL) { - dest[i].options = NULL; - } else { - // See if the filter is supported only when the - // options is not NULL. This might be convenient - // sometimes if the app is actually copying only - // a partial filter chain with a place holder ID. - // - // When options is not NULL, the Filter ID must be - // supported by us, because otherwise we don't know - // how big the options are. - size_t j; - for (j = 0; src[i].id != features[j].id; ++j) { - if (features[j].id == LZMA_VLI_UNKNOWN) { - ret = LZMA_OPTIONS_ERROR; - goto error; - } - } - - // Allocate and copy the options. - dest[i].options = lzma_alloc(features[j].options_size, - allocator); - if (dest[i].options == NULL) { - ret = LZMA_MEM_ERROR; - goto error; - } - - memcpy(dest[i].options, src[i].options, - features[j].options_size); - } - } - - // Terminate the filter array. - assert(i <= LZMA_FILTERS_MAX + 1); - dest[i].id = LZMA_VLI_UNKNOWN; - dest[i].options = NULL; - - return LZMA_OK; - -error: - // Free the options which we have already allocated. - while (i-- > 0) { - lzma_free(dest[i].options, allocator); - dest[i].options = NULL; - } - - return ret; -} - - -static lzma_ret -validate_chain(const lzma_filter *filters, size_t *count) -{ - // There must be at least one filter. - if (filters == NULL || filters[0].id == LZMA_VLI_UNKNOWN) - return LZMA_PROG_ERROR; - - // Number of non-last filters that may change the size of the data - // significantly (that is, more than 1-2 % or so). - size_t changes_size_count = 0; - - // True if it is OK to add a new filter after the current filter. - bool non_last_ok = true; - - // True if the last filter in the given chain is actually usable as - // the last filter. Only filters that support embedding End of Payload - // Marker can be used as the last filter in the chain. - bool last_ok = false; - - size_t i = 0; - do { - size_t j; - for (j = 0; filters[i].id != features[j].id; ++j) - if (features[j].id == LZMA_VLI_UNKNOWN) - return LZMA_OPTIONS_ERROR; - - // If the previous filter in the chain cannot be a non-last - // filter, the chain is invalid. - if (!non_last_ok) - return LZMA_OPTIONS_ERROR; - - non_last_ok = features[j].non_last_ok; - last_ok = features[j].last_ok; - changes_size_count += features[j].changes_size; - - } while (filters[++i].id != LZMA_VLI_UNKNOWN); - - // There must be 1-4 filters. The last filter must be usable as - // the last filter in the chain. A maximum of three filters are - // allowed to change the size of the data. - if (i > LZMA_FILTERS_MAX || !last_ok || changes_size_count > 3) - return LZMA_OPTIONS_ERROR; - - *count = i; - return LZMA_OK; -} - - -extern lzma_ret -lzma_raw_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *options, - lzma_filter_find coder_find, bool is_encoder) -{ - // Do some basic validation and get the number of filters. - size_t count; - return_if_error(validate_chain(options, &count)); - - // Set the filter functions and copy the options pointer. - lzma_filter_info filters[LZMA_FILTERS_MAX + 1]; - if (is_encoder) { - for (size_t i = 0; i < count; ++i) { - // The order of the filters is reversed in the - // encoder. It allows more efficient handling - // of the uncompressed data. - const size_t j = count - i - 1; - - const lzma_filter_coder *const fc - = coder_find(options[i].id); - if (fc == NULL || fc->init == NULL) - return LZMA_OPTIONS_ERROR; - - filters[j].id = options[i].id; - filters[j].init = fc->init; - filters[j].options = options[i].options; - } - } else { - for (size_t i = 0; i < count; ++i) { - const lzma_filter_coder *const fc - = coder_find(options[i].id); - if (fc == NULL || fc->init == NULL) - return LZMA_OPTIONS_ERROR; - - filters[i].id = options[i].id; - filters[i].init = fc->init; - filters[i].options = options[i].options; - } - } - - // Terminate the array. - filters[count].id = LZMA_VLI_UNKNOWN; - filters[count].init = NULL; - - // Initialize the filters. - const lzma_ret ret = lzma_next_filter_init(next, allocator, filters); - if (ret != LZMA_OK) - lzma_next_end(next, allocator); - - return ret; -} - - -extern uint64_t -lzma_raw_coder_memusage(lzma_filter_find coder_find, - const lzma_filter *filters) -{ - // The chain has to have at least one filter. - { - size_t tmp; - if (validate_chain(filters, &tmp) != LZMA_OK) - return UINT64_MAX; - } - - uint64_t total = 0; - size_t i = 0; - - do { - const lzma_filter_coder *const fc - = coder_find(filters[i].id); - if (fc == NULL) - return UINT64_MAX; // Unsupported Filter ID - - if (fc->memusage == NULL) { - // This filter doesn't have a function to calculate - // the memory usage and validate the options. Such - // filters need only little memory, so we use 1 KiB - // as a good estimate. They also accept all possible - // options, so there's no need to worry about lack - // of validation. - total += 1024; - } else { - // Call the filter-specific memory usage calculation - // function. - const uint64_t usage - = fc->memusage(filters[i].options); - if (usage == UINT64_MAX) - return UINT64_MAX; // Invalid options - - total += usage; - } - } while (filters[++i].id != LZMA_VLI_UNKNOWN); - - // Add some fixed amount of extra. It's to compensate memory usage - // of Stream, Block etc. coders, malloc() overhead, stack etc. - return total + LZMA_MEMUSAGE_BASE; -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_common.h b/Build/source/extra/xz/src/liblzma/common/filter_common.h deleted file mode 100644 index cd61fc0724f..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_common.h +++ /dev/null @@ -1,48 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_common.c -/// \brief Filter-specific stuff common for both encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_FILTER_COMMON_H -#define LZMA_FILTER_COMMON_H - -#include "common.h" - - -/// Both lzma_filter_encoder and lzma_filter_decoder begin with these members. -typedef struct { - /// Filter ID - lzma_vli id; - - /// Initializes the filter encoder and calls lzma_next_filter_init() - /// for filters + 1. - lzma_init_function init; - - /// Calculates memory usage of the encoder. If the options are - /// invalid, UINT64_MAX is returned. - uint64_t (*memusage)(const void *options); - -} lzma_filter_coder; - - -typedef const lzma_filter_coder *(*lzma_filter_find)(lzma_vli id); - - -extern lzma_ret lzma_raw_coder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *filters, - lzma_filter_find coder_find, bool is_encoder); - - -extern uint64_t lzma_raw_coder_memusage(lzma_filter_find coder_find, - const lzma_filter *filters); - - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/filter_decoder.c b/Build/source/extra/xz/src/liblzma/common/filter_decoder.c deleted file mode 100644 index 1ebbe2afef0..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_decoder.c +++ /dev/null @@ -1,183 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_decoder.c -/// \brief Filter ID mapping to filter-specific functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_decoder.h" -#include "filter_common.h" -#include "lzma_decoder.h" -#include "lzma2_decoder.h" -#include "simple_decoder.h" -#include "delta_decoder.h" - - -typedef struct { - /// Filter ID - lzma_vli id; - - /// Initializes the filter encoder and calls lzma_next_filter_init() - /// for filters + 1. - lzma_init_function init; - - /// Calculates memory usage of the encoder. If the options are - /// invalid, UINT64_MAX is returned. - uint64_t (*memusage)(const void *options); - - /// Decodes Filter Properties. - /// - /// \return - LZMA_OK: Properties decoded successfully. - /// - LZMA_OPTIONS_ERROR: Unsupported properties - /// - LZMA_MEM_ERROR: Memory allocation failed. - lzma_ret (*props_decode)(void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size); - -} lzma_filter_decoder; - - -static const lzma_filter_decoder decoders[] = { -#ifdef HAVE_DECODER_LZMA1 - { - .id = LZMA_FILTER_LZMA1, - .init = &lzma_lzma_decoder_init, - .memusage = &lzma_lzma_decoder_memusage, - .props_decode = &lzma_lzma_props_decode, - }, -#endif -#ifdef HAVE_DECODER_LZMA2 - { - .id = LZMA_FILTER_LZMA2, - .init = &lzma_lzma2_decoder_init, - .memusage = &lzma_lzma2_decoder_memusage, - .props_decode = &lzma_lzma2_props_decode, - }, -#endif -#ifdef HAVE_DECODER_X86 - { - .id = LZMA_FILTER_X86, - .init = &lzma_simple_x86_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_POWERPC - { - .id = LZMA_FILTER_POWERPC, - .init = &lzma_simple_powerpc_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_IA64 - { - .id = LZMA_FILTER_IA64, - .init = &lzma_simple_ia64_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_ARM - { - .id = LZMA_FILTER_ARM, - .init = &lzma_simple_arm_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_ARMTHUMB - { - .id = LZMA_FILTER_ARMTHUMB, - .init = &lzma_simple_armthumb_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_SPARC - { - .id = LZMA_FILTER_SPARC, - .init = &lzma_simple_sparc_decoder_init, - .memusage = NULL, - .props_decode = &lzma_simple_props_decode, - }, -#endif -#ifdef HAVE_DECODER_DELTA - { - .id = LZMA_FILTER_DELTA, - .init = &lzma_delta_decoder_init, - .memusage = &lzma_delta_coder_memusage, - .props_decode = &lzma_delta_props_decode, - }, -#endif -}; - - -static const lzma_filter_decoder * -decoder_find(lzma_vli id) -{ - for (size_t i = 0; i < ARRAY_SIZE(decoders); ++i) - if (decoders[i].id == id) - return decoders + i; - - return NULL; -} - - -extern LZMA_API(lzma_bool) -lzma_filter_decoder_is_supported(lzma_vli id) -{ - return decoder_find(id) != NULL; -} - - -extern lzma_ret -lzma_raw_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *options) -{ - return lzma_raw_coder_init(next, allocator, - options, (lzma_filter_find)(&decoder_find), false); -} - - -extern LZMA_API(lzma_ret) -lzma_raw_decoder(lzma_stream *strm, const lzma_filter *options) -{ - lzma_next_strm_init(lzma_raw_decoder_init, strm, options); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} - - -extern LZMA_API(uint64_t) -lzma_raw_decoder_memusage(const lzma_filter *filters) -{ - return lzma_raw_coder_memusage( - (lzma_filter_find)(&decoder_find), filters); -} - - -extern LZMA_API(lzma_ret) -lzma_properties_decode(lzma_filter *filter, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) -{ - // Make it always NULL so that the caller can always safely free() it. - filter->options = NULL; - - const lzma_filter_decoder *const fd = decoder_find(filter->id); - if (fd == NULL) - return LZMA_OPTIONS_ERROR; - - if (fd->props_decode == NULL) - return props_size == 0 ? LZMA_OK : LZMA_OPTIONS_ERROR; - - return fd->props_decode( - &filter->options, allocator, props, props_size); -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_decoder.h b/Build/source/extra/xz/src/liblzma/common/filter_decoder.h deleted file mode 100644 index d5c68bdd4a6..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_decoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_decoder.c -/// \brief Filter ID mapping to filter-specific functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_FILTER_DECODER_H -#define LZMA_FILTER_DECODER_H - -#include "common.h" - - -extern lzma_ret lzma_raw_decoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *options); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/filter_encoder.c b/Build/source/extra/xz/src/liblzma/common/filter_encoder.c deleted file mode 100644 index 635d8122347..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_encoder.c +++ /dev/null @@ -1,288 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_decoder.c -/// \brief Filter ID mapping to filter-specific functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_encoder.h" -#include "filter_common.h" -#include "lzma_encoder.h" -#include "lzma2_encoder.h" -#include "simple_encoder.h" -#include "delta_encoder.h" - - -typedef struct { - /// Filter ID - lzma_vli id; - - /// Initializes the filter encoder and calls lzma_next_filter_init() - /// for filters + 1. - lzma_init_function init; - - /// Calculates memory usage of the encoder. If the options are - /// invalid, UINT64_MAX is returned. - uint64_t (*memusage)(const void *options); - - /// Calculates the minimum sane size for Blocks (or other types of - /// chunks) to which the input data can be split to make - /// multithreaded encoding possible. If this is NULL, it is assumed - /// that the encoder is fast enough with single thread. - lzma_vli (*chunk_size)(const void *options); - - /// Tells the size of the Filter Properties field. If options are - /// invalid, UINT32_MAX is returned. If this is NULL, props_size_fixed - /// is used. - lzma_ret (*props_size_get)(uint32_t *size, const void *options); - uint32_t props_size_fixed; - - /// Encodes Filter Properties. - /// - /// \return - LZMA_OK: Properties encoded successfully. - /// - LZMA_OPTIONS_ERROR: Unsupported options - /// - LZMA_PROG_ERROR: Invalid options or not enough - /// output space - lzma_ret (*props_encode)(const void *options, uint8_t *out); - -} lzma_filter_encoder; - - -static const lzma_filter_encoder encoders[] = { -#ifdef HAVE_ENCODER_LZMA1 - { - .id = LZMA_FILTER_LZMA1, - .init = &lzma_lzma_encoder_init, - .memusage = &lzma_lzma_encoder_memusage, - .chunk_size = NULL, // FIXME - .props_size_get = NULL, - .props_size_fixed = 5, - .props_encode = &lzma_lzma_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_LZMA2 - { - .id = LZMA_FILTER_LZMA2, - .init = &lzma_lzma2_encoder_init, - .memusage = &lzma_lzma2_encoder_memusage, - .chunk_size = NULL, // FIXME - .props_size_get = NULL, - .props_size_fixed = 1, - .props_encode = &lzma_lzma2_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_X86 - { - .id = LZMA_FILTER_X86, - .init = &lzma_simple_x86_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_POWERPC - { - .id = LZMA_FILTER_POWERPC, - .init = &lzma_simple_powerpc_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_IA64 - { - .id = LZMA_FILTER_IA64, - .init = &lzma_simple_ia64_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_ARM - { - .id = LZMA_FILTER_ARM, - .init = &lzma_simple_arm_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_ARMTHUMB - { - .id = LZMA_FILTER_ARMTHUMB, - .init = &lzma_simple_armthumb_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_SPARC - { - .id = LZMA_FILTER_SPARC, - .init = &lzma_simple_sparc_encoder_init, - .memusage = NULL, - .chunk_size = NULL, - .props_size_get = &lzma_simple_props_size, - .props_encode = &lzma_simple_props_encode, - }, -#endif -#ifdef HAVE_ENCODER_DELTA - { - .id = LZMA_FILTER_DELTA, - .init = &lzma_delta_encoder_init, - .memusage = &lzma_delta_coder_memusage, - .chunk_size = NULL, - .props_size_get = NULL, - .props_size_fixed = 1, - .props_encode = &lzma_delta_props_encode, - }, -#endif -}; - - -static const lzma_filter_encoder * -encoder_find(lzma_vli id) -{ - for (size_t i = 0; i < ARRAY_SIZE(encoders); ++i) - if (encoders[i].id == id) - return encoders + i; - - return NULL; -} - - -extern LZMA_API(lzma_bool) -lzma_filter_encoder_is_supported(lzma_vli id) -{ - return encoder_find(id) != NULL; -} - - -extern LZMA_API(lzma_ret) -lzma_filters_update(lzma_stream *strm, const lzma_filter *filters) -{ - if (strm->internal->next.update == NULL) - return LZMA_PROG_ERROR; - - // Validate the filter chain. - if (lzma_raw_encoder_memusage(filters) == UINT64_MAX) - return LZMA_OPTIONS_ERROR; - - // The actual filter chain in the encoder is reversed. Some things - // still want the normal order chain, so we provide both. - size_t count = 1; - while (filters[count].id != LZMA_VLI_UNKNOWN) - ++count; - - lzma_filter reversed_filters[LZMA_FILTERS_MAX + 1]; - for (size_t i = 0; i < count; ++i) - reversed_filters[count - i - 1] = filters[i]; - - reversed_filters[count].id = LZMA_VLI_UNKNOWN; - - return strm->internal->next.update(strm->internal->next.coder, - strm->allocator, filters, reversed_filters); -} - - -extern lzma_ret -lzma_raw_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *options) -{ - return lzma_raw_coder_init(next, allocator, - options, (lzma_filter_find)(&encoder_find), true); -} - - -extern LZMA_API(lzma_ret) -lzma_raw_encoder(lzma_stream *strm, const lzma_filter *options) -{ - lzma_next_strm_init(lzma_raw_coder_init, strm, options, - (lzma_filter_find)(&encoder_find), true); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_SYNC_FLUSH] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} - - -extern LZMA_API(uint64_t) -lzma_raw_encoder_memusage(const lzma_filter *filters) -{ - return lzma_raw_coder_memusage( - (lzma_filter_find)(&encoder_find), filters); -} - - -/* -extern LZMA_API(lzma_vli) -lzma_chunk_size(const lzma_filter *filters) -{ - lzma_vli max = 0; - - for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) { - const lzma_filter_encoder *const fe - = encoder_find(filters[i].id); - if (fe->chunk_size != NULL) { - const lzma_vli size - = fe->chunk_size(filters[i].options); - if (size == LZMA_VLI_UNKNOWN) - return LZMA_VLI_UNKNOWN; - - if (size > max) - max = size; - } - } - - return max; -} -*/ - - -extern LZMA_API(lzma_ret) -lzma_properties_size(uint32_t *size, const lzma_filter *filter) -{ - const lzma_filter_encoder *const fe = encoder_find(filter->id); - if (fe == NULL) { - // Unknown filter - if the Filter ID is a proper VLI, - // return LZMA_OPTIONS_ERROR instead of LZMA_PROG_ERROR, - // because it's possible that we just don't have support - // compiled in for the requested filter. - return filter->id <= LZMA_VLI_MAX - ? LZMA_OPTIONS_ERROR : LZMA_PROG_ERROR; - } - - if (fe->props_size_get == NULL) { - // No props_size_get() function, use props_size_fixed. - *size = fe->props_size_fixed; - return LZMA_OK; - } - - return fe->props_size_get(size, filter->options); -} - - -extern LZMA_API(lzma_ret) -lzma_properties_encode(const lzma_filter *filter, uint8_t *props) -{ - const lzma_filter_encoder *const fe = encoder_find(filter->id); - if (fe == NULL) - return LZMA_PROG_ERROR; - - if (fe->props_encode == NULL) - return LZMA_OK; - - return fe->props_encode(filter->options, props); -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_encoder.h b/Build/source/extra/xz/src/liblzma/common/filter_encoder.h deleted file mode 100644 index 5bc137f6458..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_encoder.h +++ /dev/null @@ -1,27 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_encoder.c -/// \brief Filter ID mapping to filter-specific functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_FILTER_ENCODER_H -#define LZMA_FILTER_ENCODER_H - -#include "common.h" - - -// FIXME: Might become a part of the public API once finished. -// extern lzma_vli lzma_chunk_size(const lzma_filter *filters); - - -extern lzma_ret lzma_raw_encoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *filters); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/filter_flags_decoder.c b/Build/source/extra/xz/src/liblzma/common/filter_flags_decoder.c deleted file mode 100644 index caae10ce79a..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_flags_decoder.c +++ /dev/null @@ -1,46 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_flags_decoder.c -/// \brief Decodes a Filter Flags field -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_decoder.h" - - -extern LZMA_API(lzma_ret) -lzma_filter_flags_decode( - lzma_filter *filter, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size) -{ - // Set the pointer to NULL so the caller can always safely free it. - filter->options = NULL; - - // Filter ID - return_if_error(lzma_vli_decode(&filter->id, NULL, - in, in_pos, in_size)); - - if (filter->id >= LZMA_FILTER_RESERVED_START) - return LZMA_DATA_ERROR; - - // Size of Properties - lzma_vli props_size; - return_if_error(lzma_vli_decode(&props_size, NULL, - in, in_pos, in_size)); - - // Filter Properties - if (in_size - *in_pos < props_size) - return LZMA_DATA_ERROR; - - const lzma_ret ret = lzma_properties_decode( - filter, allocator, in + *in_pos, props_size); - - *in_pos += props_size; - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/filter_flags_encoder.c b/Build/source/extra/xz/src/liblzma/common/filter_flags_encoder.c deleted file mode 100644 index d110566de99..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/filter_flags_encoder.c +++ /dev/null @@ -1,56 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file filter_flags_encoder.c -/// \brief Decodes a Filter Flags field -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "filter_encoder.h" - - -extern LZMA_API(lzma_ret) -lzma_filter_flags_size(uint32_t *size, const lzma_filter *filter) -{ - if (filter->id >= LZMA_FILTER_RESERVED_START) - return LZMA_PROG_ERROR; - - return_if_error(lzma_properties_size(size, filter)); - - *size += lzma_vli_size(filter->id) + lzma_vli_size(*size); - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_filter_flags_encode(const lzma_filter *filter, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Filter ID - if (filter->id >= LZMA_FILTER_RESERVED_START) - return LZMA_PROG_ERROR; - - return_if_error(lzma_vli_encode(filter->id, NULL, - out, out_pos, out_size)); - - // Size of Properties - uint32_t props_size; - return_if_error(lzma_properties_size(&props_size, filter)); - return_if_error(lzma_vli_encode(props_size, NULL, - out, out_pos, out_size)); - - // Filter Properties - if (out_size - *out_pos < props_size) - return LZMA_PROG_ERROR; - - return_if_error(lzma_properties_encode(filter, out + *out_pos)); - - *out_pos += props_size; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/hardware_physmem.c b/Build/source/extra/xz/src/liblzma/common/hardware_physmem.c deleted file mode 100644 index 7405b658af7..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/hardware_physmem.c +++ /dev/null @@ -1,25 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file hardware_physmem.c -/// \brief Get the total amount of physical memory (RAM) -// -// Author: Jonathan Nieder -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - -#include "tuklib_physmem.h" - - -extern LZMA_API(uint64_t) -lzma_physmem(void) -{ - // It is simpler to make lzma_physmem() a wrapper for - // tuklib_physmem() than to hack appropriate symbol visiblity - // support for the tuklib modules. - return tuklib_physmem(); -} diff --git a/Build/source/extra/xz/src/liblzma/common/index.c b/Build/source/extra/xz/src/liblzma/common/index.c deleted file mode 100644 index 9af4bc19d1b..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index.c +++ /dev/null @@ -1,1244 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index.c -/// \brief Handling of .xz Indexes and some other Stream information -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "index.h" -#include "stream_flags_common.h" - - -/// \brief How many Records to allocate at once -/// -/// This should be big enough to avoid making lots of tiny allocations -/// but small enough to avoid too much unused memory at once. -#define INDEX_GROUP_SIZE 512 - - -/// \brief How many Records can be allocated at once at maximum -#define PREALLOC_MAX ((SIZE_MAX - sizeof(index_group)) / sizeof(index_record)) - - -/// \brief Base structure for index_stream and index_group structures -typedef struct index_tree_node_s index_tree_node; -struct index_tree_node_s { - /// Uncompressed start offset of this Stream (relative to the - /// beginning of the file) or Block (relative to the beginning - /// of the Stream) - lzma_vli uncompressed_base; - - /// Compressed start offset of this Stream or Block - lzma_vli compressed_base; - - index_tree_node *parent; - index_tree_node *left; - index_tree_node *right; -}; - - -/// \brief AVL tree to hold index_stream or index_group structures -typedef struct { - /// Root node - index_tree_node *root; - - /// Leftmost node. Since the tree will be filled sequentially, - /// this won't change after the first node has been added to - /// the tree. - index_tree_node *leftmost; - - /// The rightmost node in the tree. Since the tree is filled - /// sequentially, this is always the node where to add the new data. - index_tree_node *rightmost; - - /// Number of nodes in the tree - uint32_t count; - -} index_tree; - - -typedef struct { - lzma_vli uncompressed_sum; - lzma_vli unpadded_sum; -} index_record; - - -typedef struct { - /// Every Record group is part of index_stream.groups tree. - index_tree_node node; - - /// Number of Blocks in this Stream before this group. - lzma_vli number_base; - - /// Number of Records that can be put in records[]. - size_t allocated; - - /// Index of the last Record in use. - size_t last; - - /// The sizes in this array are stored as cumulative sums relative - /// to the beginning of the Stream. This makes it possible to - /// use binary search in lzma_index_locate(). - /// - /// Note that the cumulative summing is done specially for - /// unpadded_sum: The previous value is rounded up to the next - /// multiple of four before adding the Unpadded Size of the new - /// Block. The total encoded size of the Blocks in the Stream - /// is records[last].unpadded_sum in the last Record group of - /// the Stream. - /// - /// For example, if the Unpadded Sizes are 39, 57, and 81, the - /// stored values are 39, 97 (40 + 57), and 181 (100 + 181). - /// The total encoded size of these Blocks is 184. - /// - /// This is a flexible array, because it makes easy to optimize - /// memory usage in case someone concatenates many Streams that - /// have only one or few Blocks. - index_record records[]; - -} index_group; - - -typedef struct { - /// Every index_stream is a node in the tree of Sreams. - index_tree_node node; - - /// Number of this Stream (first one is 1) - uint32_t number; - - /// Total number of Blocks before this Stream - lzma_vli block_number_base; - - /// Record groups of this Stream are stored in a tree. - /// It's a T-tree with AVL-tree balancing. There are - /// INDEX_GROUP_SIZE Records per node by default. - /// This keeps the number of memory allocations reasonable - /// and finding a Record is fast. - index_tree groups; - - /// Number of Records in this Stream - lzma_vli record_count; - - /// Size of the List of Records field in this Stream. This is used - /// together with record_count to calculate the size of the Index - /// field and thus the total size of the Stream. - lzma_vli index_list_size; - - /// Stream Flags of this Stream. This is meaningful only if - /// the Stream Flags have been told us with lzma_index_stream_flags(). - /// Initially stream_flags.version is set to UINT32_MAX to indicate - /// that the Stream Flags are unknown. - lzma_stream_flags stream_flags; - - /// Amount of Stream Padding after this Stream. This defaults to - /// zero and can be set with lzma_index_stream_padding(). - lzma_vli stream_padding; - -} index_stream; - - -struct lzma_index_s { - /// AVL-tree containing the Stream(s). Often there is just one - /// Stream, but using a tree keeps lookups fast even when there - /// are many concatenated Streams. - index_tree streams; - - /// Uncompressed size of all the Blocks in the Stream(s) - lzma_vli uncompressed_size; - - /// Total size of all the Blocks in the Stream(s) - lzma_vli total_size; - - /// Total number of Records in all Streams in this lzma_index - lzma_vli record_count; - - /// Size of the List of Records field if all the Streams in this - /// lzma_index were packed into a single Stream (makes it simpler to - /// take many .xz files and combine them into a single Stream). - /// - /// This value together with record_count is needed to calculate - /// Backward Size that is stored into Stream Footer. - lzma_vli index_list_size; - - /// How many Records to allocate at once in lzma_index_append(). - /// This defaults to INDEX_GROUP_SIZE but can be overriden with - /// lzma_index_prealloc(). - size_t prealloc; - - /// Bitmask indicating what integrity check types have been used - /// as set by lzma_index_stream_flags(). The bit of the last Stream - /// is not included here, since it is possible to change it by - /// calling lzma_index_stream_flags() again. - uint32_t checks; -}; - - -static void -index_tree_init(index_tree *tree) -{ - tree->root = NULL; - tree->leftmost = NULL; - tree->rightmost = NULL; - tree->count = 0; - return; -} - - -/// Helper for index_tree_end() -static void -index_tree_node_end(index_tree_node *node, lzma_allocator *allocator, - void (*free_func)(void *node, lzma_allocator *allocator)) -{ - // The tree won't ever be very huge, so recursion should be fine. - // 20 levels in the tree is likely quite a lot already in practice. - if (node->left != NULL) - index_tree_node_end(node->left, allocator, free_func); - - if (node->right != NULL) - index_tree_node_end(node->right, allocator, free_func); - - if (free_func != NULL) - free_func(node, allocator); - - lzma_free(node, allocator); - return; -} - - -/// Free the meory allocated for a tree. If free_func is not NULL, -/// it is called on each node before freeing the node. This is used -/// to free the Record groups from each index_stream before freeing -/// the index_stream itself. -static void -index_tree_end(index_tree *tree, lzma_allocator *allocator, - void (*free_func)(void *node, lzma_allocator *allocator)) -{ - if (tree->root != NULL) - index_tree_node_end(tree->root, allocator, free_func); - - return; -} - - -/// Add a new node to the tree. node->uncompressed_base and -/// node->compressed_base must have been set by the caller already. -static void -index_tree_append(index_tree *tree, index_tree_node *node) -{ - node->parent = tree->rightmost; - node->left = NULL; - node->right = NULL; - - ++tree->count; - - // Handle the special case of adding the first node. - if (tree->root == NULL) { - tree->root = node; - tree->leftmost = node; - tree->rightmost = node; - return; - } - - // The tree is always filled sequentially. - assert(tree->rightmost->uncompressed_base <= node->uncompressed_base); - assert(tree->rightmost->compressed_base < node->compressed_base); - - // Add the new node after the rightmost node. It's the correct - // place due to the reason above. - tree->rightmost->right = node; - tree->rightmost = node; - - // Balance the AVL-tree if needed. We don't need to keep the balance - // factors in nodes, because we always fill the tree sequentially, - // and thus know the state of the tree just by looking at the node - // count. From the node count we can calculate how many steps to go - // up in the tree to find the rotation root. - uint32_t up = tree->count ^ (UINT32_C(1) << bsr32(tree->count)); - if (up != 0) { - // Locate the root node for the rotation. - up = ctz32(tree->count) + 2; - do { - node = node->parent; - } while (--up > 0); - - // Rotate left using node as the rotation root. - index_tree_node *pivot = node->right; - - if (node->parent == NULL) { - tree->root = pivot; - } else { - assert(node->parent->right == node); - node->parent->right = pivot; - } - - pivot->parent = node->parent; - - node->right = pivot->left; - if (node->right != NULL) - node->right->parent = node; - - pivot->left = node; - node->parent = pivot; - } - - return; -} - - -/// Get the next node in the tree. Return NULL if there are no more nodes. -static void * -index_tree_next(const index_tree_node *node) -{ - if (node->right != NULL) { - node = node->right; - while (node->left != NULL) - node = node->left; - - return (void *)(node); - } - - while (node->parent != NULL && node->parent->right == node) - node = node->parent; - - return (void *)(node->parent); -} - - -/// Locate a node that contains the given uncompressed offset. It is -/// caller's job to check that target is not bigger than the uncompressed -/// size of the tree (the last node would be returned in that case still). -static void * -index_tree_locate(const index_tree *tree, lzma_vli target) -{ - const index_tree_node *result = NULL; - const index_tree_node *node = tree->root; - - assert(tree->leftmost == NULL - || tree->leftmost->uncompressed_base == 0); - - // Consecutive nodes may have the same uncompressed_base. - // We must pick the rightmost one. - while (node != NULL) { - if (node->uncompressed_base > target) { - node = node->left; - } else { - result = node; - node = node->right; - } - } - - return (void *)(result); -} - - -/// Allocate and initialize a new Stream using the given base offsets. -static index_stream * -index_stream_init(lzma_vli compressed_base, lzma_vli uncompressed_base, - lzma_vli stream_number, lzma_vli block_number_base, - lzma_allocator *allocator) -{ - index_stream *s = lzma_alloc(sizeof(index_stream), allocator); - if (s == NULL) - return NULL; - - s->node.uncompressed_base = uncompressed_base; - s->node.compressed_base = compressed_base; - s->node.parent = NULL; - s->node.left = NULL; - s->node.right = NULL; - - s->number = stream_number; - s->block_number_base = block_number_base; - - index_tree_init(&s->groups); - - s->record_count = 0; - s->index_list_size = 0; - s->stream_flags.version = UINT32_MAX; - s->stream_padding = 0; - - return s; -} - - -/// Free the memory allocated for a Stream and its Record groups. -static void -index_stream_end(void *node, lzma_allocator *allocator) -{ - index_stream *s = node; - index_tree_end(&s->groups, allocator, NULL); - return; -} - - -static lzma_index * -index_init_plain(lzma_allocator *allocator) -{ - lzma_index *i = lzma_alloc(sizeof(lzma_index), allocator); - if (i != NULL) { - index_tree_init(&i->streams); - i->uncompressed_size = 0; - i->total_size = 0; - i->record_count = 0; - i->index_list_size = 0; - i->prealloc = INDEX_GROUP_SIZE; - i->checks = 0; - } - - return i; -} - - -extern LZMA_API(lzma_index *) -lzma_index_init(lzma_allocator *allocator) -{ - lzma_index *i = index_init_plain(allocator); - if (i == NULL) - return NULL; - - index_stream *s = index_stream_init(0, 0, 1, 0, allocator); - if (s == NULL) { - lzma_free(i, allocator); - return NULL; - } - - index_tree_append(&i->streams, &s->node); - - return i; -} - - -extern LZMA_API(void) -lzma_index_end(lzma_index *i, lzma_allocator *allocator) -{ - // NOTE: If you modify this function, check also the bottom - // of lzma_index_cat(). - if (i != NULL) { - index_tree_end(&i->streams, allocator, &index_stream_end); - lzma_free(i, allocator); - } - - return; -} - - -extern void -lzma_index_prealloc(lzma_index *i, lzma_vli records) -{ - if (records > PREALLOC_MAX) - records = PREALLOC_MAX; - - i->prealloc = (size_t)(records); - return; -} - - -extern LZMA_API(uint64_t) -lzma_index_memusage(lzma_vli streams, lzma_vli blocks) -{ - // This calculates an upper bound that is only a little bit - // bigger than the exact maximum memory usage with the given - // parameters. - - // Typical malloc() overhead is 2 * sizeof(void *) but we take - // a little bit extra just in case. Using LZMA_MEMUSAGE_BASE - // instead would give too inaccurate estimate. - const size_t alloc_overhead = 4 * sizeof(void *); - - // Amount of memory needed for each Stream base structures. - // We assume that every Stream has at least one Block and - // thus at least one group. - const size_t stream_base = sizeof(index_stream) - + sizeof(index_group) + 2 * alloc_overhead; - - // Amount of memory needed per group. - const size_t group_base = sizeof(index_group) - + INDEX_GROUP_SIZE * sizeof(index_record) - + alloc_overhead; - - // Number of groups. There may actually be more, but that overhead - // has been taken into account in stream_base already. - const lzma_vli groups - = (blocks + INDEX_GROUP_SIZE - 1) / INDEX_GROUP_SIZE; - - // Memory used by index_stream and index_group structures. - const uint64_t streams_mem = streams * stream_base; - const uint64_t groups_mem = groups * group_base; - - // Memory used by the base structure. - const uint64_t index_base = sizeof(lzma_index) + alloc_overhead; - - // Validate the arguments and catch integer overflows. - // Maximum number of Streams is "only" UINT32_MAX, because - // that limit is used by the tree containing the Streams. - const uint64_t limit = UINT64_MAX - index_base; - if (streams == 0 || streams > UINT32_MAX || blocks > LZMA_VLI_MAX - || streams > limit / stream_base - || groups > limit / group_base - || limit - streams_mem < groups_mem) - return UINT64_MAX; - - return index_base + streams_mem + groups_mem; -} - - -extern LZMA_API(uint64_t) -lzma_index_memused(const lzma_index *i) -{ - return lzma_index_memusage(i->streams.count, i->record_count); -} - - -extern LZMA_API(lzma_vli) -lzma_index_block_count(const lzma_index *i) -{ - return i->record_count; -} - - -extern LZMA_API(lzma_vli) -lzma_index_stream_count(const lzma_index *i) -{ - return i->streams.count; -} - - -extern LZMA_API(lzma_vli) -lzma_index_size(const lzma_index *i) -{ - return index_size(i->record_count, i->index_list_size); -} - - -extern LZMA_API(lzma_vli) -lzma_index_total_size(const lzma_index *i) -{ - return i->total_size; -} - - -extern LZMA_API(lzma_vli) -lzma_index_stream_size(const lzma_index *i) -{ - // Stream Header + Blocks + Index + Stream Footer - return LZMA_STREAM_HEADER_SIZE + i->total_size - + index_size(i->record_count, i->index_list_size) - + LZMA_STREAM_HEADER_SIZE; -} - - -static lzma_vli -index_file_size(lzma_vli compressed_base, lzma_vli unpadded_sum, - lzma_vli record_count, lzma_vli index_list_size, - lzma_vli stream_padding) -{ - // Earlier Streams and Stream Paddings + Stream Header - // + Blocks + Index + Stream Footer + Stream Padding - // - // This might go over LZMA_VLI_MAX due to too big unpadded_sum - // when this function is used in lzma_index_append(). - lzma_vli file_size = compressed_base + 2 * LZMA_STREAM_HEADER_SIZE - + stream_padding + vli_ceil4(unpadded_sum); - if (file_size > LZMA_VLI_MAX) - return LZMA_VLI_UNKNOWN; - - // The same applies here. - file_size += index_size(record_count, index_list_size); - if (file_size > LZMA_VLI_MAX) - return LZMA_VLI_UNKNOWN; - - return file_size; -} - - -extern LZMA_API(lzma_vli) -lzma_index_file_size(const lzma_index *i) -{ - const index_stream *s = (const index_stream *)(i->streams.rightmost); - const index_group *g = (const index_group *)(s->groups.rightmost); - return index_file_size(s->node.compressed_base, - g == NULL ? 0 : g->records[g->last].unpadded_sum, - s->record_count, s->index_list_size, - s->stream_padding); -} - - -extern LZMA_API(lzma_vli) -lzma_index_uncompressed_size(const lzma_index *i) -{ - return i->uncompressed_size; -} - - -extern LZMA_API(uint32_t) -lzma_index_checks(const lzma_index *i) -{ - uint32_t checks = i->checks; - - // Get the type of the Check of the last Stream too. - const index_stream *s = (const index_stream *)(i->streams.rightmost); - if (s->stream_flags.version != UINT32_MAX) - checks |= UINT32_C(1) << s->stream_flags.check; - - return checks; -} - - -extern uint32_t -lzma_index_padding_size(const lzma_index *i) -{ - return (LZMA_VLI_C(4) - index_size_unpadded( - i->record_count, i->index_list_size)) & 3; -} - - -extern LZMA_API(lzma_ret) -lzma_index_stream_flags(lzma_index *i, const lzma_stream_flags *stream_flags) -{ - if (i == NULL || stream_flags == NULL) - return LZMA_PROG_ERROR; - - // Validate the Stream Flags. - return_if_error(lzma_stream_flags_compare( - stream_flags, stream_flags)); - - index_stream *s = (index_stream *)(i->streams.rightmost); - s->stream_flags = *stream_flags; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_stream_padding(lzma_index *i, lzma_vli stream_padding) -{ - if (i == NULL || stream_padding > LZMA_VLI_MAX - || (stream_padding & 3) != 0) - return LZMA_PROG_ERROR; - - index_stream *s = (index_stream *)(i->streams.rightmost); - - // Check that the new value won't make the file grow too big. - const lzma_vli old_stream_padding = s->stream_padding; - s->stream_padding = 0; - if (lzma_index_file_size(i) + stream_padding > LZMA_VLI_MAX) { - s->stream_padding = old_stream_padding; - return LZMA_DATA_ERROR; - } - - s->stream_padding = stream_padding; - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_append(lzma_index *i, lzma_allocator *allocator, - lzma_vli unpadded_size, lzma_vli uncompressed_size) -{ - // Validate. - if (i == NULL || unpadded_size < UNPADDED_SIZE_MIN - || unpadded_size > UNPADDED_SIZE_MAX - || uncompressed_size > LZMA_VLI_MAX) - return LZMA_PROG_ERROR; - - index_stream *s = (index_stream *)(i->streams.rightmost); - index_group *g = (index_group *)(s->groups.rightmost); - - const lzma_vli compressed_base = g == NULL ? 0 - : vli_ceil4(g->records[g->last].unpadded_sum); - const lzma_vli uncompressed_base = g == NULL ? 0 - : g->records[g->last].uncompressed_sum; - const uint32_t index_list_size_add = lzma_vli_size(unpadded_size) - + lzma_vli_size(uncompressed_size); - - // Check that the file size will stay within limits. - if (index_file_size(s->node.compressed_base, - compressed_base + unpadded_size, s->record_count + 1, - s->index_list_size + index_list_size_add, - s->stream_padding) == LZMA_VLI_UNKNOWN) - return LZMA_DATA_ERROR; - - // The size of the Index field must not exceed the maximum value - // that can be stored in the Backward Size field. - if (index_size(i->record_count + 1, - i->index_list_size + index_list_size_add) - > LZMA_BACKWARD_SIZE_MAX) - return LZMA_DATA_ERROR; - - if (g != NULL && g->last + 1 < g->allocated) { - // There is space in the last group at least for one Record. - ++g->last; - } else { - // We need to allocate a new group. - g = lzma_alloc(sizeof(index_group) - + i->prealloc * sizeof(index_record), - allocator); - if (g == NULL) - return LZMA_MEM_ERROR; - - g->last = 0; - g->allocated = i->prealloc; - - // Reset prealloc so that if the application happens to - // add new Records, the allocation size will be sane. - i->prealloc = INDEX_GROUP_SIZE; - - // Set the start offsets of this group. - g->node.uncompressed_base = uncompressed_base; - g->node.compressed_base = compressed_base; - g->number_base = s->record_count + 1; - - // Add the new group to the Stream. - index_tree_append(&s->groups, &g->node); - } - - // Add the new Record to the group. - g->records[g->last].uncompressed_sum - = uncompressed_base + uncompressed_size; - g->records[g->last].unpadded_sum - = compressed_base + unpadded_size; - - // Update the totals. - ++s->record_count; - s->index_list_size += index_list_size_add; - - i->total_size += vli_ceil4(unpadded_size); - i->uncompressed_size += uncompressed_size; - ++i->record_count; - i->index_list_size += index_list_size_add; - - return LZMA_OK; -} - - -/// Structure to pass info to index_cat_helper() -typedef struct { - /// Uncompressed size of the destination - lzma_vli uncompressed_size; - - /// Compressed file size of the destination - lzma_vli file_size; - - /// Same as above but for Block numbers - lzma_vli block_number_add; - - /// Number of Streams that were in the destination index before we - /// started appending new Streams from the source index. This is - /// used to fix the Stream numbering. - uint32_t stream_number_add; - - /// Destination index' Stream tree - index_tree *streams; - -} index_cat_info; - - -/// Add the Stream nodes from the source index to dest using recursion. -/// Simplest iterative traversal of the source tree wouldn't work, because -/// we update the pointers in nodes when moving them to the destination tree. -static void -index_cat_helper(const index_cat_info *info, index_stream *this) -{ - index_stream *left = (index_stream *)(this->node.left); - index_stream *right = (index_stream *)(this->node.right); - - if (left != NULL) - index_cat_helper(info, left); - - this->node.uncompressed_base += info->uncompressed_size; - this->node.compressed_base += info->file_size; - this->number += info->stream_number_add; - this->block_number_base += info->block_number_add; - index_tree_append(info->streams, &this->node); - - if (right != NULL) - index_cat_helper(info, right); - - return; -} - - -extern LZMA_API(lzma_ret) -lzma_index_cat(lzma_index *restrict dest, lzma_index *restrict src, - lzma_allocator *allocator) -{ - const lzma_vli dest_file_size = lzma_index_file_size(dest); - - // Check that we don't exceed the file size limits. - if (dest_file_size + lzma_index_file_size(src) > LZMA_VLI_MAX - || dest->uncompressed_size + src->uncompressed_size - > LZMA_VLI_MAX) - return LZMA_DATA_ERROR; - - // Check that the encoded size of the combined lzma_indexes stays - // within limits. In theory, this should be done only if we know - // that the user plans to actually combine the Streams and thus - // construct a single Index (probably rare). However, exceeding - // this limit is quite theoretical, so we do this check always - // to simplify things elsewhere. - { - const lzma_vli dest_size = index_size_unpadded( - dest->record_count, dest->index_list_size); - const lzma_vli src_size = index_size_unpadded( - src->record_count, src->index_list_size); - if (vli_ceil4(dest_size + src_size) > LZMA_BACKWARD_SIZE_MAX) - return LZMA_DATA_ERROR; - } - - // Optimize the last group to minimize memory usage. Allocation has - // to be done before modifying dest or src. - { - index_stream *s = (index_stream *)(dest->streams.rightmost); - index_group *g = (index_group *)(s->groups.rightmost); - if (g != NULL && g->last + 1 < g->allocated) { - assert(g->node.left == NULL); - assert(g->node.right == NULL); - - index_group *newg = lzma_alloc(sizeof(index_group) - + (g->last + 1) - * sizeof(index_record), - allocator); - if (newg == NULL) - return LZMA_MEM_ERROR; - - newg->node = g->node; - newg->allocated = g->last + 1; - newg->last = g->last; - newg->number_base = g->number_base; - - memcpy(newg->records, g->records, newg->allocated - * sizeof(index_record)); - - if (g->node.parent != NULL) { - assert(g->node.parent->right == &g->node); - g->node.parent->right = &newg->node; - } - - if (s->groups.leftmost == &g->node) { - assert(s->groups.root == &g->node); - s->groups.leftmost = &newg->node; - s->groups.root = &newg->node; - } - - if (s->groups.rightmost == &g->node) - s->groups.rightmost = &newg->node; - - lzma_free(g, allocator); - } - } - - // Add all the Streams from src to dest. Update the base offsets - // of each Stream from src. - const index_cat_info info = { - .uncompressed_size = dest->uncompressed_size, - .file_size = dest_file_size, - .stream_number_add = dest->streams.count, - .block_number_add = dest->record_count, - .streams = &dest->streams, - }; - index_cat_helper(&info, (index_stream *)(src->streams.root)); - - // Update info about all the combined Streams. - dest->uncompressed_size += src->uncompressed_size; - dest->total_size += src->total_size; - dest->record_count += src->record_count; - dest->index_list_size += src->index_list_size; - dest->checks = lzma_index_checks(dest) | src->checks; - - // There's nothing else left in src than the base structure. - lzma_free(src, allocator); - - return LZMA_OK; -} - - -/// Duplicate an index_stream. -static index_stream * -index_dup_stream(const index_stream *src, lzma_allocator *allocator) -{ - // Catch a somewhat theoretical integer overflow. - if (src->record_count > PREALLOC_MAX) - return NULL; - - // Allocate and initialize a new Stream. - index_stream *dest = index_stream_init(src->node.compressed_base, - src->node.uncompressed_base, src->number, - src->block_number_base, allocator); - - // Return immediately if allocation failed or if there are - // no groups to duplicate. - if (dest == NULL || src->groups.leftmost == NULL) - return dest; - - // Copy the overall information. - dest->record_count = src->record_count; - dest->index_list_size = src->index_list_size; - dest->stream_flags = src->stream_flags; - dest->stream_padding = src->stream_padding; - - // Allocate memory for the Records. We put all the Records into - // a single group. It's simplest and also tends to make - // lzma_index_locate() a little bit faster with very big Indexes. - index_group *destg = lzma_alloc(sizeof(index_group) - + src->record_count * sizeof(index_record), - allocator); - if (destg == NULL) { - index_stream_end(dest, allocator); - return NULL; - } - - // Initialize destg. - destg->node.uncompressed_base = 0; - destg->node.compressed_base = 0; - destg->number_base = 1; - destg->allocated = src->record_count; - destg->last = src->record_count - 1; - - // Go through all the groups in src and copy the Records into destg. - const index_group *srcg = (const index_group *)(src->groups.leftmost); - size_t i = 0; - do { - memcpy(destg->records + i, srcg->records, - (srcg->last + 1) * sizeof(index_record)); - i += srcg->last + 1; - srcg = index_tree_next(&srcg->node); - } while (srcg != NULL); - - assert(i == destg->allocated); - - // Add the group to the new Stream. - index_tree_append(&dest->groups, &destg->node); - - return dest; -} - - -extern LZMA_API(lzma_index *) -lzma_index_dup(const lzma_index *src, lzma_allocator *allocator) -{ - // Allocate the base structure (no initial Stream). - lzma_index *dest = index_init_plain(allocator); - if (dest == NULL) - return NULL; - - // Copy the totals. - dest->uncompressed_size = src->uncompressed_size; - dest->total_size = src->total_size; - dest->record_count = src->record_count; - dest->index_list_size = src->index_list_size; - - // Copy the Streams and the groups in them. - const index_stream *srcstream - = (const index_stream *)(src->streams.leftmost); - do { - index_stream *deststream = index_dup_stream( - srcstream, allocator); - if (deststream == NULL) { - lzma_index_end(dest, allocator); - return NULL; - } - - index_tree_append(&dest->streams, &deststream->node); - - srcstream = index_tree_next(&srcstream->node); - } while (srcstream != NULL); - - return dest; -} - - -/// Indexing for lzma_index_iter.internal[] -enum { - ITER_INDEX, - ITER_STREAM, - ITER_GROUP, - ITER_RECORD, - ITER_METHOD, -}; - - -/// Values for lzma_index_iter.internal[ITER_METHOD].s -enum { - ITER_METHOD_NORMAL, - ITER_METHOD_NEXT, - ITER_METHOD_LEFTMOST, -}; - - -static void -iter_set_info(lzma_index_iter *iter) -{ - const lzma_index *i = iter->internal[ITER_INDEX].p; - const index_stream *stream = iter->internal[ITER_STREAM].p; - const index_group *group = iter->internal[ITER_GROUP].p; - const size_t record = iter->internal[ITER_RECORD].s; - - // lzma_index_iter.internal must not contain a pointer to the last - // group in the index, because that may be reallocated by - // lzma_index_cat(). - if (group == NULL) { - // There are no groups. - assert(stream->groups.root == NULL); - iter->internal[ITER_METHOD].s = ITER_METHOD_LEFTMOST; - - } else if (i->streams.rightmost != &stream->node - || stream->groups.rightmost != &group->node) { - // The group is not not the last group in the index. - iter->internal[ITER_METHOD].s = ITER_METHOD_NORMAL; - - } else if (stream->groups.leftmost != &group->node) { - // The group isn't the only group in the Stream, thus we - // know that it must have a parent group i.e. it's not - // the root node. - assert(stream->groups.root != &group->node); - assert(group->node.parent->right == &group->node); - iter->internal[ITER_METHOD].s = ITER_METHOD_NEXT; - iter->internal[ITER_GROUP].p = group->node.parent; - - } else { - // The Stream has only one group. - assert(stream->groups.root == &group->node); - assert(group->node.parent == NULL); - iter->internal[ITER_METHOD].s = ITER_METHOD_LEFTMOST; - iter->internal[ITER_GROUP].p = NULL; - } - - iter->stream.number = stream->number; - iter->stream.block_count = stream->record_count; - iter->stream.compressed_offset = stream->node.compressed_base; - iter->stream.uncompressed_offset = stream->node.uncompressed_base; - - // iter->stream.flags will be NULL if the Stream Flags haven't been - // set with lzma_index_stream_flags(). - iter->stream.flags = stream->stream_flags.version == UINT32_MAX - ? NULL : &stream->stream_flags; - iter->stream.padding = stream->stream_padding; - - if (stream->groups.rightmost == NULL) { - // Stream has no Blocks. - iter->stream.compressed_size = index_size(0, 0) - + 2 * LZMA_STREAM_HEADER_SIZE; - iter->stream.uncompressed_size = 0; - } else { - const index_group *g = (const index_group *)( - stream->groups.rightmost); - - // Stream Header + Stream Footer + Index + Blocks - iter->stream.compressed_size = 2 * LZMA_STREAM_HEADER_SIZE - + index_size(stream->record_count, - stream->index_list_size) - + vli_ceil4(g->records[g->last].unpadded_sum); - iter->stream.uncompressed_size - = g->records[g->last].uncompressed_sum; - } - - if (group != NULL) { - iter->block.number_in_stream = group->number_base + record; - iter->block.number_in_file = iter->block.number_in_stream - + stream->block_number_base; - - iter->block.compressed_stream_offset - = record == 0 ? group->node.compressed_base - : vli_ceil4(group->records[ - record - 1].unpadded_sum); - iter->block.uncompressed_stream_offset - = record == 0 ? group->node.uncompressed_base - : group->records[record - 1].uncompressed_sum; - - iter->block.uncompressed_size - = group->records[record].uncompressed_sum - - iter->block.uncompressed_stream_offset; - iter->block.unpadded_size - = group->records[record].unpadded_sum - - iter->block.compressed_stream_offset; - iter->block.total_size = vli_ceil4(iter->block.unpadded_size); - - iter->block.compressed_stream_offset - += LZMA_STREAM_HEADER_SIZE; - - iter->block.compressed_file_offset - = iter->block.compressed_stream_offset - + iter->stream.compressed_offset; - iter->block.uncompressed_file_offset - = iter->block.uncompressed_stream_offset - + iter->stream.uncompressed_offset; - } - - return; -} - - -extern LZMA_API(void) -lzma_index_iter_init(lzma_index_iter *iter, const lzma_index *i) -{ - iter->internal[ITER_INDEX].p = i; - lzma_index_iter_rewind(iter); - return; -} - - -extern LZMA_API(void) -lzma_index_iter_rewind(lzma_index_iter *iter) -{ - iter->internal[ITER_STREAM].p = NULL; - iter->internal[ITER_GROUP].p = NULL; - iter->internal[ITER_RECORD].s = 0; - iter->internal[ITER_METHOD].s = ITER_METHOD_NORMAL; - return; -} - - -extern LZMA_API(lzma_bool) -lzma_index_iter_next(lzma_index_iter *iter, lzma_index_iter_mode mode) -{ - // Catch unsupported mode values. - if ((unsigned int)(mode) > LZMA_INDEX_ITER_NONEMPTY_BLOCK) - return true; - - const lzma_index *i = iter->internal[ITER_INDEX].p; - const index_stream *stream = iter->internal[ITER_STREAM].p; - const index_group *group = NULL; - size_t record = iter->internal[ITER_RECORD].s; - - // If we are being asked for the next Stream, leave group to NULL - // so that the rest of the this function thinks that this Stream - // has no groups and will thus go to the next Stream. - if (mode != LZMA_INDEX_ITER_STREAM) { - // Get the pointer to the current group. See iter_set_inf() - // for explanation. - switch (iter->internal[ITER_METHOD].s) { - case ITER_METHOD_NORMAL: - group = iter->internal[ITER_GROUP].p; - break; - - case ITER_METHOD_NEXT: - group = index_tree_next(iter->internal[ITER_GROUP].p); - break; - - case ITER_METHOD_LEFTMOST: - group = (const index_group *)( - stream->groups.leftmost); - break; - } - } - -again: - if (stream == NULL) { - // We at the beginning of the lzma_index. - // Locate the first Stream. - stream = (const index_stream *)(i->streams.leftmost); - if (mode >= LZMA_INDEX_ITER_BLOCK) { - // Since we are being asked to return information - // about the first a Block, skip Streams that have - // no Blocks. - while (stream->groups.leftmost == NULL) { - stream = index_tree_next(&stream->node); - if (stream == NULL) - return true; - } - } - - // Start from the first Record in the Stream. - group = (const index_group *)(stream->groups.leftmost); - record = 0; - - } else if (group != NULL && record < group->last) { - // The next Record is in the same group. - ++record; - - } else { - // This group has no more Records or this Stream has - // no Blocks at all. - record = 0; - - // If group is not NULL, this Stream has at least one Block - // and thus at least one group. Find the next group. - if (group != NULL) - group = index_tree_next(&group->node); - - if (group == NULL) { - // This Stream has no more Records. Find the next - // Stream. If we are being asked to return information - // about a Block, we skip empty Streams. - do { - stream = index_tree_next(&stream->node); - if (stream == NULL) - return true; - } while (mode >= LZMA_INDEX_ITER_BLOCK - && stream->groups.leftmost == NULL); - - group = (const index_group *)( - stream->groups.leftmost); - } - } - - if (mode == LZMA_INDEX_ITER_NONEMPTY_BLOCK) { - // We need to look for the next Block again if this Block - // is empty. - if (record == 0) { - if (group->node.uncompressed_base - == group->records[0].uncompressed_sum) - goto again; - } else if (group->records[record - 1].uncompressed_sum - == group->records[record].uncompressed_sum) { - goto again; - } - } - - iter->internal[ITER_STREAM].p = stream; - iter->internal[ITER_GROUP].p = group; - iter->internal[ITER_RECORD].s = record; - - iter_set_info(iter); - - return false; -} - - -extern LZMA_API(lzma_bool) -lzma_index_iter_locate(lzma_index_iter *iter, lzma_vli target) -{ - const lzma_index *i = iter->internal[ITER_INDEX].p; - - // If the target is past the end of the file, return immediately. - if (i->uncompressed_size <= target) - return true; - - // Locate the Stream containing the target offset. - const index_stream *stream = index_tree_locate(&i->streams, target); - assert(stream != NULL); - target -= stream->node.uncompressed_base; - - // Locate the group containing the target offset. - const index_group *group = index_tree_locate(&stream->groups, target); - assert(group != NULL); - - // Use binary search to locate the exact Record. It is the first - // Record whose uncompressed_sum is greater than target. - // This is because we want the rightmost Record that fullfills the - // search criterion. It is possible that there are empty Blocks; - // we don't want to return them. - size_t left = 0; - size_t right = group->last; - - while (left < right) { - const size_t pos = left + (right - left) / 2; - if (group->records[pos].uncompressed_sum <= target) - left = pos + 1; - else - right = pos; - } - - iter->internal[ITER_STREAM].p = stream; - iter->internal[ITER_GROUP].p = group; - iter->internal[ITER_RECORD].s = left; - - iter_set_info(iter); - - return false; -} diff --git a/Build/source/extra/xz/src/liblzma/common/index.h b/Build/source/extra/xz/src/liblzma/common/index.h deleted file mode 100644 index 64e97247dd3..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index.h +++ /dev/null @@ -1,73 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index.h -/// \brief Handling of Index -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_INDEX_H -#define LZMA_INDEX_H - -#include "common.h" - - -/// Minimum Unpadded Size -#define UNPADDED_SIZE_MIN LZMA_VLI_C(5) - -/// Maximum Unpadded Size -#define UNPADDED_SIZE_MAX (LZMA_VLI_MAX & ~LZMA_VLI_C(3)) - - -/// Get the size of the Index Padding field. This is needed by Index encoder -/// and decoder, but applications should have no use for this. -extern uint32_t lzma_index_padding_size(const lzma_index *i); - - -/// Set for how many Records to allocate memory the next time -/// lzma_index_append() needs to allocate space for a new Record. -/// This is used only by the Index decoder. -extern void lzma_index_prealloc(lzma_index *i, lzma_vli records); - - -/// Round the variable-length integer to the next multiple of four. -static inline lzma_vli -vli_ceil4(lzma_vli vli) -{ - assert(vli <= LZMA_VLI_MAX); - return (vli + 3) & ~LZMA_VLI_C(3); -} - - -/// Calculate the size of the Index field excluding Index Padding -static inline lzma_vli -index_size_unpadded(lzma_vli count, lzma_vli index_list_size) -{ - // Index Indicator + Number of Records + List of Records + CRC32 - return 1 + lzma_vli_size(count) + index_list_size + 4; -} - - -/// Calculate the size of the Index field including Index Padding -static inline lzma_vli -index_size(lzma_vli count, lzma_vli index_list_size) -{ - return vli_ceil4(index_size_unpadded(count, index_list_size)); -} - - -/// Calculate the total size of the Stream -static inline lzma_vli -index_stream_size(lzma_vli blocks_size, - lzma_vli count, lzma_vli index_list_size) -{ - return LZMA_STREAM_HEADER_SIZE + blocks_size - + index_size(count, index_list_size) - + LZMA_STREAM_HEADER_SIZE; -} - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/index_decoder.c b/Build/source/extra/xz/src/liblzma/common/index_decoder.c deleted file mode 100644 index 83c8a3af1db..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index_decoder.c +++ /dev/null @@ -1,345 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index_decoder.c -/// \brief Decodes the Index field -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "index.h" -#include "check.h" - - -struct lzma_coder_s { - enum { - SEQ_INDICATOR, - SEQ_COUNT, - SEQ_MEMUSAGE, - SEQ_UNPADDED, - SEQ_UNCOMPRESSED, - SEQ_PADDING_INIT, - SEQ_PADDING, - SEQ_CRC32, - } sequence; - - /// Memory usage limit - uint64_t memlimit; - - /// Target Index - lzma_index *index; - - /// Pointer give by the application, which is set after - /// successful decoding. - lzma_index **index_ptr; - - /// Number of Records left to decode. - lzma_vli count; - - /// The most recent Unpadded Size field - lzma_vli unpadded_size; - - /// The most recent Uncompressed Size field - lzma_vli uncompressed_size; - - /// Position in integers - size_t pos; - - /// CRC32 of the List of Records field - uint32_t crc32; -}; - - -static lzma_ret -index_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, - uint8_t *restrict out lzma_attribute((__unused__)), - size_t *restrict out_pos lzma_attribute((__unused__)), - size_t out_size lzma_attribute((__unused__)), - lzma_action action lzma_attribute((__unused__))) -{ - // Similar optimization as in index_encoder.c - const size_t in_start = *in_pos; - lzma_ret ret = LZMA_OK; - - while (*in_pos < in_size) - switch (coder->sequence) { - case SEQ_INDICATOR: - // Return LZMA_DATA_ERROR instead of e.g. LZMA_PROG_ERROR or - // LZMA_FORMAT_ERROR, because a typical usage case for Index - // decoder is when parsing the Stream backwards. If seeking - // backward from the Stream Footer gives us something that - // doesn't begin with Index Indicator, the file is considered - // corrupt, not "programming error" or "unrecognized file - // format". One could argue that the application should - // verify the Index Indicator before trying to decode the - // Index, but well, I suppose it is simpler this way. - if (in[(*in_pos)++] != 0x00) - return LZMA_DATA_ERROR; - - coder->sequence = SEQ_COUNT; - break; - - case SEQ_COUNT: - ret = lzma_vli_decode(&coder->count, &coder->pos, - in, in_pos, in_size); - if (ret != LZMA_STREAM_END) - goto out; - - coder->pos = 0; - coder->sequence = SEQ_MEMUSAGE; - - // Fall through - - case SEQ_MEMUSAGE: - if (lzma_index_memusage(1, coder->count) > coder->memlimit) { - ret = LZMA_MEMLIMIT_ERROR; - goto out; - } - - // Tell the Index handling code how many Records this - // Index has to allow it to allocate memory more efficiently. - lzma_index_prealloc(coder->index, coder->count); - - ret = LZMA_OK; - coder->sequence = coder->count == 0 - ? SEQ_PADDING_INIT : SEQ_UNPADDED; - break; - - case SEQ_UNPADDED: - case SEQ_UNCOMPRESSED: { - lzma_vli *size = coder->sequence == SEQ_UNPADDED - ? &coder->unpadded_size - : &coder->uncompressed_size; - - ret = lzma_vli_decode(size, &coder->pos, - in, in_pos, in_size); - if (ret != LZMA_STREAM_END) - goto out; - - ret = LZMA_OK; - coder->pos = 0; - - if (coder->sequence == SEQ_UNPADDED) { - // Validate that encoded Unpadded Size isn't too small - // or too big. - if (coder->unpadded_size < UNPADDED_SIZE_MIN - || coder->unpadded_size - > UNPADDED_SIZE_MAX) - return LZMA_DATA_ERROR; - - coder->sequence = SEQ_UNCOMPRESSED; - } else { - // Add the decoded Record to the Index. - return_if_error(lzma_index_append( - coder->index, allocator, - coder->unpadded_size, - coder->uncompressed_size)); - - // Check if this was the last Record. - coder->sequence = --coder->count == 0 - ? SEQ_PADDING_INIT - : SEQ_UNPADDED; - } - - break; - } - - case SEQ_PADDING_INIT: - coder->pos = lzma_index_padding_size(coder->index); - coder->sequence = SEQ_PADDING; - - // Fall through - - case SEQ_PADDING: - if (coder->pos > 0) { - --coder->pos; - if (in[(*in_pos)++] != 0x00) - return LZMA_DATA_ERROR; - - break; - } - - // Finish the CRC32 calculation. - coder->crc32 = lzma_crc32(in + in_start, - *in_pos - in_start, coder->crc32); - - coder->sequence = SEQ_CRC32; - - // Fall through - - case SEQ_CRC32: - do { - if (*in_pos == in_size) - return LZMA_OK; - - if (((coder->crc32 >> (coder->pos * 8)) & 0xFF) - != in[(*in_pos)++]) - return LZMA_DATA_ERROR; - - } while (++coder->pos < 4); - - // Decoding was successful, now we can let the application - // see the decoded Index. - *coder->index_ptr = coder->index; - - // Make index NULL so we don't free it unintentionally. - coder->index = NULL; - - return LZMA_STREAM_END; - - default: - assert(0); - return LZMA_PROG_ERROR; - } - -out: - // Update the CRC32, - coder->crc32 = lzma_crc32(in + in_start, - *in_pos - in_start, coder->crc32); - - return ret; -} - - -static void -index_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_index_end(coder->index, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -index_decoder_memconfig(lzma_coder *coder, uint64_t *memusage, - uint64_t *old_memlimit, uint64_t new_memlimit) -{ - *memusage = lzma_index_memusage(1, coder->count); - *old_memlimit = coder->memlimit; - - if (new_memlimit != 0) { - if (new_memlimit < *memusage) - return LZMA_MEMLIMIT_ERROR; - - coder->memlimit = new_memlimit; - } - - return LZMA_OK; -} - - -static lzma_ret -index_decoder_reset(lzma_coder *coder, lzma_allocator *allocator, - lzma_index **i, uint64_t memlimit) -{ - // Remember the pointer given by the application. We will set it - // to point to the decoded Index only if decoding is successful. - // Before that, keep it NULL so that applications can always safely - // pass it to lzma_index_end() no matter did decoding succeed or not. - coder->index_ptr = i; - *i = NULL; - - // We always allocate a new lzma_index. - coder->index = lzma_index_init(allocator); - if (coder->index == NULL) - return LZMA_MEM_ERROR; - - // Initialize the rest. - coder->sequence = SEQ_INDICATOR; - coder->memlimit = memlimit; - coder->count = 0; // Needs to be initialized due to _memconfig(). - coder->pos = 0; - coder->crc32 = 0; - - return LZMA_OK; -} - - -static lzma_ret -index_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - lzma_index **i, uint64_t memlimit) -{ - lzma_next_coder_init(&index_decoder_init, next, allocator); - - if (i == NULL || memlimit == 0) - return LZMA_PROG_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &index_decode; - next->end = &index_decoder_end; - next->memconfig = &index_decoder_memconfig; - next->coder->index = NULL; - } else { - lzma_index_end(next->coder->index, allocator); - } - - return index_decoder_reset(next->coder, allocator, i, memlimit); -} - - -extern LZMA_API(lzma_ret) -lzma_index_decoder(lzma_stream *strm, lzma_index **i, uint64_t memlimit) -{ - lzma_next_strm_init(index_decoder_init, strm, i, memlimit); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_buffer_decode( - lzma_index **i, uint64_t *memlimit, lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size) -{ - // Sanity checks - if (i == NULL || memlimit == NULL - || in == NULL || in_pos == NULL || *in_pos > in_size) - return LZMA_PROG_ERROR; - - // Initialize the decoder. - lzma_coder coder; - return_if_error(index_decoder_reset(&coder, allocator, i, *memlimit)); - - // Store the input start position so that we can restore it in case - // of an error. - const size_t in_start = *in_pos; - - // Do the actual decoding. - lzma_ret ret = index_decode(&coder, allocator, in, in_pos, in_size, - NULL, NULL, 0, LZMA_RUN); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - // Something went wrong, free the Index structure and restore - // the input position. - lzma_index_end(coder.index, allocator); - *in_pos = in_start; - - if (ret == LZMA_OK) { - // The input is truncated or otherwise corrupt. - // Use LZMA_DATA_ERROR instead of LZMA_BUF_ERROR - // like lzma_vli_decode() does in single-call mode. - ret = LZMA_DATA_ERROR; - - } else if (ret == LZMA_MEMLIMIT_ERROR) { - // Tell the caller how much memory would have - // been needed. - *memlimit = lzma_index_memusage(1, coder.count); - } - } - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/index_encoder.c b/Build/source/extra/xz/src/liblzma/common/index_encoder.c deleted file mode 100644 index 45919f094c4..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index_encoder.c +++ /dev/null @@ -1,254 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index_encoder.c -/// \brief Encodes the Index field -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "index_encoder.h" -#include "index.h" -#include "check.h" - - -struct lzma_coder_s { - enum { - SEQ_INDICATOR, - SEQ_COUNT, - SEQ_UNPADDED, - SEQ_UNCOMPRESSED, - SEQ_NEXT, - SEQ_PADDING, - SEQ_CRC32, - } sequence; - - /// Index being encoded - const lzma_index *index; - - /// Iterator for the Index being encoded - lzma_index_iter iter; - - /// Position in integers - size_t pos; - - /// CRC32 of the List of Records field - uint32_t crc32; -}; - - -static lzma_ret -index_encode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((__unused__)), - const uint8_t *restrict in lzma_attribute((__unused__)), - size_t *restrict in_pos lzma_attribute((__unused__)), - size_t in_size lzma_attribute((__unused__)), - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size, - lzma_action action lzma_attribute((__unused__))) -{ - // Position where to start calculating CRC32. The idea is that we - // need to call lzma_crc32() only once per call to index_encode(). - const size_t out_start = *out_pos; - - // Return value to use if we return at the end of this function. - // We use "goto out" to jump out of the while-switch construct - // instead of returning directly, because that way we don't need - // to copypaste the lzma_crc32() call to many places. - lzma_ret ret = LZMA_OK; - - while (*out_pos < out_size) - switch (coder->sequence) { - case SEQ_INDICATOR: - out[*out_pos] = 0x00; - ++*out_pos; - coder->sequence = SEQ_COUNT; - break; - - case SEQ_COUNT: { - const lzma_vli count = lzma_index_block_count(coder->index); - ret = lzma_vli_encode(count, &coder->pos, - out, out_pos, out_size); - if (ret != LZMA_STREAM_END) - goto out; - - ret = LZMA_OK; - coder->pos = 0; - coder->sequence = SEQ_NEXT; - break; - } - - case SEQ_NEXT: - if (lzma_index_iter_next( - &coder->iter, LZMA_INDEX_ITER_BLOCK)) { - // Get the size of the Index Padding field. - coder->pos = lzma_index_padding_size(coder->index); - assert(coder->pos <= 3); - coder->sequence = SEQ_PADDING; - break; - } - - coder->sequence = SEQ_UNPADDED; - - // Fall through - - case SEQ_UNPADDED: - case SEQ_UNCOMPRESSED: { - const lzma_vli size = coder->sequence == SEQ_UNPADDED - ? coder->iter.block.unpadded_size - : coder->iter.block.uncompressed_size; - - ret = lzma_vli_encode(size, &coder->pos, - out, out_pos, out_size); - if (ret != LZMA_STREAM_END) - goto out; - - ret = LZMA_OK; - coder->pos = 0; - - // Advance to SEQ_UNCOMPRESSED or SEQ_NEXT. - ++coder->sequence; - break; - } - - case SEQ_PADDING: - if (coder->pos > 0) { - --coder->pos; - out[(*out_pos)++] = 0x00; - break; - } - - // Finish the CRC32 calculation. - coder->crc32 = lzma_crc32(out + out_start, - *out_pos - out_start, coder->crc32); - - coder->sequence = SEQ_CRC32; - - // Fall through - - case SEQ_CRC32: - // We don't use the main loop, because we don't want - // coder->crc32 to be touched anymore. - do { - if (*out_pos == out_size) - return LZMA_OK; - - out[*out_pos] = (coder->crc32 >> (coder->pos * 8)) - & 0xFF; - ++*out_pos; - - } while (++coder->pos < 4); - - return LZMA_STREAM_END; - - default: - assert(0); - return LZMA_PROG_ERROR; - } - -out: - // Update the CRC32. - coder->crc32 = lzma_crc32(out + out_start, - *out_pos - out_start, coder->crc32); - - return ret; -} - - -static void -index_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_free(coder, allocator); - return; -} - - -static void -index_encoder_reset(lzma_coder *coder, const lzma_index *i) -{ - lzma_index_iter_init(&coder->iter, i); - - coder->sequence = SEQ_INDICATOR; - coder->index = i; - coder->pos = 0; - coder->crc32 = 0; - - return; -} - - -extern lzma_ret -lzma_index_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_index *i) -{ - lzma_next_coder_init(&lzma_index_encoder_init, next, allocator); - - if (i == NULL) - return LZMA_PROG_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &index_encode; - next->end = &index_encoder_end; - } - - index_encoder_reset(next->coder, i); - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_encoder(lzma_stream *strm, const lzma_index *i) -{ - lzma_next_strm_init(lzma_index_encoder_init, strm, i); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_buffer_encode(const lzma_index *i, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Validate the arguments. - if (i == NULL || out == NULL || out_pos == NULL || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // Don't try to encode if there's not enough output space. - if (out_size - *out_pos < lzma_index_size(i)) - return LZMA_BUF_ERROR; - - // The Index encoder needs just one small data structure so we can - // allocate it on stack. - lzma_coder coder; - index_encoder_reset(&coder, i); - - // Do the actual encoding. This should never fail, but store - // the original *out_pos just in case. - const size_t out_start = *out_pos; - lzma_ret ret = index_encode(&coder, NULL, NULL, NULL, 0, - out, out_pos, out_size, LZMA_RUN); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - // We should never get here, but just in case, restore the - // output position and set the error accordingly if something - // goes wrong and debugging isn't enabled. - assert(0); - *out_pos = out_start; - ret = LZMA_PROG_ERROR; - } - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/index_encoder.h b/Build/source/extra/xz/src/liblzma/common/index_encoder.h deleted file mode 100644 index a13c94dcd07..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index_encoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index_encoder.h -/// \brief Encodes the Index field -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_INDEX_ENCODER_H -#define LZMA_INDEX_ENCODER_H - -#include "common.h" - - -extern lzma_ret lzma_index_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_index *i); - - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/index_hash.c b/Build/source/extra/xz/src/liblzma/common/index_hash.c deleted file mode 100644 index e3e9386ae8e..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/index_hash.c +++ /dev/null @@ -1,332 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file index_hash.c -/// \brief Validates Index by using a hash function -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" -#include "index.h" -#include "check.h" - - -typedef struct { - /// Sum of the Block sizes (including Block Padding) - lzma_vli blocks_size; - - /// Sum of the Uncompressed Size fields - lzma_vli uncompressed_size; - - /// Number of Records - lzma_vli count; - - /// Size of the List of Index Records as bytes - lzma_vli index_list_size; - - /// Check calculated from Unpadded Sizes and Uncompressed Sizes. - lzma_check_state check; - -} lzma_index_hash_info; - - -struct lzma_index_hash_s { - enum { - SEQ_BLOCK, - SEQ_COUNT, - SEQ_UNPADDED, - SEQ_UNCOMPRESSED, - SEQ_PADDING_INIT, - SEQ_PADDING, - SEQ_CRC32, - } sequence; - - /// Information collected while decoding the actual Blocks. - lzma_index_hash_info blocks; - - /// Information collected from the Index field. - lzma_index_hash_info records; - - /// Number of Records not fully decoded - lzma_vli remaining; - - /// Unpadded Size currently being read from an Index Record. - lzma_vli unpadded_size; - - /// Uncompressed Size currently being read from an Index Record. - lzma_vli uncompressed_size; - - /// Position in variable-length integers when decoding them from - /// the List of Records. - size_t pos; - - /// CRC32 of the Index - uint32_t crc32; -}; - - -extern LZMA_API(lzma_index_hash *) -lzma_index_hash_init(lzma_index_hash *index_hash, lzma_allocator *allocator) -{ - if (index_hash == NULL) { - index_hash = lzma_alloc(sizeof(lzma_index_hash), allocator); - if (index_hash == NULL) - return NULL; - } - - index_hash->sequence = SEQ_BLOCK; - index_hash->blocks.blocks_size = 0; - index_hash->blocks.uncompressed_size = 0; - index_hash->blocks.count = 0; - index_hash->blocks.index_list_size = 0; - index_hash->records.blocks_size = 0; - index_hash->records.uncompressed_size = 0; - index_hash->records.count = 0; - index_hash->records.index_list_size = 0; - index_hash->unpadded_size = 0; - index_hash->uncompressed_size = 0; - index_hash->pos = 0; - index_hash->crc32 = 0; - - // These cannot fail because LZMA_CHECK_BEST is known to be supported. - (void)lzma_check_init(&index_hash->blocks.check, LZMA_CHECK_BEST); - (void)lzma_check_init(&index_hash->records.check, LZMA_CHECK_BEST); - - return index_hash; -} - - -extern LZMA_API(void) -lzma_index_hash_end(lzma_index_hash *index_hash, lzma_allocator *allocator) -{ - lzma_free(index_hash, allocator); - return; -} - - -extern LZMA_API(lzma_vli) -lzma_index_hash_size(const lzma_index_hash *index_hash) -{ - // Get the size of the Index from ->blocks instead of ->records for - // cases where application wants to know the Index Size before - // decoding the Index. - return index_size(index_hash->blocks.count, - index_hash->blocks.index_list_size); -} - - -/// Updates the sizes and the hash without any validation. -static lzma_ret -hash_append(lzma_index_hash_info *info, lzma_vli unpadded_size, - lzma_vli uncompressed_size) -{ - info->blocks_size += vli_ceil4(unpadded_size); - info->uncompressed_size += uncompressed_size; - info->index_list_size += lzma_vli_size(unpadded_size) - + lzma_vli_size(uncompressed_size); - ++info->count; - - const lzma_vli sizes[2] = { unpadded_size, uncompressed_size }; - lzma_check_update(&info->check, LZMA_CHECK_BEST, - (const uint8_t *)(sizes), sizeof(sizes)); - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_hash_append(lzma_index_hash *index_hash, lzma_vli unpadded_size, - lzma_vli uncompressed_size) -{ - // Validate the arguments. - if (index_hash->sequence != SEQ_BLOCK - || unpadded_size < UNPADDED_SIZE_MIN - || unpadded_size > UNPADDED_SIZE_MAX - || uncompressed_size > LZMA_VLI_MAX) - return LZMA_PROG_ERROR; - - // Update the hash. - return_if_error(hash_append(&index_hash->blocks, - unpadded_size, uncompressed_size)); - - // Validate the properties of *info are still in allowed limits. - if (index_hash->blocks.blocks_size > LZMA_VLI_MAX - || index_hash->blocks.uncompressed_size > LZMA_VLI_MAX - || index_size(index_hash->blocks.count, - index_hash->blocks.index_list_size) - > LZMA_BACKWARD_SIZE_MAX - || index_stream_size(index_hash->blocks.blocks_size, - index_hash->blocks.count, - index_hash->blocks.index_list_size) - > LZMA_VLI_MAX) - return LZMA_DATA_ERROR; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_index_hash_decode(lzma_index_hash *index_hash, const uint8_t *in, - size_t *in_pos, size_t in_size) -{ - // Catch zero input buffer here, because in contrast to Index encoder - // and decoder functions, applications call this function directly - // instead of via lzma_code(), which does the buffer checking. - if (*in_pos >= in_size) - return LZMA_BUF_ERROR; - - // NOTE: This function has many similarities to index_encode() and - // index_decode() functions found from index_encoder.c and - // index_decoder.c. See the comments especially in index_encoder.c. - const size_t in_start = *in_pos; - lzma_ret ret = LZMA_OK; - - while (*in_pos < in_size) - switch (index_hash->sequence) { - case SEQ_BLOCK: - // Check the Index Indicator is present. - if (in[(*in_pos)++] != 0x00) - return LZMA_DATA_ERROR; - - index_hash->sequence = SEQ_COUNT; - break; - - case SEQ_COUNT: { - ret = lzma_vli_decode(&index_hash->remaining, - &index_hash->pos, in, in_pos, in_size); - if (ret != LZMA_STREAM_END) - goto out; - - // The count must match the count of the Blocks decoded. - if (index_hash->remaining != index_hash->blocks.count) - return LZMA_DATA_ERROR; - - ret = LZMA_OK; - index_hash->pos = 0; - - // Handle the special case when there are no Blocks. - index_hash->sequence = index_hash->remaining == 0 - ? SEQ_PADDING_INIT : SEQ_UNPADDED; - break; - } - - case SEQ_UNPADDED: - case SEQ_UNCOMPRESSED: { - lzma_vli *size = index_hash->sequence == SEQ_UNPADDED - ? &index_hash->unpadded_size - : &index_hash->uncompressed_size; - - ret = lzma_vli_decode(size, &index_hash->pos, - in, in_pos, in_size); - if (ret != LZMA_STREAM_END) - goto out; - - ret = LZMA_OK; - index_hash->pos = 0; - - if (index_hash->sequence == SEQ_UNPADDED) { - if (index_hash->unpadded_size < UNPADDED_SIZE_MIN - || index_hash->unpadded_size - > UNPADDED_SIZE_MAX) - return LZMA_DATA_ERROR; - - index_hash->sequence = SEQ_UNCOMPRESSED; - } else { - // Update the hash. - return_if_error(hash_append(&index_hash->records, - index_hash->unpadded_size, - index_hash->uncompressed_size)); - - // Verify that we don't go over the known sizes. Note - // that this validation is simpler than the one used - // in lzma_index_hash_append(), because here we know - // that values in index_hash->blocks are already - // validated and we are fine as long as we don't - // exceed them in index_hash->records. - if (index_hash->blocks.blocks_size - < index_hash->records.blocks_size - || index_hash->blocks.uncompressed_size - < index_hash->records.uncompressed_size - || index_hash->blocks.index_list_size - < index_hash->records.index_list_size) - return LZMA_DATA_ERROR; - - // Check if this was the last Record. - index_hash->sequence = --index_hash->remaining == 0 - ? SEQ_PADDING_INIT : SEQ_UNPADDED; - } - - break; - } - - case SEQ_PADDING_INIT: - index_hash->pos = (LZMA_VLI_C(4) - index_size_unpadded( - index_hash->records.count, - index_hash->records.index_list_size)) & 3; - index_hash->sequence = SEQ_PADDING; - - // Fall through - - case SEQ_PADDING: - if (index_hash->pos > 0) { - --index_hash->pos; - if (in[(*in_pos)++] != 0x00) - return LZMA_DATA_ERROR; - - break; - } - - // Compare the sizes. - if (index_hash->blocks.blocks_size - != index_hash->records.blocks_size - || index_hash->blocks.uncompressed_size - != index_hash->records.uncompressed_size - || index_hash->blocks.index_list_size - != index_hash->records.index_list_size) - return LZMA_DATA_ERROR; - - // Finish the hashes and compare them. - lzma_check_finish(&index_hash->blocks.check, LZMA_CHECK_BEST); - lzma_check_finish(&index_hash->records.check, LZMA_CHECK_BEST); - if (memcmp(index_hash->blocks.check.buffer.u8, - index_hash->records.check.buffer.u8, - lzma_check_size(LZMA_CHECK_BEST)) != 0) - return LZMA_DATA_ERROR; - - // Finish the CRC32 calculation. - index_hash->crc32 = lzma_crc32(in + in_start, - *in_pos - in_start, index_hash->crc32); - - index_hash->sequence = SEQ_CRC32; - - // Fall through - - case SEQ_CRC32: - do { - if (*in_pos == in_size) - return LZMA_OK; - - if (((index_hash->crc32 >> (index_hash->pos * 8)) - & 0xFF) != in[(*in_pos)++]) - return LZMA_DATA_ERROR; - - } while (++index_hash->pos < 4); - - return LZMA_STREAM_END; - - default: - assert(0); - return LZMA_PROG_ERROR; - } - -out: - // Update the CRC32, - index_hash->crc32 = lzma_crc32(in + in_start, - *in_pos - in_start, index_hash->crc32); - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_buffer_decoder.c b/Build/source/extra/xz/src/liblzma/common/stream_buffer_decoder.c deleted file mode 100644 index ae753155180..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_buffer_decoder.c +++ /dev/null @@ -1,91 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_buffer_decoder.c -/// \brief Single-call .xz Stream decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_decoder.h" - - -extern LZMA_API(lzma_ret) -lzma_stream_buffer_decode(uint64_t *memlimit, uint32_t flags, - lzma_allocator *allocator, - const uint8_t *in, size_t *in_pos, size_t in_size, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - // Sanity checks - if (in_pos == NULL || (in == NULL && *in_pos != in_size) - || *in_pos > in_size || out_pos == NULL - || (out == NULL && *out_pos != out_size) - || *out_pos > out_size) - return LZMA_PROG_ERROR; - - // Catch flags that are not allowed in buffer-to-buffer decoding. - if (flags & LZMA_TELL_ANY_CHECK) - return LZMA_PROG_ERROR; - - // Initialize the Stream decoder. - // TODO: We need something to tell the decoder that it can use the - // output buffer as workspace, and thus save significant amount of RAM. - lzma_next_coder stream_decoder = LZMA_NEXT_CODER_INIT; - lzma_ret ret = lzma_stream_decoder_init( - &stream_decoder, allocator, *memlimit, flags); - - if (ret == LZMA_OK) { - // Save the positions so that we can restore them in case - // an error occurs. - const size_t in_start = *in_pos; - const size_t out_start = *out_pos; - - // Do the actual decoding. - ret = stream_decoder.code(stream_decoder.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, - LZMA_FINISH); - - if (ret == LZMA_STREAM_END) { - ret = LZMA_OK; - } else { - // Something went wrong, restore the positions. - *in_pos = in_start; - *out_pos = out_start; - - if (ret == LZMA_OK) { - // Either the input was truncated or the - // output buffer was too small. - assert(*in_pos == in_size - || *out_pos == out_size); - - // If all the input was consumed, then the - // input is truncated, even if the output - // buffer is also full. This is because - // processing the last byte of the Stream - // never produces output. - if (*in_pos == in_size) - ret = LZMA_DATA_ERROR; - else - ret = LZMA_BUF_ERROR; - - } else if (ret == LZMA_MEMLIMIT_ERROR) { - // Let the caller know how much memory would - // have been needed. - uint64_t memusage; - (void)stream_decoder.memconfig( - stream_decoder.coder, - memlimit, &memusage, 0); - } - } - } - - // Free the decoder memory. This needs to be done even if - // initialization fails, because the internal API doesn't - // require the initialization function to free its memory on error. - lzma_next_end(&stream_decoder, allocator); - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c deleted file mode 100644 index 2450ee2e1fa..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c +++ /dev/null @@ -1,140 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_buffer_encoder.c -/// \brief Single-call .xz Stream encoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "index.h" - - -/// Maximum size of Index that has exactly one Record. -/// Index Indicator + Number of Records + Record + CRC32 rounded up to -/// the next multiple of four. -#define INDEX_BOUND ((1 + 1 + 2 * LZMA_VLI_BYTES_MAX + 4 + 3) & ~3) - -/// Stream Header, Stream Footer, and Index -#define HEADERS_BOUND (2 * LZMA_STREAM_HEADER_SIZE + INDEX_BOUND) - - -extern LZMA_API(size_t) -lzma_stream_buffer_bound(size_t uncompressed_size) -{ - // Get the maximum possible size of a Block. - const size_t block_bound = lzma_block_buffer_bound(uncompressed_size); - if (block_bound == 0) - return 0; - - // Catch the possible integer overflow and also prevent the size of - // the Stream exceeding LZMA_VLI_MAX (theoretically possible on - // 64-bit systems). - if (my_min(SIZE_MAX, LZMA_VLI_MAX) - block_bound < HEADERS_BOUND) - return 0; - - return block_bound + HEADERS_BOUND; -} - - -extern LZMA_API(lzma_ret) -lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check, - lzma_allocator *allocator, const uint8_t *in, size_t in_size, - uint8_t *out, size_t *out_pos_ptr, size_t out_size) -{ - // Sanity checks - if (filters == NULL || (unsigned int)(check) > LZMA_CHECK_ID_MAX - || (in == NULL && in_size != 0) || out == NULL - || out_pos_ptr == NULL || *out_pos_ptr > out_size) - return LZMA_PROG_ERROR; - - if (!lzma_check_is_supported(check)) - return LZMA_UNSUPPORTED_CHECK; - - // Note for the paranoids: Index encoder prevents the Stream from - // getting too big and still being accepted with LZMA_OK, and Block - // encoder catches if the input is too big. So we don't need to - // separately check if the buffers are too big. - - // Use a local copy. We update *out_pos_ptr only if everything - // succeeds. - size_t out_pos = *out_pos_ptr; - - // Check that there's enough space for both Stream Header and - // Stream Footer. - if (out_size - out_pos <= 2 * LZMA_STREAM_HEADER_SIZE) - return LZMA_BUF_ERROR; - - // Reserve space for Stream Footer so we don't need to check for - // available space again before encoding Stream Footer. - out_size -= LZMA_STREAM_HEADER_SIZE; - - // Encode the Stream Header. - lzma_stream_flags stream_flags = { - .version = 0, - .check = check, - }; - - if (lzma_stream_header_encode(&stream_flags, out + out_pos) - != LZMA_OK) - return LZMA_PROG_ERROR; - - out_pos += LZMA_STREAM_HEADER_SIZE; - - // Encode a Block but only if there is at least one byte of input. - lzma_block block = { - .version = 0, - .check = check, - .filters = filters, - }; - - if (in_size > 0) - return_if_error(lzma_block_buffer_encode(&block, allocator, - in, in_size, out, &out_pos, out_size)); - - // Index - { - // Create an Index. It will have one Record if there was - // at least one byte of input to encode. Otherwise the - // Index will be empty. - lzma_index *i = lzma_index_init(allocator); - if (i == NULL) - return LZMA_MEM_ERROR; - - lzma_ret ret = LZMA_OK; - - if (in_size > 0) - ret = lzma_index_append(i, allocator, - lzma_block_unpadded_size(&block), - block.uncompressed_size); - - // If adding the Record was successful, encode the Index - // and get its size which will be stored into Stream Footer. - if (ret == LZMA_OK) { - ret = lzma_index_buffer_encode( - i, out, &out_pos, out_size); - - stream_flags.backward_size = lzma_index_size(i); - } - - lzma_index_end(i, allocator); - - if (ret != LZMA_OK) - return ret; - } - - // Stream Footer. We have already reserved space for this. - if (lzma_stream_footer_encode(&stream_flags, out + out_pos) - != LZMA_OK) - return LZMA_PROG_ERROR; - - out_pos += LZMA_STREAM_HEADER_SIZE; - - // Everything went fine, make the new output position available - // to the application. - *out_pos_ptr = out_pos; - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_decoder.c b/Build/source/extra/xz/src/liblzma/common/stream_decoder.c deleted file mode 100644 index 37ea71edbd7..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_decoder.c +++ /dev/null @@ -1,451 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_decoder.c -/// \brief Decodes .xz Streams -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_decoder.h" -#include "block_decoder.h" - - -struct lzma_coder_s { - enum { - SEQ_STREAM_HEADER, - SEQ_BLOCK_HEADER, - SEQ_BLOCK, - SEQ_INDEX, - SEQ_STREAM_FOOTER, - SEQ_STREAM_PADDING, - } sequence; - - /// Block or Metadata decoder. This takes little memory and the same - /// data structure can be used to decode every Block Header, so it's - /// a good idea to have a separate lzma_next_coder structure for it. - lzma_next_coder block_decoder; - - /// Block options decoded by the Block Header decoder and used by - /// the Block decoder. - lzma_block block_options; - - /// Stream Flags from Stream Header - lzma_stream_flags stream_flags; - - /// Index is hashed so that it can be compared to the sizes of Blocks - /// with O(1) memory usage. - lzma_index_hash *index_hash; - - /// Memory usage limit - uint64_t memlimit; - - /// Amount of memory actually needed (only an estimate) - uint64_t memusage; - - /// If true, LZMA_NO_CHECK is returned if the Stream has - /// no integrity check. - bool tell_no_check; - - /// If true, LZMA_UNSUPPORTED_CHECK is returned if the Stream has - /// an integrity check that isn't supported by this liblzma build. - bool tell_unsupported_check; - - /// If true, LZMA_GET_CHECK is returned after decoding Stream Header. - bool tell_any_check; - - /// If true, we will decode concatenated Streams that possibly have - /// Stream Padding between or after them. LZMA_STREAM_END is returned - /// once the application isn't giving us any new input, and we aren't - /// in the middle of a Stream, and possible Stream Padding is a - /// multiple of four bytes. - bool concatenated; - - /// When decoding concatenated Streams, this is true as long as we - /// are decoding the first Stream. This is needed to avoid misleading - /// LZMA_FORMAT_ERROR in case the later Streams don't have valid magic - /// bytes. - bool first_stream; - - /// Write position in buffer[] and position in Stream Padding - size_t pos; - - /// Buffer to hold Stream Header, Block Header, and Stream Footer. - /// Block Header has biggest maximum size. - uint8_t buffer[LZMA_BLOCK_HEADER_SIZE_MAX]; -}; - - -static lzma_ret -stream_decoder_reset(lzma_coder *coder, lzma_allocator *allocator) -{ - // Initialize the Index hash used to verify the Index. - coder->index_hash = lzma_index_hash_init(coder->index_hash, allocator); - if (coder->index_hash == NULL) - return LZMA_MEM_ERROR; - - // Reset the rest of the variables. - coder->sequence = SEQ_STREAM_HEADER; - coder->pos = 0; - - return LZMA_OK; -} - - -static lzma_ret -stream_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - // When decoding the actual Block, it may be able to produce more - // output even if we don't give it any new input. - while (true) - switch (coder->sequence) { - case SEQ_STREAM_HEADER: { - // Copy the Stream Header to the internal buffer. - lzma_bufcpy(in, in_pos, in_size, coder->buffer, &coder->pos, - LZMA_STREAM_HEADER_SIZE); - - // Return if we didn't get the whole Stream Header yet. - if (coder->pos < LZMA_STREAM_HEADER_SIZE) - return LZMA_OK; - - coder->pos = 0; - - // Decode the Stream Header. - const lzma_ret ret = lzma_stream_header_decode( - &coder->stream_flags, coder->buffer); - if (ret != LZMA_OK) - return ret == LZMA_FORMAT_ERROR && !coder->first_stream - ? LZMA_DATA_ERROR : ret; - - // If we are decoding concatenated Streams, and the later - // Streams have invalid Header Magic Bytes, we give - // LZMA_DATA_ERROR instead of LZMA_FORMAT_ERROR. - coder->first_stream = false; - - // Copy the type of the Check so that Block Header and Block - // decoders see it. - coder->block_options.check = coder->stream_flags.check; - - // Even if we return LZMA_*_CHECK below, we want - // to continue from Block Header decoding. - coder->sequence = SEQ_BLOCK_HEADER; - - // Detect if there's no integrity check or if it is - // unsupported if those were requested by the application. - if (coder->tell_no_check && coder->stream_flags.check - == LZMA_CHECK_NONE) - return LZMA_NO_CHECK; - - if (coder->tell_unsupported_check - && !lzma_check_is_supported( - coder->stream_flags.check)) - return LZMA_UNSUPPORTED_CHECK; - - if (coder->tell_any_check) - return LZMA_GET_CHECK; - } - - // Fall through - - case SEQ_BLOCK_HEADER: { - if (*in_pos >= in_size) - return LZMA_OK; - - if (coder->pos == 0) { - // Detect if it's Index. - if (in[*in_pos] == 0x00) { - coder->sequence = SEQ_INDEX; - break; - } - - // Calculate the size of the Block Header. Note that - // Block Header decoder wants to see this byte too - // so don't advance *in_pos. - coder->block_options.header_size - = lzma_block_header_size_decode( - in[*in_pos]); - } - - // Copy the Block Header to the internal buffer. - lzma_bufcpy(in, in_pos, in_size, coder->buffer, &coder->pos, - coder->block_options.header_size); - - // Return if we didn't get the whole Block Header yet. - if (coder->pos < coder->block_options.header_size) - return LZMA_OK; - - coder->pos = 0; - - // Version 0 is currently the only possible version. - coder->block_options.version = 0; - - // Set up a buffer to hold the filter chain. Block Header - // decoder will initialize all members of this array so - // we don't need to do it here. - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - coder->block_options.filters = filters; - - // Decode the Block Header. - return_if_error(lzma_block_header_decode(&coder->block_options, - allocator, coder->buffer)); - - // Check the memory usage limit. - const uint64_t memusage = lzma_raw_decoder_memusage(filters); - lzma_ret ret; - - if (memusage == UINT64_MAX) { - // One or more unknown Filter IDs. - ret = LZMA_OPTIONS_ERROR; - } else { - // Now we can set coder->memusage since we know that - // the filter chain is valid. We don't want - // lzma_memusage() to return UINT64_MAX in case of - // invalid filter chain. - coder->memusage = memusage; - - if (memusage > coder->memlimit) { - // The chain would need too much memory. - ret = LZMA_MEMLIMIT_ERROR; - } else { - // Memory usage is OK. - // Initialize the Block decoder. - ret = lzma_block_decoder_init( - &coder->block_decoder, - allocator, - &coder->block_options); - } - } - - // Free the allocated filter options since they are needed - // only to initialize the Block decoder. - for (size_t i = 0; i < LZMA_FILTERS_MAX; ++i) - lzma_free(filters[i].options, allocator); - - coder->block_options.filters = NULL; - - // Check if memory usage calculation and Block enocoder - // initialization succeeded. - if (ret != LZMA_OK) - return ret; - - coder->sequence = SEQ_BLOCK; - } - - // Fall through - - case SEQ_BLOCK: { - const lzma_ret ret = coder->block_decoder.code( - coder->block_decoder.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, - action); - - if (ret != LZMA_STREAM_END) - return ret; - - // Block decoded successfully. Add the new size pair to - // the Index hash. - return_if_error(lzma_index_hash_append(coder->index_hash, - lzma_block_unpadded_size( - &coder->block_options), - coder->block_options.uncompressed_size)); - - coder->sequence = SEQ_BLOCK_HEADER; - break; - } - - case SEQ_INDEX: { - // If we don't have any input, don't call - // lzma_index_hash_decode() since it would return - // LZMA_BUF_ERROR, which we must not do here. - if (*in_pos >= in_size) - return LZMA_OK; - - // Decode the Index and compare it to the hash calculated - // from the sizes of the Blocks (if any). - const lzma_ret ret = lzma_index_hash_decode(coder->index_hash, - in, in_pos, in_size); - if (ret != LZMA_STREAM_END) - return ret; - - coder->sequence = SEQ_STREAM_FOOTER; - } - - // Fall through - - case SEQ_STREAM_FOOTER: { - // Copy the Stream Footer to the internal buffer. - lzma_bufcpy(in, in_pos, in_size, coder->buffer, &coder->pos, - LZMA_STREAM_HEADER_SIZE); - - // Return if we didn't get the whole Stream Footer yet. - if (coder->pos < LZMA_STREAM_HEADER_SIZE) - return LZMA_OK; - - coder->pos = 0; - - // Decode the Stream Footer. The decoder gives - // LZMA_FORMAT_ERROR if the magic bytes don't match, - // so convert that return code to LZMA_DATA_ERROR. - lzma_stream_flags footer_flags; - const lzma_ret ret = lzma_stream_footer_decode( - &footer_flags, coder->buffer); - if (ret != LZMA_OK) - return ret == LZMA_FORMAT_ERROR - ? LZMA_DATA_ERROR : ret; - - // Check that Index Size stored in the Stream Footer matches - // the real size of the Index field. - if (lzma_index_hash_size(coder->index_hash) - != footer_flags.backward_size) - return LZMA_DATA_ERROR; - - // Compare that the Stream Flags fields are identical in - // both Stream Header and Stream Footer. - return_if_error(lzma_stream_flags_compare( - &coder->stream_flags, &footer_flags)); - - if (!coder->concatenated) - return LZMA_STREAM_END; - - coder->sequence = SEQ_STREAM_PADDING; - } - - // Fall through - - case SEQ_STREAM_PADDING: - assert(coder->concatenated); - - // Skip over possible Stream Padding. - while (true) { - if (*in_pos >= in_size) { - // Unless LZMA_FINISH was used, we cannot - // know if there's more input coming later. - if (action != LZMA_FINISH) - return LZMA_OK; - - // Stream Padding must be a multiple of - // four bytes. - return coder->pos == 0 - ? LZMA_STREAM_END - : LZMA_DATA_ERROR; - } - - // If the byte is not zero, it probably indicates - // beginning of a new Stream (or the file is corrupt). - if (in[*in_pos] != 0x00) - break; - - ++*in_pos; - coder->pos = (coder->pos + 1) & 3; - } - - // Stream Padding must be a multiple of four bytes (empty - // Stream Padding is OK). - if (coder->pos != 0) { - ++*in_pos; - return LZMA_DATA_ERROR; - } - - // Prepare to decode the next Stream. - return_if_error(stream_decoder_reset(coder, allocator)); - break; - - default: - assert(0); - return LZMA_PROG_ERROR; - } - - // Never reached -} - - -static void -stream_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->block_decoder, allocator); - lzma_index_hash_end(coder->index_hash, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_check -stream_decoder_get_check(const lzma_coder *coder) -{ - return coder->stream_flags.check; -} - - -static lzma_ret -stream_decoder_memconfig(lzma_coder *coder, uint64_t *memusage, - uint64_t *old_memlimit, uint64_t new_memlimit) -{ - *memusage = coder->memusage; - *old_memlimit = coder->memlimit; - - if (new_memlimit != 0) { - if (new_memlimit < coder->memusage) - return LZMA_MEMLIMIT_ERROR; - - coder->memlimit = new_memlimit; - } - - return LZMA_OK; -} - - -extern lzma_ret -lzma_stream_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - uint64_t memlimit, uint32_t flags) -{ - lzma_next_coder_init(&lzma_stream_decoder_init, next, allocator); - - if (memlimit == 0) - return LZMA_PROG_ERROR; - - if (flags & ~LZMA_SUPPORTED_FLAGS) - return LZMA_OPTIONS_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &stream_decode; - next->end = &stream_decoder_end; - next->get_check = &stream_decoder_get_check; - next->memconfig = &stream_decoder_memconfig; - - next->coder->block_decoder = LZMA_NEXT_CODER_INIT; - next->coder->index_hash = NULL; - } - - next->coder->memlimit = memlimit; - next->coder->memusage = LZMA_MEMUSAGE_BASE; - next->coder->tell_no_check = (flags & LZMA_TELL_NO_CHECK) != 0; - next->coder->tell_unsupported_check - = (flags & LZMA_TELL_UNSUPPORTED_CHECK) != 0; - next->coder->tell_any_check = (flags & LZMA_TELL_ANY_CHECK) != 0; - next->coder->concatenated = (flags & LZMA_CONCATENATED) != 0; - next->coder->first_stream = true; - - return stream_decoder_reset(next->coder, allocator); -} - - -extern LZMA_API(lzma_ret) -lzma_stream_decoder(lzma_stream *strm, uint64_t memlimit, uint32_t flags) -{ - lzma_next_strm_init(lzma_stream_decoder_init, strm, memlimit, flags); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_decoder.h b/Build/source/extra/xz/src/liblzma/common/stream_decoder.h deleted file mode 100644 index e54ac28f44a..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_decoder.h +++ /dev/null @@ -1,21 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_decoder.h -/// \brief Decodes .xz Streams -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_STREAM_DECODER_H -#define LZMA_STREAM_DECODER_H - -#include "common.h" - -extern lzma_ret lzma_stream_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, uint64_t memlimit, uint32_t flags); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_encoder.c deleted file mode 100644 index 97a7a23a813..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c +++ /dev/null @@ -1,331 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_encoder.c -/// \brief Encodes .xz Streams -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_encoder.h" -#include "block_encoder.h" -#include "index_encoder.h" - - -struct lzma_coder_s { - enum { - SEQ_STREAM_HEADER, - SEQ_BLOCK_INIT, - SEQ_BLOCK_HEADER, - SEQ_BLOCK_ENCODE, - SEQ_INDEX_ENCODE, - SEQ_STREAM_FOOTER, - } sequence; - - /// True if Block encoder has been initialized by - /// lzma_stream_encoder_init() or stream_encoder_update() - /// and thus doesn't need to be initialized in stream_encode(). - bool block_encoder_is_initialized; - - /// Block - lzma_next_coder block_encoder; - - /// Options for the Block encoder - lzma_block block_options; - - /// The filter chain currently in use - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - - /// Index encoder. This is separate from Block encoder, because this - /// doesn't take much memory, and when encoding multiple Streams - /// with the same encoding options we avoid reallocating memory. - lzma_next_coder index_encoder; - - /// Index to hold sizes of the Blocks - lzma_index *index; - - /// Read position in buffer[] - size_t buffer_pos; - - /// Total number of bytes in buffer[] - size_t buffer_size; - - /// Buffer to hold Stream Header, Block Header, and Stream Footer. - /// Block Header has biggest maximum size. - uint8_t buffer[LZMA_BLOCK_HEADER_SIZE_MAX]; -}; - - -static lzma_ret -block_encoder_init(lzma_coder *coder, lzma_allocator *allocator) -{ - // Prepare the Block options. Even though Block encoder doesn't need - // compressed_size, uncompressed_size, and header_size to be - // initialized, it is a good idea to do it here, because this way - // we catch if someone gave us Filter ID that cannot be used in - // Blocks/Streams. - coder->block_options.compressed_size = LZMA_VLI_UNKNOWN; - coder->block_options.uncompressed_size = LZMA_VLI_UNKNOWN; - - return_if_error(lzma_block_header_size(&coder->block_options)); - - // Initialize the actual Block encoder. - return lzma_block_encoder_init(&coder->block_encoder, allocator, - &coder->block_options); -} - - -static lzma_ret -stream_encode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - // Main loop - while (*out_pos < out_size) - switch (coder->sequence) { - case SEQ_STREAM_HEADER: - case SEQ_BLOCK_HEADER: - case SEQ_STREAM_FOOTER: - lzma_bufcpy(coder->buffer, &coder->buffer_pos, - coder->buffer_size, out, out_pos, out_size); - if (coder->buffer_pos < coder->buffer_size) - return LZMA_OK; - - if (coder->sequence == SEQ_STREAM_FOOTER) - return LZMA_STREAM_END; - - coder->buffer_pos = 0; - ++coder->sequence; - break; - - case SEQ_BLOCK_INIT: { - if (*in_pos == in_size) { - // If we are requested to flush or finish the current - // Block, return LZMA_STREAM_END immediately since - // there's nothing to do. - if (action != LZMA_FINISH) - return action == LZMA_RUN - ? LZMA_OK : LZMA_STREAM_END; - - // The application had used LZMA_FULL_FLUSH to finish - // the previous Block, but now wants to finish without - // encoding new data, or it is simply creating an - // empty Stream with no Blocks. - // - // Initialize the Index encoder, and continue to - // actually encoding the Index. - return_if_error(lzma_index_encoder_init( - &coder->index_encoder, allocator, - coder->index)); - coder->sequence = SEQ_INDEX_ENCODE; - break; - } - - // Initialize the Block encoder unless it was already - // initialized by lzma_stream_encoder_init() or - // stream_encoder_update(). - if (!coder->block_encoder_is_initialized) - return_if_error(block_encoder_init(coder, allocator)); - - // Make it false so that we don't skip the initialization - // with the next Block. - coder->block_encoder_is_initialized = false; - - // Encode the Block Header. This shouldn't fail since we have - // already initialized the Block encoder. - if (lzma_block_header_encode(&coder->block_options, - coder->buffer) != LZMA_OK) - return LZMA_PROG_ERROR; - - coder->buffer_size = coder->block_options.header_size; - coder->sequence = SEQ_BLOCK_HEADER; - break; - } - - case SEQ_BLOCK_ENCODE: { - static const lzma_action convert[4] = { - LZMA_RUN, - LZMA_SYNC_FLUSH, - LZMA_FINISH, - LZMA_FINISH, - }; - - const lzma_ret ret = coder->block_encoder.code( - coder->block_encoder.coder, allocator, - in, in_pos, in_size, - out, out_pos, out_size, convert[action]); - if (ret != LZMA_STREAM_END || action == LZMA_SYNC_FLUSH) - return ret; - - // Add a new Index Record. - const lzma_vli unpadded_size = lzma_block_unpadded_size( - &coder->block_options); - assert(unpadded_size != 0); - return_if_error(lzma_index_append(coder->index, allocator, - unpadded_size, - coder->block_options.uncompressed_size)); - - coder->sequence = SEQ_BLOCK_INIT; - break; - } - - case SEQ_INDEX_ENCODE: { - // Call the Index encoder. It doesn't take any input, so - // those pointers can be NULL. - const lzma_ret ret = coder->index_encoder.code( - coder->index_encoder.coder, allocator, - NULL, NULL, 0, - out, out_pos, out_size, LZMA_RUN); - if (ret != LZMA_STREAM_END) - return ret; - - // Encode the Stream Footer into coder->buffer. - const lzma_stream_flags stream_flags = { - .version = 0, - .backward_size = lzma_index_size(coder->index), - .check = coder->block_options.check, - }; - - if (lzma_stream_footer_encode(&stream_flags, coder->buffer) - != LZMA_OK) - return LZMA_PROG_ERROR; - - coder->buffer_size = LZMA_STREAM_HEADER_SIZE; - coder->sequence = SEQ_STREAM_FOOTER; - break; - } - - default: - assert(0); - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static void -stream_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->block_encoder, allocator); - lzma_next_end(&coder->index_encoder, allocator); - lzma_index_end(coder->index, allocator); - - for (size_t i = 0; coder->filters[i].id != LZMA_VLI_UNKNOWN; ++i) - lzma_free(coder->filters[i].options, allocator); - - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -stream_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters, - const lzma_filter *reversed_filters) -{ - if (coder->sequence <= SEQ_BLOCK_INIT) { - // There is no incomplete Block waiting to be finished, - // thus we can change the whole filter chain. Start by - // trying to initialize the Block encoder with the new - // chain. This way we detect if the chain is valid. - coder->block_encoder_is_initialized = false; - coder->block_options.filters = (lzma_filter *)(filters); - const lzma_ret ret = block_encoder_init(coder, allocator); - coder->block_options.filters = coder->filters; - if (ret != LZMA_OK) - return ret; - - coder->block_encoder_is_initialized = true; - - } else if (coder->sequence <= SEQ_BLOCK_ENCODE) { - // We are in the middle of a Block. Try to update only - // the filter-specific options. - return_if_error(coder->block_encoder.update( - coder->block_encoder.coder, allocator, - filters, reversed_filters)); - } else { - // Trying to update the filter chain when we are already - // encoding Index or Stream Footer. - return LZMA_PROG_ERROR; - } - - // Free the copy of the old chain and make a copy of the new chain. - for (size_t i = 0; coder->filters[i].id != LZMA_VLI_UNKNOWN; ++i) - lzma_free(coder->filters[i].options, allocator); - - return lzma_filters_copy(filters, coder->filters, allocator); -} - - -extern lzma_ret -lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *filters, lzma_check check) -{ - lzma_next_coder_init(&lzma_stream_encoder_init, next, allocator); - - if (filters == NULL) - return LZMA_PROG_ERROR; - - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &stream_encode; - next->end = &stream_encoder_end; - next->update = &stream_encoder_update; - - next->coder->filters[0].id = LZMA_VLI_UNKNOWN; - next->coder->block_encoder = LZMA_NEXT_CODER_INIT; - next->coder->index_encoder = LZMA_NEXT_CODER_INIT; - next->coder->index = NULL; - } - - // Basic initializations - next->coder->sequence = SEQ_STREAM_HEADER; - next->coder->block_options.version = 0; - next->coder->block_options.check = check; - - // Initialize the Index - lzma_index_end(next->coder->index, allocator); - next->coder->index = lzma_index_init(allocator); - if (next->coder->index == NULL) - return LZMA_MEM_ERROR; - - // Encode the Stream Header - lzma_stream_flags stream_flags = { - .version = 0, - .check = check, - }; - return_if_error(lzma_stream_header_encode( - &stream_flags, next->coder->buffer)); - - next->coder->buffer_pos = 0; - next->coder->buffer_size = LZMA_STREAM_HEADER_SIZE; - - // Initialize the Block encoder. This way we detect unsupported - // filter chains when initializing the Stream encoder instead of - // giving an error after Stream Header has already written out. - return stream_encoder_update( - next->coder, allocator, filters, NULL); -} - - -extern LZMA_API(lzma_ret) -lzma_stream_encoder(lzma_stream *strm, - const lzma_filter *filters, lzma_check check) -{ - lzma_next_strm_init(lzma_stream_encoder_init, strm, filters, check); - - strm->internal->supported_actions[LZMA_RUN] = true; - strm->internal->supported_actions[LZMA_SYNC_FLUSH] = true; - strm->internal->supported_actions[LZMA_FULL_FLUSH] = true; - strm->internal->supported_actions[LZMA_FINISH] = true; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_encoder.h b/Build/source/extra/xz/src/liblzma/common/stream_encoder.h deleted file mode 100644 index 46a7aed72ea..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_encoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_encoder.h -/// \brief Encodes .xz Streams -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_STREAM_ENCODER_H -#define LZMA_STREAM_ENCODER_H - -#include "common.h" - - -extern lzma_ret lzma_stream_encoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter *filters, lzma_check check); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/stream_flags_common.c b/Build/source/extra/xz/src/liblzma/common/stream_flags_common.c deleted file mode 100644 index fbe8eb8abda..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_flags_common.c +++ /dev/null @@ -1,47 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_flags_common.c -/// \brief Common stuff for Stream flags coders -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_flags_common.h" - - -const uint8_t lzma_header_magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 }; -const uint8_t lzma_footer_magic[2] = { 0x59, 0x5A }; - - -extern LZMA_API(lzma_ret) -lzma_stream_flags_compare( - const lzma_stream_flags *a, const lzma_stream_flags *b) -{ - // We can compare only version 0 structures. - if (a->version != 0 || b->version != 0) - return LZMA_OPTIONS_ERROR; - - // Check type - if ((unsigned int)(a->check) > LZMA_CHECK_ID_MAX - || (unsigned int)(b->check) > LZMA_CHECK_ID_MAX) - return LZMA_PROG_ERROR; - - if (a->check != b->check) - return LZMA_DATA_ERROR; - - // Backward Sizes are compared only if they are known in both. - if (a->backward_size != LZMA_VLI_UNKNOWN - && b->backward_size != LZMA_VLI_UNKNOWN) { - if (!is_backward_size_valid(a) || !is_backward_size_valid(b)) - return LZMA_PROG_ERROR; - - if (a->backward_size != b->backward_size) - return LZMA_DATA_ERROR; - } - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_flags_common.h b/Build/source/extra/xz/src/liblzma/common/stream_flags_common.h deleted file mode 100644 index 9f3122a3b1e..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_flags_common.h +++ /dev/null @@ -1,33 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_flags_common.h -/// \brief Common stuff for Stream flags coders -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_STREAM_FLAGS_COMMON_H -#define LZMA_STREAM_FLAGS_COMMON_H - -#include "common.h" - -/// Size of the Stream Flags field -#define LZMA_STREAM_FLAGS_SIZE 2 - -extern const uint8_t lzma_header_magic[6]; -extern const uint8_t lzma_footer_magic[2]; - - -static inline bool -is_backward_size_valid(const lzma_stream_flags *options) -{ - return options->backward_size >= LZMA_BACKWARD_SIZE_MIN - && options->backward_size <= LZMA_BACKWARD_SIZE_MAX - && (options->backward_size & 3) == 0; -} - -#endif diff --git a/Build/source/extra/xz/src/liblzma/common/stream_flags_decoder.c b/Build/source/extra/xz/src/liblzma/common/stream_flags_decoder.c deleted file mode 100644 index 1bc2f97c519..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_flags_decoder.c +++ /dev/null @@ -1,82 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_flags_decoder.c -/// \brief Decodes Stream Header and Stream Footer from .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_flags_common.h" - - -static bool -stream_flags_decode(lzma_stream_flags *options, const uint8_t *in) -{ - // Reserved bits must be unset. - if (in[0] != 0x00 || (in[1] & 0xF0)) - return true; - - options->version = 0; - options->check = in[1] & 0x0F; - - return false; -} - - -extern LZMA_API(lzma_ret) -lzma_stream_header_decode(lzma_stream_flags *options, const uint8_t *in) -{ - // Magic - if (memcmp(in, lzma_header_magic, sizeof(lzma_header_magic)) != 0) - return LZMA_FORMAT_ERROR; - - // Verify the CRC32 so we can distinguish between corrupt - // and unsupported files. - const uint32_t crc = lzma_crc32(in + sizeof(lzma_header_magic), - LZMA_STREAM_FLAGS_SIZE, 0); - if (crc != unaligned_read32le(in + sizeof(lzma_header_magic) - + LZMA_STREAM_FLAGS_SIZE)) - return LZMA_DATA_ERROR; - - // Stream Flags - if (stream_flags_decode(options, in + sizeof(lzma_header_magic))) - return LZMA_OPTIONS_ERROR; - - // Set Backward Size to indicate unknown value. That way - // lzma_stream_flags_compare() can be used to compare Stream Header - // and Stream Footer while keeping it useful also for comparing - // two Stream Footers. - options->backward_size = LZMA_VLI_UNKNOWN; - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_stream_footer_decode(lzma_stream_flags *options, const uint8_t *in) -{ - // Magic - if (memcmp(in + sizeof(uint32_t) * 2 + LZMA_STREAM_FLAGS_SIZE, - lzma_footer_magic, sizeof(lzma_footer_magic)) != 0) - return LZMA_FORMAT_ERROR; - - // CRC32 - const uint32_t crc = lzma_crc32(in + sizeof(uint32_t), - sizeof(uint32_t) + LZMA_STREAM_FLAGS_SIZE, 0); - if (crc != unaligned_read32le(in)) - return LZMA_DATA_ERROR; - - // Stream Flags - if (stream_flags_decode(options, in + sizeof(uint32_t) * 2)) - return LZMA_OPTIONS_ERROR; - - // Backward Size - options->backward_size = unaligned_read32le(in + sizeof(uint32_t)); - options->backward_size = (options->backward_size + 1) * 4; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/stream_flags_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_flags_encoder.c deleted file mode 100644 index 4e717159f1e..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/stream_flags_encoder.c +++ /dev/null @@ -1,86 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file stream_flags_encoder.c -/// \brief Encodes Stream Header and Stream Footer for .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "stream_flags_common.h" - - -static bool -stream_flags_encode(const lzma_stream_flags *options, uint8_t *out) -{ - if ((unsigned int)(options->check) > LZMA_CHECK_ID_MAX) - return true; - - out[0] = 0x00; - out[1] = options->check; - - return false; -} - - -extern LZMA_API(lzma_ret) -lzma_stream_header_encode(const lzma_stream_flags *options, uint8_t *out) -{ - assert(sizeof(lzma_header_magic) + LZMA_STREAM_FLAGS_SIZE - + 4 == LZMA_STREAM_HEADER_SIZE); - - if (options->version != 0) - return LZMA_OPTIONS_ERROR; - - // Magic - memcpy(out, lzma_header_magic, sizeof(lzma_header_magic)); - - // Stream Flags - if (stream_flags_encode(options, out + sizeof(lzma_header_magic))) - return LZMA_PROG_ERROR; - - // CRC32 of the Stream Header - const uint32_t crc = lzma_crc32(out + sizeof(lzma_header_magic), - LZMA_STREAM_FLAGS_SIZE, 0); - - unaligned_write32le(out + sizeof(lzma_header_magic) - + LZMA_STREAM_FLAGS_SIZE, crc); - - return LZMA_OK; -} - - -extern LZMA_API(lzma_ret) -lzma_stream_footer_encode(const lzma_stream_flags *options, uint8_t *out) -{ - assert(2 * 4 + LZMA_STREAM_FLAGS_SIZE + sizeof(lzma_footer_magic) - == LZMA_STREAM_HEADER_SIZE); - - if (options->version != 0) - return LZMA_OPTIONS_ERROR; - - // Backward Size - if (!is_backward_size_valid(options)) - return LZMA_PROG_ERROR; - - unaligned_write32le(out + 4, options->backward_size / 4 - 1); - - // Stream Flags - if (stream_flags_encode(options, out + 2 * 4)) - return LZMA_PROG_ERROR; - - // CRC32 - const uint32_t crc = lzma_crc32( - out + 4, 4 + LZMA_STREAM_FLAGS_SIZE, 0); - - unaligned_write32le(out, crc); - - // Magic - memcpy(out + 2 * 4 + LZMA_STREAM_FLAGS_SIZE, - lzma_footer_magic, sizeof(lzma_footer_magic)); - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/vli_decoder.c b/Build/source/extra/xz/src/liblzma/common/vli_decoder.c deleted file mode 100644 index c181828bf56..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/vli_decoder.c +++ /dev/null @@ -1,86 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file vli_decoder.c -/// \brief Decodes variable-length integers -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -extern LZMA_API(lzma_ret) -lzma_vli_decode(lzma_vli *restrict vli, size_t *vli_pos, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size) -{ - // If we haven't been given vli_pos, work in single-call mode. - size_t vli_pos_internal = 0; - if (vli_pos == NULL) { - vli_pos = &vli_pos_internal; - *vli = 0; - - // If there's no input, use LZMA_DATA_ERROR. This way it is - // easy to decode VLIs from buffers that have known size, - // and get the correct error code in case the buffer is - // too short. - if (*in_pos >= in_size) - return LZMA_DATA_ERROR; - - } else { - // Initialize *vli when starting to decode a new integer. - if (*vli_pos == 0) - *vli = 0; - - // Validate the arguments. - if (*vli_pos >= LZMA_VLI_BYTES_MAX - || (*vli >> (*vli_pos * 7)) != 0) - return LZMA_PROG_ERROR;; - - if (*in_pos >= in_size) - return LZMA_BUF_ERROR; - } - - do { - // Read the next byte. Use a temporary variable so that we - // can update *in_pos immediately. - const uint8_t byte = in[*in_pos]; - ++*in_pos; - - // Add the newly read byte to *vli. - *vli += (lzma_vli)(byte & 0x7F) << (*vli_pos * 7); - ++*vli_pos; - - // Check if this is the last byte of a multibyte integer. - if ((byte & 0x80) == 0) { - // We don't allow using variable-length integers as - // padding i.e. the encoding must use the most the - // compact form. - if (byte == 0x00 && *vli_pos > 1) - return LZMA_DATA_ERROR; - - return vli_pos == &vli_pos_internal - ? LZMA_OK : LZMA_STREAM_END; - } - - // There is at least one more byte coming. If we have already - // read maximum number of bytes, the integer is considered - // corrupt. - // - // If we need bigger integers in future, old versions liblzma - // will confusingly indicate the file being corrupt istead of - // unsupported. I suppose it's still better this way, because - // in the foreseeable future (writing this in 2008) the only - // reason why files would appear having over 63-bit integers - // is that the files are simply corrupt. - if (*vli_pos == LZMA_VLI_BYTES_MAX) - return LZMA_DATA_ERROR; - - } while (*in_pos < in_size); - - return vli_pos == &vli_pos_internal ? LZMA_DATA_ERROR : LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/common/vli_encoder.c b/Build/source/extra/xz/src/liblzma/common/vli_encoder.c deleted file mode 100644 index f8642694e29..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/vli_encoder.c +++ /dev/null @@ -1,69 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file vli_encoder.c -/// \brief Encodes variable-length integers -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -extern LZMA_API(lzma_ret) -lzma_vli_encode(lzma_vli vli, size_t *vli_pos, - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size) -{ - // If we haven't been given vli_pos, work in single-call mode. - size_t vli_pos_internal = 0; - if (vli_pos == NULL) { - vli_pos = &vli_pos_internal; - - // In single-call mode, we expect that the caller has - // reserved enough output space. - if (*out_pos >= out_size) - return LZMA_PROG_ERROR; - } else { - // This never happens when we are called by liblzma, but - // may happen if called directly from an application. - if (*out_pos >= out_size) - return LZMA_BUF_ERROR; - } - - // Validate the arguments. - if (*vli_pos >= LZMA_VLI_BYTES_MAX || vli > LZMA_VLI_MAX) - return LZMA_PROG_ERROR; - - // Shift vli so that the next bits to encode are the lowest. In - // single-call mode this never changes vli since *vli_pos is zero. - vli >>= *vli_pos * 7; - - // Write the non-last bytes in a loop. - while (vli >= 0x80) { - // We don't need *vli_pos during this function call anymore, - // but update it here so that it is ready if we need to - // return before the whole integer has been decoded. - ++*vli_pos; - assert(*vli_pos < LZMA_VLI_BYTES_MAX); - - // Write the next byte. - out[*out_pos] = (uint8_t)(vli) | 0x80; - vli >>= 7; - - if (++*out_pos == out_size) - return vli_pos == &vli_pos_internal - ? LZMA_PROG_ERROR : LZMA_OK; - } - - // Write the last byte. - out[*out_pos] = (uint8_t)(vli); - ++*out_pos; - ++*vli_pos; - - return vli_pos == &vli_pos_internal ? LZMA_OK : LZMA_STREAM_END; - -} diff --git a/Build/source/extra/xz/src/liblzma/common/vli_size.c b/Build/source/extra/xz/src/liblzma/common/vli_size.c deleted file mode 100644 index ec1b4fa488b..00000000000 --- a/Build/source/extra/xz/src/liblzma/common/vli_size.c +++ /dev/null @@ -1,30 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file vli_size.c -/// \brief Calculates the encoded size of a variable-length integer -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -extern LZMA_API(uint32_t) -lzma_vli_size(lzma_vli vli) -{ - if (vli > LZMA_VLI_MAX) - return 0; - - uint32_t i = 0; - do { - vli >>= 7; - ++i; - } while (vli != 0); - - assert(i <= LZMA_VLI_BYTES_MAX); - return i; -} diff --git a/Build/source/extra/xz/src/liblzma/delta/Makefile.inc b/Build/source/extra/xz/src/liblzma/delta/Makefile.inc deleted file mode 100644 index c7739b44223..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/Makefile.inc +++ /dev/null @@ -1,23 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -liblzma_la_SOURCES += \ - delta/delta_common.c \ - delta/delta_common.h \ - delta/delta_private.h - -if COND_ENCODER_DELTA -liblzma_la_SOURCES += \ - delta/delta_encoder.c \ - delta/delta_encoder.h -endif - -if COND_DECODER_DELTA -liblzma_la_SOURCES += \ - delta/delta_decoder.c \ - delta/delta_decoder.h -endif diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_common.c b/Build/source/extra/xz/src/liblzma/delta/delta_common.c deleted file mode 100644 index 930ad215131..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_common.c +++ /dev/null @@ -1,70 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_common.c -/// \brief Common stuff for Delta encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "delta_common.h" -#include "delta_private.h" - - -static void -delta_coder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_delta_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - // Allocate memory for the decoder if needed. - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - // End function is the same for encoder and decoder. - next->end = &delta_coder_end; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Validate the options. - if (lzma_delta_coder_memusage(filters[0].options) == UINT64_MAX) - return LZMA_OPTIONS_ERROR; - - // Set the delta distance. - const lzma_options_delta *opt = filters[0].options; - next->coder->distance = opt->dist; - - // Initialize the rest of the variables. - next->coder->pos = 0; - memzero(next->coder->history, LZMA_DELTA_DIST_MAX); - - // Initialize the next decoder in the chain, if any. - return lzma_next_filter_init(&next->coder->next, - allocator, filters + 1); -} - - -extern uint64_t -lzma_delta_coder_memusage(const void *options) -{ - const lzma_options_delta *opt = options; - - if (opt == NULL || opt->type != LZMA_DELTA_TYPE_BYTE - || opt->dist < LZMA_DELTA_DIST_MIN - || opt->dist > LZMA_DELTA_DIST_MAX) - return UINT64_MAX; - - return sizeof(lzma_coder); -} diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_common.h b/Build/source/extra/xz/src/liblzma/delta/delta_common.h deleted file mode 100644 index 7e7e1baaf68..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_common.h +++ /dev/null @@ -1,20 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_common.h -/// \brief Common stuff for Delta encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_DELTA_COMMON_H -#define LZMA_DELTA_COMMON_H - -#include "common.h" - -extern uint64_t lzma_delta_coder_memusage(const void *options); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_decoder.c b/Build/source/extra/xz/src/liblzma/delta/delta_decoder.c deleted file mode 100644 index 2cf60d5bdc7..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_decoder.c +++ /dev/null @@ -1,76 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_decoder.c -/// \brief Delta filter decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "delta_decoder.h" -#include "delta_private.h" - - -static void -decode_buffer(lzma_coder *coder, uint8_t *buffer, size_t size) -{ - const size_t distance = coder->distance; - - for (size_t i = 0; i < size; ++i) { - buffer[i] += coder->history[(distance + coder->pos) & 0xFF]; - coder->history[coder->pos-- & 0xFF] = buffer[i]; - } -} - - -static lzma_ret -delta_decode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - assert(coder->next.code != NULL); - - const size_t out_start = *out_pos; - - const lzma_ret ret = coder->next.code(coder->next.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, - action); - - decode_buffer(coder, out + out_start, *out_pos - out_start); - - return ret; -} - - -extern lzma_ret -lzma_delta_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - next->code = &delta_decode; - return lzma_delta_coder_init(next, allocator, filters); -} - - -extern lzma_ret -lzma_delta_props_decode(void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) -{ - if (props_size != 1) - return LZMA_OPTIONS_ERROR; - - lzma_options_delta *opt - = lzma_alloc(sizeof(lzma_options_delta), allocator); - if (opt == NULL) - return LZMA_MEM_ERROR; - - opt->type = LZMA_DELTA_TYPE_BYTE; - opt->dist = props[0] + 1; - - *options = opt; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_decoder.h b/Build/source/extra/xz/src/liblzma/delta/delta_decoder.h deleted file mode 100644 index ae89acc59f8..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_decoder.h +++ /dev/null @@ -1,25 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_decoder.h -/// \brief Delta filter decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_DELTA_DECODER_H -#define LZMA_DELTA_DECODER_H - -#include "delta_common.h" - -extern lzma_ret lzma_delta_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_delta_props_decode( - void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c deleted file mode 100644 index 15c7951e104..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c +++ /dev/null @@ -1,121 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_encoder.c -/// \brief Delta filter encoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "delta_encoder.h" -#include "delta_private.h" - - -/// Copies and encodes the data at the same time. This is used when Delta -/// is the first filter in the chain (and thus the last filter in the -/// encoder's filter stack). -static void -copy_and_encode(lzma_coder *coder, - const uint8_t *restrict in, uint8_t *restrict out, size_t size) -{ - const size_t distance = coder->distance; - - for (size_t i = 0; i < size; ++i) { - const uint8_t tmp = coder->history[ - (distance + coder->pos) & 0xFF]; - coder->history[coder->pos-- & 0xFF] = in[i]; - out[i] = in[i] - tmp; - } -} - - -/// Encodes the data in place. This is used when we are the last filter -/// in the chain (and thus non-last filter in the encoder's filter stack). -static void -encode_in_place(lzma_coder *coder, uint8_t *buffer, size_t size) -{ - const size_t distance = coder->distance; - - for (size_t i = 0; i < size; ++i) { - const uint8_t tmp = coder->history[ - (distance + coder->pos) & 0xFF]; - coder->history[coder->pos-- & 0xFF] = buffer[i]; - buffer[i] -= tmp; - } -} - - -static lzma_ret -delta_encode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - lzma_ret ret; - - if (coder->next.code == NULL) { - const size_t in_avail = in_size - *in_pos; - const size_t out_avail = out_size - *out_pos; - const size_t size = my_min(in_avail, out_avail); - - copy_and_encode(coder, in + *in_pos, out + *out_pos, size); - - *in_pos += size; - *out_pos += size; - - ret = action != LZMA_RUN && *in_pos == in_size - ? LZMA_STREAM_END : LZMA_OK; - - } else { - const size_t out_start = *out_pos; - - ret = coder->next.code(coder->next.coder, allocator, - in, in_pos, in_size, out, out_pos, out_size, - action); - - encode_in_place(coder, out + out_start, *out_pos - out_start); - } - - return ret; -} - - -static lzma_ret -delta_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((__unused__)), - const lzma_filter *reversed_filters) -{ - // Delta doesn't and will never support changing the options in - // the middle of encoding. If the app tries to change them, we - // simply ignore them. - return lzma_next_filter_update( - &coder->next, allocator, reversed_filters + 1); -} - - -extern lzma_ret -lzma_delta_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - next->code = &delta_encode; - next->update = &delta_encoder_update; - return lzma_delta_coder_init(next, allocator, filters); -} - - -extern lzma_ret -lzma_delta_props_encode(const void *options, uint8_t *out) -{ - // The caller must have already validated the options, so it's - // LZMA_PROG_ERROR if they are invalid. - if (lzma_delta_coder_memusage(options) == UINT64_MAX) - return LZMA_PROG_ERROR; - - const lzma_options_delta *opt = options; - out[0] = opt->dist - LZMA_DELTA_DIST_MIN; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.h b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.h deleted file mode 100644 index a447862f205..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_encoder.h -/// \brief Delta filter encoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_DELTA_ENCODER_H -#define LZMA_DELTA_ENCODER_H - -#include "delta_common.h" - -extern lzma_ret lzma_delta_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_delta_props_encode(const void *options, uint8_t *out); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_private.h b/Build/source/extra/xz/src/liblzma/delta/delta_private.h deleted file mode 100644 index 62b7fed86e4..00000000000 --- a/Build/source/extra/xz/src/liblzma/delta/delta_private.h +++ /dev/null @@ -1,37 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file delta_private.h -/// \brief Private common stuff for Delta encoder and decoder -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_DELTA_PRIVATE_H -#define LZMA_DELTA_PRIVATE_H - -#include "delta_common.h" - -struct lzma_coder_s { - /// Next coder in the chain - lzma_next_coder next; - - /// Delta distance - size_t distance; - - /// Position in history[] - uint8_t pos; - - /// Buffer to hold history of the original data - uint8_t history[LZMA_DELTA_DIST_MAX]; -}; - - -extern lzma_ret lzma_delta_coder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/liblzma.pc.in b/Build/source/extra/xz/src/liblzma/liblzma.pc.in deleted file mode 100644 index 7f11f1a2009..00000000000 --- a/Build/source/extra/xz/src/liblzma/liblzma.pc.in +++ /dev/null @@ -1,19 +0,0 @@ -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# - -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ - -Name: liblzma -Description: General purpose data compression library -URL: @PACKAGE_URL@ -Version: @PACKAGE_VERSION@ -Cflags: -I${includedir} -Libs: -L${libdir} -llzma -Libs.private: @PTHREAD_CFLAGS@ @PTHREAD_LIBS@ diff --git a/Build/source/extra/xz/src/liblzma/liblzma_w32res.rc b/Build/source/extra/xz/src/liblzma/liblzma_w32res.rc deleted file mode 100644 index d4d8159c7b4..00000000000 --- a/Build/source/extra/xz/src/liblzma/liblzma_w32res.rc +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#define MY_TYPE VFT_DLL -#define MY_NAME "liblzma" -#define MY_SUFFIX ".dll" -#define MY_DESC "liblzma data compression library" -#include "common_w32res.rc" diff --git a/Build/source/extra/xz/src/liblzma/lz/Makefile.inc b/Build/source/extra/xz/src/liblzma/lz/Makefile.inc deleted file mode 100644 index 75742a84bf8..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/Makefile.inc +++ /dev/null @@ -1,22 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -if COND_ENCODER_LZ -liblzma_la_SOURCES += \ - lz/lz_encoder.c \ - lz/lz_encoder.h \ - lz/lz_encoder_hash.h \ - lz/lz_encoder_hash_table.h \ - lz/lz_encoder_mf.c -endif - - -if COND_DECODER_LZ -liblzma_la_SOURCES += \ - lz/lz_decoder.c \ - lz/lz_decoder.h -endif diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c deleted file mode 100644 index d74085cf447..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c +++ /dev/null @@ -1,300 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_decoder.c -/// \brief LZ out window -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -// liblzma supports multiple LZ77-based filters. The LZ part is shared -// between these filters. The LZ code takes care of dictionary handling -// and passing the data between filters in the chain. The filter-specific -// part decodes from the input buffer to the dictionary. - - -#include "lz_decoder.h" - - -struct lzma_coder_s { - /// Dictionary (history buffer) - lzma_dict dict; - - /// The actual LZ-based decoder e.g. LZMA - lzma_lz_decoder lz; - - /// Next filter in the chain, if any. Note that LZMA and LZMA2 are - /// only allowed as the last filter, but the long-range filter in - /// future can be in the middle of the chain. - lzma_next_coder next; - - /// True if the next filter in the chain has returned LZMA_STREAM_END. - bool next_finished; - - /// True if the LZ decoder (e.g. LZMA) has detected end of payload - /// marker. This may become true before next_finished becomes true. - bool this_finished; - - /// Temporary buffer needed when the LZ-based filter is not the last - /// filter in the chain. The output of the next filter is first - /// decoded into buffer[], which is then used as input for the actual - /// LZ-based decoder. - struct { - size_t pos; - size_t size; - uint8_t buffer[LZMA_BUFFER_SIZE]; - } temp; -}; - - -static void -lz_decoder_reset(lzma_coder *coder) -{ - coder->dict.pos = 0; - coder->dict.full = 0; - coder->dict.buf[coder->dict.size - 1] = '\0'; - coder->dict.need_reset = false; - return; -} - - -static lzma_ret -decode_buffer(lzma_coder *coder, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size) -{ - while (true) { - // Wrap the dictionary if needed. - if (coder->dict.pos == coder->dict.size) - coder->dict.pos = 0; - - // Store the current dictionary position. It is needed to know - // where to start copying to the out[] buffer. - const size_t dict_start = coder->dict.pos; - - // Calculate how much we allow coder->lz.code() to decode. - // It must not decode past the end of the dictionary - // buffer, and we don't want it to decode more than is - // actually needed to fill the out[] buffer. - coder->dict.limit = coder->dict.pos - + my_min(out_size - *out_pos, - coder->dict.size - coder->dict.pos); - - // Call the coder->lz.code() to do the actual decoding. - const lzma_ret ret = coder->lz.code( - coder->lz.coder, &coder->dict, - in, in_pos, in_size); - - // Copy the decoded data from the dictionary to the out[] - // buffer. - const size_t copy_size = coder->dict.pos - dict_start; - assert(copy_size <= out_size - *out_pos); - memcpy(out + *out_pos, coder->dict.buf + dict_start, - copy_size); - *out_pos += copy_size; - - // Reset the dictionary if so requested by coder->lz.code(). - if (coder->dict.need_reset) { - lz_decoder_reset(coder); - - // Since we reset dictionary, we don't check if - // dictionary became full. - if (ret != LZMA_OK || *out_pos == out_size) - return ret; - } else { - // Return if everything got decoded or an error - // occurred, or if there's no more data to decode. - // - // Note that detecting if there's something to decode - // is done by looking if dictionary become full - // instead of looking if *in_pos == in_size. This - // is because it is possible that all the input was - // consumed already but some data is pending to be - // written to the dictionary. - if (ret != LZMA_OK || *out_pos == out_size - || coder->dict.pos < coder->dict.size) - return ret; - } - } -} - - -static lzma_ret -lz_decode(lzma_coder *coder, - lzma_allocator *allocator lzma_attribute((__unused__)), - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - lzma_action action) -{ - if (coder->next.code == NULL) - return decode_buffer(coder, in, in_pos, in_size, - out, out_pos, out_size); - - // We aren't the last coder in the chain, we need to decode - // our input to a temporary buffer. - while (*out_pos < out_size) { - // Fill the temporary buffer if it is empty. - if (!coder->next_finished - && coder->temp.pos == coder->temp.size) { - coder->temp.pos = 0; - coder->temp.size = 0; - - const lzma_ret ret = coder->next.code( - coder->next.coder, - allocator, in, in_pos, in_size, - coder->temp.buffer, &coder->temp.size, - LZMA_BUFFER_SIZE, action); - - if (ret == LZMA_STREAM_END) - coder->next_finished = true; - else if (ret != LZMA_OK || coder->temp.size == 0) - return ret; - } - - if (coder->this_finished) { - if (coder->temp.size != 0) - return LZMA_DATA_ERROR; - - if (coder->next_finished) - return LZMA_STREAM_END; - - return LZMA_OK; - } - - const lzma_ret ret = decode_buffer(coder, coder->temp.buffer, - &coder->temp.pos, coder->temp.size, - out, out_pos, out_size); - - if (ret == LZMA_STREAM_END) - coder->this_finished = true; - else if (ret != LZMA_OK) - return ret; - else if (coder->next_finished && *out_pos < out_size) - return LZMA_DATA_ERROR; - } - - return LZMA_OK; -} - - -static void -lz_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder->dict.buf, allocator); - - if (coder->lz.end != NULL) - coder->lz.end(coder->lz.coder, allocator); - else - lzma_free(coder->lz.coder, allocator); - - lzma_free(coder, allocator); - return; -} - - -extern lzma_ret -lzma_lz_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, - lzma_ret (*lz_init)(lzma_lz_decoder *lz, - lzma_allocator *allocator, const void *options, - lzma_lz_options *lz_options)) -{ - // Allocate the base structure if it isn't already allocated. - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &lz_decode; - next->end = &lz_decoder_end; - - next->coder->dict.buf = NULL; - next->coder->dict.size = 0; - next->coder->lz = LZMA_LZ_DECODER_INIT; - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Allocate and initialize the LZ-based decoder. It will also give - // us the dictionary size. - lzma_lz_options lz_options; - return_if_error(lz_init(&next->coder->lz, allocator, - filters[0].options, &lz_options)); - - // If the dictionary size is very small, increase it to 4096 bytes. - // This is to prevent constant wrapping of the dictionary, which - // would slow things down. The downside is that since we don't check - // separately for the real dictionary size, we may happily accept - // corrupt files. - if (lz_options.dict_size < 4096) - lz_options.dict_size = 4096; - - // Make dictionary size a multipe of 16. Some LZ-based decoders like - // LZMA use the lowest bits lzma_dict.pos to know the alignment of the - // data. Aligned buffer is also good when memcpying from the - // dictionary to the output buffer, since applications are - // recommended to give aligned buffers to liblzma. - // - // Avoid integer overflow. - if (lz_options.dict_size > SIZE_MAX - 15) - return LZMA_MEM_ERROR; - - lz_options.dict_size = (lz_options.dict_size + 15) & ~((size_t)(15)); - - // Allocate and initialize the dictionary. - if (next->coder->dict.size != lz_options.dict_size) { - lzma_free(next->coder->dict.buf, allocator); - next->coder->dict.buf - = lzma_alloc(lz_options.dict_size, allocator); - if (next->coder->dict.buf == NULL) - return LZMA_MEM_ERROR; - - next->coder->dict.size = lz_options.dict_size; - } - - lz_decoder_reset(next->coder); - - // Use the preset dictionary if it was given to us. - if (lz_options.preset_dict != NULL - && lz_options.preset_dict_size > 0) { - // If the preset dictionary is bigger than the actual - // dictionary, copy only the tail. - const size_t copy_size = my_min(lz_options.preset_dict_size, - lz_options.dict_size); - const size_t offset = lz_options.preset_dict_size - copy_size; - memcpy(next->coder->dict.buf, lz_options.preset_dict + offset, - copy_size); - next->coder->dict.pos = copy_size; - next->coder->dict.full = copy_size; - } - - // Miscellaneous initializations - next->coder->next_finished = false; - next->coder->this_finished = false; - next->coder->temp.pos = 0; - next->coder->temp.size = 0; - - // Initialize the next filter in the chain, if any. - return lzma_next_filter_init(&next->coder->next, allocator, - filters + 1); -} - - -extern uint64_t -lzma_lz_decoder_memusage(size_t dictionary_size) -{ - return sizeof(lzma_coder) + (uint64_t)(dictionary_size); -} - - -extern void -lzma_lz_decoder_uncompressed(lzma_coder *coder, lzma_vli uncompressed_size) -{ - coder->lz.set_uncompressed(coder->lz.coder, uncompressed_size); -} diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.h b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.h deleted file mode 100644 index 7266e803165..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.h +++ /dev/null @@ -1,234 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_decoder.h -/// \brief LZ out window -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZ_DECODER_H -#define LZMA_LZ_DECODER_H - -#include "common.h" - - -typedef struct { - /// Pointer to the dictionary buffer. It can be an allocated buffer - /// internal to liblzma, or it can a be a buffer given by the - /// application when in single-call mode (not implemented yet). - uint8_t *buf; - - /// Write position in dictionary. The next byte will be written to - /// buf[pos]. - size_t pos; - - /// Indicates how full the dictionary is. This is used by - /// dict_is_distance_valid() to detect corrupt files that would - /// read beyond the beginning of the dictionary. - size_t full; - - /// Write limit - size_t limit; - - /// Size of the dictionary - size_t size; - - /// True when dictionary should be reset before decoding more data. - bool need_reset; - -} lzma_dict; - - -typedef struct { - size_t dict_size; - const uint8_t *preset_dict; - size_t preset_dict_size; -} lzma_lz_options; - - -typedef struct { - /// Data specific to the LZ-based decoder - lzma_coder *coder; - - /// Function to decode from in[] to *dict - lzma_ret (*code)(lzma_coder *restrict coder, - lzma_dict *restrict dict, const uint8_t *restrict in, - size_t *restrict in_pos, size_t in_size); - - void (*reset)(lzma_coder *coder, const void *options); - - /// Set the uncompressed size - void (*set_uncompressed)(lzma_coder *coder, - lzma_vli uncompressed_size); - - /// Free allocated resources - void (*end)(lzma_coder *coder, lzma_allocator *allocator); - -} lzma_lz_decoder; - - -#define LZMA_LZ_DECODER_INIT \ - (lzma_lz_decoder){ \ - .coder = NULL, \ - .code = NULL, \ - .reset = NULL, \ - .set_uncompressed = NULL, \ - .end = NULL, \ - } - - -extern lzma_ret lzma_lz_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters, - lzma_ret (*lz_init)(lzma_lz_decoder *lz, - lzma_allocator *allocator, const void *options, - lzma_lz_options *lz_options)); - -extern uint64_t lzma_lz_decoder_memusage(size_t dictionary_size); - -extern void lzma_lz_decoder_uncompressed( - lzma_coder *coder, lzma_vli uncompressed_size); - - -////////////////////// -// Inline functions // -////////////////////// - -/// Get a byte from the history buffer. -static inline uint8_t -dict_get(const lzma_dict *const dict, const uint32_t distance) -{ - return dict->buf[dict->pos - distance - 1 - + (distance < dict->pos ? 0 : dict->size)]; -} - - -/// Test if dictionary is empty. -static inline bool -dict_is_empty(const lzma_dict *const dict) -{ - return dict->full == 0; -} - - -/// Validate the match distance -static inline bool -dict_is_distance_valid(const lzma_dict *const dict, const size_t distance) -{ - return dict->full > distance; -} - - -/// Repeat *len bytes at distance. -static inline bool -dict_repeat(lzma_dict *dict, uint32_t distance, uint32_t *len) -{ - // Don't write past the end of the dictionary. - const size_t dict_avail = dict->limit - dict->pos; - uint32_t left = my_min(dict_avail, *len); - *len -= left; - - // Repeat a block of data from the history. Because memcpy() is faster - // than copying byte by byte in a loop, the copying process gets split - // into three cases. - if (distance < left) { - // Source and target areas overlap, thus we can't use - // memcpy() nor even memmove() safely. - do { - dict->buf[dict->pos] = dict_get(dict, distance); - ++dict->pos; - } while (--left > 0); - - } else if (distance < dict->pos) { - // The easiest and fastest case - memcpy(dict->buf + dict->pos, - dict->buf + dict->pos - distance - 1, - left); - dict->pos += left; - - } else { - // The bigger the dictionary, the more rare this - // case occurs. We need to "wrap" the dict, thus - // we might need two memcpy() to copy all the data. - assert(dict->full == dict->size); - const uint32_t copy_pos - = dict->pos - distance - 1 + dict->size; - uint32_t copy_size = dict->size - copy_pos; - - if (copy_size < left) { - memmove(dict->buf + dict->pos, dict->buf + copy_pos, - copy_size); - dict->pos += copy_size; - copy_size = left - copy_size; - memcpy(dict->buf + dict->pos, dict->buf, copy_size); - dict->pos += copy_size; - } else { - memmove(dict->buf + dict->pos, dict->buf + copy_pos, - left); - dict->pos += left; - } - } - - // Update how full the dictionary is. - if (dict->full < dict->pos) - dict->full = dict->pos; - - return unlikely(*len != 0); -} - - -/// Puts one byte into the dictionary. Returns true if the dictionary was -/// already full and the byte couldn't be added. -static inline bool -dict_put(lzma_dict *dict, uint8_t byte) -{ - if (unlikely(dict->pos == dict->limit)) - return true; - - dict->buf[dict->pos++] = byte; - - if (dict->pos > dict->full) - dict->full = dict->pos; - - return false; -} - - -/// Copies arbitrary amount of data into the dictionary. -static inline void -dict_write(lzma_dict *restrict dict, const uint8_t *restrict in, - size_t *restrict in_pos, size_t in_size, - size_t *restrict left) -{ - // NOTE: If we are being given more data than the size of the - // dictionary, it could be possible to optimize the LZ decoder - // so that not everything needs to go through the dictionary. - // This shouldn't be very common thing in practice though, and - // the slowdown of one extra memcpy() isn't bad compared to how - // much time it would have taken if the data were compressed. - - if (in_size - *in_pos > *left) - in_size = *in_pos + *left; - - *left -= lzma_bufcpy(in, in_pos, in_size, - dict->buf, &dict->pos, dict->limit); - - if (dict->pos > dict->full) - dict->full = dict->pos; - - return; -} - - -static inline void -dict_reset(lzma_dict *dict) -{ - dict->need_reset = true; - return; -} - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c deleted file mode 100644 index e2406965882..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c +++ /dev/null @@ -1,583 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_encoder.c -/// \brief LZ in window -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lz_encoder.h" -#include "lz_encoder_hash.h" - -// See lz_encoder_hash.h. This is a bit hackish but avoids making -// endianness a conditional in makefiles. -#if defined(WORDS_BIGENDIAN) && !defined(HAVE_SMALL) -# include "lz_encoder_hash_table.h" -#endif - - -struct lzma_coder_s { - /// LZ-based encoder e.g. LZMA - lzma_lz_encoder lz; - - /// History buffer and match finder - lzma_mf mf; - - /// Next coder in the chain - lzma_next_coder next; -}; - - -/// \brief Moves the data in the input window to free space for new data -/// -/// mf->buffer is a sliding input window, which keeps mf->keep_size_before -/// bytes of input history available all the time. Now and then we need to -/// "slide" the buffer to make space for the new data to the end of the -/// buffer. At the same time, data older than keep_size_before is dropped. -/// -static void -move_window(lzma_mf *mf) -{ - // Align the move to a multiple of 16 bytes. Some LZ-based encoders - // like LZMA use the lowest bits of mf->read_pos to know the - // alignment of the uncompressed data. We also get better speed - // for memmove() with aligned buffers. - assert(mf->read_pos > mf->keep_size_before); - const uint32_t move_offset - = (mf->read_pos - mf->keep_size_before) & ~UINT32_C(15); - - assert(mf->write_pos > move_offset); - const size_t move_size = mf->write_pos - move_offset; - - assert(move_offset + move_size <= mf->size); - - memmove(mf->buffer, mf->buffer + move_offset, move_size); - - mf->offset += move_offset; - mf->read_pos -= move_offset; - mf->read_limit -= move_offset; - mf->write_pos -= move_offset; - - return; -} - - -/// \brief Tries to fill the input window (mf->buffer) -/// -/// If we are the last encoder in the chain, our input data is in in[]. -/// Otherwise we call the next filter in the chain to process in[] and -/// write its output to mf->buffer. -/// -/// This function must not be called once it has returned LZMA_STREAM_END. -/// -static lzma_ret -fill_window(lzma_coder *coder, lzma_allocator *allocator, const uint8_t *in, - size_t *in_pos, size_t in_size, lzma_action action) -{ - assert(coder->mf.read_pos <= coder->mf.write_pos); - - // Move the sliding window if needed. - if (coder->mf.read_pos >= coder->mf.size - coder->mf.keep_size_after) - move_window(&coder->mf); - - // Maybe this is ugly, but lzma_mf uses uint32_t for most things - // (which I find cleanest), but we need size_t here when filling - // the history window. - size_t write_pos = coder->mf.write_pos; - lzma_ret ret; - if (coder->next.code == NULL) { - // Not using a filter, simply memcpy() as much as possible. - lzma_bufcpy(in, in_pos, in_size, coder->mf.buffer, - &write_pos, coder->mf.size); - - ret = action != LZMA_RUN && *in_pos == in_size - ? LZMA_STREAM_END : LZMA_OK; - - } else { - ret = coder->next.code(coder->next.coder, allocator, - in, in_pos, in_size, - coder->mf.buffer, &write_pos, - coder->mf.size, action); - } - - coder->mf.write_pos = write_pos; - - // If end of stream has been reached or flushing completed, we allow - // the encoder to process all the input (that is, read_pos is allowed - // to reach write_pos). Otherwise we keep keep_size_after bytes - // available as prebuffer. - if (ret == LZMA_STREAM_END) { - assert(*in_pos == in_size); - ret = LZMA_OK; - coder->mf.action = action; - coder->mf.read_limit = coder->mf.write_pos; - - } else if (coder->mf.write_pos > coder->mf.keep_size_after) { - // This needs to be done conditionally, because if we got - // only little new input, there may be too little input - // to do any encoding yet. - coder->mf.read_limit = coder->mf.write_pos - - coder->mf.keep_size_after; - } - - // Restart the match finder after finished LZMA_SYNC_FLUSH. - if (coder->mf.pending > 0 - && coder->mf.read_pos < coder->mf.read_limit) { - // Match finder may update coder->pending and expects it to - // start from zero, so use a temporary variable. - const size_t pending = coder->mf.pending; - coder->mf.pending = 0; - - // Rewind read_pos so that the match finder can hash - // the pending bytes. - assert(coder->mf.read_pos >= pending); - coder->mf.read_pos -= pending; - - // Call the skip function directly instead of using - // mf_skip(), since we don't want to touch mf->read_ahead. - coder->mf.skip(&coder->mf, pending); - } - - return ret; -} - - -static lzma_ret -lz_encode(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size, lzma_action action) -{ - while (*out_pos < out_size - && (*in_pos < in_size || action != LZMA_RUN)) { - // Read more data to coder->mf.buffer if needed. - if (coder->mf.action == LZMA_RUN && coder->mf.read_pos - >= coder->mf.read_limit) - return_if_error(fill_window(coder, allocator, - in, in_pos, in_size, action)); - - // Encode - const lzma_ret ret = coder->lz.code(coder->lz.coder, - &coder->mf, out, out_pos, out_size); - if (ret != LZMA_OK) { - // Setting this to LZMA_RUN for cases when we are - // flushing. It doesn't matter when finishing or if - // an error occurred. - coder->mf.action = LZMA_RUN; - return ret; - } - } - - return LZMA_OK; -} - - -static bool -lz_encoder_prepare(lzma_mf *mf, lzma_allocator *allocator, - const lzma_lz_options *lz_options) -{ - // For now, the dictionary size is limited to 1.5 GiB. This may grow - // in the future if needed, but it needs a little more work than just - // changing this check. - if (lz_options->dict_size < LZMA_DICT_SIZE_MIN - || lz_options->dict_size - > (UINT32_C(1) << 30) + (UINT32_C(1) << 29) - || lz_options->nice_len > lz_options->match_len_max) - return true; - - mf->keep_size_before = lz_options->before_size + lz_options->dict_size; - - mf->keep_size_after = lz_options->after_size - + lz_options->match_len_max; - - // To avoid constant memmove()s, allocate some extra space. Since - // memmove()s become more expensive when the size of the buffer - // increases, we reserve more space when a large dictionary is - // used to make the memmove() calls rarer. - // - // This works with dictionaries up to about 3 GiB. If bigger - // dictionary is wanted, some extra work is needed: - // - Several variables in lzma_mf have to be changed from uint32_t - // to size_t. - // - Memory usage calculation needs something too, e.g. use uint64_t - // for mf->size. - uint32_t reserve = lz_options->dict_size / 2; - if (reserve > (UINT32_C(1) << 30)) - reserve /= 2; - - reserve += (lz_options->before_size + lz_options->match_len_max - + lz_options->after_size) / 2 + (UINT32_C(1) << 19); - - const uint32_t old_size = mf->size; - mf->size = mf->keep_size_before + reserve + mf->keep_size_after; - - // Deallocate the old history buffer if it exists but has different - // size than what is needed now. - if (mf->buffer != NULL && old_size != mf->size) { - lzma_free(mf->buffer, allocator); - mf->buffer = NULL; - } - - // Match finder options - mf->match_len_max = lz_options->match_len_max; - mf->nice_len = lz_options->nice_len; - - // cyclic_size has to stay smaller than 2 Gi. Note that this doesn't - // mean limiting dictionary size to less than 2 GiB. With a match - // finder that uses multibyte resolution (hashes start at e.g. every - // fourth byte), cyclic_size would stay below 2 Gi even when - // dictionary size is greater than 2 GiB. - // - // It would be possible to allow cyclic_size >= 2 Gi, but then we - // would need to be careful to use 64-bit types in various places - // (size_t could do since we would need bigger than 32-bit address - // space anyway). It would also require either zeroing a multigigabyte - // buffer at initialization (waste of time and RAM) or allow - // normalization in lz_encoder_mf.c to access uninitialized - // memory to keep the code simpler. The current way is simple and - // still allows pretty big dictionaries, so I don't expect these - // limits to change. - mf->cyclic_size = lz_options->dict_size + 1; - - // Validate the match finder ID and setup the function pointers. - switch (lz_options->match_finder) { -#ifdef HAVE_MF_HC3 - case LZMA_MF_HC3: - mf->find = &lzma_mf_hc3_find; - mf->skip = &lzma_mf_hc3_skip; - break; -#endif -#ifdef HAVE_MF_HC4 - case LZMA_MF_HC4: - mf->find = &lzma_mf_hc4_find; - mf->skip = &lzma_mf_hc4_skip; - break; -#endif -#ifdef HAVE_MF_BT2 - case LZMA_MF_BT2: - mf->find = &lzma_mf_bt2_find; - mf->skip = &lzma_mf_bt2_skip; - break; -#endif -#ifdef HAVE_MF_BT3 - case LZMA_MF_BT3: - mf->find = &lzma_mf_bt3_find; - mf->skip = &lzma_mf_bt3_skip; - break; -#endif -#ifdef HAVE_MF_BT4 - case LZMA_MF_BT4: - mf->find = &lzma_mf_bt4_find; - mf->skip = &lzma_mf_bt4_skip; - break; -#endif - - default: - return true; - } - - // Calculate the sizes of mf->hash and mf->son and check that - // nice_len is big enough for the selected match finder. - const uint32_t hash_bytes = lz_options->match_finder & 0x0F; - if (hash_bytes > mf->nice_len) - return true; - - const bool is_bt = (lz_options->match_finder & 0x10) != 0; - uint32_t hs; - - if (hash_bytes == 2) { - hs = 0xFFFF; - } else { - // Round dictionary size up to the next 2^n - 1 so it can - // be used as a hash mask. - hs = lz_options->dict_size - 1; - hs |= hs >> 1; - hs |= hs >> 2; - hs |= hs >> 4; - hs |= hs >> 8; - hs >>= 1; - hs |= 0xFFFF; - - if (hs > (UINT32_C(1) << 24)) { - if (hash_bytes == 3) - hs = (UINT32_C(1) << 24) - 1; - else - hs >>= 1; - } - } - - mf->hash_mask = hs; - - ++hs; - if (hash_bytes > 2) - hs += HASH_2_SIZE; - if (hash_bytes > 3) - hs += HASH_3_SIZE; -/* - No match finder uses this at the moment. - if (mf->hash_bytes > 4) - hs += HASH_4_SIZE; -*/ - - // If the above code calculating hs is modified, make sure that - // this assertion stays valid (UINT32_MAX / 5 is not strictly the - // exact limit). If it doesn't, you need to calculate that - // hash_size_sum + sons_count cannot overflow. - assert(hs < UINT32_MAX / 5); - - const uint32_t old_count = mf->hash_size_sum + mf->sons_count; - mf->hash_size_sum = hs; - mf->sons_count = mf->cyclic_size; - if (is_bt) - mf->sons_count *= 2; - - const uint32_t new_count = mf->hash_size_sum + mf->sons_count; - - // Deallocate the old hash array if it exists and has different size - // than what is needed now. - if (old_count != new_count) { - lzma_free(mf->hash, allocator); - mf->hash = NULL; - } - - // Maximum number of match finder cycles - mf->depth = lz_options->depth; - if (mf->depth == 0) { - if (is_bt) - mf->depth = 16 + mf->nice_len / 2; - else - mf->depth = 4 + mf->nice_len / 4; - } - - return false; -} - - -static bool -lz_encoder_init(lzma_mf *mf, lzma_allocator *allocator, - const lzma_lz_options *lz_options) -{ - // Allocate the history buffer. - if (mf->buffer == NULL) { - mf->buffer = lzma_alloc(mf->size, allocator); - if (mf->buffer == NULL) - return true; - } - - // Use cyclic_size as initial mf->offset. This allows - // avoiding a few branches in the match finders. The downside is - // that match finder needs to be normalized more often, which may - // hurt performance with huge dictionaries. - mf->offset = mf->cyclic_size; - mf->read_pos = 0; - mf->read_ahead = 0; - mf->read_limit = 0; - mf->write_pos = 0; - mf->pending = 0; - - // Allocate match finder's hash array. - const size_t alloc_count = mf->hash_size_sum + mf->sons_count; - -#if UINT32_MAX >= SIZE_MAX / 4 - // Check for integer overflow. (Huge dictionaries are not - // possible on 32-bit CPU.) - if (alloc_count > SIZE_MAX / sizeof(uint32_t)) - return true; -#endif - - if (mf->hash == NULL) { - mf->hash = lzma_alloc(alloc_count * sizeof(uint32_t), - allocator); - if (mf->hash == NULL) - return true; - } - - mf->son = mf->hash + mf->hash_size_sum; - mf->cyclic_pos = 0; - - // Initialize the hash table. Since EMPTY_HASH_VALUE is zero, we - // can use memset(). -/* - for (uint32_t i = 0; i < hash_size_sum; ++i) - mf->hash[i] = EMPTY_HASH_VALUE; -*/ - memzero(mf->hash, (size_t)(mf->hash_size_sum) * sizeof(uint32_t)); - - // We don't need to initialize mf->son, but not doing that will - // make Valgrind complain in normalization (see normalize() in - // lz_encoder_mf.c). - // - // Skipping this initialization is *very* good when big dictionary is - // used but only small amount of data gets actually compressed: most - // of the mf->hash won't get actually allocated by the kernel, so - // we avoid wasting RAM and improve initialization speed a lot. - //memzero(mf->son, (size_t)(mf->sons_count) * sizeof(uint32_t)); - - // Handle preset dictionary. - if (lz_options->preset_dict != NULL - && lz_options->preset_dict_size > 0) { - // If the preset dictionary is bigger than the actual - // dictionary, use only the tail. - mf->write_pos = my_min(lz_options->preset_dict_size, mf->size); - memcpy(mf->buffer, lz_options->preset_dict - + lz_options->preset_dict_size - mf->write_pos, - mf->write_pos); - mf->action = LZMA_SYNC_FLUSH; - mf->skip(mf, mf->write_pos); - } - - mf->action = LZMA_RUN; - - return false; -} - - -extern uint64_t -lzma_lz_encoder_memusage(const lzma_lz_options *lz_options) -{ - // Old buffers must not exist when calling lz_encoder_prepare(). - lzma_mf mf = { - .buffer = NULL, - .hash = NULL, - .hash_size_sum = 0, - .sons_count = 0, - }; - - // Setup the size information into mf. - if (lz_encoder_prepare(&mf, NULL, lz_options)) - return UINT64_MAX; - - // Calculate the memory usage. - return (uint64_t)(mf.hash_size_sum + mf.sons_count) - * sizeof(uint32_t) - + (uint64_t)(mf.size) + sizeof(lzma_coder); -} - - -static void -lz_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - - lzma_free(coder->mf.hash, allocator); - lzma_free(coder->mf.buffer, allocator); - - if (coder->lz.end != NULL) - coder->lz.end(coder->lz.coder, allocator); - else - lzma_free(coder->lz.coder, allocator); - - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -lz_encoder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((__unused__)), - const lzma_filter *reversed_filters) -{ - if (coder->lz.options_update == NULL) - return LZMA_PROG_ERROR; - - return_if_error(coder->lz.options_update( - coder->lz.coder, reversed_filters)); - - return lzma_next_filter_update( - &coder->next, allocator, reversed_filters + 1); -} - - -extern lzma_ret -lzma_lz_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, - lzma_ret (*lz_init)(lzma_lz_encoder *lz, - lzma_allocator *allocator, const void *options, - lzma_lz_options *lz_options)) -{ -#ifdef HAVE_SMALL - // We need that the CRC32 table has been initialized. - lzma_crc32_init(); -#endif - - // Allocate and initialize the base data structure. - if (next->coder == NULL) { - next->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &lz_encode; - next->end = &lz_encoder_end; - next->update = &lz_encoder_update; - - next->coder->lz.coder = NULL; - next->coder->lz.code = NULL; - next->coder->lz.end = NULL; - - next->coder->mf.buffer = NULL; - next->coder->mf.hash = NULL; - next->coder->mf.hash_size_sum = 0; - next->coder->mf.sons_count = 0; - - next->coder->next = LZMA_NEXT_CODER_INIT; - } - - // Initialize the LZ-based encoder. - lzma_lz_options lz_options; - return_if_error(lz_init(&next->coder->lz, allocator, - filters[0].options, &lz_options)); - - // Setup the size information into next->coder->mf and deallocate - // old buffers if they have wrong size. - if (lz_encoder_prepare(&next->coder->mf, allocator, &lz_options)) - return LZMA_OPTIONS_ERROR; - - // Allocate new buffers if needed, and do the rest of - // the initialization. - if (lz_encoder_init(&next->coder->mf, allocator, &lz_options)) - return LZMA_MEM_ERROR; - - // Initialize the next filter in the chain, if any. - return lzma_next_filter_init(&next->coder->next, allocator, - filters + 1); -} - - -extern LZMA_API(lzma_bool) -lzma_mf_is_supported(lzma_match_finder mf) -{ - bool ret = false; - -#ifdef HAVE_MF_HC3 - if (mf == LZMA_MF_HC3) - ret = true; -#endif - -#ifdef HAVE_MF_HC4 - if (mf == LZMA_MF_HC4) - ret = true; -#endif - -#ifdef HAVE_MF_BT2 - if (mf == LZMA_MF_BT2) - ret = true; -#endif - -#ifdef HAVE_MF_BT3 - if (mf == LZMA_MF_BT3) - ret = true; -#endif - -#ifdef HAVE_MF_BT4 - if (mf == LZMA_MF_BT4) - ret = true; -#endif - - return ret; -} diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.h b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.h deleted file mode 100644 index 741c4532280..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.h +++ /dev/null @@ -1,328 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_encoder.h -/// \brief LZ in window and match finder API -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZ_ENCODER_H -#define LZMA_LZ_ENCODER_H - -#include "common.h" - - -/// A table of these is used by the LZ-based encoder to hold -/// the length-distance pairs found by the match finder. -typedef struct { - uint32_t len; - uint32_t dist; -} lzma_match; - - -typedef struct lzma_mf_s lzma_mf; -struct lzma_mf_s { - /////////////// - // In Window // - /////////////// - - /// Pointer to buffer with data to be compressed - uint8_t *buffer; - - /// Total size of the allocated buffer (that is, including all - /// the extra space) - uint32_t size; - - /// Number of bytes that must be kept available in our input history. - /// That is, once keep_size_before bytes have been processed, - /// buffer[read_pos - keep_size_before] is the oldest byte that - /// must be available for reading. - uint32_t keep_size_before; - - /// Number of bytes that must be kept in buffer after read_pos. - /// That is, read_pos <= write_pos - keep_size_after as long as - /// action is LZMA_RUN; when action != LZMA_RUN, read_pos is allowed - /// to reach write_pos so that the last bytes get encoded too. - uint32_t keep_size_after; - - /// Match finders store locations of matches using 32-bit integers. - /// To avoid adjusting several megabytes of integers every time the - /// input window is moved with move_window, we only adjust the - /// offset of the buffer. Thus, buffer[value_in_hash_table - offset] - /// is the byte pointed by value_in_hash_table. - uint32_t offset; - - /// buffer[read_pos] is the next byte to run through the match - /// finder. This is incremented in the match finder once the byte - /// has been processed. - uint32_t read_pos; - - /// Number of bytes that have been ran through the match finder, but - /// which haven't been encoded by the LZ-based encoder yet. - uint32_t read_ahead; - - /// As long as read_pos is less than read_limit, there is enough - /// input available in buffer for at least one encoding loop. - /// - /// Because of the stateful API, read_limit may and will get greater - /// than read_pos quite often. This is taken into account when - /// calculating the value for keep_size_after. - uint32_t read_limit; - - /// buffer[write_pos] is the first byte that doesn't contain valid - /// uncompressed data; that is, the next input byte will be copied - /// to buffer[write_pos]. - uint32_t write_pos; - - /// Number of bytes not hashed before read_pos. This is needed to - /// restart the match finder after LZMA_SYNC_FLUSH. - uint32_t pending; - - ////////////////// - // Match Finder // - ////////////////// - - /// Find matches. Returns the number of distance-length pairs written - /// to the matches array. This is called only via lzma_mf_find(). - uint32_t (*find)(lzma_mf *mf, lzma_match *matches); - - /// Skips num bytes. This is like find() but doesn't make the - /// distance-length pairs available, thus being a little faster. - /// This is called only via mf_skip(). - void (*skip)(lzma_mf *mf, uint32_t num); - - uint32_t *hash; - uint32_t *son; - uint32_t cyclic_pos; - uint32_t cyclic_size; // Must be dictionary size + 1. - uint32_t hash_mask; - - /// Maximum number of loops in the match finder - uint32_t depth; - - /// Maximum length of a match that the match finder will try to find. - uint32_t nice_len; - - /// Maximum length of a match supported by the LZ-based encoder. - /// If the longest match found by the match finder is nice_len, - /// mf_find() tries to expand it up to match_len_max bytes. - uint32_t match_len_max; - - /// When running out of input, binary tree match finders need to know - /// if it is due to flushing or finishing. The action is used also - /// by the LZ-based encoders themselves. - lzma_action action; - - /// Number of elements in hash[] - uint32_t hash_size_sum; - - /// Number of elements in son[] - uint32_t sons_count; -}; - - -typedef struct { - /// Extra amount of data to keep available before the "actual" - /// dictionary. - size_t before_size; - - /// Size of the history buffer - size_t dict_size; - - /// Extra amount of data to keep available after the "actual" - /// dictionary. - size_t after_size; - - /// Maximum length of a match that the LZ-based encoder can accept. - /// This is used to extend matches of length nice_len to the - /// maximum possible length. - size_t match_len_max; - - /// Match finder will search matches up to this length. - /// This must be less than or equal to match_len_max. - size_t nice_len; - - /// Type of the match finder to use - lzma_match_finder match_finder; - - /// Maximum search depth - uint32_t depth; - - /// TODO: Comment - const uint8_t *preset_dict; - - uint32_t preset_dict_size; - -} lzma_lz_options; - - -// The total usable buffer space at any moment outside the match finder: -// before_size + dict_size + after_size + match_len_max -// -// In reality, there's some extra space allocated to prevent the number of -// memmove() calls reasonable. The bigger the dict_size is, the bigger -// this extra buffer will be since with bigger dictionaries memmove() would -// also take longer. -// -// A single encoder loop in the LZ-based encoder may call the match finder -// (mf_find() or mf_skip()) at most after_size times. In other words, -// a single encoder loop may increment lzma_mf.read_pos at most after_size -// times. Since matches are looked up to -// lzma_mf.buffer[lzma_mf.read_pos + match_len_max - 1], the total -// amount of extra buffer needed after dict_size becomes -// after_size + match_len_max. -// -// before_size has two uses. The first one is to keep literals available -// in cases when the LZ-based encoder has made some read ahead. -// TODO: Maybe this could be changed by making the LZ-based encoders to -// store the actual literals as they do with length-distance pairs. -// -// Algorithms such as LZMA2 first try to compress a chunk, and then check -// if the encoded result is smaller than the uncompressed one. If the chunk -// was uncompressible, it is better to store it in uncompressed form in -// the output stream. To do this, the whole uncompressed chunk has to be -// still available in the history buffer. before_size achieves that. - - -typedef struct { - /// Data specific to the LZ-based encoder - lzma_coder *coder; - - /// Function to encode from *dict to out[] - lzma_ret (*code)(lzma_coder *restrict coder, - lzma_mf *restrict mf, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size); - - /// Free allocated resources - void (*end)(lzma_coder *coder, lzma_allocator *allocator); - - /// Update the options in the middle of the encoding. - lzma_ret (*options_update)(lzma_coder *coder, - const lzma_filter *filter); - -} lzma_lz_encoder; - - -// Basic steps: -// 1. Input gets copied into the dictionary. -// 2. Data in dictionary gets run through the match finder byte by byte. -// 3. The literals and matches are encoded using e.g. LZMA. -// -// The bytes that have been ran through the match finder, but not encoded yet, -// are called `read ahead'. - - -/// Get pointer to the first byte not ran through the match finder -static inline const uint8_t * -mf_ptr(const lzma_mf *mf) -{ - return mf->buffer + mf->read_pos; -} - - -/// Get the number of bytes that haven't been ran through the match finder yet. -static inline uint32_t -mf_avail(const lzma_mf *mf) -{ - return mf->write_pos - mf->read_pos; -} - - -/// Get the number of bytes that haven't been encoded yet (some of these -/// bytes may have been ran through the match finder though). -static inline uint32_t -mf_unencoded(const lzma_mf *mf) -{ - return mf->write_pos - mf->read_pos + mf->read_ahead; -} - - -/// Calculate the absolute offset from the beginning of the most recent -/// dictionary reset. Only the lowest four bits are important, so there's no -/// problem that we don't know the 64-bit size of the data encoded so far. -/// -/// NOTE: When moving the input window, we need to do it so that the lowest -/// bits of dict->read_pos are not modified to keep this macro working -/// as intended. -static inline uint32_t -mf_position(const lzma_mf *mf) -{ - return mf->read_pos - mf->read_ahead; -} - - -/// Since everything else begins with mf_, use it also for lzma_mf_find(). -#define mf_find lzma_mf_find - - -/// Skip the given number of bytes. This is used when a good match was found. -/// For example, if mf_find() finds a match of 200 bytes long, the first byte -/// of that match was already consumed by mf_find(), and the rest 199 bytes -/// have to be skipped with mf_skip(mf, 199). -static inline void -mf_skip(lzma_mf *mf, uint32_t amount) -{ - if (amount != 0) { - mf->skip(mf, amount); - mf->read_ahead += amount; - } -} - - -/// Copies at most *left number of bytes from the history buffer -/// to out[]. This is needed by LZMA2 to encode uncompressed chunks. -static inline void -mf_read(lzma_mf *mf, uint8_t *out, size_t *out_pos, size_t out_size, - size_t *left) -{ - const size_t out_avail = out_size - *out_pos; - const size_t copy_size = my_min(out_avail, *left); - - assert(mf->read_ahead == 0); - assert(mf->read_pos >= *left); - - memcpy(out + *out_pos, mf->buffer + mf->read_pos - *left, - copy_size); - - *out_pos += copy_size; - *left -= copy_size; - return; -} - - -extern lzma_ret lzma_lz_encoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, - lzma_ret (*lz_init)(lzma_lz_encoder *lz, - lzma_allocator *allocator, const void *options, - lzma_lz_options *lz_options)); - - -extern uint64_t lzma_lz_encoder_memusage(const lzma_lz_options *lz_options); - - -// These are only for LZ encoder's internal use. -extern uint32_t lzma_mf_find( - lzma_mf *mf, uint32_t *count, lzma_match *matches); - -extern uint32_t lzma_mf_hc3_find(lzma_mf *dict, lzma_match *matches); -extern void lzma_mf_hc3_skip(lzma_mf *dict, uint32_t amount); - -extern uint32_t lzma_mf_hc4_find(lzma_mf *dict, lzma_match *matches); -extern void lzma_mf_hc4_skip(lzma_mf *dict, uint32_t amount); - -extern uint32_t lzma_mf_bt2_find(lzma_mf *dict, lzma_match *matches); -extern void lzma_mf_bt2_skip(lzma_mf *dict, uint32_t amount); - -extern uint32_t lzma_mf_bt3_find(lzma_mf *dict, lzma_match *matches); -extern void lzma_mf_bt3_skip(lzma_mf *dict, uint32_t amount); - -extern uint32_t lzma_mf_bt4_find(lzma_mf *dict, lzma_match *matches); -extern void lzma_mf_bt4_skip(lzma_mf *dict, uint32_t amount); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash.h b/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash.h deleted file mode 100644 index 342a333d168..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash.h +++ /dev/null @@ -1,108 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_encoder_hash.h -/// \brief Hash macros for match finders -// -// Author: Igor Pavlov -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZ_ENCODER_HASH_H -#define LZMA_LZ_ENCODER_HASH_H - -#if defined(WORDS_BIGENDIAN) && !defined(HAVE_SMALL) - // This is to make liblzma produce the same output on big endian - // systems that it does on little endian systems. lz_encoder.c - // takes care of including the actual table. - extern const uint32_t lzma_lz_hash_table[256]; -# define hash_table lzma_lz_hash_table -#else -# include "check.h" -# define hash_table lzma_crc32_table[0] -#endif - -#define HASH_2_SIZE (UINT32_C(1) << 10) -#define HASH_3_SIZE (UINT32_C(1) << 16) -#define HASH_4_SIZE (UINT32_C(1) << 20) - -#define HASH_2_MASK (HASH_2_SIZE - 1) -#define HASH_3_MASK (HASH_3_SIZE - 1) -#define HASH_4_MASK (HASH_4_SIZE - 1) - -#define FIX_3_HASH_SIZE (HASH_2_SIZE) -#define FIX_4_HASH_SIZE (HASH_2_SIZE + HASH_3_SIZE) -#define FIX_5_HASH_SIZE (HASH_2_SIZE + HASH_3_SIZE + HASH_4_SIZE) - -// Endianness doesn't matter in hash_2_calc() (no effect on the output). -#ifdef TUKLIB_FAST_UNALIGNED_ACCESS -# define hash_2_calc() \ - const uint32_t hash_value = *(const uint16_t *)(cur) -#else -# define hash_2_calc() \ - const uint32_t hash_value \ - = (uint32_t)(cur[0]) | ((uint32_t)(cur[1]) << 8) -#endif - -#define hash_3_calc() \ - const uint32_t temp = hash_table[cur[0]] ^ cur[1]; \ - const uint32_t hash_2_value = temp & HASH_2_MASK; \ - const uint32_t hash_value \ - = (temp ^ ((uint32_t)(cur[2]) << 8)) & mf->hash_mask - -#define hash_4_calc() \ - const uint32_t temp = hash_table[cur[0]] ^ cur[1]; \ - const uint32_t hash_2_value = temp & HASH_2_MASK; \ - const uint32_t hash_3_value \ - = (temp ^ ((uint32_t)(cur[2]) << 8)) & HASH_3_MASK; \ - const uint32_t hash_value = (temp ^ ((uint32_t)(cur[2]) << 8) \ - ^ (hash_table[cur[3]] << 5)) & mf->hash_mask - - -// The following are not currently used. - -#define hash_5_calc() \ - const uint32_t temp = hash_table[cur[0]] ^ cur[1]; \ - const uint32_t hash_2_value = temp & HASH_2_MASK; \ - const uint32_t hash_3_value \ - = (temp ^ ((uint32_t)(cur[2]) << 8)) & HASH_3_MASK; \ - uint32_t hash_4_value = (temp ^ ((uint32_t)(cur[2]) << 8) ^ \ - ^ hash_table[cur[3]] << 5); \ - const uint32_t hash_value \ - = (hash_4_value ^ (hash_table[cur[4]] << 3)) \ - & mf->hash_mask; \ - hash_4_value &= HASH_4_MASK - -/* -#define hash_zip_calc() \ - const uint32_t hash_value \ - = (((uint32_t)(cur[0]) | ((uint32_t)(cur[1]) << 8)) \ - ^ hash_table[cur[2]]) & 0xFFFF -*/ - -#define hash_zip_calc() \ - const uint32_t hash_value \ - = (((uint32_t)(cur[2]) | ((uint32_t)(cur[0]) << 8)) \ - ^ hash_table[cur[1]]) & 0xFFFF - -#define mt_hash_2_calc() \ - const uint32_t hash_2_value \ - = (hash_table[cur[0]] ^ cur[1]) & HASH_2_MASK - -#define mt_hash_3_calc() \ - const uint32_t temp = hash_table[cur[0]] ^ cur[1]; \ - const uint32_t hash_2_value = temp & HASH_2_MASK; \ - const uint32_t hash_3_value \ - = (temp ^ ((uint32_t)(cur[2]) << 8)) & HASH_3_MASK - -#define mt_hash_4_calc() \ - const uint32_t temp = hash_table[cur[0]] ^ cur[1]; \ - const uint32_t hash_2_value = temp & HASH_2_MASK; \ - const uint32_t hash_3_value \ - = (temp ^ ((uint32_t)(cur[2]) << 8)) & HASH_3_MASK; \ - const uint32_t hash_4_value = (temp ^ ((uint32_t)(cur[2]) << 8) ^ \ - (hash_table[cur[3]] << 5)) & HASH_4_MASK - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash_table.h b/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash_table.h deleted file mode 100644 index 8c51717d704..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_hash_table.h +++ /dev/null @@ -1,68 +0,0 @@ -/* This file has been automatically generated by crc32_tablegen.c. */ - -const uint32_t lzma_lz_hash_table[256] = { - 0x00000000, 0x77073096, 0xEE0E612C, 0x990951BA, - 0x076DC419, 0x706AF48F, 0xE963A535, 0x9E6495A3, - 0x0EDB8832, 0x79DCB8A4, 0xE0D5E91E, 0x97D2D988, - 0x09B64C2B, 0x7EB17CBD, 0xE7B82D07, 0x90BF1D91, - 0x1DB71064, 0x6AB020F2, 0xF3B97148, 0x84BE41DE, - 0x1ADAD47D, 0x6DDDE4EB, 0xF4D4B551, 0x83D385C7, - 0x136C9856, 0x646BA8C0, 0xFD62F97A, 0x8A65C9EC, - 0x14015C4F, 0x63066CD9, 0xFA0F3D63, 0x8D080DF5, - 0x3B6E20C8, 0x4C69105E, 0xD56041E4, 0xA2677172, - 0x3C03E4D1, 0x4B04D447, 0xD20D85FD, 0xA50AB56B, - 0x35B5A8FA, 0x42B2986C, 0xDBBBC9D6, 0xACBCF940, - 0x32D86CE3, 0x45DF5C75, 0xDCD60DCF, 0xABD13D59, - 0x26D930AC, 0x51DE003A, 0xC8D75180, 0xBFD06116, - 0x21B4F4B5, 0x56B3C423, 0xCFBA9599, 0xB8BDA50F, - 0x2802B89E, 0x5F058808, 0xC60CD9B2, 0xB10BE924, - 0x2F6F7C87, 0x58684C11, 0xC1611DAB, 0xB6662D3D, - 0x76DC4190, 0x01DB7106, 0x98D220BC, 0xEFD5102A, - 0x71B18589, 0x06B6B51F, 0x9FBFE4A5, 0xE8B8D433, - 0x7807C9A2, 0x0F00F934, 0x9609A88E, 0xE10E9818, - 0x7F6A0DBB, 0x086D3D2D, 0x91646C97, 0xE6635C01, - 0x6B6B51F4, 0x1C6C6162, 0x856530D8, 0xF262004E, - 0x6C0695ED, 0x1B01A57B, 0x8208F4C1, 0xF50FC457, - 0x65B0D9C6, 0x12B7E950, 0x8BBEB8EA, 0xFCB9887C, - 0x62DD1DDF, 0x15DA2D49, 0x8CD37CF3, 0xFBD44C65, - 0x4DB26158, 0x3AB551CE, 0xA3BC0074, 0xD4BB30E2, - 0x4ADFA541, 0x3DD895D7, 0xA4D1C46D, 0xD3D6F4FB, - 0x4369E96A, 0x346ED9FC, 0xAD678846, 0xDA60B8D0, - 0x44042D73, 0x33031DE5, 0xAA0A4C5F, 0xDD0D7CC9, - 0x5005713C, 0x270241AA, 0xBE0B1010, 0xC90C2086, - 0x5768B525, 0x206F85B3, 0xB966D409, 0xCE61E49F, - 0x5EDEF90E, 0x29D9C998, 0xB0D09822, 0xC7D7A8B4, - 0x59B33D17, 0x2EB40D81, 0xB7BD5C3B, 0xC0BA6CAD, - 0xEDB88320, 0x9ABFB3B6, 0x03B6E20C, 0x74B1D29A, - 0xEAD54739, 0x9DD277AF, 0x04DB2615, 0x73DC1683, - 0xE3630B12, 0x94643B84, 0x0D6D6A3E, 0x7A6A5AA8, - 0xE40ECF0B, 0x9309FF9D, 0x0A00AE27, 0x7D079EB1, - 0xF00F9344, 0x8708A3D2, 0x1E01F268, 0x6906C2FE, - 0xF762575D, 0x806567CB, 0x196C3671, 0x6E6B06E7, - 0xFED41B76, 0x89D32BE0, 0x10DA7A5A, 0x67DD4ACC, - 0xF9B9DF6F, 0x8EBEEFF9, 0x17B7BE43, 0x60B08ED5, - 0xD6D6A3E8, 0xA1D1937E, 0x38D8C2C4, 0x4FDFF252, - 0xD1BB67F1, 0xA6BC5767, 0x3FB506DD, 0x48B2364B, - 0xD80D2BDA, 0xAF0A1B4C, 0x36034AF6, 0x41047A60, - 0xDF60EFC3, 0xA867DF55, 0x316E8EEF, 0x4669BE79, - 0xCB61B38C, 0xBC66831A, 0x256FD2A0, 0x5268E236, - 0xCC0C7795, 0xBB0B4703, 0x220216B9, 0x5505262F, - 0xC5BA3BBE, 0xB2BD0B28, 0x2BB45A92, 0x5CB36A04, - 0xC2D7FFA7, 0xB5D0CF31, 0x2CD99E8B, 0x5BDEAE1D, - 0x9B64C2B0, 0xEC63F226, 0x756AA39C, 0x026D930A, - 0x9C0906A9, 0xEB0E363F, 0x72076785, 0x05005713, - 0x95BF4A82, 0xE2B87A14, 0x7BB12BAE, 0x0CB61B38, - 0x92D28E9B, 0xE5D5BE0D, 0x7CDCEFB7, 0x0BDBDF21, - 0x86D3D2D4, 0xF1D4E242, 0x68DDB3F8, 0x1FDA836E, - 0x81BE16CD, 0xF6B9265B, 0x6FB077E1, 0x18B74777, - 0x88085AE6, 0xFF0F6A70, 0x66063BCA, 0x11010B5C, - 0x8F659EFF, 0xF862AE69, 0x616BFFD3, 0x166CCF45, - 0xA00AE278, 0xD70DD2EE, 0x4E048354, 0x3903B3C2, - 0xA7672661, 0xD06016F7, 0x4969474D, 0x3E6E77DB, - 0xAED16A4A, 0xD9D65ADC, 0x40DF0B66, 0x37D83BF0, - 0xA9BCAE53, 0xDEBB9EC5, 0x47B2CF7F, 0x30B5FFE9, - 0xBDBDF21C, 0xCABAC28A, 0x53B39330, 0x24B4A3A6, - 0xBAD03605, 0xCDD70693, 0x54DE5729, 0x23D967BF, - 0xB3667A2E, 0xC4614AB8, 0x5D681B02, 0x2A6F2B94, - 0xB40BBE37, 0xC30C8EA1, 0x5A05DF1B, 0x2D02EF8D -}; diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_mf.c b/Build/source/extra/xz/src/liblzma/lz/lz_encoder_mf.c deleted file mode 100644 index f82a1c1d295..00000000000 --- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder_mf.c +++ /dev/null @@ -1,753 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lz_encoder_mf.c -/// \brief Match finders -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lz_encoder.h" -#include "lz_encoder_hash.h" - - -/// \brief Find matches starting from the current byte -/// -/// \return The length of the longest match found -extern uint32_t -lzma_mf_find(lzma_mf *mf, uint32_t *count_ptr, lzma_match *matches) -{ - // Call the match finder. It returns the number of length-distance - // pairs found. - // FIXME: Minimum count is zero, what _exactly_ is the maximum? - const uint32_t count = mf->find(mf, matches); - - // Length of the longest match; assume that no matches were found - // and thus the maximum length is zero. - uint32_t len_best = 0; - - if (count > 0) { -#ifndef NDEBUG - // Validate the matches. - for (uint32_t i = 0; i < count; ++i) { - assert(matches[i].len <= mf->nice_len); - assert(matches[i].dist < mf->read_pos); - assert(memcmp(mf_ptr(mf) - 1, - mf_ptr(mf) - matches[i].dist - 2, - matches[i].len) == 0); - } -#endif - - // The last used element in the array contains - // the longest match. - len_best = matches[count - 1].len; - - // If a match of maximum search length was found, try to - // extend the match to maximum possible length. - if (len_best == mf->nice_len) { - // The limit for the match length is either the - // maximum match length supported by the LZ-based - // encoder or the number of bytes left in the - // dictionary, whichever is smaller. - uint32_t limit = mf_avail(mf) + 1; - if (limit > mf->match_len_max) - limit = mf->match_len_max; - - // Pointer to the byte we just ran through - // the match finder. - const uint8_t *p1 = mf_ptr(mf) - 1; - - // Pointer to the beginning of the match. We need -1 - // here because the match distances are zero based. - const uint8_t *p2 = p1 - matches[count - 1].dist - 1; - - while (len_best < limit - && p1[len_best] == p2[len_best]) - ++len_best; - } - } - - *count_ptr = count; - - // Finally update the read position to indicate that match finder was - // run for this dictionary offset. - ++mf->read_ahead; - - return len_best; -} - - -/// Hash value to indicate unused element in the hash. Since we start the -/// positions from dict_size + 1, zero is always too far to qualify -/// as usable match position. -#define EMPTY_HASH_VALUE 0 - - -/// Normalization must be done when lzma_mf.offset + lzma_mf.read_pos -/// reaches MUST_NORMALIZE_POS. -#define MUST_NORMALIZE_POS UINT32_MAX - - -/// \brief Normalizes hash values -/// -/// The hash arrays store positions of match candidates. The positions are -/// relative to an arbitrary offset that is not the same as the absolute -/// offset in the input stream. The relative position of the current byte -/// is lzma_mf.offset + lzma_mf.read_pos. The distances of the matches are -/// the differences of the current read position and the position found from -/// the hash. -/// -/// To prevent integer overflows of the offsets stored in the hash arrays, -/// we need to "normalize" the stored values now and then. During the -/// normalization, we drop values that indicate distance greater than the -/// dictionary size, thus making space for new values. -static void -normalize(lzma_mf *mf) -{ - assert(mf->read_pos + mf->offset == MUST_NORMALIZE_POS); - - // In future we may not want to touch the lowest bits, because there - // may be match finders that use larger resolution than one byte. - const uint32_t subvalue - = (MUST_NORMALIZE_POS - mf->cyclic_size); - // & (~(UINT32_C(1) << 10) - 1); - - const uint32_t count = mf->hash_size_sum + mf->sons_count; - uint32_t *hash = mf->hash; - - for (uint32_t i = 0; i < count; ++i) { - // If the distance is greater than the dictionary size, - // we can simply mark the hash element as empty. - // - // NOTE: Only the first mf->hash_size_sum elements are - // initialized for sure. There may be uninitialized elements - // in mf->son. Since we go through both mf->hash and - // mf->son here in normalization, Valgrind may complain - // that the "if" below depends on uninitialized value. In - // this case it is safe to ignore the warning. See also the - // comments in lz_encoder_init() in lz_encoder.c. - if (hash[i] <= subvalue) - hash[i] = EMPTY_HASH_VALUE; - else - hash[i] -= subvalue; - } - - // Update offset to match the new locations. - mf->offset -= subvalue; - - return; -} - - -/// Mark the current byte as processed from point of view of the match finder. -static void -move_pos(lzma_mf *mf) -{ - if (++mf->cyclic_pos == mf->cyclic_size) - mf->cyclic_pos = 0; - - ++mf->read_pos; - assert(mf->read_pos <= mf->write_pos); - - if (unlikely(mf->read_pos + mf->offset == UINT32_MAX)) - normalize(mf); -} - - -/// When flushing, we cannot run the match finder unless there is nice_len -/// bytes available in the dictionary. Instead, we skip running the match -/// finder (indicating that no match was found), and count how many bytes we -/// have ignored this way. -/// -/// When new data is given after the flushing was completed, the match finder -/// is restarted by rewinding mf->read_pos backwards by mf->pending. Then -/// the missed bytes are added to the hash using the match finder's skip -/// function (with small amount of input, it may start using mf->pending -/// again if flushing). -/// -/// Due to this rewinding, we don't touch cyclic_pos or test for -/// normalization. It will be done when the match finder's skip function -/// catches up after a flush. -static void -move_pending(lzma_mf *mf) -{ - ++mf->read_pos; - assert(mf->read_pos <= mf->write_pos); - ++mf->pending; -} - - -/// Calculate len_limit and determine if there is enough input to run -/// the actual match finder code. Sets up "cur" and "pos". This macro -/// is used by all find functions and binary tree skip functions. Hash -/// chain skip function doesn't need len_limit so a simpler code is used -/// in them. -#define header(is_bt, len_min, ret_op) \ - uint32_t len_limit = mf_avail(mf); \ - if (mf->nice_len <= len_limit) { \ - len_limit = mf->nice_len; \ - } else if (len_limit < (len_min) \ - || (is_bt && mf->action == LZMA_SYNC_FLUSH)) { \ - assert(mf->action != LZMA_RUN); \ - move_pending(mf); \ - ret_op; \ - } \ - const uint8_t *cur = mf_ptr(mf); \ - const uint32_t pos = mf->read_pos + mf->offset - - -/// Header for find functions. "return 0" indicates that zero matches -/// were found. -#define header_find(is_bt, len_min) \ - header(is_bt, len_min, return 0); \ - uint32_t matches_count = 0 - - -/// Header for a loop in a skip function. "continue" tells to skip the rest -/// of the code in the loop. -#define header_skip(is_bt, len_min) \ - header(is_bt, len_min, continue) - - -/// Calls hc_find_func() or bt_find_func() and calculates the total number -/// of matches found. Updates the dictionary position and returns the number -/// of matches found. -#define call_find(func, len_best) \ -do { \ - matches_count = func(len_limit, pos, cur, cur_match, mf->depth, \ - mf->son, mf->cyclic_pos, mf->cyclic_size, \ - matches + matches_count, len_best) \ - - matches; \ - move_pos(mf); \ - return matches_count; \ -} while (0) - - -//////////////// -// Hash Chain // -//////////////// - -#if defined(HAVE_MF_HC3) || defined(HAVE_MF_HC4) -/// -/// -/// \param len_limit Don't look for matches longer than len_limit. -/// \param pos lzma_mf.read_pos + lzma_mf.offset -/// \param cur Pointer to current byte (mf_ptr(mf)) -/// \param cur_match Start position of the current match candidate -/// \param depth Maximum length of the hash chain -/// \param son lzma_mf.son (contains the hash chain) -/// \param cyclic_pos -/// \param cyclic_size -/// \param matches Array to hold the matches. -/// \param len_best The length of the longest match found so far. -static lzma_match * -hc_find_func( - const uint32_t len_limit, - const uint32_t pos, - const uint8_t *const cur, - uint32_t cur_match, - uint32_t depth, - uint32_t *const son, - const uint32_t cyclic_pos, - const uint32_t cyclic_size, - lzma_match *matches, - uint32_t len_best) -{ - son[cyclic_pos] = cur_match; - - while (true) { - const uint32_t delta = pos - cur_match; - if (depth-- == 0 || delta >= cyclic_size) - return matches; - - const uint8_t *const pb = cur - delta; - cur_match = son[cyclic_pos - delta - + (delta > cyclic_pos ? cyclic_size : 0)]; - - if (pb[len_best] == cur[len_best] && pb[0] == cur[0]) { - uint32_t len = 0; - while (++len != len_limit) - if (pb[len] != cur[len]) - break; - - if (len_best < len) { - len_best = len; - matches->len = len; - matches->dist = delta - 1; - ++matches; - - if (len == len_limit) - return matches; - } - } - } -} - - -#define hc_find(len_best) \ - call_find(hc_find_func, len_best) - - -#define hc_skip() \ -do { \ - mf->son[mf->cyclic_pos] = cur_match; \ - move_pos(mf); \ -} while (0) - -#endif - - -#ifdef HAVE_MF_HC3 -extern uint32_t -lzma_mf_hc3_find(lzma_mf *mf, lzma_match *matches) -{ - header_find(false, 3); - - hash_3_calc(); - - const uint32_t delta2 = pos - mf->hash[hash_2_value]; - const uint32_t cur_match = mf->hash[FIX_3_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_value] = pos; - - uint32_t len_best = 2; - - if (delta2 < mf->cyclic_size && *(cur - delta2) == *cur) { - for ( ; len_best != len_limit; ++len_best) - if (*(cur + len_best - delta2) != cur[len_best]) - break; - - matches[0].len = len_best; - matches[0].dist = delta2 - 1; - matches_count = 1; - - if (len_best == len_limit) { - hc_skip(); - return 1; // matches_count - } - } - - hc_find(len_best); -} - - -extern void -lzma_mf_hc3_skip(lzma_mf *mf, uint32_t amount) -{ - do { - if (mf_avail(mf) < 3) { - move_pending(mf); - continue; - } - - const uint8_t *cur = mf_ptr(mf); - const uint32_t pos = mf->read_pos + mf->offset; - - hash_3_calc(); - - const uint32_t cur_match - = mf->hash[FIX_3_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_value] = pos; - - hc_skip(); - - } while (--amount != 0); -} -#endif - - -#ifdef HAVE_MF_HC4 -extern uint32_t -lzma_mf_hc4_find(lzma_mf *mf, lzma_match *matches) -{ - header_find(false, 4); - - hash_4_calc(); - - uint32_t delta2 = pos - mf->hash[hash_2_value]; - const uint32_t delta3 - = pos - mf->hash[FIX_3_HASH_SIZE + hash_3_value]; - const uint32_t cur_match = mf->hash[FIX_4_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value ] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_3_value] = pos; - mf->hash[FIX_4_HASH_SIZE + hash_value] = pos; - - uint32_t len_best = 1; - - if (delta2 < mf->cyclic_size && *(cur - delta2) == *cur) { - len_best = 2; - matches[0].len = 2; - matches[0].dist = delta2 - 1; - matches_count = 1; - } - - if (delta2 != delta3 && delta3 < mf->cyclic_size - && *(cur - delta3) == *cur) { - len_best = 3; - matches[matches_count++].dist = delta3 - 1; - delta2 = delta3; - } - - if (matches_count != 0) { - for ( ; len_best != len_limit; ++len_best) - if (*(cur + len_best - delta2) != cur[len_best]) - break; - - matches[matches_count - 1].len = len_best; - - if (len_best == len_limit) { - hc_skip(); - return matches_count; - } - } - - if (len_best < 3) - len_best = 3; - - hc_find(len_best); -} - - -extern void -lzma_mf_hc4_skip(lzma_mf *mf, uint32_t amount) -{ - do { - if (mf_avail(mf) < 4) { - move_pending(mf); - continue; - } - - const uint8_t *cur = mf_ptr(mf); - const uint32_t pos = mf->read_pos + mf->offset; - - hash_4_calc(); - - const uint32_t cur_match - = mf->hash[FIX_4_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_3_value] = pos; - mf->hash[FIX_4_HASH_SIZE + hash_value] = pos; - - hc_skip(); - - } while (--amount != 0); -} -#endif - - -///////////////// -// Binary Tree // -///////////////// - -#if defined(HAVE_MF_BT2) || defined(HAVE_MF_BT3) || defined(HAVE_MF_BT4) -static lzma_match * -bt_find_func( - const uint32_t len_limit, - const uint32_t pos, - const uint8_t *const cur, - uint32_t cur_match, - uint32_t depth, - uint32_t *const son, - const uint32_t cyclic_pos, - const uint32_t cyclic_size, - lzma_match *matches, - uint32_t len_best) -{ - uint32_t *ptr0 = son + (cyclic_pos << 1) + 1; - uint32_t *ptr1 = son + (cyclic_pos << 1); - - uint32_t len0 = 0; - uint32_t len1 = 0; - - while (true) { - const uint32_t delta = pos - cur_match; - if (depth-- == 0 || delta >= cyclic_size) { - *ptr0 = EMPTY_HASH_VALUE; - *ptr1 = EMPTY_HASH_VALUE; - return matches; - } - - uint32_t *const pair = son + ((cyclic_pos - delta - + (delta > cyclic_pos ? cyclic_size : 0)) - << 1); - - const uint8_t *const pb = cur - delta; - uint32_t len = my_min(len0, len1); - - if (pb[len] == cur[len]) { - while (++len != len_limit) - if (pb[len] != cur[len]) - break; - - if (len_best < len) { - len_best = len; - matches->len = len; - matches->dist = delta - 1; - ++matches; - - if (len == len_limit) { - *ptr1 = pair[0]; - *ptr0 = pair[1]; - return matches; - } - } - } - - if (pb[len] < cur[len]) { - *ptr1 = cur_match; - ptr1 = pair + 1; - cur_match = *ptr1; - len1 = len; - } else { - *ptr0 = cur_match; - ptr0 = pair; - cur_match = *ptr0; - len0 = len; - } - } -} - - -static void -bt_skip_func( - const uint32_t len_limit, - const uint32_t pos, - const uint8_t *const cur, - uint32_t cur_match, - uint32_t depth, - uint32_t *const son, - const uint32_t cyclic_pos, - const uint32_t cyclic_size) -{ - uint32_t *ptr0 = son + (cyclic_pos << 1) + 1; - uint32_t *ptr1 = son + (cyclic_pos << 1); - - uint32_t len0 = 0; - uint32_t len1 = 0; - - while (true) { - const uint32_t delta = pos - cur_match; - if (depth-- == 0 || delta >= cyclic_size) { - *ptr0 = EMPTY_HASH_VALUE; - *ptr1 = EMPTY_HASH_VALUE; - return; - } - - uint32_t *pair = son + ((cyclic_pos - delta - + (delta > cyclic_pos ? cyclic_size : 0)) - << 1); - const uint8_t *pb = cur - delta; - uint32_t len = my_min(len0, len1); - - if (pb[len] == cur[len]) { - while (++len != len_limit) - if (pb[len] != cur[len]) - break; - - if (len == len_limit) { - *ptr1 = pair[0]; - *ptr0 = pair[1]; - return; - } - } - - if (pb[len] < cur[len]) { - *ptr1 = cur_match; - ptr1 = pair + 1; - cur_match = *ptr1; - len1 = len; - } else { - *ptr0 = cur_match; - ptr0 = pair; - cur_match = *ptr0; - len0 = len; - } - } -} - - -#define bt_find(len_best) \ - call_find(bt_find_func, len_best) - -#define bt_skip() \ -do { \ - bt_skip_func(len_limit, pos, cur, cur_match, mf->depth, \ - mf->son, mf->cyclic_pos, \ - mf->cyclic_size); \ - move_pos(mf); \ -} while (0) - -#endif - - -#ifdef HAVE_MF_BT2 -extern uint32_t -lzma_mf_bt2_find(lzma_mf *mf, lzma_match *matches) -{ - header_find(true, 2); - - hash_2_calc(); - - const uint32_t cur_match = mf->hash[hash_value]; - mf->hash[hash_value] = pos; - - bt_find(1); -} - - -extern void -lzma_mf_bt2_skip(lzma_mf *mf, uint32_t amount) -{ - do { - header_skip(true, 2); - - hash_2_calc(); - - const uint32_t cur_match = mf->hash[hash_value]; - mf->hash[hash_value] = pos; - - bt_skip(); - - } while (--amount != 0); -} -#endif - - -#ifdef HAVE_MF_BT3 -extern uint32_t -lzma_mf_bt3_find(lzma_mf *mf, lzma_match *matches) -{ - header_find(true, 3); - - hash_3_calc(); - - const uint32_t delta2 = pos - mf->hash[hash_2_value]; - const uint32_t cur_match = mf->hash[FIX_3_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_value] = pos; - - uint32_t len_best = 2; - - if (delta2 < mf->cyclic_size && *(cur - delta2) == *cur) { - for ( ; len_best != len_limit; ++len_best) - if (*(cur + len_best - delta2) != cur[len_best]) - break; - - matches[0].len = len_best; - matches[0].dist = delta2 - 1; - matches_count = 1; - - if (len_best == len_limit) { - bt_skip(); - return 1; // matches_count - } - } - - bt_find(len_best); -} - - -extern void -lzma_mf_bt3_skip(lzma_mf *mf, uint32_t amount) -{ - do { - header_skip(true, 3); - - hash_3_calc(); - - const uint32_t cur_match - = mf->hash[FIX_3_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_value] = pos; - - bt_skip(); - - } while (--amount != 0); -} -#endif - - -#ifdef HAVE_MF_BT4 -extern uint32_t -lzma_mf_bt4_find(lzma_mf *mf, lzma_match *matches) -{ - header_find(true, 4); - - hash_4_calc(); - - uint32_t delta2 = pos - mf->hash[hash_2_value]; - const uint32_t delta3 - = pos - mf->hash[FIX_3_HASH_SIZE + hash_3_value]; - const uint32_t cur_match = mf->hash[FIX_4_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_3_value] = pos; - mf->hash[FIX_4_HASH_SIZE + hash_value] = pos; - - uint32_t len_best = 1; - - if (delta2 < mf->cyclic_size && *(cur - delta2) == *cur) { - len_best = 2; - matches[0].len = 2; - matches[0].dist = delta2 - 1; - matches_count = 1; - } - - if (delta2 != delta3 && delta3 < mf->cyclic_size - && *(cur - delta3) == *cur) { - len_best = 3; - matches[matches_count++].dist = delta3 - 1; - delta2 = delta3; - } - - if (matches_count != 0) { - for ( ; len_best != len_limit; ++len_best) - if (*(cur + len_best - delta2) != cur[len_best]) - break; - - matches[matches_count - 1].len = len_best; - - if (len_best == len_limit) { - bt_skip(); - return matches_count; - } - } - - if (len_best < 3) - len_best = 3; - - bt_find(len_best); -} - - -extern void -lzma_mf_bt4_skip(lzma_mf *mf, uint32_t amount) -{ - do { - header_skip(true, 4); - - hash_4_calc(); - - const uint32_t cur_match - = mf->hash[FIX_4_HASH_SIZE + hash_value]; - - mf->hash[hash_2_value] = pos; - mf->hash[FIX_3_HASH_SIZE + hash_3_value] = pos; - mf->hash[FIX_4_HASH_SIZE + hash_value] = pos; - - bt_skip(); - - } while (--amount != 0); -} -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/Makefile.inc b/Build/source/extra/xz/src/liblzma/lzma/Makefile.inc deleted file mode 100644 index 7fc4d172096..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/Makefile.inc +++ /dev/null @@ -1,43 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -EXTRA_DIST += lzma/fastpos_tablegen.c - -liblzma_la_SOURCES += lzma/lzma_common.h - -if COND_ENCODER_LZMA1 -liblzma_la_SOURCES += \ - lzma/fastpos.h \ - lzma/lzma_encoder.h \ - lzma/lzma_encoder.c \ - lzma/lzma_encoder_presets.c \ - lzma/lzma_encoder_private.h \ - lzma/lzma_encoder_optimum_fast.c \ - lzma/lzma_encoder_optimum_normal.c - -if !COND_SMALL -liblzma_la_SOURCES += lzma/fastpos_table.c -endif -endif - -if COND_DECODER_LZMA1 -liblzma_la_SOURCES += \ - lzma/lzma_decoder.c \ - lzma/lzma_decoder.h -endif - -if COND_ENCODER_LZMA2 -liblzma_la_SOURCES += \ - lzma/lzma2_encoder.c \ - lzma/lzma2_encoder.h -endif - -if COND_DECODER_LZMA2 -liblzma_la_SOURCES += \ - lzma/lzma2_decoder.c \ - lzma/lzma2_decoder.h -endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/fastpos.h b/Build/source/extra/xz/src/liblzma/lzma/fastpos.h deleted file mode 100644 index 4aea23181ab..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/fastpos.h +++ /dev/null @@ -1,140 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file fastpos.h -/// \brief Kind of two-bit version of bit scan reverse -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_FASTPOS_H -#define LZMA_FASTPOS_H - -// LZMA encodes match distances (positions) by storing the highest two -// bits using a six-bit value [0, 63], and then the missing lower bits. -// Dictionary size is also stored using this encoding in the new .lzma -// file format header. -// -// fastpos.h provides a way to quickly find out the correct six-bit -// values. The following table gives some examples of this encoding: -// -// pos return -// 0 0 -// 1 1 -// 2 2 -// 3 3 -// 4 4 -// 5 4 -// 6 5 -// 7 5 -// 8 6 -// 11 6 -// 12 7 -// ... ... -// 15 7 -// 16 8 -// 17 8 -// ... ... -// 23 8 -// 24 9 -// 25 9 -// ... ... -// -// -// Provided functions or macros -// ---------------------------- -// -// get_pos_slot(pos) is the basic version. get_pos_slot_2(pos) -// assumes that pos >= FULL_DISTANCES, thus the result is at least -// FULL_DISTANCES_BITS * 2. Using get_pos_slot(pos) instead of -// get_pos_slot_2(pos) would give the same result, but get_pos_slot_2(pos) -// should be tiny bit faster due to the assumption being made. -// -// -// Size vs. speed -// -------------- -// -// With some CPUs that have fast BSR (bit scan reverse) instruction, the -// size optimized version is slightly faster than the bigger table based -// approach. Such CPUs include Intel Pentium Pro, Pentium II, Pentium III -// and Core 2 (possibly others). AMD K7 seems to have slower BSR, but that -// would still have speed roughly comparable to the table version. Older -// x86 CPUs like the original Pentium have very slow BSR; on those systems -// the table version is a lot faster. -// -// On some CPUs, the table version is a lot faster when using position -// dependent code, but with position independent code the size optimized -// version is slightly faster. This occurs at least on 32-bit SPARC (no -// ASM optimizations). -// -// I'm making the table version the default, because that has good speed -// on all systems I have tried. The size optimized version is sometimes -// slightly faster, but sometimes it is a lot slower. - -#ifdef HAVE_SMALL -# define get_pos_slot(pos) ((pos) <= 4 ? (pos) : get_pos_slot_2(pos)) - -static inline uint32_t -get_pos_slot_2(uint32_t pos) -{ - const uint32_t i = bsr32(pos); - return (i + i) + ((pos >> (i - 1)) & 1); -} - - -#else - -#define FASTPOS_BITS 13 - -extern const uint8_t lzma_fastpos[1 << FASTPOS_BITS]; - - -#define fastpos_shift(extra, n) \ - ((extra) + (n) * (FASTPOS_BITS - 1)) - -#define fastpos_limit(extra, n) \ - (UINT32_C(1) << (FASTPOS_BITS + fastpos_shift(extra, n))) - -#define fastpos_result(pos, extra, n) \ - lzma_fastpos[(pos) >> fastpos_shift(extra, n)] \ - + 2 * fastpos_shift(extra, n) - - -static inline uint32_t -get_pos_slot(uint32_t pos) -{ - // If it is small enough, we can pick the result directly from - // the precalculated table. - if (pos < fastpos_limit(0, 0)) - return lzma_fastpos[pos]; - - if (pos < fastpos_limit(0, 1)) - return fastpos_result(pos, 0, 1); - - return fastpos_result(pos, 0, 2); -} - - -#ifdef FULL_DISTANCES_BITS -static inline uint32_t -get_pos_slot_2(uint32_t pos) -{ - assert(pos >= FULL_DISTANCES); - - if (pos < fastpos_limit(FULL_DISTANCES_BITS - 1, 0)) - return fastpos_result(pos, FULL_DISTANCES_BITS - 1, 0); - - if (pos < fastpos_limit(FULL_DISTANCES_BITS - 1, 1)) - return fastpos_result(pos, FULL_DISTANCES_BITS - 1, 1); - - return fastpos_result(pos, FULL_DISTANCES_BITS - 1, 2); -} -#endif - -#endif - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/fastpos_table.c b/Build/source/extra/xz/src/liblzma/lzma/fastpos_table.c deleted file mode 100644 index 6a3ceac0e90..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/fastpos_table.c +++ /dev/null @@ -1,519 +0,0 @@ -/* This file has been automatically generated by fastpos_tablegen.c. */ - -#include "common.h" -#include "fastpos.h" - -const uint8_t lzma_fastpos[1 << FASTPOS_BITS] = { - 0, 1, 2, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, - 8, 8, 8, 8, 8, 8, 8, 8, 9, 9, 9, 9, 9, 9, 9, 9, - 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, 25 -}; diff --git a/Build/source/extra/xz/src/liblzma/lzma/fastpos_tablegen.c b/Build/source/extra/xz/src/liblzma/lzma/fastpos_tablegen.c deleted file mode 100644 index c97e6f411c2..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/fastpos_tablegen.c +++ /dev/null @@ -1,56 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file fastpos_tablegen.c -/// \brief Generates the lzma_fastpos[] lookup table -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include -#include "fastpos.h" - - -int -main(void) -{ - uint8_t fastpos[1 << FASTPOS_BITS]; - - const uint8_t fast_slots = 2 * FASTPOS_BITS; - uint32_t c = 2; - - fastpos[0] = 0; - fastpos[1] = 1; - - for (uint8_t slot_fast = 2; slot_fast < fast_slots; ++slot_fast) { - const uint32_t k = 1 << ((slot_fast >> 1) - 1); - for (uint32_t j = 0; j < k; ++j, ++c) - fastpos[c] = slot_fast; - } - - printf("/* This file has been automatically generated " - "by fastpos_tablegen.c. */\n\n" - "#include \"common.h\"\n" - "#include \"fastpos.h\"\n\n" - "const uint8_t lzma_fastpos[1 << FASTPOS_BITS] = {"); - - for (size_t i = 0; i < (1 << FASTPOS_BITS); ++i) { - if (i % 16 == 0) - printf("\n\t"); - - printf("%3u", (unsigned int)(fastpos[i])); - - if (i != (1 << FASTPOS_BITS) - 1) - printf(","); - } - - printf("\n};\n"); - - return 0; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.c deleted file mode 100644 index 3e42575d5b8..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.c +++ /dev/null @@ -1,304 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma2_decoder.c -/// \brief LZMA2 decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lzma2_decoder.h" -#include "lz_decoder.h" -#include "lzma_decoder.h" - - -struct lzma_coder_s { - enum sequence { - SEQ_CONTROL, - SEQ_UNCOMPRESSED_1, - SEQ_UNCOMPRESSED_2, - SEQ_COMPRESSED_0, - SEQ_COMPRESSED_1, - SEQ_PROPERTIES, - SEQ_LZMA, - SEQ_COPY, - } sequence; - - /// Sequence after the size fields have been decoded. - enum sequence next_sequence; - - /// LZMA decoder - lzma_lz_decoder lzma; - - /// Uncompressed size of LZMA chunk - size_t uncompressed_size; - - /// Compressed size of the chunk (naturally equals to uncompressed - /// size of uncompressed chunk) - size_t compressed_size; - - /// True if properties are needed. This is false before the - /// first LZMA chunk. - bool need_properties; - - /// True if dictionary reset is needed. This is false before the - /// first chunk (LZMA or uncompressed). - bool need_dictionary_reset; - - lzma_options_lzma options; -}; - - -static lzma_ret -lzma2_decode(lzma_coder *restrict coder, lzma_dict *restrict dict, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size) -{ - // With SEQ_LZMA it is possible that no new input is needed to do - // some progress. The rest of the sequences assume that there is - // at least one byte of input. - while (*in_pos < in_size || coder->sequence == SEQ_LZMA) - switch (coder->sequence) { - case SEQ_CONTROL: { - const uint32_t control = in[*in_pos]; - ++*in_pos; - - // End marker - if (control == 0x00) - return LZMA_STREAM_END; - - if (control >= 0xE0 || control == 1) { - // Dictionary reset implies that next LZMA chunk has - // to set new properties. - coder->need_properties = true; - coder->need_dictionary_reset = true; - } else if (coder->need_dictionary_reset) { - return LZMA_DATA_ERROR; - } - - if (control >= 0x80) { - // LZMA chunk. The highest five bits of the - // uncompressed size are taken from the control byte. - coder->uncompressed_size = (control & 0x1F) << 16; - coder->sequence = SEQ_UNCOMPRESSED_1; - - // See if there are new properties or if we need to - // reset the state. - if (control >= 0xC0) { - // When there are new properties, state reset - // is done at SEQ_PROPERTIES. - coder->need_properties = false; - coder->next_sequence = SEQ_PROPERTIES; - - } else if (coder->need_properties) { - return LZMA_DATA_ERROR; - - } else { - coder->next_sequence = SEQ_LZMA; - - // If only state reset is wanted with old - // properties, do the resetting here for - // simplicity. - if (control >= 0xA0) - coder->lzma.reset(coder->lzma.coder, - &coder->options); - } - } else { - // Invalid control values - if (control > 2) - return LZMA_DATA_ERROR; - - // It's uncompressed chunk - coder->sequence = SEQ_COMPRESSED_0; - coder->next_sequence = SEQ_COPY; - } - - if (coder->need_dictionary_reset) { - // Finish the dictionary reset and let the caller - // flush the dictionary to the actual output buffer. - coder->need_dictionary_reset = false; - dict_reset(dict); - return LZMA_OK; - } - - break; - } - - case SEQ_UNCOMPRESSED_1: - coder->uncompressed_size += (uint32_t)(in[(*in_pos)++]) << 8; - coder->sequence = SEQ_UNCOMPRESSED_2; - break; - - case SEQ_UNCOMPRESSED_2: - coder->uncompressed_size += in[(*in_pos)++] + 1; - coder->sequence = SEQ_COMPRESSED_0; - coder->lzma.set_uncompressed(coder->lzma.coder, - coder->uncompressed_size); - break; - - case SEQ_COMPRESSED_0: - coder->compressed_size = (uint32_t)(in[(*in_pos)++]) << 8; - coder->sequence = SEQ_COMPRESSED_1; - break; - - case SEQ_COMPRESSED_1: - coder->compressed_size += in[(*in_pos)++] + 1; - coder->sequence = coder->next_sequence; - break; - - case SEQ_PROPERTIES: - if (lzma_lzma_lclppb_decode(&coder->options, in[(*in_pos)++])) - return LZMA_DATA_ERROR; - - coder->lzma.reset(coder->lzma.coder, &coder->options); - - coder->sequence = SEQ_LZMA; - break; - - case SEQ_LZMA: { - // Store the start offset so that we can update - // coder->compressed_size later. - const size_t in_start = *in_pos; - - // Decode from in[] to *dict. - const lzma_ret ret = coder->lzma.code(coder->lzma.coder, - dict, in, in_pos, in_size); - - // Validate and update coder->compressed_size. - const size_t in_used = *in_pos - in_start; - if (in_used > coder->compressed_size) - return LZMA_DATA_ERROR; - - coder->compressed_size -= in_used; - - // Return if we didn't finish the chunk, or an error occurred. - if (ret != LZMA_STREAM_END) - return ret; - - // The LZMA decoder must have consumed the whole chunk now. - // We don't need to worry about uncompressed size since it - // is checked by the LZMA decoder. - if (coder->compressed_size != 0) - return LZMA_DATA_ERROR; - - coder->sequence = SEQ_CONTROL; - break; - } - - case SEQ_COPY: { - // Copy from input to the dictionary as is. - dict_write(dict, in, in_pos, in_size, &coder->compressed_size); - if (coder->compressed_size != 0) - return LZMA_OK; - - coder->sequence = SEQ_CONTROL; - break; - } - - default: - assert(0); - return LZMA_PROG_ERROR; - } - - return LZMA_OK; -} - - -static void -lzma2_decoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - assert(coder->lzma.end == NULL); - lzma_free(coder->lzma.coder, allocator); - - lzma_free(coder, allocator); - - return; -} - - -static lzma_ret -lzma2_decoder_init(lzma_lz_decoder *lz, lzma_allocator *allocator, - const void *opt, lzma_lz_options *lz_options) -{ - if (lz->coder == NULL) { - lz->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (lz->coder == NULL) - return LZMA_MEM_ERROR; - - lz->code = &lzma2_decode; - lz->end = &lzma2_decoder_end; - - lz->coder->lzma = LZMA_LZ_DECODER_INIT; - } - - const lzma_options_lzma *options = opt; - - lz->coder->sequence = SEQ_CONTROL; - lz->coder->need_properties = true; - lz->coder->need_dictionary_reset = options->preset_dict == NULL - || options->preset_dict_size == 0; - - return lzma_lzma_decoder_create(&lz->coder->lzma, - allocator, options, lz_options); -} - - -extern lzma_ret -lzma_lzma2_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - // LZMA2 can only be the last filter in the chain. This is enforced - // by the raw_decoder initialization. - assert(filters[1].init == NULL); - - return lzma_lz_decoder_init(next, allocator, filters, - &lzma2_decoder_init); -} - - -extern uint64_t -lzma_lzma2_decoder_memusage(const void *options) -{ - return sizeof(lzma_coder) - + lzma_lzma_decoder_memusage_nocheck(options); -} - - -extern lzma_ret -lzma_lzma2_props_decode(void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) -{ - if (props_size != 1) - return LZMA_OPTIONS_ERROR; - - // Check that reserved bits are unset. - if (props[0] & 0xC0) - return LZMA_OPTIONS_ERROR; - - // Decode the dictionary size. - if (props[0] > 40) - return LZMA_OPTIONS_ERROR; - - lzma_options_lzma *opt = lzma_alloc( - sizeof(lzma_options_lzma), allocator); - if (opt == NULL) - return LZMA_MEM_ERROR; - - if (props[0] == 40) { - opt->dict_size = UINT32_MAX; - } else { - opt->dict_size = 2 | (props[0] & 1); - opt->dict_size <<= props[0] / 2 + 11; - } - - opt->preset_dict = NULL; - opt->preset_dict_size = 0; - - *options = opt; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.h b/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.h deleted file mode 100644 index fac4ac487b0..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_decoder.h +++ /dev/null @@ -1,28 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma2_decoder.h -/// \brief LZMA2 decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA2_DECODER_H -#define LZMA_LZMA2_DECODER_H - -#include "common.h" - -extern lzma_ret lzma_lzma2_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern uint64_t lzma_lzma2_decoder_memusage(const void *options); - -extern lzma_ret lzma_lzma2_props_decode( - void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c deleted file mode 100644 index 992720ca6d5..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c +++ /dev/null @@ -1,393 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma2_encoder.c -/// \brief LZMA2 encoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lz_encoder.h" -#include "lzma_encoder.h" -#include "fastpos.h" -#include "lzma2_encoder.h" - - -struct lzma_coder_s { - enum { - SEQ_INIT, - SEQ_LZMA_ENCODE, - SEQ_LZMA_COPY, - SEQ_UNCOMPRESSED_HEADER, - SEQ_UNCOMPRESSED_COPY, - } sequence; - - /// LZMA encoder - lzma_coder *lzma; - - /// LZMA options currently in use. - lzma_options_lzma opt_cur; - - bool need_properties; - bool need_state_reset; - bool need_dictionary_reset; - - /// Uncompressed size of a chunk - size_t uncompressed_size; - - /// Compressed size of a chunk (excluding headers); this is also used - /// to indicate the end of buf[] in SEQ_LZMA_COPY. - size_t compressed_size; - - /// Read position in buf[] - size_t buf_pos; - - /// Buffer to hold the chunk header and LZMA compressed data - uint8_t buf[LZMA2_HEADER_MAX + LZMA2_CHUNK_MAX]; -}; - - -static void -lzma2_header_lzma(lzma_coder *coder) -{ - assert(coder->uncompressed_size > 0); - assert(coder->uncompressed_size <= LZMA2_UNCOMPRESSED_MAX); - assert(coder->compressed_size > 0); - assert(coder->compressed_size <= LZMA2_CHUNK_MAX); - - size_t pos; - - if (coder->need_properties) { - pos = 0; - - if (coder->need_dictionary_reset) - coder->buf[pos] = 0x80 + (3 << 5); - else - coder->buf[pos] = 0x80 + (2 << 5); - } else { - pos = 1; - - if (coder->need_state_reset) - coder->buf[pos] = 0x80 + (1 << 5); - else - coder->buf[pos] = 0x80; - } - - // Set the start position for copying. - coder->buf_pos = pos; - - // Uncompressed size - size_t size = coder->uncompressed_size - 1; - coder->buf[pos++] += size >> 16; - coder->buf[pos++] = (size >> 8) & 0xFF; - coder->buf[pos++] = size & 0xFF; - - // Compressed size - size = coder->compressed_size - 1; - coder->buf[pos++] = size >> 8; - coder->buf[pos++] = size & 0xFF; - - // Properties, if needed - if (coder->need_properties) - lzma_lzma_lclppb_encode(&coder->opt_cur, coder->buf + pos); - - coder->need_properties = false; - coder->need_state_reset = false; - coder->need_dictionary_reset = false; - - // The copying code uses coder->compressed_size to indicate the end - // of coder->buf[], so we need add the maximum size of the header here. - coder->compressed_size += LZMA2_HEADER_MAX; - - return; -} - - -static void -lzma2_header_uncompressed(lzma_coder *coder) -{ - assert(coder->uncompressed_size > 0); - assert(coder->uncompressed_size <= LZMA2_CHUNK_MAX); - - // If this is the first chunk, we need to include dictionary - // reset indicator. - if (coder->need_dictionary_reset) - coder->buf[0] = 1; - else - coder->buf[0] = 2; - - coder->need_dictionary_reset = false; - - // "Compressed" size - coder->buf[1] = (coder->uncompressed_size - 1) >> 8; - coder->buf[2] = (coder->uncompressed_size - 1) & 0xFF; - - // Set the start position for copying. - coder->buf_pos = 0; - return; -} - - -static lzma_ret -lzma2_encode(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size) -{ - while (*out_pos < out_size) - switch (coder->sequence) { - case SEQ_INIT: - // If there's no input left and we are flushing or finishing, - // don't start a new chunk. - if (mf_unencoded(mf) == 0) { - // Write end of payload marker if finishing. - if (mf->action == LZMA_FINISH) - out[(*out_pos)++] = 0; - - return mf->action == LZMA_RUN - ? LZMA_OK : LZMA_STREAM_END; - } - - if (coder->need_state_reset) - return_if_error(lzma_lzma_encoder_reset( - coder->lzma, &coder->opt_cur)); - - coder->uncompressed_size = 0; - coder->compressed_size = 0; - coder->sequence = SEQ_LZMA_ENCODE; - - // Fall through - - case SEQ_LZMA_ENCODE: { - // Calculate how much more uncompressed data this chunk - // could accept. - const uint32_t left = LZMA2_UNCOMPRESSED_MAX - - coder->uncompressed_size; - uint32_t limit; - - if (left < mf->match_len_max) { - // Must flush immediately since the next LZMA symbol - // could make the uncompressed size of the chunk too - // big. - limit = 0; - } else { - // Calculate maximum read_limit that is OK from point - // of view of LZMA2 chunk size. - limit = mf->read_pos - mf->read_ahead - + left - mf->match_len_max; - } - - // Save the start position so that we can update - // coder->uncompressed_size. - const uint32_t read_start = mf->read_pos - mf->read_ahead; - - // Call the LZMA encoder until the chunk is finished. - const lzma_ret ret = lzma_lzma_encode(coder->lzma, mf, - coder->buf + LZMA2_HEADER_MAX, - &coder->compressed_size, - LZMA2_CHUNK_MAX, limit); - - coder->uncompressed_size += mf->read_pos - mf->read_ahead - - read_start; - - assert(coder->compressed_size <= LZMA2_CHUNK_MAX); - assert(coder->uncompressed_size <= LZMA2_UNCOMPRESSED_MAX); - - if (ret != LZMA_STREAM_END) - return LZMA_OK; - - // See if the chunk compressed. If it didn't, we encode it - // as uncompressed chunk. This saves a few bytes of space - // and makes decoding faster. - if (coder->compressed_size >= coder->uncompressed_size) { - coder->uncompressed_size += mf->read_ahead; - assert(coder->uncompressed_size - <= LZMA2_UNCOMPRESSED_MAX); - mf->read_ahead = 0; - lzma2_header_uncompressed(coder); - coder->need_state_reset = true; - coder->sequence = SEQ_UNCOMPRESSED_HEADER; - break; - } - - // The chunk did compress at least by one byte, so we store - // the chunk as LZMA. - lzma2_header_lzma(coder); - - coder->sequence = SEQ_LZMA_COPY; - } - - // Fall through - - case SEQ_LZMA_COPY: - // Copy the compressed chunk along its headers to the - // output buffer. - lzma_bufcpy(coder->buf, &coder->buf_pos, - coder->compressed_size, - out, out_pos, out_size); - if (coder->buf_pos != coder->compressed_size) - return LZMA_OK; - - coder->sequence = SEQ_INIT; - break; - - case SEQ_UNCOMPRESSED_HEADER: - // Copy the three-byte header to indicate uncompressed chunk. - lzma_bufcpy(coder->buf, &coder->buf_pos, - LZMA2_HEADER_UNCOMPRESSED, - out, out_pos, out_size); - if (coder->buf_pos != LZMA2_HEADER_UNCOMPRESSED) - return LZMA_OK; - - coder->sequence = SEQ_UNCOMPRESSED_COPY; - - // Fall through - - case SEQ_UNCOMPRESSED_COPY: - // Copy the uncompressed data as is from the dictionary - // to the output buffer. - mf_read(mf, out, out_pos, out_size, &coder->uncompressed_size); - if (coder->uncompressed_size != 0) - return LZMA_OK; - - coder->sequence = SEQ_INIT; - break; - } - - return LZMA_OK; -} - - -static void -lzma2_encoder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_free(coder->lzma, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -lzma2_encoder_options_update(lzma_coder *coder, const lzma_filter *filter) -{ - // New options can be set only when there is no incomplete chunk. - // This is the case at the beginning of the raw stream and right - // after LZMA_SYNC_FLUSH. - if (filter->options == NULL || coder->sequence != SEQ_INIT) - return LZMA_PROG_ERROR; - - // Look if there are new options. At least for now, - // only lc/lp/pb can be changed. - const lzma_options_lzma *opt = filter->options; - if (coder->opt_cur.lc != opt->lc || coder->opt_cur.lp != opt->lp - || coder->opt_cur.pb != opt->pb) { - // Validate the options. - if (opt->lc > LZMA_LCLP_MAX || opt->lp > LZMA_LCLP_MAX - || opt->lc + opt->lp > LZMA_LCLP_MAX - || opt->pb > LZMA_PB_MAX) - return LZMA_OPTIONS_ERROR; - - // The new options will be used when the encoder starts - // a new LZMA2 chunk. - coder->opt_cur.lc = opt->lc; - coder->opt_cur.lp = opt->lp; - coder->opt_cur.pb = opt->pb; - coder->need_properties = true; - coder->need_state_reset = true; - } - - return LZMA_OK; -} - - -static lzma_ret -lzma2_encoder_init(lzma_lz_encoder *lz, lzma_allocator *allocator, - const void *options, lzma_lz_options *lz_options) -{ - if (options == NULL) - return LZMA_PROG_ERROR; - - if (lz->coder == NULL) { - lz->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (lz->coder == NULL) - return LZMA_MEM_ERROR; - - lz->code = &lzma2_encode; - lz->end = &lzma2_encoder_end; - lz->options_update = &lzma2_encoder_options_update; - - lz->coder->lzma = NULL; - } - - lz->coder->opt_cur = *(const lzma_options_lzma *)(options); - - lz->coder->sequence = SEQ_INIT; - lz->coder->need_properties = true; - lz->coder->need_state_reset = false; - lz->coder->need_dictionary_reset - = lz->coder->opt_cur.preset_dict == NULL - || lz->coder->opt_cur.preset_dict_size == 0; - - // Initialize LZMA encoder - return_if_error(lzma_lzma_encoder_create(&lz->coder->lzma, allocator, - &lz->coder->opt_cur, lz_options)); - - // Make sure that we will always have enough history available in - // case we need to use uncompressed chunks. They are used when the - // compressed size of a chunk is not smaller than the uncompressed - // size, so we need to have at least LZMA2_COMPRESSED_MAX bytes - // history available. - if (lz_options->before_size + lz_options->dict_size < LZMA2_CHUNK_MAX) - lz_options->before_size - = LZMA2_CHUNK_MAX - lz_options->dict_size; - - return LZMA_OK; -} - - -extern lzma_ret -lzma_lzma2_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return lzma_lz_encoder_init( - next, allocator, filters, &lzma2_encoder_init); -} - - -extern uint64_t -lzma_lzma2_encoder_memusage(const void *options) -{ - const uint64_t lzma_mem = lzma_lzma_encoder_memusage(options); - if (lzma_mem == UINT64_MAX) - return UINT64_MAX; - - return sizeof(lzma_coder) + lzma_mem; -} - - -extern lzma_ret -lzma_lzma2_props_encode(const void *options, uint8_t *out) -{ - const lzma_options_lzma *const opt = options; - uint32_t d = my_max(opt->dict_size, LZMA_DICT_SIZE_MIN); - - // Round up to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending - // on which one is the next: - --d; - d |= d >> 2; - d |= d >> 3; - d |= d >> 4; - d |= d >> 8; - d |= d >> 16; - - // Get the highest two bits using the proper encoding: - if (d == UINT32_MAX) - out[0] = 40; - else - out[0] = get_pos_slot(d + 1) - 24; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.h b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.h deleted file mode 100644 index ca19ef4691c..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.h +++ /dev/null @@ -1,41 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma2_encoder.h -/// \brief LZMA2 encoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA2_ENCODER_H -#define LZMA_LZMA2_ENCODER_H - -#include "common.h" - - -/// Maximum number of bytes of actual data per chunk (no headers) -#define LZMA2_CHUNK_MAX (UINT32_C(1) << 16) - -/// Maximum uncompressed size of LZMA chunk (no headers) -#define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21) - -/// Maximum size of LZMA2 headers -#define LZMA2_HEADER_MAX 6 - -/// Size of a header for uncompressed chunk -#define LZMA2_HEADER_UNCOMPRESSED 3 - - -extern lzma_ret lzma_lzma2_encoder_init( - lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters); - -extern uint64_t lzma_lzma2_encoder_memusage(const void *options); - -extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_common.h b/Build/source/extra/xz/src/liblzma/lzma/lzma_common.h deleted file mode 100644 index e31e285f9a5..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_common.h +++ /dev/null @@ -1,223 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_common.h -/// \brief Private definitions common to LZMA encoder and decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA_COMMON_H -#define LZMA_LZMA_COMMON_H - -#include "common.h" -#include "range_common.h" - - -/////////////////// -// Miscellaneous // -/////////////////// - -/// Maximum number of position states. A position state is the lowest pos bits -/// number of bits of the current uncompressed offset. In some places there -/// are different sets of probabilities for different pos states. -#define POS_STATES_MAX (1 << LZMA_PB_MAX) - - -/// Validates lc, lp, and pb. -static inline bool -is_lclppb_valid(const lzma_options_lzma *options) -{ - return options->lc <= LZMA_LCLP_MAX && options->lp <= LZMA_LCLP_MAX - && options->lc + options->lp <= LZMA_LCLP_MAX - && options->pb <= LZMA_PB_MAX; -} - - -/////////// -// State // -/////////// - -/// This enum is used to track which events have occurred most recently and -/// in which order. This information is used to predict the next event. -/// -/// Events: -/// - Literal: One 8-bit byte -/// - Match: Repeat a chunk of data at some distance -/// - Long repeat: Multi-byte match at a recently seen distance -/// - Short repeat: One-byte repeat at a recently seen distance -/// -/// The event names are in from STATE_oldest_older_previous. REP means -/// either short or long repeated match, and NONLIT means any non-literal. -typedef enum { - STATE_LIT_LIT, - STATE_MATCH_LIT_LIT, - STATE_REP_LIT_LIT, - STATE_SHORTREP_LIT_LIT, - STATE_MATCH_LIT, - STATE_REP_LIT, - STATE_SHORTREP_LIT, - STATE_LIT_MATCH, - STATE_LIT_LONGREP, - STATE_LIT_SHORTREP, - STATE_NONLIT_MATCH, - STATE_NONLIT_REP, -} lzma_lzma_state; - - -/// Total number of states -#define STATES 12 - -/// The lowest 7 states indicate that the previous state was a literal. -#define LIT_STATES 7 - - -/// Indicate that the latest state was a literal. -#define update_literal(state) \ - state = ((state) <= STATE_SHORTREP_LIT_LIT \ - ? STATE_LIT_LIT \ - : ((state) <= STATE_LIT_SHORTREP \ - ? (state) - 3 \ - : (state) - 6)) - -/// Indicate that the latest state was a match. -#define update_match(state) \ - state = ((state) < LIT_STATES ? STATE_LIT_MATCH : STATE_NONLIT_MATCH) - -/// Indicate that the latest state was a long repeated match. -#define update_long_rep(state) \ - state = ((state) < LIT_STATES ? STATE_LIT_LONGREP : STATE_NONLIT_REP) - -/// Indicate that the latest state was a short match. -#define update_short_rep(state) \ - state = ((state) < LIT_STATES ? STATE_LIT_SHORTREP : STATE_NONLIT_REP) - -/// Test if the previous state was a literal. -#define is_literal_state(state) \ - ((state) < LIT_STATES) - - -///////////// -// Literal // -///////////// - -/// Each literal coder is divided in three sections: -/// - 0x001-0x0FF: Without match byte -/// - 0x101-0x1FF: With match byte; match bit is 0 -/// - 0x201-0x2FF: With match byte; match bit is 1 -/// -/// Match byte is used when the previous LZMA symbol was something else than -/// a literal (that is, it was some kind of match). -#define LITERAL_CODER_SIZE 0x300 - -/// Maximum number of literal coders -#define LITERAL_CODERS_MAX (1 << LZMA_LCLP_MAX) - -/// Locate the literal coder for the next literal byte. The choice depends on -/// - the lowest literal_pos_bits bits of the position of the current -/// byte; and -/// - the highest literal_context_bits bits of the previous byte. -#define literal_subcoder(probs, lc, lp_mask, pos, prev_byte) \ - ((probs)[(((pos) & lp_mask) << lc) + ((prev_byte) >> (8 - lc))]) - - -static inline void -literal_init(probability (*probs)[LITERAL_CODER_SIZE], - uint32_t lc, uint32_t lp) -{ - assert(lc + lp <= LZMA_LCLP_MAX); - - const uint32_t coders = 1U << (lc + lp); - - for (uint32_t i = 0; i < coders; ++i) - for (uint32_t j = 0; j < LITERAL_CODER_SIZE; ++j) - bit_reset(probs[i][j]); - - return; -} - - -////////////////// -// Match length // -////////////////// - -// Minimum length of a match is two bytes. -#define MATCH_LEN_MIN 2 - -// Match length is encoded with 4, 5, or 10 bits. -// -// Length Bits -// 2-9 4 = Choice=0 + 3 bits -// 10-17 5 = Choice=1 + Choice2=0 + 3 bits -// 18-273 10 = Choice=1 + Choice2=1 + 8 bits -#define LEN_LOW_BITS 3 -#define LEN_LOW_SYMBOLS (1 << LEN_LOW_BITS) -#define LEN_MID_BITS 3 -#define LEN_MID_SYMBOLS (1 << LEN_MID_BITS) -#define LEN_HIGH_BITS 8 -#define LEN_HIGH_SYMBOLS (1 << LEN_HIGH_BITS) -#define LEN_SYMBOLS (LEN_LOW_SYMBOLS + LEN_MID_SYMBOLS + LEN_HIGH_SYMBOLS) - -// Maximum length of a match is 273 which is a result of the encoding -// described above. -#define MATCH_LEN_MAX (MATCH_LEN_MIN + LEN_SYMBOLS - 1) - - -//////////////////// -// Match distance // -//////////////////// - -// Different set of probabilities is used for match distances that have very -// short match length: Lengths of 2, 3, and 4 bytes have a separate set of -// probabilities for each length. The matches with longer length use a shared -// set of probabilities. -#define LEN_TO_POS_STATES 4 - -// Macro to get the index of the appropriate probability array. -#define get_len_to_pos_state(len) \ - ((len) < LEN_TO_POS_STATES + MATCH_LEN_MIN \ - ? (len) - MATCH_LEN_MIN \ - : LEN_TO_POS_STATES - 1) - -// The highest two bits of a match distance (pos slot) are encoded using six -// bits. See fastpos.h for more explanation. -#define POS_SLOT_BITS 6 -#define POS_SLOTS (1 << POS_SLOT_BITS) - -// Match distances up to 127 are fully encoded using probabilities. Since -// the highest two bits (pos slot) are always encoded using six bits, the -// distances 0-3 don't need any additional bits to encode, since the pos -// slot itself is the same as the actual distance. START_POS_MODEL_INDEX -// indicates the first pos slot where at least one additional bit is needed. -#define START_POS_MODEL_INDEX 4 - -// Match distances greater than 127 are encoded in three pieces: -// - pos slot: the highest two bits -// - direct bits: 2-26 bits below the highest two bits -// - alignment bits: four lowest bits -// -// Direct bits don't use any probabilities. -// -// The pos slot value of 14 is for distances 128-191 (see the table in -// fastpos.h to understand why). -#define END_POS_MODEL_INDEX 14 - -// Pos slots that indicate a distance <= 127. -#define FULL_DISTANCES_BITS (END_POS_MODEL_INDEX / 2) -#define FULL_DISTANCES (1 << FULL_DISTANCES_BITS) - -// For match distances greater than 127, only the highest two bits and the -// lowest four bits (alignment) is encoded using probabilities. -#define ALIGN_BITS 4 -#define ALIGN_TABLE_SIZE (1 << ALIGN_BITS) -#define ALIGN_MASK (ALIGN_TABLE_SIZE - 1) - -// LZMA remembers the four most recent match distances. Reusing these distances -// tends to take less space than re-encoding the actual distance value. -#define REP_DISTANCES 4 - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.c deleted file mode 100644 index 9979bb4261b..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.c +++ /dev/null @@ -1,1057 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_decoder.c -/// \brief LZMA decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lz_decoder.h" -#include "lzma_common.h" -#include "lzma_decoder.h" -#include "range_decoder.h" - - -#ifdef HAVE_SMALL - -// Macros for (somewhat) size-optimized code. -#define seq_4(seq) seq - -#define seq_6(seq) seq - -#define seq_8(seq) seq - -#define seq_len(seq) \ - seq ## _CHOICE, \ - seq ## _CHOICE2, \ - seq ## _BITTREE - -#define len_decode(target, ld, pos_state, seq) \ -do { \ -case seq ## _CHOICE: \ - rc_if_0(ld.choice, seq ## _CHOICE) { \ - rc_update_0(ld.choice); \ - probs = ld.low[pos_state];\ - limit = LEN_LOW_SYMBOLS; \ - target = MATCH_LEN_MIN; \ - } else { \ - rc_update_1(ld.choice); \ -case seq ## _CHOICE2: \ - rc_if_0(ld.choice2, seq ## _CHOICE2) { \ - rc_update_0(ld.choice2); \ - probs = ld.mid[pos_state]; \ - limit = LEN_MID_SYMBOLS; \ - target = MATCH_LEN_MIN + LEN_LOW_SYMBOLS; \ - } else { \ - rc_update_1(ld.choice2); \ - probs = ld.high; \ - limit = LEN_HIGH_SYMBOLS; \ - target = MATCH_LEN_MIN + LEN_LOW_SYMBOLS \ - + LEN_MID_SYMBOLS; \ - } \ - } \ - symbol = 1; \ -case seq ## _BITTREE: \ - do { \ - rc_bit(probs[symbol], , , seq ## _BITTREE); \ - } while (symbol < limit); \ - target += symbol - limit; \ -} while (0) - -#else // HAVE_SMALL - -// Unrolled versions -#define seq_4(seq) \ - seq ## 0, \ - seq ## 1, \ - seq ## 2, \ - seq ## 3 - -#define seq_6(seq) \ - seq ## 0, \ - seq ## 1, \ - seq ## 2, \ - seq ## 3, \ - seq ## 4, \ - seq ## 5 - -#define seq_8(seq) \ - seq ## 0, \ - seq ## 1, \ - seq ## 2, \ - seq ## 3, \ - seq ## 4, \ - seq ## 5, \ - seq ## 6, \ - seq ## 7 - -#define seq_len(seq) \ - seq ## _CHOICE, \ - seq ## _LOW0, \ - seq ## _LOW1, \ - seq ## _LOW2, \ - seq ## _CHOICE2, \ - seq ## _MID0, \ - seq ## _MID1, \ - seq ## _MID2, \ - seq ## _HIGH0, \ - seq ## _HIGH1, \ - seq ## _HIGH2, \ - seq ## _HIGH3, \ - seq ## _HIGH4, \ - seq ## _HIGH5, \ - seq ## _HIGH6, \ - seq ## _HIGH7 - -#define len_decode(target, ld, pos_state, seq) \ -do { \ - symbol = 1; \ -case seq ## _CHOICE: \ - rc_if_0(ld.choice, seq ## _CHOICE) { \ - rc_update_0(ld.choice); \ - rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW0); \ - rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW1); \ - rc_bit_case(ld.low[pos_state][symbol], , , seq ## _LOW2); \ - target = symbol - LEN_LOW_SYMBOLS + MATCH_LEN_MIN; \ - } else { \ - rc_update_1(ld.choice); \ -case seq ## _CHOICE2: \ - rc_if_0(ld.choice2, seq ## _CHOICE2) { \ - rc_update_0(ld.choice2); \ - rc_bit_case(ld.mid[pos_state][symbol], , , \ - seq ## _MID0); \ - rc_bit_case(ld.mid[pos_state][symbol], , , \ - seq ## _MID1); \ - rc_bit_case(ld.mid[pos_state][symbol], , , \ - seq ## _MID2); \ - target = symbol - LEN_MID_SYMBOLS \ - + MATCH_LEN_MIN + LEN_LOW_SYMBOLS; \ - } else { \ - rc_update_1(ld.choice2); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH0); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH1); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH2); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH3); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH4); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH5); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH6); \ - rc_bit_case(ld.high[symbol], , , seq ## _HIGH7); \ - target = symbol - LEN_HIGH_SYMBOLS \ - + MATCH_LEN_MIN \ - + LEN_LOW_SYMBOLS + LEN_MID_SYMBOLS; \ - } \ - } \ -} while (0) - -#endif // HAVE_SMALL - - -/// Length decoder probabilities; see comments in lzma_common.h. -typedef struct { - probability choice; - probability choice2; - probability low[POS_STATES_MAX][LEN_LOW_SYMBOLS]; - probability mid[POS_STATES_MAX][LEN_MID_SYMBOLS]; - probability high[LEN_HIGH_SYMBOLS]; -} lzma_length_decoder; - - -struct lzma_coder_s { - /////////////////// - // Probabilities // - /////////////////// - - /// Literals; see comments in lzma_common.h. - probability literal[LITERAL_CODERS_MAX][LITERAL_CODER_SIZE]; - - /// If 1, it's a match. Otherwise it's a single 8-bit literal. - probability is_match[STATES][POS_STATES_MAX]; - - /// If 1, it's a repeated match. The distance is one of rep0 .. rep3. - probability is_rep[STATES]; - - /// If 0, distance of a repeated match is rep0. - /// Otherwise check is_rep1. - probability is_rep0[STATES]; - - /// If 0, distance of a repeated match is rep1. - /// Otherwise check is_rep2. - probability is_rep1[STATES]; - - /// If 0, distance of a repeated match is rep2. Otherwise it is rep3. - probability is_rep2[STATES]; - - /// If 1, the repeated match has length of one byte. Otherwise - /// the length is decoded from rep_len_decoder. - probability is_rep0_long[STATES][POS_STATES_MAX]; - - /// Probability tree for the highest two bits of the match distance. - /// There is a separate probability tree for match lengths of - /// 2 (i.e. MATCH_LEN_MIN), 3, 4, and [5, 273]. - probability pos_slot[LEN_TO_POS_STATES][POS_SLOTS]; - - /// Probability trees for additional bits for match distance when the - /// distance is in the range [4, 127]. - probability pos_special[FULL_DISTANCES - END_POS_MODEL_INDEX]; - - /// Probability tree for the lowest four bits of a match distance - /// that is equal to or greater than 128. - probability pos_align[ALIGN_TABLE_SIZE]; - - /// Length of a normal match - lzma_length_decoder match_len_decoder; - - /// Length of a repeated match - lzma_length_decoder rep_len_decoder; - - /////////////////// - // Decoder state // - /////////////////// - - // Range coder - lzma_range_decoder rc; - - // Types of the most recently seen LZMA symbols - lzma_lzma_state state; - - uint32_t rep0; ///< Distance of the latest match - uint32_t rep1; ///< Distance of second latest match - uint32_t rep2; ///< Distance of third latest match - uint32_t rep3; ///< Distance of fourth latest match - - uint32_t pos_mask; // (1U << pb) - 1 - uint32_t literal_context_bits; - uint32_t literal_pos_mask; - - /// Uncompressed size as bytes, or LZMA_VLI_UNKNOWN if end of - /// payload marker is expected. - lzma_vli uncompressed_size; - - //////////////////////////////// - // State of incomplete symbol // - //////////////////////////////// - - /// Position where to continue the decoder loop - enum { - SEQ_NORMALIZE, - SEQ_IS_MATCH, - seq_8(SEQ_LITERAL), - seq_8(SEQ_LITERAL_MATCHED), - SEQ_LITERAL_WRITE, - SEQ_IS_REP, - seq_len(SEQ_MATCH_LEN), - seq_6(SEQ_POS_SLOT), - SEQ_POS_MODEL, - SEQ_DIRECT, - seq_4(SEQ_ALIGN), - SEQ_EOPM, - SEQ_IS_REP0, - SEQ_SHORTREP, - SEQ_IS_REP0_LONG, - SEQ_IS_REP1, - SEQ_IS_REP2, - seq_len(SEQ_REP_LEN), - SEQ_COPY, - } sequence; - - /// Base of the current probability tree - probability *probs; - - /// Symbol being decoded. This is also used as an index variable in - /// bittree decoders: probs[symbol] - uint32_t symbol; - - /// Used as a loop termination condition on bittree decoders and - /// direct bits decoder. - uint32_t limit; - - /// Matched literal decoder: 0x100 or 0 to help avoiding branches. - /// Bittree reverse decoders: Offset of the next bit: 1 << offset - uint32_t offset; - - /// If decoding a literal: match byte. - /// If decoding a match: length of the match. - uint32_t len; -}; - - -static lzma_ret -lzma_decode(lzma_coder *restrict coder, lzma_dict *restrict dictptr, - const uint8_t *restrict in, - size_t *restrict in_pos, size_t in_size) -{ - //////////////////// - // Initialization // - //////////////////// - - if (!rc_read_init(&coder->rc, in, in_pos, in_size)) - return LZMA_OK; - - /////////////// - // Variables // - /////////////// - - // Making local copies of often-used variables improves both - // speed and readability. - - lzma_dict dict = *dictptr; - - const size_t dict_start = dict.pos; - - // Range decoder - rc_to_local(coder->rc, *in_pos); - - // State - uint32_t state = coder->state; - uint32_t rep0 = coder->rep0; - uint32_t rep1 = coder->rep1; - uint32_t rep2 = coder->rep2; - uint32_t rep3 = coder->rep3; - - const uint32_t pos_mask = coder->pos_mask; - - // These variables are actually needed only if we last time ran - // out of input in the middle of the decoder loop. - probability *probs = coder->probs; - uint32_t symbol = coder->symbol; - uint32_t limit = coder->limit; - uint32_t offset = coder->offset; - uint32_t len = coder->len; - - const uint32_t literal_pos_mask = coder->literal_pos_mask; - const uint32_t literal_context_bits = coder->literal_context_bits; - - // Temporary variables - uint32_t pos_state = dict.pos & pos_mask; - - lzma_ret ret = LZMA_OK; - - // If uncompressed size is known, there must be no end of payload - // marker. - const bool no_eopm = coder->uncompressed_size - != LZMA_VLI_UNKNOWN; - if (no_eopm && coder->uncompressed_size < dict.limit - dict.pos) - dict.limit = dict.pos + (size_t)(coder->uncompressed_size); - - // The main decoder loop. The "switch" is used to restart the decoder at - // correct location. Once restarted, the "switch" is no longer used. - switch (coder->sequence) - while (true) { - // Calculate new pos_state. This is skipped on the first loop - // since we already calculated it when setting up the local - // variables. - pos_state = dict.pos & pos_mask; - - case SEQ_NORMALIZE: - case SEQ_IS_MATCH: - if (unlikely(no_eopm && dict.pos == dict.limit)) - break; - - rc_if_0(coder->is_match[state][pos_state], SEQ_IS_MATCH) { - rc_update_0(coder->is_match[state][pos_state]); - - // It's a literal i.e. a single 8-bit byte. - - probs = literal_subcoder(coder->literal, - literal_context_bits, literal_pos_mask, - dict.pos, dict_get(&dict, 0)); - symbol = 1; - - if (is_literal_state(state)) { - // Decode literal without match byte. -#ifdef HAVE_SMALL - case SEQ_LITERAL: - do { - rc_bit(probs[symbol], , , SEQ_LITERAL); - } while (symbol < (1 << 8)); -#else - rc_bit_case(probs[symbol], , , SEQ_LITERAL0); - rc_bit_case(probs[symbol], , , SEQ_LITERAL1); - rc_bit_case(probs[symbol], , , SEQ_LITERAL2); - rc_bit_case(probs[symbol], , , SEQ_LITERAL3); - rc_bit_case(probs[symbol], , , SEQ_LITERAL4); - rc_bit_case(probs[symbol], , , SEQ_LITERAL5); - rc_bit_case(probs[symbol], , , SEQ_LITERAL6); - rc_bit_case(probs[symbol], , , SEQ_LITERAL7); -#endif - } else { - // Decode literal with match byte. - // - // We store the byte we compare against - // ("match byte") to "len" to minimize the - // number of variables we need to store - // between decoder calls. - len = dict_get(&dict, rep0) << 1; - - // The usage of "offset" allows omitting some - // branches, which should give tiny speed - // improvement on some CPUs. "offset" gets - // set to zero if match_bit didn't match. - offset = 0x100; - -#ifdef HAVE_SMALL - case SEQ_LITERAL_MATCHED: - do { - const uint32_t match_bit - = len & offset; - const uint32_t subcoder_index - = offset + match_bit - + symbol; - - rc_bit(probs[subcoder_index], - offset &= ~match_bit, - offset &= match_bit, - SEQ_LITERAL_MATCHED); - - // It seems to be faster to do this - // here instead of putting it to the - // beginning of the loop and then - // putting the "case" in the middle - // of the loop. - len <<= 1; - - } while (symbol < (1 << 8)); -#else - // Unroll the loop. - uint32_t match_bit; - uint32_t subcoder_index; - -# define d(seq) \ - case seq: \ - match_bit = len & offset; \ - subcoder_index = offset + match_bit + symbol; \ - rc_bit(probs[subcoder_index], \ - offset &= ~match_bit, \ - offset &= match_bit, \ - seq) - - d(SEQ_LITERAL_MATCHED0); - len <<= 1; - d(SEQ_LITERAL_MATCHED1); - len <<= 1; - d(SEQ_LITERAL_MATCHED2); - len <<= 1; - d(SEQ_LITERAL_MATCHED3); - len <<= 1; - d(SEQ_LITERAL_MATCHED4); - len <<= 1; - d(SEQ_LITERAL_MATCHED5); - len <<= 1; - d(SEQ_LITERAL_MATCHED6); - len <<= 1; - d(SEQ_LITERAL_MATCHED7); -# undef d -#endif - } - - //update_literal(state); - // Use a lookup table to update to literal state, - // since compared to other state updates, this would - // need two branches. - static const lzma_lzma_state next_state[] = { - STATE_LIT_LIT, - STATE_LIT_LIT, - STATE_LIT_LIT, - STATE_LIT_LIT, - STATE_MATCH_LIT_LIT, - STATE_REP_LIT_LIT, - STATE_SHORTREP_LIT_LIT, - STATE_MATCH_LIT, - STATE_REP_LIT, - STATE_SHORTREP_LIT, - STATE_MATCH_LIT, - STATE_REP_LIT - }; - state = next_state[state]; - - case SEQ_LITERAL_WRITE: - if (unlikely(dict_put(&dict, symbol))) { - coder->sequence = SEQ_LITERAL_WRITE; - goto out; - } - - continue; - } - - // Instead of a new byte we are going to get a byte range - // (distance and length) which will be repeated from our - // output history. - - rc_update_1(coder->is_match[state][pos_state]); - - case SEQ_IS_REP: - rc_if_0(coder->is_rep[state], SEQ_IS_REP) { - // Not a repeated match - rc_update_0(coder->is_rep[state]); - update_match(state); - - // The latest three match distances are kept in - // memory in case there are repeated matches. - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - - // Decode the length of the match. - len_decode(len, coder->match_len_decoder, - pos_state, SEQ_MATCH_LEN); - - // Prepare to decode the highest two bits of the - // match distance. - probs = coder->pos_slot[get_len_to_pos_state(len)]; - symbol = 1; - -#ifdef HAVE_SMALL - case SEQ_POS_SLOT: - do { - rc_bit(probs[symbol], , , SEQ_POS_SLOT); - } while (symbol < POS_SLOTS); -#else - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT0); - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT1); - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT2); - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT3); - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT4); - rc_bit_case(probs[symbol], , , SEQ_POS_SLOT5); -#endif - // Get rid of the highest bit that was needed for - // indexing of the probability array. - symbol -= POS_SLOTS; - assert(symbol <= 63); - - if (symbol < START_POS_MODEL_INDEX) { - // Match distances [0, 3] have only two bits. - rep0 = symbol; - } else { - // Decode the lowest [1, 29] bits of - // the match distance. - limit = (symbol >> 1) - 1; - assert(limit >= 1 && limit <= 30); - rep0 = 2 + (symbol & 1); - - if (symbol < END_POS_MODEL_INDEX) { - // Prepare to decode the low bits for - // a distance of [4, 127]. - assert(limit <= 5); - rep0 <<= limit; - assert(rep0 <= 96); - // -1 is fine, because we start - // decoding at probs[1], not probs[0]. - // NOTE: This violates the C standard, - // since we are doing pointer - // arithmetic past the beginning of - // the array. - assert((int32_t)(rep0 - symbol - 1) - >= -1); - assert((int32_t)(rep0 - symbol - 1) - <= 82); - probs = coder->pos_special + rep0 - - symbol - 1; - symbol = 1; - offset = 0; - case SEQ_POS_MODEL: -#ifdef HAVE_SMALL - do { - rc_bit(probs[symbol], , - rep0 += 1 << offset, - SEQ_POS_MODEL); - } while (++offset < limit); -#else - switch (limit) { - case 5: - assert(offset == 0); - rc_bit(probs[symbol], , - rep0 += 1, - SEQ_POS_MODEL); - ++offset; - --limit; - case 4: - rc_bit(probs[symbol], , - rep0 += 1 << offset, - SEQ_POS_MODEL); - ++offset; - --limit; - case 3: - rc_bit(probs[symbol], , - rep0 += 1 << offset, - SEQ_POS_MODEL); - ++offset; - --limit; - case 2: - rc_bit(probs[symbol], , - rep0 += 1 << offset, - SEQ_POS_MODEL); - ++offset; - --limit; - case 1: - // We need "symbol" only for - // indexing the probability - // array, thus we can use - // rc_bit_last() here to omit - // the unneeded updating of - // "symbol". - rc_bit_last(probs[symbol], , - rep0 += 1 << offset, - SEQ_POS_MODEL); - } -#endif - } else { - // The distance is >= 128. Decode the - // lower bits without probabilities - // except the lowest four bits. - assert(symbol >= 14); - assert(limit >= 6); - limit -= ALIGN_BITS; - assert(limit >= 2); - case SEQ_DIRECT: - // Not worth manual unrolling - do { - rc_direct(rep0, SEQ_DIRECT); - } while (--limit > 0); - - // Decode the lowest four bits using - // probabilities. - rep0 <<= ALIGN_BITS; - symbol = 1; -#ifdef HAVE_SMALL - offset = 0; - case SEQ_ALIGN: - do { - rc_bit(coder->pos_align[ - symbol], , - rep0 += 1 << offset, - SEQ_ALIGN); - } while (++offset < ALIGN_BITS); -#else - case SEQ_ALIGN0: - rc_bit(coder->pos_align[symbol], , - rep0 += 1, SEQ_ALIGN0); - case SEQ_ALIGN1: - rc_bit(coder->pos_align[symbol], , - rep0 += 2, SEQ_ALIGN1); - case SEQ_ALIGN2: - rc_bit(coder->pos_align[symbol], , - rep0 += 4, SEQ_ALIGN2); - case SEQ_ALIGN3: - // Like in SEQ_POS_MODEL, we don't - // need "symbol" for anything else - // than indexing the probability array. - rc_bit_last(coder->pos_align[symbol], , - rep0 += 8, SEQ_ALIGN3); -#endif - - if (rep0 == UINT32_MAX) { - // End of payload marker was - // found. It must not be - // present if uncompressed - // size is known. - if (coder->uncompressed_size - != LZMA_VLI_UNKNOWN) { - ret = LZMA_DATA_ERROR; - goto out; - } - - case SEQ_EOPM: - // LZMA1 stream with - // end-of-payload marker. - rc_normalize(SEQ_EOPM); - ret = LZMA_STREAM_END; - goto out; - } - } - } - - // Validate the distance we just decoded. - if (unlikely(!dict_is_distance_valid(&dict, rep0))) { - ret = LZMA_DATA_ERROR; - goto out; - } - - } else { - rc_update_1(coder->is_rep[state]); - - // Repeated match - // - // The match distance is a value that we have had - // earlier. The latest four match distances are - // available as rep0, rep1, rep2 and rep3. We will - // now decode which of them is the new distance. - // - // There cannot be a match if we haven't produced - // any output, so check that first. - if (unlikely(!dict_is_distance_valid(&dict, 0))) { - ret = LZMA_DATA_ERROR; - goto out; - } - - case SEQ_IS_REP0: - rc_if_0(coder->is_rep0[state], SEQ_IS_REP0) { - rc_update_0(coder->is_rep0[state]); - // The distance is rep0. - - case SEQ_IS_REP0_LONG: - rc_if_0(coder->is_rep0_long[state][pos_state], - SEQ_IS_REP0_LONG) { - rc_update_0(coder->is_rep0_long[ - state][pos_state]); - - update_short_rep(state); - - case SEQ_SHORTREP: - if (unlikely(dict_put(&dict, dict_get( - &dict, rep0)))) { - coder->sequence = SEQ_SHORTREP; - goto out; - } - - continue; - } - - // Repeating more than one byte at - // distance of rep0. - rc_update_1(coder->is_rep0_long[ - state][pos_state]); - - } else { - rc_update_1(coder->is_rep0[state]); - - case SEQ_IS_REP1: - // The distance is rep1, rep2 or rep3. Once - // we find out which one of these three, it - // is stored to rep0 and rep1, rep2 and rep3 - // are updated accordingly. - rc_if_0(coder->is_rep1[state], SEQ_IS_REP1) { - rc_update_0(coder->is_rep1[state]); - - const uint32_t distance = rep1; - rep1 = rep0; - rep0 = distance; - - } else { - rc_update_1(coder->is_rep1[state]); - case SEQ_IS_REP2: - rc_if_0(coder->is_rep2[state], - SEQ_IS_REP2) { - rc_update_0(coder->is_rep2[ - state]); - - const uint32_t distance = rep2; - rep2 = rep1; - rep1 = rep0; - rep0 = distance; - - } else { - rc_update_1(coder->is_rep2[ - state]); - - const uint32_t distance = rep3; - rep3 = rep2; - rep2 = rep1; - rep1 = rep0; - rep0 = distance; - } - } - } - - update_long_rep(state); - - // Decode the length of the repeated match. - len_decode(len, coder->rep_len_decoder, - pos_state, SEQ_REP_LEN); - } - - ///////////////////////////////// - // Repeat from history buffer. // - ///////////////////////////////// - - // The length is always between these limits. There is no way - // to trigger the algorithm to set len outside this range. - assert(len >= MATCH_LEN_MIN); - assert(len <= MATCH_LEN_MAX); - - case SEQ_COPY: - // Repeat len bytes from distance of rep0. - if (unlikely(dict_repeat(&dict, rep0, &len))) { - coder->sequence = SEQ_COPY; - goto out; - } - } - - rc_normalize(SEQ_NORMALIZE); - coder->sequence = SEQ_IS_MATCH; - -out: - // Save state - - // NOTE: Must not copy dict.limit. - dictptr->pos = dict.pos; - dictptr->full = dict.full; - - rc_from_local(coder->rc, *in_pos); - - coder->state = state; - coder->rep0 = rep0; - coder->rep1 = rep1; - coder->rep2 = rep2; - coder->rep3 = rep3; - - coder->probs = probs; - coder->symbol = symbol; - coder->limit = limit; - coder->offset = offset; - coder->len = len; - - // Update the remaining amount of uncompressed data if uncompressed - // size was known. - if (coder->uncompressed_size != LZMA_VLI_UNKNOWN) { - coder->uncompressed_size -= dict.pos - dict_start; - - // Since there cannot be end of payload marker if the - // uncompressed size was known, we check here if we - // finished decoding. - if (coder->uncompressed_size == 0 && ret == LZMA_OK - && coder->sequence != SEQ_NORMALIZE) - ret = coder->sequence == SEQ_IS_MATCH - ? LZMA_STREAM_END : LZMA_DATA_ERROR; - } - - // We can do an additional check in the range decoder to catch some - // corrupted files. - if (ret == LZMA_STREAM_END) { - if (!rc_is_finished(coder->rc)) - ret = LZMA_DATA_ERROR; - - // Reset the range decoder so that it is ready to reinitialize - // for a new LZMA2 chunk. - rc_reset(coder->rc); - } - - return ret; -} - - - -static void -lzma_decoder_uncompressed(lzma_coder *coder, lzma_vli uncompressed_size) -{ - coder->uncompressed_size = uncompressed_size; -} - -/* -extern void -lzma_lzma_decoder_uncompressed(void *coder_ptr, lzma_vli uncompressed_size) -{ - // This is hack. - (*(lzma_coder **)(coder))->uncompressed_size = uncompressed_size; -} -*/ - -static void -lzma_decoder_reset(lzma_coder *coder, const void *opt) -{ - const lzma_options_lzma *options = opt; - - // NOTE: We assume that lc/lp/pb are valid since they were - // successfully decoded with lzma_lzma_decode_properties(). - - // Calculate pos_mask. We don't need pos_bits as is for anything. - coder->pos_mask = (1U << options->pb) - 1; - - // Initialize the literal decoder. - literal_init(coder->literal, options->lc, options->lp); - - coder->literal_context_bits = options->lc; - coder->literal_pos_mask = (1U << options->lp) - 1; - - // State - coder->state = STATE_LIT_LIT; - coder->rep0 = 0; - coder->rep1 = 0; - coder->rep2 = 0; - coder->rep3 = 0; - coder->pos_mask = (1U << options->pb) - 1; - - // Range decoder - rc_reset(coder->rc); - - // Bit and bittree decoders - for (uint32_t i = 0; i < STATES; ++i) { - for (uint32_t j = 0; j <= coder->pos_mask; ++j) { - bit_reset(coder->is_match[i][j]); - bit_reset(coder->is_rep0_long[i][j]); - } - - bit_reset(coder->is_rep[i]); - bit_reset(coder->is_rep0[i]); - bit_reset(coder->is_rep1[i]); - bit_reset(coder->is_rep2[i]); - } - - for (uint32_t i = 0; i < LEN_TO_POS_STATES; ++i) - bittree_reset(coder->pos_slot[i], POS_SLOT_BITS); - - for (uint32_t i = 0; i < FULL_DISTANCES - END_POS_MODEL_INDEX; ++i) - bit_reset(coder->pos_special[i]); - - bittree_reset(coder->pos_align, ALIGN_BITS); - - // Len decoders (also bit/bittree) - const uint32_t num_pos_states = 1U << options->pb; - bit_reset(coder->match_len_decoder.choice); - bit_reset(coder->match_len_decoder.choice2); - bit_reset(coder->rep_len_decoder.choice); - bit_reset(coder->rep_len_decoder.choice2); - - for (uint32_t pos_state = 0; pos_state < num_pos_states; ++pos_state) { - bittree_reset(coder->match_len_decoder.low[pos_state], - LEN_LOW_BITS); - bittree_reset(coder->match_len_decoder.mid[pos_state], - LEN_MID_BITS); - - bittree_reset(coder->rep_len_decoder.low[pos_state], - LEN_LOW_BITS); - bittree_reset(coder->rep_len_decoder.mid[pos_state], - LEN_MID_BITS); - } - - bittree_reset(coder->match_len_decoder.high, LEN_HIGH_BITS); - bittree_reset(coder->rep_len_decoder.high, LEN_HIGH_BITS); - - coder->sequence = SEQ_IS_MATCH; - coder->probs = NULL; - coder->symbol = 0; - coder->limit = 0; - coder->offset = 0; - coder->len = 0; - - return; -} - - -extern lzma_ret -lzma_lzma_decoder_create(lzma_lz_decoder *lz, lzma_allocator *allocator, - const void *opt, lzma_lz_options *lz_options) -{ - if (lz->coder == NULL) { - lz->coder = lzma_alloc(sizeof(lzma_coder), allocator); - if (lz->coder == NULL) - return LZMA_MEM_ERROR; - - lz->code = &lzma_decode; - lz->reset = &lzma_decoder_reset; - lz->set_uncompressed = &lzma_decoder_uncompressed; - } - - // All dictionary sizes are OK here. LZ decoder will take care of - // the special cases. - const lzma_options_lzma *options = opt; - lz_options->dict_size = options->dict_size; - lz_options->preset_dict = options->preset_dict; - lz_options->preset_dict_size = options->preset_dict_size; - - return LZMA_OK; -} - - -/// Allocate and initialize LZMA decoder. This is used only via LZ -/// initialization (lzma_lzma_decoder_init() passes function pointer to -/// the LZ initialization). -static lzma_ret -lzma_decoder_init(lzma_lz_decoder *lz, lzma_allocator *allocator, - const void *options, lzma_lz_options *lz_options) -{ - if (!is_lclppb_valid(options)) - return LZMA_PROG_ERROR; - - return_if_error(lzma_lzma_decoder_create( - lz, allocator, options, lz_options)); - - lzma_decoder_reset(lz->coder, options); - lzma_decoder_uncompressed(lz->coder, LZMA_VLI_UNKNOWN); - - return LZMA_OK; -} - - -extern lzma_ret -lzma_lzma_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - // LZMA can only be the last filter in the chain. This is enforced - // by the raw_decoder initialization. - assert(filters[1].init == NULL); - - return lzma_lz_decoder_init(next, allocator, filters, - &lzma_decoder_init); -} - - -extern bool -lzma_lzma_lclppb_decode(lzma_options_lzma *options, uint8_t byte) -{ - if (byte > (4 * 5 + 4) * 9 + 8) - return true; - - // See the file format specification to understand this. - options->pb = byte / (9 * 5); - byte -= options->pb * 9 * 5; - options->lp = byte / 9; - options->lc = byte - options->lp * 9; - - return options->lc + options->lp > LZMA_LCLP_MAX; -} - - -extern uint64_t -lzma_lzma_decoder_memusage_nocheck(const void *options) -{ - const lzma_options_lzma *const opt = options; - return sizeof(lzma_coder) + lzma_lz_decoder_memusage(opt->dict_size); -} - - -extern uint64_t -lzma_lzma_decoder_memusage(const void *options) -{ - if (!is_lclppb_valid(options)) - return UINT64_MAX; - - return lzma_lzma_decoder_memusage_nocheck(options); -} - - -extern lzma_ret -lzma_lzma_props_decode(void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) -{ - if (props_size != 5) - return LZMA_OPTIONS_ERROR; - - lzma_options_lzma *opt - = lzma_alloc(sizeof(lzma_options_lzma), allocator); - if (opt == NULL) - return LZMA_MEM_ERROR; - - if (lzma_lzma_lclppb_decode(opt, props[0])) - goto error; - - // All dictionary sizes are accepted, including zero. LZ decoder - // will automatically use a dictionary at least a few KiB even if - // a smaller dictionary is requested. - opt->dict_size = unaligned_read32le(props + 1); - - opt->preset_dict = NULL; - opt->preset_dict_size = 0; - - *options = opt; - - return LZMA_OK; - -error: - lzma_free(opt, allocator); - return LZMA_OPTIONS_ERROR; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.h b/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.h deleted file mode 100644 index a463a76fc69..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_decoder.h +++ /dev/null @@ -1,52 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_decoder.h -/// \brief LZMA decoder API -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA_DECODER_H -#define LZMA_LZMA_DECODER_H - -#include "common.h" - - -/// Allocates and initializes LZMA decoder -extern lzma_ret lzma_lzma_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern uint64_t lzma_lzma_decoder_memusage(const void *options); - -extern lzma_ret lzma_lzma_props_decode( - void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size); - - -/// \brief Decodes the LZMA Properties byte (lc/lp/pb) -/// -/// \return true if error occurred, false on success -/// -extern bool lzma_lzma_lclppb_decode( - lzma_options_lzma *options, uint8_t byte); - - -#ifdef LZMA_LZ_DECODER_H -/// Allocate and setup function pointers only. This is used by LZMA1 and -/// LZMA2 decoders. -extern lzma_ret lzma_lzma_decoder_create( - lzma_lz_decoder *lz, lzma_allocator *allocator, - const void *opt, lzma_lz_options *lz_options); - -/// Gets memory usage without validating lc/lp/pb. This is used by LZMA2 -/// decoder, because raw LZMA2 decoding doesn't need lc/lp/pb. -extern uint64_t lzma_lzma_decoder_memusage_nocheck(const void *options); - -#endif - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.c deleted file mode 100644 index 0b9ee9e1507..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.c +++ /dev/null @@ -1,675 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder.c -/// \brief LZMA encoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lzma2_encoder.h" -#include "lzma_encoder_private.h" -#include "fastpos.h" - - -///////////// -// Literal // -///////////// - -static inline void -literal_matched(lzma_range_encoder *rc, probability *subcoder, - uint32_t match_byte, uint32_t symbol) -{ - uint32_t offset = 0x100; - symbol += UINT32_C(1) << 8; - - do { - match_byte <<= 1; - const uint32_t match_bit = match_byte & offset; - const uint32_t subcoder_index - = offset + match_bit + (symbol >> 8); - const uint32_t bit = (symbol >> 7) & 1; - rc_bit(rc, &subcoder[subcoder_index], bit); - - symbol <<= 1; - offset &= ~(match_byte ^ symbol); - - } while (symbol < (UINT32_C(1) << 16)); -} - - -static inline void -literal(lzma_coder *coder, lzma_mf *mf, uint32_t position) -{ - // Locate the literal byte to be encoded and the subcoder. - const uint8_t cur_byte = mf->buffer[ - mf->read_pos - mf->read_ahead]; - probability *subcoder = literal_subcoder(coder->literal, - coder->literal_context_bits, coder->literal_pos_mask, - position, mf->buffer[mf->read_pos - mf->read_ahead - 1]); - - if (is_literal_state(coder->state)) { - // Previous LZMA-symbol was a literal. Encode a normal - // literal without a match byte. - rc_bittree(&coder->rc, subcoder, 8, cur_byte); - } else { - // Previous LZMA-symbol was a match. Use the last byte of - // the match as a "match byte". That is, compare the bits - // of the current literal and the match byte. - const uint8_t match_byte = mf->buffer[ - mf->read_pos - coder->reps[0] - 1 - - mf->read_ahead]; - literal_matched(&coder->rc, subcoder, match_byte, cur_byte); - } - - update_literal(coder->state); -} - - -////////////////// -// Match length // -////////////////// - -static void -length_update_prices(lzma_length_encoder *lc, const uint32_t pos_state) -{ - const uint32_t table_size = lc->table_size; - lc->counters[pos_state] = table_size; - - const uint32_t a0 = rc_bit_0_price(lc->choice); - const uint32_t a1 = rc_bit_1_price(lc->choice); - const uint32_t b0 = a1 + rc_bit_0_price(lc->choice2); - const uint32_t b1 = a1 + rc_bit_1_price(lc->choice2); - uint32_t *const prices = lc->prices[pos_state]; - - uint32_t i; - for (i = 0; i < table_size && i < LEN_LOW_SYMBOLS; ++i) - prices[i] = a0 + rc_bittree_price(lc->low[pos_state], - LEN_LOW_BITS, i); - - for (; i < table_size && i < LEN_LOW_SYMBOLS + LEN_MID_SYMBOLS; ++i) - prices[i] = b0 + rc_bittree_price(lc->mid[pos_state], - LEN_MID_BITS, i - LEN_LOW_SYMBOLS); - - for (; i < table_size; ++i) - prices[i] = b1 + rc_bittree_price(lc->high, LEN_HIGH_BITS, - i - LEN_LOW_SYMBOLS - LEN_MID_SYMBOLS); - - return; -} - - -static inline void -length(lzma_range_encoder *rc, lzma_length_encoder *lc, - const uint32_t pos_state, uint32_t len, const bool fast_mode) -{ - assert(len <= MATCH_LEN_MAX); - len -= MATCH_LEN_MIN; - - if (len < LEN_LOW_SYMBOLS) { - rc_bit(rc, &lc->choice, 0); - rc_bittree(rc, lc->low[pos_state], LEN_LOW_BITS, len); - } else { - rc_bit(rc, &lc->choice, 1); - len -= LEN_LOW_SYMBOLS; - - if (len < LEN_MID_SYMBOLS) { - rc_bit(rc, &lc->choice2, 0); - rc_bittree(rc, lc->mid[pos_state], LEN_MID_BITS, len); - } else { - rc_bit(rc, &lc->choice2, 1); - len -= LEN_MID_SYMBOLS; - rc_bittree(rc, lc->high, LEN_HIGH_BITS, len); - } - } - - // Only getoptimum uses the prices so don't update the table when - // in fast mode. - if (!fast_mode) - if (--lc->counters[pos_state] == 0) - length_update_prices(lc, pos_state); -} - - -/////////// -// Match // -/////////// - -static inline void -match(lzma_coder *coder, const uint32_t pos_state, - const uint32_t distance, const uint32_t len) -{ - update_match(coder->state); - - length(&coder->rc, &coder->match_len_encoder, pos_state, len, - coder->fast_mode); - - const uint32_t pos_slot = get_pos_slot(distance); - const uint32_t len_to_pos_state = get_len_to_pos_state(len); - rc_bittree(&coder->rc, coder->pos_slot[len_to_pos_state], - POS_SLOT_BITS, pos_slot); - - if (pos_slot >= START_POS_MODEL_INDEX) { - const uint32_t footer_bits = (pos_slot >> 1) - 1; - const uint32_t base = (2 | (pos_slot & 1)) << footer_bits; - const uint32_t pos_reduced = distance - base; - - if (pos_slot < END_POS_MODEL_INDEX) { - // Careful here: base - pos_slot - 1 can be -1, but - // rc_bittree_reverse starts at probs[1], not probs[0]. - rc_bittree_reverse(&coder->rc, - coder->pos_special + base - pos_slot - 1, - footer_bits, pos_reduced); - } else { - rc_direct(&coder->rc, pos_reduced >> ALIGN_BITS, - footer_bits - ALIGN_BITS); - rc_bittree_reverse( - &coder->rc, coder->pos_align, - ALIGN_BITS, pos_reduced & ALIGN_MASK); - ++coder->align_price_count; - } - } - - coder->reps[3] = coder->reps[2]; - coder->reps[2] = coder->reps[1]; - coder->reps[1] = coder->reps[0]; - coder->reps[0] = distance; - ++coder->match_price_count; -} - - -//////////////////// -// Repeated match // -//////////////////// - -static inline void -rep_match(lzma_coder *coder, const uint32_t pos_state, - const uint32_t rep, const uint32_t len) -{ - if (rep == 0) { - rc_bit(&coder->rc, &coder->is_rep0[coder->state], 0); - rc_bit(&coder->rc, - &coder->is_rep0_long[coder->state][pos_state], - len != 1); - } else { - const uint32_t distance = coder->reps[rep]; - rc_bit(&coder->rc, &coder->is_rep0[coder->state], 1); - - if (rep == 1) { - rc_bit(&coder->rc, &coder->is_rep1[coder->state], 0); - } else { - rc_bit(&coder->rc, &coder->is_rep1[coder->state], 1); - rc_bit(&coder->rc, &coder->is_rep2[coder->state], - rep - 2); - - if (rep == 3) - coder->reps[3] = coder->reps[2]; - - coder->reps[2] = coder->reps[1]; - } - - coder->reps[1] = coder->reps[0]; - coder->reps[0] = distance; - } - - if (len == 1) { - update_short_rep(coder->state); - } else { - length(&coder->rc, &coder->rep_len_encoder, pos_state, len, - coder->fast_mode); - update_long_rep(coder->state); - } -} - - -////////// -// Main // -////////// - -static void -encode_symbol(lzma_coder *coder, lzma_mf *mf, - uint32_t back, uint32_t len, uint32_t position) -{ - const uint32_t pos_state = position & coder->pos_mask; - - if (back == UINT32_MAX) { - // Literal i.e. eight-bit byte - assert(len == 1); - rc_bit(&coder->rc, - &coder->is_match[coder->state][pos_state], 0); - literal(coder, mf, position); - } else { - // Some type of match - rc_bit(&coder->rc, - &coder->is_match[coder->state][pos_state], 1); - - if (back < REP_DISTANCES) { - // It's a repeated match i.e. the same distance - // has been used earlier. - rc_bit(&coder->rc, &coder->is_rep[coder->state], 1); - rep_match(coder, pos_state, back, len); - } else { - // Normal match - rc_bit(&coder->rc, &coder->is_rep[coder->state], 0); - match(coder, pos_state, back - REP_DISTANCES, len); - } - } - - assert(mf->read_ahead >= len); - mf->read_ahead -= len; -} - - -static bool -encode_init(lzma_coder *coder, lzma_mf *mf) -{ - assert(mf_position(mf) == 0); - - if (mf->read_pos == mf->read_limit) { - if (mf->action == LZMA_RUN) - return false; // We cannot do anything. - - // We are finishing (we cannot get here when flushing). - assert(mf->write_pos == mf->read_pos); - assert(mf->action == LZMA_FINISH); - } else { - // Do the actual initialization. The first LZMA symbol must - // always be a literal. - mf_skip(mf, 1); - mf->read_ahead = 0; - rc_bit(&coder->rc, &coder->is_match[0][0], 0); - rc_bittree(&coder->rc, coder->literal[0], 8, mf->buffer[0]); - } - - // Initialization is done (except if empty file). - coder->is_initialized = true; - - return true; -} - - -static void -encode_eopm(lzma_coder *coder, uint32_t position) -{ - const uint32_t pos_state = position & coder->pos_mask; - rc_bit(&coder->rc, &coder->is_match[coder->state][pos_state], 1); - rc_bit(&coder->rc, &coder->is_rep[coder->state], 0); - match(coder, pos_state, UINT32_MAX, MATCH_LEN_MIN); -} - - -/// Number of bytes that a single encoding loop in lzma_lzma_encode() can -/// consume from the dictionary. This limit comes from lzma_lzma_optimum() -/// and may need to be updated if that function is significantly modified. -#define LOOP_INPUT_MAX (OPTS + 1) - - -extern lzma_ret -lzma_lzma_encode(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size, uint32_t limit) -{ - // Initialize the stream if no data has been encoded yet. - if (!coder->is_initialized && !encode_init(coder, mf)) - return LZMA_OK; - - // Get the lowest bits of the uncompressed offset from the LZ layer. - uint32_t position = mf_position(mf); - - while (true) { - // Encode pending bits, if any. Calling this before encoding - // the next symbol is needed only with plain LZMA, since - // LZMA2 always provides big enough buffer to flush - // everything out from the range encoder. For the same reason, - // rc_encode() never returns true when this function is used - // as part of LZMA2 encoder. - if (rc_encode(&coder->rc, out, out_pos, out_size)) { - assert(limit == UINT32_MAX); - return LZMA_OK; - } - - // With LZMA2 we need to take care that compressed size of - // a chunk doesn't get too big. - // FIXME? Check if this could be improved. - if (limit != UINT32_MAX - && (mf->read_pos - mf->read_ahead >= limit - || *out_pos + rc_pending(&coder->rc) - >= LZMA2_CHUNK_MAX - - LOOP_INPUT_MAX)) - break; - - // Check that there is some input to process. - if (mf->read_pos >= mf->read_limit) { - if (mf->action == LZMA_RUN) - return LZMA_OK; - - if (mf->read_ahead == 0) - break; - } - - // Get optimal match (repeat position and length). - // Value ranges for pos: - // - [0, REP_DISTANCES): repeated match - // - [REP_DISTANCES, UINT32_MAX): - // match at (pos - REP_DISTANCES) - // - UINT32_MAX: not a match but a literal - // Value ranges for len: - // - [MATCH_LEN_MIN, MATCH_LEN_MAX] - uint32_t len; - uint32_t back; - - if (coder->fast_mode) - lzma_lzma_optimum_fast(coder, mf, &back, &len); - else - lzma_lzma_optimum_normal( - coder, mf, &back, &len, position); - - encode_symbol(coder, mf, back, len, position); - - position += len; - } - - if (!coder->is_flushed) { - coder->is_flushed = true; - - // We don't support encoding plain LZMA streams without EOPM, - // and LZMA2 doesn't use EOPM at LZMA level. - if (limit == UINT32_MAX) - encode_eopm(coder, position); - - // Flush the remaining bytes from the range encoder. - rc_flush(&coder->rc); - - // Copy the remaining bytes to the output buffer. If there - // isn't enough output space, we will copy out the remaining - // bytes on the next call to this function by using - // the rc_encode() call in the encoding loop above. - if (rc_encode(&coder->rc, out, out_pos, out_size)) { - assert(limit == UINT32_MAX); - return LZMA_OK; - } - } - - // Make it ready for the next LZMA2 chunk. - coder->is_flushed = false; - - return LZMA_STREAM_END; -} - - -static lzma_ret -lzma_encode(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint8_t *restrict out, size_t *restrict out_pos, - size_t out_size) -{ - // Plain LZMA has no support for sync-flushing. - if (unlikely(mf->action == LZMA_SYNC_FLUSH)) - return LZMA_OPTIONS_ERROR; - - return lzma_lzma_encode(coder, mf, out, out_pos, out_size, UINT32_MAX); -} - - -//////////////////// -// Initialization // -//////////////////// - -static bool -is_options_valid(const lzma_options_lzma *options) -{ - // Validate some of the options. LZ encoder validates nice_len too - // but we need a valid value here earlier. - return is_lclppb_valid(options) - && options->nice_len >= MATCH_LEN_MIN - && options->nice_len <= MATCH_LEN_MAX - && (options->mode == LZMA_MODE_FAST - || options->mode == LZMA_MODE_NORMAL); -} - - -static void -set_lz_options(lzma_lz_options *lz_options, const lzma_options_lzma *options) -{ - // LZ encoder initialization does the validation for these so we - // don't need to validate here. - lz_options->before_size = OPTS; - lz_options->dict_size = options->dict_size; - lz_options->after_size = LOOP_INPUT_MAX; - lz_options->match_len_max = MATCH_LEN_MAX; - lz_options->nice_len = options->nice_len; - lz_options->match_finder = options->mf; - lz_options->depth = options->depth; - lz_options->preset_dict = options->preset_dict; - lz_options->preset_dict_size = options->preset_dict_size; - return; -} - - -static void -length_encoder_reset(lzma_length_encoder *lencoder, - const uint32_t num_pos_states, const bool fast_mode) -{ - bit_reset(lencoder->choice); - bit_reset(lencoder->choice2); - - for (size_t pos_state = 0; pos_state < num_pos_states; ++pos_state) { - bittree_reset(lencoder->low[pos_state], LEN_LOW_BITS); - bittree_reset(lencoder->mid[pos_state], LEN_MID_BITS); - } - - bittree_reset(lencoder->high, LEN_HIGH_BITS); - - if (!fast_mode) - for (size_t pos_state = 0; pos_state < num_pos_states; - ++pos_state) - length_update_prices(lencoder, pos_state); - - return; -} - - -extern lzma_ret -lzma_lzma_encoder_reset(lzma_coder *coder, const lzma_options_lzma *options) -{ - if (!is_options_valid(options)) - return LZMA_OPTIONS_ERROR; - - coder->pos_mask = (1U << options->pb) - 1; - coder->literal_context_bits = options->lc; - coder->literal_pos_mask = (1U << options->lp) - 1; - - // Range coder - rc_reset(&coder->rc); - - // State - coder->state = STATE_LIT_LIT; - for (size_t i = 0; i < REP_DISTANCES; ++i) - coder->reps[i] = 0; - - literal_init(coder->literal, options->lc, options->lp); - - // Bit encoders - for (size_t i = 0; i < STATES; ++i) { - for (size_t j = 0; j <= coder->pos_mask; ++j) { - bit_reset(coder->is_match[i][j]); - bit_reset(coder->is_rep0_long[i][j]); - } - - bit_reset(coder->is_rep[i]); - bit_reset(coder->is_rep0[i]); - bit_reset(coder->is_rep1[i]); - bit_reset(coder->is_rep2[i]); - } - - for (size_t i = 0; i < FULL_DISTANCES - END_POS_MODEL_INDEX; ++i) - bit_reset(coder->pos_special[i]); - - // Bit tree encoders - for (size_t i = 0; i < LEN_TO_POS_STATES; ++i) - bittree_reset(coder->pos_slot[i], POS_SLOT_BITS); - - bittree_reset(coder->pos_align, ALIGN_BITS); - - // Length encoders - length_encoder_reset(&coder->match_len_encoder, - 1U << options->pb, coder->fast_mode); - - length_encoder_reset(&coder->rep_len_encoder, - 1U << options->pb, coder->fast_mode); - - // Price counts are incremented every time appropriate probabilities - // are changed. price counts are set to zero when the price tables - // are updated, which is done when the appropriate price counts have - // big enough value, and lzma_mf.read_ahead == 0 which happens at - // least every OPTS (a few thousand) possible price count increments. - // - // By resetting price counts to UINT32_MAX / 2, we make sure that the - // price tables will be initialized before they will be used (since - // the value is definitely big enough), and that it is OK to increment - // price counts without risk of integer overflow (since UINT32_MAX / 2 - // is small enough). The current code doesn't increment price counts - // before initializing price tables, but it maybe done in future if - // we add support for saving the state between LZMA2 chunks. - coder->match_price_count = UINT32_MAX / 2; - coder->align_price_count = UINT32_MAX / 2; - - coder->opts_end_index = 0; - coder->opts_current_index = 0; - - return LZMA_OK; -} - - -extern lzma_ret -lzma_lzma_encoder_create(lzma_coder **coder_ptr, lzma_allocator *allocator, - const lzma_options_lzma *options, lzma_lz_options *lz_options) -{ - // Allocate lzma_coder if it wasn't already allocated. - if (*coder_ptr == NULL) { - *coder_ptr = lzma_alloc(sizeof(lzma_coder), allocator); - if (*coder_ptr == NULL) - return LZMA_MEM_ERROR; - } - - lzma_coder *coder = *coder_ptr; - - // Set compression mode. We haven't validates the options yet, - // but it's OK here, since nothing bad happens with invalid - // options in the code below, and they will get rejected by - // lzma_lzma_encoder_reset() call at the end of this function. - switch (options->mode) { - case LZMA_MODE_FAST: - coder->fast_mode = true; - break; - - case LZMA_MODE_NORMAL: { - coder->fast_mode = false; - - // Set dist_table_size. - // Round the dictionary size up to next 2^n. - uint32_t log_size = 0; - while ((UINT32_C(1) << log_size) < options->dict_size) - ++log_size; - - coder->dist_table_size = log_size * 2; - - // Length encoders' price table size - coder->match_len_encoder.table_size - = options->nice_len + 1 - MATCH_LEN_MIN; - coder->rep_len_encoder.table_size - = options->nice_len + 1 - MATCH_LEN_MIN; - break; - } - - default: - return LZMA_OPTIONS_ERROR; - } - - // We don't need to write the first byte as literal if there is - // a non-empty preset dictionary. encode_init() wouldn't even work - // if there is a non-empty preset dictionary, because encode_init() - // assumes that position is zero and previous byte is also zero. - coder->is_initialized = options->preset_dict != NULL - && options->preset_dict_size > 0; - coder->is_flushed = false; - - set_lz_options(lz_options, options); - - return lzma_lzma_encoder_reset(coder, options); -} - - -static lzma_ret -lzma_encoder_init(lzma_lz_encoder *lz, lzma_allocator *allocator, - const void *options, lzma_lz_options *lz_options) -{ - lz->code = &lzma_encode; - return lzma_lzma_encoder_create( - &lz->coder, allocator, options, lz_options); -} - - -extern lzma_ret -lzma_lzma_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return lzma_lz_encoder_init( - next, allocator, filters, &lzma_encoder_init); -} - - -extern uint64_t -lzma_lzma_encoder_memusage(const void *options) -{ - if (!is_options_valid(options)) - return UINT64_MAX; - - lzma_lz_options lz_options; - set_lz_options(&lz_options, options); - - const uint64_t lz_memusage = lzma_lz_encoder_memusage(&lz_options); - if (lz_memusage == UINT64_MAX) - return UINT64_MAX; - - return (uint64_t)(sizeof(lzma_coder)) + lz_memusage; -} - - -extern bool -lzma_lzma_lclppb_encode(const lzma_options_lzma *options, uint8_t *byte) -{ - if (!is_lclppb_valid(options)) - return true; - - *byte = (options->pb * 5 + options->lp) * 9 + options->lc; - assert(*byte <= (4 * 5 + 4) * 9 + 8); - - return false; -} - - -#ifdef HAVE_ENCODER_LZMA1 -extern lzma_ret -lzma_lzma_props_encode(const void *options, uint8_t *out) -{ - const lzma_options_lzma *const opt = options; - - if (lzma_lzma_lclppb_encode(opt, out)) - return LZMA_PROG_ERROR; - - unaligned_write32le(out + 1, opt->dict_size); - - return LZMA_OK; -} -#endif - - -extern LZMA_API(lzma_bool) -lzma_mode_is_supported(lzma_mode mode) -{ - return mode == LZMA_MODE_FAST || mode == LZMA_MODE_NORMAL; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.h b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.h deleted file mode 100644 index 835e1f58330..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder.h +++ /dev/null @@ -1,54 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder.h -/// \brief LZMA encoder API -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA_ENCODER_H -#define LZMA_LZMA_ENCODER_H - -#include "common.h" - - -extern lzma_ret lzma_lzma_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern uint64_t lzma_lzma_encoder_memusage(const void *options); - -extern lzma_ret lzma_lzma_props_encode(const void *options, uint8_t *out); - - -/// Encodes lc/lp/pb into one byte. Returns false on success and true on error. -extern bool lzma_lzma_lclppb_encode( - const lzma_options_lzma *options, uint8_t *byte); - - -#ifdef LZMA_LZ_ENCODER_H - -/// Initializes raw LZMA encoder; this is used by LZMA2. -extern lzma_ret lzma_lzma_encoder_create( - lzma_coder **coder_ptr, lzma_allocator *allocator, - const lzma_options_lzma *options, lzma_lz_options *lz_options); - - -/// Resets an already initialized LZMA encoder; this is used by LZMA2. -extern lzma_ret lzma_lzma_encoder_reset( - lzma_coder *coder, const lzma_options_lzma *options); - - -extern lzma_ret lzma_lzma_encode(lzma_coder *restrict coder, - lzma_mf *restrict mf, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, - uint32_t read_limit); - -#endif - -#endif diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c deleted file mode 100644 index f835f69356b..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c +++ /dev/null @@ -1,179 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder_optimum_fast.c -// -// Author: Igor Pavlov -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lzma_encoder_private.h" - - -#define change_pair(small_dist, big_dist) \ - (((big_dist) >> 7) > (small_dist)) - - -extern void -lzma_lzma_optimum_fast(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint32_t *restrict back_res, uint32_t *restrict len_res) -{ - const uint32_t nice_len = mf->nice_len; - - uint32_t len_main; - uint32_t matches_count; - if (mf->read_ahead == 0) { - len_main = mf_find(mf, &matches_count, coder->matches); - } else { - assert(mf->read_ahead == 1); - len_main = coder->longest_match_length; - matches_count = coder->matches_count; - } - - const uint8_t *buf = mf_ptr(mf) - 1; - const uint32_t buf_avail = my_min(mf_avail(mf) + 1, MATCH_LEN_MAX); - - if (buf_avail < 2) { - // There's not enough input left to encode a match. - *back_res = UINT32_MAX; - *len_res = 1; - return; - } - - // Look for repeated matches; scan the previous four match distances - uint32_t rep_len = 0; - uint32_t rep_index = 0; - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) { - // Pointer to the beginning of the match candidate - const uint8_t *const buf_back = buf - coder->reps[i] - 1; - - // If the first two bytes (2 == MATCH_LEN_MIN) do not match, - // this rep is not useful. - if (not_equal_16(buf, buf_back)) - continue; - - // The first two bytes matched. - // Calculate the length of the match. - uint32_t len; - for (len = 2; len < buf_avail - && buf[len] == buf_back[len]; ++len) ; - - // If we have found a repeated match that is at least - // nice_len long, return it immediately. - if (len >= nice_len) { - *back_res = i; - *len_res = len; - mf_skip(mf, len - 1); - return; - } - - if (len > rep_len) { - rep_index = i; - rep_len = len; - } - } - - // We didn't find a long enough repeated match. Encode it as a normal - // match if the match length is at least nice_len. - if (len_main >= nice_len) { - *back_res = coder->matches[matches_count - 1].dist - + REP_DISTANCES; - *len_res = len_main; - mf_skip(mf, len_main - 1); - return; - } - - uint32_t back_main = 0; - if (len_main >= 2) { - back_main = coder->matches[matches_count - 1].dist; - - while (matches_count > 1 && len_main == - coder->matches[matches_count - 2].len + 1) { - if (!change_pair(coder->matches[ - matches_count - 2].dist, - back_main)) - break; - - --matches_count; - len_main = coder->matches[matches_count - 1].len; - back_main = coder->matches[matches_count - 1].dist; - } - - if (len_main == 2 && back_main >= 0x80) - len_main = 1; - } - - if (rep_len >= 2) { - if (rep_len + 1 >= len_main - || (rep_len + 2 >= len_main - && back_main > (UINT32_C(1) << 9)) - || (rep_len + 3 >= len_main - && back_main > (UINT32_C(1) << 15))) { - *back_res = rep_index; - *len_res = rep_len; - mf_skip(mf, rep_len - 1); - return; - } - } - - if (len_main < 2 || buf_avail <= 2) { - *back_res = UINT32_MAX; - *len_res = 1; - return; - } - - // Get the matches for the next byte. If we find a better match, - // the current byte is encoded as a literal. - coder->longest_match_length = mf_find(mf, - &coder->matches_count, coder->matches); - - if (coder->longest_match_length >= 2) { - const uint32_t new_dist = coder->matches[ - coder->matches_count - 1].dist; - - if ((coder->longest_match_length >= len_main - && new_dist < back_main) - || (coder->longest_match_length == len_main + 1 - && !change_pair(back_main, new_dist)) - || (coder->longest_match_length > len_main + 1) - || (coder->longest_match_length + 1 >= len_main - && len_main >= 3 - && change_pair(new_dist, back_main))) { - *back_res = UINT32_MAX; - *len_res = 1; - return; - } - } - - // In contrast to LZMA SDK, dictionary could not have been moved - // between mf_find() calls, thus it is safe to just increment - // the old buf pointer instead of recalculating it with mf_ptr(). - ++buf; - - const uint32_t limit = len_main - 1; - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) { - const uint8_t *const buf_back = buf - coder->reps[i] - 1; - - if (not_equal_16(buf, buf_back)) - continue; - - uint32_t len; - for (len = 2; len < limit - && buf[len] == buf_back[len]; ++len) ; - - if (len >= limit) { - *back_res = UINT32_MAX; - *len_res = 1; - return; - } - } - - *back_res = back_main + REP_DISTANCES; - *len_res = len_main; - mf_skip(mf, len_main - 2); - return; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c deleted file mode 100644 index 7e856493c8c..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c +++ /dev/null @@ -1,868 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder_optimum_normal.c -// -// Author: Igor Pavlov -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "lzma_encoder_private.h" -#include "fastpos.h" - - -//////////// -// Prices // -//////////// - -static uint32_t -get_literal_price(const lzma_coder *const coder, const uint32_t pos, - const uint32_t prev_byte, const bool match_mode, - uint32_t match_byte, uint32_t symbol) -{ - const probability *const subcoder = literal_subcoder(coder->literal, - coder->literal_context_bits, coder->literal_pos_mask, - pos, prev_byte); - - uint32_t price = 0; - - if (!match_mode) { - price = rc_bittree_price(subcoder, 8, symbol); - } else { - uint32_t offset = 0x100; - symbol += UINT32_C(1) << 8; - - do { - match_byte <<= 1; - - const uint32_t match_bit = match_byte & offset; - const uint32_t subcoder_index - = offset + match_bit + (symbol >> 8); - const uint32_t bit = (symbol >> 7) & 1; - price += rc_bit_price(subcoder[subcoder_index], bit); - - symbol <<= 1; - offset &= ~(match_byte ^ symbol); - - } while (symbol < (UINT32_C(1) << 16)); - } - - return price; -} - - -static inline uint32_t -get_len_price(const lzma_length_encoder *const lencoder, - const uint32_t len, const uint32_t pos_state) -{ - // NOTE: Unlike the other price tables, length prices are updated - // in lzma_encoder.c - return lencoder->prices[pos_state][len - MATCH_LEN_MIN]; -} - - -static inline uint32_t -get_short_rep_price(const lzma_coder *const coder, - const lzma_lzma_state state, const uint32_t pos_state) -{ - return rc_bit_0_price(coder->is_rep0[state]) - + rc_bit_0_price(coder->is_rep0_long[state][pos_state]); -} - - -static inline uint32_t -get_pure_rep_price(const lzma_coder *const coder, const uint32_t rep_index, - const lzma_lzma_state state, uint32_t pos_state) -{ - uint32_t price; - - if (rep_index == 0) { - price = rc_bit_0_price(coder->is_rep0[state]); - price += rc_bit_1_price(coder->is_rep0_long[state][pos_state]); - } else { - price = rc_bit_1_price(coder->is_rep0[state]); - - if (rep_index == 1) { - price += rc_bit_0_price(coder->is_rep1[state]); - } else { - price += rc_bit_1_price(coder->is_rep1[state]); - price += rc_bit_price(coder->is_rep2[state], - rep_index - 2); - } - } - - return price; -} - - -static inline uint32_t -get_rep_price(const lzma_coder *const coder, const uint32_t rep_index, - const uint32_t len, const lzma_lzma_state state, - const uint32_t pos_state) -{ - return get_len_price(&coder->rep_len_encoder, len, pos_state) - + get_pure_rep_price(coder, rep_index, state, pos_state); -} - - -static inline uint32_t -get_pos_len_price(const lzma_coder *const coder, const uint32_t pos, - const uint32_t len, const uint32_t pos_state) -{ - const uint32_t len_to_pos_state = get_len_to_pos_state(len); - uint32_t price; - - if (pos < FULL_DISTANCES) { - price = coder->distances_prices[len_to_pos_state][pos]; - } else { - const uint32_t pos_slot = get_pos_slot_2(pos); - price = coder->pos_slot_prices[len_to_pos_state][pos_slot] - + coder->align_prices[pos & ALIGN_MASK]; - } - - price += get_len_price(&coder->match_len_encoder, len, pos_state); - - return price; -} - - -static void -fill_distances_prices(lzma_coder *coder) -{ - for (uint32_t len_to_pos_state = 0; - len_to_pos_state < LEN_TO_POS_STATES; - ++len_to_pos_state) { - - uint32_t *const pos_slot_prices - = coder->pos_slot_prices[len_to_pos_state]; - - // Price to encode the pos_slot. - for (uint32_t pos_slot = 0; - pos_slot < coder->dist_table_size; ++pos_slot) - pos_slot_prices[pos_slot] = rc_bittree_price( - coder->pos_slot[len_to_pos_state], - POS_SLOT_BITS, pos_slot); - - // For matches with distance >= FULL_DISTANCES, add the price - // of the direct bits part of the match distance. (Align bits - // are handled by fill_align_prices()). - for (uint32_t pos_slot = END_POS_MODEL_INDEX; - pos_slot < coder->dist_table_size; ++pos_slot) - pos_slot_prices[pos_slot] += rc_direct_price( - ((pos_slot >> 1) - 1) - ALIGN_BITS); - - // Distances in the range [0, 3] are fully encoded with - // pos_slot, so they are used for coder->distances_prices - // as is. - for (uint32_t i = 0; i < START_POS_MODEL_INDEX; ++i) - coder->distances_prices[len_to_pos_state][i] - = pos_slot_prices[i]; - } - - // Distances in the range [4, 127] depend on pos_slot and pos_special. - // We do this in a loop separate from the above loop to avoid - // redundant calls to get_pos_slot(). - for (uint32_t i = START_POS_MODEL_INDEX; i < FULL_DISTANCES; ++i) { - const uint32_t pos_slot = get_pos_slot(i); - const uint32_t footer_bits = ((pos_slot >> 1) - 1); - const uint32_t base = (2 | (pos_slot & 1)) << footer_bits; - const uint32_t price = rc_bittree_reverse_price( - coder->pos_special + base - pos_slot - 1, - footer_bits, i - base); - - for (uint32_t len_to_pos_state = 0; - len_to_pos_state < LEN_TO_POS_STATES; - ++len_to_pos_state) - coder->distances_prices[len_to_pos_state][i] - = price + coder->pos_slot_prices[ - len_to_pos_state][pos_slot]; - } - - coder->match_price_count = 0; - return; -} - - -static void -fill_align_prices(lzma_coder *coder) -{ - for (uint32_t i = 0; i < ALIGN_TABLE_SIZE; ++i) - coder->align_prices[i] = rc_bittree_reverse_price( - coder->pos_align, ALIGN_BITS, i); - - coder->align_price_count = 0; - return; -} - - -///////////// -// Optimal // -///////////// - -static inline void -make_literal(lzma_optimal *optimal) -{ - optimal->back_prev = UINT32_MAX; - optimal->prev_1_is_literal = false; -} - - -static inline void -make_short_rep(lzma_optimal *optimal) -{ - optimal->back_prev = 0; - optimal->prev_1_is_literal = false; -} - - -#define is_short_rep(optimal) \ - ((optimal).back_prev == 0) - - -static void -backward(lzma_coder *restrict coder, uint32_t *restrict len_res, - uint32_t *restrict back_res, uint32_t cur) -{ - coder->opts_end_index = cur; - - uint32_t pos_mem = coder->opts[cur].pos_prev; - uint32_t back_mem = coder->opts[cur].back_prev; - - do { - if (coder->opts[cur].prev_1_is_literal) { - make_literal(&coder->opts[pos_mem]); - coder->opts[pos_mem].pos_prev = pos_mem - 1; - - if (coder->opts[cur].prev_2) { - coder->opts[pos_mem - 1].prev_1_is_literal - = false; - coder->opts[pos_mem - 1].pos_prev - = coder->opts[cur].pos_prev_2; - coder->opts[pos_mem - 1].back_prev - = coder->opts[cur].back_prev_2; - } - } - - const uint32_t pos_prev = pos_mem; - const uint32_t back_cur = back_mem; - - back_mem = coder->opts[pos_prev].back_prev; - pos_mem = coder->opts[pos_prev].pos_prev; - - coder->opts[pos_prev].back_prev = back_cur; - coder->opts[pos_prev].pos_prev = cur; - cur = pos_prev; - - } while (cur != 0); - - coder->opts_current_index = coder->opts[0].pos_prev; - *len_res = coder->opts[0].pos_prev; - *back_res = coder->opts[0].back_prev; - - return; -} - - -////////// -// Main // -////////// - -static inline uint32_t -helper1(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint32_t *restrict back_res, uint32_t *restrict len_res, - uint32_t position) -{ - const uint32_t nice_len = mf->nice_len; - - uint32_t len_main; - uint32_t matches_count; - - if (mf->read_ahead == 0) { - len_main = mf_find(mf, &matches_count, coder->matches); - } else { - assert(mf->read_ahead == 1); - len_main = coder->longest_match_length; - matches_count = coder->matches_count; - } - - const uint32_t buf_avail = my_min(mf_avail(mf) + 1, MATCH_LEN_MAX); - if (buf_avail < 2) { - *back_res = UINT32_MAX; - *len_res = 1; - return UINT32_MAX; - } - - const uint8_t *const buf = mf_ptr(mf) - 1; - - uint32_t rep_lens[REP_DISTANCES]; - uint32_t rep_max_index = 0; - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) { - const uint8_t *const buf_back = buf - coder->reps[i] - 1; - - if (not_equal_16(buf, buf_back)) { - rep_lens[i] = 0; - continue; - } - - uint32_t len_test; - for (len_test = 2; len_test < buf_avail - && buf[len_test] == buf_back[len_test]; - ++len_test) ; - - rep_lens[i] = len_test; - if (len_test > rep_lens[rep_max_index]) - rep_max_index = i; - } - - if (rep_lens[rep_max_index] >= nice_len) { - *back_res = rep_max_index; - *len_res = rep_lens[rep_max_index]; - mf_skip(mf, *len_res - 1); - return UINT32_MAX; - } - - - if (len_main >= nice_len) { - *back_res = coder->matches[matches_count - 1].dist - + REP_DISTANCES; - *len_res = len_main; - mf_skip(mf, len_main - 1); - return UINT32_MAX; - } - - const uint8_t current_byte = *buf; - const uint8_t match_byte = *(buf - coder->reps[0] - 1); - - if (len_main < 2 && current_byte != match_byte - && rep_lens[rep_max_index] < 2) { - *back_res = UINT32_MAX; - *len_res = 1; - return UINT32_MAX; - } - - coder->opts[0].state = coder->state; - - const uint32_t pos_state = position & coder->pos_mask; - - coder->opts[1].price = rc_bit_0_price( - coder->is_match[coder->state][pos_state]) - + get_literal_price(coder, position, buf[-1], - !is_literal_state(coder->state), - match_byte, current_byte); - - make_literal(&coder->opts[1]); - - const uint32_t match_price = rc_bit_1_price( - coder->is_match[coder->state][pos_state]); - const uint32_t rep_match_price = match_price - + rc_bit_1_price(coder->is_rep[coder->state]); - - if (match_byte == current_byte) { - const uint32_t short_rep_price = rep_match_price - + get_short_rep_price( - coder, coder->state, pos_state); - - if (short_rep_price < coder->opts[1].price) { - coder->opts[1].price = short_rep_price; - make_short_rep(&coder->opts[1]); - } - } - - const uint32_t len_end = my_max(len_main, rep_lens[rep_max_index]); - - if (len_end < 2) { - *back_res = coder->opts[1].back_prev; - *len_res = 1; - return UINT32_MAX; - } - - coder->opts[1].pos_prev = 0; - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) - coder->opts[0].backs[i] = coder->reps[i]; - - uint32_t len = len_end; - do { - coder->opts[len].price = RC_INFINITY_PRICE; - } while (--len >= 2); - - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) { - uint32_t rep_len = rep_lens[i]; - if (rep_len < 2) - continue; - - const uint32_t price = rep_match_price + get_pure_rep_price( - coder, i, coder->state, pos_state); - - do { - const uint32_t cur_and_len_price = price - + get_len_price( - &coder->rep_len_encoder, - rep_len, pos_state); - - if (cur_and_len_price < coder->opts[rep_len].price) { - coder->opts[rep_len].price = cur_and_len_price; - coder->opts[rep_len].pos_prev = 0; - coder->opts[rep_len].back_prev = i; - coder->opts[rep_len].prev_1_is_literal = false; - } - } while (--rep_len >= 2); - } - - - const uint32_t normal_match_price = match_price - + rc_bit_0_price(coder->is_rep[coder->state]); - - len = rep_lens[0] >= 2 ? rep_lens[0] + 1 : 2; - if (len <= len_main) { - uint32_t i = 0; - while (len > coder->matches[i].len) - ++i; - - for(; ; ++len) { - const uint32_t dist = coder->matches[i].dist; - const uint32_t cur_and_len_price = normal_match_price - + get_pos_len_price(coder, - dist, len, pos_state); - - if (cur_and_len_price < coder->opts[len].price) { - coder->opts[len].price = cur_and_len_price; - coder->opts[len].pos_prev = 0; - coder->opts[len].back_prev - = dist + REP_DISTANCES; - coder->opts[len].prev_1_is_literal = false; - } - - if (len == coder->matches[i].len) - if (++i == matches_count) - break; - } - } - - return len_end; -} - - -static inline uint32_t -helper2(lzma_coder *coder, uint32_t *reps, const uint8_t *buf, - uint32_t len_end, uint32_t position, const uint32_t cur, - const uint32_t nice_len, const uint32_t buf_avail_full) -{ - uint32_t matches_count = coder->matches_count; - uint32_t new_len = coder->longest_match_length; - uint32_t pos_prev = coder->opts[cur].pos_prev; - lzma_lzma_state state; - - if (coder->opts[cur].prev_1_is_literal) { - --pos_prev; - - if (coder->opts[cur].prev_2) { - state = coder->opts[coder->opts[cur].pos_prev_2].state; - - if (coder->opts[cur].back_prev_2 < REP_DISTANCES) - update_long_rep(state); - else - update_match(state); - - } else { - state = coder->opts[pos_prev].state; - } - - update_literal(state); - - } else { - state = coder->opts[pos_prev].state; - } - - if (pos_prev == cur - 1) { - if (is_short_rep(coder->opts[cur])) - update_short_rep(state); - else - update_literal(state); - } else { - uint32_t pos; - if (coder->opts[cur].prev_1_is_literal - && coder->opts[cur].prev_2) { - pos_prev = coder->opts[cur].pos_prev_2; - pos = coder->opts[cur].back_prev_2; - update_long_rep(state); - } else { - pos = coder->opts[cur].back_prev; - if (pos < REP_DISTANCES) - update_long_rep(state); - else - update_match(state); - } - - if (pos < REP_DISTANCES) { - reps[0] = coder->opts[pos_prev].backs[pos]; - - uint32_t i; - for (i = 1; i <= pos; ++i) - reps[i] = coder->opts[pos_prev].backs[i - 1]; - - for (; i < REP_DISTANCES; ++i) - reps[i] = coder->opts[pos_prev].backs[i]; - - } else { - reps[0] = pos - REP_DISTANCES; - - for (uint32_t i = 1; i < REP_DISTANCES; ++i) - reps[i] = coder->opts[pos_prev].backs[i - 1]; - } - } - - coder->opts[cur].state = state; - - for (uint32_t i = 0; i < REP_DISTANCES; ++i) - coder->opts[cur].backs[i] = reps[i]; - - const uint32_t cur_price = coder->opts[cur].price; - - const uint8_t current_byte = *buf; - const uint8_t match_byte = *(buf - reps[0] - 1); - - const uint32_t pos_state = position & coder->pos_mask; - - const uint32_t cur_and_1_price = cur_price - + rc_bit_0_price(coder->is_match[state][pos_state]) - + get_literal_price(coder, position, buf[-1], - !is_literal_state(state), match_byte, current_byte); - - bool next_is_literal = false; - - if (cur_and_1_price < coder->opts[cur + 1].price) { - coder->opts[cur + 1].price = cur_and_1_price; - coder->opts[cur + 1].pos_prev = cur; - make_literal(&coder->opts[cur + 1]); - next_is_literal = true; - } - - const uint32_t match_price = cur_price - + rc_bit_1_price(coder->is_match[state][pos_state]); - const uint32_t rep_match_price = match_price - + rc_bit_1_price(coder->is_rep[state]); - - if (match_byte == current_byte - && !(coder->opts[cur + 1].pos_prev < cur - && coder->opts[cur + 1].back_prev == 0)) { - - const uint32_t short_rep_price = rep_match_price - + get_short_rep_price(coder, state, pos_state); - - if (short_rep_price <= coder->opts[cur + 1].price) { - coder->opts[cur + 1].price = short_rep_price; - coder->opts[cur + 1].pos_prev = cur; - make_short_rep(&coder->opts[cur + 1]); - next_is_literal = true; - } - } - - if (buf_avail_full < 2) - return len_end; - - const uint32_t buf_avail = my_min(buf_avail_full, nice_len); - - if (!next_is_literal && match_byte != current_byte) { // speed optimization - // try literal + rep0 - const uint8_t *const buf_back = buf - reps[0] - 1; - const uint32_t limit = my_min(buf_avail_full, nice_len + 1); - - uint32_t len_test = 1; - while (len_test < limit && buf[len_test] == buf_back[len_test]) - ++len_test; - - --len_test; - - if (len_test >= 2) { - lzma_lzma_state state_2 = state; - update_literal(state_2); - - const uint32_t pos_state_next = (position + 1) & coder->pos_mask; - const uint32_t next_rep_match_price = cur_and_1_price - + rc_bit_1_price(coder->is_match[state_2][pos_state_next]) - + rc_bit_1_price(coder->is_rep[state_2]); - - //for (; len_test >= 2; --len_test) { - const uint32_t offset = cur + 1 + len_test; - - while (len_end < offset) - coder->opts[++len_end].price = RC_INFINITY_PRICE; - - const uint32_t cur_and_len_price = next_rep_match_price - + get_rep_price(coder, 0, len_test, - state_2, pos_state_next); - - if (cur_and_len_price < coder->opts[offset].price) { - coder->opts[offset].price = cur_and_len_price; - coder->opts[offset].pos_prev = cur + 1; - coder->opts[offset].back_prev = 0; - coder->opts[offset].prev_1_is_literal = true; - coder->opts[offset].prev_2 = false; - } - //} - } - } - - - uint32_t start_len = 2; // speed optimization - - for (uint32_t rep_index = 0; rep_index < REP_DISTANCES; ++rep_index) { - const uint8_t *const buf_back = buf - reps[rep_index] - 1; - if (not_equal_16(buf, buf_back)) - continue; - - uint32_t len_test; - for (len_test = 2; len_test < buf_avail - && buf[len_test] == buf_back[len_test]; - ++len_test) ; - - while (len_end < cur + len_test) - coder->opts[++len_end].price = RC_INFINITY_PRICE; - - const uint32_t len_test_temp = len_test; - const uint32_t price = rep_match_price + get_pure_rep_price( - coder, rep_index, state, pos_state); - - do { - const uint32_t cur_and_len_price = price - + get_len_price(&coder->rep_len_encoder, - len_test, pos_state); - - if (cur_and_len_price < coder->opts[cur + len_test].price) { - coder->opts[cur + len_test].price = cur_and_len_price; - coder->opts[cur + len_test].pos_prev = cur; - coder->opts[cur + len_test].back_prev = rep_index; - coder->opts[cur + len_test].prev_1_is_literal = false; - } - } while (--len_test >= 2); - - len_test = len_test_temp; - - if (rep_index == 0) - start_len = len_test + 1; - - - uint32_t len_test_2 = len_test + 1; - const uint32_t limit = my_min(buf_avail_full, - len_test_2 + nice_len); - for (; len_test_2 < limit - && buf[len_test_2] == buf_back[len_test_2]; - ++len_test_2) ; - - len_test_2 -= len_test + 1; - - if (len_test_2 >= 2) { - lzma_lzma_state state_2 = state; - update_long_rep(state_2); - - uint32_t pos_state_next = (position + len_test) & coder->pos_mask; - - const uint32_t cur_and_len_literal_price = price - + get_len_price(&coder->rep_len_encoder, - len_test, pos_state) - + rc_bit_0_price(coder->is_match[state_2][pos_state_next]) - + get_literal_price(coder, position + len_test, - buf[len_test - 1], true, - buf_back[len_test], buf[len_test]); - - update_literal(state_2); - - pos_state_next = (position + len_test + 1) & coder->pos_mask; - - const uint32_t next_rep_match_price = cur_and_len_literal_price - + rc_bit_1_price(coder->is_match[state_2][pos_state_next]) - + rc_bit_1_price(coder->is_rep[state_2]); - - //for(; len_test_2 >= 2; len_test_2--) { - const uint32_t offset = cur + len_test + 1 + len_test_2; - - while (len_end < offset) - coder->opts[++len_end].price = RC_INFINITY_PRICE; - - const uint32_t cur_and_len_price = next_rep_match_price - + get_rep_price(coder, 0, len_test_2, - state_2, pos_state_next); - - if (cur_and_len_price < coder->opts[offset].price) { - coder->opts[offset].price = cur_and_len_price; - coder->opts[offset].pos_prev = cur + len_test + 1; - coder->opts[offset].back_prev = 0; - coder->opts[offset].prev_1_is_literal = true; - coder->opts[offset].prev_2 = true; - coder->opts[offset].pos_prev_2 = cur; - coder->opts[offset].back_prev_2 = rep_index; - } - //} - } - } - - - //for (uint32_t len_test = 2; len_test <= new_len; ++len_test) - if (new_len > buf_avail) { - new_len = buf_avail; - - matches_count = 0; - while (new_len > coder->matches[matches_count].len) - ++matches_count; - - coder->matches[matches_count++].len = new_len; - } - - - if (new_len >= start_len) { - const uint32_t normal_match_price = match_price - + rc_bit_0_price(coder->is_rep[state]); - - while (len_end < cur + new_len) - coder->opts[++len_end].price = RC_INFINITY_PRICE; - - uint32_t i = 0; - while (start_len > coder->matches[i].len) - ++i; - - for (uint32_t len_test = start_len; ; ++len_test) { - const uint32_t cur_back = coder->matches[i].dist; - uint32_t cur_and_len_price = normal_match_price - + get_pos_len_price(coder, - cur_back, len_test, pos_state); - - if (cur_and_len_price < coder->opts[cur + len_test].price) { - coder->opts[cur + len_test].price = cur_and_len_price; - coder->opts[cur + len_test].pos_prev = cur; - coder->opts[cur + len_test].back_prev - = cur_back + REP_DISTANCES; - coder->opts[cur + len_test].prev_1_is_literal = false; - } - - if (len_test == coder->matches[i].len) { - // Try Match + Literal + Rep0 - const uint8_t *const buf_back = buf - cur_back - 1; - uint32_t len_test_2 = len_test + 1; - const uint32_t limit = my_min(buf_avail_full, - len_test_2 + nice_len); - - for (; len_test_2 < limit && - buf[len_test_2] == buf_back[len_test_2]; - ++len_test_2) ; - - len_test_2 -= len_test + 1; - - if (len_test_2 >= 2) { - lzma_lzma_state state_2 = state; - update_match(state_2); - uint32_t pos_state_next - = (position + len_test) & coder->pos_mask; - - const uint32_t cur_and_len_literal_price = cur_and_len_price - + rc_bit_0_price( - coder->is_match[state_2][pos_state_next]) - + get_literal_price(coder, - position + len_test, - buf[len_test - 1], - true, - buf_back[len_test], - buf[len_test]); - - update_literal(state_2); - pos_state_next = (pos_state_next + 1) & coder->pos_mask; - - const uint32_t next_rep_match_price - = cur_and_len_literal_price - + rc_bit_1_price( - coder->is_match[state_2][pos_state_next]) - + rc_bit_1_price(coder->is_rep[state_2]); - - // for(; len_test_2 >= 2; --len_test_2) { - const uint32_t offset = cur + len_test + 1 + len_test_2; - - while (len_end < offset) - coder->opts[++len_end].price = RC_INFINITY_PRICE; - - cur_and_len_price = next_rep_match_price - + get_rep_price(coder, 0, len_test_2, - state_2, pos_state_next); - - if (cur_and_len_price < coder->opts[offset].price) { - coder->opts[offset].price = cur_and_len_price; - coder->opts[offset].pos_prev = cur + len_test + 1; - coder->opts[offset].back_prev = 0; - coder->opts[offset].prev_1_is_literal = true; - coder->opts[offset].prev_2 = true; - coder->opts[offset].pos_prev_2 = cur; - coder->opts[offset].back_prev_2 - = cur_back + REP_DISTANCES; - } - //} - } - - if (++i == matches_count) - break; - } - } - } - - return len_end; -} - - -extern void -lzma_lzma_optimum_normal(lzma_coder *restrict coder, lzma_mf *restrict mf, - uint32_t *restrict back_res, uint32_t *restrict len_res, - uint32_t position) -{ - // If we have symbols pending, return the next pending symbol. - if (coder->opts_end_index != coder->opts_current_index) { - assert(mf->read_ahead > 0); - *len_res = coder->opts[coder->opts_current_index].pos_prev - - coder->opts_current_index; - *back_res = coder->opts[coder->opts_current_index].back_prev; - coder->opts_current_index = coder->opts[ - coder->opts_current_index].pos_prev; - return; - } - - // Update the price tables. In LZMA SDK <= 4.60 (and possibly later) - // this was done in both initialization function and in the main loop. - // In liblzma they were moved into this single place. - if (mf->read_ahead == 0) { - if (coder->match_price_count >= (1 << 7)) - fill_distances_prices(coder); - - if (coder->align_price_count >= ALIGN_TABLE_SIZE) - fill_align_prices(coder); - } - - // TODO: This needs quite a bit of cleaning still. But splitting - // the original function into two pieces makes it at least a little - // more readable, since those two parts don't share many variables. - - uint32_t len_end = helper1(coder, mf, back_res, len_res, position); - if (len_end == UINT32_MAX) - return; - - uint32_t reps[REP_DISTANCES]; - memcpy(reps, coder->reps, sizeof(reps)); - - uint32_t cur; - for (cur = 1; cur < len_end; ++cur) { - assert(cur < OPTS); - - coder->longest_match_length = mf_find( - mf, &coder->matches_count, coder->matches); - - if (coder->longest_match_length >= mf->nice_len) - break; - - len_end = helper2(coder, reps, mf_ptr(mf) - 1, len_end, - position + cur, cur, mf->nice_len, - my_min(mf_avail(mf) + 1, OPTS - 1 - cur)); - } - - backward(coder, len_res, back_res, cur); - return; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_presets.c b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_presets.c deleted file mode 100644 index 21e427a8d02..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_presets.c +++ /dev/null @@ -1,61 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder_presets.c -/// \brief Encoder presets -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "common.h" - - -extern LZMA_API(lzma_bool) -lzma_lzma_preset(lzma_options_lzma *options, uint32_t preset) -{ - const uint32_t level = preset & LZMA_PRESET_LEVEL_MASK; - const uint32_t flags = preset & ~LZMA_PRESET_LEVEL_MASK; - const uint32_t supported_flags = LZMA_PRESET_EXTREME; - - if (level > 9 || (flags & ~supported_flags)) - return true; - - options->preset_dict = NULL; - options->preset_dict_size = 0; - - options->lc = LZMA_LC_DEFAULT; - options->lp = LZMA_LP_DEFAULT; - options->pb = LZMA_PB_DEFAULT; - - options->dict_size = UINT32_C(1) << (uint8_t []){ - 18, 20, 21, 22, 22, 23, 23, 24, 25, 26 }[level]; - - if (level <= 3) { - options->mode = LZMA_MODE_FAST; - options->mf = level == 0 ? LZMA_MF_HC3 : LZMA_MF_HC4; - options->nice_len = level <= 1 ? 128 : 273; - options->depth = (uint8_t []){ 4, 8, 24, 48 }[level]; - } else { - options->mode = LZMA_MODE_NORMAL; - options->mf = LZMA_MF_BT4; - options->nice_len = level == 4 ? 16 : level == 5 ? 32 : 64; - options->depth = 0; - } - - if (flags & LZMA_PRESET_EXTREME) { - options->mode = LZMA_MODE_NORMAL; - options->mf = LZMA_MF_BT4; - if (level == 3 || level == 5) { - options->nice_len = 192; - options->depth = 0; - } else { - options->nice_len = 273; - options->depth = 512; - } - } - - return false; -} diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_private.h b/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_private.h deleted file mode 100644 index 684745236c8..00000000000 --- a/Build/source/extra/xz/src/liblzma/lzma/lzma_encoder_private.h +++ /dev/null @@ -1,148 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzma_encoder_private.h -/// \brief Private definitions for LZMA encoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_LZMA_ENCODER_PRIVATE_H -#define LZMA_LZMA_ENCODER_PRIVATE_H - -#include "lz_encoder.h" -#include "range_encoder.h" -#include "lzma_common.h" -#include "lzma_encoder.h" - - -// Macro to compare if the first two bytes in two buffers differ. This is -// needed in lzma_lzma_optimum_*() to test if the match is at least -// MATCH_LEN_MIN bytes. Unaligned access gives tiny gain so there's no -// reason to not use it when it is supported. -#ifdef TUKLIB_FAST_UNALIGNED_ACCESS -# define not_equal_16(a, b) \ - (*(const uint16_t *)(a) != *(const uint16_t *)(b)) -#else -# define not_equal_16(a, b) \ - ((a)[0] != (b)[0] || (a)[1] != (b)[1]) -#endif - - -// Optimal - Number of entries in the optimum array. -#define OPTS (1 << 12) - - -typedef struct { - probability choice; - probability choice2; - probability low[POS_STATES_MAX][LEN_LOW_SYMBOLS]; - probability mid[POS_STATES_MAX][LEN_MID_SYMBOLS]; - probability high[LEN_HIGH_SYMBOLS]; - - uint32_t prices[POS_STATES_MAX][LEN_SYMBOLS]; - uint32_t table_size; - uint32_t counters[POS_STATES_MAX]; - -} lzma_length_encoder; - - -typedef struct { - lzma_lzma_state state; - - bool prev_1_is_literal; - bool prev_2; - - uint32_t pos_prev_2; - uint32_t back_prev_2; - - uint32_t price; - uint32_t pos_prev; // pos_next; - uint32_t back_prev; - - uint32_t backs[REP_DISTANCES]; - -} lzma_optimal; - - -struct lzma_coder_s { - /// Range encoder - lzma_range_encoder rc; - - /// State - lzma_lzma_state state; - - /// The four most recent match distances - uint32_t reps[REP_DISTANCES]; - - /// Array of match candidates - lzma_match matches[MATCH_LEN_MAX + 1]; - - /// Number of match candidates in matches[] - uint32_t matches_count; - - /// Variable to hold the length of the longest match between calls - /// to lzma_lzma_optimum_*(). - uint32_t longest_match_length; - - /// True if using getoptimumfast - bool fast_mode; - - /// True if the encoder has been initialized by encoding the first - /// byte as a literal. - bool is_initialized; - - /// True if the range encoder has been flushed, but not all bytes - /// have been written to the output buffer yet. - bool is_flushed; - - uint32_t pos_mask; ///< (1 << pos_bits) - 1 - uint32_t literal_context_bits; - uint32_t literal_pos_mask; - - // These are the same as in lzma_decoder.c. See comments there. - probability literal[LITERAL_CODERS_MAX][LITERAL_CODER_SIZE]; - probability is_match[STATES][POS_STATES_MAX]; - probability is_rep[STATES]; - probability is_rep0[STATES]; - probability is_rep1[STATES]; - probability is_rep2[STATES]; - probability is_rep0_long[STATES][POS_STATES_MAX]; - probability pos_slot[LEN_TO_POS_STATES][POS_SLOTS]; - probability pos_special[FULL_DISTANCES - END_POS_MODEL_INDEX]; - probability pos_align[ALIGN_TABLE_SIZE]; - - // These are the same as in lzma_decoder.c except that the encoders - // include also price tables. - lzma_length_encoder match_len_encoder; - lzma_length_encoder rep_len_encoder; - - // Price tables - uint32_t pos_slot_prices[LEN_TO_POS_STATES][POS_SLOTS]; - uint32_t distances_prices[LEN_TO_POS_STATES][FULL_DISTANCES]; - uint32_t dist_table_size; - uint32_t match_price_count; - - uint32_t align_prices[ALIGN_TABLE_SIZE]; - uint32_t align_price_count; - - // Optimal - uint32_t opts_end_index; - uint32_t opts_current_index; - lzma_optimal opts[OPTS]; -}; - - -extern void lzma_lzma_optimum_fast( - lzma_coder *restrict coder, lzma_mf *restrict mf, - uint32_t *restrict back_res, uint32_t *restrict len_res); - -extern void lzma_lzma_optimum_normal(lzma_coder *restrict coder, - lzma_mf *restrict mf, uint32_t *restrict back_res, - uint32_t *restrict len_res, uint32_t position); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/Makefile.inc b/Build/source/extra/xz/src/liblzma/rangecoder/Makefile.inc deleted file mode 100644 index d8a597a2607..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/Makefile.inc +++ /dev/null @@ -1,21 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -EXTRA_DIST += rangecoder/price_tablegen.c - -liblzma_la_SOURCES += rangecoder/range_common.h - -if COND_ENCODER_LZMA1 -liblzma_la_SOURCES += \ - rangecoder/range_encoder.h \ - rangecoder/price.h \ - rangecoder/price_table.c -endif - -if COND_DECODER_LZMA1 -liblzma_la_SOURCES += rangecoder/range_decoder.h -endif diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/price.h b/Build/source/extra/xz/src/liblzma/rangecoder/price.h deleted file mode 100644 index 8ae02ca7474..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/price.h +++ /dev/null @@ -1,92 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file price.h -/// \brief Probability price calculation -// -// Author: Igor Pavlov -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_PRICE_H -#define LZMA_PRICE_H - - -#define RC_MOVE_REDUCING_BITS 4 -#define RC_BIT_PRICE_SHIFT_BITS 4 -#define RC_PRICE_TABLE_SIZE (RC_BIT_MODEL_TOTAL >> RC_MOVE_REDUCING_BITS) - -#define RC_INFINITY_PRICE (UINT32_C(1) << 30) - - -/// Lookup table for the inline functions defined in this file. -extern const uint8_t lzma_rc_prices[RC_PRICE_TABLE_SIZE]; - - -static inline uint32_t -rc_bit_price(const probability prob, const uint32_t bit) -{ - return lzma_rc_prices[(prob ^ ((UINT32_C(0) - bit) - & (RC_BIT_MODEL_TOTAL - 1))) >> RC_MOVE_REDUCING_BITS]; -} - - -static inline uint32_t -rc_bit_0_price(const probability prob) -{ - return lzma_rc_prices[prob >> RC_MOVE_REDUCING_BITS]; -} - - -static inline uint32_t -rc_bit_1_price(const probability prob) -{ - return lzma_rc_prices[(prob ^ (RC_BIT_MODEL_TOTAL - 1)) - >> RC_MOVE_REDUCING_BITS]; -} - - -static inline uint32_t -rc_bittree_price(const probability *const probs, - const uint32_t bit_levels, uint32_t symbol) -{ - uint32_t price = 0; - symbol += UINT32_C(1) << bit_levels; - - do { - const uint32_t bit = symbol & 1; - symbol >>= 1; - price += rc_bit_price(probs[symbol], bit); - } while (symbol != 1); - - return price; -} - - -static inline uint32_t -rc_bittree_reverse_price(const probability *const probs, - uint32_t bit_levels, uint32_t symbol) -{ - uint32_t price = 0; - uint32_t model_index = 1; - - do { - const uint32_t bit = symbol & 1; - symbol >>= 1; - price += rc_bit_price(probs[model_index], bit); - model_index = (model_index << 1) + bit; - } while (--bit_levels != 0); - - return price; -} - - -static inline uint32_t -rc_direct_price(const uint32_t bits) -{ - return bits << RC_BIT_PRICE_SHIFT_BITS; -} - -#endif diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/price_table.c b/Build/source/extra/xz/src/liblzma/rangecoder/price_table.c deleted file mode 100644 index ac64bf62c76..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/price_table.c +++ /dev/null @@ -1,22 +0,0 @@ -/* This file has been automatically generated by price_tablegen.c. */ - -#include "range_encoder.h" - -const uint8_t lzma_rc_prices[RC_PRICE_TABLE_SIZE] = { - 128, 103, 91, 84, 78, 73, 69, 66, - 63, 61, 58, 56, 54, 52, 51, 49, - 48, 46, 45, 44, 43, 42, 41, 40, - 39, 38, 37, 36, 35, 34, 34, 33, - 32, 31, 31, 30, 29, 29, 28, 28, - 27, 26, 26, 25, 25, 24, 24, 23, - 23, 22, 22, 22, 21, 21, 20, 20, - 19, 19, 19, 18, 18, 17, 17, 17, - 16, 16, 16, 15, 15, 15, 14, 14, - 14, 13, 13, 13, 12, 12, 12, 11, - 11, 11, 11, 10, 10, 10, 10, 9, - 9, 9, 9, 8, 8, 8, 8, 7, - 7, 7, 7, 6, 6, 6, 6, 5, - 5, 5, 5, 5, 4, 4, 4, 4, - 3, 3, 3, 3, 3, 2, 2, 2, - 2, 2, 2, 1, 1, 1, 1, 1 -}; diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/price_tablegen.c b/Build/source/extra/xz/src/liblzma/rangecoder/price_tablegen.c deleted file mode 100644 index bf08ce39d7e..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/price_tablegen.c +++ /dev/null @@ -1,87 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file price_tablegen.c -/// \brief Probability price table generator -/// -/// Compiling: gcc -std=c99 -o price_tablegen price_tablegen.c -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include -#include -#include "range_common.h" -#include "price.h" - - -static uint32_t rc_prices[RC_PRICE_TABLE_SIZE]; - - -static void -init_price_table(void) -{ - for (uint32_t i = (UINT32_C(1) << RC_MOVE_REDUCING_BITS) / 2; - i < RC_BIT_MODEL_TOTAL; - i += (UINT32_C(1) << RC_MOVE_REDUCING_BITS)) { - const uint32_t cycles_bits = RC_BIT_PRICE_SHIFT_BITS; - uint32_t w = i; - uint32_t bit_count = 0; - - for (uint32_t j = 0; j < cycles_bits; ++j) { - w *= w; - bit_count <<= 1; - - while (w >= (UINT32_C(1) << 16)) { - w >>= 1; - ++bit_count; - } - } - - rc_prices[i >> RC_MOVE_REDUCING_BITS] - = (RC_BIT_MODEL_TOTAL_BITS << cycles_bits) - - 15 - bit_count; - } - - return; -} - - -static void -print_price_table(void) -{ - printf("/* This file has been automatically generated by " - "price_tablegen.c. */\n\n" - "#include \"range_encoder.h\"\n\n" - "const uint8_t lzma_rc_prices[" - "RC_PRICE_TABLE_SIZE] = {"); - - const size_t array_size = sizeof(lzma_rc_prices) - / sizeof(lzma_rc_prices[0]); - for (size_t i = 0; i < array_size; ++i) { - if (i % 8 == 0) - printf("\n\t"); - - printf("%4" PRIu32, rc_prices[i]); - - if (i != array_size - 1) - printf(","); - } - - printf("\n};\n"); - - return; -} - - -int -main(void) -{ - init_price_table(); - print_price_table(); - return 0; -} diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/range_common.h b/Build/source/extra/xz/src/liblzma/rangecoder/range_common.h deleted file mode 100644 index 0e6424198d1..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/range_common.h +++ /dev/null @@ -1,73 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file range_common.h -/// \brief Common things for range encoder and decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_RANGE_COMMON_H -#define LZMA_RANGE_COMMON_H - -#ifdef HAVE_CONFIG_H -# include "common.h" -#endif - - -/////////////// -// Constants // -/////////////// - -#define RC_SHIFT_BITS 8 -#define RC_TOP_BITS 24 -#define RC_TOP_VALUE (UINT32_C(1) << RC_TOP_BITS) -#define RC_BIT_MODEL_TOTAL_BITS 11 -#define RC_BIT_MODEL_TOTAL (UINT32_C(1) << RC_BIT_MODEL_TOTAL_BITS) -#define RC_MOVE_BITS 5 - - -//////////// -// Macros // -//////////// - -// Resets the probability so that both 0 and 1 have probability of 50 % -#define bit_reset(prob) \ - prob = RC_BIT_MODEL_TOTAL >> 1 - -// This does the same for a complete bit tree. -// (A tree represented as an array.) -#define bittree_reset(probs, bit_levels) \ - for (uint32_t bt_i = 0; bt_i < (1 << (bit_levels)); ++bt_i) \ - bit_reset((probs)[bt_i]) - - -////////////////////// -// Type definitions // -////////////////////// - -/// \brief Type of probabilities used with range coder -/// -/// This needs to be at least 12-bit integer, so uint16_t is a logical choice. -/// However, on some architecture and compiler combinations, a bigger type -/// may give better speed, because the probability variables are accessed -/// a lot. On the other hand, bigger probability type increases cache -/// footprint, since there are 2 to 14 thousand probability variables in -/// LZMA (assuming the limit of lc + lp <= 4; with lc + lp <= 12 there -/// would be about 1.5 million variables). -/// -/// With malicious files, the initialization speed of the LZMA decoder can -/// become important. In that case, smaller probability variables mean that -/// there is less bytes to write to RAM, which makes initialization faster. -/// With big probability type, the initialization can become so slow that it -/// can be a problem e.g. for email servers doing virus scanning. -/// -/// I will be sticking to uint16_t unless some specific architectures -/// are *much* faster (20-50 %) with uint32_t. -typedef uint16_t probability; - -#endif diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/range_decoder.h b/Build/source/extra/xz/src/liblzma/rangecoder/range_decoder.h deleted file mode 100644 index fb96180fb39..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/range_decoder.h +++ /dev/null @@ -1,179 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file range_decoder.h -/// \brief Range Decoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_RANGE_DECODER_H -#define LZMA_RANGE_DECODER_H - -#include "range_common.h" - - -typedef struct { - uint32_t range; - uint32_t code; - uint32_t init_bytes_left; -} lzma_range_decoder; - - -/// Reads the first five bytes to initialize the range decoder. -static inline bool -rc_read_init(lzma_range_decoder *rc, const uint8_t *restrict in, - size_t *restrict in_pos, size_t in_size) -{ - while (rc->init_bytes_left > 0) { - if (*in_pos == in_size) - return false; - - rc->code = (rc->code << 8) | in[*in_pos]; - ++*in_pos; - --rc->init_bytes_left; - } - - return true; -} - - -/// Makes local copies of range decoder and *in_pos variables. Doing this -/// improves speed significantly. The range decoder macros expect also -/// variables `in' and `in_size' to be defined. -#define rc_to_local(range_decoder, in_pos) \ - lzma_range_decoder rc = range_decoder; \ - size_t rc_in_pos = (in_pos); \ - uint32_t rc_bound - - -/// Stores the local copes back to the range decoder structure. -#define rc_from_local(range_decoder, in_pos) \ -do { \ - range_decoder = rc; \ - in_pos = rc_in_pos; \ -} while (0) - - -/// Resets the range decoder structure. -#define rc_reset(range_decoder) \ -do { \ - (range_decoder).range = UINT32_MAX; \ - (range_decoder).code = 0; \ - (range_decoder).init_bytes_left = 5; \ -} while (0) - - -/// When decoding has been properly finished, rc.code is always zero unless -/// the input stream is corrupt. So checking this can catch some corrupt -/// files especially if they don't have any other integrity check. -#define rc_is_finished(range_decoder) \ - ((range_decoder).code == 0) - - -/// Read the next input byte if needed. If more input is needed but there is -/// no more input available, "goto out" is used to jump out of the main -/// decoder loop. -#define rc_normalize(seq) \ -do { \ - if (rc.range < RC_TOP_VALUE) { \ - if (unlikely(rc_in_pos == in_size)) { \ - coder->sequence = seq; \ - goto out; \ - } \ - rc.range <<= RC_SHIFT_BITS; \ - rc.code = (rc.code << RC_SHIFT_BITS) | in[rc_in_pos++]; \ - } \ -} while (0) - - -/// Start decoding a bit. This must be used together with rc_update_0() -/// and rc_update_1(): -/// -/// rc_if_0(prob, seq) { -/// rc_update_0(prob); -/// // Do something -/// } else { -/// rc_update_1(prob); -/// // Do something else -/// } -/// -#define rc_if_0(prob, seq) \ - rc_normalize(seq); \ - rc_bound = (rc.range >> RC_BIT_MODEL_TOTAL_BITS) * (prob); \ - if (rc.code < rc_bound) - - -/// Update the range decoder state and the used probability variable to -/// match a decoded bit of 0. -#define rc_update_0(prob) \ -do { \ - rc.range = rc_bound; \ - prob += (RC_BIT_MODEL_TOTAL - (prob)) >> RC_MOVE_BITS; \ -} while (0) - - -/// Update the range decoder state and the used probability variable to -/// match a decoded bit of 1. -#define rc_update_1(prob) \ -do { \ - rc.range -= rc_bound; \ - rc.code -= rc_bound; \ - prob -= (prob) >> RC_MOVE_BITS; \ -} while (0) - - -/// Decodes one bit and runs action0 or action1 depending on the decoded bit. -/// This macro is used as the last step in bittree reverse decoders since -/// those don't use "symbol" for anything else than indexing the probability -/// arrays. -#define rc_bit_last(prob, action0, action1, seq) \ -do { \ - rc_if_0(prob, seq) { \ - rc_update_0(prob); \ - action0; \ - } else { \ - rc_update_1(prob); \ - action1; \ - } \ -} while (0) - - -/// Decodes one bit, updates "symbol", and runs action0 or action1 depending -/// on the decoded bit. -#define rc_bit(prob, action0, action1, seq) \ - rc_bit_last(prob, \ - symbol <<= 1; action0, \ - symbol = (symbol << 1) + 1; action1, \ - seq); - - -/// Like rc_bit() but add "case seq:" as a prefix. This makes the unrolled -/// loops more readable because the code isn't littered with "case" -/// statements. On the other hand this also makes it less readable, since -/// spotting the places where the decoder loop may be restarted is less -/// obvious. -#define rc_bit_case(prob, action0, action1, seq) \ - case seq: rc_bit(prob, action0, action1, seq) - - -/// Decode a bit without using a probability. -#define rc_direct(dest, seq) \ -do { \ - rc_normalize(seq); \ - rc.range >>= 1; \ - rc.code -= rc.range; \ - rc_bound = UINT32_C(0) - (rc.code >> 31); \ - rc.code += rc.range & rc_bound; \ - dest = (dest << 1) + (rc_bound + 1); \ -} while (0) - - -// NOTE: No macros are provided for bittree decoding. It seems to be simpler -// to just write them open in the code. - -#endif diff --git a/Build/source/extra/xz/src/liblzma/rangecoder/range_encoder.h b/Build/source/extra/xz/src/liblzma/rangecoder/range_encoder.h deleted file mode 100644 index 1e1c36995b6..00000000000 --- a/Build/source/extra/xz/src/liblzma/rangecoder/range_encoder.h +++ /dev/null @@ -1,231 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file range_encoder.h -/// \brief Range Encoder -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_RANGE_ENCODER_H -#define LZMA_RANGE_ENCODER_H - -#include "range_common.h" -#include "price.h" - - -/// Maximum number of symbols that can be put pending into lzma_range_encoder -/// structure between calls to lzma_rc_encode(). For LZMA, 52+5 is enough -/// (match with big distance and length followed by range encoder flush). -#define RC_SYMBOLS_MAX 58 - - -typedef struct { - uint64_t low; - uint64_t cache_size; - uint32_t range; - uint8_t cache; - - /// Number of symbols in the tables - size_t count; - - /// rc_encode()'s position in the tables - size_t pos; - - /// Symbols to encode - enum { - RC_BIT_0, - RC_BIT_1, - RC_DIRECT_0, - RC_DIRECT_1, - RC_FLUSH, - } symbols[RC_SYMBOLS_MAX]; - - /// Probabilities associated with RC_BIT_0 or RC_BIT_1 - probability *probs[RC_SYMBOLS_MAX]; - -} lzma_range_encoder; - - -static inline void -rc_reset(lzma_range_encoder *rc) -{ - rc->low = 0; - rc->cache_size = 1; - rc->range = UINT32_MAX; - rc->cache = 0; - rc->count = 0; - rc->pos = 0; -} - - -static inline void -rc_bit(lzma_range_encoder *rc, probability *prob, uint32_t bit) -{ - rc->symbols[rc->count] = bit; - rc->probs[rc->count] = prob; - ++rc->count; -} - - -static inline void -rc_bittree(lzma_range_encoder *rc, probability *probs, - uint32_t bit_count, uint32_t symbol) -{ - uint32_t model_index = 1; - - do { - const uint32_t bit = (symbol >> --bit_count) & 1; - rc_bit(rc, &probs[model_index], bit); - model_index = (model_index << 1) + bit; - } while (bit_count != 0); -} - - -static inline void -rc_bittree_reverse(lzma_range_encoder *rc, probability *probs, - uint32_t bit_count, uint32_t symbol) -{ - uint32_t model_index = 1; - - do { - const uint32_t bit = symbol & 1; - symbol >>= 1; - rc_bit(rc, &probs[model_index], bit); - model_index = (model_index << 1) + bit; - } while (--bit_count != 0); -} - - -static inline void -rc_direct(lzma_range_encoder *rc, - uint32_t value, uint32_t bit_count) -{ - do { - rc->symbols[rc->count++] - = RC_DIRECT_0 + ((value >> --bit_count) & 1); - } while (bit_count != 0); -} - - -static inline void -rc_flush(lzma_range_encoder *rc) -{ - for (size_t i = 0; i < 5; ++i) - rc->symbols[rc->count++] = RC_FLUSH; -} - - -static inline bool -rc_shift_low(lzma_range_encoder *rc, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - if ((uint32_t)(rc->low) < (uint32_t)(0xFF000000) - || (uint32_t)(rc->low >> 32) != 0) { - do { - if (*out_pos == out_size) - return true; - - out[*out_pos] = rc->cache + (uint8_t)(rc->low >> 32); - ++*out_pos; - rc->cache = 0xFF; - - } while (--rc->cache_size != 0); - - rc->cache = (rc->low >> 24) & 0xFF; - } - - ++rc->cache_size; - rc->low = (rc->low & 0x00FFFFFF) << RC_SHIFT_BITS; - - return false; -} - - -static inline bool -rc_encode(lzma_range_encoder *rc, - uint8_t *out, size_t *out_pos, size_t out_size) -{ - assert(rc->count <= RC_SYMBOLS_MAX); - - while (rc->pos < rc->count) { - // Normalize - if (rc->range < RC_TOP_VALUE) { - if (rc_shift_low(rc, out, out_pos, out_size)) - return true; - - rc->range <<= RC_SHIFT_BITS; - } - - // Encode a bit - switch (rc->symbols[rc->pos]) { - case RC_BIT_0: { - probability prob = *rc->probs[rc->pos]; - rc->range = (rc->range >> RC_BIT_MODEL_TOTAL_BITS) - * prob; - prob += (RC_BIT_MODEL_TOTAL - prob) >> RC_MOVE_BITS; - *rc->probs[rc->pos] = prob; - break; - } - - case RC_BIT_1: { - probability prob = *rc->probs[rc->pos]; - const uint32_t bound = prob * (rc->range - >> RC_BIT_MODEL_TOTAL_BITS); - rc->low += bound; - rc->range -= bound; - prob -= prob >> RC_MOVE_BITS; - *rc->probs[rc->pos] = prob; - break; - } - - case RC_DIRECT_0: - rc->range >>= 1; - break; - - case RC_DIRECT_1: - rc->range >>= 1; - rc->low += rc->range; - break; - - case RC_FLUSH: - // Prevent further normalizations. - rc->range = UINT32_MAX; - - // Flush the last five bytes (see rc_flush()). - do { - if (rc_shift_low(rc, out, out_pos, out_size)) - return true; - } while (++rc->pos < rc->count); - - // Reset the range encoder so we are ready to continue - // encoding if we weren't finishing the stream. - rc_reset(rc); - return false; - - default: - assert(0); - break; - } - - ++rc->pos; - } - - rc->count = 0; - rc->pos = 0; - - return false; -} - - -static inline uint64_t -rc_pending(const lzma_range_encoder *rc) -{ - return rc->cache_size + 5 - 1; -} - -#endif diff --git a/Build/source/extra/xz/src/liblzma/simple/Makefile.inc b/Build/source/extra/xz/src/liblzma/simple/Makefile.inc deleted file mode 100644 index 8a5e2d7fa96..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/Makefile.inc +++ /dev/null @@ -1,47 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -liblzma_la_SOURCES += \ - simple/simple_coder.c \ - simple/simple_coder.h \ - simple/simple_private.h - -if COND_ENCODER_SIMPLE -liblzma_la_SOURCES += \ - simple/simple_encoder.c \ - simple/simple_encoder.h -endif - -if COND_DECODER_SIMPLE -liblzma_la_SOURCES += \ - simple/simple_decoder.c \ - simple/simple_decoder.h -endif - -if COND_FILTER_X86 -liblzma_la_SOURCES += simple/x86.c -endif - -if COND_FILTER_POWERPC -liblzma_la_SOURCES += simple/powerpc.c -endif - -if COND_FILTER_IA64 -liblzma_la_SOURCES += simple/ia64.c -endif - -if COND_FILTER_ARM -liblzma_la_SOURCES += simple/arm.c -endif - -if COND_FILTER_ARMTHUMB -liblzma_la_SOURCES += simple/armthumb.c -endif - -if COND_FILTER_SPARC -liblzma_la_SOURCES += simple/sparc.c -endif diff --git a/Build/source/extra/xz/src/liblzma/simple/arm.c b/Build/source/extra/xz/src/liblzma/simple/arm.c deleted file mode 100644 index a84702ac62f..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/arm.c +++ /dev/null @@ -1,69 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file arm.c -/// \brief Filter for ARM binaries -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -static size_t -arm_code(lzma_simple *simple lzma_attribute((__unused__)), - uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - size_t i; - for (i = 0; i + 4 <= size; i += 4) { - if (buffer[i + 3] == 0xEB) { - uint32_t src = (buffer[i + 2] << 16) - | (buffer[i + 1] << 8) - | (buffer[i + 0]); - src <<= 2; - - uint32_t dest; - if (is_encoder) - dest = now_pos + (uint32_t)(i) + 8 + src; - else - dest = src - (now_pos + (uint32_t)(i) + 8); - - dest >>= 2; - buffer[i + 2] = (dest >> 16); - buffer[i + 1] = (dest >> 8); - buffer[i + 0] = dest; - } - } - - return i; -} - - -static lzma_ret -arm_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - return lzma_simple_coder_init(next, allocator, filters, - &arm_code, 0, 4, 4, is_encoder); -} - - -extern lzma_ret -lzma_simple_arm_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return arm_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_arm_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return arm_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/armthumb.c b/Build/source/extra/xz/src/liblzma/simple/armthumb.c deleted file mode 100644 index 4b49175fec4..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/armthumb.c +++ /dev/null @@ -1,74 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file armthumb.c -/// \brief Filter for ARM-Thumb binaries -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -static size_t -armthumb_code(lzma_simple *simple lzma_attribute((__unused__)), - uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - size_t i; - for (i = 0; i + 4 <= size; i += 2) { - if ((buffer[i + 1] & 0xF8) == 0xF0 - && (buffer[i + 3] & 0xF8) == 0xF8) { - uint32_t src = ((buffer[i + 1] & 0x7) << 19) - | (buffer[i + 0] << 11) - | ((buffer[i + 3] & 0x7) << 8) - | (buffer[i + 2]); - - src <<= 1; - - uint32_t dest; - if (is_encoder) - dest = now_pos + (uint32_t)(i) + 4 + src; - else - dest = src - (now_pos + (uint32_t)(i) + 4); - - dest >>= 1; - buffer[i + 1] = 0xF0 | ((dest >> 19) & 0x7); - buffer[i + 0] = (dest >> 11); - buffer[i + 3] = 0xF8 | ((dest >> 8) & 0x7); - buffer[i + 2] = (dest); - i += 2; - } - } - - return i; -} - - -static lzma_ret -armthumb_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - return lzma_simple_coder_init(next, allocator, filters, - &armthumb_code, 0, 4, 2, is_encoder); -} - - -extern lzma_ret -lzma_simple_armthumb_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return armthumb_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_armthumb_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return armthumb_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/ia64.c b/Build/source/extra/xz/src/liblzma/simple/ia64.c deleted file mode 100644 index ce3692b98f1..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/ia64.c +++ /dev/null @@ -1,110 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file ia64.c -/// \brief Filter for IA64 (Itanium) binaries -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -static size_t -ia64_code(lzma_simple *simple lzma_attribute((__unused__)), - uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - static const uint32_t BRANCH_TABLE[32] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 4, 4, 6, 6, 0, 0, 7, 7, - 4, 4, 0, 0, 4, 4, 0, 0 - }; - - size_t i; - for (i = 0; i + 16 <= size; i += 16) { - const uint32_t instr_template = buffer[i] & 0x1F; - const uint32_t mask = BRANCH_TABLE[instr_template]; - uint32_t bit_pos = 5; - - for (size_t slot = 0; slot < 3; ++slot, bit_pos += 41) { - if (((mask >> slot) & 1) == 0) - continue; - - const size_t byte_pos = (bit_pos >> 3); - const uint32_t bit_res = bit_pos & 0x7; - uint64_t instruction = 0; - - for (size_t j = 0; j < 6; ++j) - instruction += (uint64_t)( - buffer[i + j + byte_pos]) - << (8 * j); - - uint64_t inst_norm = instruction >> bit_res; - - if (((inst_norm >> 37) & 0xF) == 0x5 - && ((inst_norm >> 9) & 0x7) == 0 - /* && (inst_norm & 0x3F)== 0 */ - ) { - uint32_t src = (uint32_t)( - (inst_norm >> 13) & 0xFFFFF); - src |= ((inst_norm >> 36) & 1) << 20; - - src <<= 4; - - uint32_t dest; - if (is_encoder) - dest = now_pos + (uint32_t)(i) + src; - else - dest = src - (now_pos + (uint32_t)(i)); - - dest >>= 4; - - inst_norm &= ~((uint64_t)(0x8FFFFF) << 13); - inst_norm |= (uint64_t)(dest & 0xFFFFF) << 13; - inst_norm |= (uint64_t)(dest & 0x100000) - << (36 - 20); - - instruction &= (1 << bit_res) - 1; - instruction |= (inst_norm << bit_res); - - for (size_t j = 0; j < 6; j++) - buffer[i + j + byte_pos] = (uint8_t)( - instruction - >> (8 * j)); - } - } - } - - return i; -} - - -static lzma_ret -ia64_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - return lzma_simple_coder_init(next, allocator, filters, - &ia64_code, 0, 16, 16, is_encoder); -} - - -extern lzma_ret -lzma_simple_ia64_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return ia64_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_ia64_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return ia64_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/powerpc.c b/Build/source/extra/xz/src/liblzma/simple/powerpc.c deleted file mode 100644 index 6f8351176c5..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/powerpc.c +++ /dev/null @@ -1,73 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file powerpc.c -/// \brief Filter for PowerPC (big endian) binaries -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -static size_t -powerpc_code(lzma_simple *simple lzma_attribute((__unused__)), - uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - size_t i; - for (i = 0; i + 4 <= size; i += 4) { - // PowerPC branch 6(48) 24(Offset) 1(Abs) 1(Link) - if ((buffer[i] >> 2) == 0x12 - && ((buffer[i + 3] & 3) == 1)) { - - const uint32_t src = ((buffer[i + 0] & 3) << 24) - | (buffer[i + 1] << 16) - | (buffer[i + 2] << 8) - | (buffer[i + 3] & (~3)); - - uint32_t dest; - if (is_encoder) - dest = now_pos + (uint32_t)(i) + src; - else - dest = src - (now_pos + (uint32_t)(i)); - - buffer[i + 0] = 0x48 | ((dest >> 24) & 0x03); - buffer[i + 1] = (dest >> 16); - buffer[i + 2] = (dest >> 8); - buffer[i + 3] &= 0x03; - buffer[i + 3] |= dest; - } - } - - return i; -} - - -static lzma_ret -powerpc_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - return lzma_simple_coder_init(next, allocator, filters, - &powerpc_code, 0, 4, 4, is_encoder); -} - - -extern lzma_ret -lzma_simple_powerpc_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return powerpc_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_powerpc_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return powerpc_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c b/Build/source/extra/xz/src/liblzma/simple/simple_coder.c deleted file mode 100644 index a02b039aa0b..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c +++ /dev/null @@ -1,277 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_coder.c -/// \brief Wrapper for simple filters -/// -/// Simple filters don't change the size of the data i.e. number of bytes -/// in equals the number of bytes out. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -/// Copied or encodes/decodes more data to out[]. -static lzma_ret -copy_or_code(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - assert(!coder->end_was_reached); - - if (coder->next.code == NULL) { - lzma_bufcpy(in, in_pos, in_size, out, out_pos, out_size); - - // Check if end of stream was reached. - if (coder->is_encoder && action == LZMA_FINISH - && *in_pos == in_size) - coder->end_was_reached = true; - - } else { - // Call the next coder in the chain to provide us some data. - const lzma_ret ret = coder->next.code( - coder->next.coder, allocator, - in, in_pos, in_size, - out, out_pos, out_size, action); - - if (ret == LZMA_STREAM_END) { - assert(!coder->is_encoder - || action == LZMA_FINISH); - coder->end_was_reached = true; - - } else if (ret != LZMA_OK) { - return ret; - } - } - - return LZMA_OK; -} - - -static size_t -call_filter(lzma_coder *coder, uint8_t *buffer, size_t size) -{ - const size_t filtered = coder->filter(coder->simple, - coder->now_pos, coder->is_encoder, - buffer, size); - coder->now_pos += filtered; - return filtered; -} - - -static lzma_ret -simple_code(lzma_coder *coder, lzma_allocator *allocator, - const uint8_t *restrict in, size_t *restrict in_pos, - size_t in_size, uint8_t *restrict out, - size_t *restrict out_pos, size_t out_size, lzma_action action) -{ - // TODO: Add partial support for LZMA_SYNC_FLUSH. We can support it - // in cases when the filter is able to filter everything. With most - // simple filters it can be done at offset that is a multiple of 2, - // 4, or 16. With x86 filter, it needs good luck, and thus cannot - // be made to work predictably. - if (action == LZMA_SYNC_FLUSH) - return LZMA_OPTIONS_ERROR; - - // Flush already filtered data from coder->buffer[] to out[]. - if (coder->pos < coder->filtered) { - lzma_bufcpy(coder->buffer, &coder->pos, coder->filtered, - out, out_pos, out_size); - - // If we couldn't flush all the filtered data, return to - // application immediately. - if (coder->pos < coder->filtered) - return LZMA_OK; - - if (coder->end_was_reached) { - assert(coder->filtered == coder->size); - return LZMA_STREAM_END; - } - } - - // If we get here, there is no filtered data left in the buffer. - coder->filtered = 0; - - assert(!coder->end_was_reached); - - // If there is more output space left than there is unfiltered data - // in coder->buffer[], flush coder->buffer[] to out[], and copy/code - // more data to out[] hopefully filling it completely. Then filter - // the data in out[]. This step is where most of the data gets - // filtered if the buffer sizes used by the application are reasonable. - const size_t out_avail = out_size - *out_pos; - const size_t buf_avail = coder->size - coder->pos; - if (out_avail > buf_avail || buf_avail == 0) { - // Store the old position so that we know from which byte - // to start filtering. - const size_t out_start = *out_pos; - - // Flush data from coder->buffer[] to out[], but don't reset - // coder->pos and coder->size yet. This way the coder can be - // restarted if the next filter in the chain returns e.g. - // LZMA_MEM_ERROR. - memcpy(out + *out_pos, coder->buffer + coder->pos, buf_avail); - *out_pos += buf_avail; - - // Copy/Encode/Decode more data to out[]. - { - const lzma_ret ret = copy_or_code(coder, allocator, - in, in_pos, in_size, - out, out_pos, out_size, action); - assert(ret != LZMA_STREAM_END); - if (ret != LZMA_OK) - return ret; - } - - // Filter out[]. - const size_t size = *out_pos - out_start; - const size_t filtered = call_filter( - coder, out + out_start, size); - - const size_t unfiltered = size - filtered; - assert(unfiltered <= coder->allocated / 2); - - // Now we can update coder->pos and coder->size, because - // the next coder in the chain (if any) was successful. - coder->pos = 0; - coder->size = unfiltered; - - if (coder->end_was_reached) { - // The last byte has been copied to out[] already. - // They are left as is. - coder->size = 0; - - } else if (unfiltered > 0) { - // There is unfiltered data left in out[]. Copy it to - // coder->buffer[] and rewind *out_pos appropriately. - *out_pos -= unfiltered; - memcpy(coder->buffer, out + *out_pos, unfiltered); - } - } else if (coder->pos > 0) { - memmove(coder->buffer, coder->buffer + coder->pos, buf_avail); - coder->size -= coder->pos; - coder->pos = 0; - } - - assert(coder->pos == 0); - - // If coder->buffer[] isn't empty, try to fill it by copying/decoding - // more data. Then filter coder->buffer[] and copy the successfully - // filtered data to out[]. It is probable, that some filtered and - // unfiltered data will be left to coder->buffer[]. - if (coder->size > 0) { - { - const lzma_ret ret = copy_or_code(coder, allocator, - in, in_pos, in_size, - coder->buffer, &coder->size, - coder->allocated, action); - assert(ret != LZMA_STREAM_END); - if (ret != LZMA_OK) - return ret; - } - - coder->filtered = call_filter( - coder, coder->buffer, coder->size); - - // Everything is considered to be filtered if coder->buffer[] - // contains the last bytes of the data. - if (coder->end_was_reached) - coder->filtered = coder->size; - - // Flush as much as possible. - lzma_bufcpy(coder->buffer, &coder->pos, coder->filtered, - out, out_pos, out_size); - } - - // Check if we got everything done. - if (coder->end_was_reached && coder->pos == coder->size) - return LZMA_STREAM_END; - - return LZMA_OK; -} - - -static void -simple_coder_end(lzma_coder *coder, lzma_allocator *allocator) -{ - lzma_next_end(&coder->next, allocator); - lzma_free(coder->simple, allocator); - lzma_free(coder, allocator); - return; -} - - -static lzma_ret -simple_coder_update(lzma_coder *coder, lzma_allocator *allocator, - const lzma_filter *filters_null lzma_attribute((__unused__)), - const lzma_filter *reversed_filters) -{ - // No update support, just call the next filter in the chain. - return lzma_next_filter_update( - &coder->next, allocator, reversed_filters + 1); -} - - -extern lzma_ret -lzma_simple_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, - size_t (*filter)(lzma_simple *simple, uint32_t now_pos, - bool is_encoder, uint8_t *buffer, size_t size), - size_t simple_size, size_t unfiltered_max, - uint32_t alignment, bool is_encoder) -{ - // Allocate memory for the lzma_coder structure if needed. - if (next->coder == NULL) { - // Here we allocate space also for the temporary buffer. We - // need twice the size of unfiltered_max, because then it - // is always possible to filter at least unfiltered_max bytes - // more data in coder->buffer[] if it can be filled completely. - next->coder = lzma_alloc(sizeof(lzma_coder) - + 2 * unfiltered_max, allocator); - if (next->coder == NULL) - return LZMA_MEM_ERROR; - - next->code = &simple_code; - next->end = &simple_coder_end; - next->update = &simple_coder_update; - - next->coder->next = LZMA_NEXT_CODER_INIT; - next->coder->filter = filter; - next->coder->allocated = 2 * unfiltered_max; - - // Allocate memory for filter-specific data structure. - if (simple_size > 0) { - next->coder->simple = lzma_alloc( - simple_size, allocator); - if (next->coder->simple == NULL) - return LZMA_MEM_ERROR; - } else { - next->coder->simple = NULL; - } - } - - if (filters[0].options != NULL) { - const lzma_options_bcj *simple = filters[0].options; - next->coder->now_pos = simple->start_offset; - if (next->coder->now_pos & (alignment - 1)) - return LZMA_OPTIONS_ERROR; - } else { - next->coder->now_pos = 0; - } - - // Reset variables. - next->coder->is_encoder = is_encoder; - next->coder->end_was_reached = false; - next->coder->pos = 0; - next->coder->filtered = 0; - next->coder->size = 0; - - return lzma_next_filter_init( - &next->coder->next, allocator, filters + 1); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_coder.h b/Build/source/extra/xz/src/liblzma/simple/simple_coder.h deleted file mode 100644 index 0952fad33b3..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_coder.h +++ /dev/null @@ -1,60 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_coder.h -/// \brief Wrapper for simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SIMPLE_CODER_H -#define LZMA_SIMPLE_CODER_H - -#include "common.h" - - -extern lzma_ret lzma_simple_x86_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_x86_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern lzma_ret lzma_simple_powerpc_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_powerpc_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern lzma_ret lzma_simple_ia64_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_ia64_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern lzma_ret lzma_simple_arm_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_arm_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern lzma_ret lzma_simple_armthumb_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_armthumb_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - - -extern lzma_ret lzma_simple_sparc_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -extern lzma_ret lzma_simple_sparc_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_decoder.c b/Build/source/extra/xz/src/liblzma/simple/simple_decoder.c deleted file mode 100644 index 0beccd32a7d..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_decoder.c +++ /dev/null @@ -1,40 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_decoder.c -/// \brief Properties decoder for simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_decoder.h" - - -extern lzma_ret -lzma_simple_props_decode(void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size) -{ - if (props_size == 0) - return LZMA_OK; - - if (props_size != 4) - return LZMA_OPTIONS_ERROR; - - lzma_options_bcj *opt = lzma_alloc( - sizeof(lzma_options_bcj), allocator); - if (opt == NULL) - return LZMA_MEM_ERROR; - - opt->start_offset = unaligned_read32le(props); - - // Don't leave an options structure allocated if start_offset is zero. - if (opt->start_offset == 0) - lzma_free(opt, allocator); - else - *options = opt; - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_decoder.h b/Build/source/extra/xz/src/liblzma/simple/simple_decoder.h deleted file mode 100644 index b8bf590f768..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_decoder.h +++ /dev/null @@ -1,22 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_decoder.h -/// \brief Properties decoder for simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SIMPLE_DECODER_H -#define LZMA_SIMPLE_DECODER_H - -#include "simple_coder.h" - -extern lzma_ret lzma_simple_props_decode( - void **options, lzma_allocator *allocator, - const uint8_t *props, size_t props_size); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_encoder.c b/Build/source/extra/xz/src/liblzma/simple/simple_encoder.c deleted file mode 100644 index 8aa463bed22..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_encoder.c +++ /dev/null @@ -1,38 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_encoder.c -/// \brief Properties encoder for simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_encoder.h" - - -extern lzma_ret -lzma_simple_props_size(uint32_t *size, const void *options) -{ - const lzma_options_bcj *const opt = options; - *size = (opt == NULL || opt->start_offset == 0) ? 0 : 4; - return LZMA_OK; -} - - -extern lzma_ret -lzma_simple_props_encode(const void *options, uint8_t *out) -{ - const lzma_options_bcj *const opt = options; - - // The default start offset is zero, so we don't need to store any - // options unless the start offset is non-zero. - if (opt == NULL || opt->start_offset == 0) - return LZMA_OK; - - unaligned_write32le(out, opt->start_offset); - - return LZMA_OK; -} diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_encoder.h b/Build/source/extra/xz/src/liblzma/simple/simple_encoder.h deleted file mode 100644 index 1cee4823a4e..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_encoder.h +++ /dev/null @@ -1,23 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_encoder.c -/// \brief Properties encoder for simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SIMPLE_ENCODER_H -#define LZMA_SIMPLE_ENCODER_H - -#include "simple_coder.h" - - -extern lzma_ret lzma_simple_props_size(uint32_t *size, const void *options); - -extern lzma_ret lzma_simple_props_encode(const void *options, uint8_t *out); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_private.h b/Build/source/extra/xz/src/liblzma/simple/simple_private.h deleted file mode 100644 index fcf9f7c1980..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/simple_private.h +++ /dev/null @@ -1,75 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file simple_private.h -/// \brief Private definitions for so called simple filters -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_SIMPLE_PRIVATE_H -#define LZMA_SIMPLE_PRIVATE_H - -#include "simple_coder.h" - - -typedef struct lzma_simple_s lzma_simple; - -struct lzma_coder_s { - /// Next filter in the chain - lzma_next_coder next; - - /// True if the next coder in the chain has returned LZMA_STREAM_END. - bool end_was_reached; - - /// True if filter() should encode the data; false to decode. - /// Currently all simple filters use the same function for encoding - /// and decoding, because the difference between encoders and decoders - /// is very small. - bool is_encoder; - - /// Pointer to filter-specific function, which does - /// the actual filtering. - size_t (*filter)(lzma_simple *simple, uint32_t now_pos, - bool is_encoder, uint8_t *buffer, size_t size); - - /// Pointer to filter-specific data, or NULL if filter doesn't need - /// any extra data. - lzma_simple *simple; - - /// The lowest 32 bits of the current position in the data. Most - /// filters need this to do conversions between absolute and relative - /// addresses. - uint32_t now_pos; - - /// Size of the memory allocated for the buffer. - size_t allocated; - - /// Flushing position in the temporary buffer. buffer[pos] is the - /// next byte to be copied to out[]. - size_t pos; - - /// buffer[filtered] is the first unfiltered byte. When pos is smaller - /// than filtered, there is unflushed filtered data in the buffer. - size_t filtered; - - /// Total number of bytes (both filtered and unfiltered) currently - /// in the temporary buffer. - size_t size; - - /// Temporary buffer - uint8_t buffer[]; -}; - - -extern lzma_ret lzma_simple_coder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters, - size_t (*filter)(lzma_simple *simple, uint32_t now_pos, - bool is_encoder, uint8_t *buffer, size_t size), - size_t simple_size, size_t unfiltered_max, - uint32_t alignment, bool is_encoder); - -#endif diff --git a/Build/source/extra/xz/src/liblzma/simple/sparc.c b/Build/source/extra/xz/src/liblzma/simple/sparc.c deleted file mode 100644 index 8270d6ab19f..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/sparc.c +++ /dev/null @@ -1,81 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file sparc.c -/// \brief Filter for SPARC binaries -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -static size_t -sparc_code(lzma_simple *simple lzma_attribute((__unused__)), - uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - size_t i; - for (i = 0; i + 4 <= size; i += 4) { - - if ((buffer[i] == 0x40 && (buffer[i + 1] & 0xC0) == 0x00) - || (buffer[i] == 0x7F - && (buffer[i + 1] & 0xC0) == 0xC0)) { - - uint32_t src = ((uint32_t)buffer[i + 0] << 24) - | ((uint32_t)buffer[i + 1] << 16) - | ((uint32_t)buffer[i + 2] << 8) - | ((uint32_t)buffer[i + 3]); - - src <<= 2; - - uint32_t dest; - if (is_encoder) - dest = now_pos + (uint32_t)(i) + src; - else - dest = src - (now_pos + (uint32_t)(i)); - - dest >>= 2; - - dest = (((0 - ((dest >> 22) & 1)) << 22) & 0x3FFFFFFF) - | (dest & 0x3FFFFF) - | 0x40000000; - - buffer[i + 0] = (uint8_t)(dest >> 24); - buffer[i + 1] = (uint8_t)(dest >> 16); - buffer[i + 2] = (uint8_t)(dest >> 8); - buffer[i + 3] = (uint8_t)(dest); - } - } - - return i; -} - - -static lzma_ret -sparc_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - return lzma_simple_coder_init(next, allocator, filters, - &sparc_code, 0, 4, 4, is_encoder); -} - - -extern lzma_ret -lzma_simple_sparc_encoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return sparc_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_sparc_decoder_init(lzma_next_coder *next, - lzma_allocator *allocator, const lzma_filter_info *filters) -{ - return sparc_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/liblzma/simple/x86.c b/Build/source/extra/xz/src/liblzma/simple/x86.c deleted file mode 100644 index 5d1509bb227..00000000000 --- a/Build/source/extra/xz/src/liblzma/simple/x86.c +++ /dev/null @@ -1,154 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file x86.c -/// \brief Filter for x86 binaries (BCJ filter) -/// -// Authors: Igor Pavlov -// Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "simple_private.h" - - -#define Test86MSByte(b) ((b) == 0 || (b) == 0xFF) - - -struct lzma_simple_s { - uint32_t prev_mask; - uint32_t prev_pos; -}; - - -static size_t -x86_code(lzma_simple *simple, uint32_t now_pos, bool is_encoder, - uint8_t *buffer, size_t size) -{ - static const bool MASK_TO_ALLOWED_STATUS[8] - = { true, true, true, false, true, false, false, false }; - - static const uint32_t MASK_TO_BIT_NUMBER[8] - = { 0, 1, 2, 2, 3, 3, 3, 3 }; - - uint32_t prev_mask = simple->prev_mask; - uint32_t prev_pos = simple->prev_pos; - - if (size < 5) - return 0; - - if (now_pos - prev_pos > 5) - prev_pos = now_pos - 5; - - const size_t limit = size - 5; - size_t buffer_pos = 0; - - while (buffer_pos <= limit) { - uint8_t b = buffer[buffer_pos]; - if (b != 0xE8 && b != 0xE9) { - ++buffer_pos; - continue; - } - - const uint32_t offset = now_pos + (uint32_t)(buffer_pos) - - prev_pos; - prev_pos = now_pos + (uint32_t)(buffer_pos); - - if (offset > 5) { - prev_mask = 0; - } else { - for (uint32_t i = 0; i < offset; ++i) { - prev_mask &= 0x77; - prev_mask <<= 1; - } - } - - b = buffer[buffer_pos + 4]; - - if (Test86MSByte(b) - && MASK_TO_ALLOWED_STATUS[(prev_mask >> 1) & 0x7] - && (prev_mask >> 1) < 0x10) { - - uint32_t src = ((uint32_t)(b) << 24) - | ((uint32_t)(buffer[buffer_pos + 3]) << 16) - | ((uint32_t)(buffer[buffer_pos + 2]) << 8) - | (buffer[buffer_pos + 1]); - - uint32_t dest; - while (true) { - if (is_encoder) - dest = src + (now_pos + (uint32_t)( - buffer_pos) + 5); - else - dest = src - (now_pos + (uint32_t)( - buffer_pos) + 5); - - if (prev_mask == 0) - break; - - const uint32_t i = MASK_TO_BIT_NUMBER[ - prev_mask >> 1]; - - b = (uint8_t)(dest >> (24 - i * 8)); - - if (!Test86MSByte(b)) - break; - - src = dest ^ ((1 << (32 - i * 8)) - 1); - } - - buffer[buffer_pos + 4] - = (uint8_t)(~(((dest >> 24) & 1) - 1)); - buffer[buffer_pos + 3] = (uint8_t)(dest >> 16); - buffer[buffer_pos + 2] = (uint8_t)(dest >> 8); - buffer[buffer_pos + 1] = (uint8_t)(dest); - buffer_pos += 5; - prev_mask = 0; - - } else { - ++buffer_pos; - prev_mask |= 1; - if (Test86MSByte(b)) - prev_mask |= 0x10; - } - } - - simple->prev_mask = prev_mask; - simple->prev_pos = prev_pos; - - return buffer_pos; -} - - -static lzma_ret -x86_coder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters, bool is_encoder) -{ - const lzma_ret ret = lzma_simple_coder_init(next, allocator, filters, - &x86_code, sizeof(lzma_simple), 5, 1, is_encoder); - - if (ret == LZMA_OK) { - next->coder->simple->prev_mask = 0; - next->coder->simple->prev_pos = (uint32_t)(-5); - } - - return ret; -} - - -extern lzma_ret -lzma_simple_x86_encoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return x86_coder_init(next, allocator, filters, true); -} - - -extern lzma_ret -lzma_simple_x86_decoder_init(lzma_next_coder *next, lzma_allocator *allocator, - const lzma_filter_info *filters) -{ - return x86_coder_init(next, allocator, filters, false); -} diff --git a/Build/source/extra/xz/src/lzmainfo/Makefile.am b/Build/source/extra/xz/src/lzmainfo/Makefile.am deleted file mode 100644 index b90b3b3d642..00000000000 --- a/Build/source/extra/xz/src/lzmainfo/Makefile.am +++ /dev/null @@ -1,39 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -bin_PROGRAMS = lzmainfo - -lzmainfo_SOURCES = \ - lzmainfo.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c - -if COND_W32 -lzmainfo_SOURCES += lzmainfo_w32res.rc -endif - -lzmainfo_CPPFLAGS = \ - -DLOCALEDIR=\"$(localedir)\" \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -lzmainfo_LDADD = $(top_builddir)/src/liblzma/liblzma.la - -if COND_GNULIB -lzmainfo_LDADD += $(top_builddir)/lib/libgnu.a -endif - -lzmainfo_LDADD += $(LTLIBINTL) - - -dist_man_MANS = lzmainfo.1 - -# Windows resource compiler support -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ diff --git a/Build/source/extra/xz/src/lzmainfo/Makefile.in b/Build/source/extra/xz/src/lzmainfo/Makefile.in deleted file mode 100644 index 43bbdaad8f4..00000000000 --- a/Build/source/extra/xz/src/lzmainfo/Makefile.in +++ /dev/null @@ -1,804 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = lzmainfo$(EXEEXT) -@COND_W32_TRUE@am__append_1 = lzmainfo_w32res.rc -@COND_GNULIB_TRUE@am__append_2 = $(top_builddir)/lib/libgnu.a -subdir = src/lzmainfo -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp $(dist_man_MANS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -PROGRAMS = $(bin_PROGRAMS) -am__lzmainfo_SOURCES_DIST = lzmainfo.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c lzmainfo_w32res.rc -@COND_W32_TRUE@am__objects_1 = lzmainfo_w32res.$(OBJEXT) -am_lzmainfo_OBJECTS = lzmainfo-lzmainfo.$(OBJEXT) \ - lzmainfo-tuklib_progname.$(OBJEXT) \ - lzmainfo-tuklib_exit.$(OBJEXT) $(am__objects_1) -lzmainfo_OBJECTS = $(am_lzmainfo_OBJECTS) -am__DEPENDENCIES_1 = -lzmainfo_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_2) $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(lzmainfo_SOURCES) -DIST_SOURCES = $(am__lzmainfo_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -lzmainfo_SOURCES = lzmainfo.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c $(am__append_1) -lzmainfo_CPPFLAGS = \ - -DLOCALEDIR=\"$(localedir)\" \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -lzmainfo_LDADD = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_2) $(LTLIBINTL) -dist_man_MANS = lzmainfo.1 -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj .rc -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/lzmainfo/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/lzmainfo/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -lzmainfo$(EXEEXT): $(lzmainfo_OBJECTS) $(lzmainfo_DEPENDENCIES) $(EXTRA_lzmainfo_DEPENDENCIES) - @rm -f lzmainfo$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(lzmainfo_OBJECTS) $(lzmainfo_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmainfo-lzmainfo.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmainfo-tuklib_exit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmainfo-tuklib_progname.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -lzmainfo-lzmainfo.o: lzmainfo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-lzmainfo.o -MD -MP -MF $(DEPDIR)/lzmainfo-lzmainfo.Tpo -c -o lzmainfo-lzmainfo.o `test -f 'lzmainfo.c' || echo '$(srcdir)/'`lzmainfo.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-lzmainfo.Tpo $(DEPDIR)/lzmainfo-lzmainfo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzmainfo.c' object='lzmainfo-lzmainfo.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-lzmainfo.o `test -f 'lzmainfo.c' || echo '$(srcdir)/'`lzmainfo.c - -lzmainfo-lzmainfo.obj: lzmainfo.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-lzmainfo.obj -MD -MP -MF $(DEPDIR)/lzmainfo-lzmainfo.Tpo -c -o lzmainfo-lzmainfo.obj `if test -f 'lzmainfo.c'; then $(CYGPATH_W) 'lzmainfo.c'; else $(CYGPATH_W) '$(srcdir)/lzmainfo.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-lzmainfo.Tpo $(DEPDIR)/lzmainfo-lzmainfo.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='lzmainfo.c' object='lzmainfo-lzmainfo.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-lzmainfo.obj `if test -f 'lzmainfo.c'; then $(CYGPATH_W) 'lzmainfo.c'; else $(CYGPATH_W) '$(srcdir)/lzmainfo.c'; fi` - -lzmainfo-tuklib_progname.o: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-tuklib_progname.o -MD -MP -MF $(DEPDIR)/lzmainfo-tuklib_progname.Tpo -c -o lzmainfo-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-tuklib_progname.Tpo $(DEPDIR)/lzmainfo-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='lzmainfo-tuklib_progname.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c - -lzmainfo-tuklib_progname.obj: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-tuklib_progname.obj -MD -MP -MF $(DEPDIR)/lzmainfo-tuklib_progname.Tpo -c -o lzmainfo-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-tuklib_progname.Tpo $(DEPDIR)/lzmainfo-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='lzmainfo-tuklib_progname.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` - -lzmainfo-tuklib_exit.o: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-tuklib_exit.o -MD -MP -MF $(DEPDIR)/lzmainfo-tuklib_exit.Tpo -c -o lzmainfo-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-tuklib_exit.Tpo $(DEPDIR)/lzmainfo-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='lzmainfo-tuklib_exit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c - -lzmainfo-tuklib_exit.obj: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmainfo-tuklib_exit.obj -MD -MP -MF $(DEPDIR)/lzmainfo-tuklib_exit.Tpo -c -o lzmainfo-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmainfo-tuklib_exit.Tpo $(DEPDIR)/lzmainfo-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='lzmainfo-tuklib_exit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmainfo-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(MANS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man - -uninstall-man: uninstall-man1 - -.MAKE: install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-man1 \ - install-pdf install-pdf-am install-ps install-ps-am \ - install-strip installcheck installcheck-am installdirs \ - maintainer-clean maintainer-clean-generic mostlyclean \ - mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ - pdf pdf-am ps ps-am tags tags-am uninstall uninstall-am \ - uninstall-binPROGRAMS uninstall-man uninstall-man1 - - -# Windows resource compiler support -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(lzmainfo_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/lzmainfo/lzmainfo.1 b/Build/source/extra/xz/src/lzmainfo/lzmainfo.1 deleted file mode 100644 index ce38eee5032..00000000000 --- a/Build/source/extra/xz/src/lzmainfo/lzmainfo.1 +++ /dev/null @@ -1,60 +0,0 @@ -.\" -.\" Author: Lasse Collin -.\" -.\" This file has been put into the public domain. -.\" You can do whatever you want with this file. -.\" -.TH LZMAINFO 1 "2013-06-30" "Tukaani" "XZ Utils" -.SH NAME -lzmainfo \- show information stored in the .lzma file header -.SH SYNOPSIS -.B lzmainfo -.RB [ \-\-help ] -.RB [ \-\-version ] -.RI [ file... ] -.SH DESCRIPTION -.B lzmainfo -shows information stored in the -.B .lzma -file header. -It reads the first 13 bytes from the specified -.IR file , -decodes the header, and prints it to standard output in human -readable format. -If no -.I files -are given or -.I file -is -.BR \- , -standard input is read. -.PP -Usually the most interesting information is -the uncompressed size and the dictionary size. -Uncompressed size can be shown only if -the file is in the non-streamed -.B .lzma -format variant. -The amount of memory required to decompress the file is -a few dozen kilobytes plus the dictionary size. -.PP -.B lzmainfo -is included in XZ Utils primarily for -backward compatibility with LZMA Utils. -.SH "EXIT STATUS" -.TP -.B 0 -All is good. -.TP -.B 1 -An error occurred. -.SH BUGS -.B lzmainfo -uses -.B MB -while the correct suffix would be -.B MiB -(2^20 bytes). -This is to keep the output compatible with LZMA Utils. -.SH "SEE ALSO" -.BR xz (1) diff --git a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c b/Build/source/extra/xz/src/lzmainfo/lzmainfo.c deleted file mode 100644 index b0ccdfb430e..00000000000 --- a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c +++ /dev/null @@ -1,219 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file lzmainfo.c -/// \brief lzmainfo tool for compatibility with LZMA Utils -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include -#include - -#include "lzma.h" -#include "getopt.h" -#include "tuklib_gettext.h" -#include "tuklib_progname.h" -#include "tuklib_exit.h" - -#ifdef TUKLIB_DOSLIKE -# include -# include -#endif - - -static void lzma_attribute((__noreturn__)) -help(void) -{ - printf( -_("Usage: %s [--help] [--version] [FILE]...\n" -"Show information stored in the .lzma file header"), progname); - - printf(_( -"\nWith no FILE, or when FILE is -, read standard input.\n")); - printf("\n"); - - printf(_("Report bugs to <%s> (in English or Finnish).\n"), - PACKAGE_BUGREPORT); - printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); - - tuklib_exit(EXIT_SUCCESS, EXIT_FAILURE, true); -} - - -static void lzma_attribute((__noreturn__)) -version(void) -{ - puts("lzmainfo (" PACKAGE_NAME ") " LZMA_VERSION_STRING); - tuklib_exit(EXIT_SUCCESS, EXIT_FAILURE, true); -} - - -/// Parse command line options. -static void -parse_args(int argc, char **argv) -{ - enum { - OPT_HELP, - OPT_VERSION, - }; - - static const struct option long_opts[] = { - { "help", no_argument, NULL, OPT_HELP }, - { "version", no_argument, NULL, OPT_VERSION }, - { NULL, 0, NULL, 0 } - }; - - int c; - while ((c = getopt_long(argc, argv, "", long_opts, NULL)) != -1) { - switch (c) { - case OPT_HELP: - help(); - - case OPT_VERSION: - version(); - - default: - exit(EXIT_FAILURE); - } - } - - return; -} - - -/// Primitive base-2 logarithm for integers -static uint32_t -my_log2(uint32_t n) -{ - uint32_t e; - for (e = 0; n > 1; ++e, n /= 2) ; - return e; -} - - -/// Parse the .lzma header and display information about it. -static bool -lzmainfo(const char *name, FILE *f) -{ - uint8_t buf[13]; - const size_t size = fread(buf, 1, sizeof(buf), f); - if (size != 13) { - fprintf(stderr, "%s: %s: %s\n", progname, name, - ferror(f) ? strerror(errno) - : _("File is too small to be a .lzma file")); - return true; - } - - lzma_filter filter = { .id = LZMA_FILTER_LZMA1 }; - - // Parse the first five bytes. - switch (lzma_properties_decode(&filter, NULL, buf, 5)) { - case LZMA_OK: - break; - - case LZMA_OPTIONS_ERROR: - fprintf(stderr, "%s: %s: %s\n", progname, name, - _("Not a .lzma file")); - return true; - - case LZMA_MEM_ERROR: - fprintf(stderr, "%s: %s\n", progname, strerror(ENOMEM)); - exit(EXIT_FAILURE); - - default: - fprintf(stderr, "%s: %s\n", progname, - _("Internal error (bug)")); - exit(EXIT_FAILURE); - } - - // Uncompressed size - uint64_t uncompressed_size = 0; - for (size_t i = 0; i < 8; ++i) - uncompressed_size |= (uint64_t)(buf[5 + i]) << (i * 8); - - // Display the results. We don't want to translate these and also - // will use MB instead of MiB, because someone could be parsing - // this output and we don't want to break that when people move - // from LZMA Utils to XZ Utils. - if (f != stdin) - printf("%s\n", name); - - printf("Uncompressed size: "); - if (uncompressed_size == UINT64_MAX) - printf("Unknown"); - else - printf("%" PRIu64 " MB (%" PRIu64 " bytes)", - (uncompressed_size + 512 * 1024) - / (1024 * 1024), - uncompressed_size); - - lzma_options_lzma *opt = filter.options; - - printf("\nDictionary size: " - "%" PRIu32 " MB (2^%" PRIu32 " bytes)\n" - "Literal context bits (lc): %" PRIu32 "\n" - "Literal pos bits (lp): %" PRIu32 "\n" - "Number of pos bits (pb): %" PRIu32 "\n", - (opt->dict_size + 512 * 1024) / (1024 * 1024), - my_log2(opt->dict_size), opt->lc, opt->lp, opt->pb); - - free(opt); - - return false; -} - - -extern int -main(int argc, char **argv) -{ - tuklib_progname_init(argv); - tuklib_gettext_init(PACKAGE, LOCALEDIR); - - parse_args(argc, argv); - -#ifdef TUKLIB_DOSLIKE - setmode(fileno(stdin), O_BINARY); -#endif - - int ret = EXIT_SUCCESS; - - // We print empty lines around the output only when reading from - // files specified on the command line. This is due to how - // LZMA Utils did it. - if (optind == argc) { - if (lzmainfo("(stdin)", stdin)) - ret = EXIT_FAILURE; - } else { - printf("\n"); - - do { - if (strcmp(argv[optind], "-") == 0) { - if (lzmainfo("(stdin)", stdin)) - ret = EXIT_FAILURE; - } else { - FILE *f = fopen(argv[optind], "r"); - if (f == NULL) { - ret = EXIT_FAILURE; - fprintf(stderr, "%s: %s: %s\n", - progname, - argv[optind], - strerror(errno)); - continue; - } - - if (lzmainfo(argv[optind], f)) - ret = EXIT_FAILURE; - - printf("\n"); - fclose(f); - } - } while (++optind < argc); - } - - tuklib_exit(ret, EXIT_FAILURE, true); -} diff --git a/Build/source/extra/xz/src/lzmainfo/lzmainfo_w32res.rc b/Build/source/extra/xz/src/lzmainfo/lzmainfo_w32res.rc deleted file mode 100644 index 378fbe6958f..00000000000 --- a/Build/source/extra/xz/src/lzmainfo/lzmainfo_w32res.rc +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#define MY_TYPE VFT_APP -#define MY_NAME "lzmainfo" -#define MY_SUFFIX ".exe" -#define MY_DESC "lzmainfo shows information about .lzma files" -#include "common_w32res.rc" diff --git a/Build/source/extra/xz/src/scripts/Makefile.am b/Build/source/extra/xz/src/scripts/Makefile.am deleted file mode 100644 index 29bdbcd76de..00000000000 --- a/Build/source/extra/xz/src/scripts/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -nodist_bin_SCRIPTS = xzdiff xzgrep xzmore xzless -dist_man_MANS = xzdiff.1 xzgrep.1 xzmore.1 xzless.1 - -links = \ - xzdiff-xzcmp \ - xzgrep-xzegrep \ - xzgrep-xzfgrep - -if COND_LZMALINKS -links += \ - xzdiff-lzdiff \ - xzdiff-lzcmp \ - xzgrep-lzgrep \ - xzgrep-lzegrep \ - xzgrep-lzfgrep \ - xzmore-lzmore \ - xzless-lzless -endif - -install-exec-hook: - cd $(DESTDIR)$(bindir) && \ - for pair in $(links); do \ - target=`echo $$pair | sed 's/-.*$$//' | sed '$(transform)'` && \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link && \ - $(LN_S) $$target $$link; \ - done - -install-data-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - for pair in $(links); do \ - target=`echo $$pair | sed 's/-.*$$//' | sed '$(transform)'` && \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link.1 && \ - $(LN_S) $$target.1 $$link.1; \ - done - -uninstall-hook: - cd $(DESTDIR)$(bindir) && \ - for pair in $(links); do \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link; \ - done - cd $(DESTDIR)$(mandir)/man1 && \ - for pair in $(links); do \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link.1; \ - done diff --git a/Build/source/extra/xz/src/scripts/Makefile.in b/Build/source/extra/xz/src/scripts/Makefile.in deleted file mode 100644 index 0fd5b139c38..00000000000 --- a/Build/source/extra/xz/src/scripts/Makefile.in +++ /dev/null @@ -1,642 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@COND_LZMALINKS_TRUE@am__append_1 = \ -@COND_LZMALINKS_TRUE@ xzdiff-lzdiff \ -@COND_LZMALINKS_TRUE@ xzdiff-lzcmp \ -@COND_LZMALINKS_TRUE@ xzgrep-lzgrep \ -@COND_LZMALINKS_TRUE@ xzgrep-lzegrep \ -@COND_LZMALINKS_TRUE@ xzgrep-lzfgrep \ -@COND_LZMALINKS_TRUE@ xzmore-lzmore \ -@COND_LZMALINKS_TRUE@ xzless-lzless - -subdir = src/scripts -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(srcdir)/xzdiff.in $(srcdir)/xzgrep.in $(srcdir)/xzmore.in \ - $(srcdir)/xzless.in $(dist_man_MANS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = xzdiff xzgrep xzmore xzless -CONFIG_CLEAN_VPATH_FILES = -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -SCRIPTS = $(nodist_bin_SCRIPTS) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -SOURCES = -DIST_SOURCES = -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -nodist_bin_SCRIPTS = xzdiff xzgrep xzmore xzless -dist_man_MANS = xzdiff.1 xzgrep.1 xzmore.1 xzless.1 -links = xzdiff-xzcmp xzgrep-xzegrep xzgrep-xzfgrep $(am__append_1) -all: all-am - -.SUFFIXES: -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/scripts/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/scripts/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -xzdiff: $(top_builddir)/config.status $(srcdir)/xzdiff.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -xzgrep: $(top_builddir)/config.status $(srcdir)/xzgrep.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -xzmore: $(top_builddir)/config.status $(srcdir)/xzmore.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -xzless: $(top_builddir)/config.status $(srcdir)/xzless.in - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ -install-nodist_binSCRIPTS: $(nodist_bin_SCRIPTS) - @$(NORMAL_INSTALL) - @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do \ - if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ - if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n' \ - -e 'h;s|.*|.|' \ - -e 'p;x;s,.*/,,;$(transform)' | sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1; } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) { files[d] = files[d] " " $$1; \ - if (++n[d] == $(am__install_max)) { \ - print "f", d, files[d]; n[d] = 0; files[d] = "" } } \ - else { print "f", d "/" $$4, $$1 } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_SCRIPT) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-nodist_binSCRIPTS: - @$(NORMAL_UNINSTALL) - @list='$(nodist_bin_SCRIPTS)'; test -n "$(bindir)" || exit 0; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 's,.*/,,;$(transform)'`; \ - dir='$(DESTDIR)$(bindir)'; $(am__uninstall_files_from_dir) - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) -tags TAGS: - -ctags CTAGS: - -cscope cscopelist: - - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(SCRIPTS) $(MANS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -f Makefile -distclean-am: clean-am distclean-generic - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-nodist_binSCRIPTS - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-exec-hook -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-generic mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-man uninstall-nodist_binSCRIPTS - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 - -.MAKE: install-am install-data-am install-exec-am install-strip \ - uninstall-am - -.PHONY: all all-am check check-am clean clean-generic clean-libtool \ - cscopelist-am ctags-am distclean distclean-generic \ - distclean-libtool distdir dvi dvi-am html html-am info info-am \ - install install-am install-data install-data-am \ - install-data-hook install-dvi install-dvi-am install-exec \ - install-exec-am install-exec-hook install-html install-html-am \ - install-info install-info-am install-man install-man1 \ - install-nodist_binSCRIPTS install-pdf install-pdf-am \ - install-ps install-ps-am install-strip installcheck \ - installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ - uninstall-am uninstall-hook uninstall-man uninstall-man1 \ - uninstall-nodist_binSCRIPTS - - -install-exec-hook: - cd $(DESTDIR)$(bindir) && \ - for pair in $(links); do \ - target=`echo $$pair | sed 's/-.*$$//' | sed '$(transform)'` && \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link && \ - $(LN_S) $$target $$link; \ - done - -install-data-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - for pair in $(links); do \ - target=`echo $$pair | sed 's/-.*$$//' | sed '$(transform)'` && \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link.1 && \ - $(LN_S) $$target.1 $$link.1; \ - done - -uninstall-hook: - cd $(DESTDIR)$(bindir) && \ - for pair in $(links); do \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link; \ - done - cd $(DESTDIR)$(mandir)/man1 && \ - for pair in $(links); do \ - link=`echo $$pair | sed 's/^.*-//' | sed '$(transform)'` && \ - rm -f $$link.1; \ - done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/scripts/xzdiff.1 b/Build/source/extra/xz/src/scripts/xzdiff.1 deleted file mode 100644 index d97f3cb8106..00000000000 --- a/Build/source/extra/xz/src/scripts/xzdiff.1 +++ /dev/null @@ -1,75 +0,0 @@ -.\" -.\" Original zdiff.1 for gzip: Jean-loup Gailly -.\" -.\" Modifications for XZ Utils: Lasse Collin -.\" Andrew Dudman -.\" -.\" License: GNU GPLv2+ -.\" -.TH XZDIFF 1 "2010-09-27" "Tukaani" "XZ Utils" -.SH NAME -xzcmp, xzdiff, lzcmp, lzdiff \- compare compressed files -.SH SYNOPSIS -.B xzcmp -.RI [ cmp_options "] " file1 " [" file2 ] -.br -.B xzdiff -.RI [ diff_options "] " file1 " [" file2 ] -.br -.B lzcmp -.RI [ cmp_options "] " file1 " [" file2 ] -.br -.B lzdiff -.RI [ diff_options "] " file1 " [" file2 ] -.SH DESCRIPTION -.B xzcmp -and -.B xzdiff -invoke -.BR cmp (1) -or -.BR diff (1) -on files compressed with -.BR xz (1), -.BR lzma (1), -.BR gzip (1), -or -.BR bzip2 (1). -All options specified are passed directly to -.BR cmp (1) -or -.BR diff (1). -If only one file is specified, then the files compared are -.I file1 -(which must have a suffix of a supported compression format) and -.I file1 -from which the compression format suffix has been stripped. -If two files are specified, -then they are uncompressed if necessary and fed to -.BR cmp (1) -or -.BR diff (1). -The exit status from -.BR cmp (1) -or -.BR diff (1) -is preserved. -.PP -The names -.B lzcmp -and -.B lzdiff -are provided for backward compatibility with LZMA Utils. -.SH "SEE ALSO" -.BR cmp (1), -.BR diff (1), -.BR xz (1), -.BR gzip (1), -.BR bzip2 (1), -.BR zdiff (1) -.SH BUGS -Messages from the -.BR cmp (1) -or -.BR diff (1) -programs refer to temporary filenames instead of those specified. diff --git a/Build/source/extra/xz/src/scripts/xzdiff.in b/Build/source/extra/xz/src/scripts/xzdiff.in deleted file mode 100644 index deec3ebf02a..00000000000 --- a/Build/source/extra/xz/src/scripts/xzdiff.in +++ /dev/null @@ -1,174 +0,0 @@ -#!@POSIX_SHELL@ - -# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation -# Copyright (C) 1993 Jean-loup Gailly - -# Modified for XZ Utils by Andrew Dudman and Lasse Collin. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -#SET_PATH - This line is a placeholder to ease patching this script. - -# Instead of unsetting XZ_OPT, just make sure that xz will use file format -# autodetection. This way memory usage limit and thread limit can be -# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the -# environment variables. -xz='@xz@ --format=auto' -unset GZIP BZIP BZIP2 - -case ${0##*/} in - *cmp*) prog=xzcmp; cmp=${CMP:-cmp};; - *) prog=xzdiff; cmp=${DIFF:-diff};; -esac - -version="$prog (@PACKAGE_NAME@) @VERSION@" - -usage="Usage: ${0##*/} [OPTION]... FILE1 [FILE2] -Compare FILE1 to FILE2, using their uncompressed contents if they are -compressed. If FILE2 is omitted, then the files compared are FILE1 and -FILE1 from which the compression format suffix has been stripped. - -Do comparisons like '$cmp' does. OPTIONs are the same as for '$cmp'. - -Report bugs to <@PACKAGE_BUGREPORT@>." - -# sed script to escape all ' for the shell, and then (to handle trailing -# newlines correctly) turn trailing X on last line into '. -escape=' - s/'\''/'\''\\'\'''\''/g - $s/X$/'\''/ -' - -while :; do - case $1 in - --h*) printf '%s\n' "$usage" || exit 2; exit;; - --v*) echo "$version" || exit 2; exit;; - --) shift; break;; - -*\'*) cmp="$cmp '"`printf '%sX\n' "$1" | sed "$escape"`;; - -?*) cmp="$cmp '$1'";; - *) break;; - esac - shift -done -cmp="$cmp --" - -for file; do - test "X$file" = X- || <"$file" || exit 2 -done - -xz1=$xz -xz2=$xz -xz_status=0 -exec 3>&1 - -if test $# -eq 1; then - case $1 in - *[-.]xz | *[-.]lzma | *.t[lx]z) - ;; - *[-.]bz2 | *.tbz | *.tbz2) - xz1=bzip2;; - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) - xz1=gzip;; - *) - echo >&2 "$0: $1: Unknown compressed file name suffix" - exit 2;; - esac - case $1 in - *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma) - FILE=`expr "X$1" : 'X\(.*\)[-.][abglmxzZ2]*$'`;; - *.t[abglx]z) - FILE=`expr "X$1" : 'X\(.*[-.]t\)[abglx]z$'`ar;; - *.tbz2) - FILE=`expr "X$1" : 'X\(.*[-.]t\)bz2$'`ar;; - esac - xz_status=$( - exec 4>&1 - ($xz1 -cd -- "$1" 4>&-; echo $? >&4) 3>&- | eval "$cmp" - '"$FILE"' >&3 - ) -elif test $# -eq 2; then - case $1 in - *[-.]bz2 | *.tbz | *.tbz2) xz1=bzip2;; - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz1=gzip;; - esac - case $2 in - *[-.]bz2 | *.tbz | *.tbz2) xz2=bzip2;; - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) xz2=gzip;; - esac - case $1 in - *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -) - case "$2" in - *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -) - if test "$1$2" = --; then - xz_status=$( - exec 4>&1 - ($xz1 -cdfq - 4>&-; echo $? >&4) 3>&- | - eval "$cmp" - - >&3 - ) - elif # Reject Solaris 8's buggy /bin/bash 2.03. - echo X | (echo X | eval "$cmp" /dev/fd/5 - >/dev/null 2>&1) 5<&0; then - xz_status=$( - exec 4>&1 - ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- | - ( ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- 5<&- &3) 5<&0 - ) - cmp_status=$? - case $xz_status in - *[1-9]*) xz_status=1;; - *) xz_status=0;; - esac - (exit $cmp_status) - else - F=`expr "/$2" : '.*/\(.*\)[-.][ablmtxz2]*$'` || F=$prog - tmp= - trap ' - test -n "$tmp" && rm -f "$tmp" - (exit 2); exit 2 - ' HUP INT PIPE TERM 0 - tmp=`mktemp -t -- "$F.XXXXXX"` || exit 2 - $xz2 -cdfq -- "$2" > "$tmp" || exit 2 - xz_status=$( - exec 4>&1 - ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- | - eval "$cmp" - '"$tmp"' >&3 - ) - cmp_status=$? - rm -f "$tmp" || xz_status=$? - trap - HUP INT PIPE TERM 0 - (exit $cmp_status) - fi;; - *) - xz_status=$( - exec 4>&1 - ($xz1 -cdfq -- "$1" 4>&-; echo $? >&4) 3>&- | - eval "$cmp" - '"$2"' >&3 - );; - esac;; - *) - case "$2" in - *[-.][zZ] | *_z | *[-.][gx]z | *[-.]bz2 | *[-.]lzma | *.t[abglx]z | *.tbz2 | -) - xz_status=$( - exec 4>&1 - ($xz2 -cdfq -- "$2" 4>&-; echo $? >&4) 3>&- | - eval "$cmp" '"$1"' - >&3 - );; - *) - eval "$cmp" '"$1"' '"$2"';; - esac;; - esac -else - echo >&2 "$0: Invalid number of operands; try \`${0##*/} --help' for help" - exit 2 -fi - -cmp_status=$? -test "$xz_status" -eq 0 || exit 2 -exit $cmp_status diff --git a/Build/source/extra/xz/src/scripts/xzgrep.1 b/Build/source/extra/xz/src/scripts/xzgrep.1 deleted file mode 100644 index a96f1b89db8..00000000000 --- a/Build/source/extra/xz/src/scripts/xzgrep.1 +++ /dev/null @@ -1,95 +0,0 @@ -.\" -.\" Original zgrep.1 for gzip: Jean-loup Gailly -.\" Charles Levert -.\" -.\" Modifications for XZ Utils: Lasse Collin -.\" -.\" License: GNU GPLv2+ -.\" -.TH XZGREP 1 "2010-09-27" "Tukaani" "XZ Utils" -.SH NAME -xzgrep \- search compressed files for a regular expression -.SH SYNOPSIS -.B xzgrep -.RI [ grep_options ] -.RB [ \-e ] -.I pattern -.IR file "..." -.br -.B xzegrep -.RB ... -.br -.B xzfgrep -.RB ... -.br -.B lzgrep -.RB ... -.br -.B lzegrep -.RB ... -.br -.B lzfgrep -.RB ... -.SH DESCRIPTION -.B xzgrep -invokes -.BR grep (1) -on -.I files -which may be either uncompressed or compressed with -.BR xz (1), -.BR lzma (1), -.BR gzip (1), -or -.BR bzip2 (1). -All options specified are passed directly to -.BR grep (1). -.PP -If no -.I file -is specified, then standard input is decompressed if necessary -and fed to -.BR grep (1). -When reading from standard input, -.BR gzip (1) -and -.BR bzip2 (1) -compressed files are not supported. -.PP -If -.B xzgrep -is invoked as -.B xzegrep -or -.B xzfgrep -then -.BR egrep (1) -or -.BR fgrep (1) -is used instead of -.BR grep (1). -The same applies to names -.BR lzgrep , -.BR lzegrep , -and -.BR lzfgrep , -which are provided for backward compatibility with LZMA Utils. -.PP -.SH ENVIRONMENT -.TP -.B GREP -If the -.B GREP -environment variable is set, -.B xzgrep -uses it instead of -.BR grep (1), -.BR egrep (1), -or -.BR fgrep (1). -.SH "SEE ALSO" -.BR grep (1), -.BR xz (1), -.BR gzip (1), -.BR bzip2 (1), -.BR zgrep (1) diff --git a/Build/source/extra/xz/src/scripts/xzgrep.in b/Build/source/extra/xz/src/scripts/xzgrep.in deleted file mode 100644 index 2bfce19ffb1..00000000000 --- a/Build/source/extra/xz/src/scripts/xzgrep.in +++ /dev/null @@ -1,201 +0,0 @@ -#!@POSIX_SHELL@ - -# xzgrep -- a wrapper around a grep program that decompresses files as needed -# Adapted from a version sent by Charles Levert - -# Copyright (C) 1998, 2001, 2002, 2006, 2007 Free Software Foundation -# Copyright (C) 1993 Jean-loup Gailly - -# Modified for XZ Utils by Andrew Dudman and Lasse Collin. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -#SET_PATH - This line is a placeholder to ease patching this script. - -# Instead of unsetting XZ_OPT, just make sure that xz will use file format -# autodetection. This way memory usage limit and thread limit can be -# specified via XZ_OPT. With gzip and bzip2 it's OK to just unset the -# environment variables. -xz='@xz@ --format=auto' -unset GZIP BZIP BZIP2 - -case ${0##*/} in - *egrep*) prog=xzegrep; grep=${GREP:-egrep};; - *fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};; - *) prog=xzgrep; grep=${GREP:-grep};; -esac - -version="$prog (@PACKAGE_NAME@) @VERSION@" - -usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]... -Look for instances of PATTERN in the input FILEs, using their -uncompressed contents if they are compressed. - -OPTIONs are the same as for '$grep'. - -Report bugs to <@PACKAGE_BUGREPORT@>." - -# sed script to escape all ' for the shell, and then (to handle trailing -# newlines correctly) turn trailing X on last line into '. -escape=' - s/'\''/'\''\\'\'''\''/g - $s/X$/'\''/ -' -operands= -have_pat=0 -files_with_matches=0 -files_without_matches=0 -no_filename=0 -with_filename=0 - -while test $# -ne 0; do - option=$1 - shift - optarg= - - case $option in - (-[0123456789abcdhHiIKLlnoqrRsTuUvVwxyzZ]?*) - arg2=-\'$(expr "X${option}X" : 'X-.[0-9]*\(.*\)' | sed "$escape") - eval "set -- $arg2 "'${1+"$@"}' - option=$(expr "X$option" : 'X\(-.[0-9]*\)');; - (--binary-*=* | --[lm]a*=* | --reg*=*) - ;; - (-[ABCDefm] | --binary-* | --file | --[lm]a* | --reg*) - case ${1?"$option option requires an argument"} in - (*\'*) - optarg=" '"$(printf '%sX\n' "$1" | sed "$escape");; - (*) - optarg=" '$1'";; - esac - shift;; - (--) - break;; - (-?*) - ;; - (*) - case $option in - (*\'*) - operands="$operands '"$(printf '%sX\n' "$option" | sed "$escape");; - (*) - operands="$operands '$option'";; - esac - ${POSIXLY_CORRECT+break} - continue;; - esac - - case $option in - (-[drRzZ] | --di* | --exc* | --inc* | --rec* | --nu*) - printf >&2 '%s: %s: Option not supported\n' "$0" "$option" - exit 2;; - (-[ef]* | --file | --file=* | --reg*) - have_pat=1;; - (--h | --he | --hel | --help) - echo "$usage" || exit 2 - exit;; - (-H | --wi | --wit | --with | --with- | --with-f | --with-fi \ - | --with-fil | --with-file | --with-filen | --with-filena | --with-filenam \ - | --with-filename) - with_filename=1 - continue;; - (-l | --files-with-*) - files_with_matches=1;; - (-L | --files-witho*) - files_without_matches=1;; - (-h | --no-f*) - no_filename=1;; - (-V | --v | --ve | --ver | --vers | --versi | --versio | --version) - echo "$version" || exit 2 - exit;; - esac - - case $option in - (*\'?*) - option=\'$(expr "X${option}X" : 'X\(.*\)' | sed "$escape");; - (*) - option="'$option'";; - esac - - grep="$grep $option$optarg" -done - -if test $files_with_matches -eq 1 || test $files_without_matches -eq 1; then - grep="$grep -q" -fi - -eval "set -- $operands "'${1+"$@"}' - -if test $have_pat -eq 0; then - case ${1?"Missing pattern; try \`${0##*/} --help' for help"} in - (*\'*) - grep="$grep -- '"$(printf '%sX\n' "$1" | sed "$escape");; - (*) - grep="$grep -- '$1'";; - esac - shift -fi - -if test $# -eq 0; then - set -- - -fi - -exec 3>&1 -res=0 - -for i; do - case $i in - *[-.][zZ] | *_z | *[-.]gz | *.t[ag]z) uncompress="gzip -cdfq";; - *[-.]bz2 | *[-.]tbz | *.tbz2) uncompress="bzip2 -cdfq";; - *) uncompress="$xz -cdfq";; - esac - # Fail if xz or grep (or sed) fails. - xz_status=$( - exec 5>&1 - ($uncompress -- "$i" 5>&-; echo $? >&5) 3>&- | - if test $files_with_matches -eq 1; then - eval "$grep" && { printf '%s\n' "$i" || exit 2; } - elif test $files_without_matches -eq 1; then - eval "$grep" || { - r=$? - if test $r -eq 1; then - printf '%s\n' "$i" || r=2 - fi - exit $r - } - elif test $with_filename -eq 0 && - { test $# -eq 1 || test $no_filename -eq 1; }; then - eval "$grep" - else - case $i in - (*' -'* | *'&'* | *'\'* | *'|'*) - i=$(printf '%s\n' "$i" | - sed ' - $!N - $s/[&\|]/\\&/g - $s/\n/\\n/g - ');; - esac - sed_script="s|^|$i:|" - - # Fail if grep or sed fails. - r=$( - exec 4>&1 - (eval "$grep" 4>&-; echo $? >&4) 3>&- | sed "$sed_script" >&3 4>&- - ) || r=2 - exit $r - fi >&3 5>&- - ) - r=$? - test "$xz_status" -eq 0 || test "$xz_status" -eq 2 \ - || test "$(kill -l "$xz_status" 2> /dev/null)" = "PIPE" || r=2 - test $res -lt $r && res=$r -done -exit $res diff --git a/Build/source/extra/xz/src/scripts/xzless.1 b/Build/source/extra/xz/src/scripts/xzless.1 deleted file mode 100644 index 2d05459d00c..00000000000 --- a/Build/source/extra/xz/src/scripts/xzless.1 +++ /dev/null @@ -1,69 +0,0 @@ -.\" -.\" Authors: Andrew Dudman -.\" Lasse Collin -.\" -.\" This file has been put into the public domain. -.\" You can do whatever you want with this file. -.\" -.\" (Note that this file is not based on gzip's zless.1.) -.\" -.TH XZLESS 1 "2010-09-27" "Tukaani" "XZ Utils" -.SH NAME -xzless, lzless \- view xz or lzma compressed (text) files -.SH SYNOPSIS -.B xzless -.RI [ file ...] -.br -.B lzless -.RI [ file ...] -.SH DESCRIPTION -.B xzless -is a filter that displays text from compressed files to a terminal. -It works on files compressed with -.BR xz (1) -or -.BR lzma (1). -If no -.I files -are given, -.B xzless -reads from standard input. -.PP -.B xzless -uses -.BR less (1) -to present its output. -Unlike -.BR xzmore , -its choice of pager cannot be altered by -setting an environment variable. -Commands are based on both -.BR more (1) -and -.BR vi (1) -and allow back and forth movement and searching. -See the -.BR less (1) -manual for more information. -.PP -The command named -.B lzless -is provided for backward compatibility with LZMA Utils. -.SH ENVIRONMENT -.TP -.B LESSMETACHARS -A list of characters special to the shell. -Set by -.B xzless -unless it is already set in the environment. -.TP -.B LESSOPEN -Set to a command line to invoke the -.BR xz (1) -decompressor for preprocessing the input files to -.BR less (1). -.SH "SEE ALSO" -.BR less (1), -.BR xz (1), -.BR xzmore (1), -.BR zless (1) diff --git a/Build/source/extra/xz/src/scripts/xzless.in b/Build/source/extra/xz/src/scripts/xzless.in deleted file mode 100644 index 288dd871e4c..00000000000 --- a/Build/source/extra/xz/src/scripts/xzless.in +++ /dev/null @@ -1,58 +0,0 @@ -#!@POSIX_SHELL@ - -# Copyright (C) 1998, 2002, 2006, 2007 Free Software Foundation - -# The original version for gzip was written by Paul Eggert. -# Modified for XZ Utils by Andrew Dudman and Lasse Collin. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -#SET_PATH - This line is a placeholder to ease patching this script. - -# Instead of unsetting XZ_OPT, just make sure that xz will use file format -# autodetection. This way memory usage limit and thread limit can be -# specified via XZ_OPT. -xz='@xz@ --format=auto' - -version='xzless (@PACKAGE_NAME@) @VERSION@' - -usage="Usage: ${0##*/} [OPTION]... [FILE]... -Like 'less', but operate on the uncompressed contents of xz compressed FILEs. - -Options are the same as for 'less'. - -Report bugs to <@PACKAGE_BUGREPORT@>." - -case $1 in - --help) echo "$usage" || exit 2; exit;; - --version) echo "$version" || exit 2; exit;; -esac - -if test "${LESSMETACHARS+set}" != set; then - # Work around a bug in less 394 and earlier; - # it mishandles the metacharacters '$%=~'. - space=' ' - tab=' ' - nl=' -' - LESSMETACHARS="$space$tab$nl'"';*?"()<>[|&^`#\$%=~' -fi - -if test "$(less -V | { read less ver re && echo ${ver}; })" -ge 429; then - # less 429 or later: LESSOPEN pipe will be used on - # standard input if $LESSOPEN begins with |-. - LESSOPEN="|-$xz -cdfq -- %s" -else - LESSOPEN="|$xz -cdfq -- %s" -fi -export LESSMETACHARS LESSOPEN - -exec less "$@" diff --git a/Build/source/extra/xz/src/scripts/xzmore.1 b/Build/source/extra/xz/src/scripts/xzmore.1 deleted file mode 100644 index 9613974ecf7..00000000000 --- a/Build/source/extra/xz/src/scripts/xzmore.1 +++ /dev/null @@ -1,55 +0,0 @@ -.\" -.\" Original zdiff.1 for gzip: Jean-loup Gailly -.\" Modifications for XZ Utils: Lasse Collin -.\" -.\" License: GNU GPLv2+ -.\" -.TH XZMORE 1 "2013-06-30" "Tukaani" "XZ Utils" -.SH NAME -xzmore, lzmore \- view xz or lzma compressed (text) files -.SH SYNOPSIS -.B xzmore -.RI [ file... ] -.br -.B lzmore -.RI [ file... ] -.SH DESCRIPTION -.B xzmore -is a filter which allows examination of -.BR xz (1) -or -.BR lzma (1) -compressed text files one screenful at a time -on a soft-copy terminal. -.PP -To use a pager other than the default -.B more, -set environment variable -.B PAGER -to the name of the desired program. -The name -.B lzmore -is provided for backward compatibility with LZMA Utils. -.TP -.BR e " or " q -When the prompt \-\-More\-\-(Next file: -.IR file ) -is printed, this command causes -.B xzmore -to exit. -.TP -.B s -When the prompt \-\-More\-\-(Next file: -.IR file ) -is printed, this command causes -.B xzmore -to skip the next file and continue. -.PP -For list of keyboard commands supported while actually viewing the -content of a file, refer to manual of the pager you use, usually -.BR more (1). -.SH "SEE ALSO" -.BR more (1), -.BR xz (1), -.BR xzless (1), -.BR zmore (1) diff --git a/Build/source/extra/xz/src/scripts/xzmore.in b/Build/source/extra/xz/src/scripts/xzmore.in deleted file mode 100644 index 940d6614460..00000000000 --- a/Build/source/extra/xz/src/scripts/xzmore.in +++ /dev/null @@ -1,78 +0,0 @@ -#!@POSIX_SHELL@ - -# Copyright (C) 2001, 2002, 2007 Free Software Foundation -# Copyright (C) 1992, 1993 Jean-loup Gailly - -# Modified for XZ Utils by Andrew Dudman and Lasse Collin. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -#SET_PATH - This line is a placeholder to ease patching this script. - -# Instead of unsetting XZ_OPT, just make sure that xz will use file format -# autodetection. This way memory usage limit and thread limit can be -# specified via XZ_OPT. -xz='@xz@ --format=auto' - -version='xzmore (@PACKAGE_NAME@) @VERSION@' - -usage="Usage: ${0##*/} [OPTION]... [FILE]... -Like 'more', but operate on the uncompressed contents of xz compressed FILEs. - -Report bugs to <@PACKAGE_BUGREPORT@>." - -case $1 in - --help) echo "$usage" || exit 2; exit;; - --version) echo "$version" || exit 2; exit;; -esac - -oldtty=`stty -g 2>/dev/null` -if stty -cbreak 2>/dev/null; then - cb='cbreak'; ncb='-cbreak' -else - # 'stty min 1' resets eof to ^a on both SunOS and SysV! - cb='min 1 -icanon'; ncb='icanon eof ^d' -fi -if test $? -eq 0 && test -n "$oldtty"; then - trap 'stty $oldtty 2>/dev/null; exit' 0 2 3 5 10 13 15 -else - trap 'stty $ncb echo 2>/dev/null; exit' 0 2 3 5 10 13 15 -fi - -if test $# = 0; then - if test -t 0; then - echo "$usage"; exit 1 - else - $xz -cdfq | eval "${PAGER:-more}" - fi -else - FIRST=1 - for FILE; do - < "$FILE" || continue - if test $FIRST -eq 0; then - printf "%s--More--(Next file: %s)" "" "$FILE" - stty $cb -echo 2>/dev/null - ANS=`dd bs=1 count=1 2>/dev/null` - stty $ncb echo 2>/dev/null - echo " " - case "$ANS" in - [eq]) exit;; - esac - fi - if test "$ANS" != 's'; then - echo "------> $FILE <------" - $xz -cdfq -- "$FILE" | eval "${PAGER:-more}" - fi - if test -t 1; then - FIRST=0 - fi - done -fi diff --git a/Build/source/extra/xz/src/xz/Makefile.am b/Build/source/extra/xz/src/xz/Makefile.am deleted file mode 100644 index 10ceee75a65..00000000000 --- a/Build/source/extra/xz/src/xz/Makefile.am +++ /dev/null @@ -1,106 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -bin_PROGRAMS = xz - -xz_SOURCES = \ - args.c \ - args.h \ - coder.c \ - coder.h \ - file_io.c \ - file_io.h \ - hardware.c \ - hardware.h \ - list.c \ - list.h \ - main.c \ - main.h \ - message.c \ - message.h \ - options.c \ - options.h \ - private.h \ - signals.c \ - signals.h \ - suffix.c \ - suffix.h \ - util.c \ - util.h \ - $(top_srcdir)/src/common/tuklib_open_stdxxx.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c \ - $(top_srcdir)/src/common/tuklib_cpucores.c \ - $(top_srcdir)/src/common/tuklib_mbstr_width.c \ - $(top_srcdir)/src/common/tuklib_mbstr_fw.c - -if COND_W32 -xz_SOURCES += xz_w32res.rc -endif - -xz_CPPFLAGS = \ - -DLOCALEDIR=\"$(localedir)\" \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -xz_LDADD = $(top_builddir)/src/liblzma/liblzma.la - -if COND_GNULIB -xz_LDADD += $(top_builddir)/lib/libgnu.a -endif - -# libgnu.a may need these libs, so this must be after libgnu.a. -xz_LDADD += $(LTLIBINTL) - - -# Windows resource compiler support -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(xz_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ - - -dist_man_MANS = xz.1 - - -## Create symlinks for unxz and xzcat for convenience. Create symlinks also -## for lzma, unlzma, and lzcat for compatibility with LZMA Utils 4.32.x. -xzlinks = unxz xzcat - -if COND_LZMALINKS -xzlinks += lzma unlzma lzcat -endif - -install-exec-hook: - cd $(DESTDIR)$(bindir) && \ - target=`echo xz | sed '$(transform)'`$(EXEEXT) && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'`$(LN_EXEEXT) && \ - rm -f $$link && \ - $(LN_S) $$target $$link; \ - done - -install-data-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - target=`echo xz | sed '$(transform)'` && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'` && \ - rm -f $$link.1 && \ - $(LN_S) $$target.1 $$link.1; \ - done - -uninstall-hook: - cd $(DESTDIR)$(bindir) && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'`$(LN_EXEEXT) && \ - rm -f $$link; \ - done - cd $(DESTDIR)$(mandir)/man1 && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'` && \ - rm -f $$link.1; \ - done diff --git a/Build/source/extra/xz/src/xz/Makefile.in b/Build/source/extra/xz/src/xz/Makefile.in deleted file mode 100644 index f345d758c55..00000000000 --- a/Build/source/extra/xz/src/xz/Makefile.in +++ /dev/null @@ -1,1072 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -bin_PROGRAMS = xz$(EXEEXT) -@COND_W32_TRUE@am__append_1 = xz_w32res.rc -@COND_GNULIB_TRUE@am__append_2 = $(top_builddir)/lib/libgnu.a -@COND_LZMALINKS_TRUE@am__append_3 = lzma unlzma lzcat -subdir = src/xz -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp $(dist_man_MANS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -PROGRAMS = $(bin_PROGRAMS) -am__xz_SOURCES_DIST = args.c args.h coder.c coder.h file_io.c \ - file_io.h hardware.c hardware.h list.c list.h main.c main.h \ - message.c message.h options.c options.h private.h signals.c \ - signals.h suffix.c suffix.h util.c util.h \ - $(top_srcdir)/src/common/tuklib_open_stdxxx.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c \ - $(top_srcdir)/src/common/tuklib_cpucores.c \ - $(top_srcdir)/src/common/tuklib_mbstr_width.c \ - $(top_srcdir)/src/common/tuklib_mbstr_fw.c xz_w32res.rc -@COND_W32_TRUE@am__objects_1 = xz_w32res.$(OBJEXT) -am_xz_OBJECTS = xz-args.$(OBJEXT) xz-coder.$(OBJEXT) \ - xz-file_io.$(OBJEXT) xz-hardware.$(OBJEXT) xz-list.$(OBJEXT) \ - xz-main.$(OBJEXT) xz-message.$(OBJEXT) xz-options.$(OBJEXT) \ - xz-signals.$(OBJEXT) xz-suffix.$(OBJEXT) xz-util.$(OBJEXT) \ - xz-tuklib_open_stdxxx.$(OBJEXT) xz-tuklib_progname.$(OBJEXT) \ - xz-tuklib_exit.$(OBJEXT) xz-tuklib_cpucores.$(OBJEXT) \ - xz-tuklib_mbstr_width.$(OBJEXT) xz-tuklib_mbstr_fw.$(OBJEXT) \ - $(am__objects_1) -xz_OBJECTS = $(am_xz_OBJECTS) -am__DEPENDENCIES_1 = -xz_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_2) $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(xz_SOURCES) -DIST_SOURCES = $(am__xz_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -xz_SOURCES = args.c args.h coder.c coder.h file_io.c file_io.h \ - hardware.c hardware.h list.c list.h main.c main.h message.c \ - message.h options.c options.h private.h signals.c signals.h \ - suffix.c suffix.h util.c util.h \ - $(top_srcdir)/src/common/tuklib_open_stdxxx.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c \ - $(top_srcdir)/src/common/tuklib_cpucores.c \ - $(top_srcdir)/src/common/tuklib_mbstr_width.c \ - $(top_srcdir)/src/common/tuklib_mbstr_fw.c $(am__append_1) -xz_CPPFLAGS = \ - -DLOCALEDIR=\"$(localedir)\" \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - - -# libgnu.a may need these libs, so this must be after libgnu.a. -xz_LDADD = $(top_builddir)/src/liblzma/liblzma.la $(am__append_2) \ - $(LTLIBINTL) -dist_man_MANS = xz.1 -xzlinks = unxz xzcat $(am__append_3) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj .rc -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/xz/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/xz/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -xz$(EXEEXT): $(xz_OBJECTS) $(xz_DEPENDENCIES) $(EXTRA_xz_DEPENDENCIES) - @rm -f xz$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xz_OBJECTS) $(xz_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-args.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-coder.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-file_io.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-hardware.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-list.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-main.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-message.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-options.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-signals.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-suffix.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_cpucores.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_exit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_mbstr_fw.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_mbstr_width.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_open_stdxxx.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-tuklib_progname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xz-util.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -xz-args.o: args.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-args.o -MD -MP -MF $(DEPDIR)/xz-args.Tpo -c -o xz-args.o `test -f 'args.c' || echo '$(srcdir)/'`args.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-args.Tpo $(DEPDIR)/xz-args.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='args.c' object='xz-args.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-args.o `test -f 'args.c' || echo '$(srcdir)/'`args.c - -xz-args.obj: args.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-args.obj -MD -MP -MF $(DEPDIR)/xz-args.Tpo -c -o xz-args.obj `if test -f 'args.c'; then $(CYGPATH_W) 'args.c'; else $(CYGPATH_W) '$(srcdir)/args.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-args.Tpo $(DEPDIR)/xz-args.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='args.c' object='xz-args.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-args.obj `if test -f 'args.c'; then $(CYGPATH_W) 'args.c'; else $(CYGPATH_W) '$(srcdir)/args.c'; fi` - -xz-coder.o: coder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-coder.o -MD -MP -MF $(DEPDIR)/xz-coder.Tpo -c -o xz-coder.o `test -f 'coder.c' || echo '$(srcdir)/'`coder.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-coder.Tpo $(DEPDIR)/xz-coder.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coder.c' object='xz-coder.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-coder.o `test -f 'coder.c' || echo '$(srcdir)/'`coder.c - -xz-coder.obj: coder.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-coder.obj -MD -MP -MF $(DEPDIR)/xz-coder.Tpo -c -o xz-coder.obj `if test -f 'coder.c'; then $(CYGPATH_W) 'coder.c'; else $(CYGPATH_W) '$(srcdir)/coder.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-coder.Tpo $(DEPDIR)/xz-coder.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='coder.c' object='xz-coder.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-coder.obj `if test -f 'coder.c'; then $(CYGPATH_W) 'coder.c'; else $(CYGPATH_W) '$(srcdir)/coder.c'; fi` - -xz-file_io.o: file_io.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-file_io.o -MD -MP -MF $(DEPDIR)/xz-file_io.Tpo -c -o xz-file_io.o `test -f 'file_io.c' || echo '$(srcdir)/'`file_io.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-file_io.Tpo $(DEPDIR)/xz-file_io.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='file_io.c' object='xz-file_io.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-file_io.o `test -f 'file_io.c' || echo '$(srcdir)/'`file_io.c - -xz-file_io.obj: file_io.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-file_io.obj -MD -MP -MF $(DEPDIR)/xz-file_io.Tpo -c -o xz-file_io.obj `if test -f 'file_io.c'; then $(CYGPATH_W) 'file_io.c'; else $(CYGPATH_W) '$(srcdir)/file_io.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-file_io.Tpo $(DEPDIR)/xz-file_io.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='file_io.c' object='xz-file_io.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-file_io.obj `if test -f 'file_io.c'; then $(CYGPATH_W) 'file_io.c'; else $(CYGPATH_W) '$(srcdir)/file_io.c'; fi` - -xz-hardware.o: hardware.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-hardware.o -MD -MP -MF $(DEPDIR)/xz-hardware.Tpo -c -o xz-hardware.o `test -f 'hardware.c' || echo '$(srcdir)/'`hardware.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-hardware.Tpo $(DEPDIR)/xz-hardware.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hardware.c' object='xz-hardware.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-hardware.o `test -f 'hardware.c' || echo '$(srcdir)/'`hardware.c - -xz-hardware.obj: hardware.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-hardware.obj -MD -MP -MF $(DEPDIR)/xz-hardware.Tpo -c -o xz-hardware.obj `if test -f 'hardware.c'; then $(CYGPATH_W) 'hardware.c'; else $(CYGPATH_W) '$(srcdir)/hardware.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-hardware.Tpo $(DEPDIR)/xz-hardware.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='hardware.c' object='xz-hardware.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-hardware.obj `if test -f 'hardware.c'; then $(CYGPATH_W) 'hardware.c'; else $(CYGPATH_W) '$(srcdir)/hardware.c'; fi` - -xz-list.o: list.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-list.o -MD -MP -MF $(DEPDIR)/xz-list.Tpo -c -o xz-list.o `test -f 'list.c' || echo '$(srcdir)/'`list.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-list.Tpo $(DEPDIR)/xz-list.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='list.c' object='xz-list.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-list.o `test -f 'list.c' || echo '$(srcdir)/'`list.c - -xz-list.obj: list.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-list.obj -MD -MP -MF $(DEPDIR)/xz-list.Tpo -c -o xz-list.obj `if test -f 'list.c'; then $(CYGPATH_W) 'list.c'; else $(CYGPATH_W) '$(srcdir)/list.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-list.Tpo $(DEPDIR)/xz-list.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='list.c' object='xz-list.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-list.obj `if test -f 'list.c'; then $(CYGPATH_W) 'list.c'; else $(CYGPATH_W) '$(srcdir)/list.c'; fi` - -xz-main.o: main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-main.o -MD -MP -MF $(DEPDIR)/xz-main.Tpo -c -o xz-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-main.Tpo $(DEPDIR)/xz-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='xz-main.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-main.o `test -f 'main.c' || echo '$(srcdir)/'`main.c - -xz-main.obj: main.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-main.obj -MD -MP -MF $(DEPDIR)/xz-main.Tpo -c -o xz-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-main.Tpo $(DEPDIR)/xz-main.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='main.c' object='xz-main.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-main.obj `if test -f 'main.c'; then $(CYGPATH_W) 'main.c'; else $(CYGPATH_W) '$(srcdir)/main.c'; fi` - -xz-message.o: message.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-message.o -MD -MP -MF $(DEPDIR)/xz-message.Tpo -c -o xz-message.o `test -f 'message.c' || echo '$(srcdir)/'`message.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-message.Tpo $(DEPDIR)/xz-message.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='message.c' object='xz-message.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-message.o `test -f 'message.c' || echo '$(srcdir)/'`message.c - -xz-message.obj: message.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-message.obj -MD -MP -MF $(DEPDIR)/xz-message.Tpo -c -o xz-message.obj `if test -f 'message.c'; then $(CYGPATH_W) 'message.c'; else $(CYGPATH_W) '$(srcdir)/message.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-message.Tpo $(DEPDIR)/xz-message.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='message.c' object='xz-message.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-message.obj `if test -f 'message.c'; then $(CYGPATH_W) 'message.c'; else $(CYGPATH_W) '$(srcdir)/message.c'; fi` - -xz-options.o: options.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-options.o -MD -MP -MF $(DEPDIR)/xz-options.Tpo -c -o xz-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-options.Tpo $(DEPDIR)/xz-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='xz-options.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-options.o `test -f 'options.c' || echo '$(srcdir)/'`options.c - -xz-options.obj: options.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-options.obj -MD -MP -MF $(DEPDIR)/xz-options.Tpo -c -o xz-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-options.Tpo $(DEPDIR)/xz-options.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='options.c' object='xz-options.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-options.obj `if test -f 'options.c'; then $(CYGPATH_W) 'options.c'; else $(CYGPATH_W) '$(srcdir)/options.c'; fi` - -xz-signals.o: signals.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-signals.o -MD -MP -MF $(DEPDIR)/xz-signals.Tpo -c -o xz-signals.o `test -f 'signals.c' || echo '$(srcdir)/'`signals.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-signals.Tpo $(DEPDIR)/xz-signals.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='signals.c' object='xz-signals.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-signals.o `test -f 'signals.c' || echo '$(srcdir)/'`signals.c - -xz-signals.obj: signals.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-signals.obj -MD -MP -MF $(DEPDIR)/xz-signals.Tpo -c -o xz-signals.obj `if test -f 'signals.c'; then $(CYGPATH_W) 'signals.c'; else $(CYGPATH_W) '$(srcdir)/signals.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-signals.Tpo $(DEPDIR)/xz-signals.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='signals.c' object='xz-signals.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-signals.obj `if test -f 'signals.c'; then $(CYGPATH_W) 'signals.c'; else $(CYGPATH_W) '$(srcdir)/signals.c'; fi` - -xz-suffix.o: suffix.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-suffix.o -MD -MP -MF $(DEPDIR)/xz-suffix.Tpo -c -o xz-suffix.o `test -f 'suffix.c' || echo '$(srcdir)/'`suffix.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-suffix.Tpo $(DEPDIR)/xz-suffix.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='suffix.c' object='xz-suffix.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-suffix.o `test -f 'suffix.c' || echo '$(srcdir)/'`suffix.c - -xz-suffix.obj: suffix.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-suffix.obj -MD -MP -MF $(DEPDIR)/xz-suffix.Tpo -c -o xz-suffix.obj `if test -f 'suffix.c'; then $(CYGPATH_W) 'suffix.c'; else $(CYGPATH_W) '$(srcdir)/suffix.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-suffix.Tpo $(DEPDIR)/xz-suffix.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='suffix.c' object='xz-suffix.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-suffix.obj `if test -f 'suffix.c'; then $(CYGPATH_W) 'suffix.c'; else $(CYGPATH_W) '$(srcdir)/suffix.c'; fi` - -xz-util.o: util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-util.o -MD -MP -MF $(DEPDIR)/xz-util.Tpo -c -o xz-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-util.Tpo $(DEPDIR)/xz-util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='util.c' object='xz-util.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c - -xz-util.obj: util.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-util.obj -MD -MP -MF $(DEPDIR)/xz-util.Tpo -c -o xz-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-util.Tpo $(DEPDIR)/xz-util.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='util.c' object='xz-util.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi` - -xz-tuklib_open_stdxxx.o: $(top_srcdir)/src/common/tuklib_open_stdxxx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_open_stdxxx.o -MD -MP -MF $(DEPDIR)/xz-tuklib_open_stdxxx.Tpo -c -o xz-tuklib_open_stdxxx.o `test -f '$(top_srcdir)/src/common/tuklib_open_stdxxx.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_open_stdxxx.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_open_stdxxx.Tpo $(DEPDIR)/xz-tuklib_open_stdxxx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_open_stdxxx.c' object='xz-tuklib_open_stdxxx.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_open_stdxxx.o `test -f '$(top_srcdir)/src/common/tuklib_open_stdxxx.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_open_stdxxx.c - -xz-tuklib_open_stdxxx.obj: $(top_srcdir)/src/common/tuklib_open_stdxxx.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_open_stdxxx.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_open_stdxxx.Tpo -c -o xz-tuklib_open_stdxxx.obj `if test -f '$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_open_stdxxx.Tpo $(DEPDIR)/xz-tuklib_open_stdxxx.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_open_stdxxx.c' object='xz-tuklib_open_stdxxx.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_open_stdxxx.obj `if test -f '$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_open_stdxxx.c'; fi` - -xz-tuklib_progname.o: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_progname.o -MD -MP -MF $(DEPDIR)/xz-tuklib_progname.Tpo -c -o xz-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_progname.Tpo $(DEPDIR)/xz-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='xz-tuklib_progname.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c - -xz-tuklib_progname.obj: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_progname.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_progname.Tpo -c -o xz-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_progname.Tpo $(DEPDIR)/xz-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='xz-tuklib_progname.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` - -xz-tuklib_exit.o: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_exit.o -MD -MP -MF $(DEPDIR)/xz-tuklib_exit.Tpo -c -o xz-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_exit.Tpo $(DEPDIR)/xz-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='xz-tuklib_exit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c - -xz-tuklib_exit.obj: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_exit.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_exit.Tpo -c -o xz-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_exit.Tpo $(DEPDIR)/xz-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='xz-tuklib_exit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` - -xz-tuklib_cpucores.o: $(top_srcdir)/src/common/tuklib_cpucores.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_cpucores.o -MD -MP -MF $(DEPDIR)/xz-tuklib_cpucores.Tpo -c -o xz-tuklib_cpucores.o `test -f '$(top_srcdir)/src/common/tuklib_cpucores.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_cpucores.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_cpucores.Tpo $(DEPDIR)/xz-tuklib_cpucores.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_cpucores.c' object='xz-tuklib_cpucores.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_cpucores.o `test -f '$(top_srcdir)/src/common/tuklib_cpucores.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_cpucores.c - -xz-tuklib_cpucores.obj: $(top_srcdir)/src/common/tuklib_cpucores.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_cpucores.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_cpucores.Tpo -c -o xz-tuklib_cpucores.obj `if test -f '$(top_srcdir)/src/common/tuklib_cpucores.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_cpucores.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_cpucores.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_cpucores.Tpo $(DEPDIR)/xz-tuklib_cpucores.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_cpucores.c' object='xz-tuklib_cpucores.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_cpucores.obj `if test -f '$(top_srcdir)/src/common/tuklib_cpucores.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_cpucores.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_cpucores.c'; fi` - -xz-tuklib_mbstr_width.o: $(top_srcdir)/src/common/tuklib_mbstr_width.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_mbstr_width.o -MD -MP -MF $(DEPDIR)/xz-tuklib_mbstr_width.Tpo -c -o xz-tuklib_mbstr_width.o `test -f '$(top_srcdir)/src/common/tuklib_mbstr_width.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_mbstr_width.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_mbstr_width.Tpo $(DEPDIR)/xz-tuklib_mbstr_width.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_mbstr_width.c' object='xz-tuklib_mbstr_width.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_mbstr_width.o `test -f '$(top_srcdir)/src/common/tuklib_mbstr_width.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_mbstr_width.c - -xz-tuklib_mbstr_width.obj: $(top_srcdir)/src/common/tuklib_mbstr_width.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_mbstr_width.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_mbstr_width.Tpo -c -o xz-tuklib_mbstr_width.obj `if test -f '$(top_srcdir)/src/common/tuklib_mbstr_width.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_mbstr_width.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_mbstr_width.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_mbstr_width.Tpo $(DEPDIR)/xz-tuklib_mbstr_width.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_mbstr_width.c' object='xz-tuklib_mbstr_width.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_mbstr_width.obj `if test -f '$(top_srcdir)/src/common/tuklib_mbstr_width.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_mbstr_width.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_mbstr_width.c'; fi` - -xz-tuklib_mbstr_fw.o: $(top_srcdir)/src/common/tuklib_mbstr_fw.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_mbstr_fw.o -MD -MP -MF $(DEPDIR)/xz-tuklib_mbstr_fw.Tpo -c -o xz-tuklib_mbstr_fw.o `test -f '$(top_srcdir)/src/common/tuklib_mbstr_fw.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_mbstr_fw.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_mbstr_fw.Tpo $(DEPDIR)/xz-tuklib_mbstr_fw.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_mbstr_fw.c' object='xz-tuklib_mbstr_fw.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_mbstr_fw.o `test -f '$(top_srcdir)/src/common/tuklib_mbstr_fw.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_mbstr_fw.c - -xz-tuklib_mbstr_fw.obj: $(top_srcdir)/src/common/tuklib_mbstr_fw.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xz-tuklib_mbstr_fw.obj -MD -MP -MF $(DEPDIR)/xz-tuklib_mbstr_fw.Tpo -c -o xz-tuklib_mbstr_fw.obj `if test -f '$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xz-tuklib_mbstr_fw.Tpo $(DEPDIR)/xz-tuklib_mbstr_fw.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_mbstr_fw.c' object='xz-tuklib_mbstr_fw.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xz_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xz-tuklib_mbstr_fw.obj `if test -f '$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_mbstr_fw.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(MANS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-exec-hook -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 - -.MAKE: install-am install-data-am install-exec-am install-strip \ - uninstall-am - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-data-hook install-dvi \ - install-dvi-am install-exec install-exec-am install-exec-hook \ - install-html install-html-am install-info install-info-am \ - install-man install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS uninstall-hook \ - uninstall-man uninstall-man1 - - -# Windows resource compiler support -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(xz_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ - -install-exec-hook: - cd $(DESTDIR)$(bindir) && \ - target=`echo xz | sed '$(transform)'`$(EXEEXT) && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'`$(LN_EXEEXT) && \ - rm -f $$link && \ - $(LN_S) $$target $$link; \ - done - -install-data-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - target=`echo xz | sed '$(transform)'` && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'` && \ - rm -f $$link.1 && \ - $(LN_S) $$target.1 $$link.1; \ - done - -uninstall-hook: - cd $(DESTDIR)$(bindir) && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'`$(LN_EXEEXT) && \ - rm -f $$link; \ - done - cd $(DESTDIR)$(mandir)/man1 && \ - for name in $(xzlinks); do \ - link=`echo $$name | sed '$(transform)'` && \ - rm -f $$link.1; \ - done - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/xz/args.c b/Build/source/extra/xz/src/xz/args.c deleted file mode 100644 index 34761d45d67..00000000000 --- a/Build/source/extra/xz/src/xz/args.c +++ /dev/null @@ -1,578 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file args.c -/// \brief Argument parsing -/// -/// \note Filter-specific options parsing is in options.c. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - -#include "getopt.h" -#include - - -bool opt_stdout = false; -bool opt_force = false; -bool opt_keep_original = false; -bool opt_robot = false; - -// We don't modify or free() this, but we need to assign it in some -// non-const pointers. -const char stdin_filename[] = "(stdin)"; - - -/// Parse and set the memory usage limit for compression and/or decompression. -static void -parse_memlimit(const char *name, const char *name_percentage, char *str, - bool set_compress, bool set_decompress) -{ - bool is_percentage = false; - uint64_t value; - - const size_t len = strlen(str); - if (len > 0 && str[len - 1] == '%') { - str[len - 1] = '\0'; - is_percentage = true; - value = str_to_uint64(name_percentage, str, 1, 100); - } else { - // On 32-bit systems, SIZE_MAX would make more sense than - // UINT64_MAX. But use UINT64_MAX still so that scripts - // that assume > 4 GiB values don't break. - value = str_to_uint64(name, str, 0, UINT64_MAX); - } - - hardware_memlimit_set( - value, set_compress, set_decompress, is_percentage); - return; -} - - -static void -parse_real(args_info *args, int argc, char **argv) -{ - enum { - OPT_X86 = INT_MIN, - OPT_POWERPC, - OPT_IA64, - OPT_ARM, - OPT_ARMTHUMB, - OPT_SPARC, - OPT_DELTA, - OPT_LZMA1, - OPT_LZMA2, - - OPT_NO_SPARSE, - OPT_FILES, - OPT_FILES0, - OPT_MEM_COMPRESS, - OPT_MEM_DECOMPRESS, - OPT_NO_ADJUST, - OPT_INFO_MEMORY, - OPT_ROBOT, - }; - - static const char short_opts[] - = "cC:defF:hHlkM:qQrS:tT:vVz0123456789"; - - static const struct option long_opts[] = { - // Operation mode - { "compress", no_argument, NULL, 'z' }, - { "decompress", no_argument, NULL, 'd' }, - { "uncompress", no_argument, NULL, 'd' }, - { "test", no_argument, NULL, 't' }, - { "list", no_argument, NULL, 'l' }, - - // Operation modifiers - { "keep", no_argument, NULL, 'k' }, - { "force", no_argument, NULL, 'f' }, - { "stdout", no_argument, NULL, 'c' }, - { "to-stdout", no_argument, NULL, 'c' }, - { "no-sparse", no_argument, NULL, OPT_NO_SPARSE }, - { "suffix", required_argument, NULL, 'S' }, - // { "recursive", no_argument, NULL, 'r' }, // TODO - { "files", optional_argument, NULL, OPT_FILES }, - { "files0", optional_argument, NULL, OPT_FILES0 }, - - // Basic compression settings - { "format", required_argument, NULL, 'F' }, - { "check", required_argument, NULL, 'C' }, - { "memlimit-compress", required_argument, NULL, OPT_MEM_COMPRESS }, - { "memlimit-decompress", required_argument, NULL, OPT_MEM_DECOMPRESS }, - { "memlimit", required_argument, NULL, 'M' }, - { "memory", required_argument, NULL, 'M' }, // Old alias - { "no-adjust", no_argument, NULL, OPT_NO_ADJUST }, - { "threads", required_argument, NULL, 'T' }, - - { "extreme", no_argument, NULL, 'e' }, - { "fast", no_argument, NULL, '0' }, - { "best", no_argument, NULL, '9' }, - - // Filters - { "lzma1", optional_argument, NULL, OPT_LZMA1 }, - { "lzma2", optional_argument, NULL, OPT_LZMA2 }, - { "x86", optional_argument, NULL, OPT_X86 }, - { "powerpc", optional_argument, NULL, OPT_POWERPC }, - { "ia64", optional_argument, NULL, OPT_IA64 }, - { "arm", optional_argument, NULL, OPT_ARM }, - { "armthumb", optional_argument, NULL, OPT_ARMTHUMB }, - { "sparc", optional_argument, NULL, OPT_SPARC }, - { "delta", optional_argument, NULL, OPT_DELTA }, - - // Other options - { "quiet", no_argument, NULL, 'q' }, - { "verbose", no_argument, NULL, 'v' }, - { "no-warn", no_argument, NULL, 'Q' }, - { "robot", no_argument, NULL, OPT_ROBOT }, - { "info-memory", no_argument, NULL, OPT_INFO_MEMORY }, - { "help", no_argument, NULL, 'h' }, - { "long-help", no_argument, NULL, 'H' }, - { "version", no_argument, NULL, 'V' }, - - { NULL, 0, NULL, 0 } - }; - - int c; - - while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) - != -1) { - switch (c) { - // Compression preset (also for decompression if --format=raw) - case '0': case '1': case '2': case '3': case '4': - case '5': case '6': case '7': case '8': case '9': - coder_set_preset(c - '0'); - break; - - // --memlimit-compress - case OPT_MEM_COMPRESS: - parse_memlimit("memlimit-compress", - "memlimit-compress%", optarg, - true, false); - break; - - // --memlimit-decompress - case OPT_MEM_DECOMPRESS: - parse_memlimit("memlimit-decompress", - "memlimit-decompress%", optarg, - false, true); - break; - - // --memlimit - case 'M': - parse_memlimit("memlimit", "memlimit%", optarg, - true, true); - break; - - // --suffix - case 'S': - suffix_set(optarg); - break; - - case 'T': - hardware_threadlimit_set(str_to_uint64( - "threads", optarg, 0, UINT32_MAX)); - break; - - // --version - case 'V': - // This doesn't return. - message_version(); - - // --stdout - case 'c': - opt_stdout = true; - break; - - // --decompress - case 'd': - opt_mode = MODE_DECOMPRESS; - break; - - // --extreme - case 'e': - coder_set_extreme(); - break; - - // --force - case 'f': - opt_force = true; - break; - - // --info-memory - case OPT_INFO_MEMORY: - // This doesn't return. - hardware_memlimit_show(); - - // --help - case 'h': - // This doesn't return. - message_help(false); - - // --long-help - case 'H': - // This doesn't return. - message_help(true); - - // --list - case 'l': - opt_mode = MODE_LIST; - break; - - // --keep - case 'k': - opt_keep_original = true; - break; - - // --quiet - case 'q': - message_verbosity_decrease(); - break; - - case 'Q': - set_exit_no_warn(); - break; - - case 't': - opt_mode = MODE_TEST; - break; - - // --verbose - case 'v': - message_verbosity_increase(); - break; - - // --robot - case OPT_ROBOT: - opt_robot = true; - - // This is to make sure that floating point numbers - // always have a dot as decimal separator. - setlocale(LC_NUMERIC, "C"); - break; - - case 'z': - opt_mode = MODE_COMPRESS; - break; - - // Filter setup - - case OPT_X86: - coder_add_filter(LZMA_FILTER_X86, - options_bcj(optarg)); - break; - - case OPT_POWERPC: - coder_add_filter(LZMA_FILTER_POWERPC, - options_bcj(optarg)); - break; - - case OPT_IA64: - coder_add_filter(LZMA_FILTER_IA64, - options_bcj(optarg)); - break; - - case OPT_ARM: - coder_add_filter(LZMA_FILTER_ARM, - options_bcj(optarg)); - break; - - case OPT_ARMTHUMB: - coder_add_filter(LZMA_FILTER_ARMTHUMB, - options_bcj(optarg)); - break; - - case OPT_SPARC: - coder_add_filter(LZMA_FILTER_SPARC, - options_bcj(optarg)); - break; - - case OPT_DELTA: - coder_add_filter(LZMA_FILTER_DELTA, - options_delta(optarg)); - break; - - case OPT_LZMA1: - coder_add_filter(LZMA_FILTER_LZMA1, - options_lzma(optarg)); - break; - - case OPT_LZMA2: - coder_add_filter(LZMA_FILTER_LZMA2, - options_lzma(optarg)); - break; - - // Other - - // --format - case 'F': { - // Just in case, support both "lzma" and "alone" since - // the latter was used for forward compatibility in - // LZMA Utils 4.32.x. - static const struct { - char str[8]; - enum format_type format; - } types[] = { - { "auto", FORMAT_AUTO }, - { "xz", FORMAT_XZ }, - { "lzma", FORMAT_LZMA }, - { "alone", FORMAT_LZMA }, - // { "gzip", FORMAT_GZIP }, - // { "gz", FORMAT_GZIP }, - { "raw", FORMAT_RAW }, - }; - - size_t i = 0; - while (strcmp(types[i].str, optarg) != 0) - if (++i == ARRAY_SIZE(types)) - message_fatal(_("%s: Unknown file " - "format type"), - optarg); - - opt_format = types[i].format; - break; - } - - // --check - case 'C': { - static const struct { - char str[8]; - lzma_check check; - } types[] = { - { "none", LZMA_CHECK_NONE }, - { "crc32", LZMA_CHECK_CRC32 }, - { "crc64", LZMA_CHECK_CRC64 }, - { "sha256", LZMA_CHECK_SHA256 }, - }; - - size_t i = 0; - while (strcmp(types[i].str, optarg) != 0) { - if (++i == ARRAY_SIZE(types)) - message_fatal(_("%s: Unsupported " - "integrity " - "check type"), optarg); - } - - // Use a separate check in case we are using different - // liblzma than what was used to compile us. - if (!lzma_check_is_supported(types[i].check)) - message_fatal(_("%s: Unsupported integrity " - "check type"), optarg); - - coder_set_check(types[i].check); - break; - } - - case OPT_NO_SPARSE: - io_no_sparse(); - break; - - case OPT_FILES: - args->files_delim = '\n'; - - // Fall through - - case OPT_FILES0: - if (args->files_name != NULL) - message_fatal(_("Only one file can be " - "specified with `--files' " - "or `--files0'.")); - - if (optarg == NULL) { - args->files_name = (char *)stdin_filename; - args->files_file = stdin; - } else { - args->files_name = optarg; - args->files_file = fopen(optarg, - c == OPT_FILES ? "r" : "rb"); - if (args->files_file == NULL) - message_fatal("%s: %s", optarg, - strerror(errno)); - } - - break; - - case OPT_NO_ADJUST: - opt_auto_adjust = false; - break; - - default: - message_try_help(); - tuklib_exit(E_ERROR, E_ERROR, false); - } - } - - return; -} - - -static void -parse_environment(args_info *args, char *argv0, const char *varname) -{ - char *env = getenv(varname); - if (env == NULL) - return; - - // We modify the string, so make a copy of it. - env = xstrdup(env); - - // Calculate the number of arguments in env. argc stats at one - // to include space for the program name. - int argc = 1; - bool prev_was_space = true; - for (size_t i = 0; env[i] != '\0'; ++i) { - // NOTE: Cast to unsigned char is needed so that correct - // value gets passed to isspace(), which expects - // unsigned char cast to int. Casting to int is done - // automatically due to integer promotion, but we need to - // force char to unsigned char manually. Otherwise 8-bit - // characters would get promoted to wrong value if - // char is signed. - if (isspace((unsigned char)env[i])) { - prev_was_space = true; - } else if (prev_was_space) { - prev_was_space = false; - - // Keep argc small enough to fit into a signed int - // and to keep it usable for memory allocation. - if (++argc == my_min( - INT_MAX, SIZE_MAX / sizeof(char *))) - message_fatal(_("The environment variable " - "%s contains too many " - "arguments"), varname); - } - } - - // Allocate memory to hold pointers to the arguments. Add one to get - // space for the terminating NULL (if some systems happen to need it). - char **argv = xmalloc(((size_t)(argc) + 1) * sizeof(char *)); - argv[0] = argv0; - argv[argc] = NULL; - - // Go through the string again. Split the arguments using '\0' - // characters and add pointers to the resulting strings to argv. - argc = 1; - prev_was_space = true; - for (size_t i = 0; env[i] != '\0'; ++i) { - if (isspace((unsigned char)env[i])) { - prev_was_space = true; - env[i] = '\0'; - } else if (prev_was_space) { - prev_was_space = false; - argv[argc++] = env + i; - } - } - - // Parse the argument list we got from the environment. All non-option - // arguments i.e. filenames are ignored. - parse_real(args, argc, argv); - - // Reset the state of the getopt_long() so that we can parse the - // command line options too. There are two incompatible ways to - // do it. -#ifdef HAVE_OPTRESET - // BSD - optind = 1; - optreset = 1; -#else - // GNU, Solaris - optind = 0; -#endif - - // We don't need the argument list from environment anymore. - free(argv); - free(env); - - return; -} - - -extern void -args_parse(args_info *args, int argc, char **argv) -{ - // Initialize those parts of *args that we need later. - args->files_name = NULL; - args->files_file = NULL; - args->files_delim = '\0'; - - // Check how we were called. - { - // Remove the leading path name, if any. - const char *name = strrchr(argv[0], '/'); - if (name == NULL) - name = argv[0]; - else - ++name; - - // NOTE: It's possible that name[0] is now '\0' if argv[0] - // is weird, but it doesn't matter here. - - // Look for full command names instead of substrings like - // "un", "cat", and "lz" to reduce possibility of false - // positives when the programs have been renamed. - if (strstr(name, "xzcat") != NULL) { - opt_mode = MODE_DECOMPRESS; - opt_stdout = true; - } else if (strstr(name, "unxz") != NULL) { - opt_mode = MODE_DECOMPRESS; - } else if (strstr(name, "lzcat") != NULL) { - opt_format = FORMAT_LZMA; - opt_mode = MODE_DECOMPRESS; - opt_stdout = true; - } else if (strstr(name, "unlzma") != NULL) { - opt_format = FORMAT_LZMA; - opt_mode = MODE_DECOMPRESS; - } else if (strstr(name, "lzma") != NULL) { - opt_format = FORMAT_LZMA; - } - } - - // First the flags from the environment - parse_environment(args, argv[0], "XZ_DEFAULTS"); - parse_environment(args, argv[0], "XZ_OPT"); - - // Then from the command line - parse_real(args, argc, argv); - - // Never remove the source file when the destination is not on disk. - // In test mode the data is written nowhere, but setting opt_stdout - // will make the rest of the code behave well. - if (opt_stdout || opt_mode == MODE_TEST) { - opt_keep_original = true; - opt_stdout = true; - } - - // When compressing, if no --format flag was used, or it - // was --format=auto, we compress to the .xz format. - if (opt_mode == MODE_COMPRESS && opt_format == FORMAT_AUTO) - opt_format = FORMAT_XZ; - - // Compression settings need to be validated (options themselves and - // their memory usage) when compressing to any file format. It has to - // be done also when uncompressing raw data, since for raw decoding - // the options given on the command line are used to know what kind - // of raw data we are supposed to decode. - if (opt_mode == MODE_COMPRESS || opt_format == FORMAT_RAW) - coder_set_compression_settings(); - - // If no filenames are given, use stdin. - if (argv[optind] == NULL && args->files_name == NULL) { - // We don't modify or free() the "-" constant. The caller - // modifies this so don't make the struct itself const. - static char *names_stdin[2] = { (char *)"-", NULL }; - args->arg_names = names_stdin; - args->arg_count = 1; - } else { - // We got at least one filename from the command line, or - // --files or --files0 was specified. - args->arg_names = argv + optind; - args->arg_count = argc - optind; - } - - return; -} diff --git a/Build/source/extra/xz/src/xz/args.h b/Build/source/extra/xz/src/xz/args.h deleted file mode 100644 index b23f4ef12c9..00000000000 --- a/Build/source/extra/xz/src/xz/args.h +++ /dev/null @@ -1,42 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file args.h -/// \brief Argument parsing -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -typedef struct { - /// Filenames from command line - char **arg_names; - - /// Number of filenames from command line - size_t arg_count; - - /// Name of the file from which to read filenames. This is NULL - /// if --files or --files0 was not used. - char *files_name; - - /// File opened for reading from which filenames are read. This is - /// non-NULL only if files_name is non-NULL. - FILE *files_file; - - /// Delimiter for filenames read from files_file - char files_delim; - -} args_info; - - -extern bool opt_stdout; -extern bool opt_force; -extern bool opt_keep_original; -// extern bool opt_recursive; -extern bool opt_robot; - -extern const char stdin_filename[]; - -extern void args_parse(args_info *args, int argc, char **argv); diff --git a/Build/source/extra/xz/src/xz/coder.c b/Build/source/extra/xz/src/xz/coder.c deleted file mode 100644 index e0867e2aa29..00000000000 --- a/Build/source/extra/xz/src/xz/coder.c +++ /dev/null @@ -1,673 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file coder.c -/// \brief Compresses or uncompresses a file -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - - -/// Return value type for coder_init(). -enum coder_init_ret { - CODER_INIT_NORMAL, - CODER_INIT_PASSTHRU, - CODER_INIT_ERROR, -}; - - -enum operation_mode opt_mode = MODE_COMPRESS; -enum format_type opt_format = FORMAT_AUTO; -bool opt_auto_adjust = true; - - -/// Stream used to communicate with liblzma -static lzma_stream strm = LZMA_STREAM_INIT; - -/// Filters needed for all encoding all formats, and also decoding in raw data -static lzma_filter filters[LZMA_FILTERS_MAX + 1]; - -/// Input and output buffers -static io_buf in_buf; -static io_buf out_buf; - -/// Number of filters. Zero indicates that we are using a preset. -static uint32_t filters_count = 0; - -/// Number of the preset (0-9) -static uint32_t preset_number = LZMA_PRESET_DEFAULT; - -/// Integrity check type -static lzma_check check; - -/// This becomes false if the --check=CHECK option is used. -static bool check_default = true; - - -extern void -coder_set_check(lzma_check new_check) -{ - check = new_check; - check_default = false; - return; -} - - -static void -forget_filter_chain(void) -{ - // Setting a preset makes us forget a possibly defined custom - // filter chain. - while (filters_count > 0) { - --filters_count; - free(filters[filters_count].options); - filters[filters_count].options = NULL; - } - - return; -} - - -extern void -coder_set_preset(uint32_t new_preset) -{ - preset_number &= ~LZMA_PRESET_LEVEL_MASK; - preset_number |= new_preset; - forget_filter_chain(); - return; -} - - -extern void -coder_set_extreme(void) -{ - preset_number |= LZMA_PRESET_EXTREME; - forget_filter_chain(); - return; -} - - -extern void -coder_add_filter(lzma_vli id, void *options) -{ - if (filters_count == LZMA_FILTERS_MAX) - message_fatal(_("Maximum number of filters is four")); - - filters[filters_count].id = id; - filters[filters_count].options = options; - ++filters_count; - - // Setting a custom filter chain makes us forget the preset options. - // This makes a difference if one specifies e.g. "xz -9 --lzma2 -e" - // where the custom filter chain resets the preset level back to - // the default 6, making the example equivalent to "xz -6e". - preset_number = LZMA_PRESET_DEFAULT; - - return; -} - - -static void lzma_attribute((__noreturn__)) -memlimit_too_small(uint64_t memory_usage) -{ - message(V_ERROR, _("Memory usage limit is too low for the given " - "filter setup.")); - message_mem_needed(V_ERROR, memory_usage); - tuklib_exit(E_ERROR, E_ERROR, false); -} - - -extern void -coder_set_compression_settings(void) -{ - // Options for LZMA1 or LZMA2 in case we are using a preset. - static lzma_options_lzma opt_lzma; - - if (filters_count == 0) { - // We are using a preset. This is not a good idea in raw mode - // except when playing around with things. Different versions - // of this software may use different options in presets, and - // thus make uncompressing the raw data difficult. - if (opt_format == FORMAT_RAW) { - // The message is shown only if warnings are allowed - // but the exit status isn't changed. - message(V_WARNING, _("Using a preset in raw mode " - "is discouraged.")); - message(V_WARNING, _("The exact options of the " - "presets may vary between software " - "versions.")); - } - - // Get the preset for LZMA1 or LZMA2. - if (lzma_lzma_preset(&opt_lzma, preset_number)) - message_bug(); - - // Use LZMA2 except with --format=lzma we use LZMA1. - filters[0].id = opt_format == FORMAT_LZMA - ? LZMA_FILTER_LZMA1 : LZMA_FILTER_LZMA2; - filters[0].options = &opt_lzma; - filters_count = 1; - } - - // Terminate the filter options array. - filters[filters_count].id = LZMA_VLI_UNKNOWN; - - // If we are using the .lzma format, allow exactly one filter - // which has to be LZMA1. - if (opt_format == FORMAT_LZMA && (filters_count != 1 - || filters[0].id != LZMA_FILTER_LZMA1)) - message_fatal(_("The .lzma format supports only " - "the LZMA1 filter")); - - // If we are using the .xz format, make sure that there is no LZMA1 - // filter to prevent LZMA_PROG_ERROR. - if (opt_format == FORMAT_XZ) - for (size_t i = 0; i < filters_count; ++i) - if (filters[i].id == LZMA_FILTER_LZMA1) - message_fatal(_("LZMA1 cannot be used " - "with the .xz format")); - - // Print the selected filter chain. - message_filters_show(V_DEBUG, filters); - - // If using --format=raw, we can be decoding. The memusage function - // also validates the filter chain and the options used for the - // filters. - const uint64_t memory_limit = hardware_memlimit_get(opt_mode); - uint64_t memory_usage; - if (opt_mode == MODE_COMPRESS) - memory_usage = lzma_raw_encoder_memusage(filters); - else - memory_usage = lzma_raw_decoder_memusage(filters); - - if (memory_usage == UINT64_MAX) - message_fatal(_("Unsupported filter chain or filter options")); - - // Print memory usage info before possible dictionary - // size auto-adjusting. - message_mem_needed(V_DEBUG, memory_usage); - if (opt_mode == MODE_COMPRESS) { - const uint64_t decmem = lzma_raw_decoder_memusage(filters); - if (decmem != UINT64_MAX) - message(V_DEBUG, _("Decompression will need " - "%s MiB of memory."), uint64_to_str( - round_up_to_mib(decmem), 0)); - } - - if (memory_usage > memory_limit) { - // If --no-auto-adjust was used or we didn't find LZMA1 or - // LZMA2 as the last filter, give an error immediately. - // --format=raw implies --no-auto-adjust. - if (!opt_auto_adjust || opt_format == FORMAT_RAW) - memlimit_too_small(memory_usage); - - assert(opt_mode == MODE_COMPRESS); - - // Look for the last filter if it is LZMA2 or LZMA1, so - // we can make it use less RAM. With other filters we don't - // know what to do. - size_t i = 0; - while (filters[i].id != LZMA_FILTER_LZMA2 - && filters[i].id != LZMA_FILTER_LZMA1) { - if (filters[i].id == LZMA_VLI_UNKNOWN) - memlimit_too_small(memory_usage); - - ++i; - } - - // Decrease the dictionary size until we meet the memory - // usage limit. First round down to full mebibytes. - lzma_options_lzma *opt = filters[i].options; - const uint32_t orig_dict_size = opt->dict_size; - opt->dict_size &= ~((UINT32_C(1) << 20) - 1); - while (true) { - // If it is below 1 MiB, auto-adjusting failed. We - // could be more sophisticated and scale it down even - // more, but let's see if many complain about this - // version. - // - // FIXME: Displays the scaled memory usage instead - // of the original. - if (opt->dict_size < (UINT32_C(1) << 20)) - memlimit_too_small(memory_usage); - - memory_usage = lzma_raw_encoder_memusage(filters); - if (memory_usage == UINT64_MAX) - message_bug(); - - // Accept it if it is low enough. - if (memory_usage <= memory_limit) - break; - - // Otherwise 1 MiB down and try again. I hope this - // isn't too slow method for cases where the original - // dict_size is very big. - opt->dict_size -= UINT32_C(1) << 20; - } - - // Tell the user that we decreased the dictionary size. - message(V_WARNING, _("Adjusted LZMA%c dictionary size " - "from %s MiB to %s MiB to not exceed " - "the memory usage limit of %s MiB"), - filters[i].id == LZMA_FILTER_LZMA2 - ? '2' : '1', - uint64_to_str(orig_dict_size >> 20, 0), - uint64_to_str(opt->dict_size >> 20, 1), - uint64_to_str(round_up_to_mib( - memory_limit), 2)); - } - -/* - // Limit the number of worker threads so that memory usage - // limit isn't exceeded. - assert(memory_usage > 0); - size_t thread_limit = memory_limit / memory_usage; - if (thread_limit == 0) - thread_limit = 1; - - if (opt_threads > thread_limit) - opt_threads = thread_limit; -*/ - - if (check_default) { - // The default check type is CRC64, but fallback to CRC32 - // if CRC64 isn't supported by the copy of liblzma we are - // using. CRC32 is always supported. - check = LZMA_CHECK_CRC64; - if (!lzma_check_is_supported(check)) - check = LZMA_CHECK_CRC32; - } - - return; -} - - -/// Return true if the data in in_buf seems to be in the .xz format. -static bool -is_format_xz(void) -{ - // Specify the magic as hex to be compatible with EBCDIC systems. - static const uint8_t magic[6] = { 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00 }; - return strm.avail_in >= sizeof(magic) - && memcmp(in_buf.u8, magic, sizeof(magic)) == 0; -} - - -/// Return true if the data in in_buf seems to be in the .lzma format. -static bool -is_format_lzma(void) -{ - // The .lzma header is 13 bytes. - if (strm.avail_in < 13) - return false; - - // Decode the LZMA1 properties. - lzma_filter filter = { .id = LZMA_FILTER_LZMA1 }; - if (lzma_properties_decode(&filter, NULL, in_buf.u8, 5) != LZMA_OK) - return false; - - // A hack to ditch tons of false positives: We allow only dictionary - // sizes that are 2^n or 2^n + 2^(n-1) or UINT32_MAX. LZMA_Alone - // created only files with 2^n, but accepts any dictionary size. - // If someone complains, this will be reconsidered. - lzma_options_lzma *opt = filter.options; - const uint32_t dict_size = opt->dict_size; - free(opt); - - if (dict_size != UINT32_MAX) { - uint32_t d = dict_size - 1; - d |= d >> 2; - d |= d >> 3; - d |= d >> 4; - d |= d >> 8; - d |= d >> 16; - ++d; - if (d != dict_size || dict_size == 0) - return false; - } - - // Another hack to ditch false positives: Assume that if the - // uncompressed size is known, it must be less than 256 GiB. - // Again, if someone complains, this will be reconsidered. - uint64_t uncompressed_size = 0; - for (size_t i = 0; i < 8; ++i) - uncompressed_size |= (uint64_t)(in_buf.u8[5 + i]) << (i * 8); - - if (uncompressed_size != UINT64_MAX - && uncompressed_size > (UINT64_C(1) << 38)) - return false; - - return true; -} - - -/// Detect the input file type (for now, this done only when decompressing), -/// and initialize an appropriate coder. Return value indicates if a normal -/// liblzma-based coder was initialized (CODER_INIT_NORMAL), if passthru -/// mode should be used (CODER_INIT_PASSTHRU), or if an error occurred -/// (CODER_INIT_ERROR). -static enum coder_init_ret -coder_init(file_pair *pair) -{ - lzma_ret ret = LZMA_PROG_ERROR; - - if (opt_mode == MODE_COMPRESS) { - switch (opt_format) { - case FORMAT_AUTO: - // args.c ensures this. - assert(0); - break; - - case FORMAT_XZ: - ret = lzma_stream_encoder(&strm, filters, check); - break; - - case FORMAT_LZMA: - ret = lzma_alone_encoder(&strm, filters[0].options); - break; - - case FORMAT_RAW: - ret = lzma_raw_encoder(&strm, filters); - break; - } - } else { - const uint32_t flags = LZMA_TELL_UNSUPPORTED_CHECK - | LZMA_CONCATENATED; - - // We abuse FORMAT_AUTO to indicate unknown file format, - // for which we may consider passthru mode. - enum format_type init_format = FORMAT_AUTO; - - switch (opt_format) { - case FORMAT_AUTO: - if (is_format_xz()) - init_format = FORMAT_XZ; - else if (is_format_lzma()) - init_format = FORMAT_LZMA; - break; - - case FORMAT_XZ: - if (is_format_xz()) - init_format = FORMAT_XZ; - break; - - case FORMAT_LZMA: - if (is_format_lzma()) - init_format = FORMAT_LZMA; - break; - - case FORMAT_RAW: - init_format = FORMAT_RAW; - break; - } - - switch (init_format) { - case FORMAT_AUTO: - // Uknown file format. If --decompress --stdout - // --force have been given, then we copy the input - // as is to stdout. Checking for MODE_DECOMPRESS - // is needed, because we don't want to do use - // passthru mode with --test. - if (opt_mode == MODE_DECOMPRESS - && opt_stdout && opt_force) - return CODER_INIT_PASSTHRU; - - ret = LZMA_FORMAT_ERROR; - break; - - case FORMAT_XZ: - ret = lzma_stream_decoder(&strm, - hardware_memlimit_get( - MODE_DECOMPRESS), flags); - break; - - case FORMAT_LZMA: - ret = lzma_alone_decoder(&strm, - hardware_memlimit_get( - MODE_DECOMPRESS)); - break; - - case FORMAT_RAW: - // Memory usage has already been checked in - // coder_set_compression_settings(). - ret = lzma_raw_decoder(&strm, filters); - break; - } - - // Try to decode the headers. This will catch too low - // memory usage limit in case it happens in the first - // Block of the first Stream, which is where it very - // probably will happen if it is going to happen. - if (ret == LZMA_OK && init_format != FORMAT_RAW) { - strm.next_out = NULL; - strm.avail_out = 0; - ret = lzma_code(&strm, LZMA_RUN); - } - } - - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, message_strm(ret)); - if (ret == LZMA_MEMLIMIT_ERROR) - message_mem_needed(V_ERROR, lzma_memusage(&strm)); - - return CODER_INIT_ERROR; - } - - return CODER_INIT_NORMAL; -} - - -/// Compress or decompress using liblzma. -static bool -coder_normal(file_pair *pair) -{ - // Encoder needs to know when we have given all the input to it. - // The decoders need to know it too when we are using - // LZMA_CONCATENATED. We need to check for src_eof here, because - // the first input chunk has been already read, and that may - // have been the only chunk we will read. - lzma_action action = pair->src_eof ? LZMA_FINISH : LZMA_RUN; - - lzma_ret ret; - - // Assume that something goes wrong. - bool success = false; - - strm.next_out = out_buf.u8; - strm.avail_out = IO_BUFFER_SIZE; - - while (!user_abort) { - // Fill the input buffer if it is empty and we haven't reached - // end of file yet. - if (strm.avail_in == 0 && !pair->src_eof) { - strm.next_in = in_buf.u8; - strm.avail_in = io_read( - pair, &in_buf, IO_BUFFER_SIZE); - - if (strm.avail_in == SIZE_MAX) - break; - - if (pair->src_eof) - action = LZMA_FINISH; - } - - // Let liblzma do the actual work. - ret = lzma_code(&strm, action); - - // Write out if the output buffer became full. - if (strm.avail_out == 0) { - if (opt_mode != MODE_TEST && io_write(pair, &out_buf, - IO_BUFFER_SIZE - strm.avail_out)) - break; - - strm.next_out = out_buf.u8; - strm.avail_out = IO_BUFFER_SIZE; - } - - if (ret != LZMA_OK) { - // Determine if the return value indicates that we - // won't continue coding. - const bool stop = ret != LZMA_NO_CHECK - && ret != LZMA_UNSUPPORTED_CHECK; - - if (stop) { - // Write the remaining bytes even if something - // went wrong, because that way the user gets - // as much data as possible, which can be good - // when trying to get at least some useful - // data out of damaged files. - if (opt_mode != MODE_TEST && io_write(pair, - &out_buf, IO_BUFFER_SIZE - - strm.avail_out)) - break; - } - - if (ret == LZMA_STREAM_END) { - // Check that there is no trailing garbage. - // This is needed for LZMA_Alone and raw - // streams. - if (strm.avail_in == 0 && !pair->src_eof) { - // Try reading one more byte. - // Hopefully we don't get any more - // input, and thus pair->src_eof - // becomes true. - strm.avail_in = io_read( - pair, &in_buf, 1); - if (strm.avail_in == SIZE_MAX) - break; - - assert(strm.avail_in == 0 - || strm.avail_in == 1); - } - - if (strm.avail_in == 0) { - assert(pair->src_eof); - success = true; - break; - } - - // We hadn't reached the end of the file. - ret = LZMA_DATA_ERROR; - assert(stop); - } - - // If we get here and stop is true, something went - // wrong and we print an error. Otherwise it's just - // a warning and coding can continue. - if (stop) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - } else { - message_warning("%s: %s", pair->src_name, - message_strm(ret)); - - // When compressing, all possible errors set - // stop to true. - assert(opt_mode != MODE_COMPRESS); - } - - if (ret == LZMA_MEMLIMIT_ERROR) { - // Display how much memory it would have - // actually needed. - message_mem_needed(V_ERROR, - lzma_memusage(&strm)); - } - - if (stop) - break; - } - - // Show progress information under certain conditions. - message_progress_update(); - } - - return success; -} - - -/// Copy from input file to output file without processing the data in any -/// way. This is used only when trying to decompress unrecognized files -/// with --decompress --stdout --force, so the output is always stdout. -static bool -coder_passthru(file_pair *pair) -{ - while (strm.avail_in != 0) { - if (user_abort) - return false; - - if (io_write(pair, &in_buf, strm.avail_in)) - return false; - - strm.total_in += strm.avail_in; - strm.total_out = strm.total_in; - message_progress_update(); - - strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE); - if (strm.avail_in == SIZE_MAX) - return false; - } - - return true; -} - - -extern void -coder_run(const char *filename) -{ - // Set and possibly print the filename for the progress message. - message_filename(filename); - - // Try to open the input file. - file_pair *pair = io_open_src(filename); - if (pair == NULL) - return; - - // Assume that something goes wrong. - bool success = false; - - // Read the first chunk of input data. This is needed to detect - // the input file type (for now, only for decompression). - strm.next_in = in_buf.u8; - strm.avail_in = io_read(pair, &in_buf, IO_BUFFER_SIZE); - - if (strm.avail_in != SIZE_MAX) { - // Initialize the coder. This will detect the file format - // and, in decompression or testing mode, check the memory - // usage of the first Block too. This way we don't try to - // open the destination file if we see that coding wouldn't - // work at all anyway. This also avoids deleting the old - // "target" file if --force was used. - const enum coder_init_ret init_ret = coder_init(pair); - - if (init_ret != CODER_INIT_ERROR && !user_abort) { - // Don't open the destination file when --test - // is used. - if (opt_mode == MODE_TEST || !io_open_dest(pair)) { - // Initialize the progress indicator. - const uint64_t in_size - = pair->src_st.st_size <= 0 - ? 0 : pair->src_st.st_size; - message_progress_start(&strm, in_size); - - // Do the actual coding or passthru. - if (init_ret == CODER_INIT_NORMAL) - success = coder_normal(pair); - else - success = coder_passthru(pair); - - message_progress_end(success); - } - } - } - - // Close the file pair. It needs to know if coding was successful to - // know if the source or target file should be unlinked. - io_close(pair, success); - - return; -} diff --git a/Build/source/extra/xz/src/xz/coder.h b/Build/source/extra/xz/src/xz/coder.h deleted file mode 100644 index 2d3add97274..00000000000 --- a/Build/source/extra/xz/src/xz/coder.h +++ /dev/null @@ -1,61 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file coder.h -/// \brief Compresses or uncompresses a file -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -enum operation_mode { - MODE_COMPRESS, - MODE_DECOMPRESS, - MODE_TEST, - MODE_LIST, -}; - - -// NOTE: The order of these is significant in suffix.c. -enum format_type { - FORMAT_AUTO, - FORMAT_XZ, - FORMAT_LZMA, - // HEADER_GZIP, - FORMAT_RAW, -}; - - -/// Operation mode of the command line tool. This is set in args.c and read -/// in several files. -extern enum operation_mode opt_mode; - -/// File format to use when encoding or what format(s) to accept when -/// decoding. This is a global because it's needed also in suffix.c. -/// This is set in args.c. -extern enum format_type opt_format; - -/// If true, the compression settings are automatically adjusted down if -/// they exceed the memory usage limit. -extern bool opt_auto_adjust; - - -/// Set the integrity check type used when compressing -extern void coder_set_check(lzma_check check); - -/// Set preset number -extern void coder_set_preset(uint32_t new_preset); - -/// Enable extreme mode -extern void coder_set_extreme(void); - -/// Add a filter to the custom filter chain -extern void coder_add_filter(lzma_vli id, void *options); - -/// -extern void coder_set_compression_settings(void); - -/// Compress or decompress the given file -extern void coder_run(const char *filename); diff --git a/Build/source/extra/xz/src/xz/file_io.c b/Build/source/extra/xz/src/xz/file_io.c deleted file mode 100644 index 871a099b619..00000000000 --- a/Build/source/extra/xz/src/xz/file_io.c +++ /dev/null @@ -1,955 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file file_io.c -/// \brief File opening, unlinking, and closing -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - -#include - -#ifdef TUKLIB_DOSLIKE -# include -#else -static bool warn_fchown; -#endif - -#if defined(HAVE_FUTIMES) || defined(HAVE_FUTIMESAT) || defined(HAVE_UTIMES) -# include -#elif defined(HAVE_UTIME) -# include -#endif - -#include "tuklib_open_stdxxx.h" - -#ifndef O_BINARY -# define O_BINARY 0 -#endif - -#ifndef O_NOCTTY -# define O_NOCTTY 0 -#endif - - -/// If true, try to create sparse files when decompressing. -static bool try_sparse = true; - -#ifndef TUKLIB_DOSLIKE -/// Original file status flags of standard output. This is used by -/// io_open_dest() and io_close_dest() to save and restore the flags. -static int stdout_flags; -static bool restore_stdout_flags = false; -#endif - - -static bool io_write_buf(file_pair *pair, const uint8_t *buf, size_t size); - - -extern void -io_init(void) -{ - // Make sure that stdin, stdout, and stderr are connected to - // a valid file descriptor. Exit immediately with exit code ERROR - // if we cannot make the file descriptors valid. Maybe we should - // print an error message, but our stderr could be screwed anyway. - tuklib_open_stdxxx(E_ERROR); - -#ifndef TUKLIB_DOSLIKE - // If fchown() fails setting the owner, we warn about it only if - // we are root. - warn_fchown = geteuid() == 0; -#endif - -#ifdef __DJGPP__ - // Avoid doing useless things when statting files. - // This isn't important but doesn't hurt. - _djstat_flags = _STAT_INODE | _STAT_EXEC_EXT - | _STAT_EXEC_MAGIC | _STAT_DIRSIZE; -#endif - - return; -} - - -extern void -io_no_sparse(void) -{ - try_sparse = false; - return; -} - - -/// \brief Unlink a file -/// -/// This tries to verify that the file being unlinked really is the file that -/// we want to unlink by verifying device and inode numbers. There's still -/// a small unavoidable race, but this is much better than nothing (the file -/// could have been moved/replaced even hours earlier). -static void -io_unlink(const char *name, const struct stat *known_st) -{ -#if defined(TUKLIB_DOSLIKE) - // On DOS-like systems, st_ino is meaningless, so don't bother - // testing it. Just silence a compiler warning. - (void)known_st; -#else - struct stat new_st; - - // If --force was used, use stat() instead of lstat(). This way - // (de)compressing symlinks works correctly. However, it also means - // that xz cannot detect if a regular file foo is renamed to bar - // and then a symlink foo -> bar is created. Because of stat() - // instead of lstat(), xz will think that foo hasn't been replaced - // with another file. Thus, xz will remove foo even though it no - // longer is the same file that xz used when it started compressing. - // Probably it's not too bad though, so this doesn't need a more - // complex fix. - const int stat_ret = opt_force - ? stat(name, &new_st) : lstat(name, &new_st); - - if (stat_ret -# ifdef __VMS - // st_ino is an array, and we don't want to - // compare st_dev at all. - || memcmp(&new_st.st_ino, &known_st->st_ino, - sizeof(new_st.st_ino)) != 0 -# else - // Typical POSIX-like system - || new_st.st_dev != known_st->st_dev - || new_st.st_ino != known_st->st_ino -# endif - ) - // TRANSLATORS: When compression or decompression finishes, - // and xz is going to remove the source file, xz first checks - // if the source file still exists, and if it does, does its - // device and inode numbers match what xz saw when it opened - // the source file. If these checks fail, this message is - // shown, %s being the filename, and the file is not deleted. - // The check for device and inode numbers is there, because - // it is possible that the user has put a new file in place - // of the original file, and in that case it obviously - // shouldn't be removed. - message_error(_("%s: File seems to have been moved, " - "not removing"), name); - else -#endif - // There's a race condition between lstat() and unlink() - // but at least we have tried to avoid removing wrong file. - if (unlink(name)) - message_error(_("%s: Cannot remove: %s"), - name, strerror(errno)); - - return; -} - - -/// \brief Copies owner/group and permissions -/// -/// \todo ACL and EA support -/// -static void -io_copy_attrs(const file_pair *pair) -{ - // Skip chown and chmod on Windows. -#ifndef TUKLIB_DOSLIKE - // This function is more tricky than you may think at first. - // Blindly copying permissions may permit users to access the - // destination file who didn't have permission to access the - // source file. - - // Try changing the owner of the file. If we aren't root or the owner - // isn't already us, fchown() probably doesn't succeed. We warn - // about failing fchown() only if we are root. - if (fchown(pair->dest_fd, pair->src_st.st_uid, -1) && warn_fchown) - message_warning(_("%s: Cannot set the file owner: %s"), - pair->dest_name, strerror(errno)); - - mode_t mode; - - if (fchown(pair->dest_fd, -1, pair->src_st.st_gid)) { - message_warning(_("%s: Cannot set the file group: %s"), - pair->dest_name, strerror(errno)); - // We can still safely copy some additional permissions: - // `group' must be at least as strict as `other' and - // also vice versa. - // - // NOTE: After this, the owner of the source file may - // get additional permissions. This shouldn't be too bad, - // because the owner would have had permission to chmod - // the original file anyway. - mode = ((pair->src_st.st_mode & 0070) >> 3) - & (pair->src_st.st_mode & 0007); - mode = (pair->src_st.st_mode & 0700) | (mode << 3) | mode; - } else { - // Drop the setuid, setgid, and sticky bits. - mode = pair->src_st.st_mode & 0777; - } - - if (fchmod(pair->dest_fd, mode)) - message_warning(_("%s: Cannot set the file permissions: %s"), - pair->dest_name, strerror(errno)); -#endif - - // Copy the timestamps. We have several possible ways to do this, of - // which some are better in both security and precision. - // - // First, get the nanosecond part of the timestamps. As of writing, - // it's not standardized by POSIX, and there are several names for - // the same thing in struct stat. - long atime_nsec; - long mtime_nsec; - -# if defined(HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC) - // GNU and Solaris - atime_nsec = pair->src_st.st_atim.tv_nsec; - mtime_nsec = pair->src_st.st_mtim.tv_nsec; - -# elif defined(HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC) - // BSD - atime_nsec = pair->src_st.st_atimespec.tv_nsec; - mtime_nsec = pair->src_st.st_mtimespec.tv_nsec; - -# elif defined(HAVE_STRUCT_STAT_ST_ATIMENSEC) - // GNU and BSD without extensions - atime_nsec = pair->src_st.st_atimensec; - mtime_nsec = pair->src_st.st_mtimensec; - -# elif defined(HAVE_STRUCT_STAT_ST_UATIME) - // Tru64 - atime_nsec = pair->src_st.st_uatime * 1000; - mtime_nsec = pair->src_st.st_umtime * 1000; - -# elif defined(HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC) - // UnixWare - atime_nsec = pair->src_st.st_atim.st__tim.tv_nsec; - mtime_nsec = pair->src_st.st_mtim.st__tim.tv_nsec; - -# else - // Safe fallback - atime_nsec = 0; - mtime_nsec = 0; -# endif - - // Construct a structure to hold the timestamps and call appropriate - // function to set the timestamps. -#if defined(HAVE_FUTIMENS) - // Use nanosecond precision. - struct timespec tv[2]; - tv[0].tv_sec = pair->src_st.st_atime; - tv[0].tv_nsec = atime_nsec; - tv[1].tv_sec = pair->src_st.st_mtime; - tv[1].tv_nsec = mtime_nsec; - - (void)futimens(pair->dest_fd, tv); - -#elif defined(HAVE_FUTIMES) || defined(HAVE_FUTIMESAT) || defined(HAVE_UTIMES) - // Use microsecond precision. - struct timeval tv[2]; - tv[0].tv_sec = pair->src_st.st_atime; - tv[0].tv_usec = atime_nsec / 1000; - tv[1].tv_sec = pair->src_st.st_mtime; - tv[1].tv_usec = mtime_nsec / 1000; - -# if defined(HAVE_FUTIMES) - (void)futimes(pair->dest_fd, tv); -# elif defined(HAVE_FUTIMESAT) - (void)futimesat(pair->dest_fd, NULL, tv); -# else - // Argh, no function to use a file descriptor to set the timestamp. - (void)utimes(pair->dest_name, tv); -# endif - -#elif defined(HAVE_UTIME) - // Use one-second precision. utime() doesn't support using file - // descriptor either. Some systems have broken utime() prototype - // so don't make this const. - struct utimbuf buf = { - .actime = pair->src_st.st_atime, - .modtime = pair->src_st.st_mtime, - }; - - // Avoid warnings. - (void)atime_nsec; - (void)mtime_nsec; - - (void)utime(pair->dest_name, &buf); -#endif - - return; -} - - -/// Opens the source file. Returns false on success, true on error. -static bool -io_open_src_real(file_pair *pair) -{ - // There's nothing to open when reading from stdin. - if (pair->src_name == stdin_filename) { - pair->src_fd = STDIN_FILENO; -#ifdef TUKLIB_DOSLIKE - setmode(STDIN_FILENO, O_BINARY); -#endif - return false; - } - - // Symlinks are not followed unless writing to stdout or --force - // was used. - const bool follow_symlinks = opt_stdout || opt_force; - - // We accept only regular files if we are writing the output - // to disk too. bzip2 allows overriding this with --force but - // gzip and xz don't. - const bool reg_files_only = !opt_stdout; - - // Flags for open() - int flags = O_RDONLY | O_BINARY | O_NOCTTY; - -#ifndef TUKLIB_DOSLIKE - // If we accept only regular files, we need to be careful to avoid - // problems with special files like devices and FIFOs. O_NONBLOCK - // prevents blocking when opening such files. When we want to accept - // special files, we must not use O_NONBLOCK, or otherwise we won't - // block waiting e.g. FIFOs to become readable. - if (reg_files_only) - flags |= O_NONBLOCK; -#endif - -#if defined(O_NOFOLLOW) - if (!follow_symlinks) - flags |= O_NOFOLLOW; -#elif !defined(TUKLIB_DOSLIKE) - // Some POSIX-like systems lack O_NOFOLLOW (it's not required - // by POSIX). Check for symlinks with a separate lstat() on - // these systems. - if (!follow_symlinks) { - struct stat st; - if (lstat(pair->src_name, &st)) { - message_error("%s: %s", pair->src_name, - strerror(errno)); - return true; - - } else if (S_ISLNK(st.st_mode)) { - message_warning(_("%s: Is a symbolic link, " - "skipping"), pair->src_name); - return true; - } - } -#else - // Avoid warnings. - (void)follow_symlinks; -#endif - - // Try to open the file. If we are accepting non-regular files, - // unblock the caught signals so that open() can be interrupted - // if it blocks e.g. due to a FIFO file. - if (!reg_files_only) - signals_unblock(); - - // Maybe this wouldn't need a loop, since all the signal handlers for - // which we don't use SA_RESTART set user_abort to true. But it - // doesn't hurt to have it just in case. - do { - pair->src_fd = open(pair->src_name, flags); - } while (pair->src_fd == -1 && errno == EINTR && !user_abort); - - if (!reg_files_only) - signals_block(); - - if (pair->src_fd == -1) { - // If we were interrupted, don't display any error message. - if (errno == EINTR) { - // All the signals that don't have SA_RESTART - // set user_abort. - assert(user_abort); - return true; - } - -#ifdef O_NOFOLLOW - // Give an understandable error message if the reason - // for failing was that the file was a symbolic link. - // - // Note that at least Linux, OpenBSD, Solaris, and Darwin - // use ELOOP to indicate that O_NOFOLLOW was the reason - // that open() failed. Because there may be - // directories in the pathname, ELOOP may occur also - // because of a symlink loop in the directory part. - // So ELOOP doesn't tell us what actually went wrong, - // and this stupidity went into POSIX-1.2008 too. - // - // FreeBSD associates EMLINK with O_NOFOLLOW and - // Tru64 uses ENOTSUP. We use these directly here - // and skip the lstat() call and the associated race. - // I want to hear if there are other kernels that - // fail with something else than ELOOP with O_NOFOLLOW. - bool was_symlink = false; - -# if defined(__FreeBSD__) || defined(__DragonFly__) - if (errno == EMLINK) - was_symlink = true; - -# elif defined(__digital__) && defined(__unix__) - if (errno == ENOTSUP) - was_symlink = true; - -# elif defined(__NetBSD__) - if (errno == EFTYPE) - was_symlink = true; - -# else - if (errno == ELOOP && !follow_symlinks) { - const int saved_errno = errno; - struct stat st; - if (lstat(pair->src_name, &st) == 0 - && S_ISLNK(st.st_mode)) - was_symlink = true; - - errno = saved_errno; - } -# endif - - if (was_symlink) - message_warning(_("%s: Is a symbolic link, " - "skipping"), pair->src_name); - else -#endif - // Something else than O_NOFOLLOW failing - // (assuming that the race conditions didn't - // confuse us). - message_error("%s: %s", pair->src_name, - strerror(errno)); - - return true; - } - -#ifndef TUKLIB_DOSLIKE - // Drop O_NONBLOCK, which is used only when we are accepting only - // regular files. After the open() call, we want things to block - // instead of giving EAGAIN. - if (reg_files_only) { - flags = fcntl(pair->src_fd, F_GETFL); - if (flags == -1) - goto error_msg; - - flags &= ~O_NONBLOCK; - - if (fcntl(pair->src_fd, F_SETFL, flags) == -1) - goto error_msg; - } -#endif - - // Stat the source file. We need the result also when we copy - // the permissions, and when unlinking. - if (fstat(pair->src_fd, &pair->src_st)) - goto error_msg; - - if (S_ISDIR(pair->src_st.st_mode)) { - message_warning(_("%s: Is a directory, skipping"), - pair->src_name); - goto error; - } - - if (reg_files_only && !S_ISREG(pair->src_st.st_mode)) { - message_warning(_("%s: Not a regular file, skipping"), - pair->src_name); - goto error; - } - -#ifndef TUKLIB_DOSLIKE - if (reg_files_only && !opt_force) { - if (pair->src_st.st_mode & (S_ISUID | S_ISGID)) { - // gzip rejects setuid and setgid files even - // when --force was used. bzip2 doesn't check - // for them, but calls fchown() after fchmod(), - // and many systems automatically drop setuid - // and setgid bits there. - // - // We accept setuid and setgid files if - // --force was used. We drop these bits - // explicitly in io_copy_attr(). - message_warning(_("%s: File has setuid or " - "setgid bit set, skipping"), - pair->src_name); - goto error; - } - - if (pair->src_st.st_mode & S_ISVTX) { - message_warning(_("%s: File has sticky bit " - "set, skipping"), - pair->src_name); - goto error; - } - - if (pair->src_st.st_nlink > 1) { - message_warning(_("%s: Input file has more " - "than one hard link, " - "skipping"), pair->src_name); - goto error; - } - } -#endif - - return false; - -error_msg: - message_error("%s: %s", pair->src_name, strerror(errno)); -error: - (void)close(pair->src_fd); - return true; -} - - -extern file_pair * -io_open_src(const char *src_name) -{ - if (is_empty_filename(src_name)) - return NULL; - - // Since we have only one file open at a time, we can use - // a statically allocated structure. - static file_pair pair; - - pair = (file_pair){ - .src_name = src_name, - .dest_name = NULL, - .src_fd = -1, - .dest_fd = -1, - .src_eof = false, - .dest_try_sparse = false, - .dest_pending_sparse = 0, - }; - - // Block the signals, for which we have a custom signal handler, so - // that we don't need to worry about EINTR. - signals_block(); - const bool error = io_open_src_real(&pair); - signals_unblock(); - - return error ? NULL : &pair; -} - - -/// \brief Closes source file of the file_pair structure -/// -/// \param pair File whose src_fd should be closed -/// \param success If true, the file will be removed from the disk if -/// closing succeeds and --keep hasn't been used. -static void -io_close_src(file_pair *pair, bool success) -{ - if (pair->src_fd != STDIN_FILENO && pair->src_fd != -1) { -#ifdef TUKLIB_DOSLIKE - (void)close(pair->src_fd); -#endif - - // If we are going to unlink(), do it before closing the file. - // This way there's no risk that someone replaces the file and - // happens to get same inode number, which would make us - // unlink() wrong file. - // - // NOTE: DOS-like systems are an exception to this, because - // they don't allow unlinking files that are open. *sigh* - if (success && !opt_keep_original) - io_unlink(pair->src_name, &pair->src_st); - -#ifndef TUKLIB_DOSLIKE - (void)close(pair->src_fd); -#endif - } - - return; -} - - -static bool -io_open_dest_real(file_pair *pair) -{ - if (opt_stdout || pair->src_fd == STDIN_FILENO) { - // We don't modify or free() this. - pair->dest_name = (char *)"(stdout)"; - pair->dest_fd = STDOUT_FILENO; -#ifdef TUKLIB_DOSLIKE - setmode(STDOUT_FILENO, O_BINARY); -#endif - } else { - pair->dest_name = suffix_get_dest_name(pair->src_name); - if (pair->dest_name == NULL) - return true; - - // If --force was used, unlink the target file first. - if (opt_force && unlink(pair->dest_name) && errno != ENOENT) { - message_error(_("%s: Cannot remove: %s"), - pair->dest_name, strerror(errno)); - free(pair->dest_name); - return true; - } - - // Open the file. - const int flags = O_WRONLY | O_BINARY | O_NOCTTY - | O_CREAT | O_EXCL; - const mode_t mode = S_IRUSR | S_IWUSR; - pair->dest_fd = open(pair->dest_name, flags, mode); - - if (pair->dest_fd == -1) { - message_error("%s: %s", pair->dest_name, - strerror(errno)); - free(pair->dest_name); - return true; - } - } - - // If this really fails... well, we have a safe fallback. - if (fstat(pair->dest_fd, &pair->dest_st)) { -#if defined(__VMS) - pair->dest_st.st_ino[0] = 0; - pair->dest_st.st_ino[1] = 0; - pair->dest_st.st_ino[2] = 0; -#elif !defined(TUKLIB_DOSLIKE) - pair->dest_st.st_dev = 0; - pair->dest_st.st_ino = 0; -#endif -#ifndef TUKLIB_DOSLIKE - } else if (try_sparse && opt_mode == MODE_DECOMPRESS) { - // When writing to standard output, we need to be extra - // careful: - // - It may be connected to something else than - // a regular file. - // - We aren't necessarily writing to a new empty file - // or to the end of an existing file. - // - O_APPEND may be active. - // - // TODO: I'm keeping this disabled for DOS-like systems - // for now. FAT doesn't support sparse files, but NTFS - // does, so maybe this should be enabled on Windows after - // some testing. - if (pair->dest_fd == STDOUT_FILENO) { - if (!S_ISREG(pair->dest_st.st_mode)) - return false; - - stdout_flags = fcntl(STDOUT_FILENO, F_GETFL); - if (stdout_flags == -1) - return false; - - if (stdout_flags & O_APPEND) { - // Creating a sparse file is not possible - // when O_APPEND is active (it's used by - // shell's >> redirection). As I understand - // it, it is safe to temporarily disable - // O_APPEND in xz, because if someone - // happened to write to the same file at the - // same time, results would be bad anyway - // (users shouldn't assume that xz uses any - // specific block size when writing data). - // - // The write position may be something else - // than the end of the file, so we must fix - // it to start writing at the end of the file - // to imitate O_APPEND. - if (lseek(STDOUT_FILENO, 0, SEEK_END) == -1) - return false; - - if (fcntl(STDOUT_FILENO, F_SETFL, - stdout_flags & ~O_APPEND) - == -1) - return false; - - // Disabling O_APPEND succeeded. Mark - // that the flags should be restored - // in io_close_dest(). - restore_stdout_flags = true; - - } else if (lseek(STDOUT_FILENO, 0, SEEK_CUR) - != pair->dest_st.st_size) { - // Writing won't start exactly at the end - // of the file. We cannot use sparse output, - // because it would probably corrupt the file. - return false; - } - } - - pair->dest_try_sparse = true; -#endif - } - - return false; -} - - -extern bool -io_open_dest(file_pair *pair) -{ - signals_block(); - const bool ret = io_open_dest_real(pair); - signals_unblock(); - return ret; -} - - -/// \brief Closes destination file of the file_pair structure -/// -/// \param pair File whose dest_fd should be closed -/// \param success If false, the file will be removed from the disk. -/// -/// \return Zero if closing succeeds. On error, -1 is returned and -/// error message printed. -static bool -io_close_dest(file_pair *pair, bool success) -{ -#ifndef TUKLIB_DOSLIKE - // If io_open_dest() has disabled O_APPEND, restore it here. - if (restore_stdout_flags) { - assert(pair->dest_fd == STDOUT_FILENO); - - restore_stdout_flags = false; - - if (fcntl(STDOUT_FILENO, F_SETFL, stdout_flags) == -1) { - message_error(_("Error restoring the O_APPEND flag " - "to standard output: %s"), - strerror(errno)); - return true; - } - } -#endif - - if (pair->dest_fd == -1 || pair->dest_fd == STDOUT_FILENO) - return false; - - if (close(pair->dest_fd)) { - message_error(_("%s: Closing the file failed: %s"), - pair->dest_name, strerror(errno)); - - // Closing destination file failed, so we cannot trust its - // contents. Get rid of junk: - io_unlink(pair->dest_name, &pair->dest_st); - free(pair->dest_name); - return true; - } - - // If the operation using this file wasn't successful, we git rid - // of the junk file. - if (!success) - io_unlink(pair->dest_name, &pair->dest_st); - - free(pair->dest_name); - - return false; -} - - -extern void -io_close(file_pair *pair, bool success) -{ - // Take care of sparseness at the end of the output file. - if (success && pair->dest_try_sparse - && pair->dest_pending_sparse > 0) { - // Seek forward one byte less than the size of the pending - // hole, then write one zero-byte. This way the file grows - // to its correct size. An alternative would be to use - // ftruncate() but that isn't portable enough (e.g. it - // doesn't work with FAT on Linux; FAT isn't that important - // since it doesn't support sparse files anyway, but we don't - // want to create corrupt files on it). - if (lseek(pair->dest_fd, pair->dest_pending_sparse - 1, - SEEK_CUR) == -1) { - message_error(_("%s: Seeking failed when trying " - "to create a sparse file: %s"), - pair->dest_name, strerror(errno)); - success = false; - } else { - const uint8_t zero[1] = { '\0' }; - if (io_write_buf(pair, zero, 1)) - success = false; - } - } - - signals_block(); - - // Copy the file attributes. We need to skip this if destination - // file isn't open or it is standard output. - if (success && pair->dest_fd != -1 && pair->dest_fd != STDOUT_FILENO) - io_copy_attrs(pair); - - // Close the destination first. If it fails, we must not remove - // the source file! - if (io_close_dest(pair, success)) - success = false; - - // Close the source file, and unlink it if the operation using this - // file pair was successful and we haven't requested to keep the - // source file. - io_close_src(pair, success); - - signals_unblock(); - - return; -} - - -extern size_t -io_read(file_pair *pair, io_buf *buf_union, size_t size) -{ - // We use small buffers here. - assert(size < SSIZE_MAX); - - uint8_t *buf = buf_union->u8; - size_t left = size; - - while (left > 0) { - const ssize_t amount = read(pair->src_fd, buf, left); - - if (amount == 0) { - pair->src_eof = true; - break; - } - - if (amount == -1) { - if (errno == EINTR) { - if (user_abort) - return SIZE_MAX; - - continue; - } - - message_error(_("%s: Read error: %s"), - pair->src_name, strerror(errno)); - - // FIXME Is this needed? - pair->src_eof = true; - - return SIZE_MAX; - } - - buf += (size_t)(amount); - left -= (size_t)(amount); - } - - return size - left; -} - - -extern bool -io_pread(file_pair *pair, io_buf *buf, size_t size, off_t pos) -{ - // Using lseek() and read() is more portable than pread() and - // for us it is as good as real pread(). - if (lseek(pair->src_fd, pos, SEEK_SET) != pos) { - message_error(_("%s: Error seeking the file: %s"), - pair->src_name, strerror(errno)); - return true; - } - - const size_t amount = io_read(pair, buf, size); - if (amount == SIZE_MAX) - return true; - - if (amount != size) { - message_error(_("%s: Unexpected end of file"), - pair->src_name); - return true; - } - - return false; -} - - -static bool -is_sparse(const io_buf *buf) -{ - assert(IO_BUFFER_SIZE % sizeof(uint64_t) == 0); - - for (size_t i = 0; i < ARRAY_SIZE(buf->u64); ++i) - if (buf->u64[i] != 0) - return false; - - return true; -} - - -static bool -io_write_buf(file_pair *pair, const uint8_t *buf, size_t size) -{ - assert(size < SSIZE_MAX); - - while (size > 0) { - const ssize_t amount = write(pair->dest_fd, buf, size); - if (amount == -1) { - if (errno == EINTR) { - if (user_abort) - return true; - - continue; - } - - // Handle broken pipe specially. gzip and bzip2 - // don't print anything on SIGPIPE. In addition, - // gzip --quiet uses exit status 2 (warning) on - // broken pipe instead of whatever raise(SIGPIPE) - // would make it return. It is there to hide "Broken - // pipe" message on some old shells (probably old - // GNU bash). - // - // We don't do anything special with --quiet, which - // is what bzip2 does too. If we get SIGPIPE, we - // will handle it like other signals by setting - // user_abort, and get EPIPE here. - if (errno != EPIPE) - message_error(_("%s: Write error: %s"), - pair->dest_name, strerror(errno)); - - return true; - } - - buf += (size_t)(amount); - size -= (size_t)(amount); - } - - return false; -} - - -extern bool -io_write(file_pair *pair, const io_buf *buf, size_t size) -{ - assert(size <= IO_BUFFER_SIZE); - - if (pair->dest_try_sparse) { - // Check if the block is sparse (contains only zeros). If it - // sparse, we just store the amount and return. We will take - // care of actually skipping over the hole when we hit the - // next data block or close the file. - // - // Since io_close() requires that dest_pending_sparse > 0 - // if the file ends with sparse block, we must also return - // if size == 0 to avoid doing the lseek(). - if (size == IO_BUFFER_SIZE) { - if (is_sparse(buf)) { - pair->dest_pending_sparse += size; - return false; - } - } else if (size == 0) { - return false; - } - - // This is not a sparse block. If we have a pending hole, - // skip it now. - if (pair->dest_pending_sparse > 0) { - if (lseek(pair->dest_fd, pair->dest_pending_sparse, - SEEK_CUR) == -1) { - message_error(_("%s: Seeking failed when " - "trying to create a sparse " - "file: %s"), pair->dest_name, - strerror(errno)); - return true; - } - - pair->dest_pending_sparse = 0; - } - } - - return io_write_buf(pair, buf->u8, size); -} diff --git a/Build/source/extra/xz/src/xz/file_io.h b/Build/source/extra/xz/src/xz/file_io.h deleted file mode 100644 index 967da868b07..00000000000 --- a/Build/source/extra/xz/src/xz/file_io.h +++ /dev/null @@ -1,129 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file file_io.h -/// \brief I/O types and functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -// Some systems have suboptimal BUFSIZ. Use a bit bigger value on them. -// We also need that IO_BUFFER_SIZE is a multiple of 8 (sizeof(uint64_t)) -#if BUFSIZ <= 1024 -# define IO_BUFFER_SIZE 8192 -#else -# define IO_BUFFER_SIZE (BUFSIZ & ~7U) -#endif - - -/// is_sparse() accesses the buffer as uint64_t for maximum speed. -/// Use an union to make sure that the buffer is properly aligned. -typedef union { - uint8_t u8[IO_BUFFER_SIZE]; - uint32_t u32[IO_BUFFER_SIZE / sizeof(uint32_t)]; - uint64_t u64[IO_BUFFER_SIZE / sizeof(uint64_t)]; -} io_buf; - - -typedef struct { - /// Name of the source filename (as given on the command line) or - /// pointer to static "(stdin)" when reading from standard input. - const char *src_name; - - /// Destination filename converted from src_name or pointer to static - /// "(stdout)" when writing to standard output. - char *dest_name; - - /// File descriptor of the source file - int src_fd; - - /// File descriptor of the target file - int dest_fd; - - /// True once end of the source file has been detected. - bool src_eof; - - /// If true, we look for long chunks of zeros and try to create - /// a sparse file. - bool dest_try_sparse; - - /// This is used only if dest_try_sparse is true. This holds the - /// number of zero bytes we haven't written out, because we plan - /// to make that byte range a sparse chunk. - off_t dest_pending_sparse; - - /// Stat of the source file. - struct stat src_st; - - /// Stat of the destination file. - struct stat dest_st; - -} file_pair; - - -/// \brief Initialize the I/O module -extern void io_init(void); - - -/// \brief Disable creation of sparse files when decompressing -extern void io_no_sparse(void); - - -/// \brief Open the source file -extern file_pair *io_open_src(const char *src_name); - - -/// \brief Open the destination file -extern bool io_open_dest(file_pair *pair); - - -/// \brief Closes the file descriptors and frees possible allocated memory -/// -/// The success argument determines if source or destination file gets -/// unlinked: -/// - false: The destination file is unlinked. -/// - true: The source file is unlinked unless writing to stdout or --keep -/// was used. -extern void io_close(file_pair *pair, bool success); - - -/// \brief Reads from the source file to a buffer -/// -/// \param pair File pair having the source file open for reading -/// \param buf Destination buffer to hold the read data -/// \param size Size of the buffer; assumed be smaller than SSIZE_MAX -/// -/// \return On success, number of bytes read is returned. On end of -/// file zero is returned and pair->src_eof set to true. -/// On error, SIZE_MAX is returned and error message printed. -extern size_t io_read(file_pair *pair, io_buf *buf, size_t size); - - -/// \brief Read from source file from given offset to a buffer -/// -/// This is remotely similar to standard pread(). This uses lseek() though, -/// so the read offset is changed on each call. -/// -/// \param pair Seekable source file -/// \param buf Destination buffer -/// \param size Amount of data to read -/// \param pos Offset relative to the beginning of the file, -/// from which the data should be read. -/// -/// \return On success, false is returned. On error, error message -/// is printed and true is returned. -extern bool io_pread(file_pair *pair, io_buf *buf, size_t size, off_t pos); - - -/// \brief Writes a buffer to the destination file -/// -/// \param pair File pair having the destination file open for writing -/// \param buf Buffer containing the data to be written -/// \param size Size of the buffer; assumed be smaller than SSIZE_MAX -/// -/// \return On success, zero is returned. On error, -1 is returned -/// and error message printed. -extern bool io_write(file_pair *pair, const io_buf *buf, size_t size); diff --git a/Build/source/extra/xz/src/xz/hardware.c b/Build/source/extra/xz/src/xz/hardware.c deleted file mode 100644 index a4733c27e11..00000000000 --- a/Build/source/extra/xz/src/xz/hardware.c +++ /dev/null @@ -1,144 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file hardware.c -/// \brief Detection of available hardware resources -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" -#include "tuklib_cpucores.h" - - -/// Maximum number of free *coder* threads. This can be set with -/// the --threads=NUM command line option. -static uint32_t threadlimit; - -/// Memory usage limit for compression -static uint64_t memlimit_compress; - -/// Memory usage limit for decompression -static uint64_t memlimit_decompress; - -/// Total amount of physical RAM -static uint64_t total_ram; - - -extern void -hardware_threadlimit_set(uint32_t new_threadlimit) -{ - if (new_threadlimit == 0) { - // The default is the number of available CPU cores. - threadlimit = tuklib_cpucores(); - if (threadlimit == 0) - threadlimit = 1; - } else { - threadlimit = new_threadlimit; - } - - return; -} - - -extern uint32_t -hardware_threadlimit_get(void) -{ - return threadlimit; -} - - -extern void -hardware_memlimit_set(uint64_t new_memlimit, - bool set_compress, bool set_decompress, bool is_percentage) -{ - if (is_percentage) { - assert(new_memlimit > 0); - assert(new_memlimit <= 100); - new_memlimit = (uint32_t)new_memlimit * total_ram / 100; - } - - if (set_compress) - memlimit_compress = new_memlimit; - - if (set_decompress) - memlimit_decompress = new_memlimit; - - return; -} - - -extern uint64_t -hardware_memlimit_get(enum operation_mode mode) -{ - // Zero is a special value that indicates the default. Currently - // the default simply disables the limit. Once there is threading - // support, this might be a little more complex, because there will - // probably be a special case where a user asks for "optimal" number - // of threads instead of a specific number (this might even become - // the default mode). Each thread may use a significant amount of - // memory. When there are no memory usage limits set, we need some - // default soft limit for calculating the "optimal" number of - // threads. - const uint64_t memlimit = mode == MODE_COMPRESS - ? memlimit_compress : memlimit_decompress; - return memlimit != 0 ? memlimit : UINT64_MAX; -} - - -/// Helper for hardware_memlimit_show() to print one human-readable info line. -static void -memlimit_show(const char *str, uint64_t value) -{ - // The memory usage limit is considered to be disabled if value - // is 0 or UINT64_MAX. This might get a bit more complex once there - // is threading support. See the comment in hardware_memlimit_get(). - if (value == 0 || value == UINT64_MAX) - printf("%s %s\n", str, _("Disabled")); - else - printf("%s %s MiB (%s B)\n", str, - uint64_to_str(round_up_to_mib(value), 0), - uint64_to_str(value, 1)); - - return; -} - - -extern void -hardware_memlimit_show(void) -{ - if (opt_robot) { - printf("%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 "\n", total_ram, - memlimit_compress, memlimit_decompress); - } else { - // TRANSLATORS: Test with "xz --info-memory" to see if - // the alignment looks nice. - memlimit_show(_("Total amount of physical memory (RAM): "), - total_ram); - memlimit_show(_("Memory usage limit for compression: "), - memlimit_compress); - memlimit_show(_("Memory usage limit for decompression: "), - memlimit_decompress); - } - - tuklib_exit(E_SUCCESS, E_ERROR, message_verbosity_get() != V_SILENT); -} - - -extern void -hardware_init(void) -{ - // Get the amount of RAM. If we cannot determine it, - // use the assumption defined by the configure script. - total_ram = lzma_physmem(); - if (total_ram == 0) - total_ram = (uint64_t)(ASSUME_RAM) * 1024 * 1024; - - // Set the defaults. - hardware_memlimit_set(0, true, true, false); - hardware_threadlimit_set(0); - return; -} diff --git a/Build/source/extra/xz/src/xz/hardware.h b/Build/source/extra/xz/src/xz/hardware.h deleted file mode 100644 index ad526f260bc..00000000000 --- a/Build/source/extra/xz/src/xz/hardware.h +++ /dev/null @@ -1,38 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file hardware.h -/// \brief Detection of available hardware resources -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// Initialize some hardware-specific variables, which are needed by other -/// hardware_* functions. -extern void hardware_init(void); - - -/// Set custom value for maximum number of coder threads. -extern void hardware_threadlimit_set(uint32_t threadlimit); - -/// Get the maximum number of coder threads. Some additional helper threads -/// are allowed on top of this). -extern uint32_t hardware_threadlimit_get(void); - - -/// Set the memory usage limit. There are separate limits for compression -/// and decompression (the latter includes also --list), one or both can -/// be set with a single call to this function. Zero indicates resetting -/// the limit back to the defaults. The limit can also be set as a percentage -/// of installed RAM; the percentage must be in the range [1, 100]. -extern void hardware_memlimit_set(uint64_t new_memlimit, - bool set_compress, bool set_decompress, bool is_percentage); - -/// Get the current memory usage limit for compression or decompression. -extern uint64_t hardware_memlimit_get(enum operation_mode mode); - -/// Display the amount of RAM and memory usage limits and exit. -extern void hardware_memlimit_show(void) lzma_attribute((__noreturn__)); diff --git a/Build/source/extra/xz/src/xz/list.c b/Build/source/extra/xz/src/xz/list.c deleted file mode 100644 index 0e73d519ea4..00000000000 --- a/Build/source/extra/xz/src/xz/list.c +++ /dev/null @@ -1,1135 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file list.c -/// \brief Listing information about .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" -#include "tuklib_integer.h" - - -/// Information about a .xz file -typedef struct { - /// Combined Index of all Streams in the file - lzma_index *idx; - - /// Total amount of Stream Padding - uint64_t stream_padding; - - /// Highest memory usage so far - uint64_t memusage_max; - - /// True if all Blocks so far have Compressed Size and - /// Uncompressed Size fields - bool all_have_sizes; - -} xz_file_info; - -#define XZ_FILE_INFO_INIT { NULL, 0, 0, true } - - -/// Information about a .xz Block -typedef struct { - /// Size of the Block Header - uint32_t header_size; - - /// A few of the Block Flags as a string - char flags[3]; - - /// Size of the Compressed Data field in the Block - lzma_vli compressed_size; - - /// Decoder memory usage for this Block - uint64_t memusage; - - /// The filter chain of this Block in human-readable form - char filter_chain[FILTERS_STR_SIZE]; - -} block_header_info; - - -/// Check ID to string mapping -static const char check_names[LZMA_CHECK_ID_MAX + 1][12] = { - // TRANSLATORS: Indicates that there is no integrity check. - // This string is used in tables, so the width must not - // exceed ten columns with a fixed-width font. - N_("None"), - "CRC32", - // TRANSLATORS: Indicates that integrity check name is not known, - // but the Check ID is known (here 2). This and other "Unknown-N" - // strings are used in tables, so the width must not exceed ten - // columns with a fixed-width font. It's OK to omit the dash if - // you need space for one extra letter, but don't use spaces. - N_("Unknown-2"), - N_("Unknown-3"), - "CRC64", - N_("Unknown-5"), - N_("Unknown-6"), - N_("Unknown-7"), - N_("Unknown-8"), - N_("Unknown-9"), - "SHA-256", - N_("Unknown-11"), - N_("Unknown-12"), - N_("Unknown-13"), - N_("Unknown-14"), - N_("Unknown-15"), -}; - -/// Buffer size for get_check_names(). This may be a bit ridiculous, -/// but at least it's enough if some language needs many multibyte chars. -#define CHECKS_STR_SIZE 1024 - - -/// Value of the Check field as hexadecimal string. -/// This is set by parse_check_value(). -static char check_value[2 * LZMA_CHECK_SIZE_MAX + 1]; - - -/// Totals that are displayed if there was more than one file. -/// The "files" counter is also used in print_info_adv() to show -/// the file number. -static struct { - uint64_t files; - uint64_t streams; - uint64_t blocks; - uint64_t compressed_size; - uint64_t uncompressed_size; - uint64_t stream_padding; - uint64_t memusage_max; - uint32_t checks; - bool all_have_sizes; -} totals = { 0, 0, 0, 0, 0, 0, 0, 0, true }; - - -/// \brief Parse the Index(es) from the given .xz file -/// -/// \param xfi Pointer to structure where the decoded information -/// is stored. -/// \param pair Input file -/// -/// \return On success, false is returned. On error, true is returned. -/// -// TODO: This function is pretty big. liblzma should have a function that -// takes a callback function to parse the Index(es) from a .xz file to make -// it easy for applications. -static bool -parse_indexes(xz_file_info *xfi, file_pair *pair) -{ - if (pair->src_st.st_size <= 0) { - message_error(_("%s: File is empty"), pair->src_name); - return true; - } - - if (pair->src_st.st_size < 2 * LZMA_STREAM_HEADER_SIZE) { - message_error(_("%s: Too small to be a valid .xz file"), - pair->src_name); - return true; - } - - io_buf buf; - lzma_stream_flags header_flags; - lzma_stream_flags footer_flags; - lzma_ret ret; - - // lzma_stream for the Index decoder - lzma_stream strm = LZMA_STREAM_INIT; - - // All Indexes decoded so far - lzma_index *combined_index = NULL; - - // The Index currently being decoded - lzma_index *this_index = NULL; - - // Current position in the file. We parse the file backwards so - // initialize it to point to the end of the file. - off_t pos = pair->src_st.st_size; - - // Each loop iteration decodes one Index. - do { - // Check that there is enough data left to contain at least - // the Stream Header and Stream Footer. This check cannot - // fail in the first pass of this loop. - if (pos < 2 * LZMA_STREAM_HEADER_SIZE) { - message_error("%s: %s", pair->src_name, - message_strm(LZMA_DATA_ERROR)); - goto error; - } - - pos -= LZMA_STREAM_HEADER_SIZE; - lzma_vli stream_padding = 0; - - // Locate the Stream Footer. There may be Stream Padding which - // we must skip when reading backwards. - while (true) { - if (pos < LZMA_STREAM_HEADER_SIZE) { - message_error("%s: %s", pair->src_name, - message_strm( - LZMA_DATA_ERROR)); - goto error; - } - - if (io_pread(pair, &buf, - LZMA_STREAM_HEADER_SIZE, pos)) - goto error; - - // Stream Padding is always a multiple of four bytes. - int i = 2; - if (buf.u32[i] != 0) - break; - - // To avoid calling io_pread() for every four bytes - // of Stream Padding, take advantage that we read - // 12 bytes (LZMA_STREAM_HEADER_SIZE) already and - // check them too before calling io_pread() again. - do { - stream_padding += 4; - pos -= 4; - --i; - } while (i >= 0 && buf.u32[i] == 0); - } - - // Decode the Stream Footer. - ret = lzma_stream_footer_decode(&footer_flags, buf.u8); - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - goto error; - } - - // Check that the Stream Footer doesn't specify something - // that we don't support. This can only happen if the xz - // version is older than liblzma and liblzma supports - // something new. - // - // It is enough to check Stream Footer. Stream Header must - // match when it is compared against Stream Footer with - // lzma_stream_flags_compare(). - if (footer_flags.version != 0) { - message_error("%s: %s", pair->src_name, - message_strm(LZMA_OPTIONS_ERROR)); - goto error; - } - - // Check that the size of the Index field looks sane. - lzma_vli index_size = footer_flags.backward_size; - if ((lzma_vli)(pos) < index_size + LZMA_STREAM_HEADER_SIZE) { - message_error("%s: %s", pair->src_name, - message_strm(LZMA_DATA_ERROR)); - goto error; - } - - // Set pos to the beginning of the Index. - pos -= index_size; - - // See how much memory we can use for decoding this Index. - uint64_t memlimit = hardware_memlimit_get(MODE_LIST); - uint64_t memused = 0; - if (combined_index != NULL) { - memused = lzma_index_memused(combined_index); - if (memused > memlimit) - message_bug(); - - memlimit -= memused; - } - - // Decode the Index. - ret = lzma_index_decoder(&strm, &this_index, memlimit); - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - goto error; - } - - do { - // Don't give the decoder more input than the - // Index size. - strm.avail_in = my_min(IO_BUFFER_SIZE, index_size); - if (io_pread(pair, &buf, strm.avail_in, pos)) - goto error; - - pos += strm.avail_in; - index_size -= strm.avail_in; - - strm.next_in = buf.u8; - ret = lzma_code(&strm, LZMA_RUN); - - } while (ret == LZMA_OK); - - // If the decoding seems to be successful, check also that - // the Index decoder consumed as much input as indicated - // by the Backward Size field. - if (ret == LZMA_STREAM_END) - if (index_size != 0 || strm.avail_in != 0) - ret = LZMA_DATA_ERROR; - - if (ret != LZMA_STREAM_END) { - // LZMA_BUFFER_ERROR means that the Index decoder - // would have liked more input than what the Index - // size should be according to Stream Footer. - // The message for LZMA_DATA_ERROR makes more - // sense in that case. - if (ret == LZMA_BUF_ERROR) - ret = LZMA_DATA_ERROR; - - message_error("%s: %s", pair->src_name, - message_strm(ret)); - - // If the error was too low memory usage limit, - // show also how much memory would have been needed. - if (ret == LZMA_MEMLIMIT_ERROR) { - uint64_t needed = lzma_memusage(&strm); - if (UINT64_MAX - needed < memused) - needed = UINT64_MAX; - else - needed += memused; - - message_mem_needed(V_ERROR, needed); - } - - goto error; - } - - // Decode the Stream Header and check that its Stream Flags - // match the Stream Footer. - pos -= footer_flags.backward_size + LZMA_STREAM_HEADER_SIZE; - if ((lzma_vli)(pos) < lzma_index_total_size(this_index)) { - message_error("%s: %s", pair->src_name, - message_strm(LZMA_DATA_ERROR)); - goto error; - } - - pos -= lzma_index_total_size(this_index); - if (io_pread(pair, &buf, LZMA_STREAM_HEADER_SIZE, pos)) - goto error; - - ret = lzma_stream_header_decode(&header_flags, buf.u8); - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - goto error; - } - - ret = lzma_stream_flags_compare(&header_flags, &footer_flags); - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - goto error; - } - - // Store the decoded Stream Flags into this_index. This is - // needed so that we can print which Check is used in each - // Stream. - ret = lzma_index_stream_flags(this_index, &footer_flags); - if (ret != LZMA_OK) - message_bug(); - - // Store also the size of the Stream Padding field. It is - // needed to show the offsets of the Streams correctly. - ret = lzma_index_stream_padding(this_index, stream_padding); - if (ret != LZMA_OK) - message_bug(); - - if (combined_index != NULL) { - // Append the earlier decoded Indexes - // after this_index. - ret = lzma_index_cat( - this_index, combined_index, NULL); - if (ret != LZMA_OK) { - message_error("%s: %s", pair->src_name, - message_strm(ret)); - goto error; - } - } - - combined_index = this_index; - this_index = NULL; - - xfi->stream_padding += stream_padding; - - } while (pos > 0); - - lzma_end(&strm); - - // All OK. Make combined_index available to the caller. - xfi->idx = combined_index; - return false; - -error: - // Something went wrong, free the allocated memory. - lzma_end(&strm); - lzma_index_end(combined_index, NULL); - lzma_index_end(this_index, NULL); - return true; -} - - -/// \brief Parse the Block Header -/// -/// The result is stored into *bhi. The caller takes care of initializing it. -/// -/// \return False on success, true on error. -static bool -parse_block_header(file_pair *pair, const lzma_index_iter *iter, - block_header_info *bhi, xz_file_info *xfi) -{ -#if IO_BUFFER_SIZE < LZMA_BLOCK_HEADER_SIZE_MAX -# error IO_BUFFER_SIZE < LZMA_BLOCK_HEADER_SIZE_MAX -#endif - - // Get the whole Block Header with one read, but don't read past - // the end of the Block (or even its Check field). - const uint32_t size = my_min(iter->block.total_size - - lzma_check_size(iter->stream.flags->check), - LZMA_BLOCK_HEADER_SIZE_MAX); - io_buf buf; - if (io_pread(pair, &buf, size, iter->block.compressed_file_offset)) - return true; - - // Zero would mean Index Indicator and thus not a valid Block. - if (buf.u8[0] == 0) - goto data_error; - - // Initialize the block structure and decode Block Header Size. - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - lzma_block block; - block.version = 0; - block.check = iter->stream.flags->check; - block.filters = filters; - - block.header_size = lzma_block_header_size_decode(buf.u8[0]); - if (block.header_size > size) - goto data_error; - - // Decode the Block Header. - switch (lzma_block_header_decode(&block, NULL, buf.u8)) { - case LZMA_OK: - break; - - case LZMA_OPTIONS_ERROR: - message_error("%s: %s", pair->src_name, - message_strm(LZMA_OPTIONS_ERROR)); - return true; - - case LZMA_DATA_ERROR: - goto data_error; - - default: - message_bug(); - } - - // Check the Block Flags. These must be done before calling - // lzma_block_compressed_size(), because it overwrites - // block.compressed_size. - bhi->flags[0] = block.compressed_size != LZMA_VLI_UNKNOWN - ? 'c' : '-'; - bhi->flags[1] = block.uncompressed_size != LZMA_VLI_UNKNOWN - ? 'u' : '-'; - bhi->flags[2] = '\0'; - - // Collect information if all Blocks have both Compressed Size - // and Uncompressed Size fields. They can be useful e.g. for - // multi-threaded decompression so it can be useful to know it. - xfi->all_have_sizes &= block.compressed_size != LZMA_VLI_UNKNOWN - && block.uncompressed_size != LZMA_VLI_UNKNOWN; - - // Validate or set block.compressed_size. - switch (lzma_block_compressed_size(&block, - iter->block.unpadded_size)) { - case LZMA_OK: - // Validate also block.uncompressed_size if it is present. - // If it isn't present, there's no need to set it since - // we aren't going to actually decompress the Block; if - // we were decompressing, then we should set it so that - // the Block decoder could validate the Uncompressed Size - // that was stored in the Index. - if (block.uncompressed_size == LZMA_VLI_UNKNOWN - || block.uncompressed_size - == iter->block.uncompressed_size) - break; - - // If the above fails, the file is corrupt so - // LZMA_DATA_ERROR is a good error code. - - case LZMA_DATA_ERROR: - // Free the memory allocated by lzma_block_header_decode(). - for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) - free(filters[i].options); - - goto data_error; - - default: - message_bug(); - } - - // Copy the known sizes. - bhi->header_size = block.header_size; - bhi->compressed_size = block.compressed_size; - - // Calculate the decoder memory usage and update the maximum - // memory usage of this Block. - bhi->memusage = lzma_raw_decoder_memusage(filters); - if (xfi->memusage_max < bhi->memusage) - xfi->memusage_max = bhi->memusage; - - // Convert the filter chain to human readable form. - message_filters_to_str(bhi->filter_chain, filters, false); - - // Free the memory allocated by lzma_block_header_decode(). - for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) - free(filters[i].options); - - return false; - -data_error: - // Show the error message. - message_error("%s: %s", pair->src_name, - message_strm(LZMA_DATA_ERROR)); - return true; -} - - -/// \brief Parse the Check field and put it into check_value[] -/// -/// \return False on success, true on error. -static bool -parse_check_value(file_pair *pair, const lzma_index_iter *iter) -{ - // Don't read anything from the file if there is no integrity Check. - if (iter->stream.flags->check == LZMA_CHECK_NONE) { - snprintf(check_value, sizeof(check_value), "---"); - return false; - } - - // Locate and read the Check field. - const uint32_t size = lzma_check_size(iter->stream.flags->check); - const off_t offset = iter->block.compressed_file_offset - + iter->block.total_size - size; - io_buf buf; - if (io_pread(pair, &buf, size, offset)) - return true; - - // CRC32 and CRC64 are in little endian. Guess that all the future - // 32-bit and 64-bit Check values are little endian too. It shouldn't - // be a too big problem if this guess is wrong. - if (size == 4) - snprintf(check_value, sizeof(check_value), - "%08" PRIx32, conv32le(buf.u32[0])); - else if (size == 8) - snprintf(check_value, sizeof(check_value), - "%016" PRIx64, conv64le(buf.u64[0])); - else - for (size_t i = 0; i < size; ++i) - snprintf(check_value + i * 2, 3, "%02x", buf.u8[i]); - - return false; -} - - -/// \brief Parse detailed information about a Block -/// -/// Since this requires seek(s), listing information about all Blocks can -/// be slow. -/// -/// \param pair Input file -/// \param iter Location of the Block whose Check value should -/// be printed. -/// \param bhi Pointer to structure where to store the information -/// about the Block Header field. -/// -/// \return False on success, true on error. If an error occurs, -/// the error message is printed too so the caller doesn't -/// need to worry about that. -static bool -parse_details(file_pair *pair, const lzma_index_iter *iter, - block_header_info *bhi, xz_file_info *xfi) -{ - if (parse_block_header(pair, iter, bhi, xfi)) - return true; - - if (parse_check_value(pair, iter)) - return true; - - return false; -} - - -/// \brief Get the compression ratio -/// -/// This has slightly different format than that is used in message.c. -static const char * -get_ratio(uint64_t compressed_size, uint64_t uncompressed_size) -{ - if (uncompressed_size == 0) - return "---"; - - const double ratio = (double)(compressed_size) - / (double)(uncompressed_size); - if (ratio > 9.999) - return "---"; - - static char buf[16]; - snprintf(buf, sizeof(buf), "%.3f", ratio); - return buf; -} - - -/// \brief Get a comma-separated list of Check names -/// -/// The check names are translated with gettext except when in robot mode. -/// -/// \param buf Buffer to hold the resulting string -/// \param checks Bit mask of Checks to print -/// \param space_after_comma -/// It's better to not use spaces in table-like listings, -/// but in more verbose formats a space after a comma -/// is good for readability. -static void -get_check_names(char buf[CHECKS_STR_SIZE], - uint32_t checks, bool space_after_comma) -{ - assert(checks != 0); - - char *pos = buf; - size_t left = CHECKS_STR_SIZE; - - const char *sep = space_after_comma ? ", " : ","; - bool comma = false; - - for (size_t i = 0; i <= LZMA_CHECK_ID_MAX; ++i) { - if (checks & (UINT32_C(1) << i)) { - my_snprintf(&pos, &left, "%s%s", - comma ? sep : "", - opt_robot ? check_names[i] - : _(check_names[i])); - comma = true; - } - } - - return; -} - - -static bool -print_info_basic(const xz_file_info *xfi, file_pair *pair) -{ - static bool headings_displayed = false; - if (!headings_displayed) { - headings_displayed = true; - // TRANSLATORS: These are column headings. From Strms (Streams) - // to Ratio, the columns are right aligned. Check and Filename - // are left aligned. If you need longer words, it's OK to - // use two lines here. Test with "xz -l foo.xz". - puts(_("Strms Blocks Compressed Uncompressed Ratio " - "Check Filename")); - } - - char checks[CHECKS_STR_SIZE]; - get_check_names(checks, lzma_index_checks(xfi->idx), false); - - const char *cols[7] = { - uint64_to_str(lzma_index_stream_count(xfi->idx), 0), - uint64_to_str(lzma_index_block_count(xfi->idx), 1), - uint64_to_nicestr(lzma_index_file_size(xfi->idx), - NICESTR_B, NICESTR_TIB, false, 2), - uint64_to_nicestr(lzma_index_uncompressed_size(xfi->idx), - NICESTR_B, NICESTR_TIB, false, 3), - get_ratio(lzma_index_file_size(xfi->idx), - lzma_index_uncompressed_size(xfi->idx)), - checks, - pair->src_name, - }; - printf("%*s %*s %*s %*s %*s %-*s %s\n", - tuklib_mbstr_fw(cols[0], 5), cols[0], - tuklib_mbstr_fw(cols[1], 7), cols[1], - tuklib_mbstr_fw(cols[2], 11), cols[2], - tuklib_mbstr_fw(cols[3], 11), cols[3], - tuklib_mbstr_fw(cols[4], 5), cols[4], - tuklib_mbstr_fw(cols[5], 7), cols[5], - cols[6]); - - return false; -} - - -static void -print_adv_helper(uint64_t stream_count, uint64_t block_count, - uint64_t compressed_size, uint64_t uncompressed_size, - uint32_t checks, uint64_t stream_padding) -{ - char checks_str[CHECKS_STR_SIZE]; - get_check_names(checks_str, checks, true); - - printf(_(" Streams: %s\n"), - uint64_to_str(stream_count, 0)); - printf(_(" Blocks: %s\n"), - uint64_to_str(block_count, 0)); - printf(_(" Compressed size: %s\n"), - uint64_to_nicestr(compressed_size, - NICESTR_B, NICESTR_TIB, true, 0)); - printf(_(" Uncompressed size: %s\n"), - uint64_to_nicestr(uncompressed_size, - NICESTR_B, NICESTR_TIB, true, 0)); - printf(_(" Ratio: %s\n"), - get_ratio(compressed_size, uncompressed_size)); - printf(_(" Check: %s\n"), checks_str); - printf(_(" Stream padding: %s\n"), - uint64_to_nicestr(stream_padding, - NICESTR_B, NICESTR_TIB, true, 0)); - return; -} - - -static bool -print_info_adv(xz_file_info *xfi, file_pair *pair) -{ - // Print the overall information. - print_adv_helper(lzma_index_stream_count(xfi->idx), - lzma_index_block_count(xfi->idx), - lzma_index_file_size(xfi->idx), - lzma_index_uncompressed_size(xfi->idx), - lzma_index_checks(xfi->idx), - xfi->stream_padding); - - // Size of the biggest Check. This is used to calculate the width - // of the CheckVal field. The table would get insanely wide if - // we always reserved space for 64-byte Check (128 chars as hex). - uint32_t check_max = 0; - - // Print information about the Streams. - // - // TRANSLATORS: The second line is column headings. All except - // Check are right aligned; Check is left aligned. Test with - // "xz -lv foo.xz". - puts(_(" Streams:\n Stream Blocks" - " CompOffset UncompOffset" - " CompSize UncompSize Ratio" - " Check Padding")); - - lzma_index_iter iter; - lzma_index_iter_init(&iter, xfi->idx); - - while (!lzma_index_iter_next(&iter, LZMA_INDEX_ITER_STREAM)) { - const char *cols1[4] = { - uint64_to_str(iter.stream.number, 0), - uint64_to_str(iter.stream.block_count, 1), - uint64_to_str(iter.stream.compressed_offset, 2), - uint64_to_str(iter.stream.uncompressed_offset, 3), - }; - printf(" %*s %*s %*s %*s ", - tuklib_mbstr_fw(cols1[0], 6), cols1[0], - tuklib_mbstr_fw(cols1[1], 9), cols1[1], - tuklib_mbstr_fw(cols1[2], 15), cols1[2], - tuklib_mbstr_fw(cols1[3], 15), cols1[3]); - - const char *cols2[5] = { - uint64_to_str(iter.stream.compressed_size, 0), - uint64_to_str(iter.stream.uncompressed_size, 1), - get_ratio(iter.stream.compressed_size, - iter.stream.uncompressed_size), - _(check_names[iter.stream.flags->check]), - uint64_to_str(iter.stream.padding, 2), - }; - printf("%*s %*s %*s %-*s %*s\n", - tuklib_mbstr_fw(cols2[0], 15), cols2[0], - tuklib_mbstr_fw(cols2[1], 15), cols2[1], - tuklib_mbstr_fw(cols2[2], 5), cols2[2], - tuklib_mbstr_fw(cols2[3], 10), cols2[3], - tuklib_mbstr_fw(cols2[4], 7), cols2[4]); - - // Update the maximum Check size. - if (lzma_check_size(iter.stream.flags->check) > check_max) - check_max = lzma_check_size(iter.stream.flags->check); - } - - // Cache the verbosity level to a local variable. - const bool detailed = message_verbosity_get() >= V_DEBUG; - - // Information collected from Block Headers - block_header_info bhi; - - // Print information about the Blocks but only if there is - // at least one Block. - if (lzma_index_block_count(xfi->idx) > 0) { - // Calculate the width of the CheckVal field. - const int checkval_width = my_max(8, 2 * check_max); - - // TRANSLATORS: The second line is column headings. All - // except Check are right aligned; Check is left aligned. - printf(_(" Blocks:\n Stream Block" - " CompOffset UncompOffset" - " TotalSize UncompSize Ratio Check")); - - if (detailed) { - // TRANSLATORS: These are additional column headings - // for the most verbose listing mode. CheckVal - // (Check value), Flags, and Filters are left aligned. - // Header (Block Header Size), CompSize, and MemUsage - // are right aligned. %*s is replaced with 0-120 - // spaces to make the CheckVal column wide enough. - // Test with "xz -lvv foo.xz". - printf(_(" CheckVal %*s Header Flags " - "CompSize MemUsage Filters"), - checkval_width - 8, ""); - } - - putchar('\n'); - - lzma_index_iter_init(&iter, xfi->idx); - - // Iterate over the Blocks. - while (!lzma_index_iter_next(&iter, LZMA_INDEX_ITER_BLOCK)) { - if (detailed && parse_details(pair, &iter, &bhi, xfi)) - return true; - - const char *cols1[4] = { - uint64_to_str(iter.stream.number, 0), - uint64_to_str( - iter.block.number_in_stream, 1), - uint64_to_str( - iter.block.compressed_file_offset, 2), - uint64_to_str( - iter.block.uncompressed_file_offset, 3) - }; - printf(" %*s %*s %*s %*s ", - tuklib_mbstr_fw(cols1[0], 6), cols1[0], - tuklib_mbstr_fw(cols1[1], 9), cols1[1], - tuklib_mbstr_fw(cols1[2], 15), cols1[2], - tuklib_mbstr_fw(cols1[3], 15), cols1[3]); - - const char *cols2[4] = { - uint64_to_str(iter.block.total_size, 0), - uint64_to_str(iter.block.uncompressed_size, - 1), - get_ratio(iter.block.total_size, - iter.block.uncompressed_size), - _(check_names[iter.stream.flags->check]) - }; - printf("%*s %*s %*s %-*s", - tuklib_mbstr_fw(cols2[0], 15), cols2[0], - tuklib_mbstr_fw(cols2[1], 15), cols2[1], - tuklib_mbstr_fw(cols2[2], 5), cols2[2], - tuklib_mbstr_fw(cols2[3], detailed ? 11 : 1), - cols2[3]); - - if (detailed) { - const lzma_vli compressed_size - = iter.block.unpadded_size - - bhi.header_size - - lzma_check_size( - iter.stream.flags->check); - - const char *cols3[6] = { - check_value, - uint64_to_str(bhi.header_size, 0), - bhi.flags, - uint64_to_str(compressed_size, 1), - uint64_to_str( - round_up_to_mib(bhi.memusage), - 2), - bhi.filter_chain - }; - // Show MiB for memory usage, because it - // is the only size which is not in bytes. - printf("%-*s %*s %-5s %*s %*s MiB %s", - checkval_width, cols3[0], - tuklib_mbstr_fw(cols3[1], 6), cols3[1], - cols3[2], - tuklib_mbstr_fw(cols3[3], 15), - cols3[3], - tuklib_mbstr_fw(cols3[4], 7), cols3[4], - cols3[5]); - } - - putchar('\n'); - } - } - - if (detailed) { - printf(_(" Memory needed: %s MiB\n"), uint64_to_str( - round_up_to_mib(xfi->memusage_max), 0)); - printf(_(" Sizes in headers: %s\n"), - xfi->all_have_sizes ? _("Yes") : _("No")); - } - - return false; -} - - -static bool -print_info_robot(xz_file_info *xfi, file_pair *pair) -{ - char checks[CHECKS_STR_SIZE]; - get_check_names(checks, lzma_index_checks(xfi->idx), false); - - printf("name\t%s\n", pair->src_name); - - printf("file\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 - "\t%s\t%s\t%" PRIu64 "\n", - lzma_index_stream_count(xfi->idx), - lzma_index_block_count(xfi->idx), - lzma_index_file_size(xfi->idx), - lzma_index_uncompressed_size(xfi->idx), - get_ratio(lzma_index_file_size(xfi->idx), - lzma_index_uncompressed_size(xfi->idx)), - checks, - xfi->stream_padding); - - if (message_verbosity_get() >= V_VERBOSE) { - lzma_index_iter iter; - lzma_index_iter_init(&iter, xfi->idx); - - while (!lzma_index_iter_next(&iter, LZMA_INDEX_ITER_STREAM)) - printf("stream\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 - "\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 - "\t%s\t%s\t%" PRIu64 "\n", - iter.stream.number, - iter.stream.block_count, - iter.stream.compressed_offset, - iter.stream.uncompressed_offset, - iter.stream.compressed_size, - iter.stream.uncompressed_size, - get_ratio(iter.stream.compressed_size, - iter.stream.uncompressed_size), - check_names[iter.stream.flags->check], - iter.stream.padding); - - lzma_index_iter_rewind(&iter); - block_header_info bhi; - - while (!lzma_index_iter_next(&iter, LZMA_INDEX_ITER_BLOCK)) { - if (message_verbosity_get() >= V_DEBUG - && parse_details( - pair, &iter, &bhi, xfi)) - return true; - - printf("block\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 - "\t%" PRIu64 "\t%" PRIu64 - "\t%" PRIu64 "\t%" PRIu64 "\t%s\t%s", - iter.stream.number, - iter.block.number_in_stream, - iter.block.number_in_file, - iter.block.compressed_file_offset, - iter.block.uncompressed_file_offset, - iter.block.total_size, - iter.block.uncompressed_size, - get_ratio(iter.block.total_size, - iter.block.uncompressed_size), - check_names[iter.stream.flags->check]); - - if (message_verbosity_get() >= V_DEBUG) - printf("\t%s\t%" PRIu32 "\t%s\t%" PRIu64 - "\t%" PRIu64 "\t%s", - check_value, - bhi.header_size, - bhi.flags, - bhi.compressed_size, - bhi.memusage, - bhi.filter_chain); - - putchar('\n'); - } - } - - if (message_verbosity_get() >= V_DEBUG) - printf("summary\t%" PRIu64 "\t%s\n", - xfi->memusage_max, - xfi->all_have_sizes ? "yes" : "no"); - - return false; -} - - -static void -update_totals(const xz_file_info *xfi) -{ - // TODO: Integer overflow checks - ++totals.files; - totals.streams += lzma_index_stream_count(xfi->idx); - totals.blocks += lzma_index_block_count(xfi->idx); - totals.compressed_size += lzma_index_file_size(xfi->idx); - totals.uncompressed_size += lzma_index_uncompressed_size(xfi->idx); - totals.stream_padding += xfi->stream_padding; - totals.checks |= lzma_index_checks(xfi->idx); - - if (totals.memusage_max < xfi->memusage_max) - totals.memusage_max = xfi->memusage_max; - - totals.all_have_sizes &= xfi->all_have_sizes; - - return; -} - - -static void -print_totals_basic(void) -{ - // Print a separator line. - char line[80]; - memset(line, '-', sizeof(line)); - line[sizeof(line) - 1] = '\0'; - puts(line); - - // Get the check names. - char checks[CHECKS_STR_SIZE]; - get_check_names(checks, totals.checks, false); - - // Print the totals except the file count, which needs - // special handling. - printf("%5s %7s %11s %11s %5s %-7s ", - uint64_to_str(totals.streams, 0), - uint64_to_str(totals.blocks, 1), - uint64_to_nicestr(totals.compressed_size, - NICESTR_B, NICESTR_TIB, false, 2), - uint64_to_nicestr(totals.uncompressed_size, - NICESTR_B, NICESTR_TIB, false, 3), - get_ratio(totals.compressed_size, - totals.uncompressed_size), - checks); - - // Since we print totals only when there are at least two files, - // the English message will always use "%s files". But some other - // languages need different forms for different plurals so we - // have to translate this with ngettext(). - // - // TRANSLATORS: %s is an integer. Only the plural form of this - // message is used (e.g. "2 files"). Test with "xz -l foo.xz bar.xz". - printf(ngettext("%s file\n", "%s files\n", - totals.files <= ULONG_MAX ? totals.files - : (totals.files % 1000000) + 1000000), - uint64_to_str(totals.files, 0)); - - return; -} - - -static void -print_totals_adv(void) -{ - putchar('\n'); - puts(_("Totals:")); - printf(_(" Number of files: %s\n"), - uint64_to_str(totals.files, 0)); - print_adv_helper(totals.streams, totals.blocks, - totals.compressed_size, totals.uncompressed_size, - totals.checks, totals.stream_padding); - - if (message_verbosity_get() >= V_DEBUG) { - printf(_(" Memory needed: %s MiB\n"), uint64_to_str( - round_up_to_mib(totals.memusage_max), 0)); - printf(_(" Sizes in headers: %s\n"), - totals.all_have_sizes ? _("Yes") : _("No")); - } - - return; -} - - -static void -print_totals_robot(void) -{ - char checks[CHECKS_STR_SIZE]; - get_check_names(checks, totals.checks, false); - - printf("totals\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 "\t%" PRIu64 - "\t%s\t%s\t%" PRIu64 "\t%" PRIu64, - totals.streams, - totals.blocks, - totals.compressed_size, - totals.uncompressed_size, - get_ratio(totals.compressed_size, - totals.uncompressed_size), - checks, - totals.stream_padding, - totals.files); - - if (message_verbosity_get() >= V_DEBUG) - printf("\t%" PRIu64 "\t%s", - totals.memusage_max, - totals.all_have_sizes ? "yes" : "no"); - - putchar('\n'); - - return; -} - - -extern void -list_totals(void) -{ - if (opt_robot) { - // Always print totals in --robot mode. It can be convenient - // in some cases and doesn't complicate usage of the - // single-file case much. - print_totals_robot(); - - } else if (totals.files > 1) { - // For non-robot mode, totals are printed only if there - // is more than one file. - if (message_verbosity_get() <= V_WARNING) - print_totals_basic(); - else - print_totals_adv(); - } - - return; -} - - -extern void -list_file(const char *filename) -{ - if (opt_format != FORMAT_XZ && opt_format != FORMAT_AUTO) - message_fatal(_("--list works only on .xz files " - "(--format=xz or --format=auto)")); - - message_filename(filename); - - if (filename == stdin_filename) { - message_error(_("--list does not support reading from " - "standard input")); - return; - } - - // Unset opt_stdout so that io_open_src() won't accept special files. - // Set opt_force so that io_open_src() will follow symlinks. - opt_stdout = false; - opt_force = true; - file_pair *pair = io_open_src(filename); - if (pair == NULL) - return; - - xz_file_info xfi = XZ_FILE_INFO_INIT; - if (!parse_indexes(&xfi, pair)) { - bool fail; - - // We have three main modes: - // - --robot, which has submodes if --verbose is specified - // once or twice - // - Normal --list without --verbose - // - --list with one or two --verbose - if (opt_robot) - fail = print_info_robot(&xfi, pair); - else if (message_verbosity_get() <= V_WARNING) - fail = print_info_basic(&xfi, pair); - else - fail = print_info_adv(&xfi, pair); - - // Update the totals that are displayed after all - // the individual files have been listed. Don't count - // broken files. - if (!fail) - update_totals(&xfi); - - lzma_index_end(xfi.idx, NULL); - } - - io_close(pair, false); - return; -} diff --git a/Build/source/extra/xz/src/xz/list.h b/Build/source/extra/xz/src/xz/list.h deleted file mode 100644 index a4c6ec7dc42..00000000000 --- a/Build/source/extra/xz/src/xz/list.h +++ /dev/null @@ -1,18 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file list.h -/// \brief List information about .xz files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// \brief List information about the given .xz file -extern void list_file(const char *filename); - - -/// \brief Show the totals after all files have been listed -extern void list_totals(void); diff --git a/Build/source/extra/xz/src/xz/main.c b/Build/source/extra/xz/src/xz/main.c deleted file mode 100644 index 8196c6e7e77..00000000000 --- a/Build/source/extra/xz/src/xz/main.c +++ /dev/null @@ -1,302 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file main.c -/// \brief main() -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" -#include - -/// Exit status to use. This can be changed with set_exit_status(). -static enum exit_status_type exit_status = E_SUCCESS; - -#if defined(_WIN32) && !defined(__CYGWIN__) -/// exit_status has to be protected with a critical section due to -/// how "signal handling" is done on Windows. See signals.c for details. -static CRITICAL_SECTION exit_status_cs; -#endif - -/// True if --no-warn is specified. When this is true, we don't set -/// the exit status to E_WARNING when something worth a warning happens. -static bool no_warn = false; - - -extern void -set_exit_status(enum exit_status_type new_status) -{ - assert(new_status == E_WARNING || new_status == E_ERROR); - -#if defined(_WIN32) && !defined(__CYGWIN__) - EnterCriticalSection(&exit_status_cs); -#endif - - if (exit_status != E_ERROR) - exit_status = new_status; - -#if defined(_WIN32) && !defined(__CYGWIN__) - LeaveCriticalSection(&exit_status_cs); -#endif - - return; -} - - -extern void -set_exit_no_warn(void) -{ - no_warn = true; - return; -} - - -static const char * -read_name(const args_info *args) -{ - // FIXME: Maybe we should have some kind of memory usage limit here - // like the tool has for the actual compression and decompression. - // Giving some huge text file with --files0 makes us to read the - // whole file in RAM. - static char *name = NULL; - static size_t size = 256; - - // Allocate the initial buffer. This is never freed, since after it - // is no longer needed, the program exits very soon. It is safe to - // use xmalloc() and xrealloc() in this function, because while - // executing this function, no files are open for writing, and thus - // there's no need to cleanup anything before exiting. - if (name == NULL) - name = xmalloc(size); - - // Write position in name - size_t pos = 0; - - // Read one character at a time into name. - while (!user_abort) { - const int c = fgetc(args->files_file); - - if (ferror(args->files_file)) { - // Take care of EINTR since we have established - // the signal handlers already. - if (errno == EINTR) - continue; - - message_error(_("%s: Error reading filenames: %s"), - args->files_name, strerror(errno)); - return NULL; - } - - if (feof(args->files_file)) { - if (pos != 0) - message_error(_("%s: Unexpected end of input " - "when reading filenames"), - args->files_name); - - return NULL; - } - - if (c == args->files_delim) { - // We allow consecutive newline (--files) or '\0' - // characters (--files0), and ignore such empty - // filenames. - if (pos == 0) - continue; - - // A non-empty name was read. Terminate it with '\0' - // and return it. - name[pos] = '\0'; - return name; - } - - if (c == '\0') { - // A null character was found when using --files, - // which expects plain text input separated with - // newlines. - message_error(_("%s: Null character found when " - "reading filenames; maybe you meant " - "to use `--files0' instead " - "of `--files'?"), args->files_name); - return NULL; - } - - name[pos++] = c; - - // Allocate more memory if needed. There must always be space - // at least for one character to allow terminating the string - // with '\0'. - if (pos == size) { - size *= 2; - name = xrealloc(name, size); - } - } - - return NULL; -} - - -int -main(int argc, char **argv) -{ -#if defined(_WIN32) && !defined(__CYGWIN__) - InitializeCriticalSection(&exit_status_cs); -#endif - - // Set up the progname variable. - tuklib_progname_init(argv); - - // Initialize the file I/O. This makes sure that - // stdin, stdout, and stderr are something valid. - io_init(); - - // Set up the locale and message translations. - tuklib_gettext_init(PACKAGE, LOCALEDIR); - - // Initialize handling of error/warning/other messages. - message_init(); - - // Set hardware-dependent default values. These can be overriden - // on the command line, thus this must be done before args_parse(). - hardware_init(); - - // Parse the command line arguments and get an array of filenames. - // This doesn't return if something is wrong with the command line - // arguments. If there are no arguments, one filename ("-") is still - // returned to indicate stdin. - args_info args; - args_parse(&args, argc, argv); - - if (opt_mode != MODE_LIST && opt_robot) - message_fatal(_("Compression and decompression with --robot " - "are not supported yet.")); - - // Tell the message handling code how many input files there are if - // we know it. This way the progress indicator can show it. - if (args.files_name != NULL) - message_set_files(0); - else - message_set_files(args.arg_count); - - // Refuse to write compressed data to standard output if it is - // a terminal. - if (opt_mode == MODE_COMPRESS) { - if (opt_stdout || (args.arg_count == 1 - && strcmp(args.arg_names[0], "-") == 0)) { - if (is_tty_stdout()) { - message_try_help(); - tuklib_exit(E_ERROR, E_ERROR, false); - } - } - } - - // Set up the signal handlers. We don't need these before we - // start the actual action and not in --list mode, so this is - // done after parsing the command line arguments. - // - // It's good to keep signal handlers in normal compression and - // decompression modes even when only writing to stdout, because - // we might need to restore O_APPEND flag on stdout before exiting. - // In --test mode, signal handlers aren't really needed, but let's - // keep them there for consistency with normal decompression. - if (opt_mode != MODE_LIST) - signals_init(); - - // coder_run() handles compression, decompression, and testing. - // list_file() is for --list. - void (*run)(const char *filename) = opt_mode == MODE_LIST - ? &list_file : &coder_run; - - // Process the files given on the command line. Note that if no names - // were given, args_parse() gave us a fake "-" filename. - for (size_t i = 0; i < args.arg_count && !user_abort; ++i) { - if (strcmp("-", args.arg_names[i]) == 0) { - // Processing from stdin to stdout. Check that we - // aren't writing compressed data to a terminal or - // reading it from a terminal. - if (opt_mode == MODE_COMPRESS) { - if (is_tty_stdout()) - continue; - } else if (is_tty_stdin()) { - continue; - } - - // It doesn't make sense to compress data from stdin - // if we are supposed to read filenames from stdin - // too (enabled with --files or --files0). - if (args.files_name == stdin_filename) { - message_error(_("Cannot read data from " - "standard input when " - "reading filenames " - "from standard input")); - continue; - } - - // Replace the "-" with a special pointer, which is - // recognized by coder_run() and other things. - // This way error messages get a proper filename - // string and the code still knows that it is - // handling the special case of stdin. - args.arg_names[i] = (char *)stdin_filename; - } - - // Do the actual compression or decompression. - run(args.arg_names[i]); - } - - // If --files or --files0 was used, process the filenames from the - // given file or stdin. Note that here we don't consider "-" to - // indicate stdin like we do with the command line arguments. - if (args.files_name != NULL) { - // read_name() checks for user_abort so we don't need to - // check it as loop termination condition. - while (true) { - const char *name = read_name(&args); - if (name == NULL) - break; - - // read_name() doesn't return empty names. - assert(name[0] != '\0'); - run(name); - } - - if (args.files_name != stdin_filename) - (void)fclose(args.files_file); - } - - // All files have now been handled. If in --list mode, display - // the totals before exiting. We don't have signal handlers - // enabled in --list mode, so we don't need to check user_abort. - if (opt_mode == MODE_LIST) { - assert(!user_abort); - list_totals(); - } - - // If we have got a signal, raise it to kill the program instead - // of calling tuklib_exit(). - signals_exit(); - - // Make a local copy of exit_status to keep the Windows code - // thread safe. At this point it is fine if we miss the user - // pressing C-c and don't set the exit_status to E_ERROR on - // Windows. -#if defined(_WIN32) && !defined(__CYGWIN__) - EnterCriticalSection(&exit_status_cs); -#endif - - enum exit_status_type es = exit_status; - -#if defined(_WIN32) && !defined(__CYGWIN__) - LeaveCriticalSection(&exit_status_cs); -#endif - - // Suppress the exit status indicating a warning if --no-warn - // was specified. - if (es == E_WARNING && no_warn) - es = E_SUCCESS; - - tuklib_exit(es, E_ERROR, message_verbosity_get() != V_SILENT); -} diff --git a/Build/source/extra/xz/src/xz/main.h b/Build/source/extra/xz/src/xz/main.h deleted file mode 100644 index 323f2f7d09c..00000000000 --- a/Build/source/extra/xz/src/xz/main.h +++ /dev/null @@ -1,30 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file main.h -/// \brief Miscellaneous declarations -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// Possible exit status values. These are the same as used by gzip and bzip2. -enum exit_status_type { - E_SUCCESS = 0, - E_ERROR = 1, - E_WARNING = 2, -}; - - -/// Sets the exit status after a warning or error has occurred. If new_status -/// is E_WARNING and the old exit status was already E_ERROR, the exit -/// status is not changed. -extern void set_exit_status(enum exit_status_type new_status); - - -/// Use E_SUCCESS instead of E_WARNING if something worth a warning occurs -/// but nothing worth an error has occurred. This is called when --no-warn -/// is specified. -extern void set_exit_no_warn(void); diff --git a/Build/source/extra/xz/src/xz/message.c b/Build/source/extra/xz/src/xz/message.c deleted file mode 100644 index 0a7a522f7af..00000000000 --- a/Build/source/extra/xz/src/xz/message.c +++ /dev/null @@ -1,1248 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file message.c -/// \brief Printing messages -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - -#ifdef HAVE_SYS_TIME_H -# include -#endif - -#include - - -/// Number of the current file -static unsigned int files_pos = 0; - -/// Total number of input files; zero if unknown. -static unsigned int files_total; - -/// Verbosity level -static enum message_verbosity verbosity = V_WARNING; - -/// Filename which we will print with the verbose messages -static const char *filename; - -/// True once the a filename has been printed to stderr as part of progress -/// message. If automatic progress updating isn't enabled, this becomes true -/// after the first progress message has been printed due to user sending -/// SIGINFO, SIGUSR1, or SIGALRM. Once this variable is true, we will print -/// an empty line before the next filename to make the output more readable. -static bool first_filename_printed = false; - -/// This is set to true when we have printed the current filename to stderr -/// as part of a progress message. This variable is useful only if not -/// updating progress automatically: if user sends many SIGINFO, SIGUSR1, or -/// SIGALRM signals, we won't print the name of the same file multiple times. -static bool current_filename_printed = false; - -/// True if we should print progress indicator and update it automatically -/// if also verbose >= V_VERBOSE. -static bool progress_automatic; - -/// True if message_progress_start() has been called but -/// message_progress_end() hasn't been called yet. -static bool progress_started = false; - -/// This is true when a progress message was printed and the cursor is still -/// on the same line with the progress message. In that case, a newline has -/// to be printed before any error messages. -static bool progress_active = false; - -/// Pointer to lzma_stream used to do the encoding or decoding. -static lzma_stream *progress_strm; - -/// Expected size of the input stream is needed to show completion percentage -/// and estimate remaining time. -static uint64_t expected_in_size; - -/// Time when we started processing the file -static uint64_t start_time; - - -// Use alarm() and SIGALRM when they are supported. This has two minor -// advantages over the alternative of polling gettimeofday(): -// - It is possible for the user to send SIGINFO, SIGUSR1, or SIGALRM to -// get intermediate progress information even when --verbose wasn't used -// or stderr is not a terminal. -// - alarm() + SIGALRM seems to have slightly less overhead than polling -// gettimeofday(). -#ifdef SIGALRM - -const int message_progress_sigs[] = { - SIGALRM, -#ifdef SIGINFO - SIGINFO, -#endif -#ifdef SIGUSR1 - SIGUSR1, -#endif - 0 -}; - -/// The signal handler for SIGALRM sets this to true. It is set back to false -/// once the progress message has been updated. -static volatile sig_atomic_t progress_needs_updating = false; - -/// Signal handler for SIGALRM -static void -progress_signal_handler(int sig lzma_attribute((__unused__))) -{ - progress_needs_updating = true; - return; -} - -#else - -/// This is true when progress message printing is wanted. Using the same -/// variable name as above to avoid some ifdefs. -static bool progress_needs_updating = false; - -/// Elapsed time when the next progress message update should be done. -static uint64_t progress_next_update; - -#endif - - -/// Get the current time as microseconds since epoch -static uint64_t -my_time(void) -{ - struct timeval tv; - gettimeofday(&tv, NULL); - return (uint64_t)(tv.tv_sec) * UINT64_C(1000000) + tv.tv_usec; -} - - -extern void -message_init(void) -{ - // If --verbose is used, we use a progress indicator if and only - // if stderr is a terminal. If stderr is not a terminal, we print - // verbose information only after finishing the file. As a special - // exception, even if --verbose was not used, user can send SIGALRM - // to make us print progress information once without automatic - // updating. - progress_automatic = isatty(STDERR_FILENO); - - // Commented out because COLUMNS is rarely exported to environment. - // Most users have at least 80 columns anyway, let's think something - // fancy here if enough people complain. -/* - if (progress_automatic) { - // stderr is a terminal. Check the COLUMNS environment - // variable to see if the terminal is wide enough. If COLUMNS - // doesn't exist or it has some unparsable value, we assume - // that the terminal is wide enough. - const char *columns_str = getenv("COLUMNS"); - if (columns_str != NULL) { - char *endptr; - const long columns = strtol(columns_str, &endptr, 10); - if (*endptr != '\0' || columns < 80) - progress_automatic = false; - } - } -*/ - -#ifdef SIGALRM - // Establish the signal handlers which set a flag to tell us that - // progress info should be updated. - struct sigaction sa; - sigemptyset(&sa.sa_mask); - sa.sa_flags = 0; - sa.sa_handler = &progress_signal_handler; - - for (size_t i = 0; message_progress_sigs[i] != 0; ++i) - if (sigaction(message_progress_sigs[i], &sa, NULL)) - message_signal_handler(); -#endif - - return; -} - - -extern void -message_verbosity_increase(void) -{ - if (verbosity < V_DEBUG) - ++verbosity; - - return; -} - - -extern void -message_verbosity_decrease(void) -{ - if (verbosity > V_SILENT) - --verbosity; - - return; -} - - -extern enum message_verbosity -message_verbosity_get(void) -{ - return verbosity; -} - - -extern void -message_set_files(unsigned int files) -{ - files_total = files; - return; -} - - -/// Prints the name of the current file if it hasn't been printed already, -/// except if we are processing exactly one stream from stdin to stdout. -/// I think it looks nicer to not print "(stdin)" when --verbose is used -/// in a pipe and no other files are processed. -static void -print_filename(void) -{ - if (!opt_robot && (files_total != 1 || filename != stdin_filename)) { - signals_block(); - - FILE *file = opt_mode == MODE_LIST ? stdout : stderr; - - // If a file was already processed, put an empty line - // before the next filename to improve readability. - if (first_filename_printed) - fputc('\n', file); - - first_filename_printed = true; - current_filename_printed = true; - - // If we don't know how many files there will be due - // to usage of --files or --files0. - if (files_total == 0) - fprintf(file, "%s (%u)\n", filename, - files_pos); - else - fprintf(file, "%s (%u/%u)\n", filename, - files_pos, files_total); - - signals_unblock(); - } - - return; -} - - -extern void -message_filename(const char *src_name) -{ - // Start numbering the files starting from one. - ++files_pos; - filename = src_name; - - if (verbosity >= V_VERBOSE - && (progress_automatic || opt_mode == MODE_LIST)) - print_filename(); - else - current_filename_printed = false; - - return; -} - - -extern void -message_progress_start(lzma_stream *strm, uint64_t in_size) -{ - // Store the pointer to the lzma_stream used to do the coding. - // It is needed to find out the position in the stream. - progress_strm = strm; - - // Store the processing start time of the file and its expected size. - // If we aren't printing any statistics, then these are unused. But - // since it is possible that the user sends us a signal to show - // statistics, we need to have these available anyway. - start_time = my_time(); - expected_in_size = in_size; - - // Indicate that progress info may need to be printed before - // printing error messages. - progress_started = true; - - // If progress indicator is wanted, print the filename and possibly - // the file count now. - if (verbosity >= V_VERBOSE && progress_automatic) { - // Start the timer to display the first progress message - // after one second. An alternative would be to show the - // first message almost immediately, but delaying by one - // second looks better to me, since extremely early - // progress info is pretty much useless. -#ifdef SIGALRM - // First disable a possibly existing alarm. - alarm(0); - progress_needs_updating = false; - alarm(1); -#else - progress_needs_updating = true; - progress_next_update = 1000000; -#endif - } - - return; -} - - -/// Make the string indicating completion percentage. -static const char * -progress_percentage(uint64_t in_pos) -{ - // If the size of the input file is unknown or the size told us is - // clearly wrong since we have processed more data than the alleged - // size of the file, show a static string indicating that we have - // no idea of the completion percentage. - if (expected_in_size == 0 || in_pos > expected_in_size) - return "--- %"; - - // Never show 100.0 % before we actually are finished. - double percentage = (double)(in_pos) / (double)(expected_in_size) - * 99.9; - - // Use big enough buffer to hold e.g. a multibyte decimal point. - static char buf[16]; - snprintf(buf, sizeof(buf), "%.1f %%", percentage); - - return buf; -} - - -/// Make the string containing the amount of input processed, amount of -/// output produced, and the compression ratio. -static const char * -progress_sizes(uint64_t compressed_pos, uint64_t uncompressed_pos, bool final) -{ - // Use big enough buffer to hold e.g. a multibyte thousand separators. - static char buf[128]; - char *pos = buf; - size_t left = sizeof(buf); - - // Print the sizes. If this the final message, use more reasonable - // units than MiB if the file was small. - const enum nicestr_unit unit_min = final ? NICESTR_B : NICESTR_MIB; - my_snprintf(&pos, &left, "%s / %s", - uint64_to_nicestr(compressed_pos, - unit_min, NICESTR_TIB, false, 0), - uint64_to_nicestr(uncompressed_pos, - unit_min, NICESTR_TIB, false, 1)); - - // Avoid division by zero. If we cannot calculate the ratio, set - // it to some nice number greater than 10.0 so that it gets caught - // in the next if-clause. - const double ratio = uncompressed_pos > 0 - ? (double)(compressed_pos) / (double)(uncompressed_pos) - : 16.0; - - // If the ratio is very bad, just indicate that it is greater than - // 9.999. This way the length of the ratio field stays fixed. - if (ratio > 9.999) - snprintf(pos, left, " > %.3f", 9.999); - else - snprintf(pos, left, " = %.3f", ratio); - - return buf; -} - - -/// Make the string containing the processing speed of uncompressed data. -static const char * -progress_speed(uint64_t uncompressed_pos, uint64_t elapsed) -{ - // Don't print the speed immediately, since the early values look - // somewhat random. - if (elapsed < 3000000) - return ""; - - static const char unit[][8] = { - "KiB/s", - "MiB/s", - "GiB/s", - }; - - size_t unit_index = 0; - - // Calculate the speed as KiB/s. - double speed = (double)(uncompressed_pos) - / ((double)(elapsed) * (1024.0 / 1e6)); - - // Adjust the unit of the speed if needed. - while (speed > 999.0) { - speed /= 1024.0; - if (++unit_index == ARRAY_SIZE(unit)) - return ""; // Way too fast ;-) - } - - // Use decimal point only if the number is small. Examples: - // - 0.1 KiB/s - // - 9.9 KiB/s - // - 99 KiB/s - // - 999 KiB/s - // Use big enough buffer to hold e.g. a multibyte decimal point. - static char buf[16]; - snprintf(buf, sizeof(buf), "%.*f %s", - speed > 9.9 ? 0 : 1, speed, unit[unit_index]); - return buf; -} - - -/// Make a string indicating elapsed or remaining time. The format is either -/// M:SS or H:MM:SS depending on if the time is an hour or more. -static const char * -progress_time(uint64_t useconds) -{ - // 9999 hours = 416 days - static char buf[sizeof("9999:59:59")]; - - uint32_t seconds = useconds / 1000000; - - // Don't show anything if the time is zero or ridiculously big. - if (seconds == 0 || seconds > ((9999 * 60) + 59) * 60 + 59) - return ""; - - uint32_t minutes = seconds / 60; - seconds %= 60; - - if (minutes >= 60) { - const uint32_t hours = minutes / 60; - minutes %= 60; - snprintf(buf, sizeof(buf), - "%" PRIu32 ":%02" PRIu32 ":%02" PRIu32, - hours, minutes, seconds); - } else { - snprintf(buf, sizeof(buf), "%" PRIu32 ":%02" PRIu32, - minutes, seconds); - } - - return buf; -} - - -/// Return a string containing estimated remaining time when -/// reasonably possible. -static const char * -progress_remaining(uint64_t in_pos, uint64_t elapsed) -{ - // Don't show the estimated remaining time when it wouldn't - // make sense: - // - Input size is unknown. - // - Input has grown bigger since we started (de)compressing. - // - We haven't processed much data yet, so estimate would be - // too inaccurate. - // - Only a few seconds has passed since we started (de)compressing, - // so estimate would be too inaccurate. - if (expected_in_size == 0 || in_pos > expected_in_size - || in_pos < (UINT64_C(1) << 19) || elapsed < 8000000) - return ""; - - // Calculate the estimate. Don't give an estimate of zero seconds, - // since it is possible that all the input has been already passed - // to the library, but there is still quite a bit of output pending. - uint32_t remaining = (double)(expected_in_size - in_pos) - * ((double)(elapsed) / 1e6) / (double)(in_pos); - if (remaining < 1) - remaining = 1; - - static char buf[sizeof("9 h 55 min")]; - - // Select appropriate precision for the estimated remaining time. - if (remaining <= 10) { - // A maximum of 10 seconds remaining. - // Show the number of seconds as is. - snprintf(buf, sizeof(buf), "%" PRIu32 " s", remaining); - - } else if (remaining <= 50) { - // A maximum of 50 seconds remaining. - // Round up to the next multiple of five seconds. - remaining = (remaining + 4) / 5 * 5; - snprintf(buf, sizeof(buf), "%" PRIu32 " s", remaining); - - } else if (remaining <= 590) { - // A maximum of 9 minutes and 50 seconds remaining. - // Round up to the next multiple of ten seconds. - remaining = (remaining + 9) / 10 * 10; - snprintf(buf, sizeof(buf), "%" PRIu32 " min %" PRIu32 " s", - remaining / 60, remaining % 60); - - } else if (remaining <= 59 * 60) { - // A maximum of 59 minutes remaining. - // Round up to the next multiple of a minute. - remaining = (remaining + 59) / 60; - snprintf(buf, sizeof(buf), "%" PRIu32 " min", remaining); - - } else if (remaining <= 9 * 3600 + 50 * 60) { - // A maximum of 9 hours and 50 minutes left. - // Round up to the next multiple of ten minutes. - remaining = (remaining + 599) / 600 * 10; - snprintf(buf, sizeof(buf), "%" PRIu32 " h %" PRIu32 " min", - remaining / 60, remaining % 60); - - } else if (remaining <= 23 * 3600) { - // A maximum of 23 hours remaining. - // Round up to the next multiple of an hour. - remaining = (remaining + 3599) / 3600; - snprintf(buf, sizeof(buf), "%" PRIu32 " h", remaining); - - } else if (remaining <= 9 * 24 * 3600 + 23 * 3600) { - // A maximum of 9 days and 23 hours remaining. - // Round up to the next multiple of an hour. - remaining = (remaining + 3599) / 3600; - snprintf(buf, sizeof(buf), "%" PRIu32 " d %" PRIu32 " h", - remaining / 24, remaining % 24); - - } else if (remaining <= 999 * 24 * 3600) { - // A maximum of 999 days remaining. ;-) - // Round up to the next multiple of a day. - remaining = (remaining + 24 * 3600 - 1) / (24 * 3600); - snprintf(buf, sizeof(buf), "%" PRIu32 " d", remaining); - - } else { - // The estimated remaining time is too big. Don't show it. - return ""; - } - - return buf; -} - - -/// Calculate the elapsed time as microseconds. -static uint64_t -progress_elapsed(void) -{ - return my_time() - start_time; -} - - -/// Get information about position in the stream. This is currently simple, -/// but it will become more complicated once we have multithreading support. -static void -progress_pos(uint64_t *in_pos, - uint64_t *compressed_pos, uint64_t *uncompressed_pos) -{ - *in_pos = progress_strm->total_in; - - if (opt_mode == MODE_COMPRESS) { - *compressed_pos = progress_strm->total_out; - *uncompressed_pos = progress_strm->total_in; - } else { - *compressed_pos = progress_strm->total_in; - *uncompressed_pos = progress_strm->total_out; - } - - return; -} - - -extern void -message_progress_update(void) -{ - if (!progress_needs_updating) - return; - - // Calculate how long we have been processing this file. - const uint64_t elapsed = progress_elapsed(); - -#ifndef SIGALRM - if (progress_next_update > elapsed) - return; - - progress_next_update = elapsed + 1000000; -#endif - - // Get our current position in the stream. - uint64_t in_pos; - uint64_t compressed_pos; - uint64_t uncompressed_pos; - progress_pos(&in_pos, &compressed_pos, &uncompressed_pos); - - // Block signals so that fprintf() doesn't get interrupted. - signals_block(); - - // Print the filename if it hasn't been printed yet. - if (!current_filename_printed) - print_filename(); - - // Print the actual progress message. The idea is that there is at - // least three spaces between the fields in typical situations, but - // even in rare situations there is at least one space. - const char *cols[5] = { - progress_percentage(in_pos), - progress_sizes(compressed_pos, uncompressed_pos, false), - progress_speed(uncompressed_pos, elapsed), - progress_time(elapsed), - progress_remaining(in_pos, elapsed), - }; - fprintf(stderr, "\r %*s %*s %*s %10s %10s\r", - tuklib_mbstr_fw(cols[0], 6), cols[0], - tuklib_mbstr_fw(cols[1], 35), cols[1], - tuklib_mbstr_fw(cols[2], 9), cols[2], - cols[3], - cols[4]); - -#ifdef SIGALRM - // Updating the progress info was finished. Reset - // progress_needs_updating to wait for the next SIGALRM. - // - // NOTE: This has to be done before alarm(1) or with (very) bad - // luck we could be setting this to false after the alarm has already - // been triggered. - progress_needs_updating = false; - - if (verbosity >= V_VERBOSE && progress_automatic) { - // Mark that the progress indicator is active, so if an error - // occurs, the error message gets printed cleanly. - progress_active = true; - - // Restart the timer so that progress_needs_updating gets - // set to true after about one second. - alarm(1); - } else { - // The progress message was printed because user had sent us - // SIGALRM. In this case, each progress message is printed - // on its own line. - fputc('\n', stderr); - } -#else - // When SIGALRM isn't supported and we get here, it's always due to - // automatic progress update. We set progress_active here too like - // described above. - assert(verbosity >= V_VERBOSE); - assert(progress_automatic); - progress_active = true; -#endif - - signals_unblock(); - - return; -} - - -static void -progress_flush(bool finished) -{ - if (!progress_started || verbosity < V_VERBOSE) - return; - - uint64_t in_pos; - uint64_t compressed_pos; - uint64_t uncompressed_pos; - progress_pos(&in_pos, &compressed_pos, &uncompressed_pos); - - // Avoid printing intermediate progress info if some error occurs - // in the beginning of the stream. (If something goes wrong later in - // the stream, it is sometimes useful to tell the user where the - // error approximately occurred, especially if the error occurs - // after a time-consuming operation.) - if (!finished && !progress_active - && (compressed_pos == 0 || uncompressed_pos == 0)) - return; - - progress_active = false; - - const uint64_t elapsed = progress_elapsed(); - - signals_block(); - - // When using the auto-updating progress indicator, the final - // statistics are printed in the same format as the progress - // indicator itself. - if (progress_automatic) { - const char *cols[5] = { - finished ? "100 %" : progress_percentage(in_pos), - progress_sizes(compressed_pos, uncompressed_pos, true), - progress_speed(uncompressed_pos, elapsed), - progress_time(elapsed), - finished ? "" : progress_remaining(in_pos, elapsed), - }; - fprintf(stderr, "\r %*s %*s %*s %10s %10s\n", - tuklib_mbstr_fw(cols[0], 6), cols[0], - tuklib_mbstr_fw(cols[1], 35), cols[1], - tuklib_mbstr_fw(cols[2], 9), cols[2], - cols[3], - cols[4]); - } else { - // The filename is always printed. - fprintf(stderr, "%s: ", filename); - - // Percentage is printed only if we didn't finish yet. - if (!finished) { - // Don't print the percentage when it isn't known - // (starts with a dash). - const char *percentage = progress_percentage(in_pos); - if (percentage[0] != '-') - fprintf(stderr, "%s, ", percentage); - } - - // Size information is always printed. - fprintf(stderr, "%s", progress_sizes( - compressed_pos, uncompressed_pos, true)); - - // The speed and elapsed time aren't always shown. - const char *speed = progress_speed(uncompressed_pos, elapsed); - if (speed[0] != '\0') - fprintf(stderr, ", %s", speed); - - const char *elapsed_str = progress_time(elapsed); - if (elapsed_str[0] != '\0') - fprintf(stderr, ", %s", elapsed_str); - - fputc('\n', stderr); - } - - signals_unblock(); - - return; -} - - -extern void -message_progress_end(bool success) -{ - assert(progress_started); - progress_flush(success); - progress_started = false; - return; -} - - -static void -vmessage(enum message_verbosity v, const char *fmt, va_list ap) -{ - if (v <= verbosity) { - signals_block(); - - progress_flush(false); - - // TRANSLATORS: This is the program name in the beginning - // of the line in messages. Usually it becomes "xz: ". - // This is a translatable string because French needs - // a space before a colon. - fprintf(stderr, _("%s: "), progname); - vfprintf(stderr, fmt, ap); - fputc('\n', stderr); - - signals_unblock(); - } - - return; -} - - -extern void -message(enum message_verbosity v, const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - vmessage(v, fmt, ap); - va_end(ap); - return; -} - - -extern void -message_warning(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - vmessage(V_WARNING, fmt, ap); - va_end(ap); - - set_exit_status(E_WARNING); - return; -} - - -extern void -message_error(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - vmessage(V_ERROR, fmt, ap); - va_end(ap); - - set_exit_status(E_ERROR); - return; -} - - -extern void -message_fatal(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - vmessage(V_ERROR, fmt, ap); - va_end(ap); - - tuklib_exit(E_ERROR, E_ERROR, false); -} - - -extern void -message_bug(void) -{ - message_fatal(_("Internal error (bug)")); -} - - -extern void -message_signal_handler(void) -{ - message_fatal(_("Cannot establish signal handlers")); -} - - -extern const char * -message_strm(lzma_ret code) -{ - switch (code) { - case LZMA_NO_CHECK: - return _("No integrity check; not verifying file integrity"); - - case LZMA_UNSUPPORTED_CHECK: - return _("Unsupported type of integrity check; " - "not verifying file integrity"); - - case LZMA_MEM_ERROR: - return strerror(ENOMEM); - - case LZMA_MEMLIMIT_ERROR: - return _("Memory usage limit reached"); - - case LZMA_FORMAT_ERROR: - return _("File format not recognized"); - - case LZMA_OPTIONS_ERROR: - return _("Unsupported options"); - - case LZMA_DATA_ERROR: - return _("Compressed data is corrupt"); - - case LZMA_BUF_ERROR: - return _("Unexpected end of input"); - - case LZMA_OK: - case LZMA_STREAM_END: - case LZMA_GET_CHECK: - case LZMA_PROG_ERROR: - // Without "default", compiler will warn if new constants - // are added to lzma_ret, it is not too easy to forget to - // add the new constants to this function. - break; - } - - return _("Internal error (bug)"); -} - - -extern void -message_mem_needed(enum message_verbosity v, uint64_t memusage) -{ - if (v > verbosity) - return; - - // Convert memusage to MiB, rounding up to the next full MiB. - // This way the user can always use the displayed usage as - // the new memory usage limit. (If we rounded to the nearest, - // the user might need to +1 MiB to get high enough limit.) - memusage = round_up_to_mib(memusage); - - uint64_t memlimit = hardware_memlimit_get(opt_mode); - - // Handle the case when there is no memory usage limit. - // This way we don't print a weird message with a huge number. - if (memlimit == UINT64_MAX) { - message(v, _("%s MiB of memory is required. " - "The limiter is disabled."), - uint64_to_str(memusage, 0)); - return; - } - - // With US-ASCII: - // 2^64 with thousand separators + " MiB" suffix + '\0' = 26 + 4 + 1 - // But there may be multibyte chars so reserve enough space. - char memlimitstr[128]; - - // Show the memory usage limit as MiB unless it is less than 1 MiB. - // This way it's easy to notice errors where one has typed - // --memory=123 instead of --memory=123MiB. - if (memlimit < (UINT32_C(1) << 20)) { - snprintf(memlimitstr, sizeof(memlimitstr), "%s B", - uint64_to_str(memlimit, 1)); - } else { - // Round up just like with memusage. If this function is - // called for informational purposes (to just show the - // current usage and limit), we should never show that - // the usage is higher than the limit, which would give - // a false impression that the memory usage limit isn't - // properly enforced. - snprintf(memlimitstr, sizeof(memlimitstr), "%s MiB", - uint64_to_str(round_up_to_mib(memlimit), 1)); - } - - message(v, _("%s MiB of memory is required. The limit is %s."), - uint64_to_str(memusage, 0), memlimitstr); - - return; -} - - -/// \brief Convert uint32_t to a nice string for --lzma[12]=dict=SIZE -/// -/// The idea is to use KiB or MiB suffix when possible. -static const char * -uint32_to_optstr(uint32_t num) -{ - static char buf[16]; - - if ((num & ((UINT32_C(1) << 20) - 1)) == 0) - snprintf(buf, sizeof(buf), "%" PRIu32 "MiB", num >> 20); - else if ((num & ((UINT32_C(1) << 10) - 1)) == 0) - snprintf(buf, sizeof(buf), "%" PRIu32 "KiB", num >> 10); - else - snprintf(buf, sizeof(buf), "%" PRIu32, num); - - return buf; -} - - -extern void -message_filters_to_str(char buf[FILTERS_STR_SIZE], - const lzma_filter *filters, bool all_known) -{ - char *pos = buf; - size_t left = FILTERS_STR_SIZE; - - for (size_t i = 0; filters[i].id != LZMA_VLI_UNKNOWN; ++i) { - // Add the dashes for the filter option. A space is - // needed after the first and later filters. - my_snprintf(&pos, &left, "%s", i == 0 ? "--" : " --"); - - switch (filters[i].id) { - case LZMA_FILTER_LZMA1: - case LZMA_FILTER_LZMA2: { - const lzma_options_lzma *opt = filters[i].options; - const char *mode = NULL; - const char *mf = NULL; - - if (all_known) { - switch (opt->mode) { - case LZMA_MODE_FAST: - mode = "fast"; - break; - - case LZMA_MODE_NORMAL: - mode = "normal"; - break; - - default: - mode = "UNKNOWN"; - break; - } - - switch (opt->mf) { - case LZMA_MF_HC3: - mf = "hc3"; - break; - - case LZMA_MF_HC4: - mf = "hc4"; - break; - - case LZMA_MF_BT2: - mf = "bt2"; - break; - - case LZMA_MF_BT3: - mf = "bt3"; - break; - - case LZMA_MF_BT4: - mf = "bt4"; - break; - - default: - mf = "UNKNOWN"; - break; - } - } - - // Add the filter name and dictionary size, which - // is always known. - my_snprintf(&pos, &left, "lzma%c=dict=%s", - filters[i].id == LZMA_FILTER_LZMA2 - ? '2' : '1', - uint32_to_optstr(opt->dict_size)); - - // With LZMA1 also lc/lp/pb are known when - // decompressing, but this function is never - // used to print information about .lzma headers. - assert(filters[i].id == LZMA_FILTER_LZMA2 - || all_known); - - // Print the rest of the options, which are known - // only when compressing. - if (all_known) - my_snprintf(&pos, &left, - ",lc=%" PRIu32 ",lp=%" PRIu32 - ",pb=%" PRIu32 - ",mode=%s,nice=%" PRIu32 ",mf=%s" - ",depth=%" PRIu32, - opt->lc, opt->lp, opt->pb, - mode, opt->nice_len, mf, opt->depth); - break; - } - - case LZMA_FILTER_X86: - case LZMA_FILTER_POWERPC: - case LZMA_FILTER_IA64: - case LZMA_FILTER_ARM: - case LZMA_FILTER_ARMTHUMB: - case LZMA_FILTER_SPARC: { - static const char bcj_names[][9] = { - "x86", - "powerpc", - "ia64", - "arm", - "armthumb", - "sparc", - }; - - const lzma_options_bcj *opt = filters[i].options; - my_snprintf(&pos, &left, "%s", bcj_names[filters[i].id - - LZMA_FILTER_X86]); - - // Show the start offset only when really needed. - if (opt != NULL && opt->start_offset != 0) - my_snprintf(&pos, &left, "=start=%" PRIu32, - opt->start_offset); - - break; - } - - case LZMA_FILTER_DELTA: { - const lzma_options_delta *opt = filters[i].options; - my_snprintf(&pos, &left, "delta=dist=%" PRIu32, - opt->dist); - break; - } - - default: - // This should be possible only if liblzma is - // newer than the xz tool. - my_snprintf(&pos, &left, "UNKNOWN"); - break; - } - } - - return; -} - - -extern void -message_filters_show(enum message_verbosity v, const lzma_filter *filters) -{ - if (v > verbosity) - return; - - char buf[FILTERS_STR_SIZE]; - message_filters_to_str(buf, filters, true); - fprintf(stderr, _("%s: Filter chain: %s\n"), progname, buf); - return; -} - - -extern void -message_try_help(void) -{ - // Print this with V_WARNING instead of V_ERROR to prevent it from - // showing up when --quiet has been specified. - message(V_WARNING, _("Try `%s --help' for more information."), - progname); - return; -} - - -extern void -message_version(void) -{ - // It is possible that liblzma version is different than the command - // line tool version, so print both. - if (opt_robot) { - printf("XZ_VERSION=%" PRIu32 "\nLIBLZMA_VERSION=%" PRIu32 "\n", - LZMA_VERSION, lzma_version_number()); - } else { - printf("xz (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n"); - printf("liblzma %s\n", lzma_version_string()); - } - - tuklib_exit(E_SUCCESS, E_ERROR, verbosity != V_SILENT); -} - - -extern void -message_help(bool long_help) -{ - printf(_("Usage: %s [OPTION]... [FILE]...\n" - "Compress or decompress FILEs in the .xz format.\n\n"), - progname); - - // NOTE: The short help doesn't currently have options that - // take arguments. - if (long_help) - puts(_("Mandatory arguments to long options are mandatory " - "for short options too.\n")); - - if (long_help) - puts(_(" Operation mode:\n")); - - puts(_( -" -z, --compress force compression\n" -" -d, --decompress force decompression\n" -" -t, --test test compressed file integrity\n" -" -l, --list list information about .xz files")); - - if (long_help) - puts(_("\n Operation modifiers:\n")); - - puts(_( -" -k, --keep keep (don't delete) input files\n" -" -f, --force force overwrite of output file and (de)compress links\n" -" -c, --stdout write to standard output and don't delete input files")); - - if (long_help) - puts(_( -" --no-sparse do not create sparse files when decompressing\n" -" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n" -" --files[=FILE] read filenames to process from FILE; if FILE is\n" -" omitted, filenames are read from the standard input;\n" -" filenames must be terminated with the newline character\n" -" --files0[=FILE] like --files but use the null character as terminator")); - - if (long_help) { - puts(_("\n Basic file format and compression options:\n")); - puts(_( -" -F, --format=FMT file format to encode or decode; possible values are\n" -" `auto' (default), `xz', `lzma', and `raw'\n" -" -C, --check=CHECK integrity check type: `none' (use with caution),\n" -" `crc32', `crc64' (default), or `sha256'")); - } - - puts(_( -" -0 ... -9 compression preset; default is 6; take compressor *and*\n" -" decompressor memory usage into account before using 7-9!")); - - puts(_( -" -e, --extreme try to improve compression ratio by using more CPU time;\n" -" does not affect decompressor memory requirements")); - - if (long_help) { - puts(_( // xgettext:no-c-format -" --memlimit-compress=LIMIT\n" -" --memlimit-decompress=LIMIT\n" -" -M, --memlimit=LIMIT\n" -" set memory usage limit for compression, decompression,\n" -" or both; LIMIT is in bytes, % of RAM, or 0 for defaults")); - - puts(_( -" --no-adjust if compression settings exceed the memory usage limit,\n" -" give an error instead of adjusting the settings downwards")); - } - - if (long_help) { - puts(_( -"\n Custom filter chain for compression (alternative for using presets):")); - -#if defined(HAVE_ENCODER_LZMA1) || defined(HAVE_DECODER_LZMA1) \ - || defined(HAVE_ENCODER_LZMA2) || defined(HAVE_DECODER_LZMA2) - // TRANSLATORS: The word "literal" in "literal context bits" - // means how many "context bits" to use when encoding - // literals. A literal is a single 8-bit byte. It doesn't - // mean "literally" here. - puts(_( -"\n" -" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n" -" --lzma2[=OPTS] more of the following options (valid values; default):\n" -" preset=PRE reset options to a preset (0-9[e])\n" -" dict=NUM dictionary size (4KiB - 1536MiB; 8MiB)\n" -" lc=NUM number of literal context bits (0-4; 3)\n" -" lp=NUM number of literal position bits (0-4; 0)\n" -" pb=NUM number of position bits (0-4; 2)\n" -" mode=MODE compression mode (fast, normal; normal)\n" -" nice=NUM nice length of a match (2-273; 64)\n" -" mf=NAME match finder (hc3, hc4, bt2, bt3, bt4; bt4)\n" -" depth=NUM maximum search depth; 0=automatic (default)")); -#endif - - puts(_( -"\n" -" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n" -" --powerpc[=OPTS] PowerPC BCJ filter (big endian only)\n" -" --ia64[=OPTS] IA-64 (Itanium) BCJ filter\n" -" --arm[=OPTS] ARM BCJ filter (little endian only)\n" -" --armthumb[=OPTS] ARM-Thumb BCJ filter (little endian only)\n" -" --sparc[=OPTS] SPARC BCJ filter\n" -" Valid OPTS for all BCJ filters:\n" -" start=NUM start offset for conversions (default=0)")); - -#if defined(HAVE_ENCODER_DELTA) || defined(HAVE_DECODER_DELTA) - puts(_( -"\n" -" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n" -" dist=NUM distance between bytes being subtracted\n" -" from each other (1-256; 1)")); -#endif - } - - if (long_help) - puts(_("\n Other options:\n")); - - puts(_( -" -q, --quiet suppress warnings; specify twice to suppress errors too\n" -" -v, --verbose be verbose; specify twice for even more verbose")); - - if (long_help) { - puts(_( -" -Q, --no-warn make warnings not affect the exit status")); - puts(_( -" --robot use machine-parsable messages (useful for scripts)")); - puts(""); - puts(_( -" --info-memory display the total amount of RAM and the currently active\n" -" memory usage limits, and exit")); - puts(_( -" -h, --help display the short help (lists only the basic options)\n" -" -H, --long-help display this long help and exit")); - } else { - puts(_( -" -h, --help display this short help and exit\n" -" -H, --long-help display the long help (lists also the advanced options)")); - } - - puts(_( -" -V, --version display the version number and exit")); - - puts(_("\nWith no FILE, or when FILE is -, read standard input.\n")); - - // TRANSLATORS: This message indicates the bug reporting address - // for this package. Please add _another line_ saying - // "Report translation bugs to <...>\n" with the email or WWW - // address for translation bugs. Thanks. - printf(_("Report bugs to <%s> (in English or Finnish).\n"), - PACKAGE_BUGREPORT); - printf(_("%s home page: <%s>\n"), PACKAGE_NAME, PACKAGE_URL); - - tuklib_exit(E_SUCCESS, E_ERROR, verbosity != V_SILENT); -} diff --git a/Build/source/extra/xz/src/xz/message.h b/Build/source/extra/xz/src/xz/message.h deleted file mode 100644 index 74599bd978a..00000000000 --- a/Build/source/extra/xz/src/xz/message.h +++ /dev/null @@ -1,167 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file message.h -/// \brief Printing messages to stderr -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// Verbosity levels -enum message_verbosity { - V_SILENT, ///< No messages - V_ERROR, ///< Only error messages - V_WARNING, ///< Errors and warnings - V_VERBOSE, ///< Errors, warnings, and verbose statistics - V_DEBUG, ///< Very verbose -}; - - -/// \brief Signals used for progress message handling -extern const int message_progress_sigs[]; - - -/// \brief Initializes the message functions -/// -/// If an error occurs, this function doesn't return. -/// -extern void message_init(void); - - -/// Increase verbosity level by one step unless it was at maximum. -extern void message_verbosity_increase(void); - -/// Decrease verbosity level by one step unless it was at minimum. -extern void message_verbosity_decrease(void); - -/// Get the current verbosity level. -extern enum message_verbosity message_verbosity_get(void); - - -/// \brief Print a message if verbosity level is at least "verbosity" -/// -/// This doesn't touch the exit status. -extern void message(enum message_verbosity verbosity, const char *fmt, ...) - lzma_attribute((__format__(__printf__, 2, 3))); - - -/// \brief Prints a warning and possibly sets exit status -/// -/// The message is printed only if verbosity level is at least V_WARNING. -/// The exit status is set to WARNING unless it was already at ERROR. -extern void message_warning(const char *fmt, ...) - lzma_attribute((__format__(__printf__, 1, 2))); - - -/// \brief Prints an error message and sets exit status -/// -/// The message is printed only if verbosity level is at least V_ERROR. -/// The exit status is set to ERROR. -extern void message_error(const char *fmt, ...) - lzma_attribute((__format__(__printf__, 1, 2))); - - -/// \brief Prints an error message and exits with EXIT_ERROR -/// -/// The message is printed only if verbosity level is at least V_ERROR. -extern void message_fatal(const char *fmt, ...) - lzma_attribute((__format__(__printf__, 1, 2))) - lzma_attribute((__noreturn__)); - - -/// Print an error message that an internal error occurred and exit with -/// EXIT_ERROR. -extern void message_bug(void) lzma_attribute((__noreturn__)); - - -/// Print a message that establishing signal handlers failed, and exit with -/// exit status ERROR. -extern void message_signal_handler(void) lzma_attribute((__noreturn__)); - - -/// Convert lzma_ret to a string. -extern const char *message_strm(lzma_ret code); - - -/// Display how much memory was needed and how much the limit was. -extern void message_mem_needed(enum message_verbosity v, uint64_t memusage); - - -/// Buffer size for message_filters_to_str() -#define FILTERS_STR_SIZE 512 - - -/// \brief Get the filter chain as a string -/// -/// \param buf Pointer to caller allocated buffer to hold -/// the filter chain string -/// \param filters Pointer to the filter chain -/// \param all_known If true, all filter options are printed. -/// If false, only the options that get stored -/// into .xz headers are printed. -extern void message_filters_to_str(char buf[FILTERS_STR_SIZE], - const lzma_filter *filters, bool all_known); - - -/// Print the filter chain. -extern void message_filters_show( - enum message_verbosity v, const lzma_filter *filters); - - -/// Print a message that user should try --help. -extern void message_try_help(void); - - -/// Prints the version number to stdout and exits with exit status SUCCESS. -extern void message_version(void) lzma_attribute((__noreturn__)); - - -/// Print the help message. -extern void message_help(bool long_help) lzma_attribute((__noreturn__)); - - -/// \brief Set the total number of files to be processed -/// -/// Standard input is counted as a file here. This is used when printing -/// the filename via message_filename(). -extern void message_set_files(unsigned int files); - - -/// \brief Set the name of the current file and possibly print it too -/// -/// The name is printed immediately if --list was used or if --verbose -/// was used and stderr is a terminal. Even when the filename isn't printed, -/// it is stored so that it can be printed later if needed for progress -/// messages. -extern void message_filename(const char *src_name); - - -/// \brief Start progress info handling -/// -/// message_filename() must be called before this function to set -/// the filename. -/// -/// This must be paired with a call to message_progress_end() before the -/// given *strm becomes invalid. -/// -/// \param strm Pointer to lzma_stream used for the coding. -/// \param in_size Size of the input file, or zero if unknown. -/// -extern void message_progress_start(lzma_stream *strm, uint64_t in_size); - - -/// Update the progress info if in verbose mode and enough time has passed -/// since the previous update. This can be called only when -/// message_progress_start() has already been used. -extern void message_progress_update(void); - - -/// \brief Finishes the progress message if we were in verbose mode -/// -/// \param finished True if the whole stream was successfully coded -/// and output written to the output stream. -/// -extern void message_progress_end(bool finished); diff --git a/Build/source/extra/xz/src/xz/options.c b/Build/source/extra/xz/src/xz/options.c deleted file mode 100644 index f21a0ba5106..00000000000 --- a/Build/source/extra/xz/src/xz/options.c +++ /dev/null @@ -1,363 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file options.c -/// \brief Parser for filter-specific options -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - - -/////////////////// -// Generic stuff // -/////////////////// - -typedef struct { - const char *name; - uint64_t id; -} name_id_map; - - -typedef struct { - const char *name; - const name_id_map *map; - uint64_t min; - uint64_t max; -} option_map; - - -/// Parses option=value pairs that are separated with colons, semicolons, -/// or commas: opt=val:opt=val;opt=val,opt=val -/// -/// Each option is a string, that is converted to an integer using the -/// index where the option string is in the array. -/// -/// Value can be -/// - a string-id map mapping a list of possible string values to integers -/// (opts[i].map != NULL, opts[i].min and opts[i].max are ignored); -/// - a number with minimum and maximum value limit -/// (opts[i].map == NULL && opts[i].min != UINT64_MAX); -/// - a string that will be parsed by the filter-specific code -/// (opts[i].map == NULL && opts[i].min == UINT64_MAX, opts[i].max ignored) -/// -/// When parsing both option and value succeed, a filter-specific function -/// is called, which should update the given value to filter-specific -/// options structure. -/// -/// \param str String containing the options from the command line -/// \param opts Filter-specific option map -/// \param set Filter-specific function to update filter_options -/// \param filter_options Pointer to filter-specific options structure -/// -/// \return Returns only if no errors occur. -/// -static void -parse_options(const char *str, const option_map *opts, - void (*set)(void *filter_options, - uint32_t key, uint64_t value, const char *valuestr), - void *filter_options) -{ - if (str == NULL || str[0] == '\0') - return; - - char *s = xstrdup(str); - char *name = s; - - while (*name != '\0') { - if (*name == ',') { - ++name; - continue; - } - - char *split = strchr(name, ','); - if (split != NULL) - *split = '\0'; - - char *value = strchr(name, '='); - if (value != NULL) - *value++ = '\0'; - - if (value == NULL || value[0] == '\0') - message_fatal(_("%s: Options must be `name=value' " - "pairs separated with commas"), str); - - // Look for the option name from the option map. - size_t i = 0; - while (true) { - if (opts[i].name == NULL) - message_fatal(_("%s: Invalid option name"), - name); - - if (strcmp(name, opts[i].name) == 0) - break; - - ++i; - } - - // Option was found from the map. See how we should handle it. - if (opts[i].map != NULL) { - // value is a string which we should map - // to an integer. - size_t j; - for (j = 0; opts[i].map[j].name != NULL; ++j) { - if (strcmp(opts[i].map[j].name, value) == 0) - break; - } - - if (opts[i].map[j].name == NULL) - message_fatal(_("%s: Invalid option value"), - value); - - set(filter_options, i, opts[i].map[j].id, value); - - } else if (opts[i].min == UINT64_MAX) { - // value is a special string that will be - // parsed by set(). - set(filter_options, i, 0, value); - - } else { - // value is an integer. - const uint64_t v = str_to_uint64(name, value, - opts[i].min, opts[i].max); - set(filter_options, i, v, value); - } - - // Check if it was the last option. - if (split == NULL) - break; - - name = split + 1; - } - - free(s); - return; -} - - -/////////// -// Delta // -/////////// - -enum { - OPT_DIST, -}; - - -static void -set_delta(void *options, uint32_t key, uint64_t value, - const char *valuestr lzma_attribute((__unused__))) -{ - lzma_options_delta *opt = options; - switch (key) { - case OPT_DIST: - opt->dist = value; - break; - } -} - - -extern lzma_options_delta * -options_delta(const char *str) -{ - static const option_map opts[] = { - { "dist", NULL, LZMA_DELTA_DIST_MIN, - LZMA_DELTA_DIST_MAX }, - { NULL, NULL, 0, 0 } - }; - - lzma_options_delta *options = xmalloc(sizeof(lzma_options_delta)); - *options = (lzma_options_delta){ - // It's hard to give a useful default for this. - .type = LZMA_DELTA_TYPE_BYTE, - .dist = LZMA_DELTA_DIST_MIN, - }; - - parse_options(str, opts, &set_delta, options); - - return options; -} - - -///////// -// BCJ // -///////// - -enum { - OPT_START_OFFSET, -}; - - -static void -set_bcj(void *options, uint32_t key, uint64_t value, - const char *valuestr lzma_attribute((__unused__))) -{ - lzma_options_bcj *opt = options; - switch (key) { - case OPT_START_OFFSET: - opt->start_offset = value; - break; - } -} - - -extern lzma_options_bcj * -options_bcj(const char *str) -{ - static const option_map opts[] = { - { "start", NULL, 0, UINT32_MAX }, - { NULL, NULL, 0, 0 } - }; - - lzma_options_bcj *options = xmalloc(sizeof(lzma_options_bcj)); - *options = (lzma_options_bcj){ - .start_offset = 0, - }; - - parse_options(str, opts, &set_bcj, options); - - return options; -} - - -////////// -// LZMA // -////////// - -enum { - OPT_PRESET, - OPT_DICT, - OPT_LC, - OPT_LP, - OPT_PB, - OPT_MODE, - OPT_NICE, - OPT_MF, - OPT_DEPTH, -}; - - -static void lzma_attribute((__noreturn__)) -error_lzma_preset(const char *valuestr) -{ - message_fatal(_("Unsupported LZMA1/LZMA2 preset: %s"), valuestr); -} - - -static void -set_lzma(void *options, uint32_t key, uint64_t value, const char *valuestr) -{ - lzma_options_lzma *opt = options; - - switch (key) { - case OPT_PRESET: { - if (valuestr[0] < '0' || valuestr[0] > '9') - error_lzma_preset(valuestr); - - uint32_t preset = valuestr[0] - '0'; - - // Currently only "e" is supported as a modifier, - // so keep this simple for now. - if (valuestr[1] != '\0') { - if (valuestr[1] == 'e') - preset |= LZMA_PRESET_EXTREME; - else - error_lzma_preset(valuestr); - - if (valuestr[2] != '\0') - error_lzma_preset(valuestr); - } - - if (lzma_lzma_preset(options, preset)) - error_lzma_preset(valuestr); - - break; - } - - case OPT_DICT: - opt->dict_size = value; - break; - - case OPT_LC: - opt->lc = value; - break; - - case OPT_LP: - opt->lp = value; - break; - - case OPT_PB: - opt->pb = value; - break; - - case OPT_MODE: - opt->mode = value; - break; - - case OPT_NICE: - opt->nice_len = value; - break; - - case OPT_MF: - opt->mf = value; - break; - - case OPT_DEPTH: - opt->depth = value; - break; - } -} - - -extern lzma_options_lzma * -options_lzma(const char *str) -{ - static const name_id_map modes[] = { - { "fast", LZMA_MODE_FAST }, - { "normal", LZMA_MODE_NORMAL }, - { NULL, 0 } - }; - - static const name_id_map mfs[] = { - { "hc3", LZMA_MF_HC3 }, - { "hc4", LZMA_MF_HC4 }, - { "bt2", LZMA_MF_BT2 }, - { "bt3", LZMA_MF_BT3 }, - { "bt4", LZMA_MF_BT4 }, - { NULL, 0 } - }; - - static const option_map opts[] = { - { "preset", NULL, UINT64_MAX, 0 }, - { "dict", NULL, LZMA_DICT_SIZE_MIN, - (UINT32_C(1) << 30) + (UINT32_C(1) << 29) }, - { "lc", NULL, LZMA_LCLP_MIN, LZMA_LCLP_MAX }, - { "lp", NULL, LZMA_LCLP_MIN, LZMA_LCLP_MAX }, - { "pb", NULL, LZMA_PB_MIN, LZMA_PB_MAX }, - { "mode", modes, 0, 0 }, - { "nice", NULL, 2, 273 }, - { "mf", mfs, 0, 0 }, - { "depth", NULL, 0, UINT32_MAX }, - { NULL, NULL, 0, 0 } - }; - - lzma_options_lzma *options = xmalloc(sizeof(lzma_options_lzma)); - if (lzma_lzma_preset(options, LZMA_PRESET_DEFAULT)) - message_bug(); - - parse_options(str, opts, &set_lzma, options); - - if (options->lc + options->lp > LZMA_LCLP_MAX) - message_fatal(_("The sum of lc and lp must not exceed 4")); - - const uint32_t nice_len_min = options->mf & 0x0F; - if (options->nice_len < nice_len_min) - message_fatal(_("The selected match finder requires at " - "least nice=%" PRIu32), nice_len_min); - - return options; -} diff --git a/Build/source/extra/xz/src/xz/options.h b/Build/source/extra/xz/src/xz/options.h deleted file mode 100644 index 61ec8d58a14..00000000000 --- a/Build/source/extra/xz/src/xz/options.h +++ /dev/null @@ -1,31 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file options.h -/// \brief Parser for filter-specific options -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// \brief Parser for Delta options -/// -/// \return Pointer to allocated options structure. -/// Doesn't return on error. -extern lzma_options_delta *options_delta(const char *str); - - -/// \brief Parser for BCJ options -/// -/// \return Pointer to allocated options structure. -/// Doesn't return on error. -extern lzma_options_bcj *options_bcj(const char *str); - - -/// \brief Parser for LZMA options -/// -/// \return Pointer to allocated options structure. -/// Doesn't return on error. -extern lzma_options_lzma *options_lzma(const char *str); diff --git a/Build/source/extra/xz/src/xz/private.h b/Build/source/extra/xz/src/xz/private.h deleted file mode 100644 index 6b01e51354e..00000000000 --- a/Build/source/extra/xz/src/xz/private.h +++ /dev/null @@ -1,57 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file private.h -/// \brief Common includes, definions, and prototypes -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "mythread.h" -#include "lzma.h" - -#include -#include -#include -#include -#include -#include -#include - -#include "tuklib_gettext.h" -#include "tuklib_progname.h" -#include "tuklib_exit.h" -#include "tuklib_mbstr.h" - -#if defined(_WIN32) && !defined(__CYGWIN__) -# define WIN32_LEAN_AND_MEAN -# include -#endif - -#ifndef STDIN_FILENO -# define STDIN_FILENO (fileno(stdin)) -#endif - -#ifndef STDOUT_FILENO -# define STDOUT_FILENO (fileno(stdout)) -#endif - -#ifndef STDERR_FILENO -# define STDERR_FILENO (fileno(stderr)) -#endif - -#include "main.h" -#include "coder.h" -#include "message.h" -#include "args.h" -#include "hardware.h" -#include "file_io.h" -#include "options.h" -#include "signals.h" -#include "suffix.h" -#include "util.h" -#include "list.h" diff --git a/Build/source/extra/xz/src/xz/signals.c b/Build/source/extra/xz/src/xz/signals.c deleted file mode 100644 index de213644d00..00000000000 --- a/Build/source/extra/xz/src/xz/signals.c +++ /dev/null @@ -1,202 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file signals.c -/// \brief Handling signals to abort operation -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - - -volatile sig_atomic_t user_abort = false; - - -#if !(defined(_WIN32) && !defined(__CYGWIN__)) - -/// If we were interrupted by a signal, we store the signal number so that -/// we can raise that signal to kill the program when all cleanups have -/// been done. -static volatile sig_atomic_t exit_signal = 0; - -/// Mask of signals for which have have established a signal handler to set -/// user_abort to true. -static sigset_t hooked_signals; - -/// True once signals_init() has finished. This is used to skip blocking -/// signals (with uninitialized hooked_signals) if signals_block() and -/// signals_unblock() are called before signals_init() has been called. -static bool signals_are_initialized = false; - -/// signals_block() and signals_unblock() can be called recursively. -static size_t signals_block_count = 0; - - -static void -signal_handler(int sig) -{ - exit_signal = sig; - user_abort = true; - return; -} - - -extern void -signals_init(void) -{ - // List of signals for which we establish the signal handler. - static const int sigs[] = { - SIGINT, - SIGTERM, -#ifdef SIGHUP - SIGHUP, -#endif -#ifdef SIGPIPE - SIGPIPE, -#endif -#ifdef SIGXCPU - SIGXCPU, -#endif -#ifdef SIGXFSZ - SIGXFSZ, -#endif - }; - - // Mask of the signals for which we have established a signal handler. - sigemptyset(&hooked_signals); - for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i) - sigaddset(&hooked_signals, sigs[i]); - -#ifdef SIGALRM - // Add also the signals from message.c to hooked_signals. - for (size_t i = 0; message_progress_sigs[i] != 0; ++i) - sigaddset(&hooked_signals, message_progress_sigs[i]); -#endif - - struct sigaction sa; - - // All the signals that we handle we also blocked while the signal - // handler runs. - sa.sa_mask = hooked_signals; - - // Don't set SA_RESTART, because we want EINTR so that we can check - // for user_abort and cleanup before exiting. We block the signals - // for which we have established a handler when we don't want EINTR. - sa.sa_flags = 0; - sa.sa_handler = &signal_handler; - - for (size_t i = 0; i < ARRAY_SIZE(sigs); ++i) { - // If the parent process has left some signals ignored, - // we don't unignore them. - struct sigaction old; - if (sigaction(sigs[i], NULL, &old) == 0 - && old.sa_handler == SIG_IGN) - continue; - - // Establish the signal handler. - if (sigaction(sigs[i], &sa, NULL)) - message_signal_handler(); - } - - signals_are_initialized = true; - - return; -} - - -#ifndef __VMS -extern void -signals_block(void) -{ - if (signals_are_initialized) { - if (signals_block_count++ == 0) { - const int saved_errno = errno; - mythread_sigmask(SIG_BLOCK, &hooked_signals, NULL); - errno = saved_errno; - } - } - - return; -} - - -extern void -signals_unblock(void) -{ - if (signals_are_initialized) { - assert(signals_block_count > 0); - - if (--signals_block_count == 0) { - const int saved_errno = errno; - mythread_sigmask(SIG_UNBLOCK, &hooked_signals, NULL); - errno = saved_errno; - } - } - - return; -} -#endif - - -extern void -signals_exit(void) -{ - const int sig = exit_signal; - - if (sig != 0) { -#if defined(TUKLIB_DOSLIKE) || defined(__VMS) - // Don't raise(), set only exit status. This avoids - // printing unwanted message about SIGINT when the user - // presses C-c. - set_exit_status(E_ERROR); -#else - struct sigaction sa; - sa.sa_handler = SIG_DFL; - sigfillset(&sa.sa_mask); - sa.sa_flags = 0; - sigaction(sig, &sa, NULL); - raise(exit_signal); -#endif - } - - return; -} - -#else - -// While Windows has some very basic signal handling functions as required -// by C89, they are not really used, and e.g. SIGINT doesn't work exactly -// the way it does on POSIX (Windows creates a new thread for the signal -// handler). Instead, we use SetConsoleCtrlHandler() to catch user -// pressing C-c, because that seems to be the recommended way to do it. -// -// NOTE: This doesn't work under MSYS. Trying with SIGINT doesn't work -// either even if it appeared to work at first. So test using Windows -// console window. - -static BOOL WINAPI -signal_handler(DWORD type lzma_attribute((__unused__))) -{ - // Since we don't get a signal number which we could raise() at - // signals_exit() like on POSIX, just set the exit status to - // indicate an error, so that we cannot return with zero exit status. - set_exit_status(E_ERROR); - user_abort = true; - return TRUE; -} - - -extern void -signals_init(void) -{ - if (!SetConsoleCtrlHandler(&signal_handler, TRUE)) - message_signal_handler(); - - return; -} - -#endif diff --git a/Build/source/extra/xz/src/xz/signals.h b/Build/source/extra/xz/src/xz/signals.h deleted file mode 100644 index 5b125e0f0d7..00000000000 --- a/Build/source/extra/xz/src/xz/signals.h +++ /dev/null @@ -1,43 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file signals.h -/// \brief Handling signals to abort operation -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// If this is true, we will clean up the possibly incomplete output file, -/// return to main() as soon as practical. That is, the code needs to poll -/// this variable in various places. -extern volatile sig_atomic_t user_abort; - - -/// Initialize the signal handler, which will set user_abort to true when -/// user e.g. presses C-c. -extern void signals_init(void); - - -#if (defined(_WIN32) && !defined(__CYGWIN__)) || defined(__VMS) -# define signals_block() do { } while (0) -# define signals_unblock() do { } while (0) -#else -/// Block the signals which don't have SA_RESTART and which would just set -/// user_abort to true. This is handy when we don't want to handle EINTR -/// and don't want SA_RESTART either. -extern void signals_block(void); - -/// Unblock the signals blocked by signals_block(). -extern void signals_unblock(void); -#endif - -#if defined(_WIN32) && !defined(__CYGWIN__) -# define signals_exit() do { } while (0) -#else -/// If user has sent us a signal earlier to terminate the process, -/// re-raise that signal to actually terminate the process. -extern void signals_exit(void); -#endif diff --git a/Build/source/extra/xz/src/xz/suffix.c b/Build/source/extra/xz/src/xz/suffix.c deleted file mode 100644 index c89f67fe853..00000000000 --- a/Build/source/extra/xz/src/xz/suffix.c +++ /dev/null @@ -1,241 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file suffix.c -/// \brief Checks filename suffix and creates the destination filename -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" - -// For case-insensitive filename suffix on case-insensitive systems -#if defined(TUKLIB_DOSLIKE) || defined(__VMS) -# define strcmp strcasecmp -#endif - - -static char *custom_suffix = NULL; - - -/// \brief Test if the char is a directory separator -static bool -is_dir_sep(char c) -{ -#ifdef TUKLIB_DOSLIKE - return c == '/' || c == '\\' || c == ':'; -#else - return c == '/'; -#endif -} - - -/// \brief Test if the string contains a directory separator -static bool -has_dir_sep(const char *str) -{ -#ifdef TUKLIB_DOSLIKE - return strpbrk(str, "/\\:") != NULL; -#else - return strchr(str, '/') != NULL; -#endif -} - - -/// \brief Checks if src_name has given compressed_suffix -/// -/// \param suffix Filename suffix to look for -/// \param src_name Input filename -/// \param src_len strlen(src_name) -/// -/// \return If src_name has the suffix, src_len - strlen(suffix) is -/// returned. It's always a positive integer. Otherwise zero -/// is returned. -static size_t -test_suffix(const char *suffix, const char *src_name, size_t src_len) -{ - const size_t suffix_len = strlen(suffix); - - // The filename must have at least one character in addition to - // the suffix. src_name may contain path to the filename, so we - // need to check for directory separator too. - if (src_len <= suffix_len - || is_dir_sep(src_name[src_len - suffix_len - 1])) - return 0; - - if (strcmp(suffix, src_name + src_len - suffix_len) == 0) - return src_len - suffix_len; - - return 0; -} - - -/// \brief Removes the filename suffix of the compressed file -/// -/// \return Name of the uncompressed file, or NULL if file has unknown -/// suffix. -static char * -uncompressed_name(const char *src_name, const size_t src_len) -{ - static const struct { - const char *compressed; - const char *uncompressed; - } suffixes[] = { - { ".xz", "" }, - { ".txz", ".tar" }, // .txz abbreviation for .txt.gz is rare. - { ".lzma", "" }, - { ".tlz", ".tar" }, - // { ".gz", "" }, - // { ".tgz", ".tar" }, - }; - - const char *new_suffix = ""; - size_t new_len = 0; - - if (opt_format == FORMAT_RAW) { - // Don't check for known suffixes when --format=raw was used. - if (custom_suffix == NULL) { - message_error(_("%s: With --format=raw, " - "--suffix=.SUF is required unless " - "writing to stdout"), src_name); - return NULL; - } - } else { - for (size_t i = 0; i < ARRAY_SIZE(suffixes); ++i) { - new_len = test_suffix(suffixes[i].compressed, - src_name, src_len); - if (new_len != 0) { - new_suffix = suffixes[i].uncompressed; - break; - } - } - } - - if (new_len == 0 && custom_suffix != NULL) - new_len = test_suffix(custom_suffix, src_name, src_len); - - if (new_len == 0) { - message_warning(_("%s: Filename has an unknown suffix, " - "skipping"), src_name); - return NULL; - } - - const size_t new_suffix_len = strlen(new_suffix); - char *dest_name = xmalloc(new_len + new_suffix_len + 1); - - memcpy(dest_name, src_name, new_len); - memcpy(dest_name + new_len, new_suffix, new_suffix_len); - dest_name[new_len + new_suffix_len] = '\0'; - - return dest_name; -} - - -/// \brief Appends suffix to src_name -/// -/// In contrast to uncompressed_name(), we check only suffixes that are valid -/// for the specified file format. -static char * -compressed_name(const char *src_name, const size_t src_len) -{ - // The order of these must match the order in args.h. - static const char *const all_suffixes[][3] = { - { - ".xz", - ".txz", - NULL - }, { - ".lzma", - ".tlz", - NULL -/* - }, { - ".gz", - ".tgz", - NULL -*/ - }, { - // --format=raw requires specifying the suffix - // manually or using stdout. - NULL - } - }; - - // args.c ensures this. - assert(opt_format != FORMAT_AUTO); - - const size_t format = opt_format - 1; - const char *const *suffixes = all_suffixes[format]; - - for (size_t i = 0; suffixes[i] != NULL; ++i) { - if (test_suffix(suffixes[i], src_name, src_len) != 0) { - message_warning(_("%s: File already has `%s' " - "suffix, skipping"), src_name, - suffixes[i]); - return NULL; - } - } - - if (custom_suffix != NULL) { - if (test_suffix(custom_suffix, src_name, src_len) != 0) { - message_warning(_("%s: File already has `%s' " - "suffix, skipping"), src_name, - custom_suffix); - return NULL; - } - } - - // TODO: Hmm, maybe it would be better to validate this in args.c, - // since the suffix handling when decoding is weird now. - if (opt_format == FORMAT_RAW && custom_suffix == NULL) { - message_error(_("%s: With --format=raw, " - "--suffix=.SUF is required unless " - "writing to stdout"), src_name); - return NULL; - } - - const char *suffix = custom_suffix != NULL - ? custom_suffix : suffixes[0]; - const size_t suffix_len = strlen(suffix); - - char *dest_name = xmalloc(src_len + suffix_len + 1); - - memcpy(dest_name, src_name, src_len); - memcpy(dest_name + src_len, suffix, suffix_len); - dest_name[src_len + suffix_len] = '\0'; - - return dest_name; -} - - -extern char * -suffix_get_dest_name(const char *src_name) -{ - assert(src_name != NULL); - - // Length of the name is needed in all cases to locate the end of - // the string to compare the suffix, so calculate the length here. - const size_t src_len = strlen(src_name); - - return opt_mode == MODE_COMPRESS - ? compressed_name(src_name, src_len) - : uncompressed_name(src_name, src_len); -} - - -extern void -suffix_set(const char *suffix) -{ - // Empty suffix and suffixes having a directory separator are - // rejected. Such suffixes would break things later. - if (suffix[0] == '\0' || has_dir_sep(suffix)) - message_fatal(_("%s: Invalid filename suffix"), optarg); - - // Replace the old custom_suffix (if any) with the new suffix. - free(custom_suffix); - custom_suffix = xstrdup(suffix); - return; -} diff --git a/Build/source/extra/xz/src/xz/suffix.h b/Build/source/extra/xz/src/xz/suffix.h deleted file mode 100644 index 5537d7324f4..00000000000 --- a/Build/source/extra/xz/src/xz/suffix.h +++ /dev/null @@ -1,28 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file suffix.h -/// \brief Checks filename suffix and creates the destination filename -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// \brief Get the name of the destination file -/// -/// Depending on the global variable opt_mode, this tries to find a matching -/// counterpart for src_name. If the name can be constructed, it is allocated -/// and returned (caller must free it). On error, a message is printed and -/// NULL is returned. -extern char *suffix_get_dest_name(const char *src_name); - - -/// \brief Set a custom filename suffix -/// -/// This function calls xstrdup() for the given suffix, thus the caller -/// doesn't need to keep the memory allocated. There can be only one custom -/// suffix, thus if this is called multiple times, the old suffixes are freed -/// and forgotten. -extern void suffix_set(const char *suffix); diff --git a/Build/source/extra/xz/src/xz/util.c b/Build/source/extra/xz/src/xz/util.c deleted file mode 100644 index 35850f4c904..00000000000 --- a/Build/source/extra/xz/src/xz/util.c +++ /dev/null @@ -1,288 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file util.c -/// \brief Miscellaneous utility functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "private.h" -#include - - -/// Buffers for uint64_to_str() and uint64_to_nicestr() -static char bufs[4][128]; - -/// Thousand separator support in uint64_to_str() and uint64_to_nicestr() -static enum { UNKNOWN, WORKS, BROKEN } thousand = UNKNOWN; - - -extern void * -xrealloc(void *ptr, size_t size) -{ - assert(size > 0); - - // Save ptr so that we can free it if realloc fails. - // The point is that message_fatal ends up calling stdio functions - // which in some libc implementations might allocate memory from - // the heap. Freeing ptr improves the chances that there's free - // memory for stdio functions if they need it. - void *p = ptr; - ptr = realloc(ptr, size); - - if (ptr == NULL) { - const int saved_errno = errno; - free(p); - message_fatal("%s", strerror(saved_errno)); - } - - return ptr; -} - - -extern char * -xstrdup(const char *src) -{ - assert(src != NULL); - const size_t size = strlen(src) + 1; - char *dest = xmalloc(size); - return memcpy(dest, src, size); -} - - -extern uint64_t -str_to_uint64(const char *name, const char *value, uint64_t min, uint64_t max) -{ - uint64_t result = 0; - - // Skip blanks. - while (*value == ' ' || *value == '\t') - ++value; - - // Accept special value "max". Supporting "min" doesn't seem useful. - if (strcmp(value, "max") == 0) - return max; - - if (*value < '0' || *value > '9') - message_fatal(_("%s: Value is not a non-negative " - "decimal integer"), value); - - do { - // Don't overflow. - if (result > UINT64_MAX / 10) - goto error; - - result *= 10; - - // Another overflow check - const uint32_t add = *value - '0'; - if (UINT64_MAX - add < result) - goto error; - - result += add; - ++value; - } while (*value >= '0' && *value <= '9'); - - if (*value != '\0') { - // Look for suffix. Originally this supported both base-2 - // and base-10, but since there seems to be little need - // for base-10 in this program, treat everything as base-2 - // and also be more relaxed about the case of the first - // letter of the suffix. - uint64_t multiplier = 0; - if (*value == 'k' || *value == 'K') - multiplier = UINT64_C(1) << 10; - else if (*value == 'm' || *value == 'M') - multiplier = UINT64_C(1) << 20; - else if (*value == 'g' || *value == 'G') - multiplier = UINT64_C(1) << 30; - - ++value; - - // Allow also e.g. Ki, KiB, and KB. - if (*value != '\0' && strcmp(value, "i") != 0 - && strcmp(value, "iB") != 0 - && strcmp(value, "B") != 0) - multiplier = 0; - - if (multiplier == 0) { - message(V_ERROR, _("%s: Invalid multiplier suffix"), - value - 1); - message_fatal(_("Valid suffixes are `KiB' (2^10), " - "`MiB' (2^20), and `GiB' (2^30).")); - } - - // Don't overflow here either. - if (result > UINT64_MAX / multiplier) - goto error; - - result *= multiplier; - } - - if (result < min || result > max) - goto error; - - return result; - -error: - message_fatal(_("Value of the option `%s' must be in the range " - "[%" PRIu64 ", %" PRIu64 "]"), - name, min, max); -} - - -extern uint64_t -round_up_to_mib(uint64_t n) -{ - return (n >> 20) + ((n & ((UINT32_C(1) << 20) - 1)) != 0); -} - - -/// Check if thousand separator is supported. Run-time checking is easiest, -/// because it seems to be sometimes lacking even on POSIXish system. -static void -check_thousand_sep(uint32_t slot) -{ - if (thousand == UNKNOWN) { - bufs[slot][0] = '\0'; - snprintf(bufs[slot], sizeof(bufs[slot]), "%'u", 1U); - thousand = bufs[slot][0] == '1' ? WORKS : BROKEN; - } - - return; -} - - -extern const char * -uint64_to_str(uint64_t value, uint32_t slot) -{ - assert(slot < ARRAY_SIZE(bufs)); - - check_thousand_sep(slot); - - if (thousand == WORKS) - snprintf(bufs[slot], sizeof(bufs[slot]), "%'" PRIu64, value); - else - snprintf(bufs[slot], sizeof(bufs[slot]), "%" PRIu64, value); - - return bufs[slot]; -} - - -extern const char * -uint64_to_nicestr(uint64_t value, enum nicestr_unit unit_min, - enum nicestr_unit unit_max, bool always_also_bytes, - uint32_t slot) -{ - assert(unit_min <= unit_max); - assert(unit_max <= NICESTR_TIB); - assert(slot < ARRAY_SIZE(bufs)); - - check_thousand_sep(slot); - - enum nicestr_unit unit = NICESTR_B; - char *pos = bufs[slot]; - size_t left = sizeof(bufs[slot]); - - if ((unit_min == NICESTR_B && value < 10000) - || unit_max == NICESTR_B) { - // The value is shown as bytes. - if (thousand == WORKS) - my_snprintf(&pos, &left, "%'u", (unsigned int)value); - else - my_snprintf(&pos, &left, "%u", (unsigned int)value); - } else { - // Scale the value to a nicer unit. Unless unit_min and - // unit_max limit us, we will show at most five significant - // digits with one decimal place. - double d = (double)(value); - do { - d /= 1024.0; - ++unit; - } while (unit < unit_min || (d > 9999.9 && unit < unit_max)); - - if (thousand == WORKS) - my_snprintf(&pos, &left, "%'.1f", d); - else - my_snprintf(&pos, &left, "%.1f", d); - } - - static const char suffix[5][4] = { "B", "KiB", "MiB", "GiB", "TiB" }; - my_snprintf(&pos, &left, " %s", suffix[unit]); - - if (always_also_bytes && value >= 10000) { - if (thousand == WORKS) - snprintf(pos, left, " (%'" PRIu64 " B)", value); - else - snprintf(pos, left, " (%" PRIu64 " B)", value); - } - - return bufs[slot]; -} - - -extern void -my_snprintf(char **pos, size_t *left, const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - const int len = vsnprintf(*pos, *left, fmt, ap); - va_end(ap); - - // If an error occurred, we want the caller to think that the whole - // buffer was used. This way no more data will be written to the - // buffer. We don't need better error handling here, although it - // is possible that the result looks garbage on the terminal if - // e.g. an UTF-8 character gets split. That shouldn't (easily) - // happen though, because the buffers used have some extra room. - if (len < 0 || (size_t)(len) >= *left) { - *left = 0; - } else { - *pos += len; - *left -= len; - } - - return; -} - - -extern bool -is_empty_filename(const char *filename) -{ - if (filename[0] == '\0') { - message_error(_("Empty filename, skipping")); - return true; - } - - return false; -} - - -extern bool -is_tty_stdin(void) -{ - const bool ret = isatty(STDIN_FILENO); - - if (ret) - message_error(_("Compressed data cannot be read from " - "a terminal")); - - return ret; -} - - -extern bool -is_tty_stdout(void) -{ - const bool ret = isatty(STDOUT_FILENO); - - if (ret) - message_error(_("Compressed data cannot be written to " - "a terminal")); - - return ret; -} diff --git a/Build/source/extra/xz/src/xz/util.h b/Build/source/extra/xz/src/xz/util.h deleted file mode 100644 index a2516bf9680..00000000000 --- a/Build/source/extra/xz/src/xz/util.h +++ /dev/null @@ -1,123 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file util.h -/// \brief Miscellaneous utility functions -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -/// \brief Safe malloc() that never returns NULL -/// -/// \note xmalloc(), xrealloc(), and xstrdup() must not be used when -/// there are files open for writing, that should be cleaned up -/// before exiting. -#define xmalloc(size) xrealloc(NULL, size) - - -/// \brief Safe realloc() that never returns NULL -extern void *xrealloc(void *ptr, size_t size) - lzma_attribute((__malloc__)) lzma_attr_alloc_size(2); - - -/// \brief Safe strdup() that never returns NULL -extern char *xstrdup(const char *src) lzma_attribute((__malloc__)); - - -/// \brief Fancy version of strtoull() -/// -/// \param name Name of the option to show in case of an error -/// \param value String containing the number to be parsed; may -/// contain suffixes "k", "M", "G", "Ki", "Mi", or "Gi" -/// \param min Minimum valid value -/// \param max Maximum valid value -/// -/// \return Parsed value that is in the range [min, max]. Does not return -/// if an error occurs. -/// -extern uint64_t str_to_uint64(const char *name, const char *value, - uint64_t min, uint64_t max); - - -/// \brief Round an integer up to the next full MiB and convert to MiB -/// -/// This is used when printing memory usage and limit. -extern uint64_t round_up_to_mib(uint64_t n); - - -/// \brief Convert uint64_t to a string -/// -/// Convert the given value to a string with locale-specific thousand -/// separators, if supported by the snprintf() implementation. The string -/// is stored into an internal static buffer indicated by the slot argument. -/// A pointer to the selected buffer is returned. -/// -/// This function exists, because non-POSIX systems don't support thousand -/// separator in format strings. Solving the problem in a simple way doesn't -/// work, because it breaks gettext (specifically, the xgettext tool). -extern const char *uint64_to_str(uint64_t value, uint32_t slot); - - -enum nicestr_unit { - NICESTR_B, - NICESTR_KIB, - NICESTR_MIB, - NICESTR_GIB, - NICESTR_TIB, -}; - - -/// \brief Convert uint64_t to a nice human readable string -/// -/// This is like uint64_to_str() but uses B, KiB, MiB, GiB, or TiB suffix -/// and optionally includes the exact size in parenthesis. -/// -/// \param value Value to be printed -/// \param unit_min Smallest unit to use. This and unit_max are used -/// e.g. when showing the progress indicator to force -/// the unit to MiB. -/// \param unit_max Biggest unit to use. assert(unit_min <= unit_max). -/// \param always_also_bytes -/// Show also the exact byte value in parenthesis -/// if the nicely formatted string uses bigger unit -/// than bytes. -/// \param slot Which static buffer to use to hold the string. -/// This is shared with uint64_to_str(). -/// -/// \return Pointer to statically allocated buffer containing the string. -/// -/// \note This uses double_to_str() internally so the static buffer -/// in double_to_str() will be overwritten. -/// -extern const char *uint64_to_nicestr(uint64_t value, - enum nicestr_unit unit_min, enum nicestr_unit unit_max, - bool always_also_bytes, uint32_t slot); - - -/// \brief Wrapper for snprintf() to help constructing a string in pieces -/// -/// A maximum of *left bytes is written starting from *pos. *pos and *left -/// are updated accordingly. -extern void my_snprintf(char **pos, size_t *left, const char *fmt, ...) - lzma_attribute((__format__(__printf__, 3, 4))); - - -/// \brief Check if filename is empty and print an error message -extern bool is_empty_filename(const char *filename); - - -/// \brief Test if stdin is a terminal -/// -/// If stdin is a terminal, an error message is printed and exit status set -/// to EXIT_ERROR. -extern bool is_tty_stdin(void); - - -/// \brief Test if stdout is a terminal -/// -/// If stdout is a terminal, an error message is printed and exit status set -/// to EXIT_ERROR. -extern bool is_tty_stdout(void); diff --git a/Build/source/extra/xz/src/xz/xz.1 b/Build/source/extra/xz/src/xz/xz.1 deleted file mode 100644 index 363b90cb4e5..00000000000 --- a/Build/source/extra/xz/src/xz/xz.1 +++ /dev/null @@ -1,2599 +0,0 @@ -'\" t -.\" -.\" Author: Lasse Collin -.\" -.\" This file has been put into the public domain. -.\" You can do whatever you want with this file. -.\" -.TH XZ 1 "2013-06-21" "Tukaani" "XZ Utils" -. -.SH NAME -xz, unxz, xzcat, lzma, unlzma, lzcat \- Compress or decompress .xz and .lzma files -. -.SH SYNOPSIS -.B xz -.RI [ option... ] -.RI [ file... ] -. -.SH COMMAND ALIASES -.B unxz -is equivalent to -.BR "xz \-\-decompress" . -.br -.B xzcat -is equivalent to -.BR "xz \-\-decompress \-\-stdout" . -.br -.B lzma -is equivalent to -.BR "xz \-\-format=lzma" . -.br -.B unlzma -is equivalent to -.BR "xz \-\-format=lzma \-\-decompress" . -.br -.B lzcat -is equivalent to -.BR "xz \-\-format=lzma \-\-decompress \-\-stdout" . -.PP -When writing scripts that need to decompress files, -it is recommended to always use the name -.B xz -with appropriate arguments -.RB ( "xz \-d" -or -.BR "xz \-dc" ) -instead of the names -.B unxz -and -.BR xzcat . -. -.SH DESCRIPTION -.B xz -is a general-purpose data compression tool with -command line syntax similar to -.BR gzip (1) -and -.BR bzip2 (1). -The native file format is the -.B .xz -format, but the legacy -.B .lzma -format used by LZMA Utils and -raw compressed streams with no container format headers -are also supported. -.PP -.B xz -compresses or decompresses each -.I file -according to the selected operation mode. -If no -.I files -are given or -.I file -is -.BR \- , -.B xz -reads from standard input and writes the processed data -to standard output. -.B xz -will refuse (display an error and skip the -.IR file ) -to write compressed data to standard output if it is a terminal. -Similarly, -.B xz -will refuse to read compressed data -from standard input if it is a terminal. -.PP -Unless -.B \-\-stdout -is specified, -.I files -other than -.B \- -are written to a new file whose name is derived from the source -.I file -name: -.IP \(bu 3 -When compressing, the suffix of the target file format -.RB ( .xz -or -.BR .lzma ) -is appended to the source filename to get the target filename. -.IP \(bu 3 -When decompressing, the -.B .xz -or -.B .lzma -suffix is removed from the filename to get the target filename. -.B xz -also recognizes the suffixes -.B .txz -and -.BR .tlz , -and replaces them with the -.B .tar -suffix. -.PP -If the target file already exists, an error is displayed and the -.I file -is skipped. -.PP -Unless writing to standard output, -.B xz -will display a warning and skip the -.I file -if any of the following applies: -.IP \(bu 3 -.I File -is not a regular file. -Symbolic links are not followed, -and thus they are not considered to be regular files. -.IP \(bu 3 -.I File -has more than one hard link. -.IP \(bu 3 -.I File -has setuid, setgid, or sticky bit set. -.IP \(bu 3 -The operation mode is set to compress and the -.I file -already has a suffix of the target file format -.RB ( .xz -or -.B .txz -when compressing to the -.B .xz -format, and -.B .lzma -or -.B .tlz -when compressing to the -.B .lzma -format). -.IP \(bu 3 -The operation mode is set to decompress and the -.I file -doesn't have a suffix of any of the supported file formats -.RB ( .xz , -.BR .txz , -.BR .lzma , -or -.BR .tlz ). -.PP -After successfully compressing or decompressing the -.IR file , -.B xz -copies the owner, group, permissions, access time, -and modification time from the source -.I file -to the target file. -If copying the group fails, the permissions are modified -so that the target file doesn't become accessible to users -who didn't have permission to access the source -.IR file . -.B xz -doesn't support copying other metadata like access control lists -or extended attributes yet. -.PP -Once the target file has been successfully closed, the source -.I file -is removed unless -.B \-\-keep -was specified. -The source -.I file -is never removed if the output is written to standard output. -.PP -Sending -.B SIGINFO -or -.B SIGUSR1 -to the -.B xz -process makes it print progress information to standard error. -This has only limited use since when standard error -is a terminal, using -.B \-\-verbose -will display an automatically updating progress indicator. -. -.SS "Memory usage" -The memory usage of -.B xz -varies from a few hundred kilobytes to several gigabytes -depending on the compression settings. -The settings used when compressing a file determine -the memory requirements of the decompressor. -Typically the decompressor needs 5\ % to 20\ % of -the amount of memory that the compressor needed when -creating the file. -For example, decompressing a file created with -.B xz \-9 -currently requires 65\ MiB of memory. -Still, it is possible to have -.B .xz -files that require several gigabytes of memory to decompress. -.PP -Especially users of older systems may find -the possibility of very large memory usage annoying. -To prevent uncomfortable surprises, -.B xz -has a built-in memory usage limiter, which is disabled by default. -While some operating systems provide ways to limit -the memory usage of processes, relying on it -wasn't deemed to be flexible enough (e.g. using -.BR ulimit (1) -to limit virtual memory tends to cripple -.BR mmap (2)). -.PP -The memory usage limiter can be enabled with -the command line option \fB\-\-memlimit=\fIlimit\fR. -Often it is more convenient to enable the limiter -by default by setting the environment variable -.BR XZ_DEFAULTS , -e.g.\& -.BR XZ_DEFAULTS=\-\-memlimit=150MiB . -It is possible to set the limits separately -for compression and decompression -by using \fB\-\-memlimit\-compress=\fIlimit\fR and -\fB\-\-memlimit\-decompress=\fIlimit\fR. -Using these two options outside -.B XZ_DEFAULTS -is rarely useful because a single run of -.B xz -cannot do both compression and decompression and -.BI \-\-memlimit= limit -(or \fB\-M\fR \fIlimit\fR) -is shorter to type on the command line. -.PP -If the specified memory usage limit is exceeded when decompressing, -.B xz -will display an error and decompressing the file will fail. -If the limit is exceeded when compressing, -.B xz -will try to scale the settings down so that the limit -is no longer exceeded (except when using \fB\-\-format=raw\fR -or \fB\-\-no\-adjust\fR). -This way the operation won't fail unless the limit is very small. -The scaling of the settings is done in steps that don't -match the compression level presets, e.g. if the limit is -only slightly less than the amount required for -.BR "xz \-9" , -the settings will be scaled down only a little, -not all the way down to -.BR "xz \-8" . -. -.SS "Concatenation and padding with .xz files" -It is possible to concatenate -.B .xz -files as is. -.B xz -will decompress such files as if they were a single -.B .xz -file. -.PP -It is possible to insert padding between the concatenated parts -or after the last part. -The padding must consist of null bytes and the size -of the padding must be a multiple of four bytes. -This can be useful e.g. if the -.B .xz -file is stored on a medium that measures file sizes -in 512-byte blocks. -.PP -Concatenation and padding are not allowed with -.B .lzma -files or raw streams. -. -.SH OPTIONS -. -.SS "Integer suffixes and special values" -In most places where an integer argument is expected, -an optional suffix is supported to easily indicate large integers. -There must be no space between the integer and the suffix. -.TP -.B KiB -Multiply the integer by 1,024 (2^10). -.BR Ki , -.BR k , -.BR kB , -.BR K , -and -.B KB -are accepted as synonyms for -.BR KiB . -.TP -.B MiB -Multiply the integer by 1,048,576 (2^20). -.BR Mi , -.BR m , -.BR M , -and -.B MB -are accepted as synonyms for -.BR MiB . -.TP -.B GiB -Multiply the integer by 1,073,741,824 (2^30). -.BR Gi , -.BR g , -.BR G , -and -.B GB -are accepted as synonyms for -.BR GiB . -.PP -The special value -.B max -can be used to indicate the maximum integer value -supported by the option. -. -.SS "Operation mode" -If multiple operation mode options are given, -the last one takes effect. -.TP -.BR \-z ", " \-\-compress -Compress. -This is the default operation mode when no operation mode option -is specified and no other operation mode is implied from -the command name (for example, -.B unxz -implies -.BR \-\-decompress ). -.TP -.BR \-d ", " \-\-decompress ", " \-\-uncompress -Decompress. -.TP -.BR \-t ", " \-\-test -Test the integrity of compressed -.IR files . -This option is equivalent to -.B "\-\-decompress \-\-stdout" -except that the decompressed data is discarded instead of being -written to standard output. -No files are created or removed. -.TP -.BR \-l ", " \-\-list -Print information about compressed -.IR files . -No uncompressed output is produced, -and no files are created or removed. -In list mode, the program cannot read -the compressed data from standard -input or from other unseekable sources. -.IP "" -The default listing shows basic information about -.IR files , -one file per line. -To get more detailed information, use also the -.B \-\-verbose -option. -For even more information, use -.B \-\-verbose -twice, but note that this may be slow, because getting all the extra -information requires many seeks. -The width of verbose output exceeds -80 characters, so piping the output to e.g.\& -.B "less\ \-S" -may be convenient if the terminal isn't wide enough. -.IP "" -The exact output may vary between -.B xz -versions and different locales. -For machine-readable output, -.B \-\-robot \-\-list -should be used. -. -.SS "Operation modifiers" -.TP -.BR \-k ", " \-\-keep -Don't delete the input files. -.TP -.BR \-f ", " \-\-force -This option has several effects: -.RS -.IP \(bu 3 -If the target file already exists, -delete it before compressing or decompressing. -.IP \(bu 3 -Compress or decompress even if the input is -a symbolic link to a regular file, -has more than one hard link, -or has the setuid, setgid, or sticky bit set. -The setuid, setgid, and sticky bits are not copied -to the target file. -.IP \(bu 3 -When used with -.B \-\-decompress -.BR \-\-stdout -and -.B xz -cannot recognize the type of the source file, -copy the source file as is to standard output. -This allows -.B xzcat -.B \-\-force -to be used like -.BR cat (1) -for files that have not been compressed with -.BR xz . -Note that in future, -.B xz -might support new compressed file formats, which may make -.B xz -decompress more types of files instead of copying them as is to -standard output. -.BI \-\-format= format -can be used to restrict -.B xz -to decompress only a single file format. -.RE -.TP -.BR \-c ", " \-\-stdout ", " \-\-to\-stdout -Write the compressed or decompressed data to -standard output instead of a file. -This implies -.BR \-\-keep . -.TP -.B \-\-no\-sparse -Disable creation of sparse files. -By default, if decompressing into a regular file, -.B xz -tries to make the file sparse if the decompressed data contains -long sequences of binary zeros. -It also works when writing to standard output -as long as standard output is connected to a regular file -and certain additional conditions are met to make it safe. -Creating sparse files may save disk space and speed up -the decompression by reducing the amount of disk I/O. -.TP -\fB\-S\fR \fI.suf\fR, \fB\-\-suffix=\fI.suf -When compressing, use -.I .suf -as the suffix for the target file instead of -.B .xz -or -.BR .lzma . -If not writing to standard output and -the source file already has the suffix -.IR .suf , -a warning is displayed and the file is skipped. -.IP "" -When decompressing, recognize files with the suffix -.I .suf -in addition to files with the -.BR .xz , -.BR .txz , -.BR .lzma , -or -.B .tlz -suffix. -If the source file has the suffix -.IR .suf , -the suffix is removed to get the target filename. -.IP "" -When compressing or decompressing raw streams -.RB ( \-\-format=raw ), -the suffix must always be specified unless -writing to standard output, -because there is no default suffix for raw streams. -.TP -\fB\-\-files\fR[\fB=\fIfile\fR] -Read the filenames to process from -.IR file ; -if -.I file -is omitted, filenames are read from standard input. -Filenames must be terminated with the newline character. -A dash -.RB ( \- ) -is taken as a regular filename; it doesn't mean standard input. -If filenames are given also as command line arguments, they are -processed before the filenames read from -.IR file . -.TP -\fB\-\-files0\fR[\fB=\fIfile\fR] -This is identical to \fB\-\-files\fR[\fB=\fIfile\fR] except -that each filename must be terminated with the null character. -. -.SS "Basic file format and compression options" -.TP -\fB\-F\fR \fIformat\fR, \fB\-\-format=\fIformat -Specify the file -.I format -to compress or decompress: -.RS -.TP -.B auto -This is the default. -When compressing, -.B auto -is equivalent to -.BR xz . -When decompressing, -the format of the input file is automatically detected. -Note that raw streams (created with -.BR \-\-format=raw ) -cannot be auto-detected. -.TP -.B xz -Compress to the -.B .xz -file format, or accept only -.B .xz -files when decompressing. -.TP -.BR lzma ", " alone -Compress to the legacy -.B .lzma -file format, or accept only -.B .lzma -files when decompressing. -The alternative name -.B alone -is provided for backwards compatibility with LZMA Utils. -.TP -.B raw -Compress or uncompress a raw stream (no headers). -This is meant for advanced users only. -To decode raw streams, you need use -.B \-\-format=raw -and explicitly specify the filter chain, -which normally would have been stored in the container headers. -.RE -.TP -\fB\-C\fR \fIcheck\fR, \fB\-\-check=\fIcheck -Specify the type of the integrity check. -The check is calculated from the uncompressed data and -stored in the -.B .xz -file. -This option has an effect only when compressing into the -.B .xz -format; the -.B .lzma -format doesn't support integrity checks. -The integrity check (if any) is verified when the -.B .xz -file is decompressed. -.IP "" -Supported -.I check -types: -.RS -.TP -.B none -Don't calculate an integrity check at all. -This is usually a bad idea. -This can be useful when integrity of the data is verified -by other means anyway. -.TP -.B crc32 -Calculate CRC32 using the polynomial from IEEE-802.3 (Ethernet). -.TP -.B crc64 -Calculate CRC64 using the polynomial from ECMA-182. -This is the default, since it is slightly better than CRC32 -at detecting damaged files and the speed difference is negligible. -.TP -.B sha256 -Calculate SHA-256. -This is somewhat slower than CRC32 and CRC64. -.RE -.IP "" -Integrity of the -.B .xz -headers is always verified with CRC32. -It is not possible to change or disable it. -.TP -.BR \-0 " ... " \-9 -Select a compression preset level. -The default is -.BR \-6 . -If multiple preset levels are specified, -the last one takes effect. -If a custom filter chain was already specified, setting -a compression preset level clears the custom filter chain. -.IP "" -The differences between the presets are more significant than with -.BR gzip (1) -and -.BR bzip2 (1). -The selected compression settings determine -the memory requirements of the decompressor, -thus using a too high preset level might make it painful -to decompress the file on an old system with little RAM. -Specifically, -.B "it's not a good idea to blindly use \-9 for everything" -like it often is with -.BR gzip (1) -and -.BR bzip2 (1). -.RS -.TP -.BR "\-0" " ... " "\-3" -These are somewhat fast presets. -.B \-0 -is sometimes faster than -.B "gzip \-9" -while compressing much better. -The higher ones often have speed comparable to -.BR bzip2 (1) -with comparable or better compression ratio, -although the results -depend a lot on the type of data being compressed. -.TP -.BR "\-4" " ... " "\-6" -Good to very good compression while keeping -decompressor memory usage reasonable even for old systems. -.B \-6 -is the default, which is usually a good choice -e.g. for distributing files that need to be decompressible -even on systems with only 16\ MiB RAM. -.RB ( \-5e -or -.B \-6e -may be worth considering too. -See -.BR \-\-extreme .) -.TP -.B "\-7 ... \-9" -These are like -.B \-6 -but with higher compressor and decompressor memory requirements. -These are useful only when compressing files bigger than -8\ MiB, 16\ MiB, and 32\ MiB, respectively. -.RE -.IP "" -On the same hardware, the decompression speed is approximately -a constant number of bytes of compressed data per second. -In other words, the better the compression, -the faster the decompression will usually be. -This also means that the amount of uncompressed output -produced per second can vary a lot. -.IP "" -The following table summarises the features of the presets: -.RS -.RS -.PP -.TS -tab(;); -c c c c c -n n n n n. -Preset;DictSize;CompCPU;CompMem;DecMem -\-0;256 KiB;0;3 MiB;1 MiB -\-1;1 MiB;1;9 MiB;2 MiB -\-2;2 MiB;2;17 MiB;3 MiB -\-3;4 MiB;3;32 MiB;5 MiB -\-4;4 MiB;4;48 MiB;5 MiB -\-5;8 MiB;5;94 MiB;9 MiB -\-6;8 MiB;6;94 MiB;9 MiB -\-7;16 MiB;6;186 MiB;17 MiB -\-8;32 MiB;6;370 MiB;33 MiB -\-9;64 MiB;6;674 MiB;65 MiB -.TE -.RE -.RE -.IP "" -Column descriptions: -.RS -.IP \(bu 3 -DictSize is the LZMA2 dictionary size. -It is waste of memory to use a dictionary bigger than -the size of the uncompressed file. -This is why it is good to avoid using the presets -.BR \-7 " ... " \-9 -when there's no real need for them. -At -.B \-6 -and lower, the amount of memory wasted is -usually low enough to not matter. -.IP \(bu 3 -CompCPU is a simplified representation of the LZMA2 settings -that affect compression speed. -The dictionary size affects speed too, -so while CompCPU is the same for levels -.BR \-6 " ... " \-9 , -higher levels still tend to be a little slower. -To get even slower and thus possibly better compression, see -.BR \-\-extreme . -.IP \(bu 3 -CompMem contains the compressor memory requirements -in the single-threaded mode. -It may vary slightly between -.B xz -versions. -Memory requirements of some of the future multithreaded modes may -be dramatically higher than that of the single-threaded mode. -.IP \(bu 3 -DecMem contains the decompressor memory requirements. -That is, the compression settings determine -the memory requirements of the decompressor. -The exact decompressor memory usage is slightly more than -the LZMA2 dictionary size, but the values in the table -have been rounded up to the next full MiB. -.RE -.TP -.BR \-e ", " \-\-extreme -Use a slower variant of the selected compression preset level -.RB ( \-0 " ... " \-9 ) -to hopefully get a little bit better compression ratio, -but with bad luck this can also make it worse. -Decompressor memory usage is not affected, -but compressor memory usage increases a little at preset levels -.BR \-0 " ... " \-3 . -.IP "" -Since there are two presets with dictionary sizes -4\ MiB and 8\ MiB, the presets -.B \-3e -and -.B \-5e -use slightly faster settings (lower CompCPU) than -.B \-4e -and -.BR \-6e , -respectively. -That way no two presets are identical. -.RS -.RS -.PP -.TS -tab(;); -c c c c c -n n n n n. -Preset;DictSize;CompCPU;CompMem;DecMem -\-0e;256 KiB;8;4 MiB;1 MiB -\-1e;1 MiB;8;13 MiB;2 MiB -\-2e;2 MiB;8;25 MiB;3 MiB -\-3e;4 MiB;7;48 MiB;5 MiB -\-4e;4 MiB;8;48 MiB;5 MiB -\-5e;8 MiB;7;94 MiB;9 MiB -\-6e;8 MiB;8;94 MiB;9 MiB -\-7e;16 MiB;8;186 MiB;17 MiB -\-8e;32 MiB;8;370 MiB;33 MiB -\-9e;64 MiB;8;674 MiB;65 MiB -.TE -.RE -.RE -.IP "" -For example, there are a total of four presets that use -8\ MiB dictionary, whose order from the fastest to the slowest is -.BR \-5 , -.BR \-6 , -.BR \-5e , -and -.BR \-6e . -.TP -.B \-\-fast -.PD 0 -.TP -.B \-\-best -.PD -These are somewhat misleading aliases for -.B \-0 -and -.BR \-9 , -respectively. -These are provided only for backwards compatibility -with LZMA Utils. -Avoid using these options. -.TP -.BI \-\-memlimit\-compress= limit -Set a memory usage limit for compression. -If this option is specified multiple times, -the last one takes effect. -.IP "" -If the compression settings exceed the -.IR limit , -.B xz -will adjust the settings downwards so that -the limit is no longer exceeded and display a notice that -automatic adjustment was done. -Such adjustments are not made when compressing with -.B \-\-format=raw -or if -.B \-\-no\-adjust -has been specified. -In those cases, an error is displayed and -.B xz -will exit with exit status 1. -.IP "" -The -.I limit -can be specified in multiple ways: -.RS -.IP \(bu 3 -The -.I limit -can be an absolute value in bytes. -Using an integer suffix like -.B MiB -can be useful. -Example: -.B "\-\-memlimit\-compress=80MiB" -.IP \(bu 3 -The -.I limit -can be specified as a percentage of total physical memory (RAM). -This can be useful especially when setting the -.B XZ_DEFAULTS -environment variable in a shell initialization script -that is shared between different computers. -That way the limit is automatically bigger -on systems with more memory. -Example: -.B "\-\-memlimit\-compress=70%" -.IP \(bu 3 -The -.I limit -can be reset back to its default value by setting it to -.BR 0 . -This is currently equivalent to setting the -.I limit -to -.B max -(no memory usage limit). -Once multithreading support has been implemented, -there may be a difference between -.B 0 -and -.B max -for the multithreaded case, so it is recommended to use -.B 0 -instead of -.B max -until the details have been decided. -.RE -.IP "" -See also the section -.BR "Memory usage" . -.TP -.BI \-\-memlimit\-decompress= limit -Set a memory usage limit for decompression. -This also affects the -.B \-\-list -mode. -If the operation is not possible without exceeding the -.IR limit , -.B xz -will display an error and decompressing the file will fail. -See -.BI \-\-memlimit\-compress= limit -for possible ways to specify the -.IR limit . -.TP -\fB\-M\fR \fIlimit\fR, \fB\-\-memlimit=\fIlimit\fR, \fB\-\-memory=\fIlimit -This is equivalent to specifying \fB\-\-memlimit\-compress=\fIlimit -\fB\-\-memlimit\-decompress=\fIlimit\fR. -.TP -.B \-\-no\-adjust -Display an error and exit if the compression settings exceed -the memory usage limit. -The default is to adjust the settings downwards so -that the memory usage limit is not exceeded. -Automatic adjusting is always disabled when creating raw streams -.RB ( \-\-format=raw ). -.TP -\fB\-T\fR \fIthreads\fR, \fB\-\-threads=\fIthreads -Specify the number of worker threads to use. -The actual number of threads can be less than -.I threads -if using more threads would exceed the memory usage limit. -.IP "" -.B "Multithreaded compression and decompression are not" -.B "implemented yet, so this option has no effect for now." -.IP "" -.B "As of writing (2010-09-27), it hasn't been decided" -.B "if threads will be used by default on multicore systems" -.B "once support for threading has been implemented." -.B "Comments are welcome." -The complicating factor is that using many threads -will increase the memory usage dramatically. -Note that if multithreading will be the default, -it will probably be done so that single-threaded and -multithreaded modes produce the same output, -so compression ratio won't be significantly affected -if threading will be enabled by default. -. -.SS "Custom compressor filter chains" -A custom filter chain allows specifying -the compression settings in detail instead of relying on -the settings associated to the presets. -When a custom filter chain is specified, -preset options (\fB\-0\fR ... \fB\-9\fR and \fB\-\-extreme\fR) -earlier on the command line are forgotten. -If a preset option is specified -after one or more custom filter chain options, -the new preset takes effect and -the custom filter chain options specified earlier are forgotten. -.PP -A filter chain is comparable to piping on the command line. -When compressing, the uncompressed input goes to the first filter, -whose output goes to the next filter (if any). -The output of the last filter gets written to the compressed file. -The maximum number of filters in the chain is four, -but typically a filter chain has only one or two filters. -.PP -Many filters have limitations on where they can be -in the filter chain: -some filters can work only as the last filter in the chain, -some only as a non-last filter, and some work in any position -in the chain. -Depending on the filter, this limitation is either inherent to -the filter design or exists to prevent security issues. -.PP -A custom filter chain is specified by using one or more -filter options in the order they are wanted in the filter chain. -That is, the order of filter options is significant! -When decoding raw streams -.RB ( \-\-format=raw ), -the filter chain is specified in the same order as -it was specified when compressing. -.PP -Filters take filter-specific -.I options -as a comma-separated list. -Extra commas in -.I options -are ignored. -Every option has a default value, so you need to -specify only those you want to change. -.PP -To see the whole filter chain and -.IR options , -use -.B "xz \-vv" -(that is, use -.B \-\-verbose -twice). -This works also for viewing the filter chain options used by presets. -.TP -\fB\-\-lzma1\fR[\fB=\fIoptions\fR] -.PD 0 -.TP -\fB\-\-lzma2\fR[\fB=\fIoptions\fR] -.PD -Add LZMA1 or LZMA2 filter to the filter chain. -These filters can be used only as the last filter in the chain. -.IP "" -LZMA1 is a legacy filter, -which is supported almost solely due to the legacy -.B .lzma -file format, which supports only LZMA1. -LZMA2 is an updated -version of LZMA1 to fix some practical issues of LZMA1. -The -.B .xz -format uses LZMA2 and doesn't support LZMA1 at all. -Compression speed and ratios of LZMA1 and LZMA2 -are practically the same. -.IP "" -LZMA1 and LZMA2 share the same set of -.IR options : -.RS -.TP -.BI preset= preset -Reset all LZMA1 or LZMA2 -.I options -to -.IR preset . -.I Preset -consist of an integer, which may be followed by single-letter -preset modifiers. -The integer can be from -.B 0 -to -.BR 9 , -matching the command line options \fB\-0\fR ... \fB\-9\fR. -The only supported modifier is currently -.BR e , -which matches -.BR \-\-extreme . -If no -.B preset -is specified, the default values of LZMA1 or LZMA2 -.I options -are taken from the preset -.BR 6 . -.TP -.BI dict= size -Dictionary (history buffer) -.I size -indicates how many bytes of the recently processed -uncompressed data is kept in memory. -The algorithm tries to find repeating byte sequences (matches) in -the uncompressed data, and replace them with references -to the data currently in the dictionary. -The bigger the dictionary, the higher is the chance -to find a match. -Thus, increasing dictionary -.I size -usually improves compression ratio, but -a dictionary bigger than the uncompressed file is waste of memory. -.IP "" -Typical dictionary -.I size -is from 64\ KiB to 64\ MiB. -The minimum is 4\ KiB. -The maximum for compression is currently 1.5\ GiB (1536\ MiB). -The decompressor already supports dictionaries up to -one byte less than 4\ GiB, which is the maximum for -the LZMA1 and LZMA2 stream formats. -.IP "" -Dictionary -.I size -and match finder -.RI ( mf ) -together determine the memory usage of the LZMA1 or LZMA2 encoder. -The same (or bigger) dictionary -.I size -is required for decompressing that was used when compressing, -thus the memory usage of the decoder is determined -by the dictionary size used when compressing. -The -.B .xz -headers store the dictionary -.I size -either as -.RI "2^" n -or -.RI "2^" n " + 2^(" n "\-1)," -so these -.I sizes -are somewhat preferred for compression. -Other -.I sizes -will get rounded up when stored in the -.B .xz -headers. -.TP -.BI lc= lc -Specify the number of literal context bits. -The minimum is 0 and the maximum is 4; the default is 3. -In addition, the sum of -.I lc -and -.I lp -must not exceed 4. -.IP "" -All bytes that cannot be encoded as matches -are encoded as literals. -That is, literals are simply 8-bit bytes -that are encoded one at a time. -.IP "" -The literal coding makes an assumption that the highest -.I lc -bits of the previous uncompressed byte correlate -with the next byte. -E.g. in typical English text, an upper-case letter is -often followed by a lower-case letter, and a lower-case -letter is usually followed by another lower-case letter. -In the US-ASCII character set, the highest three bits are 010 -for upper-case letters and 011 for lower-case letters. -When -.I lc -is at least 3, the literal coding can take advantage of -this property in the uncompressed data. -.IP "" -The default value (3) is usually good. -If you want maximum compression, test -.BR lc=4 . -Sometimes it helps a little, and -sometimes it makes compression worse. -If it makes it worse, test e.g.\& -.B lc=2 -too. -.TP -.BI lp= lp -Specify the number of literal position bits. -The minimum is 0 and the maximum is 4; the default is 0. -.IP "" -.I Lp -affects what kind of alignment in the uncompressed data is -assumed when encoding literals. -See -.I pb -below for more information about alignment. -.TP -.BI pb= pb -Specify the number of position bits. -The minimum is 0 and the maximum is 4; the default is 2. -.IP "" -.I Pb -affects what kind of alignment in the uncompressed data is -assumed in general. -The default means four-byte alignment -.RI (2^ pb =2^2=4), -which is often a good choice when there's no better guess. -.IP "" -When the aligment is known, setting -.I pb -accordingly may reduce the file size a little. -E.g. with text files having one-byte -alignment (US-ASCII, ISO-8859-*, UTF-8), setting -.B pb=0 -can improve compression slightly. -For UTF-16 text, -.B pb=1 -is a good choice. -If the alignment is an odd number like 3 bytes, -.B pb=0 -might be the best choice. -.IP "" -Even though the assumed alignment can be adjusted with -.I pb -and -.IR lp , -LZMA1 and LZMA2 still slightly favor 16-byte alignment. -It might be worth taking into account when designing file formats -that are likely to be often compressed with LZMA1 or LZMA2. -.TP -.BI mf= mf -Match finder has a major effect on encoder speed, -memory usage, and compression ratio. -Usually Hash Chain match finders are faster than Binary Tree -match finders. -The default depends on the -.IR preset : -0 uses -.BR hc3 , -1\-3 -use -.BR hc4 , -and the rest use -.BR bt4 . -.IP "" -The following match finders are supported. -The memory usage formulas below are rough approximations, -which are closest to the reality when -.I dict -is a power of two. -.RS -.TP -.B hc3 -Hash Chain with 2- and 3-byte hashing -.br -Minimum value for -.IR nice : -3 -.br -Memory usage: -.br -.I dict -* 7.5 (if -.I dict -<= 16 MiB); -.br -.I dict -* 5.5 + 64 MiB (if -.I dict -> 16 MiB) -.TP -.B hc4 -Hash Chain with 2-, 3-, and 4-byte hashing -.br -Minimum value for -.IR nice : -4 -.br -Memory usage: -.br -.I dict -* 7.5 (if -.I dict -<= 32 MiB); -.br -.I dict -* 6.5 (if -.I dict -> 32 MiB) -.TP -.B bt2 -Binary Tree with 2-byte hashing -.br -Minimum value for -.IR nice : -2 -.br -Memory usage: -.I dict -* 9.5 -.TP -.B bt3 -Binary Tree with 2- and 3-byte hashing -.br -Minimum value for -.IR nice : -3 -.br -Memory usage: -.br -.I dict -* 11.5 (if -.I dict -<= 16 MiB); -.br -.I dict -* 9.5 + 64 MiB (if -.I dict -> 16 MiB) -.TP -.B bt4 -Binary Tree with 2-, 3-, and 4-byte hashing -.br -Minimum value for -.IR nice : -4 -.br -Memory usage: -.br -.I dict -* 11.5 (if -.I dict -<= 32 MiB); -.br -.I dict -* 10.5 (if -.I dict -> 32 MiB) -.RE -.TP -.BI mode= mode -Compression -.I mode -specifies the method to analyze -the data produced by the match finder. -Supported -.I modes -are -.B fast -and -.BR normal . -The default is -.B fast -for -.I presets -0\-3 and -.B normal -for -.I presets -4\-9. -.IP "" -Usually -.B fast -is used with Hash Chain match finders and -.B normal -with Binary Tree match finders. -This is also what the -.I presets -do. -.TP -.BI nice= nice -Specify what is considered to be a nice length for a match. -Once a match of at least -.I nice -bytes is found, the algorithm stops -looking for possibly better matches. -.IP "" -.I Nice -can be 2\-273 bytes. -Higher values tend to give better compression ratio -at the expense of speed. -The default depends on the -.IR preset . -.TP -.BI depth= depth -Specify the maximum search depth in the match finder. -The default is the special value of 0, -which makes the compressor determine a reasonable -.I depth -from -.I mf -and -.IR nice . -.IP "" -Reasonable -.I depth -for Hash Chains is 4\-100 and 16\-1000 for Binary Trees. -Using very high values for -.I depth -can make the encoder extremely slow with some files. -Avoid setting the -.I depth -over 1000 unless you are prepared to interrupt -the compression in case it is taking far too long. -.RE -.IP "" -When decoding raw streams -.RB ( \-\-format=raw ), -LZMA2 needs only the dictionary -.IR size . -LZMA1 needs also -.IR lc , -.IR lp , -and -.IR pb . -.TP -\fB\-\-x86\fR[\fB=\fIoptions\fR] -.PD 0 -.TP -\fB\-\-powerpc\fR[\fB=\fIoptions\fR] -.TP -\fB\-\-ia64\fR[\fB=\fIoptions\fR] -.TP -\fB\-\-arm\fR[\fB=\fIoptions\fR] -.TP -\fB\-\-armthumb\fR[\fB=\fIoptions\fR] -.TP -\fB\-\-sparc\fR[\fB=\fIoptions\fR] -.PD -Add a branch/call/jump (BCJ) filter to the filter chain. -These filters can be used only as a non-last filter -in the filter chain. -.IP "" -A BCJ filter converts relative addresses in -the machine code to their absolute counterparts. -This doesn't change the size of the data, -but it increases redundancy, -which can help LZMA2 to produce 0\-15\ % smaller -.B .xz -file. -The BCJ filters are always reversible, -so using a BCJ filter for wrong type of data -doesn't cause any data loss, although it may make -the compression ratio slightly worse. -.IP "" -It is fine to apply a BCJ filter on a whole executable; -there's no need to apply it only on the executable section. -Applying a BCJ filter on an archive that contains both executable -and non-executable files may or may not give good results, -so it generally isn't good to blindly apply a BCJ filter when -compressing binary packages for distribution. -.IP "" -These BCJ filters are very fast and -use insignificant amount of memory. -If a BCJ filter improves compression ratio of a file, -it can improve decompression speed at the same time. -This is because, on the same hardware, -the decompression speed of LZMA2 is roughly -a fixed number of bytes of compressed data per second. -.IP "" -These BCJ filters have known problems related to -the compression ratio: -.RS -.IP \(bu 3 -Some types of files containing executable code -(e.g. object files, static libraries, and Linux kernel modules) -have the addresses in the instructions filled with filler values. -These BCJ filters will still do the address conversion, -which will make the compression worse with these files. -.IP \(bu 3 -Applying a BCJ filter on an archive containing multiple similar -executables can make the compression ratio worse than not using -a BCJ filter. -This is because the BCJ filter doesn't detect the boundaries -of the executable files, and doesn't reset -the address conversion counter for each executable. -.RE -.IP "" -Both of the above problems will be fixed -in the future in a new filter. -The old BCJ filters will still be useful in embedded systems, -because the decoder of the new filter will be bigger -and use more memory. -.IP "" -Different instruction sets have have different alignment: -.RS -.RS -.PP -.TS -tab(;); -l n l -l n l. -Filter;Alignment;Notes -x86;1;32-bit or 64-bit x86 -PowerPC;4;Big endian only -ARM;4;Little endian only -ARM-Thumb;2;Little endian only -IA-64;16;Big or little endian -SPARC;4;Big or little endian -.TE -.RE -.RE -.IP "" -Since the BCJ-filtered data is usually compressed with LZMA2, -the compression ratio may be improved slightly if -the LZMA2 options are set to match the -alignment of the selected BCJ filter. -For example, with the IA-64 filter, it's good to set -.B pb=4 -with LZMA2 (2^4=16). -The x86 filter is an exception; -it's usually good to stick to LZMA2's default -four-byte alignment when compressing x86 executables. -.IP "" -All BCJ filters support the same -.IR options : -.RS -.TP -.BI start= offset -Specify the start -.I offset -that is used when converting between relative -and absolute addresses. -The -.I offset -must be a multiple of the alignment of the filter -(see the table above). -The default is zero. -In practice, the default is good; specifying a custom -.I offset -is almost never useful. -.RE -.TP -\fB\-\-delta\fR[\fB=\fIoptions\fR] -Add the Delta filter to the filter chain. -The Delta filter can be only used as a non-last filter -in the filter chain. -.IP "" -Currently only simple byte-wise delta calculation is supported. -It can be useful when compressing e.g. uncompressed bitmap images -or uncompressed PCM audio. -However, special purpose algorithms may give significantly better -results than Delta + LZMA2. -This is true especially with audio, -which compresses faster and better e.g. with -.BR flac (1). -.IP "" -Supported -.IR options : -.RS -.TP -.BI dist= distance -Specify the -.I distance -of the delta calculation in bytes. -.I distance -must be 1\-256. -The default is 1. -.IP "" -For example, with -.B dist=2 -and eight-byte input A1 B1 A2 B3 A3 B5 A4 B7, the output will be -A1 B1 01 02 01 02 01 02. -.RE -. -.SS "Other options" -.TP -.BR \-q ", " \-\-quiet -Suppress warnings and notices. -Specify this twice to suppress errors too. -This option has no effect on the exit status. -That is, even if a warning was suppressed, -the exit status to indicate a warning is still used. -.TP -.BR \-v ", " \-\-verbose -Be verbose. -If standard error is connected to a terminal, -.B xz -will display a progress indicator. -Specifying -.B \-\-verbose -twice will give even more verbose output. -.IP "" -The progress indicator shows the following information: -.RS -.IP \(bu 3 -Completion percentage is shown -if the size of the input file is known. -That is, the percentage cannot be shown in pipes. -.IP \(bu 3 -Amount of compressed data produced (compressing) -or consumed (decompressing). -.IP \(bu 3 -Amount of uncompressed data consumed (compressing) -or produced (decompressing). -.IP \(bu 3 -Compression ratio, which is calculated by dividing -the amount of compressed data processed so far by -the amount of uncompressed data processed so far. -.IP \(bu 3 -Compression or decompression speed. -This is measured as the amount of uncompressed data consumed -(compression) or produced (decompression) per second. -It is shown after a few seconds have passed since -.B xz -started processing the file. -.IP \(bu 3 -Elapsed time in the format M:SS or H:MM:SS. -.IP \(bu 3 -Estimated remaining time is shown -only when the size of the input file is -known and a couple of seconds have already passed since -.B xz -started processing the file. -The time is shown in a less precise format which -never has any colons, e.g. 2 min 30 s. -.RE -.IP "" -When standard error is not a terminal, -.B \-\-verbose -will make -.B xz -print the filename, compressed size, uncompressed size, -compression ratio, and possibly also the speed and elapsed time -on a single line to standard error after compressing or -decompressing the file. -The speed and elapsed time are included only when -the operation took at least a few seconds. -If the operation didn't finish, e.g. due to user interruption, -also the completion percentage is printed -if the size of the input file is known. -.TP -.BR \-Q ", " \-\-no\-warn -Don't set the exit status to 2 -even if a condition worth a warning was detected. -This option doesn't affect the verbosity level, thus both -.B \-\-quiet -and -.B \-\-no\-warn -have to be used to not display warnings and -to not alter the exit status. -.TP -.B \-\-robot -Print messages in a machine-parsable format. -This is intended to ease writing frontends that want to use -.B xz -instead of liblzma, which may be the case with various scripts. -The output with this option enabled is meant to be stable across -.B xz -releases. -See the section -.B "ROBOT MODE" -for details. -.TP -.BR \-\-info\-memory -Display, in human-readable format, how much physical memory (RAM) -.B xz -thinks the system has and the memory usage limits for compression -and decompression, and exit successfully. -.TP -.BR \-h ", " \-\-help -Display a help message describing the most commonly used options, -and exit successfully. -.TP -.BR \-H ", " \-\-long\-help -Display a help message describing all features of -.BR xz , -and exit successfully -.TP -.BR \-V ", " \-\-version -Display the version number of -.B xz -and liblzma in human readable format. -To get machine-parsable output, specify -.B \-\-robot -before -.BR \-\-version . -. -.SH "ROBOT MODE" -The robot mode is activated with the -.B \-\-robot -option. -It makes the output of -.B xz -easier to parse by other programs. -Currently -.B \-\-robot -is supported only together with -.BR \-\-version , -.BR \-\-info\-memory , -and -.BR \-\-list . -It will be supported for compression and -decompression in the future. -. -.SS Version -.B "xz \-\-robot \-\-version" -will print the version number of -.B xz -and liblzma in the following format: -.PP -.BI XZ_VERSION= XYYYZZZS -.br -.BI LIBLZMA_VERSION= XYYYZZZS -.TP -.I X -Major version. -.TP -.I YYY -Minor version. -Even numbers are stable. -Odd numbers are alpha or beta versions. -.TP -.I ZZZ -Patch level for stable releases or -just a counter for development releases. -.TP -.I S -Stability. -0 is alpha, 1 is beta, and 2 is stable. -.I S -should be always 2 when -.I YYY -is even. -.PP -.I XYYYZZZS -are the same on both lines if -.B xz -and liblzma are from the same XZ Utils release. -.PP -Examples: 4.999.9beta is -.B 49990091 -and -5.0.0 is -.BR 50000002 . -. -.SS "Memory limit information" -.B "xz \-\-robot \-\-info\-memory" -prints a single line with three tab-separated columns: -.IP 1. 4 -Total amount of physical memory (RAM) in bytes -.IP 2. 4 -Memory usage limit for compression in bytes. -A special value of zero indicates the default setting, -which for single-threaded mode is the same as no limit. -.IP 3. 4 -Memory usage limit for decompression in bytes. -A special value of zero indicates the default setting, -which for single-threaded mode is the same as no limit. -.PP -In the future, the output of -.B "xz \-\-robot \-\-info\-memory" -may have more columns, but never more than a single line. -. -.SS "List mode" -.B "xz \-\-robot \-\-list" -uses tab-separated output. -The first column of every line has a string -that indicates the type of the information found on that line: -.TP -.B name -This is always the first line when starting to list a file. -The second column on the line is the filename. -.TP -.B file -This line contains overall information about the -.B .xz -file. -This line is always printed after the -.B name -line. -.TP -.B stream -This line type is used only when -.B \-\-verbose -was specified. -There are as many -.B stream -lines as there are streams in the -.B .xz -file. -.TP -.B block -This line type is used only when -.B \-\-verbose -was specified. -There are as many -.B block -lines as there are blocks in the -.B .xz -file. -The -.B block -lines are shown after all the -.B stream -lines; different line types are not interleaved. -.TP -.B summary -This line type is used only when -.B \-\-verbose -was specified twice. -This line is printed after all -.B block -lines. -Like the -.B file -line, the -.B summary -line contains overall information about the -.B .xz -file. -.TP -.B totals -This line is always the very last line of the list output. -It shows the total counts and sizes. -.PP -The columns of the -.B file -lines: -.PD 0 -.RS -.IP 2. 4 -Number of streams in the file -.IP 3. 4 -Total number of blocks in the stream(s) -.IP 4. 4 -Compressed size of the file -.IP 5. 4 -Uncompressed size of the file -.IP 6. 4 -Compression ratio, for example -.BR 0.123. -If ratio is over 9.999, three dashes -.RB ( \-\-\- ) -are displayed instead of the ratio. -.IP 7. 4 -Comma-separated list of integrity check names. -The following strings are used for the known check types: -.BR None , -.BR CRC32 , -.BR CRC64 , -and -.BR SHA\-256 . -For unknown check types, -.BI Unknown\- N -is used, where -.I N -is the Check ID as a decimal number (one or two digits). -.IP 8. 4 -Total size of stream padding in the file -.RE -.PD -.PP -The columns of the -.B stream -lines: -.PD 0 -.RS -.IP 2. 4 -Stream number (the first stream is 1) -.IP 3. 4 -Number of blocks in the stream -.IP 4. 4 -Compressed start offset -.IP 5. 4 -Uncompressed start offset -.IP 6. 4 -Compressed size (does not include stream padding) -.IP 7. 4 -Uncompressed size -.IP 8. 4 -Compression ratio -.IP 9. 4 -Name of the integrity check -.IP 10. 4 -Size of stream padding -.RE -.PD -.PP -The columns of the -.B block -lines: -.PD 0 -.RS -.IP 2. 4 -Number of the stream containing this block -.IP 3. 4 -Block number relative to the beginning of the stream -(the first block is 1) -.IP 4. 4 -Block number relative to the beginning of the file -.IP 5. 4 -Compressed start offset relative to the beginning of the file -.IP 6. 4 -Uncompressed start offset relative to the beginning of the file -.IP 7. 4 -Total compressed size of the block (includes headers) -.IP 8. 4 -Uncompressed size -.IP 9. 4 -Compression ratio -.IP 10. 4 -Name of the integrity check -.RE -.PD -.PP -If -.B \-\-verbose -was specified twice, additional columns are included on the -.B block -lines. -These are not displayed with a single -.BR \-\-verbose , -because getting this information requires many seeks -and can thus be slow: -.PD 0 -.RS -.IP 11. 4 -Value of the integrity check in hexadecimal -.IP 12. 4 -Block header size -.IP 13. 4 -Block flags: -.B c -indicates that compressed size is present, and -.B u -indicates that uncompressed size is present. -If the flag is not set, a dash -.RB ( \- ) -is shown instead to keep the string length fixed. -New flags may be added to the end of the string in the future. -.IP 14. 4 -Size of the actual compressed data in the block (this excludes -the block header, block padding, and check fields) -.IP 15. 4 -Amount of memory (in bytes) required to decompress -this block with this -.B xz -version -.IP 16. 4 -Filter chain. -Note that most of the options used at compression time -cannot be known, because only the options -that are needed for decompression are stored in the -.B .xz -headers. -.RE -.PD -.PP -The columns of the -.B summary -lines: -.PD 0 -.RS -.IP 2. 4 -Amount of memory (in bytes) required to decompress -this file with this -.B xz -version -.IP 3. 4 -.B yes -or -.B no -indicating if all block headers have both compressed size and -uncompressed size stored in them -.RE -.PD -.PP -The columns of the -.B totals -line: -.PD 0 -.RS -.IP 2. 4 -Number of streams -.IP 3. 4 -Number of blocks -.IP 4. 4 -Compressed size -.IP 5. 4 -Uncompressed size -.IP 6. 4 -Average compression ratio -.IP 7. 4 -Comma-separated list of integrity check names -that were present in the files -.IP 8. 4 -Stream padding size -.IP 9. 4 -Number of files. -This is here to -keep the order of the earlier columns the same as on -.B file -lines. -.PD -.RE -.PP -If -.B \-\-verbose -was specified twice, additional columns are included on the -.B totals -line: -.PD 0 -.RS -.IP 10. 4 -Maximum amount of memory (in bytes) required to decompress -the files with this -.B xz -version -.IP 11. 4 -.B yes -or -.B no -indicating if all block headers have both compressed size and -uncompressed size stored in them -.RE -.PD -.PP -Future versions may add new line types and -new columns can be added to the existing line types, -but the existing columns won't be changed. -. -.SH "EXIT STATUS" -.TP -.B 0 -All is good. -.TP -.B 1 -An error occurred. -.TP -.B 2 -Something worth a warning occurred, -but no actual errors occurred. -.PP -Notices (not warnings or errors) printed on standard error -don't affect the exit status. -. -.SH ENVIRONMENT -.B xz -parses space-separated lists of options -from the environment variables -.B XZ_DEFAULTS -and -.BR XZ_OPT , -in this order, before parsing the options from the command line. -Note that only options are parsed from the environment variables; -all non-options are silently ignored. -Parsing is done with -.BR getopt_long (3) -which is used also for the command line arguments. -.TP -.B XZ_DEFAULTS -User-specific or system-wide default options. -Typically this is set in a shell initialization script to enable -.BR xz 's -memory usage limiter by default. -Excluding shell initialization scripts -and similar special cases, scripts must never set or unset -.BR XZ_DEFAULTS . -.TP -.B XZ_OPT -This is for passing options to -.B xz -when it is not possible to set the options directly on the -.B xz -command line. -This is the case e.g. when -.B xz -is run by a script or tool, e.g. GNU -.BR tar (1): -.RS -.RS -.PP -.nf -.ft CW -XZ_OPT=\-2v tar caf foo.tar.xz foo -.ft R -.fi -.RE -.RE -.IP "" -Scripts may use -.B XZ_OPT -e.g. to set script-specific default compression options. -It is still recommended to allow users to override -.B XZ_OPT -if that is reasonable, e.g. in -.BR sh (1) -scripts one may use something like this: -.RS -.RS -.PP -.nf -.ft CW -XZ_OPT=${XZ_OPT\-"\-7e"} -export XZ_OPT -.ft R -.fi -.RE -.RE -. -.SH "LZMA UTILS COMPATIBILITY" -The command line syntax of -.B xz -is practically a superset of -.BR lzma , -.BR unlzma , -and -.BR lzcat -as found from LZMA Utils 4.32.x. -In most cases, it is possible to replace -LZMA Utils with XZ Utils without breaking existing scripts. -There are some incompatibilities though, -which may sometimes cause problems. -. -.SS "Compression preset levels" -The numbering of the compression level presets is not identical in -.B xz -and LZMA Utils. -The most important difference is how dictionary sizes -are mapped to different presets. -Dictionary size is roughly equal to the decompressor memory usage. -.RS -.PP -.TS -tab(;); -c c c -c n n. -Level;xz;LZMA Utils -\-0;256 KiB;N/A -\-1;1 MiB;64 KiB -\-2;2 MiB;1 MiB -\-3;4 MiB;512 KiB -\-4;4 MiB;1 MiB -\-5;8 MiB;2 MiB -\-6;8 MiB;4 MiB -\-7;16 MiB;8 MiB -\-8;32 MiB;16 MiB -\-9;64 MiB;32 MiB -.TE -.RE -.PP -The dictionary size differences affect -the compressor memory usage too, -but there are some other differences between -LZMA Utils and XZ Utils, which -make the difference even bigger: -.RS -.PP -.TS -tab(;); -c c c -c n n. -Level;xz;LZMA Utils 4.32.x -\-0;3 MiB;N/A -\-1;9 MiB;2 MiB -\-2;17 MiB;12 MiB -\-3;32 MiB;12 MiB -\-4;48 MiB;16 MiB -\-5;94 MiB;26 MiB -\-6;94 MiB;45 MiB -\-7;186 MiB;83 MiB -\-8;370 MiB;159 MiB -\-9;674 MiB;311 MiB -.TE -.RE -.PP -The default preset level in LZMA Utils is -.B \-7 -while in XZ Utils it is -.BR \-6 , -so both use an 8 MiB dictionary by default. -. -.SS "Streamed vs. non-streamed .lzma files" -The uncompressed size of the file can be stored in the -.B .lzma -header. -LZMA Utils does that when compressing regular files. -The alternative is to mark that uncompressed size is unknown -and use end-of-payload marker to indicate -where the decompressor should stop. -LZMA Utils uses this method when uncompressed size isn't known, -which is the case for example in pipes. -.PP -.B xz -supports decompressing -.B .lzma -files with or without end-of-payload marker, but all -.B .lzma -files created by -.B xz -will use end-of-payload marker and have uncompressed size -marked as unknown in the -.B .lzma -header. -This may be a problem in some uncommon situations. -For example, a -.B .lzma -decompressor in an embedded device might work -only with files that have known uncompressed size. -If you hit this problem, you need to use LZMA Utils -or LZMA SDK to create -.B .lzma -files with known uncompressed size. -. -.SS "Unsupported .lzma files" -The -.B .lzma -format allows -.I lc -values up to 8, and -.I lp -values up to 4. -LZMA Utils can decompress files with any -.I lc -and -.IR lp , -but always creates files with -.B lc=3 -and -.BR lp=0 . -Creating files with other -.I lc -and -.I lp -is possible with -.B xz -and with LZMA SDK. -.PP -The implementation of the LZMA1 filter in liblzma -requires that the sum of -.I lc -and -.I lp -must not exceed 4. -Thus, -.B .lzma -files, which exceed this limitation, cannot be decompressed with -.BR xz . -.PP -LZMA Utils creates only -.B .lzma -files which have a dictionary size of -.RI "2^" n -(a power of 2) but accepts files with any dictionary size. -liblzma accepts only -.B .lzma -files which have a dictionary size of -.RI "2^" n -or -.RI "2^" n " + 2^(" n "\-1)." -This is to decrease false positives when detecting -.B .lzma -files. -.PP -These limitations shouldn't be a problem in practice, -since practically all -.B .lzma -files have been compressed with settings that liblzma will accept. -. -.SS "Trailing garbage" -When decompressing, -LZMA Utils silently ignore everything after the first -.B .lzma -stream. -In most situations, this is a bug. -This also means that LZMA Utils -don't support decompressing concatenated -.B .lzma -files. -.PP -If there is data left after the first -.B .lzma -stream, -.B xz -considers the file to be corrupt. -This may break obscure scripts which have -assumed that trailing garbage is ignored. -. -.SH NOTES -. -.SS "Compressed output may vary" -The exact compressed output produced from -the same uncompressed input file -may vary between XZ Utils versions even if -compression options are identical. -This is because the encoder can be improved -(faster or better compression) -without affecting the file format. -The output can vary even between different -builds of the same XZ Utils version, -if different build options are used. -.PP -The above means that once -.B \-\-rsyncable -has been implemented, -the resulting files won't necessarily be rsyncable -unless both old and new files have been compressed -with the same xz version. -This problem can be fixed if a part of the encoder -implementation is frozen to keep rsyncable output -stable across xz versions. -. -.SS "Embedded .xz decompressors" -Embedded -.B .xz -decompressor implementations like XZ Embedded don't necessarily -support files created with integrity -.I check -types other than -.B none -and -.BR crc32 . -Since the default is -.BR \-\-check=crc64 , -you must use -.B \-\-check=none -or -.B \-\-check=crc32 -when creating files for embedded systems. -.PP -Outside embedded systems, all -.B .xz -format decompressors support all the -.I check -types, or at least are able to decompress -the file without verifying the -integrity check if the particular -.I check -is not supported. -.PP -XZ Embedded supports BCJ filters, -but only with the default start offset. -. -.SH EXAMPLES -. -.SS Basics -Compress the file -.I foo -into -.I foo.xz -using the default compression level -.RB ( \-6 ), -and remove -.I foo -if compression is successful: -.RS -.PP -.nf -.ft CW -xz foo -.ft R -.fi -.RE -.PP -Decompress -.I bar.xz -into -.I bar -and don't remove -.I bar.xz -even if decompression is successful: -.RS -.PP -.nf -.ft CW -xz \-dk bar.xz -.ft R -.fi -.RE -.PP -Create -.I baz.tar.xz -with the preset -.B \-4e -.RB ( "\-4 \-\-extreme" ), -which is slower than e.g. the default -.BR \-6 , -but needs less memory for compression and decompression (48\ MiB -and 5\ MiB, respectively): -.RS -.PP -.nf -.ft CW -tar cf \- baz | xz \-4e > baz.tar.xz -.ft R -.fi -.RE -.PP -A mix of compressed and uncompressed files can be decompressed -to standard output with a single command: -.RS -.PP -.nf -.ft CW -xz \-dcf a.txt b.txt.xz c.txt d.txt.lzma > abcd.txt -.ft R -.fi -.RE -. -.SS "Parallel compression of many files" -On GNU and *BSD, -.BR find (1) -and -.BR xargs (1) -can be used to parallelize compression of many files: -.RS -.PP -.nf -.ft CW -find . \-type f \e! \-name '*.xz' \-print0 \e - | xargs \-0r \-P4 \-n16 xz \-T1 -.ft R -.fi -.RE -.PP -The -.B \-P -option to -.BR xargs (1) -sets the number of parallel -.B xz -processes. -The best value for the -.B \-n -option depends on how many files there are to be compressed. -If there are only a couple of files, -the value should probably be 1; -with tens of thousands of files, -100 or even more may be appropriate to reduce the number of -.B xz -processes that -.BR xargs (1) -will eventually create. -.PP -The option -.B \-T1 -for -.B xz -is there to force it to single-threaded mode, because -.BR xargs (1) -is used to control the amount of parallelization. -. -.SS "Robot mode" -Calculate how many bytes have been saved in total -after compressing multiple files: -.RS -.PP -.nf -.ft CW -xz \-\-robot \-\-list *.xz | awk '/^totals/{print $5\-$4}' -.ft R -.fi -.RE -.PP -A script may want to know that it is using new enough -.BR xz . -The following -.BR sh (1) -script checks that the version number of the -.B xz -tool is at least 5.0.0. -This method is compatible with old beta versions, -which didn't support the -.B \-\-robot -option: -.RS -.PP -.nf -.ft CW -if ! eval "$(xz \-\-robot \-\-version 2> /dev/null)" || - [ "$XZ_VERSION" \-lt 50000002 ]; then - echo "Your xz is too old." -fi -unset XZ_VERSION LIBLZMA_VERSION -.ft R -.fi -.RE -.PP -Set a memory usage limit for decompression using -.BR XZ_OPT , -but if a limit has already been set, don't increase it: -.RS -.PP -.nf -.ft CW -NEWLIM=$((123 << 20)) # 123 MiB -OLDLIM=$(xz \-\-robot \-\-info\-memory | cut \-f3) -if [ $OLDLIM \-eq 0 \-o $OLDLIM \-gt $NEWLIM ]; then - XZ_OPT="$XZ_OPT \-\-memlimit\-decompress=$NEWLIM" - export XZ_OPT -fi -.ft R -.fi -.RE -. -.SS "Custom compressor filter chains" -The simplest use for custom filter chains is -customizing a LZMA2 preset. -This can be useful, -because the presets cover only a subset of the -potentially useful combinations of compression settings. -.PP -The CompCPU columns of the tables -from the descriptions of the options -.BR "\-0" " ... " "\-9" -and -.B \-\-extreme -are useful when customizing LZMA2 presets. -Here are the relevant parts collected from those two tables: -.RS -.PP -.TS -tab(;); -c c -n n. -Preset;CompCPU -\-0;0 -\-1;1 -\-2;2 -\-3;3 -\-4;4 -\-5;5 -\-6;6 -\-5e;7 -\-6e;8 -.TE -.RE -.PP -If you know that a file requires -somewhat big dictionary (e.g. 32 MiB) to compress well, -but you want to compress it quicker than -.B "xz \-8" -would do, a preset with a low CompCPU value (e.g. 1) -can be modified to use a bigger dictionary: -.RS -.PP -.nf -.ft CW -xz \-\-lzma2=preset=1,dict=32MiB foo.tar -.ft R -.fi -.RE -.PP -With certain files, the above command may be faster than -.B "xz \-6" -while compressing significantly better. -However, it must be emphasized that only some files benefit from -a big dictionary while keeping the CompCPU value low. -The most obvious situation, -where a big dictionary can help a lot, -is an archive containing very similar files -of at least a few megabytes each. -The dictionary size has to be significantly bigger -than any individual file to allow LZMA2 to take -full advantage of the similarities between consecutive files. -.PP -If very high compressor and decompressor memory usage is fine, -and the file being compressed is -at least several hundred megabytes, it may be useful -to use an even bigger dictionary than the 64 MiB that -.B "xz \-9" -would use: -.RS -.PP -.nf -.ft CW -xz \-vv \-\-lzma2=dict=192MiB big_foo.tar -.ft R -.fi -.RE -.PP -Using -.B \-vv -.RB ( "\-\-verbose \-\-verbose" ) -like in the above example can be useful -to see the memory requirements -of the compressor and decompressor. -Remember that using a dictionary bigger than -the size of the uncompressed file is waste of memory, -so the above command isn't useful for small files. -.PP -Sometimes the compression time doesn't matter, -but the decompressor memory usage has to be kept low -e.g. to make it possible to decompress the file on -an embedded system. -The following command uses -.B \-6e -.RB ( "\-6 \-\-extreme" ) -as a base and sets the dictionary to only 64\ KiB. -The resulting file can be decompressed with XZ Embedded -(that's why there is -.BR \-\-check=crc32 ) -using about 100\ KiB of memory. -.RS -.PP -.nf -.ft CW -xz \-\-check=crc32 \-\-lzma2=preset=6e,dict=64KiB foo -.ft R -.fi -.RE -.PP -If you want to squeeze out as many bytes as possible, -adjusting the number of literal context bits -.RI ( lc ) -and number of position bits -.RI ( pb ) -can sometimes help. -Adjusting the number of literal position bits -.RI ( lp ) -might help too, but usually -.I lc -and -.I pb -are more important. -E.g. a source code archive contains mostly US-ASCII text, -so something like the following might give -slightly (like 0.1\ %) smaller file than -.B "xz \-6e" -(try also without -.BR lc=4 ): -.RS -.PP -.nf -.ft CW -xz \-\-lzma2=preset=6e,pb=0,lc=4 source_code.tar -.ft R -.fi -.RE -.PP -Using another filter together with LZMA2 can improve -compression with certain file types. -E.g. to compress a x86-32 or x86-64 shared library -using the x86 BCJ filter: -.RS -.PP -.nf -.ft CW -xz \-\-x86 \-\-lzma2 libfoo.so -.ft R -.fi -.RE -.PP -Note that the order of the filter options is significant. -If -.B \-\-x86 -is specified after -.BR \-\-lzma2 , -.B xz -will give an error, -because there cannot be any filter after LZMA2, -and also because the x86 BCJ filter cannot be used -as the last filter in the chain. -.PP -The Delta filter together with LZMA2 -can give good results with bitmap images. -It should usually beat PNG, -which has a few more advanced filters than simple -delta but uses Deflate for the actual compression. -.PP -The image has to be saved in uncompressed format, -e.g. as uncompressed TIFF. -The distance parameter of the Delta filter is set -to match the number of bytes per pixel in the image. -E.g. 24-bit RGB bitmap needs -.BR dist=3 , -and it is also good to pass -.B pb=0 -to LZMA2 to accommodate the three-byte alignment: -.RS -.PP -.nf -.ft CW -xz \-\-delta=dist=3 \-\-lzma2=pb=0 foo.tiff -.ft R -.fi -.RE -.PP -If multiple images have been put into a single archive (e.g.\& -.BR .tar ), -the Delta filter will work on that too as long as all images -have the same number of bytes per pixel. -. -.SH "SEE ALSO" -.BR xzdec (1), -.BR xzdiff (1), -.BR xzgrep (1), -.BR xzless (1), -.BR xzmore (1), -.BR gzip (1), -.BR bzip2 (1), -.BR 7z (1) -.PP -XZ Utils: -.br -XZ Embedded: -.br -LZMA SDK: diff --git a/Build/source/extra/xz/src/xz/xz_w32res.rc b/Build/source/extra/xz/src/xz/xz_w32res.rc deleted file mode 100644 index bad30202991..00000000000 --- a/Build/source/extra/xz/src/xz/xz_w32res.rc +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#define MY_TYPE VFT_APP -#define MY_NAME "xz" -#define MY_SUFFIX ".exe" -#define MY_DESC "xz data compression tool for .xz and .lzma files" -#include "common_w32res.rc" diff --git a/Build/source/extra/xz/src/xzdec/Makefile.am b/Build/source/extra/xz/src/xzdec/Makefile.am deleted file mode 100644 index 2348e4e6ba6..00000000000 --- a/Build/source/extra/xz/src/xzdec/Makefile.am +++ /dev/null @@ -1,74 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -# Windows resource compiler support. It's fine to use xz_CPPFLAGS -# also for lzmadec. -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(xzdec_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ - - -xzdec_SOURCES = \ - xzdec.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c - -if COND_W32 -xzdec_SOURCES += xzdec_w32res.rc -endif - -xzdec_CPPFLAGS = \ - -DTUKLIB_GETTEXT=0 \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib -xzdec_LDADD = $(top_builddir)/src/liblzma/liblzma.la - -if COND_GNULIB -xzdec_LDADD += $(top_builddir)/lib/libgnu.a -endif - -xzdec_LDADD += $(LTLIBINTL) - - -lzmadec_SOURCES = \ - xzdec.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c - -if COND_W32 -lzmadec_SOURCES += lzmadec_w32res.rc -endif - -lzmadec_CPPFLAGS = $(xzdec_CPPFLAGS) -DLZMADEC -lzmadec_LDFLAGS = $(xzdec_LDFLAGS) -lzmadec_LDADD = $(xzdec_LDADD) - - -bin_PROGRAMS = - -if COND_XZDEC -bin_PROGRAMS += xzdec -dist_man_MANS = xzdec.1 -endif - -if COND_LZMADEC -bin_PROGRAMS += lzmadec - -# FIXME: If xzdec is disabled, this will create a dangling symlink. -install-data-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - target=`echo xzdec | sed '$(transform)'` && \ - link=`echo lzmadec | sed '$(transform)'` && \ - rm -f $$link.1 && \ - $(LN_S) $$target.1 $$link.1 - -uninstall-hook: - cd $(DESTDIR)$(mandir)/man1 && \ - link=`echo lzmadec | sed '$(transform)'` && \ - rm -f $$link.1 -endif diff --git a/Build/source/extra/xz/src/xzdec/Makefile.in b/Build/source/extra/xz/src/xzdec/Makefile.in deleted file mode 100644 index 706aedb6d8b..00000000000 --- a/Build/source/extra/xz/src/xzdec/Makefile.in +++ /dev/null @@ -1,895 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ - -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@COND_W32_TRUE@am__append_1 = xzdec_w32res.rc -@COND_GNULIB_TRUE@am__append_2 = $(top_builddir)/lib/libgnu.a -@COND_W32_TRUE@am__append_3 = lzmadec_w32res.rc -bin_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) -@COND_XZDEC_TRUE@am__append_4 = xzdec -@COND_LZMADEC_TRUE@am__append_5 = lzmadec -subdir = src/xzdec -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp $(dist_man_MANS) -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -@COND_XZDEC_TRUE@am__EXEEXT_1 = xzdec$(EXEEXT) -@COND_LZMADEC_TRUE@am__EXEEXT_2 = lzmadec$(EXEEXT) -am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" -PROGRAMS = $(bin_PROGRAMS) -am__lzmadec_SOURCES_DIST = xzdec.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c lzmadec_w32res.rc -@COND_W32_TRUE@am__objects_1 = lzmadec_w32res.$(OBJEXT) -am_lzmadec_OBJECTS = lzmadec-xzdec.$(OBJEXT) \ - lzmadec-tuklib_progname.$(OBJEXT) \ - lzmadec-tuklib_exit.$(OBJEXT) $(am__objects_1) -lzmadec_OBJECTS = $(am_lzmadec_OBJECTS) -am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_2) $(am__DEPENDENCIES_1) -lzmadec_DEPENDENCIES = $(am__DEPENDENCIES_2) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -lzmadec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(lzmadec_LDFLAGS) $(LDFLAGS) -o $@ -am__xzdec_SOURCES_DIST = xzdec.c \ - $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c xzdec_w32res.rc -@COND_W32_TRUE@am__objects_2 = xzdec_w32res.$(OBJEXT) -am_xzdec_OBJECTS = xzdec-xzdec.$(OBJEXT) \ - xzdec-tuklib_progname.$(OBJEXT) xzdec-tuklib_exit.$(OBJEXT) \ - $(am__objects_2) -xzdec_OBJECTS = $(am_xzdec_OBJECTS) -xzdec_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_2) $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = $(lzmadec_SOURCES) $(xzdec_SOURCES) -DIST_SOURCES = $(am__lzmadec_SOURCES_DIST) $(am__xzdec_SOURCES_DIST) -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; -am__install_max = 40 -am__nobase_strip_setup = \ - srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` -am__nobase_strip = \ - for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" -am__nobase_list = $(am__nobase_strip_setup); \ - for p in $$list; do echo "$$p $$p"; done | \ - sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ - $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ - if (++n[$$2] == $(am__install_max)) \ - { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ - END { for (dir in files) print dir, files[dir] }' -am__base_list = \ - sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ - sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' -am__uninstall_files_from_dir = { \ - test -z "$$files" \ - || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ - || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ - $(am__cd) "$$dir" && rm -f $$files; }; \ - } -man1dir = $(mandir)/man1 -NROFF = nroff -MANS = $(dist_man_MANS) -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -xzdec_SOURCES = xzdec.c $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c $(am__append_1) -xzdec_CPPFLAGS = \ - -DTUKLIB_GETTEXT=0 \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -xzdec_LDADD = $(top_builddir)/src/liblzma/liblzma.la $(am__append_2) \ - $(LTLIBINTL) -lzmadec_SOURCES = xzdec.c $(top_srcdir)/src/common/tuklib_progname.c \ - $(top_srcdir)/src/common/tuklib_exit.c $(am__append_3) -lzmadec_CPPFLAGS = $(xzdec_CPPFLAGS) -DLZMADEC -lzmadec_LDFLAGS = $(xzdec_LDFLAGS) -lzmadec_LDADD = $(xzdec_LDADD) -@COND_XZDEC_TRUE@dist_man_MANS = xzdec.1 -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj .rc -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/xzdec/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign src/xzdec/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): -install-binPROGRAMS: $(bin_PROGRAMS) - @$(NORMAL_INSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - if test -n "$$list"; then \ - echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ - fi; \ - for p in $$list; do echo "$$p $$p"; done | \ - sed 's/$(EXEEXT)$$//' | \ - while read p p1; do if test -f $$p \ - || test -f $$p1 \ - ; then echo "$$p"; echo "$$p"; else :; fi; \ - done | \ - sed -e 'p;s,.*/,,;n;h' \ - -e 's|.*|.|' \ - -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ - sed 'N;N;N;s,\n, ,g' | \ - $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ - { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ - if ($$2 == $$4) files[d] = files[d] " " $$1; \ - else { print "f", $$3 "/" $$4, $$1; } } \ - END { for (d in files) print "f", d, files[d] }' | \ - while read type dir files; do \ - if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ - test -z "$$files" || { \ - echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ - $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ - } \ - ; done - -uninstall-binPROGRAMS: - @$(NORMAL_UNINSTALL) - @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ - files=`for p in $$list; do echo "$$p"; done | \ - sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ - -e 's/$$/$(EXEEXT)/' \ - `; \ - test -n "$$list" || exit 0; \ - echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ - cd "$(DESTDIR)$(bindir)" && rm -f $$files - -clean-binPROGRAMS: - @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -lzmadec$(EXEEXT): $(lzmadec_OBJECTS) $(lzmadec_DEPENDENCIES) $(EXTRA_lzmadec_DEPENDENCIES) - @rm -f lzmadec$(EXEEXT) - $(AM_V_CCLD)$(lzmadec_LINK) $(lzmadec_OBJECTS) $(lzmadec_LDADD) $(LIBS) - -xzdec$(EXEEXT): $(xzdec_OBJECTS) $(xzdec_DEPENDENCIES) $(EXTRA_xzdec_DEPENDENCIES) - @rm -f xzdec$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(xzdec_OBJECTS) $(xzdec_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmadec-tuklib_exit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmadec-tuklib_progname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lzmadec-xzdec.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xzdec-tuklib_exit.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xzdec-tuklib_progname.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xzdec-xzdec.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -lzmadec-xzdec.o: xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-xzdec.o -MD -MP -MF $(DEPDIR)/lzmadec-xzdec.Tpo -c -o lzmadec-xzdec.o `test -f 'xzdec.c' || echo '$(srcdir)/'`xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-xzdec.Tpo $(DEPDIR)/lzmadec-xzdec.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xzdec.c' object='lzmadec-xzdec.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-xzdec.o `test -f 'xzdec.c' || echo '$(srcdir)/'`xzdec.c - -lzmadec-xzdec.obj: xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-xzdec.obj -MD -MP -MF $(DEPDIR)/lzmadec-xzdec.Tpo -c -o lzmadec-xzdec.obj `if test -f 'xzdec.c'; then $(CYGPATH_W) 'xzdec.c'; else $(CYGPATH_W) '$(srcdir)/xzdec.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-xzdec.Tpo $(DEPDIR)/lzmadec-xzdec.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xzdec.c' object='lzmadec-xzdec.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-xzdec.obj `if test -f 'xzdec.c'; then $(CYGPATH_W) 'xzdec.c'; else $(CYGPATH_W) '$(srcdir)/xzdec.c'; fi` - -lzmadec-tuklib_progname.o: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-tuklib_progname.o -MD -MP -MF $(DEPDIR)/lzmadec-tuklib_progname.Tpo -c -o lzmadec-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-tuklib_progname.Tpo $(DEPDIR)/lzmadec-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='lzmadec-tuklib_progname.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c - -lzmadec-tuklib_progname.obj: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-tuklib_progname.obj -MD -MP -MF $(DEPDIR)/lzmadec-tuklib_progname.Tpo -c -o lzmadec-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-tuklib_progname.Tpo $(DEPDIR)/lzmadec-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='lzmadec-tuklib_progname.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` - -lzmadec-tuklib_exit.o: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-tuklib_exit.o -MD -MP -MF $(DEPDIR)/lzmadec-tuklib_exit.Tpo -c -o lzmadec-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-tuklib_exit.Tpo $(DEPDIR)/lzmadec-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='lzmadec-tuklib_exit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c - -lzmadec-tuklib_exit.obj: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT lzmadec-tuklib_exit.obj -MD -MP -MF $(DEPDIR)/lzmadec-tuklib_exit.Tpo -c -o lzmadec-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/lzmadec-tuklib_exit.Tpo $(DEPDIR)/lzmadec-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='lzmadec-tuklib_exit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lzmadec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o lzmadec-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` - -xzdec-xzdec.o: xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-xzdec.o -MD -MP -MF $(DEPDIR)/xzdec-xzdec.Tpo -c -o xzdec-xzdec.o `test -f 'xzdec.c' || echo '$(srcdir)/'`xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-xzdec.Tpo $(DEPDIR)/xzdec-xzdec.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xzdec.c' object='xzdec-xzdec.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-xzdec.o `test -f 'xzdec.c' || echo '$(srcdir)/'`xzdec.c - -xzdec-xzdec.obj: xzdec.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-xzdec.obj -MD -MP -MF $(DEPDIR)/xzdec-xzdec.Tpo -c -o xzdec-xzdec.obj `if test -f 'xzdec.c'; then $(CYGPATH_W) 'xzdec.c'; else $(CYGPATH_W) '$(srcdir)/xzdec.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-xzdec.Tpo $(DEPDIR)/xzdec-xzdec.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='xzdec.c' object='xzdec-xzdec.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-xzdec.obj `if test -f 'xzdec.c'; then $(CYGPATH_W) 'xzdec.c'; else $(CYGPATH_W) '$(srcdir)/xzdec.c'; fi` - -xzdec-tuklib_progname.o: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-tuklib_progname.o -MD -MP -MF $(DEPDIR)/xzdec-tuklib_progname.Tpo -c -o xzdec-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-tuklib_progname.Tpo $(DEPDIR)/xzdec-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='xzdec-tuklib_progname.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-tuklib_progname.o `test -f '$(top_srcdir)/src/common/tuklib_progname.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_progname.c - -xzdec-tuklib_progname.obj: $(top_srcdir)/src/common/tuklib_progname.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-tuklib_progname.obj -MD -MP -MF $(DEPDIR)/xzdec-tuklib_progname.Tpo -c -o xzdec-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-tuklib_progname.Tpo $(DEPDIR)/xzdec-tuklib_progname.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_progname.c' object='xzdec-tuklib_progname.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-tuklib_progname.obj `if test -f '$(top_srcdir)/src/common/tuklib_progname.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_progname.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_progname.c'; fi` - -xzdec-tuklib_exit.o: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-tuklib_exit.o -MD -MP -MF $(DEPDIR)/xzdec-tuklib_exit.Tpo -c -o xzdec-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-tuklib_exit.Tpo $(DEPDIR)/xzdec-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='xzdec-tuklib_exit.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-tuklib_exit.o `test -f '$(top_srcdir)/src/common/tuklib_exit.c' || echo '$(srcdir)/'`$(top_srcdir)/src/common/tuklib_exit.c - -xzdec-tuklib_exit.obj: $(top_srcdir)/src/common/tuklib_exit.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xzdec-tuklib_exit.obj -MD -MP -MF $(DEPDIR)/xzdec-tuklib_exit.Tpo -c -o xzdec-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/xzdec-tuklib_exit.Tpo $(DEPDIR)/xzdec-tuklib_exit.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$(top_srcdir)/src/common/tuklib_exit.c' object='xzdec-tuklib_exit.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(xzdec_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xzdec-tuklib_exit.obj `if test -f '$(top_srcdir)/src/common/tuklib_exit.c'; then $(CYGPATH_W) '$(top_srcdir)/src/common/tuklib_exit.c'; else $(CYGPATH_W) '$(srcdir)/$(top_srcdir)/src/common/tuklib_exit.c'; fi` - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs -install-man1: $(dist_man_MANS) - @$(NORMAL_INSTALL) - @list1=''; \ - list2='$(dist_man_MANS)'; \ - test -n "$(man1dir)" \ - && test -n "`echo $$list1$$list2`" \ - || exit 0; \ - echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ - $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ - { for i in $$list1; do echo "$$i"; done; \ - if test -n "$$list2"; then \ - for i in $$list2; do echo "$$i"; done \ - | sed -n '/\.1[a-z]*$$/p'; \ - fi; \ - } | while read p; do \ - if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ - echo "$$d$$p"; echo "$$p"; \ - done | \ - sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ - sed 'N;N;s,\n, ,g' | { \ - list=; while read file base inst; do \ - if test "$$base" = "$$inst"; then list="$$list $$file"; else \ - echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ - $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ - fi; \ - done; \ - for i in $$list; do echo "$$i"; done | $(am__base_list) | \ - while read files; do \ - test -z "$$files" || { \ - echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ - $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ - done; } - -uninstall-man1: - @$(NORMAL_UNINSTALL) - @list=''; test -n "$(man1dir)" || exit 0; \ - files=`{ for i in $$list; do echo "$$i"; done; \ - l2='$(dist_man_MANS)'; for i in $$l2; do echo "$$i"; done | \ - sed -n '/\.1[a-z]*$$/p'; \ - } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ - -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ - dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am -check: check-am -all-am: Makefile $(PROGRAMS) $(MANS) -installdirs: - for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)"; do \ - test -z "$$dir" || $(MKDIR_P) "$$dir"; \ - done -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -@COND_LZMADEC_FALSE@install-data-hook: -@COND_LZMADEC_FALSE@uninstall-hook: -clean: clean-am - -clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: install-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) install-data-hook -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: install-binPROGRAMS - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: install-man1 - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: uninstall-binPROGRAMS uninstall-man - @$(NORMAL_INSTALL) - $(MAKE) $(AM_MAKEFLAGS) uninstall-hook -uninstall-man: uninstall-man1 - -.MAKE: install-am install-data-am install-strip uninstall-am - -.PHONY: CTAGS GTAGS TAGS all all-am check check-am clean \ - clean-binPROGRAMS clean-generic clean-libtool cscopelist-am \ - ctags ctags-am distclean distclean-compile distclean-generic \ - distclean-libtool distclean-tags distdir dvi dvi-am html \ - html-am info info-am install install-am install-binPROGRAMS \ - install-data install-data-am install-data-hook install-dvi \ - install-dvi-am install-exec install-exec-am install-html \ - install-html-am install-info install-info-am install-man \ - install-man1 install-pdf install-pdf-am install-ps \ - install-ps-am install-strip installcheck installcheck-am \ - installdirs maintainer-clean maintainer-clean-generic \ - mostlyclean mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ - uninstall-am uninstall-binPROGRAMS uninstall-hook \ - uninstall-man uninstall-man1 - - -# Windows resource compiler support. It's fine to use xz_CPPFLAGS -# also for lzmadec. -.rc.o: - $(RC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ - $(xzdec_CPPFLAGS) $(CPPFLAGS) $(RCFLAGS) -i $< -o $@ - -# FIXME: If xzdec is disabled, this will create a dangling symlink. -@COND_LZMADEC_TRUE@install-data-hook: -@COND_LZMADEC_TRUE@ cd $(DESTDIR)$(mandir)/man1 && \ -@COND_LZMADEC_TRUE@ target=`echo xzdec | sed '$(transform)'` && \ -@COND_LZMADEC_TRUE@ link=`echo lzmadec | sed '$(transform)'` && \ -@COND_LZMADEC_TRUE@ rm -f $$link.1 && \ -@COND_LZMADEC_TRUE@ $(LN_S) $$target.1 $$link.1 - -@COND_LZMADEC_TRUE@uninstall-hook: -@COND_LZMADEC_TRUE@ cd $(DESTDIR)$(mandir)/man1 && \ -@COND_LZMADEC_TRUE@ link=`echo lzmadec | sed '$(transform)'` && \ -@COND_LZMADEC_TRUE@ rm -f $$link.1 - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/src/xzdec/lzmadec_w32res.rc b/Build/source/extra/xz/src/xzdec/lzmadec_w32res.rc deleted file mode 100644 index b85962df241..00000000000 --- a/Build/source/extra/xz/src/xzdec/lzmadec_w32res.rc +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#define MY_TYPE VFT_APP -#define MY_NAME "lzmadec" -#define MY_SUFFIX ".exe" -#define MY_DESC "lzmadec decompression tool for .lzma files" -#include "common_w32res.rc" diff --git a/Build/source/extra/xz/src/xzdec/xzdec.1 b/Build/source/extra/xz/src/xzdec/xzdec.1 deleted file mode 100644 index 1e5ced945aa..00000000000 --- a/Build/source/extra/xz/src/xzdec/xzdec.1 +++ /dev/null @@ -1,146 +0,0 @@ -.\" -.\" Author: Lasse Collin -.\" -.\" This file has been put into the public domain. -.\" You can do whatever you want with this file. -.\" -.TH XZDEC 1 "2013-06-30" "Tukaani" "XZ Utils" -.SH NAME -xzdec, lzmadec \- Small .xz and .lzma decompressors -.SH SYNOPSIS -.B xzdec -.RI [ option... ] -.RI [ file... ] -.br -.B lzmadec -.RI [ option... ] -.RI [ file... ] -.SH DESCRIPTION -.B xzdec -is a liblzma-based decompression-only tool for -.B .xz -(and only -.BR .xz ) -files. -.B xzdec -is intended to work as a drop-in replacement for -.BR xz (1) -in the most common situations where a script -has been written to use -.B "xz \-\-decompress \-\-stdout" -(and possibly a few other commonly used options) to decompress -.B .xz -files. -.B lzmadec -is identical to -.B xzdec -except that -.B lzmadec -supports -.B .lzma -files instead of -.B .xz -files. -.PP -To reduce the size of the executable, -.B xzdec -doesn't support multithreading or localization, -and doesn't read options from -.B XZ_DEFAULTS -and -.B XZ_OPT -environment variables. -.B xzdec -doesn't support displaying intermediate progress information: sending -.B SIGINFO -to -.B xzdec -does nothing, but sending -.B SIGUSR1 -terminates the process instead of displaying progress information. -.SH OPTIONS -.TP -.BR \-d ", " \-\-decompress ", " \-\-uncompress -Ignored for -.BR xz (1) -compatibility. -.B xzdec -supports only decompression. -.TP -.BR \-k ", " \-\-keep -Ignored for -.BR xz (1) -compatibility. -.B xzdec -never creates or removes any files. -.TP -.BR \-c ", " \-\-stdout ", " \-\-to-stdout -Ignored for -.BR xz (1) -compatibility. -.B xzdec -always writes the decompressed data to standard output. -.TP -.BR \-q ", " \-\-quiet -Specifying this once does nothing since -.B xzdec -never displays any warnings or notices. -Specify this twice to suppress errors. -.TP -.BR \-Q ", " \-\-no-warn -Ignored for -.BR xz (1) -compatibility. -.B xzdec -never uses the exit status 2. -.TP -.BR \-h ", " \-\-help -Display a help message and exit successfully. -.TP -.BR \-V ", " \-\-version -Display the version number of -.B xzdec -and liblzma. -.SH "EXIT STATUS" -.TP -.B 0 -All was good. -.TP -.B 1 -An error occurred. -.PP -.B xzdec -doesn't have any warning messages like -.BR xz (1) -has, thus the exit status 2 is not used by -.BR xzdec . -.SH NOTES -Use -.BR xz (1) -instead of -.B xzdec -or -.B lzmadec -for normal everyday use. -.B xzdec -or -.B lzmadec -are meant only for situations where it is important to have -a smaller decompressor than the full-featured -.BR xz (1). -.PP -.B xzdec -and -.B lzmadec -are not really that small. -The size can be reduced further by dropping -features from liblzma at compile time, -but that shouldn't usually be done for executables distributed -in typical non-embedded operating system distributions. -If you need a truly small -.B .xz -decompressor, consider using XZ Embedded. -.SH "SEE ALSO" -.BR xz (1) -.PP -XZ Embedded: diff --git a/Build/source/extra/xz/src/xzdec/xzdec.c b/Build/source/extra/xz/src/xzdec/xzdec.c deleted file mode 100644 index 5cb7530afce..00000000000 --- a/Build/source/extra/xz/src/xzdec/xzdec.c +++ /dev/null @@ -1,323 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file xzdec.c -/// \brief Simple single-threaded tool to uncompress .xz or .lzma files -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include "lzma.h" - -#include -#include -#include -#include - -#include "getopt.h" -#include "tuklib_progname.h" -#include "tuklib_exit.h" - -#ifdef TUKLIB_DOSLIKE -# include -# include -#endif - - -#ifdef LZMADEC -# define TOOL_FORMAT "lzma" -#else -# define TOOL_FORMAT "xz" -#endif - - -/// Error messages are suppressed if this is zero, which is the case when -/// --quiet has been given at least twice. -static unsigned int display_errors = 2; - - -static void lzma_attribute((__format__(__printf__, 1, 2))) -my_errorf(const char *fmt, ...) -{ - va_list ap; - va_start(ap, fmt); - - if (display_errors) { - fprintf(stderr, "%s: ", progname); - vfprintf(stderr, fmt, ap); - fprintf(stderr, "\n"); - } - - va_end(ap); - return; -} - - -static void lzma_attribute((__noreturn__)) -help(void) -{ - printf( -"Usage: %s [OPTION]... [FILE]...\n" -"Decompress files in the ." TOOL_FORMAT " format to standard output.\n" -"\n" -" -d, --decompress (ignored, only decompression is supported)\n" -" -k, --keep (ignored, files are never deleted)\n" -" -c, --stdout (ignored, output is always written to standard output)\n" -" -q, --quiet specify *twice* to suppress errors\n" -" -Q, --no-warn (ignored, the exit status 2 is never used)\n" -" -h, --help display this help and exit\n" -" -V, --version display the version number and exit\n" -"\n" -"With no FILE, or when FILE is -, read standard input.\n" -"\n" -"Report bugs to <" PACKAGE_BUGREPORT "> (in English or Finnish).\n" -PACKAGE_NAME " home page: <" PACKAGE_URL ">\n", progname); - - tuklib_exit(EXIT_SUCCESS, EXIT_FAILURE, display_errors); -} - - -static void lzma_attribute((__noreturn__)) -version(void) -{ - printf(TOOL_FORMAT "dec (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n" - "liblzma %s\n", lzma_version_string()); - - tuklib_exit(EXIT_SUCCESS, EXIT_FAILURE, display_errors); -} - - -/// Parses command line options. -static void -parse_options(int argc, char **argv) -{ - static const char short_opts[] = "cdkM:hqQV"; - static const struct option long_opts[] = { - { "stdout", no_argument, NULL, 'c' }, - { "to-stdout", no_argument, NULL, 'c' }, - { "decompress", no_argument, NULL, 'd' }, - { "uncompress", no_argument, NULL, 'd' }, - { "keep", no_argument, NULL, 'k' }, - { "quiet", no_argument, NULL, 'q' }, - { "no-warn", no_argument, NULL, 'Q' }, - { "help", no_argument, NULL, 'h' }, - { "version", no_argument, NULL, 'V' }, - { NULL, 0, NULL, 0 } - }; - - int c; - - while ((c = getopt_long(argc, argv, short_opts, long_opts, NULL)) - != -1) { - switch (c) { - case 'c': - case 'd': - case 'k': - case 'Q': - break; - - case 'q': - if (display_errors > 0) - --display_errors; - - break; - - case 'h': - help(); - - case 'V': - version(); - - default: - exit(EXIT_FAILURE); - } - } - - return; -} - - -static void -uncompress(lzma_stream *strm, FILE *file, const char *filename) -{ - lzma_ret ret; - - // Initialize the decoder -#ifdef LZMADEC - ret = lzma_alone_decoder(strm, UINT64_MAX); -#else - ret = lzma_stream_decoder(strm, UINT64_MAX, LZMA_CONCATENATED); -#endif - - // The only reasonable error here is LZMA_MEM_ERROR. - if (ret != LZMA_OK) { - my_errorf("%s", ret == LZMA_MEM_ERROR ? strerror(ENOMEM) - : "Internal error (bug)"); - exit(EXIT_FAILURE); - } - - // Input and output buffers - uint8_t in_buf[BUFSIZ]; - uint8_t out_buf[BUFSIZ]; - - strm->avail_in = 0; - strm->next_out = out_buf; - strm->avail_out = BUFSIZ; - - lzma_action action = LZMA_RUN; - - while (true) { - if (strm->avail_in == 0) { - strm->next_in = in_buf; - strm->avail_in = fread(in_buf, 1, BUFSIZ, file); - - if (ferror(file)) { - // POSIX says that fread() sets errno if - // an error occurred. ferror() doesn't - // touch errno. - my_errorf("%s: Error reading input file: %s", - filename, strerror(errno)); - exit(EXIT_FAILURE); - } - -#ifndef LZMADEC - // When using LZMA_CONCATENATED, we need to tell - // liblzma when it has got all the input. - if (feof(file)) - action = LZMA_FINISH; -#endif - } - - ret = lzma_code(strm, action); - - // Write and check write error before checking decoder error. - // This way as much data as possible gets written to output - // even if decoder detected an error. - if (strm->avail_out == 0 || ret != LZMA_OK) { - const size_t write_size = BUFSIZ - strm->avail_out; - - if (fwrite(out_buf, 1, write_size, stdout) - != write_size) { - // Wouldn't be a surprise if writing to stderr - // would fail too but at least try to show an - // error message. - my_errorf("Cannot write to standard output: " - "%s", strerror(errno)); - exit(EXIT_FAILURE); - } - - strm->next_out = out_buf; - strm->avail_out = BUFSIZ; - } - - if (ret != LZMA_OK) { - if (ret == LZMA_STREAM_END) { -#ifdef LZMADEC - // Check that there's no trailing garbage. - if (strm->avail_in != 0 - || fread(in_buf, 1, 1, file) - != 0 - || !feof(file)) - ret = LZMA_DATA_ERROR; - else - return; -#else - // lzma_stream_decoder() already guarantees - // that there's no trailing garbage. - assert(strm->avail_in == 0); - assert(action == LZMA_FINISH); - assert(feof(file)); - return; -#endif - } - - const char *msg; - switch (ret) { - case LZMA_MEM_ERROR: - msg = strerror(ENOMEM); - break; - - case LZMA_FORMAT_ERROR: - msg = "File format not recognized"; - break; - - case LZMA_OPTIONS_ERROR: - // FIXME: Better message? - msg = "Unsupported compression options"; - break; - - case LZMA_DATA_ERROR: - msg = "File is corrupt"; - break; - - case LZMA_BUF_ERROR: - msg = "Unexpected end of input"; - break; - - default: - msg = "Internal error (bug)"; - break; - } - - my_errorf("%s: %s", filename, msg); - exit(EXIT_FAILURE); - } - } -} - - -int -main(int argc, char **argv) -{ - // Initialize progname which we will be used in error messages. - tuklib_progname_init(argv); - - // Parse the command line options. - parse_options(argc, argv); - - // The same lzma_stream is used for all files that we decode. This way - // we don't need to reallocate memory for every file if they use same - // compression settings. - lzma_stream strm = LZMA_STREAM_INIT; - - // Some systems require setting stdin and stdout to binary mode. -#ifdef TUKLIB_DOSLIKE - setmode(fileno(stdin), O_BINARY); - setmode(fileno(stdout), O_BINARY); -#endif - - if (optind == argc) { - // No filenames given, decode from stdin. - uncompress(&strm, stdin, "(stdin)"); - } else { - // Loop through the filenames given on the command line. - do { - // "-" indicates stdin. - if (strcmp(argv[optind], "-") == 0) { - uncompress(&strm, stdin, "(stdin)"); - } else { - FILE *file = fopen(argv[optind], "rb"); - if (file == NULL) { - my_errorf("%s: %s", argv[optind], - strerror(errno)); - exit(EXIT_FAILURE); - } - - uncompress(&strm, file, argv[optind]); - fclose(file); - } - } while (++optind < argc); - } - -#ifndef NDEBUG - // Free the memory only when debugging. Freeing wastes some time, - // but allows detecting possible memory leaks with Valgrind. - lzma_end(&strm); -#endif - - tuklib_exit(EXIT_SUCCESS, EXIT_FAILURE, display_errors); -} diff --git a/Build/source/extra/xz/src/xzdec/xzdec_w32res.rc b/Build/source/extra/xz/src/xzdec/xzdec_w32res.rc deleted file mode 100644 index 0e26a225b0d..00000000000 --- a/Build/source/extra/xz/src/xzdec/xzdec_w32res.rc +++ /dev/null @@ -1,12 +0,0 @@ -/* - * Author: Lasse Collin - * - * This file has been put into the public domain. - * You can do whatever you want with this file. - */ - -#define MY_TYPE VFT_APP -#define MY_NAME "xzdec" -#define MY_SUFFIX ".exe" -#define MY_DESC "xzdec decompression tool for .xz files" -#include "common_w32res.rc" diff --git a/Build/source/extra/xz/tests/Makefile.am b/Build/source/extra/xz/tests/Makefile.am deleted file mode 100644 index c4e17ed1dd7..00000000000 --- a/Build/source/extra/xz/tests/Makefile.am +++ /dev/null @@ -1,55 +0,0 @@ -## -## Author: Lasse Collin -## -## This file has been put into the public domain. -## You can do whatever you want with this file. -## - -EXTRA_DIST = \ - files \ - tests.h \ - test_files.sh \ - test_compress.sh \ - test_scripts.sh \ - bcj_test.c \ - compress_prepared_bcj_sparc \ - compress_prepared_bcj_x86 - -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -LDADD = $(top_builddir)/src/liblzma/liblzma.la - -if COND_GNULIB -LDADD += $(top_builddir)/lib/libgnu.a -endif - -LDADD += $(LTLIBINTL) - -check_PROGRAMS = \ - create_compress_files \ - test_check \ - test_stream_flags \ - test_filter_flags \ - test_block_header \ - test_index \ - test_bcj_exact_size - -TESTS = \ - test_check \ - test_stream_flags \ - test_filter_flags \ - test_block_header \ - test_index \ - test_bcj_exact_size \ - test_files.sh \ - test_compress.sh - -if COND_SCRIPTS -TESTS += test_scripts.sh -endif - -clean-local: - -rm -f compress_generated_* diff --git a/Build/source/extra/xz/tests/Makefile.in b/Build/source/extra/xz/tests/Makefile.in deleted file mode 100644 index 76d31b0cf3b..00000000000 --- a/Build/source/extra/xz/tests/Makefile.in +++ /dev/null @@ -1,830 +0,0 @@ -# Makefile.in generated by automake 1.14.1 from Makefile.am. -# @configure_input@ - -# Copyright (C) 1994-2013 Free Software Foundation, Inc. - -# This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy and/or distribute it, -# with or without modifications, as long as this notice is preserved. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY, to the extent permitted by law; without -# even the implied warranty of MERCHANTABILITY or FITNESS FOR A -# PARTICULAR PURPOSE. - -@SET_MAKE@ -VPATH = @srcdir@ -am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' -am__make_running_with_option = \ - case $${target_option-} in \ - ?) ;; \ - *) echo "am__make_running_with_option: internal error: invalid" \ - "target option '$${target_option-}' specified" >&2; \ - exit 1;; \ - esac; \ - has_opt=no; \ - sane_makeflags=$$MAKEFLAGS; \ - if $(am__is_gnu_make); then \ - sane_makeflags=$$MFLAGS; \ - else \ - case $$MAKEFLAGS in \ - *\\[\ \ ]*) \ - bs=\\; \ - sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ - | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ - esac; \ - fi; \ - skip_next=no; \ - strip_trailopt () \ - { \ - flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ - }; \ - for flg in $$sane_makeflags; do \ - test $$skip_next = yes && { skip_next=no; continue; }; \ - case $$flg in \ - *=*|--*) continue;; \ - -*I) strip_trailopt 'I'; skip_next=yes;; \ - -*I?*) strip_trailopt 'I';; \ - -*O) strip_trailopt 'O'; skip_next=yes;; \ - -*O?*) strip_trailopt 'O';; \ - -*l) strip_trailopt 'l'; skip_next=yes;; \ - -*l?*) strip_trailopt 'l';; \ - -[dEDm]) skip_next=yes;; \ - -[JT]) skip_next=yes;; \ - esac; \ - case $$flg in \ - *$$target_option*) has_opt=yes; break;; \ - esac; \ - done; \ - test $$has_opt = yes -am__make_dryrun = (target_option=n; $(am__make_running_with_option)) -am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) -pkgdatadir = $(datadir)/@PACKAGE@ -pkgincludedir = $(includedir)/@PACKAGE@ -pkglibdir = $(libdir)/@PACKAGE@ -pkglibexecdir = $(libexecdir)/@PACKAGE@ -am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd -install_sh_DATA = $(install_sh) -c -m 644 -install_sh_PROGRAM = $(install_sh) -c -install_sh_SCRIPT = $(install_sh) -c -INSTALL_HEADER = $(INSTALL_DATA) -transform = $(program_transform_name) -NORMAL_INSTALL = : -PRE_INSTALL = : -POST_INSTALL = : -NORMAL_UNINSTALL = : -PRE_UNINSTALL = : -POST_UNINSTALL = : -build_triplet = @build@ -host_triplet = @host@ -@COND_GNULIB_TRUE@am__append_1 = $(top_builddir)/lib/libgnu.a -check_PROGRAMS = create_compress_files$(EXEEXT) test_check$(EXEEXT) \ - test_stream_flags$(EXEEXT) test_filter_flags$(EXEEXT) \ - test_block_header$(EXEEXT) test_index$(EXEEXT) \ - test_bcj_exact_size$(EXEEXT) -TESTS = test_check$(EXEEXT) test_stream_flags$(EXEEXT) \ - test_filter_flags$(EXEEXT) test_block_header$(EXEEXT) \ - test_index$(EXEEXT) test_bcj_exact_size$(EXEEXT) test_files.sh \ - test_compress.sh $(am__append_2) -@COND_SCRIPTS_TRUE@am__append_2 = test_scripts.sh -subdir = tests -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ - $(top_srcdir)/build-aux/depcomp -ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/getopt.m4 $(top_srcdir)/m4/gettext.m4 \ - $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \ - $(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \ - $(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \ - $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ - $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ - $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \ - $(top_srcdir)/m4/posix-shell.m4 $(top_srcdir)/m4/progtest.m4 \ - $(top_srcdir)/m4/tuklib_common.m4 \ - $(top_srcdir)/m4/tuklib_cpucores.m4 \ - $(top_srcdir)/m4/tuklib_integer.m4 \ - $(top_srcdir)/m4/tuklib_mbstr.m4 \ - $(top_srcdir)/m4/tuklib_physmem.m4 \ - $(top_srcdir)/m4/tuklib_progname.m4 \ - $(top_srcdir)/m4/visibility.m4 $(top_srcdir)/configure.ac -am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ - $(ACLOCAL_M4) -mkinstalldirs = $(install_sh) -d -CONFIG_HEADER = $(top_builddir)/config.h -CONFIG_CLEAN_FILES = -CONFIG_CLEAN_VPATH_FILES = -create_compress_files_SOURCES = create_compress_files.c -create_compress_files_OBJECTS = create_compress_files.$(OBJEXT) -create_compress_files_LDADD = $(LDADD) -am__DEPENDENCIES_1 = -create_compress_files_DEPENDENCIES = \ - $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(am__DEPENDENCIES_1) -AM_V_lt = $(am__v_lt_@AM_V@) -am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) -am__v_lt_0 = --silent -am__v_lt_1 = -test_bcj_exact_size_SOURCES = test_bcj_exact_size.c -test_bcj_exact_size_OBJECTS = test_bcj_exact_size.$(OBJEXT) -test_bcj_exact_size_LDADD = $(LDADD) -test_bcj_exact_size_DEPENDENCIES = \ - $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(am__DEPENDENCIES_1) -test_block_header_SOURCES = test_block_header.c -test_block_header_OBJECTS = test_block_header.$(OBJEXT) -test_block_header_LDADD = $(LDADD) -test_block_header_DEPENDENCIES = \ - $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(am__DEPENDENCIES_1) -test_check_SOURCES = test_check.c -test_check_OBJECTS = test_check.$(OBJEXT) -test_check_LDADD = $(LDADD) -test_check_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -test_filter_flags_SOURCES = test_filter_flags.c -test_filter_flags_OBJECTS = test_filter_flags.$(OBJEXT) -test_filter_flags_LDADD = $(LDADD) -test_filter_flags_DEPENDENCIES = \ - $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(am__DEPENDENCIES_1) -test_index_SOURCES = test_index.c -test_index_OBJECTS = test_index.$(OBJEXT) -test_index_LDADD = $(LDADD) -test_index_DEPENDENCIES = $(top_builddir)/src/liblzma/liblzma.la \ - $(am__append_1) $(am__DEPENDENCIES_1) -test_stream_flags_SOURCES = test_stream_flags.c -test_stream_flags_OBJECTS = test_stream_flags.$(OBJEXT) -test_stream_flags_LDADD = $(LDADD) -test_stream_flags_DEPENDENCIES = \ - $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(am__DEPENDENCIES_1) -AM_V_P = $(am__v_P_@AM_V@) -am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) -am__v_P_0 = false -am__v_P_1 = : -AM_V_GEN = $(am__v_GEN_@AM_V@) -am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) -am__v_GEN_0 = @echo " GEN " $@; -am__v_GEN_1 = -AM_V_at = $(am__v_at_@AM_V@) -am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) -am__v_at_0 = @ -am__v_at_1 = -DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) -depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp -am__depfiles_maybe = depfiles -am__mv = mv -f -COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ - $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ - $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(AM_CFLAGS) $(CFLAGS) -AM_V_CC = $(am__v_CC_@AM_V@) -am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) -am__v_CC_0 = @echo " CC " $@; -am__v_CC_1 = -CCLD = $(CC) -LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ - $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -AM_V_CCLD = $(am__v_CCLD_@AM_V@) -am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) -am__v_CCLD_0 = @echo " CCLD " $@; -am__v_CCLD_1 = -SOURCES = create_compress_files.c test_bcj_exact_size.c \ - test_block_header.c test_check.c test_filter_flags.c \ - test_index.c test_stream_flags.c -DIST_SOURCES = create_compress_files.c test_bcj_exact_size.c \ - test_block_header.c test_check.c test_filter_flags.c \ - test_index.c test_stream_flags.c -am__can_run_installinfo = \ - case $$AM_UPDATE_INFO_DIR in \ - n|no|NO) false;; \ - *) (install-info --version) >/dev/null 2>&1;; \ - esac -am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) -# Read a list of newline-separated strings from the standard input, -# and print each of them once, without duplicates. Input order is -# *not* preserved. -am__uniquify_input = $(AWK) '\ - BEGIN { nonempty = 0; } \ - { items[$$0] = 1; nonempty = 1; } \ - END { if (nonempty) { for (i in items) print i; }; } \ -' -# Make sure the list of sources is unique. This is necessary because, -# e.g., the same source file might be shared among _SOURCES variables -# for different programs/libraries. -am__define_uniq_tagged_files = \ - list='$(am__tagged_files)'; \ - unique=`for i in $$list; do \ - if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ - done | $(am__uniquify_input)` -ETAGS = etags -CTAGS = ctags -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) -ACLOCAL = @ACLOCAL@ -AMTAR = @AMTAR@ -AM_CFLAGS = @AM_CFLAGS@ -AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ -AR = @AR@ -AS = @AS@ -AUTOCONF = @AUTOCONF@ -AUTOHEADER = @AUTOHEADER@ -AUTOMAKE = @AUTOMAKE@ -AWK = @AWK@ -CC = @CC@ -CCAS = @CCAS@ -CCASDEPMODE = @CCASDEPMODE@ -CCASFLAGS = @CCASFLAGS@ -CCDEPMODE = @CCDEPMODE@ -CFLAGS = @CFLAGS@ -CFLAG_VISIBILITY = @CFLAG_VISIBILITY@ -CPP = @CPP@ -CPPFLAGS = @CPPFLAGS@ -CYGPATH_W = @CYGPATH_W@ -DEFS = @DEFS@ -DEPDIR = @DEPDIR@ -DLLTOOL = @DLLTOOL@ -DSYMUTIL = @DSYMUTIL@ -DUMPBIN = @DUMPBIN@ -ECHO_C = @ECHO_C@ -ECHO_N = @ECHO_N@ -ECHO_T = @ECHO_T@ -EGREP = @EGREP@ -EXEEXT = @EXEEXT@ -FGREP = @FGREP@ -GETOPT_H = @GETOPT_H@ -GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@ -GMSGFMT = @GMSGFMT@ -GMSGFMT_015 = @GMSGFMT_015@ -GREP = @GREP@ -HAVE_VISIBILITY = @HAVE_VISIBILITY@ -INSTALL = @INSTALL@ -INSTALL_DATA = @INSTALL_DATA@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_SCRIPT = @INSTALL_SCRIPT@ -INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ -INTLLIBS = @INTLLIBS@ -INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@ -LD = @LD@ -LDFLAGS = @LDFLAGS@ -LIBICONV = @LIBICONV@ -LIBINTL = @LIBINTL@ -LIBOBJS = @LIBOBJS@ -LIBS = @LIBS@ -LIBTOOL = @LIBTOOL@ -LIPO = @LIPO@ -LN_EXEEXT = @LN_EXEEXT@ -LN_S = @LN_S@ -LTLIBICONV = @LTLIBICONV@ -LTLIBINTL = @LTLIBINTL@ -LTLIBOBJS = @LTLIBOBJS@ -MAKEINFO = @MAKEINFO@ -MANIFEST_TOOL = @MANIFEST_TOOL@ -MKDIR_P = @MKDIR_P@ -MSGFMT = @MSGFMT@ -MSGFMT_015 = @MSGFMT_015@ -MSGMERGE = @MSGMERGE@ -NM = @NM@ -NMEDIT = @NMEDIT@ -OBJDUMP = @OBJDUMP@ -OBJEXT = @OBJEXT@ -OTOOL = @OTOOL@ -OTOOL64 = @OTOOL64@ -PACKAGE = @PACKAGE@ -PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ -PACKAGE_NAME = @PACKAGE_NAME@ -PACKAGE_STRING = @PACKAGE_STRING@ -PACKAGE_TARNAME = @PACKAGE_TARNAME@ -PACKAGE_URL = @PACKAGE_URL@ -PACKAGE_VERSION = @PACKAGE_VERSION@ -PATH_SEPARATOR = @PATH_SEPARATOR@ -POSIX_SHELL = @POSIX_SHELL@ -POSUB = @POSUB@ -PREFERABLY_POSIX_SHELL = @PREFERABLY_POSIX_SHELL@ -PTHREAD_CC = @PTHREAD_CC@ -PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ -PTHREAD_LIBS = @PTHREAD_LIBS@ -RANLIB = @RANLIB@ -RC = @RC@ -SED = @SED@ -SET_MAKE = @SET_MAKE@ -SHELL = @SHELL@ -STRIP = @STRIP@ -USE_NLS = @USE_NLS@ -VERSION = @VERSION@ -XGETTEXT = @XGETTEXT@ -XGETTEXT_015 = @XGETTEXT_015@ -XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@ -abs_builddir = @abs_builddir@ -abs_srcdir = @abs_srcdir@ -abs_top_builddir = @abs_top_builddir@ -abs_top_srcdir = @abs_top_srcdir@ -ac_ct_AR = @ac_ct_AR@ -ac_ct_CC = @ac_ct_CC@ -ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ -am__include = @am__include@ -am__leading_dot = @am__leading_dot@ -am__quote = @am__quote@ -am__tar = @am__tar@ -am__untar = @am__untar@ -ax_pthread_config = @ax_pthread_config@ -bindir = @bindir@ -build = @build@ -build_alias = @build_alias@ -build_cpu = @build_cpu@ -build_os = @build_os@ -build_vendor = @build_vendor@ -builddir = @builddir@ -datadir = @datadir@ -datarootdir = @datarootdir@ -docdir = @docdir@ -dvidir = @dvidir@ -exec_prefix = @exec_prefix@ -host = @host@ -host_alias = @host_alias@ -host_cpu = @host_cpu@ -host_os = @host_os@ -host_vendor = @host_vendor@ -htmldir = @htmldir@ -includedir = @includedir@ -infodir = @infodir@ -install_sh = @install_sh@ -libdir = @libdir@ -libexecdir = @libexecdir@ -localedir = @localedir@ -localstatedir = @localstatedir@ -mandir = @mandir@ -mkdir_p = @mkdir_p@ -oldincludedir = @oldincludedir@ -pdfdir = @pdfdir@ -prefix = @prefix@ -program_transform_name = @program_transform_name@ -psdir = @psdir@ -sbindir = @sbindir@ -sharedstatedir = @sharedstatedir@ -srcdir = @srcdir@ -sysconfdir = @sysconfdir@ -target_alias = @target_alias@ -top_build_prefix = @top_build_prefix@ -top_builddir = @top_builddir@ -top_srcdir = @top_srcdir@ -xz = @xz@ -EXTRA_DIST = \ - files \ - tests.h \ - test_files.sh \ - test_compress.sh \ - test_scripts.sh \ - bcj_test.c \ - compress_prepared_bcj_sparc \ - compress_prepared_bcj_x86 - -AM_CPPFLAGS = \ - -I$(top_srcdir)/src/common \ - -I$(top_srcdir)/src/liblzma/api \ - -I$(top_builddir)/lib - -LDADD = $(top_builddir)/src/liblzma/liblzma.la $(am__append_1) \ - $(LTLIBINTL) -all: all-am - -.SUFFIXES: -.SUFFIXES: .c .lo .o .obj -$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) - @for dep in $?; do \ - case '$(am__configure_deps)' in \ - *$$dep*) \ - ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ - && { if test -f $@; then exit 0; else break; fi; }; \ - exit 1;; \ - esac; \ - done; \ - echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign tests/Makefile'; \ - $(am__cd) $(top_srcdir) && \ - $(AUTOMAKE) --foreign tests/Makefile -.PRECIOUS: Makefile -Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status - @case '$?' in \ - *config.status*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ - *) \ - echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ - cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ - esac; - -$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh - -$(top_srcdir)/configure: $(am__configure_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(ACLOCAL_M4): $(am__aclocal_m4_deps) - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh -$(am__aclocal_m4_deps): - -clean-checkPROGRAMS: - @list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \ - echo " rm -f" $$list; \ - rm -f $$list || exit $$?; \ - test -n "$(EXEEXT)" || exit 0; \ - list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ - echo " rm -f" $$list; \ - rm -f $$list - -create_compress_files$(EXEEXT): $(create_compress_files_OBJECTS) $(create_compress_files_DEPENDENCIES) $(EXTRA_create_compress_files_DEPENDENCIES) - @rm -f create_compress_files$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(create_compress_files_OBJECTS) $(create_compress_files_LDADD) $(LIBS) - -test_bcj_exact_size$(EXEEXT): $(test_bcj_exact_size_OBJECTS) $(test_bcj_exact_size_DEPENDENCIES) $(EXTRA_test_bcj_exact_size_DEPENDENCIES) - @rm -f test_bcj_exact_size$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_bcj_exact_size_OBJECTS) $(test_bcj_exact_size_LDADD) $(LIBS) - -test_block_header$(EXEEXT): $(test_block_header_OBJECTS) $(test_block_header_DEPENDENCIES) $(EXTRA_test_block_header_DEPENDENCIES) - @rm -f test_block_header$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_block_header_OBJECTS) $(test_block_header_LDADD) $(LIBS) - -test_check$(EXEEXT): $(test_check_OBJECTS) $(test_check_DEPENDENCIES) $(EXTRA_test_check_DEPENDENCIES) - @rm -f test_check$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_check_OBJECTS) $(test_check_LDADD) $(LIBS) - -test_filter_flags$(EXEEXT): $(test_filter_flags_OBJECTS) $(test_filter_flags_DEPENDENCIES) $(EXTRA_test_filter_flags_DEPENDENCIES) - @rm -f test_filter_flags$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_filter_flags_OBJECTS) $(test_filter_flags_LDADD) $(LIBS) - -test_index$(EXEEXT): $(test_index_OBJECTS) $(test_index_DEPENDENCIES) $(EXTRA_test_index_DEPENDENCIES) - @rm -f test_index$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_index_OBJECTS) $(test_index_LDADD) $(LIBS) - -test_stream_flags$(EXEEXT): $(test_stream_flags_OBJECTS) $(test_stream_flags_DEPENDENCIES) $(EXTRA_test_stream_flags_DEPENDENCIES) - @rm -f test_stream_flags$(EXEEXT) - $(AM_V_CCLD)$(LINK) $(test_stream_flags_OBJECTS) $(test_stream_flags_LDADD) $(LIBS) - -mostlyclean-compile: - -rm -f *.$(OBJEXT) - -distclean-compile: - -rm -f *.tab.c - -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_compress_files.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bcj_exact_size.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_block_header.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_check.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_filter_flags.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_index.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_stream_flags.Po@am__quote@ - -.c.o: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $< - -.c.obj: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ `$(CYGPATH_W) '$<'` - -.c.lo: -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< - -mostlyclean-libtool: - -rm -f *.lo - -clean-libtool: - -rm -rf .libs _libs - -ID: $(am__tagged_files) - $(am__define_uniq_tagged_files); mkid -fID $$unique -tags: tags-am -TAGS: tags - -tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - set x; \ - here=`pwd`; \ - $(am__define_uniq_tagged_files); \ - shift; \ - if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ - test -n "$$unique" || unique=$$empty_fix; \ - if test $$# -gt 0; then \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - "$$@" $$unique; \ - else \ - $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ - $$unique; \ - fi; \ - fi -ctags: ctags-am - -CTAGS: ctags -ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) - $(am__define_uniq_tagged_files); \ - test -z "$(CTAGS_ARGS)$$unique" \ - || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ - $$unique - -GTAGS: - here=`$(am__cd) $(top_builddir) && pwd` \ - && $(am__cd) $(top_srcdir) \ - && gtags -i $(GTAGS_ARGS) "$$here" -cscopelist: cscopelist-am - -cscopelist-am: $(am__tagged_files) - list='$(am__tagged_files)'; \ - case "$(srcdir)" in \ - [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ - *) sdir=$(subdir)/$(srcdir) ;; \ - esac; \ - for i in $$list; do \ - if test -f "$$i"; then \ - echo "$(subdir)/$$i"; \ - else \ - echo "$$sdir/$$i"; \ - fi; \ - done >> $(top_builddir)/cscope.files - -distclean-tags: - -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags - -check-TESTS: $(TESTS) - @failed=0; all=0; xfail=0; xpass=0; skip=0; \ - srcdir=$(srcdir); export srcdir; \ - list=' $(TESTS) '; \ - $(am__tty_colors); \ - if test -n "$$list"; then \ - for tst in $$list; do \ - if test -f ./$$tst; then dir=./; \ - elif test -f $$tst; then dir=; \ - else dir="$(srcdir)/"; fi; \ - if $(TESTS_ENVIRONMENT) $${dir}$$tst $(AM_TESTS_FD_REDIRECT); then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xpass=`expr $$xpass + 1`; \ - failed=`expr $$failed + 1`; \ - col=$$red; res=XPASS; \ - ;; \ - *) \ - col=$$grn; res=PASS; \ - ;; \ - esac; \ - elif test $$? -ne 77; then \ - all=`expr $$all + 1`; \ - case " $(XFAIL_TESTS) " in \ - *[\ \ ]$$tst[\ \ ]*) \ - xfail=`expr $$xfail + 1`; \ - col=$$lgn; res=XFAIL; \ - ;; \ - *) \ - failed=`expr $$failed + 1`; \ - col=$$red; res=FAIL; \ - ;; \ - esac; \ - else \ - skip=`expr $$skip + 1`; \ - col=$$blu; res=SKIP; \ - fi; \ - echo "$${col}$$res$${std}: $$tst"; \ - done; \ - if test "$$all" -eq 1; then \ - tests="test"; \ - All=""; \ - else \ - tests="tests"; \ - All="All "; \ - fi; \ - if test "$$failed" -eq 0; then \ - if test "$$xfail" -eq 0; then \ - banner="$$All$$all $$tests passed"; \ - else \ - if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \ - banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \ - fi; \ - else \ - if test "$$xpass" -eq 0; then \ - banner="$$failed of $$all $$tests failed"; \ - else \ - if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \ - banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \ - fi; \ - fi; \ - dashes="$$banner"; \ - skipped=""; \ - if test "$$skip" -ne 0; then \ - if test "$$skip" -eq 1; then \ - skipped="($$skip test was not run)"; \ - else \ - skipped="($$skip tests were not run)"; \ - fi; \ - test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$skipped"; \ - fi; \ - report=""; \ - if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ - report="Please report to $(PACKAGE_BUGREPORT)"; \ - test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ - dashes="$$report"; \ - fi; \ - dashes=`echo "$$dashes" | sed s/./=/g`; \ - if test "$$failed" -eq 0; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - fi; \ - echo "$${col}$$dashes$${std}"; \ - echo "$${col}$$banner$${std}"; \ - test -z "$$skipped" || echo "$${col}$$skipped$${std}"; \ - test -z "$$report" || echo "$${col}$$report$${std}"; \ - echo "$${col}$$dashes$${std}"; \ - test "$$failed" -eq 0; \ - else :; fi - -distdir: $(DISTFILES) - @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ - list='$(DISTFILES)'; \ - dist_files=`for file in $$list; do echo $$file; done | \ - sed -e "s|^$$srcdirstrip/||;t" \ - -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ - case $$dist_files in \ - */*) $(MKDIR_P) `echo "$$dist_files" | \ - sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ - sort -u` ;; \ - esac; \ - for file in $$dist_files; do \ - if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ - if test -d $$d/$$file; then \ - dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ - if test -d "$(distdir)/$$file"; then \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ - cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ - find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ - fi; \ - cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ - else \ - test -f "$(distdir)/$$file" \ - || cp -p $$d/$$file "$(distdir)/$$file" \ - || exit 1; \ - fi; \ - done -check-am: all-am - $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) - $(MAKE) $(AM_MAKEFLAGS) check-TESTS -check: check-am -all-am: Makefile -installdirs: -install: install-am -install-exec: install-exec-am -install-data: install-data-am -uninstall: uninstall-am - -install-am: all-am - @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am - -installcheck: installcheck-am -install-strip: - if test -z '$(STRIP)'; then \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - install; \ - else \ - $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ - install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ - "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ - fi -mostlyclean-generic: - -clean-generic: - -distclean-generic: - -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) - -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) - -maintainer-clean-generic: - @echo "This command is intended for maintainers to use" - @echo "it deletes files that may require special tools to rebuild." -clean: clean-am - -clean-am: clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - mostlyclean-am - -distclean: distclean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -distclean-am: clean-am distclean-compile distclean-generic \ - distclean-tags - -dvi: dvi-am - -dvi-am: - -html: html-am - -html-am: - -info: info-am - -info-am: - -install-data-am: - -install-dvi: install-dvi-am - -install-dvi-am: - -install-exec-am: - -install-html: install-html-am - -install-html-am: - -install-info: install-info-am - -install-info-am: - -install-man: - -install-pdf: install-pdf-am - -install-pdf-am: - -install-ps: install-ps-am - -install-ps-am: - -installcheck-am: - -maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) - -rm -f Makefile -maintainer-clean-am: distclean-am maintainer-clean-generic - -mostlyclean: mostlyclean-am - -mostlyclean-am: mostlyclean-compile mostlyclean-generic \ - mostlyclean-libtool - -pdf: pdf-am - -pdf-am: - -ps: ps-am - -ps-am: - -uninstall-am: - -.MAKE: check-am install-am install-strip - -.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \ - clean-checkPROGRAMS clean-generic clean-libtool clean-local \ - cscopelist-am ctags ctags-am distclean distclean-compile \ - distclean-generic distclean-libtool distclean-tags distdir dvi \ - dvi-am html html-am info info-am install install-am \ - install-data install-data-am install-dvi install-dvi-am \ - install-exec install-exec-am install-html install-html-am \ - install-info install-info-am install-man install-pdf \ - install-pdf-am install-ps install-ps-am install-strip \ - installcheck installcheck-am installdirs maintainer-clean \ - maintainer-clean-generic mostlyclean mostlyclean-compile \ - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ - tags tags-am uninstall uninstall-am - - -clean-local: - -rm -f compress_generated_* - -# Tell versions [3.59,3.63) of GNU make to not export all variables. -# Otherwise a system limit (for SysV at least) may be exceeded. -.NOEXPORT: diff --git a/Build/source/extra/xz/tests/bcj_test.c b/Build/source/extra/xz/tests/bcj_test.c deleted file mode 100644 index 05de38a28a3..00000000000 --- a/Build/source/extra/xz/tests/bcj_test.c +++ /dev/null @@ -1,65 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file bcj_test.c -/// \brief Source code of compress_prepared_bcj_* -/// -/// This is a simple program that should make the compiler to generate -/// PC-relative branches, jumps, and calls. The compiled files can then -/// be used to test the branch conversion filters. Note that this program -/// itself does nothing useful. -/// -/// Compiling: gcc -std=c99 -fPIC -c bcj_test.c -/// Don't optimize or strip. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -extern int jump(int a, int b); - - -extern int -call(int a, int b) -{ - if (a < b) - a = jump(a, b); - - return a; -} - - -extern int -jump(int a, int b) -{ - // The loop generates conditional jump backwards. - while (1) { - if (a < b) { - a *= 2; - a += 3 * b; - break; - } else { - // Put enough code here to prevent JMP SHORT on x86. - a += b; - a /= 2; - b += b % 5; - a -= b / 3; - b = 2 * b + a - 1; - a *= b + a + 1; - b += a - 1; - a += b * 2 - a / 5; - } - } - - return a; -} - - -int -main(int argc, char **argv) -{ - int a = call(argc, argc + 1); - return a == 0; -} diff --git a/Build/source/extra/xz/tests/compress_prepared_bcj_sparc b/Build/source/extra/xz/tests/compress_prepared_bcj_sparc deleted file mode 100644 index 86ea7ddb11b..00000000000 Binary files a/Build/source/extra/xz/tests/compress_prepared_bcj_sparc and /dev/null differ diff --git a/Build/source/extra/xz/tests/compress_prepared_bcj_x86 b/Build/source/extra/xz/tests/compress_prepared_bcj_x86 deleted file mode 100644 index bcc546f04cb..00000000000 Binary files a/Build/source/extra/xz/tests/compress_prepared_bcj_x86 and /dev/null differ diff --git a/Build/source/extra/xz/tests/create_compress_files.c b/Build/source/extra/xz/tests/create_compress_files.c deleted file mode 100644 index bd5b4ef40d4..00000000000 --- a/Build/source/extra/xz/tests/create_compress_files.c +++ /dev/null @@ -1,158 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file create_compress_files.c -/// \brief Creates bunch of test files to be compressed -/// -/// Using a test file generator program saves space in the source code -/// package considerably. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "sysdefs.h" -#include - - -// Avoid re-creating the test files every time the tests are run. -#define create_test(name) \ -do { \ - if (!file_exists("compress_generated_" #name)) { \ - FILE *file = file_create("compress_generated_" #name); \ - write_ ## name(file); \ - file_finish(file, "compress_generated_" #name); \ - } \ -} while (0) - - -static bool -file_exists(const char *filename) -{ - // Trying to be somewhat portable by avoiding stat(). - FILE *file = fopen(filename, "rb"); - bool ret; - - if (file != NULL) { - fclose(file); - ret = true; - } else { - ret = false; - } - - return ret; -} - - -static FILE * -file_create(const char *filename) -{ - FILE *file = fopen(filename, "wb"); - - if (file == NULL) { - perror(filename); - exit(1); - } - - return file; -} - - -static void -file_finish(FILE *file, const char *filename) -{ - const bool ferror_fail = ferror(file); - const bool fclose_fail = fclose(file); - - if (ferror_fail || fclose_fail) { - perror(filename); - exit(1); - } -} - - -// File that repeats "abc\n" a few thousand times. This is targeted -// especially at Subblock filter's run-length encoder. -static void -write_abc(FILE *file) -{ - for (size_t i = 0; i < 12345; ++i) - if (fwrite("abc\n", 4, 1, file) != 1) - exit(1); -} - - -// File that doesn't compress. We always use the same random seed to -// generate identical files on all systems. -static void -write_random(FILE *file) -{ - uint32_t n = 5; - - for (size_t i = 0; i < 123456; ++i) { - n = 101771 * n + 71777; - - putc(n & 0xFF, file); - putc((n >> 8) & 0xFF, file); - putc((n >> 16) & 0xFF, file); - putc(n >> 24, file); - } -} - - -// Text file -static void -write_text(FILE *file) -{ - static const char *lorem[] = { - "Lorem", "ipsum", "dolor", "sit", "amet,", "consectetur", - "adipisicing", "elit,", "sed", "do", "eiusmod", "tempor", - "incididunt", "ut", "labore", "et", "dolore", "magna", - "aliqua.", "Ut", "enim", "ad", "minim", "veniam,", "quis", - "nostrud", "exercitation", "ullamco", "laboris", "nisi", - "ut", "aliquip", "ex", "ea", "commodo", "consequat.", - "Duis", "aute", "irure", "dolor", "in", "reprehenderit", - "in", "voluptate", "velit", "esse", "cillum", "dolore", - "eu", "fugiat", "nulla", "pariatur.", "Excepteur", "sint", - "occaecat", "cupidatat", "non", "proident,", "sunt", "in", - "culpa", "qui", "officia", "deserunt", "mollit", "anim", - "id", "est", "laborum." - }; - - // Let the first paragraph be the original text. - for (size_t w = 0; w < ARRAY_SIZE(lorem); ++w) { - fprintf(file, "%s ", lorem[w]); - - if (w % 7 == 6) - fprintf(file, "\n"); - } - - // The rest shall be (hopefully) meaningless combinations of - // the same words. - uint32_t n = 29; - - for (size_t p = 0; p < 500; ++p) { - fprintf(file, "\n\n"); - - for (size_t w = 0; w < ARRAY_SIZE(lorem); ++w) { - n = 101771 * n + 71777; - - fprintf(file, "%s ", lorem[n % ARRAY_SIZE(lorem)]); - - if (w % 7 == 6) - fprintf(file, "\n"); - } - } -} - - -int -main(void) -{ - create_test(abc); - create_test(random); - create_test(text); - return 0; -} diff --git a/Build/source/extra/xz/tests/files/README b/Build/source/extra/xz/tests/files/README deleted file mode 100644 index 53950edb491..00000000000 --- a/Build/source/extra/xz/tests/files/README +++ /dev/null @@ -1,240 +0,0 @@ - -.xz Test Files ----------------- - -0. Introduction - - This directory contains bunch of files to test handling of .xz files - in .xz decoder implementations. Many of the files have been created - by hand with a hex editor, thus there is no better "source code" than - the files themselves. All the test files (*.xz) and this README have - been put into the public domain. - - -1. File Types - - Good files (good-*.xz) must decode successfully without requiring - a lot of CPU time or RAM. - - Unsupported files (unsupported-*.xz) are good files, but headers - indicate features not supported by the current file format - specification. - - Bad files (bad-*.xz) must cause the decoder to give an error. Like - with the good files, these files must not require a lot of CPU time - or RAM before they get detected to be broken. - - -2. Descriptions of Individual Files - -2.1. Good Files - - good-0-empty.xz has one Stream with no Blocks. - - good-0pad-empty.xz has one Stream with no Blocks followed by - four-byte Stream Padding. - - good-0cat-empty.xz has two zero-Block Streams concatenated without - Stream Padding. - - good-0catpad-empty.xz has two zero-Block Streams concatenated with - four-byte Stream Padding between the Streams. - - good-1-check-none.xz has one Stream with one Block with two - uncompressed LZMA2 chunks and no integrity check. - - good-1-check-crc32.xz has one Stream with one Block with two - uncompressed LZMA2 chunks and CRC32 check. - - good-1-check-crc64.xz is like good-1-check-crc32.xz but with CRC64. - - good-1-check-sha256.xz is like good-1-check-crc32.xz but with - SHA256. - - good-2-lzma2.xz has one Stream with two Blocks with one uncompressed - LZMA2 chunk in each Block. - - good-1-block_header-1.xz has both Compressed Size and Uncompressed - Size in the Block Header. This has also four extra bytes of Header - Padding. - - good-1-block_header-2.xz has known Compressed Size. - - good-1-block_header-3.xz has known Uncompressed Size. - - good-1-delta-lzma2.tiff.xz is an image file that compresses - better with Delta+LZMA2 than with plain LZMA2. - - good-1-x86-lzma2.xz uses the x86 filter (BCJ) and LZMA2. The - uncompressed file is compress_prepared_bcj_x86 found from the tests - directory. - - good-1-sparc-lzma2.xz uses the SPARC filter and LZMA. The - uncompressed file is compress_prepared_bcj_sparc found from the tests - directory. - - good-1-lzma2-1.xz has two LZMA2 chunks, of which the second sets - new properties. - - good-1-lzma2-2.xz has two LZMA2 chunks, of which the second resets - the state without specifying new properties. - - good-1-lzma2-3.xz has two LZMA2 chunks, of which the first is - uncompressed and the second is LZMA. The first chunk resets dictionary - and the second sets new properties. - - good-1-lzma2-4.xz has three LZMA2 chunks: First is LZMA, second is - uncompressed with dictionary reset, and third is LZMA with new - properties but without dictionary reset. - - good-1-lzma2-5.xz has an empty LZMA2 stream with only the end of - payload marker. XZ Utils 5.0.1 and older incorrectly see this file - as corrupt. - - good-1-3delta-lzma2.xz has three Delta filters and LZMA2. - - -2.2. Unsupported Files - - unsupported-check.xz uses Check ID 0x02 which isn't supported by - the current version of the file format. It is implementation-defined - how this file handled (it may reject it, or decode it possibly with - a warning). - - unsupported-block_header.xz has a non-null byte in Header Padding, - which may indicate presence of a new unsupported field. - - unsupported-filter_flags-1.xz has unsupported Filter ID 0x7F. - - unsupported-filter_flags-2.xz specifies only Delta filter in the - List of Filter Flags, but Delta isn't allowed as the last filter in - the chain. It could be a little more correct to detect this file as - corrupt instead of unsupported, but saying it is unsupported is - simpler in case of liblzma. - - unsupported-filter_flags-3.xz specifies two LZMA2 filters in the - List of Filter Flags. LZMA2 is allowed only as the last filter in the - chain. It could be a little more correct to detect this file as - corrupt instead of unsupported, but saying it is unsupported is - simpler in case of liblzma. - - -2.3. Bad Files - - bad-0pad-empty.xz has one Stream with no Blocks followed by - five-byte Stream Padding. Stream Padding must be a multiple of four - bytes, thus this file is corrupt. - - bad-0catpad-empty.xz has two zero-Block Streams concatenated with - five-byte Stream Padding between the Streams. - - bad-0cat-alone.xz is good-0-empty.xz concatenated with an empty - LZMA_Alone file. - - bad-0cat-header_magic.xz is good-0cat-empty.xz but with one byte - wrong in the Header Magic Bytes field of the second Stream. liblzma - gives LZMA_DATA_ERROR for this. (LZMA_FORMAT_ERROR is used only if - the first Stream of a file has invalid Header Magic Bytes.) - - bad-0-header_magic.xz is good-0-empty.xz but with one byte wrong - in the Header Magic Bytes field. liblzma gives LZMA_FORMAT_ERROR for - this. - - bad-0-footer_magic.xz is good-0-empty.xz but with one byte wrong - in the Footer Magic Bytes field. liblzma gives LZMA_DATA_ERROR for - this. - - bad-0-empty-truncated.xz is good-0-empty.xz without the last byte - of the file. - - bad-0-nonempty_index.xz has no Blocks but Index claims that there is - one Block. - - bad-0-backward_size.xz has wrong Backward Size in Stream Footer. - - bad-1-stream_flags-1.xz has different Stream Flags in Stream Header - and Stream Footer. - - bad-1-stream_flags-2.xz has wrong CRC32 in Stream Header. - - bad-1-stream_flags-3.xz has wrong CRC32 in Stream Footer. - - bad-1-vli-1.xz has two-byte variable-length integer in the - Uncompressed Size field in Block Header while one-byte would be enough - for that value. It's important that the file gets rejected due to too - big integer encoding instead of due to Uncompressed Size not matching - the value stored in the Block Header. That is, the decoder must not - try to decode the Compressed Data field. - - bad-1-vli-2.xz has ten-byte variable-length integer as Uncompressed - Size in Block Header. It's important that the file gets rejected due - to too big integer encoding instead of due to Uncompressed Size not - matching the value stored in the Block Header. That is, the decoder - must not try to decode the Compressed Data field. - - bad-1-block_header-1.xz has Block Header that ends in the middle of - the Filter Flags field. - - bad-1-block_header-2.xz has Block Header that has Compressed Size and - Uncompressed Size but no List of Filter Flags field. - - bad-1-block_header-3.xz has wrong CRC32 in Block Header. - - bad-1-block_header-4.xz has too big Compressed Size in Block Header - (2^63 - 1 bytes while maximum is a little less, because the whole - Block must stay smaller than 2^63). It's important that the file - gets rejected due to invalid Compressed Size value; the decoder - must not try decoding the Compressed Data field. - - bad-1-block_header-5.xz has zero as Compressed Size in Block Header. - - bad-1-block_header-6.xz has corrupt Block Header which may crash - xz -lvv in XZ Utils 5.0.3 and earlier. It was fixed in the commit - c0297445064951807803457dca1611b3c47e7f0f. - - bad-2-index-1.xz has wrong Unpadded Sizes in Index. - - bad-2-index-2.xz has wrong Uncompressed Sizes in Index. - - bad-2-index-3.xz has non-null byte in Index Padding. - - bad-2-index-4.xz wrong CRC32 in Index. - - bad-2-index-5.xz has zero as Unpadded Size. It is important that the - file gets rejected specifically due to Unpadded Size having an invalid - value. - - bad-2-compressed_data_padding.xz has non-null byte in the padding of - the Compressed Data field of the first Block. - - bad-1-check-crc32.xz has wrong Check (CRC32). - - bad-1-check-crc64.xz has wrong Check (CRC64). - - bad-1-check-sha256.xz has wrong Check (SHA-256). - - bad-1-lzma2-1.xz has LZMA2 stream whose first chunk (uncompressed) - doesn't reset the dictionary. - - bad-1-lzma2-2.xz has two LZMA2 chunks, of which the second chunk - indicates dictionary reset, but the LZMA compressed data tries to - repeat data from the previous chunk. - - bad-1-lzma2-3.xz sets new invalid properties (lc=8, lp=0, pb=0) in - the middle of Block. - - bad-1-lzma2-4.xz has two LZMA2 chunks, of which the first is - uncompressed and the second is LZMA. The first chunk resets dictionary - as it should, but the second chunk tries to reset state without - specifying properties for LZMA. - - bad-1-lzma2-5.xz is like bad-1-lzma2-4.xz but doesn't try to reset - anything in the header of the second chunk. - - bad-1-lzma2-6.xz has reserved LZMA2 control byte value (0x03). - - bad-1-lzma2-7.xz has EOPM at LZMA level. - - bad-1-lzma2-8.xz is like good-1-lzma2-4.xz but doesn't set new - properties in the third LZMA2 chunk. - diff --git a/Build/source/extra/xz/tests/files/bad-0-backward_size.xz b/Build/source/extra/xz/tests/files/bad-0-backward_size.xz deleted file mode 100644 index 2b46fa937b3..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0-backward_size.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0-empty-truncated.xz b/Build/source/extra/xz/tests/files/bad-0-empty-truncated.xz deleted file mode 100644 index f879af84ac4..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0-empty-truncated.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0-footer_magic.xz b/Build/source/extra/xz/tests/files/bad-0-footer_magic.xz deleted file mode 100644 index 5d9e3894bc2..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0-footer_magic.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0-header_magic.xz b/Build/source/extra/xz/tests/files/bad-0-header_magic.xz deleted file mode 100644 index 5984a453bf8..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0-header_magic.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0-nonempty_index.xz b/Build/source/extra/xz/tests/files/bad-0-nonempty_index.xz deleted file mode 100644 index ed6e81fa046..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0-nonempty_index.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0cat-alone.xz b/Build/source/extra/xz/tests/files/bad-0cat-alone.xz deleted file mode 100644 index a915a3a1e2b..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0cat-alone.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0cat-header_magic.xz b/Build/source/extra/xz/tests/files/bad-0cat-header_magic.xz deleted file mode 100644 index 426bf2d4218..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0cat-header_magic.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0catpad-empty.xz b/Build/source/extra/xz/tests/files/bad-0catpad-empty.xz deleted file mode 100644 index 97c13302006..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0catpad-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-0pad-empty.xz b/Build/source/extra/xz/tests/files/bad-0pad-empty.xz deleted file mode 100644 index 45e00b74a3f..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-0pad-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-1.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-1.xz deleted file mode 100644 index d991536aed8..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-2.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-2.xz deleted file mode 100644 index ae42ecf0f9b..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-3.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-3.xz deleted file mode 100644 index 606cbd20e25..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-4.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-4.xz deleted file mode 100644 index e72dfbfc394..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-4.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-5.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-5.xz deleted file mode 100644 index 96521129267..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-5.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-block_header-6.xz b/Build/source/extra/xz/tests/files/bad-1-block_header-6.xz deleted file mode 100644 index ecf0ff09c11..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-block_header-6.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-check-crc32.xz b/Build/source/extra/xz/tests/files/bad-1-check-crc32.xz deleted file mode 100644 index 1ebe1310b5a..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-check-crc32.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-check-crc64.xz b/Build/source/extra/xz/tests/files/bad-1-check-crc64.xz deleted file mode 100644 index cdb77093db1..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-check-crc64.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-check-sha256.xz b/Build/source/extra/xz/tests/files/bad-1-check-sha256.xz deleted file mode 100644 index def7bff174f..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-check-sha256.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-1.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-1.xz deleted file mode 100644 index 640f592e803..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-2.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-2.xz deleted file mode 100644 index 69ab07d4577..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-3.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-3.xz deleted file mode 100644 index 66f48c5d535..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-4.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-4.xz deleted file mode 100644 index ac970419399..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-4.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-5.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-5.xz deleted file mode 100644 index 700464d51ef..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-5.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-6.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-6.xz deleted file mode 100644 index 2bda0c4b8b8..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-6.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-7.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-7.xz deleted file mode 100644 index 8cc711c19ed..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-7.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-lzma2-8.xz b/Build/source/extra/xz/tests/files/bad-1-lzma2-8.xz deleted file mode 100644 index f21a71b63f3..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-lzma2-8.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-stream_flags-1.xz b/Build/source/extra/xz/tests/files/bad-1-stream_flags-1.xz deleted file mode 100644 index 6511773ec69..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-stream_flags-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-stream_flags-2.xz b/Build/source/extra/xz/tests/files/bad-1-stream_flags-2.xz deleted file mode 100644 index 0c66b364b0e..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-stream_flags-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-stream_flags-3.xz b/Build/source/extra/xz/tests/files/bad-1-stream_flags-3.xz deleted file mode 100644 index a9b1f98365f..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-stream_flags-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-vli-1.xz b/Build/source/extra/xz/tests/files/bad-1-vli-1.xz deleted file mode 100644 index 6514ab12946..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-vli-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-1-vli-2.xz b/Build/source/extra/xz/tests/files/bad-1-vli-2.xz deleted file mode 100644 index c16941b4083..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-1-vli-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-compressed_data_padding.xz b/Build/source/extra/xz/tests/files/bad-2-compressed_data_padding.xz deleted file mode 100644 index 382d0476700..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-compressed_data_padding.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-index-1.xz b/Build/source/extra/xz/tests/files/bad-2-index-1.xz deleted file mode 100644 index f51ed214d16..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-index-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-index-2.xz b/Build/source/extra/xz/tests/files/bad-2-index-2.xz deleted file mode 100644 index d7d00ff343f..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-index-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-index-3.xz b/Build/source/extra/xz/tests/files/bad-2-index-3.xz deleted file mode 100644 index 62428b87223..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-index-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-index-4.xz b/Build/source/extra/xz/tests/files/bad-2-index-4.xz deleted file mode 100644 index 9cf2df65da5..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-index-4.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/bad-2-index-5.xz b/Build/source/extra/xz/tests/files/bad-2-index-5.xz deleted file mode 100644 index 0a79270900a..00000000000 Binary files a/Build/source/extra/xz/tests/files/bad-2-index-5.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-0-empty.xz b/Build/source/extra/xz/tests/files/good-0-empty.xz deleted file mode 100644 index 83b95e05bc8..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-0-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-0cat-empty.xz b/Build/source/extra/xz/tests/files/good-0cat-empty.xz deleted file mode 100644 index e6fc31461db..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-0cat-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-0catpad-empty.xz b/Build/source/extra/xz/tests/files/good-0catpad-empty.xz deleted file mode 100644 index 4f86b7d152d..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-0catpad-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-0pad-empty.xz b/Build/source/extra/xz/tests/files/good-0pad-empty.xz deleted file mode 100644 index c51e3a69c0d..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-0pad-empty.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-3delta-lzma2.xz b/Build/source/extra/xz/tests/files/good-1-3delta-lzma2.xz deleted file mode 100644 index a0be1d007a2..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-3delta-lzma2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-block_header-1.xz b/Build/source/extra/xz/tests/files/good-1-block_header-1.xz deleted file mode 100644 index fea5ad2f998..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-block_header-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-block_header-2.xz b/Build/source/extra/xz/tests/files/good-1-block_header-2.xz deleted file mode 100644 index 6b5dcb347b2..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-block_header-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-block_header-3.xz b/Build/source/extra/xz/tests/files/good-1-block_header-3.xz deleted file mode 100644 index 15653120634..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-block_header-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-check-crc32.xz b/Build/source/extra/xz/tests/files/good-1-check-crc32.xz deleted file mode 100644 index 6c89593d447..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-check-crc32.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-check-crc64.xz b/Build/source/extra/xz/tests/files/good-1-check-crc64.xz deleted file mode 100644 index 5a9915d2f9f..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-check-crc64.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-check-none.xz b/Build/source/extra/xz/tests/files/good-1-check-none.xz deleted file mode 100644 index 1e85faf3d06..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-check-none.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-check-sha256.xz b/Build/source/extra/xz/tests/files/good-1-check-sha256.xz deleted file mode 100644 index fdc556b602c..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-check-sha256.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-delta-lzma2.tiff.xz b/Build/source/extra/xz/tests/files/good-1-delta-lzma2.tiff.xz deleted file mode 100644 index 1f033bc52b5..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-delta-lzma2.tiff.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-lzma2-1.xz b/Build/source/extra/xz/tests/files/good-1-lzma2-1.xz deleted file mode 100644 index d8d6489c872..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-lzma2-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-lzma2-2.xz b/Build/source/extra/xz/tests/files/good-1-lzma2-2.xz deleted file mode 100644 index 7e8cdf1b7d0..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-lzma2-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-lzma2-3.xz b/Build/source/extra/xz/tests/files/good-1-lzma2-3.xz deleted file mode 100644 index c4c72be6561..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-lzma2-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-lzma2-4.xz b/Build/source/extra/xz/tests/files/good-1-lzma2-4.xz deleted file mode 100644 index e0d623a001c..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-lzma2-4.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-lzma2-5.xz b/Build/source/extra/xz/tests/files/good-1-lzma2-5.xz deleted file mode 100644 index 339d1c30c17..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-lzma2-5.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-sparc-lzma2.xz b/Build/source/extra/xz/tests/files/good-1-sparc-lzma2.xz deleted file mode 100644 index 4532bc61c1a..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-sparc-lzma2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-1-x86-lzma2.xz b/Build/source/extra/xz/tests/files/good-1-x86-lzma2.xz deleted file mode 100644 index 8053917bad7..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-1-x86-lzma2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/good-2-lzma2.xz b/Build/source/extra/xz/tests/files/good-2-lzma2.xz deleted file mode 100644 index bed5085c1f6..00000000000 Binary files a/Build/source/extra/xz/tests/files/good-2-lzma2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/unsupported-block_header.xz b/Build/source/extra/xz/tests/files/unsupported-block_header.xz deleted file mode 100644 index 38304429d91..00000000000 Binary files a/Build/source/extra/xz/tests/files/unsupported-block_header.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/unsupported-check.xz b/Build/source/extra/xz/tests/files/unsupported-check.xz deleted file mode 100644 index c28355e7474..00000000000 Binary files a/Build/source/extra/xz/tests/files/unsupported-check.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/unsupported-filter_flags-1.xz b/Build/source/extra/xz/tests/files/unsupported-filter_flags-1.xz deleted file mode 100644 index 48b93731c52..00000000000 Binary files a/Build/source/extra/xz/tests/files/unsupported-filter_flags-1.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/unsupported-filter_flags-2.xz b/Build/source/extra/xz/tests/files/unsupported-filter_flags-2.xz deleted file mode 100644 index c283359d562..00000000000 Binary files a/Build/source/extra/xz/tests/files/unsupported-filter_flags-2.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/files/unsupported-filter_flags-3.xz b/Build/source/extra/xz/tests/files/unsupported-filter_flags-3.xz deleted file mode 100644 index 26084984f97..00000000000 Binary files a/Build/source/extra/xz/tests/files/unsupported-filter_flags-3.xz and /dev/null differ diff --git a/Build/source/extra/xz/tests/test_bcj_exact_size.c b/Build/source/extra/xz/tests/test_bcj_exact_size.c deleted file mode 100644 index cbd93405cd1..00000000000 --- a/Build/source/extra/xz/tests/test_bcj_exact_size.c +++ /dev/null @@ -1,112 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_bcj_exact_size.c -/// \brief Tests BCJ decoding when the output size is known -/// -/// These tests fail with XZ Utils 5.0.3 and earlier. -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - - -/// Something to be compressed -static const uint8_t in[16] = "0123456789ABCDEF"; - -/// in[] after compression -static uint8_t compressed[1024]; -static size_t compressed_size = 0; - -/// Output buffer for decompressing compressed[] -static uint8_t out[sizeof(in)]; - - -static void -compress(void) -{ - // Compress with PowerPC BCJ and LZMA2. PowerPC BCJ is used because - // it has fixed 4-byte alignment which makes triggering the potential - // bug easy. - lzma_options_lzma opt_lzma2; - succeed(lzma_lzma_preset(&opt_lzma2, 0)); - - lzma_filter filters[3] = { - { .id = LZMA_FILTER_POWERPC, .options = NULL }, - { .id = LZMA_FILTER_LZMA2, .options = &opt_lzma2 }, - { .id = LZMA_VLI_UNKNOWN, .options = NULL }, - }; - - expect(lzma_stream_buffer_encode(filters, LZMA_CHECK_CRC32, NULL, - in, sizeof(in), - compressed, &compressed_size, sizeof(compressed)) - == LZMA_OK); -} - - -static void -decompress(void) -{ - lzma_stream strm = LZMA_STREAM_INIT; - expect(lzma_stream_decoder(&strm, 10 << 20, 0) == LZMA_OK); - - strm.next_in = compressed; - strm.next_out = out; - - while (true) { - if (strm.total_in < compressed_size) - strm.avail_in = 1; - - const lzma_ret ret = lzma_code(&strm, LZMA_RUN); - if (ret == LZMA_STREAM_END) { - expect(strm.total_in == compressed_size); - expect(strm.total_out == sizeof(in)); - return; - } - - expect(ret == LZMA_OK); - - if (strm.total_out < sizeof(in)) - strm.avail_out = 1; - } -} - - -static void -decompress_empty(void) -{ - // An empty file with one Block using PowerPC BCJ and LZMA2. - static const uint8_t empty_bcj_lzma2[] = { - 0xFD, 0x37, 0x7A, 0x58, 0x5A, 0x00, 0x00, 0x01, - 0x69, 0x22, 0xDE, 0x36, 0x02, 0x01, 0x05, 0x00, - 0x21, 0x01, 0x00, 0x00, 0x7F, 0xE0, 0xF1, 0xC8, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x11, 0x00, 0x3B, 0x96, 0x5F, 0x73, - 0x90, 0x42, 0x99, 0x0D, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x01, 0x59, 0x5A - }; - - // Decompress without giving any output space. - uint64_t memlimit = 1 << 20; - size_t in_pos = 0; - size_t out_pos = 0; - expect(lzma_stream_buffer_decode(&memlimit, 0, NULL, - empty_bcj_lzma2, &in_pos, sizeof(empty_bcj_lzma2), - out, &out_pos, 0) == LZMA_OK); - expect(in_pos == sizeof(empty_bcj_lzma2)); - expect(out_pos == 0); -} - - -extern int -main(void) -{ - compress(); - decompress(); - decompress_empty(); - return 0; -} diff --git a/Build/source/extra/xz/tests/test_block_header.c b/Build/source/extra/xz/tests/test_block_header.c deleted file mode 100644 index 3d9b5d93147..00000000000 --- a/Build/source/extra/xz/tests/test_block_header.c +++ /dev/null @@ -1,240 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_block_header.c -/// \brief Tests Block Header coders -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - - -static uint8_t buf[LZMA_BLOCK_HEADER_SIZE_MAX]; -static lzma_block known_options; -static lzma_block decoded_options; - -static lzma_options_lzma opt_lzma; - -static lzma_filter filters_none[1] = { - { - .id = LZMA_VLI_UNKNOWN, - }, -}; - - -static lzma_filter filters_one[2] = { - { - .id = LZMA_FILTER_LZMA2, - .options = &opt_lzma, - }, { - .id = LZMA_VLI_UNKNOWN, - } -}; - - -static lzma_filter filters_four[5] = { - { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_LZMA2, - .options = &opt_lzma, - }, { - .id = LZMA_VLI_UNKNOWN, - } -}; - - -static lzma_filter filters_five[6] = { - { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_X86, - .options = NULL, - }, { - .id = LZMA_FILTER_LZMA2, - .options = &opt_lzma, - }, { - .id = LZMA_VLI_UNKNOWN, - } -}; - - -static void -code(void) -{ - expect(lzma_block_header_encode(&known_options, buf) == LZMA_OK); - - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - memcrap(filters, sizeof(filters)); - memcrap(&decoded_options, sizeof(decoded_options)); - - decoded_options.header_size = known_options.header_size; - decoded_options.check = known_options.check; - decoded_options.filters = filters; - expect(lzma_block_header_decode(&decoded_options, NULL, buf) - == LZMA_OK); - - expect(known_options.compressed_size - == decoded_options.compressed_size); - expect(known_options.uncompressed_size - == decoded_options.uncompressed_size); - - for (size_t i = 0; known_options.filters[i].id - != LZMA_VLI_UNKNOWN; ++i) - expect(known_options.filters[i].id == filters[i].id); - - for (size_t i = 0; i < LZMA_FILTERS_MAX; ++i) - free(decoded_options.filters[i].options); -} - - -static void -test1(void) -{ - known_options = (lzma_block){ - .check = LZMA_CHECK_NONE, - .compressed_size = LZMA_VLI_UNKNOWN, - .uncompressed_size = LZMA_VLI_UNKNOWN, - .filters = NULL, - }; - - expect(lzma_block_header_size(&known_options) == LZMA_PROG_ERROR); - - known_options.filters = filters_none; - expect(lzma_block_header_size(&known_options) == LZMA_PROG_ERROR); - - known_options.filters = filters_five; - expect(lzma_block_header_size(&known_options) == LZMA_PROG_ERROR); - - known_options.filters = filters_one; - expect(lzma_block_header_size(&known_options) == LZMA_OK); - - known_options.check = 999; // Some invalid value, which gets ignored. - expect(lzma_block_header_size(&known_options) == LZMA_OK); - - known_options.compressed_size = 5; - expect(lzma_block_header_size(&known_options) == LZMA_OK); - - known_options.compressed_size = 0; // Cannot be zero. - expect(lzma_block_header_size(&known_options) == LZMA_PROG_ERROR); - - // LZMA_VLI_MAX is too big to keep the total size of the Block - // a valid VLI, but lzma_block_header_size() is not meant - // to validate it. (lzma_block_header_encode() must validate it.) - known_options.compressed_size = LZMA_VLI_MAX; - expect(lzma_block_header_size(&known_options) == LZMA_OK); - - known_options.compressed_size = LZMA_VLI_UNKNOWN; - known_options.uncompressed_size = 0; - expect(lzma_block_header_size(&known_options) == LZMA_OK); - - known_options.uncompressed_size = LZMA_VLI_MAX + 1; - expect(lzma_block_header_size(&known_options) == LZMA_PROG_ERROR); -} - - -static void -test2(void) -{ - known_options = (lzma_block){ - .check = LZMA_CHECK_CRC32, - .compressed_size = LZMA_VLI_UNKNOWN, - .uncompressed_size = LZMA_VLI_UNKNOWN, - .filters = filters_four, - }; - - expect(lzma_block_header_size(&known_options) == LZMA_OK); - code(); - - known_options.compressed_size = 123456; - known_options.uncompressed_size = 234567; - expect(lzma_block_header_size(&known_options) == LZMA_OK); - code(); - - // We can make the sizes smaller while keeping the header size - // the same. - known_options.compressed_size = 12; - known_options.uncompressed_size = 23; - code(); -} - - -static void -test3(void) -{ - known_options = (lzma_block){ - .check = LZMA_CHECK_CRC32, - .compressed_size = LZMA_VLI_UNKNOWN, - .uncompressed_size = LZMA_VLI_UNKNOWN, - .filters = filters_one, - }; - - expect(lzma_block_header_size(&known_options) == LZMA_OK); - known_options.header_size += 4; - expect(lzma_block_header_encode(&known_options, buf) == LZMA_OK); - - lzma_filter filters[LZMA_FILTERS_MAX + 1]; - decoded_options.header_size = known_options.header_size; - decoded_options.check = known_options.check; - decoded_options.filters = filters; - - // Wrong size - ++buf[0]; - expect(lzma_block_header_decode(&decoded_options, NULL, buf) - == LZMA_PROG_ERROR); - --buf[0]; - - // Wrong CRC32 - buf[known_options.header_size - 1] ^= 1; - expect(lzma_block_header_decode(&decoded_options, NULL, buf) - == LZMA_DATA_ERROR); - buf[known_options.header_size - 1] ^= 1; - - // Unsupported filter - // NOTE: This may need updating when new IDs become supported. - buf[2] ^= 0x1F; - unaligned_write32le(buf + known_options.header_size - 4, - lzma_crc32(buf, known_options.header_size - 4, 0)); - expect(lzma_block_header_decode(&decoded_options, NULL, buf) - == LZMA_OPTIONS_ERROR); - buf[2] ^= 0x1F; - - // Non-nul Padding - buf[known_options.header_size - 4 - 1] ^= 1; - unaligned_write32le(buf + known_options.header_size - 4, - lzma_crc32(buf, known_options.header_size - 4, 0)); - expect(lzma_block_header_decode(&decoded_options, NULL, buf) - == LZMA_OPTIONS_ERROR); - buf[known_options.header_size - 4 - 1] ^= 1; -} - - -int -main(void) -{ - succeed(lzma_lzma_preset(&opt_lzma, 1)); - - test1(); - test2(); - test3(); - - return 0; -} diff --git a/Build/source/extra/xz/tests/test_check.c b/Build/source/extra/xz/tests/test_check.c deleted file mode 100644 index 7d4a36078cf..00000000000 --- a/Build/source/extra/xz/tests/test_check.c +++ /dev/null @@ -1,83 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_check.c -/// \brief Tests integrity checks -/// -/// \todo Add SHA256 -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - - -static const uint8_t test_string[9] = "123456789"; -static const uint8_t test_unaligned[12] = "xxx123456789"; - - -static bool -test_crc32(void) -{ - static const uint32_t test_vector = 0xCBF43926; - - // Test 1 - uint32_t crc = lzma_crc32(test_string, sizeof(test_string), 0); - if (crc != test_vector) - return true; - - // Test 2 - crc = lzma_crc32(test_unaligned + 3, sizeof(test_string), 0); - if (crc != test_vector) - return true; - - // Test 3 - crc = 0; - for (size_t i = 0; i < sizeof(test_string); ++i) - crc = lzma_crc32(test_string + i, 1, crc); - if (crc != test_vector) - return true; - - return false; -} - - -static bool -test_crc64(void) -{ - static const uint64_t test_vector = 0x995DC9BBDF1939FA; - - // Test 1 - uint64_t crc = lzma_crc64(test_string, sizeof(test_string), 0); - if (crc != test_vector) - return true; - - // Test 2 - crc = lzma_crc64(test_unaligned + 3, sizeof(test_string), 0); - if (crc != test_vector) - return true; - - // Test 3 - crc = 0; - for (size_t i = 0; i < sizeof(test_string); ++i) - crc = lzma_crc64(test_string + i, 1, crc); - if (crc != test_vector) - return true; - - return false; -} - - -int -main(void) -{ - bool error = false; - - error |= test_crc32(); - error |= test_crc64(); - - return error ? 1 : 0; -} diff --git a/Build/source/extra/xz/tests/test_compress.sh b/Build/source/extra/xz/tests/test_compress.sh deleted file mode 100755 index 62da0f921ad..00000000000 --- a/Build/source/extra/xz/tests/test_compress.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh - -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# If xz wasn't built, this test is skipped. -if test -x ../src/xz/xz ; then - : -else - (exit 77) - exit 77 -fi - -# Find out if our shell supports functions. -eval 'unset foo ; foo() { return 42; } ; foo' -if test $? != 42 ; then - echo "/bin/sh doesn't support functions, skipping this test." - (exit 77) - exit 77 -fi - -test_xz() { - if $XZ -c "$@" "$FILE" > tmp_compressed; then - : - else - echo "Compressing failed: $* $FILE" - (exit 1) - exit 1 - fi - - if $XZ -cd tmp_compressed > tmp_uncompressed ; then - : - else - echo "Decompressing failed: $* $FILE" - (exit 1) - exit 1 - fi - - if cmp tmp_uncompressed "$FILE" ; then - : - else - echo "Decompressed file does not match" \ - "the original: $* $FILE" - (exit 1) - exit 1 - fi - - if test -n "$XZDEC" ; then - if $XZDEC tmp_compressed > tmp_uncompressed ; then - : - else - echo "Decompressing failed: $* $FILE" - (exit 1) - exit 1 - fi - - if cmp tmp_uncompressed "$FILE" ; then - : - else - echo "Decompressed file does not match" \ - "the original: $* $FILE" - (exit 1) - exit 1 - fi - fi - - # Show progress: - echo . | tr -d '\n\r' -} - -XZ="../src/xz/xz --memlimit-compress=48MiB --memlimit-decompress=5MiB \ - --no-adjust --threads=1 --check=crc64" -XZDEC="../src/xzdec/xzdec" # No memory usage limiter available -test -x ../src/xzdec/xzdec || XZDEC= - -# Create the required input files. -if ./create_compress_files ; then - : -else - rm -f compress_* - echo "Failed to create files to test compression." - (exit 1) - exit 1 -fi - -# Remove temporary now (in case they are something weird), and on exit. -rm -f tmp_compressed tmp_uncompressed -trap 'rm -f tmp_compressed tmp_uncompressed' 0 - -# Compress and decompress each file with various filter configurations. -# This takes quite a bit of time. -echo "test_compress.sh:" -for FILE in compress_generated_* "$srcdir"/compress_prepared_* -do - MSG=`echo "x$FILE" | sed 's,^x,,; s,^.*/,,; s,^compress_,,'` - echo " $MSG" | tr -d '\n\r' - - # Don't test with empty arguments; it breaks some ancient - # proprietary /bin/sh versions due to $@ used in test_xz(). - test_xz -1 - test_xz -2 - test_xz -3 - test_xz -4 - - # Disabled until Subblock format is stable. -# --subblock \ -# --subblock=size=1 \ -# --subblock=size=1,rle=1 \ -# --subblock=size=1,rle=4 \ -# --subblock=size=4,rle=4 \ -# --subblock=size=8,rle=4 \ -# --subblock=size=8,rle=8 \ -# --subblock=size=4096,rle=12 \ -# - for ARGS in \ - --delta=dist=1 \ - --delta=dist=4 \ - --delta=dist=256 \ - --x86 \ - --powerpc \ - --ia64 \ - --arm \ - --armthumb \ - --sparc - do - test_xz $ARGS --lzma2=dict=64KiB,nice=32,mode=fast - - # Disabled until Subblock format is stable. - # test_xz --subblock $ARGS --lzma2=dict=64KiB,nice=32,mode=fast - done - - echo -done - -(exit 0) -exit 0 diff --git a/Build/source/extra/xz/tests/test_files.sh b/Build/source/extra/xz/tests/test_files.sh deleted file mode 100755 index 2fa83825e5f..00000000000 --- a/Build/source/extra/xz/tests/test_files.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# If both xz and xzdec were not build, skip this test. -XZ=../src/xz/xz -XZDEC=../src/xzdec/xzdec -test -x "$XZ" || XZ= -test -x "$XZDEC" || XZDEC= -if test -z "$XZ$XZDEC"; then - (exit 77) - exit 77 -fi - -for I in "$srcdir"/files/good-*.xz -do - if test -z "$XZ" || "$XZ" -dc "$I" > /dev/null 2>&1; then - : - else - echo "Good file failed: $I" - (exit 1) - exit 1 - fi - - if test -z "$XZDEC" || "$XZDEC" "$I" > /dev/null 2>&1; then - : - else - echo "Good file failed: $I" - (exit 1) - exit 1 - fi -done - -for I in "$srcdir"/files/bad-*.xz -do - if test -n "$XZ" && "$XZ" -dc "$I" > /dev/null 2>&1; then - echo "Bad file succeeded: $I" - (exit 1) - exit 1 - fi - - if test -n "$XZDEC" && "$XZDEC" "$I" > /dev/null 2>&1; then - echo "Bad file succeeded: $I" - (exit 1) - exit 1 - fi -done - -(exit 0) -exit 0 diff --git a/Build/source/extra/xz/tests/test_filter_flags.c b/Build/source/extra/xz/tests/test_filter_flags.c deleted file mode 100644 index ccd9ae98d38..00000000000 --- a/Build/source/extra/xz/tests/test_filter_flags.c +++ /dev/null @@ -1,258 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_filter_flags.c -/// \brief Tests Filter Flags coders -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - - -static uint8_t buffer[4096]; -static lzma_filter known_flags; -static lzma_filter decoded_flags; -static lzma_stream strm = LZMA_STREAM_INIT; - - -static bool -encode(uint32_t known_size) -{ - memcrap(buffer, sizeof(buffer)); - - uint32_t tmp; - if (lzma_filter_flags_size(&tmp, &known_flags) != LZMA_OK) - return true; - - if (tmp != known_size) - return true; - - size_t out_pos = 0; - if (lzma_filter_flags_encode(&known_flags, - buffer, &out_pos, known_size) != LZMA_OK) - return true; - - if (out_pos != known_size) - return true; - - return false; -} - - -static bool -decode_ret(uint32_t known_size, lzma_ret expected_ret) -{ - memcrap(&decoded_flags, sizeof(decoded_flags)); - - size_t pos = 0; - if (lzma_filter_flags_decode(&decoded_flags, NULL, - buffer, &pos, known_size) != expected_ret - || pos != known_size) - return true; - - return false; -} - - -static bool -decode(uint32_t known_size) -{ - if (decode_ret(known_size, LZMA_OK)) - return true; - - if (known_flags.id != decoded_flags.id) - return true; - - return false; -} - - -#if defined(HAVE_ENCODER_X86) && defined(HAVE_DECODER_X86) -static void -test_bcj(void) -{ - // Test 1 - known_flags.id = LZMA_FILTER_X86; - known_flags.options = NULL; - - expect(!encode(2)); - expect(!decode(2)); - expect(decoded_flags.options == NULL); - - // Test 2 - lzma_options_bcj options; - options.start_offset = 0; - known_flags.options = &options; - expect(!encode(2)); - expect(!decode(2)); - expect(decoded_flags.options == NULL); - - // Test 3 - options.start_offset = 123456; - known_flags.options = &options; - expect(!encode(6)); - expect(!decode(6)); - expect(decoded_flags.options != NULL); - - lzma_options_bcj *decoded = decoded_flags.options; - expect(decoded->start_offset == options.start_offset); - - free(decoded); -} -#endif - - -#if defined(HAVE_ENCODER_DELTA) && defined(HAVE_DECODER_DELTA) -static void -test_delta(void) -{ - // Test 1 - known_flags.id = LZMA_FILTER_DELTA; - known_flags.options = NULL; - expect(encode(99)); - - // Test 2 - lzma_options_delta options = { - .type = LZMA_DELTA_TYPE_BYTE, - .dist = 0 - }; - known_flags.options = &options; - expect(encode(99)); - - // Test 3 - options.dist = LZMA_DELTA_DIST_MIN; - expect(!encode(3)); - expect(!decode(3)); - expect(((lzma_options_delta *)(decoded_flags.options))->dist - == options.dist); - - free(decoded_flags.options); - - // Test 4 - options.dist = LZMA_DELTA_DIST_MAX; - expect(!encode(3)); - expect(!decode(3)); - expect(((lzma_options_delta *)(decoded_flags.options))->dist - == options.dist); - - free(decoded_flags.options); - - // Test 5 - options.dist = LZMA_DELTA_DIST_MAX + 1; - expect(encode(99)); -} -#endif - -/* -#ifdef HAVE_FILTER_LZMA -static void -validate_lzma(void) -{ - const lzma_options_lzma *known = known_flags.options; - const lzma_options_lzma *decoded = decoded_flags.options; - - expect(known->dictionary_size <= decoded->dictionary_size); - - if (known->dictionary_size == 1) - expect(decoded->dictionary_size == 1); - else - expect(known->dictionary_size + known->dictionary_size / 2 - > decoded->dictionary_size); - - expect(known->literal_context_bits == decoded->literal_context_bits); - expect(known->literal_pos_bits == decoded->literal_pos_bits); - expect(known->pos_bits == decoded->pos_bits); -} - - -static void -test_lzma(void) -{ - // Test 1 - known_flags.id = LZMA_FILTER_LZMA1; - known_flags.options = NULL; - expect(encode(99)); - - // Test 2 - lzma_options_lzma options = { - .dictionary_size = 0, - .literal_context_bits = 0, - .literal_pos_bits = 0, - .pos_bits = 0, - .preset_dictionary = NULL, - .preset_dictionary_size = 0, - .mode = LZMA_MODE_INVALID, - .fast_bytes = 0, - .match_finder = LZMA_MF_INVALID, - .match_finder_cycles = 0, - }; - - // Test 3 (empty dictionary not allowed) - known_flags.options = &options; - expect(encode(99)); - - // Test 4 (brute-force test some valid dictionary sizes) - options.dictionary_size = LZMA_DICTIONARY_SIZE_MIN; - while (options.dictionary_size != LZMA_DICTIONARY_SIZE_MAX) { - if (++options.dictionary_size == 5000) - options.dictionary_size = LZMA_DICTIONARY_SIZE_MAX - 5; - - expect(!encode(4)); - expect(!decode(4)); - validate_lzma(); - - free(decoded_flags.options); - } - - // Test 5 (too big dictionary size) - options.dictionary_size = LZMA_DICTIONARY_SIZE_MAX + 1; - expect(encode(99)); - - // Test 6 (brute-force test lc/lp/pb) - options.dictionary_size = LZMA_DICTIONARY_SIZE_MIN; - for (uint32_t lc = LZMA_LITERAL_CONTEXT_BITS_MIN; - lc <= LZMA_LITERAL_CONTEXT_BITS_MAX; ++lc) { - for (uint32_t lp = LZMA_LITERAL_POS_BITS_MIN; - lp <= LZMA_LITERAL_POS_BITS_MAX; ++lp) { - for (uint32_t pb = LZMA_POS_BITS_MIN; - pb <= LZMA_POS_BITS_MAX; ++pb) { - if (lc + lp > LZMA_LITERAL_BITS_MAX) - continue; - - options.literal_context_bits = lc; - options.literal_pos_bits = lp; - options.pos_bits = pb; - - expect(!encode(4)); - expect(!decode(4)); - validate_lzma(); - - free(decoded_flags.options); - } - } - } -} -#endif -*/ - -int -main(void) -{ -#if defined(HAVE_ENCODER_X86) && defined(HAVE_DECODER_X86) - test_bcj(); -#endif -#if defined(HAVE_ENCODER_DELTA) && defined(HAVE_DECODER_DELTA) - test_delta(); -#endif -// #ifdef HAVE_FILTER_LZMA -// test_lzma(); -// #endif - - lzma_end(&strm); - - return 0; -} diff --git a/Build/source/extra/xz/tests/test_index.c b/Build/source/extra/xz/tests/test_index.c deleted file mode 100644 index 06b4d6ba99e..00000000000 --- a/Build/source/extra/xz/tests/test_index.c +++ /dev/null @@ -1,659 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_index.c -/// \brief Tests functions handling the lzma_index structure -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - -#define MEMLIMIT (LZMA_VLI_C(1) << 20) - -#define SMALL_COUNT 3 -#define BIG_COUNT 5555 - - -static lzma_index * -create_empty(void) -{ - lzma_index *i = lzma_index_init(NULL); - expect(i != NULL); - return i; -} - - -static lzma_index * -create_small(void) -{ - lzma_index *i = lzma_index_init(NULL); - expect(i != NULL); - expect(lzma_index_append(i, NULL, 101, 555) == LZMA_OK); - expect(lzma_index_append(i, NULL, 602, 777) == LZMA_OK); - expect(lzma_index_append(i, NULL, 804, 999) == LZMA_OK); - return i; -} - - -static lzma_index * -create_big(void) -{ - lzma_index *i = lzma_index_init(NULL); - expect(i != NULL); - - lzma_vli total_size = 0; - lzma_vli uncompressed_size = 0; - - // Add pseudo-random sizes (but always the same size values). - uint32_t n = 11; - for (size_t j = 0; j < BIG_COUNT; ++j) { - n = 7019 * n + 7607; - const uint32_t t = n * 3011; - expect(lzma_index_append(i, NULL, t, n) == LZMA_OK); - total_size += (t + 3) & ~LZMA_VLI_C(3); - uncompressed_size += n; - } - - expect(lzma_index_block_count(i) == BIG_COUNT); - expect(lzma_index_total_size(i) == total_size); - expect(lzma_index_uncompressed_size(i) == uncompressed_size); - expect(lzma_index_total_size(i) + lzma_index_size(i) - + 2 * LZMA_STREAM_HEADER_SIZE - == lzma_index_stream_size(i)); - - return i; -} - - -static bool -is_equal(const lzma_index *a, const lzma_index *b) -{ - // Compare only the Stream and Block sizes and offsets. - lzma_index_iter ra, rb; - lzma_index_iter_init(&ra, a); - lzma_index_iter_init(&rb, b); - - while (true) { - bool reta = lzma_index_iter_next(&ra, LZMA_INDEX_ITER_ANY); - bool retb = lzma_index_iter_next(&rb, LZMA_INDEX_ITER_ANY); - if (reta) - return !(reta ^ retb); - - if (ra.stream.number != rb.stream.number - || ra.stream.block_count - != rb.stream.block_count - || ra.stream.compressed_offset - != rb.stream.compressed_offset - || ra.stream.uncompressed_offset - != rb.stream.uncompressed_offset - || ra.stream.compressed_size - != rb.stream.compressed_size - || ra.stream.uncompressed_size - != rb.stream.uncompressed_size - || ra.stream.padding - != rb.stream.padding) - return false; - - if (ra.stream.block_count == 0) - continue; - - if (ra.block.number_in_file != rb.block.number_in_file - || ra.block.compressed_file_offset - != rb.block.compressed_file_offset - || ra.block.uncompressed_file_offset - != rb.block.uncompressed_file_offset - || ra.block.number_in_stream - != rb.block.number_in_stream - || ra.block.compressed_stream_offset - != rb.block.compressed_stream_offset - || ra.block.uncompressed_stream_offset - != rb.block.uncompressed_stream_offset - || ra.block.uncompressed_size - != rb.block.uncompressed_size - || ra.block.unpadded_size - != rb.block.unpadded_size - || ra.block.total_size - != rb.block.total_size) - return false; - } -} - - -static void -test_equal(void) -{ - lzma_index *a = create_empty(); - lzma_index *b = create_small(); - lzma_index *c = create_big(); - expect(a && b && c); - - expect(is_equal(a, a)); - expect(is_equal(b, b)); - expect(is_equal(c, c)); - - expect(!is_equal(a, b)); - expect(!is_equal(a, c)); - expect(!is_equal(b, c)); - - lzma_index_end(a, NULL); - lzma_index_end(b, NULL); - lzma_index_end(c, NULL); -} - - -static void -test_overflow(void) -{ - // Integer overflow tests - lzma_index *i = create_empty(); - - expect(lzma_index_append(i, NULL, LZMA_VLI_MAX - 5, 1234) - == LZMA_DATA_ERROR); - - // TODO - - lzma_index_end(i, NULL); -} - - -static void -test_copy(const lzma_index *i) -{ - lzma_index *d = lzma_index_dup(i, NULL); - expect(d != NULL); - expect(is_equal(i, d)); - lzma_index_end(d, NULL); -} - - -static void -test_read(lzma_index *i) -{ - lzma_index_iter r; - lzma_index_iter_init(&r, i); - - // Try twice so we see that rewinding works. - for (size_t j = 0; j < 2; ++j) { - lzma_vli total_size = 0; - lzma_vli uncompressed_size = 0; - lzma_vli stream_offset = LZMA_STREAM_HEADER_SIZE; - lzma_vli uncompressed_offset = 0; - uint32_t count = 0; - - while (!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)) { - ++count; - - total_size += r.block.total_size; - uncompressed_size += r.block.uncompressed_size; - - expect(r.block.compressed_file_offset - == stream_offset); - expect(r.block.uncompressed_file_offset - == uncompressed_offset); - - stream_offset += r.block.total_size; - uncompressed_offset += r.block.uncompressed_size; - } - - expect(lzma_index_total_size(i) == total_size); - expect(lzma_index_uncompressed_size(i) == uncompressed_size); - expect(lzma_index_block_count(i) == count); - - lzma_index_iter_rewind(&r); - } -} - - -static void -test_code(lzma_index *i) -{ - const size_t alloc_size = 128 * 1024; - uint8_t *buf = malloc(alloc_size); - expect(buf != NULL); - - // Encode - lzma_stream strm = LZMA_STREAM_INIT; - expect(lzma_index_encoder(&strm, i) == LZMA_OK); - const lzma_vli index_size = lzma_index_size(i); - succeed(coder_loop(&strm, NULL, 0, buf, index_size, - LZMA_STREAM_END, LZMA_RUN)); - - // Decode - lzma_index *d; - expect(lzma_index_decoder(&strm, &d, MEMLIMIT) == LZMA_OK); - expect(d == NULL); - succeed(decoder_loop(&strm, buf, index_size)); - - expect(is_equal(i, d)); - - lzma_index_end(d, NULL); - lzma_end(&strm); - - // Decode with hashing - lzma_index_hash *h = lzma_index_hash_init(NULL, NULL); - expect(h != NULL); - lzma_index_iter r; - lzma_index_iter_init(&r, i); - while (!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)) - expect(lzma_index_hash_append(h, r.block.unpadded_size, - r.block.uncompressed_size) == LZMA_OK); - size_t pos = 0; - while (pos < index_size - 1) - expect(lzma_index_hash_decode(h, buf, &pos, pos + 1) - == LZMA_OK); - expect(lzma_index_hash_decode(h, buf, &pos, pos + 1) - == LZMA_STREAM_END); - - lzma_index_hash_end(h, NULL); - - // Encode buffer - size_t buf_pos = 1; - expect(lzma_index_buffer_encode(i, buf, &buf_pos, index_size) - == LZMA_BUF_ERROR); - expect(buf_pos == 1); - - succeed(lzma_index_buffer_encode(i, buf, &buf_pos, index_size + 1)); - expect(buf_pos == index_size + 1); - - // Decode buffer - buf_pos = 1; - uint64_t memlimit = MEMLIMIT; - expect(lzma_index_buffer_decode(&d, &memlimit, NULL, buf, &buf_pos, - index_size) == LZMA_DATA_ERROR); - expect(buf_pos == 1); - expect(d == NULL); - - succeed(lzma_index_buffer_decode(&d, &memlimit, NULL, buf, &buf_pos, - index_size + 1)); - expect(buf_pos == index_size + 1); - expect(is_equal(i, d)); - - lzma_index_end(d, NULL); - - free(buf); -} - - -static void -test_many(lzma_index *i) -{ - test_copy(i); - test_read(i); - test_code(i); -} - - -static void -test_cat(void) -{ - lzma_index *a, *b, *c; - lzma_index_iter r; - - // Empty Indexes - a = create_empty(); - b = create_empty(); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_block_count(a) == 0); - expect(lzma_index_stream_size(a) == 2 * LZMA_STREAM_HEADER_SIZE + 8); - expect(lzma_index_file_size(a) - == 2 * (2 * LZMA_STREAM_HEADER_SIZE + 8)); - lzma_index_iter_init(&r, a); - expect(lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)); - - b = create_empty(); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_block_count(a) == 0); - expect(lzma_index_stream_size(a) == 2 * LZMA_STREAM_HEADER_SIZE + 8); - expect(lzma_index_file_size(a) - == 3 * (2 * LZMA_STREAM_HEADER_SIZE + 8)); - - b = create_empty(); - c = create_empty(); - expect(lzma_index_stream_padding(b, 4) == LZMA_OK); - expect(lzma_index_cat(b, c, NULL) == LZMA_OK); - expect(lzma_index_block_count(b) == 0); - expect(lzma_index_stream_size(b) == 2 * LZMA_STREAM_HEADER_SIZE + 8); - expect(lzma_index_file_size(b) - == 2 * (2 * LZMA_STREAM_HEADER_SIZE + 8) + 4); - - expect(lzma_index_stream_padding(a, 8) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_block_count(a) == 0); - expect(lzma_index_stream_size(a) == 2 * LZMA_STREAM_HEADER_SIZE + 8); - expect(lzma_index_file_size(a) - == 5 * (2 * LZMA_STREAM_HEADER_SIZE + 8) + 4 + 8); - - expect(lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)); - lzma_index_iter_rewind(&r); - expect(lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)); - lzma_index_end(a, NULL); - - // Small Indexes - a = create_small(); - lzma_vli stream_size = lzma_index_stream_size(a); - lzma_index_iter_init(&r, a); - for (int i = SMALL_COUNT; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - b = create_small(); - expect(lzma_index_stream_padding(a, 4) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_file_size(a) == stream_size * 2 + 4); - expect(lzma_index_stream_size(a) > stream_size); - expect(lzma_index_stream_size(a) < stream_size * 2); - for (int i = SMALL_COUNT; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - lzma_index_iter_rewind(&r); - for (int i = SMALL_COUNT * 2; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - b = create_small(); - c = create_small(); - expect(lzma_index_stream_padding(b, 8) == LZMA_OK); - expect(lzma_index_cat(b, c, NULL) == LZMA_OK); - expect(lzma_index_stream_padding(a, 12) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_file_size(a) == stream_size * 4 + 4 + 8 + 12); - - expect(lzma_index_block_count(a) == SMALL_COUNT * 4); - for (int i = SMALL_COUNT * 2; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - lzma_index_iter_rewind(&r); - for (int i = SMALL_COUNT * 4; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - lzma_index_end(a, NULL); - - // Mix of empty and small - a = create_empty(); - b = create_small(); - expect(lzma_index_stream_padding(a, 4) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - lzma_index_iter_init(&r, a); - for (int i = SMALL_COUNT; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - lzma_index_end(a, NULL); - - // Big Indexes - a = create_big(); - stream_size = lzma_index_stream_size(a); - b = create_big(); - expect(lzma_index_stream_padding(a, 4) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_file_size(a) == stream_size * 2 + 4); - expect(lzma_index_stream_size(a) > stream_size); - expect(lzma_index_stream_size(a) < stream_size * 2); - - b = create_big(); - c = create_big(); - expect(lzma_index_stream_padding(b, 8) == LZMA_OK); - expect(lzma_index_cat(b, c, NULL) == LZMA_OK); - expect(lzma_index_stream_padding(a, 12) == LZMA_OK); - expect(lzma_index_cat(a, b, NULL) == LZMA_OK); - expect(lzma_index_file_size(a) == stream_size * 4 + 4 + 8 + 12); - - lzma_index_iter_init(&r, a); - for (int i = BIG_COUNT * 4; i >= 0; --i) - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK) - ^ (i == 0)); - - lzma_index_end(a, NULL); -} - - -static void -test_locate(void) -{ - lzma_index *i = lzma_index_init(NULL); - expect(i != NULL); - lzma_index_iter r; - lzma_index_iter_init(&r, i); - - // Cannot locate anything from an empty Index. - expect(lzma_index_iter_locate(&r, 0)); - expect(lzma_index_iter_locate(&r, 555)); - - // One empty Record: nothing is found since there's no uncompressed - // data. - expect(lzma_index_append(i, NULL, 16, 0) == LZMA_OK); - expect(lzma_index_iter_locate(&r, 0)); - - // Non-empty Record and we can find something. - expect(lzma_index_append(i, NULL, 32, 5) == LZMA_OK); - expect(!lzma_index_iter_locate(&r, 0)); - expect(r.block.total_size == 32); - expect(r.block.uncompressed_size == 5); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16); - expect(r.block.uncompressed_file_offset == 0); - - // Still cannot find anything past the end. - expect(lzma_index_iter_locate(&r, 5)); - - // Add the third Record. - expect(lzma_index_append(i, NULL, 40, 11) == LZMA_OK); - - expect(!lzma_index_iter_locate(&r, 0)); - expect(r.block.total_size == 32); - expect(r.block.uncompressed_size == 5); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16); - expect(r.block.uncompressed_file_offset == 0); - - expect(!lzma_index_iter_next(&r, LZMA_INDEX_ITER_BLOCK)); - expect(r.block.total_size == 40); - expect(r.block.uncompressed_size == 11); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16 + 32); - expect(r.block.uncompressed_file_offset == 5); - - expect(!lzma_index_iter_locate(&r, 2)); - expect(r.block.total_size == 32); - expect(r.block.uncompressed_size == 5); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16); - expect(r.block.uncompressed_file_offset == 0); - - expect(!lzma_index_iter_locate(&r, 5)); - expect(r.block.total_size == 40); - expect(r.block.uncompressed_size == 11); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16 + 32); - expect(r.block.uncompressed_file_offset == 5); - - expect(!lzma_index_iter_locate(&r, 5 + 11 - 1)); - expect(r.block.total_size == 40); - expect(r.block.uncompressed_size == 11); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 16 + 32); - expect(r.block.uncompressed_file_offset == 5); - - expect(lzma_index_iter_locate(&r, 5 + 11)); - expect(lzma_index_iter_locate(&r, 5 + 15)); - - // Large Index - lzma_index_end(i, NULL); - i = lzma_index_init(NULL); - expect(i != NULL); - lzma_index_iter_init(&r, i); - - for (size_t n = 4; n <= 4 * 5555; n += 4) - expect(lzma_index_append(i, NULL, n + 8, n) == LZMA_OK); - - expect(lzma_index_block_count(i) == 5555); - - // First Record - expect(!lzma_index_iter_locate(&r, 0)); - expect(r.block.total_size == 4 + 8); - expect(r.block.uncompressed_size == 4); - expect(r.block.compressed_file_offset == LZMA_STREAM_HEADER_SIZE); - expect(r.block.uncompressed_file_offset == 0); - - expect(!lzma_index_iter_locate(&r, 3)); - expect(r.block.total_size == 4 + 8); - expect(r.block.uncompressed_size == 4); - expect(r.block.compressed_file_offset == LZMA_STREAM_HEADER_SIZE); - expect(r.block.uncompressed_file_offset == 0); - - // Second Record - expect(!lzma_index_iter_locate(&r, 4)); - expect(r.block.total_size == 2 * 4 + 8); - expect(r.block.uncompressed_size == 2 * 4); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + 4 + 8); - expect(r.block.uncompressed_file_offset == 4); - - // Last Record - expect(!lzma_index_iter_locate( - &r, lzma_index_uncompressed_size(i) - 1)); - expect(r.block.total_size == 4 * 5555 + 8); - expect(r.block.uncompressed_size == 4 * 5555); - expect(r.block.compressed_file_offset == lzma_index_total_size(i) - + LZMA_STREAM_HEADER_SIZE - 4 * 5555 - 8); - expect(r.block.uncompressed_file_offset - == lzma_index_uncompressed_size(i) - 4 * 5555); - - // Allocation chunk boundaries. See INDEX_GROUP_SIZE in - // liblzma/common/index.c. - const size_t group_multiple = 256 * 4; - const size_t radius = 8; - const size_t start = group_multiple - radius; - lzma_vli ubase = 0; - lzma_vli tbase = 0; - size_t n; - for (n = 1; n < start; ++n) { - ubase += n * 4; - tbase += n * 4 + 8; - } - - while (n < start + 2 * radius) { - expect(!lzma_index_iter_locate(&r, ubase + n * 4)); - - expect(r.block.compressed_file_offset == tbase + n * 4 + 8 - + LZMA_STREAM_HEADER_SIZE); - expect(r.block.uncompressed_file_offset == ubase + n * 4); - - tbase += n * 4 + 8; - ubase += n * 4; - ++n; - - expect(r.block.total_size == n * 4 + 8); - expect(r.block.uncompressed_size == n * 4); - } - - // Do it also backwards. - while (n > start) { - expect(!lzma_index_iter_locate(&r, ubase + (n - 1) * 4)); - - expect(r.block.total_size == n * 4 + 8); - expect(r.block.uncompressed_size == n * 4); - - --n; - tbase -= n * 4 + 8; - ubase -= n * 4; - - expect(r.block.compressed_file_offset == tbase + n * 4 + 8 - + LZMA_STREAM_HEADER_SIZE); - expect(r.block.uncompressed_file_offset == ubase + n * 4); - } - - // Test locating in concatenated Index. - lzma_index_end(i, NULL); - i = lzma_index_init(NULL); - expect(i != NULL); - lzma_index_iter_init(&r, i); - for (n = 0; n < group_multiple; ++n) - expect(lzma_index_append(i, NULL, 8, 0) == LZMA_OK); - expect(lzma_index_append(i, NULL, 16, 1) == LZMA_OK); - expect(!lzma_index_iter_locate(&r, 0)); - expect(r.block.total_size == 16); - expect(r.block.uncompressed_size == 1); - expect(r.block.compressed_file_offset - == LZMA_STREAM_HEADER_SIZE + group_multiple * 8); - expect(r.block.uncompressed_file_offset == 0); - - lzma_index_end(i, NULL); -} - - -static void -test_corrupt(void) -{ - const size_t alloc_size = 128 * 1024; - uint8_t *buf = malloc(alloc_size); - expect(buf != NULL); - lzma_stream strm = LZMA_STREAM_INIT; - - lzma_index *i = create_empty(); - expect(lzma_index_append(i, NULL, 0, 1) == LZMA_PROG_ERROR); - lzma_index_end(i, NULL); - - // Create a valid Index and corrupt it in different ways. - i = create_small(); - expect(lzma_index_encoder(&strm, i) == LZMA_OK); - succeed(coder_loop(&strm, NULL, 0, buf, 20, - LZMA_STREAM_END, LZMA_RUN)); - lzma_index_end(i, NULL); - - // Wrong Index Indicator - buf[0] ^= 1; - expect(lzma_index_decoder(&strm, &i, MEMLIMIT) == LZMA_OK); - succeed(decoder_loop_ret(&strm, buf, 1, LZMA_DATA_ERROR)); - buf[0] ^= 1; - - // Wrong Number of Records and thus CRC32 fails. - --buf[1]; - expect(lzma_index_decoder(&strm, &i, MEMLIMIT) == LZMA_OK); - succeed(decoder_loop_ret(&strm, buf, 10, LZMA_DATA_ERROR)); - ++buf[1]; - - // Padding not NULs - buf[15] ^= 1; - expect(lzma_index_decoder(&strm, &i, MEMLIMIT) == LZMA_OK); - succeed(decoder_loop_ret(&strm, buf, 16, LZMA_DATA_ERROR)); - - lzma_end(&strm); - free(buf); -} - - -int -main(void) -{ - test_equal(); - - test_overflow(); - - lzma_index *i = create_empty(); - test_many(i); - lzma_index_end(i, NULL); - - i = create_small(); - test_many(i); - lzma_index_end(i, NULL); - - i = create_big(); - test_many(i); - lzma_index_end(i, NULL); - - test_cat(); - - test_locate(); - - test_corrupt(); - - return 0; -} diff --git a/Build/source/extra/xz/tests/test_scripts.sh b/Build/source/extra/xz/tests/test_scripts.sh deleted file mode 100755 index 293929e6195..00000000000 --- a/Build/source/extra/xz/tests/test_scripts.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh - -############################################################################### -# -# Author: Jonathan Nieder -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -# If scripts weren't built, this test is skipped. -XZ=../src/xz/xz -XZDIFF=../src/scripts/xzdiff -test -x "$XZ" || XZ= -test -x "$XZDIFF" || XZDIFF= -if test -z "$XZ" || test -z "$XZDIFF"; then - (exit 77) - exit 77 -fi - -PATH=`pwd`/../src/xz:$PATH -export PATH - -preimage=$srcdir/files/good-1-check-crc32.xz -samepostimage=$srcdir/files/good-1-check-crc64.xz -otherpostimage=$srcdir/files/good-1-lzma2-1.xz - -"$XZDIFF" "$preimage" "$samepostimage" >/dev/null -status=$? -if test "$status" != 0 ; then - echo "xzdiff with no changes exited with status $status != 0" - (exit 1) - exit 1 -fi - -"$XZDIFF" "$preimage" "$otherpostimage" >/dev/null -status=$? -if test "$status" != 1 ; then - echo "xzdiff with changes exited with status $status != 1" - (exit 1) - exit 1 -fi - -"$XZDIFF" "$preimage" "$srcdir/files/missing.xz" >/dev/null 2>&1 -status=$? -if test "$status" != 2 ; then - echo "xzdiff with missing operand exited with status $status != 2" - (exit 1) - exit 1 -fi - -(exit 0) -exit 0 diff --git a/Build/source/extra/xz/tests/test_stream_flags.c b/Build/source/extra/xz/tests/test_stream_flags.c deleted file mode 100644 index 9611459e1ba..00000000000 --- a/Build/source/extra/xz/tests/test_stream_flags.c +++ /dev/null @@ -1,180 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file test_stream_flags.c -/// \brief Tests Stream Header and Stream Footer coders -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#include "tests.h" - - -static lzma_stream_flags known_flags; -static lzma_stream_flags decoded_flags; -static uint8_t buffer[LZMA_STREAM_HEADER_SIZE]; - - -static bool -validate(void) -{ - // TODO: This could require the specific error type as an argument. - // We could also test that lzma_stream_flags_compare() gives - // the correct return values in different situations. - return lzma_stream_flags_compare(&known_flags, &decoded_flags) - != LZMA_OK; -} - - -static bool -test_header_decoder(lzma_ret expected_ret) -{ - memcrap(&decoded_flags, sizeof(decoded_flags)); - - if (lzma_stream_header_decode(&decoded_flags, buffer) != expected_ret) - return true; - - if (expected_ret != LZMA_OK) - return false; - - // Header doesn't have Backward Size, so make - // lzma_stream_flags_compare() ignore it. - decoded_flags.backward_size = LZMA_VLI_UNKNOWN; - return validate(); -} - - -static void -test_header(void) -{ - memcrap(buffer, sizeof(buffer)); - expect(lzma_stream_header_encode(&known_flags, buffer) == LZMA_OK); - succeed(test_header_decoder(LZMA_OK)); -} - - -static bool -test_footer_decoder(lzma_ret expected_ret) -{ - memcrap(&decoded_flags, sizeof(decoded_flags)); - - if (lzma_stream_footer_decode(&decoded_flags, buffer) != expected_ret) - return true; - - if (expected_ret != LZMA_OK) - return false; - - return validate(); -} - - -static void -test_footer(void) -{ - memcrap(buffer, sizeof(buffer)); - expect(lzma_stream_footer_encode(&known_flags, buffer) == LZMA_OK); - succeed(test_footer_decoder(LZMA_OK)); -} - - -static void -test_encode_invalid(void) -{ - known_flags.check = LZMA_CHECK_ID_MAX + 1; - known_flags.backward_size = 1024; - - expect(lzma_stream_header_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); - - expect(lzma_stream_footer_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); - - known_flags.check = (lzma_check)(-1); - - expect(lzma_stream_header_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); - - expect(lzma_stream_footer_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); - - known_flags.check = LZMA_CHECK_NONE; - known_flags.backward_size = 0; - - // Header encoder ignores backward_size. - expect(lzma_stream_header_encode(&known_flags, buffer) == LZMA_OK); - - expect(lzma_stream_footer_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); - - known_flags.backward_size = LZMA_VLI_MAX; - - expect(lzma_stream_header_encode(&known_flags, buffer) == LZMA_OK); - - expect(lzma_stream_footer_encode(&known_flags, buffer) - == LZMA_PROG_ERROR); -} - - -static void -test_decode_invalid(void) -{ - known_flags.check = LZMA_CHECK_NONE; - known_flags.backward_size = 1024; - - expect(lzma_stream_header_encode(&known_flags, buffer) == LZMA_OK); - - // Test 1 (invalid Magic Bytes) - buffer[5] ^= 1; - succeed(test_header_decoder(LZMA_FORMAT_ERROR)); - buffer[5] ^= 1; - - // Test 2a (valid CRC32) - uint32_t crc = lzma_crc32(buffer + 6, 2, 0); - unaligned_write32le(buffer + 8, crc); - succeed(test_header_decoder(LZMA_OK)); - - // Test 2b (invalid Stream Flags with valid CRC32) - buffer[6] ^= 0x20; - crc = lzma_crc32(buffer + 6, 2, 0); - unaligned_write32le(buffer + 8, crc); - succeed(test_header_decoder(LZMA_OPTIONS_ERROR)); - - // Test 3 (invalid CRC32) - expect(lzma_stream_header_encode(&known_flags, buffer) == LZMA_OK); - buffer[9] ^= 1; - succeed(test_header_decoder(LZMA_DATA_ERROR)); - - // Test 4 (invalid Stream Flags with valid CRC32) - expect(lzma_stream_footer_encode(&known_flags, buffer) == LZMA_OK); - buffer[9] ^= 0x40; - crc = lzma_crc32(buffer + 4, 6, 0); - unaligned_write32le(buffer, crc); - succeed(test_footer_decoder(LZMA_OPTIONS_ERROR)); - - // Test 5 (invalid Magic Bytes) - expect(lzma_stream_footer_encode(&known_flags, buffer) == LZMA_OK); - buffer[11] ^= 1; - succeed(test_footer_decoder(LZMA_FORMAT_ERROR)); -} - - -int -main(void) -{ - // Valid headers - known_flags.backward_size = 1024; - for (lzma_check check = LZMA_CHECK_NONE; - check <= LZMA_CHECK_ID_MAX; ++check) { - test_header(); - test_footer(); - } - - // Invalid headers - test_encode_invalid(); - test_decode_invalid(); - - return 0; -} diff --git a/Build/source/extra/xz/tests/tests.h b/Build/source/extra/xz/tests/tests.h deleted file mode 100644 index 8f3c745d8ec..00000000000 --- a/Build/source/extra/xz/tests/tests.h +++ /dev/null @@ -1,124 +0,0 @@ -/////////////////////////////////////////////////////////////////////////////// -// -/// \file tests.h -/// \brief Common definitions for test applications -// -// Author: Lasse Collin -// -// This file has been put into the public domain. -// You can do whatever you want with this file. -// -/////////////////////////////////////////////////////////////////////////////// - -#ifndef LZMA_TESTS_H -#define LZMA_TESTS_H - -#include "sysdefs.h" -#include "tuklib_integer.h" -#include "lzma.h" - -#include - -#define memcrap(buf, size) memset(buf, 0xFD, size) - -#define expect(test) ((test) ? 0 : (fprintf(stderr, "%s:%d: %s\n", \ - __FILE__, __LINE__, #test), abort(), 0)) - -#define succeed(test) expect(!(test)) - -#define fail(test) expect(test) - - -static inline const char * -lzma_ret_sym(lzma_ret ret) -{ - if ((unsigned int)(ret) > LZMA_PROG_ERROR) - return "UNKNOWN_ERROR"; - - static const char *msgs[] = { - "LZMA_OK", - "LZMA_STREAM_END", - "LZMA_NO_CHECK", - "LZMA_UNSUPPORTED_CHECK", - "LZMA_GET_CHECK", - "LZMA_MEM_ERROR", - "LZMA_MEMLIMIT_ERROR", - "LZMA_FORMAT_ERROR", - "LZMA_OPTIONS_ERROR", - "LZMA_DATA_ERROR", - "LZMA_BUF_ERROR", - "LZMA_PROG_ERROR" - }; - - return msgs[ret]; -} - - -static inline bool -coder_loop(lzma_stream *strm, uint8_t *in, size_t in_size, - uint8_t *out, size_t out_size, - lzma_ret expected_ret, lzma_action finishing_action) -{ - size_t in_left = in_size; - size_t out_left = out_size > 0 ? out_size + 1 : 0; - lzma_action action = LZMA_RUN; - lzma_ret ret; - - strm->next_in = NULL; - strm->avail_in = 0; - strm->next_out = NULL; - strm->avail_out = 0; - - while (true) { - if (in_left > 0) { - if (--in_left == 0) - action = finishing_action; - - strm->next_in = in++; - strm->avail_in = 1; - } - - if (out_left > 0) { - --out_left; - strm->next_out = out++; - strm->avail_out = 1; - } - - ret = lzma_code(strm, action); - if (ret != LZMA_OK) - break; - } - - bool error = false; - - if (ret != expected_ret) - error = true; - - if (expected_ret == LZMA_STREAM_END) { - if (strm->total_in != in_size || strm->total_out != out_size) - error = true; - } else { - if (strm->total_in != in_size || strm->total_out != out_size) - error = true; - } - - return error; -} - - -static inline bool -decoder_loop_ret(lzma_stream *strm, uint8_t *in, size_t in_size, - lzma_ret expected_ret) -{ - return coder_loop(strm, in, in_size, NULL, 0, expected_ret, LZMA_RUN); -} - - -static inline bool -decoder_loop(lzma_stream *strm, uint8_t *in, size_t in_size) -{ - return coder_loop(strm, in, in_size, NULL, 0, - LZMA_STREAM_END, LZMA_RUN); -} - -#endif diff --git a/Build/source/extra/xz/windows/INSTALL-Windows.txt b/Build/source/extra/xz/windows/INSTALL-Windows.txt deleted file mode 100644 index bb4a4d6625c..00000000000 --- a/Build/source/extra/xz/windows/INSTALL-Windows.txt +++ /dev/null @@ -1,140 +0,0 @@ - -Building XZ Utils on Windows -============================ - -Introduction ------------- - - This document explains shortly where to get and how to install the - build tool that are needed to build XZ Utils on Windows. The final - binary package will be standalone in sense that it will depend only - on DLLs that are included in all Windows installations. - - These instructions don't apply to Cygwin. XZ Utils can be built under - Cygwin in the same way as many other packages. - - These instructions don't apply to MinGW and MSYS developers either, - who may want to package XZ Utils for MinGW or MSYS distributions. - You know who you are, and will probably use quite different configure - options etc. than what is described here. - - -Installing the toolchain(s) ---------------------------- - - Some of the following is needed: - - MSYS is always needed to use the GNU Autotools based build system. - - MinGW builds 32-bit x86 binaries. - - MingW-w32 builds 32-bit x86 executables too. - - MinGW-w64 builds 64-bit x86-64 binaries. - - So you need to pick between MinGW and MinGW-w32 when building - 32-bit version. You don't need both. - - You might find 7-Zip handy when extracting - some files (especially the .tar.lzma files). The ready-made - build script will also use 7-Zip to create the distributable - .zip and .7z files. - - I used the following directory structure but you can use whatever - you want. Just note that I will use these in my examples. Each of - these should have a subdirectory "bin": - - C:\devel\tools\msys - C:\devel\tools\mingw - C:\devel\tools\mingw-w32 - C:\devel\tools\mingw-w64 - - -Installing MSYS - - You can download MSYS from MinGW's Sourceforge page: - - http://sourceforge.net/projects/mingw/files/ - - It's under "MSYS Base System". I recommend using MSYS 1.0.11 - (MSYS-1.0.11.exe or msysCORE-1.0.11-bin.tar.gz) because that - package includes all the required tools. At least some of the - later versions include only a subset and thus you would need to - download the rest separately. The old version will work fine for - building XZ Utils. - - You can use either the .exe or .tar.gz package. I prefer .tar.gz, - because it can be extracted into any directory and later removed - without worrying about uninstallers. - - -Installing MinGW - - You can download the required packages from MinGW's Sourceforge page: - - http://sourceforge.net/projects/mingw/files/ - - These version numbers were the latest when I wrote this document, but - you probably should pick the latest versions: - - MinGW Runtime -> mingwrt-3.17-mingw32-dev.tar.gz - MinGW API for MS-Windows -> w32api-3.14-mingw32-dev.tar.gz - GNU Binutils -> binutils-2.20-1-bin.tar.gz - GCC Version 4 -> gcc-full-4.4.0-mingw32-bin-2.tar.lzma - - The full GCC package is quite big, but if you want a smaller - download, you will need to download more than one file, so I'm - using the full package in this document for simplicity. - - Extract the packages in the above order, possibly overwriting files - from packages that were extracted earlier. - - -Installing MinGW-w32 or MinGW-w64 - - You can find the latest MinGW-w32 and MinGW-w64 builds here: - - http://sourceforge.net/projects/mingw-w64/files/ - - Locate the appropriate files: - - Toolchains targeting Win32 -> mingw-w32-*-mingw*.zip - Toolchains targeting Win64 -> mingw-w64-*-mingw*.zip - - I don't know what is the most recommended one. I used sezero's - versions from "Personal Builds", since they seemed to have - a stable GCC (judging from the GCC version number only). - - If you will install both MinGW-w32 and MinGW-w64, remember to - extract them into different directories. - - -Building XZ Utils ------------------ - - Start MSYS by going to the directory C:\devel\tools\msys and running - msys.bat there (double-click or use command prompt). It will start - at "home" directory, which is C:\devel\tools\msys\home\YourUserName. - - If you have xz-5.x.x.tar.gz in C:\devel, you should be able to build - it now with the following commands: - - cd /c/devel - tar xzf xz-5.x.x.tar.gz - cd xz-5.x.x - bash windows/build.bash - - If you used some other directory than C:\devel\tools for the build - tools, edit the variables near the beginning of build.bash first. - - If you want to build manually, read the buildit() function in - build.bash. Look especially at the latter configure invocation. - - Be patient. Running configure and other scripts used by the build - system is (very) slow under Windows. - - -Using a snapshot from the Git repository - - To use a snapshot, the build system files need to be generated with - autogen.sh or "autoreconf -fi" before trying to build using the - above build instructions. You can install the relevant extra packages - from MinGW or use Cygwin or use e.g. a GNU/Linux system to create a - source package with the required build system files. - diff --git a/Build/source/extra/xz/windows/README-Windows.txt b/Build/source/extra/xz/windows/README-Windows.txt deleted file mode 100644 index 72c5a988bbc..00000000000 --- a/Build/source/extra/xz/windows/README-Windows.txt +++ /dev/null @@ -1,120 +0,0 @@ - -XZ Utils for Windows -==================== - -Introduction ------------- - - This package includes command line tools (xz.exe and a few others) - and the liblzma compression library from XZ Utils. You can find the - latest version and full source code from . - - The parts of the XZ Utils source code, that are relevant to this - binary package, are in the public domain. XZ Utils have been built - for this package with MinGW-w64 and linked statically against its - runtime libraries. See COPYING-Windows.txt for the copyright and - license information that applies to the MinGW-w64 runtime. You must - include it when redistributing these XZ Utils binaries. - - -Package contents ----------------- - - All executables and libraries in this package require msvcrt.dll. - It's included in all recent Windows versions. On Windows 95 it - might be missing, but once you get it somewhere, XZ Utils should - run even on Windows 95. - - There are two different versions of the executable and library files. - There is one directory for each type of binaries: - - bin_i486 32-bit x86 (i486 and up), Windows 95 and later - bin_x86-64 64-bit x86-64, Windows XP and later - - Each of the above directories have the following files: - - *.exe Command line tools. (It's useless to double-click - these; use the command prompt instead.) These have - been linked statically against liblzma, so they - don't require liblzma.dll. Thus, you can copy e.g. - xz.exe to a directory that is in PATH without copying - any other files from this package. - - liblzma.dll Shared version of the liblzma compression library. - This file is mostly useful to developers, although - some non-developers might use it to upgrade their - copy of liblzma. - - liblzma.a Static version of the liblzma compression library. - This file is useful only for developers. - - The rest of the directories contain architecture-independent files: - - doc Documentation in the plain text (TXT) format. The - manuals of the command line tools are provided also - in the PDF format. liblzma.def is in this directory - too. - - include C header files for liblzma. These should be - compatible with most C and C++ compilers. If you - have problems, try to fix it and send your fixes - upstream, or at least report a bug, thanks. - - -Linking against liblzma ------------------------ - -MinGW - - If you use MinGW, linking against liblzma.dll or liblzma.a should - be straightforward. You don't need an import library to link - against liblzma.dll, and for static linking, you don't need to - worry about the LZMA_API_STATIC macro. - - Note that the MinGW distribution includes liblzma. If you are - building packages that will be part of the MinGW distribution, you - probably should use the version of liblzma shipped in MinGW instead - of this package. - - -Microsoft Visual C++ - - To link against liblzma.dll, you need to create an import library - first. You need the "lib" command from MSVC and liblzma.def from - the "doc" directory of this package. Here is the command that works - on 32-bit x86: - - lib /def:liblzma.def /out:liblzma.lib /machine:ix86 - - On x86-64, the /machine argument has to naturally be changed: - - lib /def:liblzma.def /out:liblzma.lib /machine:x64 - - Linking against static liblzma might work too, but usually you - should use liblzma.dll if possible. (Or, if having a decompressor - is enough, consider using XZ Embedded or LZMA SDK which can be - compiled with MSVC.) - - To try linking against static liblzma, rename liblzma.a to e.g. - liblzma_static.lib and tell MSVC to link against it. You also need - to tell lzma.h to not use __declspec(dllimport) by defining the - macro LZMA_API_STATIC. You can do it either in the C/C++ code - - #define LZMA_API_STATIC - #include - - or by adding it to compiler options. - - -Other compilers - - If you are using some other compiler, see its documentation how to - create an import library (if it is needed). If it is simple, I - might consider including the instructions here. - - -Reporting bugs --------------- - - Report bugs to (in English or Finnish). - diff --git a/Build/source/extra/xz/windows/build.bash b/Build/source/extra/xz/windows/build.bash deleted file mode 100644 index c5cf2b31242..00000000000 --- a/Build/source/extra/xz/windows/build.bash +++ /dev/null @@ -1,203 +0,0 @@ -#!/bin/bash -# -############################################################################### -# -# Build a binary package on Windows with MinGW and MSYS -# -# Set the paths where MinGW, Mingw-w32, or MinGW-w64 are installed. If both -# MinGW and MinGW-w32 are specified, MinGW-w32 will be used. If there is no -# 32-bit or 64-bit compiler at all, it is simply skipped. -# -# Optionally, 7-Zip is used to create the final .zip and .7z packages. -# If you have installed it in the default directory, this script should -# find it automatically. Otherwise adjust the path manually. -# -# If you want to use a cross-compiler e.g. on GNU/Linux, this script won't -# work out of the box. You need to omit "make check" commands and replace -# u2d with some other tool to convert newlines from LF to CR+LF. You will -# also need to pass the --host option to configure. -# -############################################################################### -# -# Author: Lasse Collin -# -# This file has been put into the public domain. -# You can do whatever you want with this file. -# -############################################################################### - -MINGW_DIR=/c/devel/tools/mingw -MINGW_W32_DIR=/c/devel/tools/mingw-w32 -MINGW_W64_DIR=/c/devel/tools/mingw-w64 - -for SEVENZ_EXE in "$PROGRAMW6432/7-Zip/7z.exe" "$PROGRAMFILES/7-Zip/7z.exe" \ - "/c/Program Files/7-Zip/7z.exe" -do - [ -x "$SEVENZ_EXE" ] && break -done - - -# Abort immediately if something goes wrong. -set -e - -# White spaces in directory names may break things so catch them immediately. -case $(pwd) in - ' ' | ' ' | ' -') echo "Error: White space in the directory name" >&2; exit 1 ;; -esac - -# This script can be run either at the top-level directory of the package -# or in the same directory containing this script. -if [ ! -f windows/build.bash ]; then - cd .. - if [ ! -f windows/build.bash ]; then - echo "You are in a wrong directory." >&2 - exit 1 - fi -fi - -# Run configure and copy the binaries to the given directory. -# -# The first argument is the directory where to copy the binaries. -# The rest of the arguments are passed to configure. -buildit() -{ - DESTDIR=$1 - BUILD=$2 - CFLAGS=$3 - - # Clean up if it was already configured. - [ -f Makefile ] && make distclean - - # Build the size-optimized binaries. Note that I don't want to - # provide size-optimized liblzma (shared nor static), because - # that isn't thread-safe now, and depending on bunch of things, - # maybe it will never be on Windows (pthreads-win32 helps but - # static liblzma might bit a bit tricky with it). - ./configure \ - --prefix= \ - --disable-nls \ - --disable-scripts \ - --disable-threads \ - --disable-shared \ - --enable-small \ - --build="$BUILD" \ - CFLAGS="$CFLAGS -Os" - make check - - mkdir -pv "$DESTDIR" - cp -v src/xzdec/{xz,lzma}dec.exe src/lzmainfo/lzmainfo.exe "$DESTDIR" - - make distclean - - # Build the normal speed-optimized binaries. Note that while - # --disable-threads has been documented to make some things - # thread-unsafe, it's not actually true with this combination - # of configure flags in XZ Utils 5.0.x. Things can (and probably - # will) change after 5.0.x, and this script will be updated too. - ./configure \ - --prefix= \ - --disable-nls \ - --disable-scripts \ - --disable-threads \ - --build="$BUILD" \ - CFLAGS="$CFLAGS -O2" - make -C src/liblzma - make -C src/xz LDFLAGS=-static - make -C tests check - - cp -v src/xz/xz.exe src/liblzma/.libs/liblzma.a "$DESTDIR" - cp -v src/liblzma/.libs/liblzma-*.dll "$DESTDIR/liblzma.dll" - - strip -v "$DESTDIR/"*.{exe,dll} - strip -vg "$DESTDIR/"*.a -} - -# Copy files and convert newlines from LF to CR+LF. Optinally add a suffix -# to the destination filename. -# -# The first argument is the destination directory. The second argument is -# the suffix to append to the filenames; use empty string if no extra suffix -# is wanted. The rest of the arguments are actual the filenames. -txtcp() -{ - DESTDIR=$1 - SUFFIX=$2 - shift 2 - for SRCFILE; do - DESTFILE="$DESTDIR/${SRCFILE##*/}$SUFFIX" - echo "Converting \`$SRCFILE' -> \`$DESTFILE'" - u2d < "$SRCFILE" > "$DESTFILE" - done -} - -# FIXME: Make sure that we don't get i686 or i586 code from the runtime. -# Actually i586 would be fine, but i686 probably not if the idea is to -# support even Win95. -# -# FIXME: Using i486 in the configure triplet may be wrong. -if [ -d "$MINGW_W32_DIR" ]; then - # 32-bit x86, Win95 or later, using MinGW-w32 - PATH=$MINGW_W32_DIR/bin:$MINGW_W32_DIR/i686-w64-mingw32/bin:$PATH \ - buildit \ - pkg/bin_i486 \ - i486-w64-mingw32 \ - '-march=i486 -mtune=generic' -elif [ -d "$MINGW_DIR" ]; then - # 32-bit x86, Win95 or later, using MinGW - PATH=$MINGW_DIR/bin:$PATH \ - buildit \ - pkg/bin_i486 \ - i486-pc-mingw32 \ - '-march=i486 -mtune=generic' -fi - -if [ -d "$MINGW_W64_DIR" ]; then - # 64-bit x86, WinXP or later, using MinGW-w64 - PATH=$MINGW_W64_DIR/bin:$MINGW_W64_DIR/x86_64-w64-mingw32/bin:$PATH \ - buildit \ - pkg/bin_x86-64 \ - x86_64-w64-mingw32 \ - '-march=x86-64 -mtune=generic' -fi - -# Copy the headers, the .def file, and the docs. -# They are the same for all architectures and builds. -mkdir -pv pkg/{include/lzma,doc/{manuals,examples}} -txtcp pkg/include "" src/liblzma/api/lzma.h -txtcp pkg/include/lzma "" src/liblzma/api/lzma/*.h -txtcp pkg/doc "" src/liblzma/liblzma.def -txtcp pkg/doc .txt AUTHORS COPYING NEWS README THANKS TODO -txtcp pkg/doc "" doc/*.txt windows/README-Windows.txt -txtcp pkg/doc/manuals "" doc/man/txt/{xz,xzdec,lzmainfo}.txt -cp -v doc/man/pdf-*/{xz,xzdec,lzmainfo}-*.pdf pkg/doc/manuals -txtcp pkg/doc/examples "" doc/examples/* - -if [ -f windows/COPYING-Windows.txt ]; then - txtcp pkg/doc "" windows/COPYING-Windows.txt -fi - -# Create the package. This requires 7z.exe from 7-Zip. If it wasn't found, -# this step is skipped and you have to zip it yourself. -VER=$(sh build-aux/version.sh) -cd pkg -if [ -x "$SEVENZ_EXE" ]; then - "$SEVENZ_EXE" a -tzip ../xz-$VER-windows.zip * - "$SEVENZ_EXE" a ../xz-$VER-windows.7z * -else - echo - echo "NOTE: 7z.exe was not found. xz-$VER-windows.zip" - echo " and xz-$VER-windows.7z were not created." - echo " You can create them yourself from the pkg directory." -fi - -if [ ! -f ../windows/COPYING-Windows.txt ]; then - echo - echo "NOTE: windows/COPYING-Windows.txt doesn't exists." - echo " MinGW(-w64) runtime copyright information" - echo " is not included in the package." -fi - -echo -echo "Build completed successfully." -echo -- cgit v1.2.3