summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/source/extra/xz/ChangeLog255
-rw-r--r--Build/source/extra/xz/INSTALL23
-rw-r--r--Build/source/extra/xz/NEWS36
-rw-r--r--Build/source/extra/xz/THANKS6
-rwxr-xr-xBuild/source/extra/xz/build-aux/config.guess222
-rwxr-xr-xBuild/source/extra/xz/build-aux/config.sub159
-rwxr-xr-xBuild/source/extra/xz/build-aux/depcomp72
-rwxr-xr-xBuild/source/extra/xz/configure32
-rw-r--r--Build/source/extra/xz/configure.ac2
-rw-r--r--Build/source/extra/xz/doc/lzma-file-format.txt4
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdfbin4416 -> 4416 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdfbin73968 -> 73953 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdfbin6668 -> 6668 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdfbin4300 -> 4300 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdfbin4486 -> 4486 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdfbin4395 -> 4395 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdfbin4272 -> 4272 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdfbin4407 -> 4407 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdfbin75192 -> 75191 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdfbin6658 -> 6658 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdfbin4331 -> 4331 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdfbin4506 -> 4506 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdfbin4382 -> 4382 bytes
-rw-r--r--Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdfbin4276 -> 4276 bytes
-rw-r--r--Build/source/extra/xz/doc/man/txt/xz.txt8
-rw-r--r--Build/source/extra/xz/po/LINGUAS1
-rw-r--r--Build/source/extra/xz/po/cs.gmobin21945 -> 21945 bytes
-rw-r--r--Build/source/extra/xz/po/cs.po91
-rw-r--r--Build/source/extra/xz/po/de.gmobin22063 -> 22063 bytes
-rw-r--r--Build/source/extra/xz/po/de.po91
-rw-r--r--Build/source/extra/xz/po/fr.gmobin0 -> 22258 bytes
-rw-r--r--Build/source/extra/xz/po/fr.po858
-rw-r--r--Build/source/extra/xz/po/it.gmobin21981 -> 21981 bytes
-rw-r--r--Build/source/extra/xz/po/it.po91
-rw-r--r--Build/source/extra/xz/po/pl.gmobin21658 -> 21658 bytes
-rw-r--r--Build/source/extra/xz/po/pl.po91
-rw-r--r--Build/source/extra/xz/po/xz.pot91
-rw-r--r--Build/source/extra/xz/src/liblzma/Makefile.am2
-rw-r--r--Build/source/extra/xz/src/liblzma/Makefile.in2
-rw-r--r--Build/source/extra/xz/src/liblzma/api/lzma/block.h1
-rw-r--r--Build/source/extra/xz/src/liblzma/api/lzma/container.h12
-rw-r--r--Build/source/extra/xz/src/liblzma/api/lzma/filter.h8
-rw-r--r--Build/source/extra/xz/src/liblzma/api/lzma/subblock.h200
-rw-r--r--Build/source/extra/xz/src/liblzma/api/lzma/version.h2
-rw-r--r--Build/source/extra/xz/src/liblzma/common/alone_decoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/common/alone_encoder.c4
-rw-r--r--Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c18
-rw-r--r--Build/source/extra/xz/src/liblzma/common/block_encoder.c7
-rw-r--r--Build/source/extra/xz/src/liblzma/common/common.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/common/common.h2
-rw-r--r--Build/source/extra/xz/src/liblzma/common/filter_common.c6
-rw-r--r--Build/source/extra/xz/src/liblzma/common/index_decoder.c9
-rw-r--r--Build/source/extra/xz/src/liblzma/common/index_encoder.c11
-rw-r--r--Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c23
-rw-r--r--Build/source/extra/xz/src/liblzma/common/stream_encoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/delta/delta_encoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/lz/lz_decoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/lz/lz_encoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/arm.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/armthumb.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/ia64.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/powerpc.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/simple_coder.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/simple/sparc.c2
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/Makefile.inc20
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c630
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h22
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c70
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h29
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c984
-rw-r--r--Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h21
-rw-r--r--Build/source/extra/xz/src/lzmainfo/lzmainfo.c4
-rw-r--r--Build/source/extra/xz/src/scripts/xzgrep.in4
-rw-r--r--Build/source/extra/xz/src/xz/coder.c2
-rw-r--r--Build/source/extra/xz/src/xz/file_io.c2
-rw-r--r--Build/source/extra/xz/src/xz/hardware.h2
-rw-r--r--Build/source/extra/xz/src/xz/message.c8
-rw-r--r--Build/source/extra/xz/src/xz/message.h18
-rw-r--r--Build/source/extra/xz/src/xz/options.c6
-rw-r--r--Build/source/extra/xz/src/xz/signals.c2
-rw-r--r--Build/source/extra/xz/src/xz/util.h6
-rw-r--r--Build/source/extra/xz/src/xz/xz.12
-rw-r--r--Build/source/extra/xz/src/xzdec/xzdec.c6
-rw-r--r--Build/source/extra/xz/version.sh24
-rw-r--r--Build/source/extra/xz/windows/INSTALL-Windows.txt2
-rw-r--r--Build/source/extra/xz/windows/build.sh188
87 files changed, 1723 insertions, 2795 deletions
diff --git a/Build/source/extra/xz/ChangeLog b/Build/source/extra/xz/ChangeLog
index 590e8e91f94..8f60c9e2af0 100644
--- a/Build/source/extra/xz/ChangeLog
+++ b/Build/source/extra/xz/ChangeLog
@@ -1,3 +1,258 @@
+commit e32cb264ea72a4459810f30abad70dae5a4fa17d
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 <lasse.collin@tukaani.org>
+Date: 2011-05-21 16:56:53 +0300
+
+ Update NEWS for 5.0.3.
+
+ NEWS | 36 ++++++++++++++++++++++++++++++++++--
+ 1 files changed, 34 insertions(+), 2 deletions(-)
+
+commit 316c67ffdae1f811ac95e838d5290a013bff4ca7
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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(+), 0 deletions(-)
+
+commit 1931175eea6d09c0845d6e8e334a7333647f11c0
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 5 insertions(+), 1 deletions(-)
+
+commit 841dc1f891b48b23f84c0f0e0c86c7c4e4bdcdf5
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2011-05-17 12:26:28 +0300
+
+ Update THANKS.
+
+ THANKS | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+commit 0f7e2d36240ebf1159d5fb85d8cd7422337a0d3f
+Author: Lasse Collin <lasse.collin@tukaani.org>
+Date: 2011-05-17 12:21:33 +0300
+
+ Update INSTALL with a note about linker problem on OpenSolaris x86.
+
+ INSTALL | 23 +++++++++++++++++------
+ 1 files changed, 17 insertions(+), 6 deletions(-)
+
+commit 793d857e01e1725f16fc0c8af8172c91a9e38617
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 1 insertions(+), 1 deletions(-)
+
+commit afcff45cee04c5c7d9c333504046ffb63d1418b5
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 <lasse.collin@tukaani.org>
+Date: 2011-04-18 19:35:49 +0300
+
+ Update THANKS.
+
+ THANKS | 2 ++
+ 1 files changed, 2 insertions(+), 0 deletions(-)
+
+commit 5e3499059515033d1ce44b6fb0fa49183c7ac633
+Author: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
+Date: 2011-04-15 04:54:49 -0400
+
+ xzgrep: fix typo in $0 parsing
+
+ Reported-by: Diego Elio Pettenò <flameeyes@gentoo.org>
+ Signed-off-by: Martin Väth <vaeth@mathematik.uni-wuerzburg.de>
+ Signed-off-by: Mike Frysinger <vapier@gentoo.org>
+
+ src/scripts/xzgrep.in | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 1125611b9b8d4a209b6a73d2c76e1b39c065972a
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 <lasse.collin@tukaani.org>
+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 files changed, 9 insertions(+), 0 deletions(-)
+
+commit 320d734c20d0776e3eb80f6b5984ddeb494715b5
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 6 insertions(+), 2 deletions(-)
+
+commit 2ee4edeffc8d9734bf68230df31b20ac6a94c9b5
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 13 insertions(+), 7 deletions(-)
+
+commit 73f56fb87d54091d0c4fd22d70e6f042902e3b63
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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(+), 0 deletions(-)
+
+commit 4ce1cf97a88ae1640a380dd19cbc255d729f966b
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 <lasse.collin@tukaani.org>
+Date: 2011-04-09 18:29:30 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+commit 28154eeaf6e3442cd1e174f4e81266d60c4dac60
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 3 insertions(+), 3 deletions(-)
+
+commit aa95516d3d509c6b7895ee519004afcf500a0759
+Author: Lasse Collin <lasse.collin@tukaani.org>
+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 files changed, 1 insertions(+), 1 deletions(-)
+
commit 58f52c72f49562a08042da9a2f4bbdf4dd162d0c
Author: Lasse Collin <lasse.collin@tukaani.org>
Date: 2011-04-01 08:47:46 +0300
diff --git a/Build/source/extra/xz/INSTALL b/Build/source/extra/xz/INSTALL
index 9a3dd9ccb9a..992f9073b34 100644
--- a/Build/source/extra/xz/INSTALL
+++ b/Build/source/extra/xz/INSTALL
@@ -9,9 +9,10 @@ XZ Utils Installation
1.2.1. IRIX
1.2.2. MINIX 3
1.2.3. OpenVMS
- 1.2.4. Tru64
- 1.2.5. Windows
- 1.2.6. DOS
+ 1.2.4. Solaris, OpenSolaris, and derivatives
+ 1.2.5. Tru64
+ 1.2.6. Windows
+ 1.2.7. DOS
1.3. Adding support for new platforms
2. configure options
2.1. Static vs. dynamic linking of liblzma
@@ -100,14 +101,24 @@ XZ Utils Installation
http://nchrem.tnw.tudelft.nl/openvms/software2.html#xzutils
-1.2.4. Tru64
+1.2.4. 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.5. 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.5. Windows
+1.2.6. Windows
Building XZ Utils on Windows is supported under MinGW + MSYS,
MinGW-w64 + MSYS, and Cygwin. There is windows/build.bash to
@@ -127,7 +138,7 @@ XZ Utils Installation
windows/README-Windows.txt for details.
-1.2.6. DOS
+1.2.7. 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
diff --git a/Build/source/extra/xz/NEWS b/Build/source/extra/xz/NEWS
index 10634f00e88..e3ea4989440 100644
--- a/Build/source/extra/xz/NEWS
+++ b/Build/source/extra/xz/NEWS
@@ -1,6 +1,38 @@
-XZ Utils User-Visible Changes
-=============================
+XZ Utils Release Notes
+======================
+
+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)
diff --git a/Build/source/extra/xz/THANKS b/Build/source/extra/xz/THANKS
index 7afe415bebf..70303e0a1be 100644
--- a/Build/source/extra/xz/THANKS
+++ b/Build/source/extra/xz/THANKS
@@ -12,6 +12,7 @@ has been important. :-) In alphabetical order:
- Emmanuel Blot
- Martin Blumenstingl
- Jakub Bogusz
+ - Maarten Bosmans
- Trent W. Buck
- David Burklund
- Daniel Mealha Cabrita
@@ -24,6 +25,7 @@ has been important. :-) In alphabetical order:
- Gilles Espinasse
- Denis Excoffier
- Mike Frysinger
+ - Jason Gorski
- Juan Manuel Guerrero
- Joachim Henke
- Peter Ivanov
@@ -36,6 +38,7 @@ has been important. :-) In alphabetical order:
- Peter Lawler
- Hin-Tak Leung
- Andraž 'ruskie' Levstik
+ - Wim Lewis
- Lorenzo De Liso
- Gregory Margo
- Jim Meyering
@@ -46,6 +49,7 @@ has been important. :-) In alphabetical order:
- Andre Noll
- Peter O'Gorman
- Igor Pavlov
+ - Diego Elio Pettenò
- Elbert Pol
- Mikko Pouru
- Robert Readman
@@ -58,10 +62,12 @@ has been important. :-) In alphabetical order:
- 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
diff --git a/Build/source/extra/xz/build-aux/config.guess b/Build/source/extra/xz/build-aux/config.guess
index 40eaed4821e..dc84c68ef79 100755
--- a/Build/source/extra/xz/build-aux/config.guess
+++ b/Build/source/extra/xz/build-aux/config.guess
@@ -1,10 +1,10 @@
#! /bin/sh
# Attempt to guess a canonical system name.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
-timestamp='2011-05-11'
+timestamp='2009-11-20'
# 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
@@ -56,9 +56,8 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -181,7 +180,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
fi
;;
*)
- os=netbsd
+ os=netbsd
;;
esac
# The OS release
@@ -224,7 +223,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -270,10 +269,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# 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 ;;
+ exit ;;
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
@@ -299,7 +295,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
- echo powerpc-ibm-os400
+ echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
@@ -398,23 +394,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# 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}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
- exit ;;
+ exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
- echo m68k-atari-mint${UNAME_RELEASE}
+ echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
- echo m68k-milan-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
- echo m68k-hades-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
- echo m68k-unknown-mint${UNAME_RELEASE}
- exit ;;
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
@@ -484,8 +480,8 @@ EOF
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
- # DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ # 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 ] || \
@@ -498,7 +494,7 @@ EOF
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
@@ -555,7 +551,7 @@ EOF
echo rs6000-ibm-aix3.2
fi
exit ;;
- *:AIX:*:[4567])
+ *:AIX:*:[456])
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
@@ -598,52 +594,52 @@ EOF
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" ;;
+ 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
+ esac ;;
+ esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
+ sed 's/^ //' << EOF >$dummy.c
- #define _HPUX_SOURCE
- #include <stdlib.h>
- #include <unistd.h>
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
- int main ()
- {
- #if defined(_SC_KERNEL_BITS)
- long bits = sysconf(_SC_KERNEL_BITS);
- #endif
- long cpu = sysconf (_SC_CPU_VERSION);
+ 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);
- }
+ 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
@@ -734,22 +730,22 @@ EOF
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
- exit ;;
+ exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
- exit ;;
+ exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
- exit ;;
+ exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
- exit ;;
+ exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
- exit ;;
+ exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
@@ -773,14 +769,14 @@ EOF
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 ;;
+ 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}"
+ 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}
@@ -808,14 +804,14 @@ EOF
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:windows32*:*)
- # uname -m includes "-pc" on this system.
- echo ${UNAME_MACHINE}-mingw32
+ # 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
+ case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
@@ -870,7 +866,7 @@ EOF
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
- esac
+ esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -882,13 +878,7 @@ EOF
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
- if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
- | grep -q __ARM_PCS_VFP
- then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
- else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
- fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
fi
exit ;;
avr32*:Linux:*:*)
@@ -901,7 +891,7 @@ EOF
echo crisv32-axis-linux-gnu
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo frv-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
LIBC=gnu
@@ -969,7 +959,7 @@ EOF
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -977,9 +967,6 @@ EOF
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
- tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-tilera-linux-gnu
- exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
@@ -987,7 +974,7 @@ EOF
echo x86_64-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -996,11 +983,11 @@ EOF
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,
+ # 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.
+ # Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
@@ -1032,7 +1019,7 @@ EOF
fi
exit ;;
i*86:*:5:[678]*)
- # UnixWare 7.x, OpenUNIX and OpenServer 6.
+ # UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
@@ -1060,13 +1047,13 @@ EOF
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.
+ # 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 ;;
+ exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
@@ -1101,8 +1088,8 @@ EOF
/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; } ;;
+ /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 \
@@ -1145,10 +1132,10 @@ EOF
echo ns32k-sni-sysv
fi
exit ;;
- PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
- # says <Richard.M.Bartel@ccMail.Census.GOV>
- echo i586-unisys-sysv4
- exit ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes <hewes@openmarket.com>.
# How about differentiating between stratus architectures? -djm
@@ -1174,11 +1161,11 @@ EOF
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
- echo mips-nec-sysv${UNAME_RELEASE}
+ echo mips-nec-sysv${UNAME_RELEASE}
else
- echo mips-unknown-sysv${UNAME_RELEASE}
+ echo mips-unknown-sysv${UNAME_RELEASE}
fi
- exit ;;
+ exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
@@ -1243,9 +1230,6 @@ EOF
*: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 ;;
@@ -1291,13 +1275,13 @@ EOF
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
- echo mips-sei-seiux${UNAME_RELEASE}
+ 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`
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1337,11 +1321,11 @@ main ()
#include <sys/param.h>
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
- "4"
+ "4"
#else
- ""
+ ""
#endif
- ); exit (0);
+ ); exit (0);
#endif
#endif
diff --git a/Build/source/extra/xz/build-aux/config.sub b/Build/source/extra/xz/build-aux/config.sub
index 30fdca81215..2a55a50751c 100755
--- a/Build/source/extra/xz/build-aux/config.sub
+++ b/Build/source/extra/xz/build-aux/config.sub
@@ -1,10 +1,10 @@
#! /bin/sh
# Configuration validation subroutine script.
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+# Free Software Foundation, Inc.
-timestamp='2011-03-23'
+timestamp='2009-11-20'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
@@ -75,9 +75,8 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006, 2007, 2008 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."
@@ -124,9 +123,8 @@ esac
# 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-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
- knetbsd*-gnu* | netbsd*-gnu* | \
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \
+ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
@@ -158,8 +156,8 @@ case $os in
os=
basic_machine=$1
;;
- -bluegene*)
- os=-cnk
+ -bluegene*)
+ os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
@@ -175,10 +173,10 @@ case $os in
os=-chorusos
basic_machine=$1
;;
- -chorusrdb)
- os=-chorusrdb
+ -chorusrdb)
+ os=-chorusrdb
basic_machine=$1
- ;;
+ ;;
-hiux*)
os=-hiuxwe2
;;
@@ -283,13 +281,11 @@ case $basic_machine in
| moxie \
| mt \
| msp430 \
- | nds32 | nds32le | nds32be \
| nios | nios2 \
| ns16k | ns32k \
- | open8 \
| or32 \
| pdp10 | pdp11 | pj | pjl \
- | powerpc | powerpc64 | powerpc64le | powerpcle \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
| pyramid \
| rx \
| score \
@@ -297,24 +293,15 @@ case $basic_machine in
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
- | spu \
- | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
+ | spu | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
| ubicom32 \
| v850 | v850e \
| we32k \
- | x86 | xc16x | xstormy16 | xtensa \
+ | x86 | xc16x | xscale | xscalee[bl] | 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 | picochip)
# Motorola 68HC11/12.
basic_machine=$basic_machine-unknown
@@ -326,18 +313,6 @@ case $basic_machine in
basic_machine=mt-unknown
;;
- strongarm | thumb | xscale)
- basic_machine=arm-unknown
- ;;
-
- 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.
@@ -358,7 +333,7 @@ case $basic_machine in
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| bfin-* | bs2000-* \
- | c[123]* | c30-* | [cjt]90-* | c4x-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
@@ -392,28 +367,25 @@ case $basic_machine in
| mmix-* \
| mt-* \
| msp430-* \
- | nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* \
| none-* | np1-* | ns16k-* | ns32k-* \
- | open8-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
- | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
| pyramid-* \
| 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-* | tilegx-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | vax-* \
| we32k-* \
- | x86-* | x86_64-* | xc16x-* | xps100-* \
+ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
@@ -438,7 +410,7 @@ case $basic_machine in
basic_machine=a29k-amd
os=-udi
;;
- abacus)
+ abacus)
basic_machine=abacus-unknown
;;
adobe68k)
@@ -508,20 +480,11 @@ case $basic_machine in
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)
+ cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
@@ -553,7 +516,7 @@ case $basic_machine in
basic_machine=craynv-cray
os=-unicosmp
;;
- cr16 | cr16-*)
+ cr16)
basic_machine=cr16-unknown
os=-elf
;;
@@ -769,7 +732,7 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze)
basic_machine=microblaze-xilinx
;;
mingw32)
@@ -876,12 +839,6 @@ case $basic_machine in
np1)
basic_machine=np1-gould
;;
- neo-tandem)
- basic_machine=neo-tandem
- ;;
- nse-tandem)
- basic_machine=nse-tandem
- ;;
nsr-tandem)
basic_machine=nsr-tandem
;;
@@ -964,10 +921,9 @@ case $basic_machine in
;;
power) basic_machine=power-ibm
;;
- ppc | ppcbe) basic_machine=powerpc-unknown
+ ppc) basic_machine=powerpc-unknown
;;
- ppc-* | ppcbe-*)
- basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
@@ -1061,9 +1017,6 @@ case $basic_machine in
basic_machine=i860-stratus
os=-sysv4
;;
- strongarm-* | thumb-*)
- basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
- ;;
sun2)
basic_machine=m68000-sun
;;
@@ -1120,10 +1073,17 @@ case $basic_machine in
basic_machine=t90-cray
os=-unicos
;;
- # This must be matched before tile*.
- tilegx*)
- basic_machine=tilegx-unknown
- os=-linux-gnu
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
;;
tile*)
basic_machine=tile-unknown
@@ -1196,9 +1156,6 @@ case $basic_machine in
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
@@ -1296,11 +1253,11 @@ esac
if [ x"$os" != x"" ]
then
case $os in
- # First match some system type aliases
- # that might get confused with valid system types.
+ # 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
+ -auroraux)
+ os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
@@ -1337,8 +1294,7 @@ case $os in
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1385,7 +1341,7 @@ case $os in
-opened*)
os=-openedition
;;
- -os400*)
+ -os400*)
os=-os400
;;
-wince*)
@@ -1434,7 +1390,7 @@ case $os in
-sinix*)
os=-sysv4
;;
- -tpf*)
+ -tpf*)
os=-tpf
;;
-triton*)
@@ -1479,8 +1435,6 @@ case $os in
-dicos*)
os=-dicos
;;
- -nacl*)
- ;;
-none)
;;
*)
@@ -1503,10 +1457,10 @@ else
# system, and we'll never get to this point.
case $basic_machine in
- score-*)
+ score-*)
os=-elf
;;
- spu-*)
+ spu-*)
os=-elf
;;
*-acorn)
@@ -1518,17 +1472,8 @@ case $basic_machine in
arm*-semi)
os=-aout
;;
- c4x-* | tic4x-*)
- os=-coff
- ;;
- tic54x-*)
- os=-coff
- ;;
- tic55x-*)
- os=-coff
- ;;
- tic6x-*)
- os=-coff
+ c4x-* | tic4x-*)
+ os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
@@ -1555,7 +1500,7 @@ case $basic_machine in
m68*-cisco)
os=-aout
;;
- mep-*)
+ mep-*)
os=-elf
;;
mips*-cisco)
@@ -1582,7 +1527,7 @@ case $basic_machine in
*-ibm)
os=-aix
;;
- *-knuth)
+ *-knuth)
os=-mmixware
;;
*-wec)
diff --git a/Build/source/extra/xz/build-aux/depcomp b/Build/source/extra/xz/build-aux/depcomp
index 9825d56d746..df8eea7e4ce 100755
--- a/Build/source/extra/xz/build-aux/depcomp
+++ b/Build/source/extra/xz/build-aux/depcomp
@@ -1,10 +1,10 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2011-04-16.09; # UTC
+scriptversion=2009-04-28.21; # UTC
-# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007, 2009 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
@@ -90,18 +90,10 @@ 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'
+ 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
-
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
@@ -166,12 +158,10 @@ gcc)
' < "$tmpdepfile" |
## 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.
+## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
- sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \
- | sed -e 's/$/ :/' >> "$depfile"
+ sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
@@ -415,52 +405,6 @@ tru64)
rm -f "$tmpdepfile"
;;
-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" = 0; then :
- else
- 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/\(.*\)/ \1 \\/p
-s/.\(.*\) \\/\1:/
-H
-$ {
- s/.*/ /
- G
- p
-}' >> "$depfile"
- 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.
@@ -559,9 +503,7 @@ makedepend)
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"
+ cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
diff --git a/Build/source/extra/xz/configure b/Build/source/extra/xz/configure
index 5f58bd9ec68..4e339db47ef 100755
--- a/Build/source/extra/xz/configure
+++ b/Build/source/extra/xz/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.2.
+# Generated by GNU Autoconf 2.68 for XZ Utils 5.0.3.
#
# Report bugs to <lasse.collin@tukaani.org>.
#
@@ -570,8 +570,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='XZ Utils'
PACKAGE_TARNAME='xz'
-PACKAGE_VERSION='5.0.2'
-PACKAGE_STRING='XZ Utils 5.0.2'
+PACKAGE_VERSION='5.0.3'
+PACKAGE_STRING='XZ Utils 5.0.3'
PACKAGE_BUGREPORT='lasse.collin@tukaani.org'
PACKAGE_URL='http://tukaani.org/xz/'
@@ -1445,7 +1445,7 @@ 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.2 to adapt to many kinds of systems.
+\`configure' configures XZ Utils 5.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1515,7 +1515,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of XZ Utils 5.0.2:";;
+ short | recursive ) echo "Configuration of XZ Utils 5.0.3:";;
esac
cat <<\_ACEOF
@@ -1668,7 +1668,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-XZ Utils configure 5.0.2
+XZ Utils configure 5.0.3
generated by GNU Autoconf 2.68
Copyright (C) 2010 Free Software Foundation, Inc.
@@ -2499,7 +2499,7 @@ 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.2, which was
+It was created by XZ Utils $as_me 5.0.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
$ $0 $@
@@ -3636,15 +3636,9 @@ fi
-enable_check_lzma1=no
-enable_check_lzma2=no
-enable_check_delta=no
-enable_check_x86=no
-enable_check_powerpc=no
-enable_check_ia64=no
-enable_check_arm=no
-enable_check_armthumb=no
-enable_check_sparc=no
+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; }
@@ -4471,7 +4465,7 @@ fi
# Define the identity of the package.
PACKAGE='xz'
- VERSION='5.0.2'
+ VERSION='5.0.3'
cat >>confdefs.h <<_ACEOF
@@ -18355,7 +18349,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# 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.2, which was
+This file was extended by XZ Utils $as_me 5.0.3, which was
generated by GNU Autoconf 2.68. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18422,7 +18416,7 @@ _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.2
+XZ Utils config.status 5.0.3
configured by $0, generated by GNU Autoconf 2.68,
with options \\"\$ac_cs_config\\"
diff --git a/Build/source/extra/xz/configure.ac b/Build/source/extra/xz/configure.ac
index 35720fef5ce..39fd0ef4cf7 100644
--- a/Build/source/extra/xz/configure.ac
+++ b/Build/source/extra/xz/configure.ac
@@ -229,7 +229,7 @@ fi
m4_define([SUPPORTED_CHECKS], [crc32,crc64,sha256])
-m4_foreach([NAME], [SUPPORTED_FILTERS],
+m4_foreach([NAME], [SUPPORTED_CHECKS],
[enable_check_[]NAME=no
])dnl
diff --git a/Build/source/extra/xz/doc/lzma-file-format.txt b/Build/source/extra/xz/doc/lzma-file-format.txt
index 21fcb19fdcd..015b0fae628 100644
--- a/Build/source/extra/xz/doc/lzma-file-format.txt
+++ b/Build/source/extra/xz/doc/lzma-file-format.txt
@@ -40,7 +40,7 @@ The .lzma File Format
0.2. Changes
- Last modified: 2009-05-01 11:15+0300
+ Last modified: 2011-04-12 11:55+0300
1. File Format
@@ -161,6 +161,6 @@ The .lzma File Format
XZ Utils - The next generation of LZMA Utils
http://tukaani.org/xz/
- The .xz file format - The successor of the the .lzma format
+ 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
index c2880f37901..f45bf74e3f8 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/lzmainfo-a4.pdf
Binary files 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
index f57b03cbf8a..7b5f468d32b 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xz-a4.pdf
Binary files 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
index 5ce079b3ce1..1798c1e2707 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xzdec-a4.pdf
Binary files 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
index 5c4558a3ed1..a295a47c528 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xzdiff-a4.pdf
Binary files 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
index 0fcf79c0586..8bff7e901cc 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xzgrep-a4.pdf
Binary files 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
index 1df408e71f1..e2754dd9d58 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xzless-a4.pdf
Binary files 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
index 2655bdf7073..f2983858763 100644
--- a/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-a4/xzmore-a4.pdf
Binary files 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
index bde50e13a29..bbfd3f57629 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/lzmainfo-letter.pdf
Binary files 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
index 3c5fd40503e..6dc6df6f9ed 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xz-letter.pdf
Binary files 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
index d2cc85daa1d..860e03942eb 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xzdec-letter.pdf
Binary files 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
index 9f3011b9a5e..b4d95e8d967 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xzdiff-letter.pdf
Binary files 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
index 5d976c12e78..cb39bce16a1 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xzgrep-letter.pdf
Binary files 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
index da7e166bda2..1fde528f774 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xzless-letter.pdf
Binary files 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
index 720fc299a61..04a78175388 100644
--- a/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf
+++ b/Build/source/extra/xz/doc/man/pdf-letter/xzmore-letter.pdf
Binary files differ
diff --git a/Build/source/extra/xz/doc/man/txt/xz.txt b/Build/source/extra/xz/doc/man/txt/xz.txt
index bb5ffcf0473..e1518496dff 100644
--- a/Build/source/extra/xz/doc/man/txt/xz.txt
+++ b/Build/source/extra/xz/doc/man/txt/xz.txt
@@ -466,10 +466,10 @@ OPTIONS
--no-adjust
Display an error and exit if the compression settings exceed the
- the memory usage limit. The default is to adjust the settings
- downwards so that the memory usage limit is not exceeded. Auto-
- matic adjusting is always disabled when creating raw streams
- (--format=raw).
+ 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
diff --git a/Build/source/extra/xz/po/LINGUAS b/Build/source/extra/xz/po/LINGUAS
index 0f24f8e3c6a..6babcabd7d4 100644
--- a/Build/source/extra/xz/po/LINGUAS
+++ b/Build/source/extra/xz/po/LINGUAS
@@ -1,4 +1,5 @@
cs
de
+fr
it
pl
diff --git a/Build/source/extra/xz/po/cs.gmo b/Build/source/extra/xz/po/cs.gmo
index e97b00bf28c..e29106f4fe2 100644
--- a/Build/source/extra/xz/po/cs.gmo
+++ b/Build/source/extra/xz/po/cs.gmo
Binary files differ
diff --git a/Build/source/extra/xz/po/cs.po b/Build/source/extra/xz/po/cs.po
index 28292a1d257..02dc87ee64f 100644
--- a/Build/source/extra/xz/po/cs.po
+++ b/Build/source/extra/xz/po/cs.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2011-04-01 08:48+0300\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
"PO-Revision-Date: 2010-12-03 11:32+0100\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <diskuze@lists.l10n.cz>\n"
@@ -408,58 +408,67 @@ msgstr "Komprimace a dekomprimace s přepínačem --robot není zatím podporova
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ů"
-#: src/xz/message.c:792 src/xz/message.c:842
+#. 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:799
+#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Nelze ustanovit ovladač signálu"
-#: src/xz/message.c:808
+#: 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:811
+#: 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:818
+#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Dosaženo omezení použitelné paměti"
-#: src/xz/message.c:821
+#: src/xz/message.c:825
msgid "File format not recognized"
msgstr "Formát souboru nebyl rozpoznán"
-#: src/xz/message.c:824
+#: src/xz/message.c:828
msgid "Unsupported options"
msgstr "Nepodporovaná volba"
-#: src/xz/message.c:827
+#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "Komprimovaná data jsou poškozená"
-#: src/xz/message.c:830
+#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Neočekávaný konec vstupu"
-#: src/xz/message.c:881
+#: src/xz/message.c:885
#, 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:1048
+#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Omezující filtr: %s\n"
-#: src/xz/message.c:1058
+#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Zkuste „%s --help“ pro více informací"
-#: src/xz/message.c:1084
+#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -470,15 +479,15 @@ msgstr ""
"Komprimuje nebo dekomprimuje SOUBORy ve formátu xz.\n"
"\n"
-#: src/xz/message.c:1091
+#: src/xz/message.c:1095
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:1095
+#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr "Operační režim:\n"
-#: src/xz/message.c:1098
+#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -490,7 +499,7 @@ msgstr ""
" -t, --test testovat integritu komprimovaného souboru\n"
" -l, --list vypsat informace o souborech .xz"
-#: src/xz/message.c:1104
+#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
@@ -498,7 +507,7 @@ msgstr ""
"\n"
"Modifikátory operací:\n"
-#: src/xz/message.c:1107
+#: src/xz/message.c:1111
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
@@ -508,7 +517,7 @@ msgstr ""
" -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:1113
+#: src/xz/message.c:1117
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
@@ -524,7 +533,7 @@ msgstr ""
" 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:1121
+#: src/xz/message.c:1125
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -532,7 +541,7 @@ msgstr ""
"\n"
"Základní přepínače pro formát souboru a komprimaci:\n"
-#: src/xz/message.c:1123
+#: src/xz/message.c:1127
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
@@ -544,7 +553,7 @@ msgstr ""
" -C, --check=KONTROLA typ kontroly integrity: „none“ (používejte s rozmyslem),\n"
" „crc32“, „crc64“ (výchozí) nebo „sha256“"
-#: src/xz/message.c:1130
+#: src/xz/message.c:1134
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
@@ -552,7 +561,7 @@ 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:1134
+#: src/xz/message.c:1138
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
@@ -560,7 +569,7 @@ 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:1139
+#: src/xz/message.c:1143
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
@@ -576,7 +585,7 @@ msgstr ""
" dekomprimaci nebo obojí; LIMIT je v bajtech, % z paměti\n"
" RAM nebo 0 pro výchozí"
-#: src/xz/message.c:1146
+#: src/xz/message.c:1150
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
@@ -584,7 +593,7 @@ 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:1152
+#: src/xz/message.c:1156
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -592,7 +601,7 @@ msgstr ""
"\n"
"Vlastní omezující filtr pro komprimaci (alternativa k použití přednastavených):"
-#: src/xz/message.c:1161
+#: src/xz/message.c:1165
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
@@ -621,7 +630,7 @@ msgstr ""
" depth=POČ maximální hloubka prohledávání;\n"
" 0 = automaticky (výchozí)"
-#: src/xz/message.c:1176
+#: src/xz/message.c:1180
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -643,7 +652,7 @@ msgstr ""
" Platné volby pro všechny filtry BCJ:\n"
" start=POČ počáteční posun pro převody (výchozí=0)"
-#: src/xz/message.c:1188
+#: src/xz/message.c:1192
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -655,7 +664,7 @@ msgstr ""
" dist=POČ vzdálenost mezi bajty, které jsou odečítány\n"
" jeden od druhého (1 – 256; 1)"
-#: src/xz/message.c:1196
+#: src/xz/message.c:1200
msgid ""
"\n"
" Other options:\n"
@@ -663,7 +672,7 @@ msgstr ""
"\n"
" Ostatní přepínače:\n"
-#: src/xz/message.c:1199
+#: src/xz/message.c:1203
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
@@ -672,17 +681,17 @@ msgstr ""
" -v, --verbose podrobnější zprávy; zadáním dvakrát, budou ještě\n"
" podrobnější"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1208
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:1206
+#: src/xz/message.c:1210
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:1209
+#: src/xz/message.c:1213
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
@@ -690,7 +699,7 @@ 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:1212
+#: src/xz/message.c:1216
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
@@ -698,7 +707,7 @@ 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:1216
+#: src/xz/message.c:1220
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
@@ -706,11 +715,11 @@ 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:1221
+#: src/xz/message.c:1225
msgid " -V, --version display the version number and exit"
msgstr " -V, --version zobrazit číslo verze a skončit"
-#: src/xz/message.c:1223
+#: src/xz/message.c:1227
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -722,12 +731,12 @@ msgstr ""
#. 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:1229
+#: src/xz/message.c:1233
#, 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:1231
+#: src/xz/message.c:1235
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Domovská stránka %s: <%s>\n"
diff --git a/Build/source/extra/xz/po/de.gmo b/Build/source/extra/xz/po/de.gmo
index 64518da644b..50e41afce95 100644
--- a/Build/source/extra/xz/po/de.gmo
+++ b/Build/source/extra/xz/po/de.gmo
Binary files differ
diff --git a/Build/source/extra/xz/po/de.po b/Build/source/extra/xz/po/de.po
index a39903dc6fb..03612d11747 100644
--- a/Build/source/extra/xz/po/de.po
+++ b/Build/source/extra/xz/po/de.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: XZ Utils 4.999.9beta\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2011-04-01 08:48+0300\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
"PO-Revision-Date: 2010-09-07 20:27+0200\n"
"Last-Translator: <maan@systemlinux.org>\n"
"Language-Team: German\n"
@@ -405,58 +405,67 @@ msgstr "Kompression und Dekompression mit --robot ist noch nicht unterstützt."
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"
-#: src/xz/message.c:792 src/xz/message.c:842
+#. 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:799
+#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Kann Signal Routine nicht setzen"
-#: src/xz/message.c:808
+#: 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:811
+#: 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:818
+#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Speicher-Limit erreicht"
-#: src/xz/message.c:821
+#: src/xz/message.c:825
msgid "File format not recognized"
msgstr "Datei Format nicht erkannt"
-#: src/xz/message.c:824
+#: src/xz/message.c:828
msgid "Unsupported options"
msgstr "Optionen nicht unterstützt"
-#: src/xz/message.c:827
+#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "Komprimierte Daten sind korrupt"
-#: src/xz/message.c:830
+#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Unerwartetes Eingabe Ende"
-#: src/xz/message.c:881
+#: src/xz/message.c:885
#, 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:1048
+#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Filter Kette: %s\n"
-#: src/xz/message.c:1058
+#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Versuchen Sie `%s --help' für mehr Informationen."
-#: src/xz/message.c:1084
+#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -467,17 +476,17 @@ msgstr ""
"Komprimiert oder dekomprimiert .xz DATEI(EN).\n"
"\n"
-#: src/xz/message.c:1091
+#: src/xz/message.c:1095
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:1095
+#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr " Operationsmodus:\n"
-#: src/xz/message.c:1098
+#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -489,7 +498,7 @@ msgstr ""
" -t, --test überprüfe Datei Integrität\n"
" -l, --list liste Datei Informationen"
-#: src/xz/message.c:1104
+#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
@@ -497,7 +506,7 @@ msgstr ""
"\n"
" Operationsmodifikatoren:\n"
-#: src/xz/message.c:1107
+#: src/xz/message.c:1111
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
@@ -509,7 +518,7 @@ msgstr ""
" -c, --stdout schreibe nach Standard Output und lösche nicht die\n"
" Eingabedateien"
-#: src/xz/message.c:1113
+#: src/xz/message.c:1117
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
@@ -526,7 +535,7 @@ msgstr ""
" einem Zeilenumbruch voneinander getrennt werden\n"
" --files0=[DATEI] wie --files, aber benutze den Null Charakter als Trenner"
-#: src/xz/message.c:1121
+#: src/xz/message.c:1125
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -534,7 +543,7 @@ msgstr ""
"\n"
" Grundlegende Optionen für Dateiformat und Kompression:\n"
-#: src/xz/message.c:1123
+#: src/xz/message.c:1127
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
@@ -547,7 +556,7 @@ msgstr ""
" -C, --check=CHECK Typ des Integritätschecks: `none' (Vorsicht), `crc32',\n"
" `crc64' (Voreinstellung), oder `sha256'"
-#: src/xz/message.c:1130
+#: src/xz/message.c:1134
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
@@ -556,7 +565,7 @@ msgstr ""
" Sie den Speicherverbrauch des Komprimieres *und* des\n"
" Dekomprimierers, wenn Sie 7-9 benutzen!"
-#: src/xz/message.c:1134
+#: src/xz/message.c:1138
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
@@ -565,7 +574,7 @@ msgstr ""
" verhältnis zu verbessern. Das beeinflusst nicht den\n"
" Speicherbedarf des Dekomprimierers."
-#: src/xz/message.c:1139
+#: src/xz/message.c:1143
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
@@ -580,7 +589,7 @@ msgstr ""
" Dekompression, oder beides; LIMIT ist in bytes, % RAM,\n"
" oder 0 für Grundeinstellungen."
-#: src/xz/message.c:1146
+#: src/xz/message.c:1150
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
@@ -589,7 +598,7 @@ msgstr ""
" Nutzungslimit übersteigen, erzeuge einen Fehler statt\n"
" die Einstellungen nach unten anzupassen."
-#: src/xz/message.c:1152
+#: src/xz/message.c:1156
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -597,7 +606,7 @@ msgstr ""
"\n"
" User-definierte Filter Kette für Kompression (alternativ zu Voreinstellung):"
-#: src/xz/message.c:1161
+#: src/xz/message.c:1165
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
@@ -630,7 +639,7 @@ msgstr ""
" depth=NUM Maximale Suchtiefe; 0=automatisch\n"
" (Voreinstellung)"
-#: src/xz/message.c:1176
+#: src/xz/message.c:1180
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -653,7 +662,7 @@ msgstr ""
" start=NUM Start-Offset für Konversion\n"
" (Voreinstellung=0)"
-#: src/xz/message.c:1188
+#: src/xz/message.c:1192
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -666,7 +675,7 @@ msgstr ""
" dist=NUM Abstand zwischen den Bytes, die voneinander\n"
" subtrahiert werden (1-256; 1)"
-#: src/xz/message.c:1196
+#: src/xz/message.c:1200
msgid ""
"\n"
" Other options:\n"
@@ -674,7 +683,7 @@ msgstr ""
"\n"
" Andere Optionen:\n"
-#: src/xz/message.c:1199
+#: src/xz/message.c:1203
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
@@ -684,23 +693,23 @@ msgstr ""
" -v, --verbose sei gesprächig; benutze diese Option zweimal um noch\n"
" gesprächiger zu sein"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1208
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:1206
+#: src/xz/message.c:1210
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:1209
+#: src/xz/message.c:1213
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:1212
+#: src/xz/message.c:1216
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
@@ -709,7 +718,7 @@ msgstr ""
" Optionen)\n"
" -H, --long-help zeige diese lange Hilfe an und terminiere"
-#: src/xz/message.c:1216
+#: src/xz/message.c:1220
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
@@ -718,11 +727,11 @@ msgstr ""
" -H, --long-help zeige die lange Hilfe an (zeigt auch fortgeschrittene\n"
" Optionen an)"
-#: src/xz/message.c:1221
+#: src/xz/message.c:1225
msgid " -V, --version display the version number and exit"
msgstr " -V, --version zeige Versionsnummer an und terminiere"
-#: src/xz/message.c:1223
+#: src/xz/message.c:1227
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -735,14 +744,14 @@ msgstr ""
#. 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:1229
+#: src/xz/message.c:1233
#, 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 <maan@systemlinux.org> (in englisch oder deutsch).\n"
-#: src/xz/message.c:1231
+#: src/xz/message.c:1235
#, c-format
msgid "%s home page: <%s>\n"
msgstr "%s Homepage: <%s>\n"
diff --git a/Build/source/extra/xz/po/fr.gmo b/Build/source/extra/xz/po/fr.gmo
new file mode 100644
index 00000000000..ec98241d254
--- /dev/null
+++ b/Build/source/extra/xz/po/fr.gmo
Binary files differ
diff --git a/Build/source/extra/xz/po/fr.po b/Build/source/extra/xz/po/fr.po
new file mode 100644
index 00000000000..ec0ba3526a4
--- /dev/null
+++ b/Build/source/extra/xz/po/fr.po
@@ -0,0 +1,858 @@
+# XZ Utils French Translation
+# This file is put in the public domain.
+# Adrien Nader <camaradetux@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: xz-utils\n"
+"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
+"PO-Revision-Date: 2010-09-24 21;12+0200\n"
+"Last-Translator: Adrien Nader <camaradetux@gmail.com>\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:95
+msgid "Maximum number of filters is four"
+msgstr "Le nombre maximal de filtres est quatre"
+
+#: src/xz/coder.c:108
+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:129
+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:131
+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:157
+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:165
+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:182
+msgid "Unsupported filter chain or filter options"
+msgstr "Enchaînement ou options de filtres non pris en charge"
+
+#: src/xz/coder.c:190
+#, 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:247
+#, 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:137
+#, 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:144 src/xz/file_io.c:589
+#, c-format
+msgid "%s: Cannot remove: %s"
+msgstr "%s : Impossible de supprimer : %s"
+
+#: src/xz/file_io.c:169
+#, 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:175
+#, 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:194
+#, 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:337 src/xz/file_io.c:420
+#, c-format
+msgid "%s: Is a symbolic link, skipping"
+msgstr "%s est un lien symbolique : ignoré"
+
+#: src/xz/file_io.c:455
+#, c-format
+msgid "%s: Is a directory, skipping"
+msgstr "%s est un répertoire : ignoré"
+
+#: src/xz/file_io.c:461
+#, c-format
+msgid "%s: Not a regular file, skipping"
+msgstr "%s n'est pas un fichier régulier : ignoré"
+
+#: src/xz/file_io.c:478
+#, 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:485
+#, 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:492
+#, 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:713
+#, 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:725
+#, c-format
+msgid "%s: Closing the file failed: %s"
+msgstr "%s : Impossible de fermer le fichier : %s"
+
+#: src/xz/file_io.c:761 src/xz/file_io.c:945
+#, 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:820
+#, c-format
+msgid "%s: Read error: %s"
+msgstr "%s : Erreur d'écriture : %s"
+
+#: src/xz/file_io.c:843
+#, 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:853
+#, c-format
+msgid "%s: Unexpected end of file"
+msgstr "%s : Fin de fichier inattendue"
+
+#: src/xz/file_io.c:903
+#, 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:612
+msgid "Strms Blocks Compressed Uncompressed Ratio Check Filename"
+msgstr "Flux Blocs Compressé Décompressé Ratio Vérif Nom de fichier"
+
+#: src/xz/list.c:652
+#, c-format
+msgid " Streams: %s\n"
+msgstr " Flux : %s\n"
+
+#: src/xz/list.c:654
+#, c-format
+msgid " Blocks: %s\n"
+msgstr " Blocs : %s\n"
+
+#: src/xz/list.c:656
+#, c-format
+msgid " Compressed size: %s\n"
+msgstr " Taille compressé : %s\n"
+
+#: src/xz/list.c:659
+#, c-format
+msgid " Uncompressed size: %s\n"
+msgstr " Taille décompressé : %s\n"
+
+#: src/xz/list.c:662
+#, c-format
+msgid " Ratio: %s\n"
+msgstr " Ratio : %s\n"
+
+#: src/xz/list.c:664
+#, c-format
+msgid " Check: %s\n"
+msgstr " Vérification : %s\n"
+
+#: src/xz/list.c:665
+#, 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:693
+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:748
+#, 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:760
+#, 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:838 src/xz/list.c:1007
+#, c-format
+msgid " Memory needed: %s MiB\n"
+msgstr " Mémoire nécessaire : %s MiB\n"
+
+#: src/xz/list.c:840 src/xz/list.c:1009
+#, c-format
+msgid " Sizes in headers: %s\n"
+msgstr " Tailles stockées dans l'en-tête : %s\n"
+
+#: src/xz/list.c:841 src/xz/list.c:1010
+msgid "Yes"
+msgstr "Oui"
+
+#: src/xz/list.c:841 src/xz/list.c:1010
+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:986
+#, 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:999
+msgid "Totals:"
+msgstr "Totaux :"
+
+#: src/xz/list.c:1000
+#, c-format
+msgid " Number of files: %s\n"
+msgstr " Nombre de fichiers : %s\n"
+
+#: src/xz/list.c:1072
+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:1078
+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:885
+#, 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:1052
+#, c-format
+msgid "%s: Filter chain: %s\n"
+msgstr "%s : Enchaînement de filtres : %s\n"
+
+#: src/xz/message.c:1062
+#, c-format
+msgid "Try `%s --help' for more information."
+msgstr "Utilisez `%s --help' pour plus d'informations."
+
+#: src/xz/message.c:1088
+#, 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:1095
+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:1099
+msgid " Operation mode:\n"
+msgstr " Mode d'opération :\n"
+
+#: src/xz/message.c:1102
+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:1108
+msgid ""
+"\n"
+" Operation modifiers:\n"
+msgstr ""
+"\n"
+" Modifictauers :\n"
+
+#: src/xz/message.c:1111
+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:1117
+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:1125
+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:1127
+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:1134
+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:1138
+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:1143
+#, 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:1150
+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:1156
+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:1165
+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:1180
+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:1192
+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:1200
+msgid ""
+"\n"
+" Other options:\n"
+msgstr ""
+"\n"
+" Autres options :\n"
+
+#: src/xz/message.c:1203
+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:1208
+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:1210
+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:1213
+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:1216
+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:1220
+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:1225
+msgid " -V, --version display the version number and exit"
+msgstr " -V, --version affiche le numéro de version puis quitte"
+
+#: src/xz/message.c:1227
+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:1233
+#, 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 à <camaradetux@gmail.com>.\n"
+
+#: src/xz/message.c:1235
+#, 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=%<PRIu32>"
+msgstr "Le `match finder' choisi nécessite au moins nice=%<PRIu32>"
+
+#: 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:61
+#, 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:103
+#, c-format
+msgid "%s: Invalid multiplier suffix"
+msgstr "%s : Suffixe multiplicateur invalide"
+
+#: src/xz/util.c:105
+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:122
+#, c-format
+msgid "Value of the option `%s' must be in the range [%<PRIu64>, %<PRIu64>]"
+msgstr "La valeur de l'option '%s' doit être inclue entre %<PRIu64> et %<PRIu64>"
+
+#: src/xz/util.c:247
+msgid "Empty filename, skipping"
+msgstr "Nom de fichier vide, ignoré"
+
+#: src/xz/util.c:261
+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:274
+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 %<PRIu32> threads."
+#~ msgstr "Jusqu'à %<PRIu32> 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/it.gmo b/Build/source/extra/xz/po/it.gmo
index b9e7431e49e..648932f0eb2 100644
--- a/Build/source/extra/xz/po/it.gmo
+++ b/Build/source/extra/xz/po/it.gmo
Binary files differ
diff --git a/Build/source/extra/xz/po/it.po b/Build/source/extra/xz/po/it.po
index c99a4dd5926..754a9602647 100644
--- a/Build/source/extra/xz/po/it.po
+++ b/Build/source/extra/xz/po/it.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xz-utils\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2011-04-01 08:48+0300\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
"PO-Revision-Date: 2010-09-16 21:32+0200\n"
"Last-Translator: Milo Casagrande <milo@ubuntu.com>\n"
"Language-Team: Italian <tp@lists.linux.it>\n"
@@ -408,58 +408,67 @@ msgstr "La compressione e l'estrazione con --robot non sono ancora supportate."
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"
-#: src/xz/message.c:792 src/xz/message.c:842
+#. 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 "Errore interno (bug)"
-#: src/xz/message.c:799
+#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Impossibile stabilire i gestori dei segnali"
-#: src/xz/message.c:808
+#: 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:811
+#: 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:818
+#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Limite di utilizzo della memoria raggiunto"
-#: src/xz/message.c:821
+#: src/xz/message.c:825
msgid "File format not recognized"
msgstr "Formato di file non riconosciuto"
-#: src/xz/message.c:824
+#: src/xz/message.c:828
msgid "Unsupported options"
msgstr "Opzioni non supportate"
-#: src/xz/message.c:827
+#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "I dati compressi sono danneggiati"
-#: src/xz/message.c:830
+#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Fine dell'input non attesa"
-#: src/xz/message.c:881
+#: src/xz/message.c:885
#, 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:1048
+#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: catena di filtri: %s\n"
-#: src/xz/message.c:1058
+#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Provare \"%s --help\" per maggiori informazioni."
-#: src/xz/message.c:1084
+#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -470,15 +479,15 @@ msgstr ""
"Comprime o estrae i FILE nel formato .xz.\n"
"\n"
-#: src/xz/message.c:1091
+#: src/xz/message.c:1095
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:1095
+#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr " Modalità di operazione:\n"
-#: src/xz/message.c:1098
+#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -490,7 +499,7 @@ msgstr ""
" -t, --test Verifica l'integrità dei file compressi\n"
" -l, --list Elenca informazioni sui file .xz"
-#: src/xz/message.c:1104
+#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
@@ -498,7 +507,7 @@ msgstr ""
"\n"
" Modificatori di operazioni:\n"
-#: src/xz/message.c:1107
+#: src/xz/message.c:1111
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
@@ -509,7 +518,7 @@ msgstr ""
" collegamenti\n"
" -c, --stdout Scrive sullo standard output e non elimina i file di input"
-#: src/xz/message.c:1113
+#: src/xz/message.c:1117
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
@@ -526,7 +535,7 @@ msgstr ""
" di newline\n"
" --files0=[FILE] Come --files ma usa il carattere null come terminatore"
-#: src/xz/message.c:1121
+#: src/xz/message.c:1125
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -534,7 +543,7 @@ msgstr ""
"\n"
" Formato file di base e opzioni di compressione:\n"
-#: src/xz/message.c:1123
+#: src/xz/message.c:1127
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
@@ -546,7 +555,7 @@ msgstr ""
" -C, --check=CHECK Tipo di verifica integrità: \"none\" (usare con attenzione),\n"
" \"crc32\", \"crc64\" (predefinito) o \"sha256\""
-#: src/xz/message.c:1130
+#: src/xz/message.c:1134
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
@@ -555,7 +564,7 @@ msgstr ""
" l'utilizzo di memoria per comprimere ed estrarre prima\n"
" di usare 7-9"
-#: src/xz/message.c:1134
+#: src/xz/message.c:1138
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
@@ -564,7 +573,7 @@ msgstr ""
" utilizzando più tempo di CPU; non cambia i requisiti di\n"
" memoria in fase di estrazione"
-#: src/xz/message.c:1139
+#: src/xz/message.c:1143
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
@@ -580,7 +589,7 @@ msgstr ""
" compressione, l'estrazione o entrambe; LIMIT è in byte,\n"
" % della memoria RAM oppure 0 per il valore predefinito"
-#: src/xz/message.c:1146
+#: src/xz/message.c:1150
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
@@ -589,7 +598,7 @@ msgstr ""
" utilizzo della memoria, lancia un errore invece di\n"
" utilizzare valori più piccoli"
-#: src/xz/message.c:1152
+#: src/xz/message.c:1156
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -598,7 +607,7 @@ msgstr ""
" Catena di filtri personalizzati per la compressione (alternative per\n"
" l'utilizzo di preset):"
-#: src/xz/message.c:1161
+#: src/xz/message.c:1165
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
@@ -631,7 +640,7 @@ msgstr ""
" depth=NUM Profondità massima di ricerca; 0=automatica\n"
" (predefinito)"
-#: src/xz/message.c:1176
+#: src/xz/message.c:1180
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -654,7 +663,7 @@ msgstr ""
" start=NUM Offset iniziale per le conversioni\n"
" (predefinito=0)"
-#: src/xz/message.c:1188
+#: src/xz/message.c:1192
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -666,7 +675,7 @@ msgstr ""
" dist=NUM Distanza tra byte sottratti\n"
" gli uni dagli altri (1-256; 1)"
-#: src/xz/message.c:1196
+#: src/xz/message.c:1200
msgid ""
"\n"
" Other options:\n"
@@ -674,7 +683,7 @@ msgstr ""
"\n"
" Altre opzioni:\n"
-#: src/xz/message.c:1199
+#: src/xz/message.c:1203
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
@@ -684,15 +693,15 @@ msgstr ""
" -v, --verbose Output prolisso; specificare due volte per output ancora\n"
" più prolisso"
-#: src/xz/message.c:1204
+#: src/xz/message.c:1208
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:1206
+#: src/xz/message.c:1210
msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr " --robot Usa messaggi analizzabili (utile per gli script)"
-#: src/xz/message.c:1209
+#: src/xz/message.c:1213
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
@@ -700,7 +709,7 @@ msgstr ""
" --info-memory Visualizza la quantità totale di RAM, il limite attuale\n"
" attivo di utilizzo della memore ed esce"
-#: src/xz/message.c:1212
+#: src/xz/message.c:1216
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
@@ -708,7 +717,7 @@ 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:1216
+#: src/xz/message.c:1220
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
@@ -716,11 +725,11 @@ 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:1221
+#: src/xz/message.c:1225
msgid " -V, --version display the version number and exit"
msgstr " -V, --version Stampa il numero della versione ed esce"
-#: src/xz/message.c:1223
+#: src/xz/message.c:1227
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -732,14 +741,14 @@ msgstr ""
#. 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:1229
+#: src/xz/message.c:1233
#, 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 <tp@lists.linux.it>.\n"
-#: src/xz/message.c:1231
+#: src/xz/message.c:1235
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Sito web di %s: <%s>\n"
diff --git a/Build/source/extra/xz/po/pl.gmo b/Build/source/extra/xz/po/pl.gmo
index b060d2c41b9..81eb89523e9 100644
--- a/Build/source/extra/xz/po/pl.gmo
+++ b/Build/source/extra/xz/po/pl.gmo
Binary files differ
diff --git a/Build/source/extra/xz/po/pl.po b/Build/source/extra/xz/po/pl.po
index 7fb246ab46a..eb4b292fdf4 100644
--- a/Build/source/extra/xz/po/pl.po
+++ b/Build/source/extra/xz/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: xz 5.0.1\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2011-04-01 08:48+0300\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
"PO-Revision-Date: 2011-02-02 16:51+0100\n"
"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
"Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
@@ -406,58 +406,67 @@ msgstr "Kompresja i dekompresja z opcją --robot nie jest jeszcze obsługiwana."
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"
-#: src/xz/message.c:792 src/xz/message.c:842
+#. 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 "Błąd wewnętrzny"
-#: src/xz/message.c:799
+#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr "Nie można ustawić obsługi sygnałów"
-#: src/xz/message.c:808
+#: 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:811
+#: 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:818
+#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr "Osiągnięto limit użycia pamięci"
-#: src/xz/message.c:821
+#: src/xz/message.c:825
msgid "File format not recognized"
msgstr "Nie rozpoznany format pliku"
-#: src/xz/message.c:824
+#: src/xz/message.c:828
msgid "Unsupported options"
msgstr "Nieobsługiwane opcje"
-#: src/xz/message.c:827
+#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr "Dane skompresowane są uszkodzone"
-#: src/xz/message.c:830
+#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr "Nieoczekiwany koniec wejścia"
-#: src/xz/message.c:881
+#: src/xz/message.c:885
#, 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:1048
+#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr "%s: Łańcuch filtrów: %s\n"
-#: src/xz/message.c:1058
+#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr "Polecenie `%s --help' pokaże więcej informacji."
-#: src/xz/message.c:1084
+#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -468,17 +477,17 @@ msgstr ""
"Kompresja lub dekompresja PLIKÓW w formacie .xz.\n"
"\n"
-#: src/xz/message.c:1091
+#: src/xz/message.c:1095
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:1095
+#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr " Tryb pracy:\n"
-#: src/xz/message.c:1098
+#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -490,7 +499,7 @@ msgstr ""
" -t, --test sprawdzenie spójności plików skompresowanych\n"
" -l, --list wypisanie informacji o plikach .xz"
-#: src/xz/message.c:1104
+#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
@@ -498,7 +507,7 @@ msgstr ""
"\n"
" Modyfikatory operacji:\n"
-#: src/xz/message.c:1107
+#: src/xz/message.c:1111
msgid ""
" -k, --keep keep (don't delete) input files\n"
" -f, --force force overwrite of output file and (de)compress links\n"
@@ -508,7 +517,7 @@ msgstr ""
" -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:1113
+#: src/xz/message.c:1117
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
@@ -524,7 +533,7 @@ msgstr ""
" 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:1121
+#: src/xz/message.c:1125
msgid ""
"\n"
" Basic file format and compression options:\n"
@@ -532,7 +541,7 @@ msgstr ""
"\n"
" Podstawowe opcje formatu pliku i kompresji:\n"
-#: src/xz/message.c:1123
+#: src/xz/message.c:1127
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
@@ -544,7 +553,7 @@ msgstr ""
" -C, --check=TEST typ kontroli spójności: `none' (ostrożnie!),\n"
" `crc32', `crc64' (domyślny) lub `sha256'"
-#: src/xz/message.c:1130
+#: src/xz/message.c:1134
msgid ""
" -0 ... -9 compression preset; default is 6; take compressor *and*\n"
" decompressor memory usage into account before using 7-9!"
@@ -553,7 +562,7 @@ msgstr ""
" użyciem wartości 7-9 należy wziąć pod uwagę wykorzystanie\n"
" pamięci przy kompresji *oraz* dekompresji!"
-#: src/xz/message.c:1134
+#: src/xz/message.c:1138
msgid ""
" -e, --extreme try to improve compression ratio by using more CPU time;\n"
" does not affect decompressor memory requirements"
@@ -562,7 +571,7 @@ msgstr ""
" ilości czasu procesora; nie wpływa na wymagania\n"
" pamięciowe dekompresora"
-#: src/xz/message.c:1139
+#: src/xz/message.c:1143
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
@@ -578,7 +587,7 @@ msgstr ""
" dekompresji lub obu; LIMIT jest w bajtach, % RAM lub 0\n"
" dla limitów domyślnych"
-#: src/xz/message.c:1146
+#: src/xz/message.c:1150
msgid ""
" --no-adjust if compression settings exceed the memory usage limit,\n"
" give an error instead of adjusting the settings downwards"
@@ -587,7 +596,7 @@ msgstr ""
" pamięci, zostanie zgłoszony błąd zamiast zmniejszania\n"
" ustawień"
-#: src/xz/message.c:1152
+#: src/xz/message.c:1156
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
@@ -595,7 +604,7 @@ msgstr ""
"\n"
" Łańcuch własnych filtrów do kompresji (alternatywa do używania -0 .. -9):"
-#: src/xz/message.c:1161
+#: src/xz/message.c:1165
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
@@ -624,7 +633,7 @@ msgstr ""
" mf=NAZWA dopasowywacz (hc3, hc4, bt2, bt3, bt4; bt4)\n"
" depth=ILE maks. głębokość szukania; 0=auto (domyślne)"
-#: src/xz/message.c:1176
+#: src/xz/message.c:1180
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -646,7 +655,7 @@ msgstr ""
" Poprawne OPCJE dla wszystkich filtrów BCJ:\n"
" start=ILE offset początku konwersji (domyślnie=0)"
-#: src/xz/message.c:1188
+#: src/xz/message.c:1192
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -658,7 +667,7 @@ msgstr ""
" dist=ILE odległość między bajtami odejmowanymi od\n"
" siebie (1-256; 1)"
-#: src/xz/message.c:1196
+#: src/xz/message.c:1200
msgid ""
"\n"
" Other options:\n"
@@ -666,7 +675,7 @@ msgstr ""
"\n"
" Inne opcje:\n"
-#: src/xz/message.c:1199
+#: src/xz/message.c:1203
msgid ""
" -q, --quiet suppress warnings; specify twice to suppress errors too\n"
" -v, --verbose be verbose; specify twice for even more verbose"
@@ -674,15 +683,15 @@ 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:1204
+#: src/xz/message.c:1208
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:1206
+#: src/xz/message.c:1210
msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr " --robot komunikaty w formacie dla maszyny (do skryptów)"
-#: src/xz/message.c:1209
+#: src/xz/message.c:1213
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
@@ -690,7 +699,7 @@ 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:1212
+#: src/xz/message.c:1216
msgid ""
" -h, --help display the short help (lists only the basic options)\n"
" -H, --long-help display this long help and exit"
@@ -698,7 +707,7 @@ 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:1216
+#: src/xz/message.c:1220
msgid ""
" -h, --help display this short help and exit\n"
" -H, --long-help display the long help (lists also the advanced options)"
@@ -706,11 +715,11 @@ 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:1221
+#: src/xz/message.c:1225
msgid " -V, --version display the version number and exit"
msgstr " -V, --version wyświetlenie informacji o wersji i zakończenie"
-#: src/xz/message.c:1223
+#: src/xz/message.c:1227
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -722,7 +731,7 @@ msgstr ""
#. 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:1229
+#: src/xz/message.c:1233
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
@@ -731,7 +740,7 @@ msgstr ""
"Błędy w tłumaczeniu prosimy zgłaszać na adres\n"
"<translation-team-pl@lists.sourceforge.net>.\n"
-#: src/xz/message.c:1231
+#: src/xz/message.c:1235
#, c-format
msgid "%s home page: <%s>\n"
msgstr "Strona domowa %s: <%s>\n"
diff --git a/Build/source/extra/xz/po/xz.pot b/Build/source/extra/xz/po/xz.pot
index c91fc22d517..b4a7f993ee1 100644
--- a/Build/source/extra/xz/po/xz.pot
+++ b/Build/source/extra/xz/po/xz.pot
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: lasse.collin@tukaani.org\n"
-"POT-Creation-Date: 2011-04-01 08:48+0300\n"
+"POT-Creation-Date: 2011-05-21 16:30+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -402,58 +402,67 @@ msgstr ""
msgid "Cannot read data from standard input when reading filenames from standard input"
msgstr ""
-#: src/xz/message.c:792 src/xz/message.c:842
+#. 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:799
+#: src/xz/message.c:803
msgid "Cannot establish signal handlers"
msgstr ""
-#: src/xz/message.c:808
+#: src/xz/message.c:812
msgid "No integrity check; not verifying file integrity"
msgstr ""
-#: src/xz/message.c:811
+#: src/xz/message.c:815
msgid "Unsupported type of integrity check; not verifying file integrity"
msgstr ""
-#: src/xz/message.c:818
+#: src/xz/message.c:822
msgid "Memory usage limit reached"
msgstr ""
-#: src/xz/message.c:821
+#: src/xz/message.c:825
msgid "File format not recognized"
msgstr ""
-#: src/xz/message.c:824
+#: src/xz/message.c:828
msgid "Unsupported options"
msgstr ""
-#: src/xz/message.c:827
+#: src/xz/message.c:831
msgid "Compressed data is corrupt"
msgstr ""
-#: src/xz/message.c:830
+#: src/xz/message.c:834
msgid "Unexpected end of input"
msgstr ""
-#: src/xz/message.c:881
+#: src/xz/message.c:885
#, c-format
msgid "%s MiB of memory is required. The limit is %s."
msgstr ""
-#: src/xz/message.c:1048
+#: src/xz/message.c:1052
#, c-format
msgid "%s: Filter chain: %s\n"
msgstr ""
-#: src/xz/message.c:1058
+#: src/xz/message.c:1062
#, c-format
msgid "Try `%s --help' for more information."
msgstr ""
-#: src/xz/message.c:1084
+#: src/xz/message.c:1088
#, c-format
msgid ""
"Usage: %s [OPTION]... [FILE]...\n"
@@ -461,15 +470,15 @@ msgid ""
"\n"
msgstr ""
-#: src/xz/message.c:1091
+#: src/xz/message.c:1095
msgid "Mandatory arguments to long options are mandatory for short options too.\n"
msgstr ""
-#: src/xz/message.c:1095
+#: src/xz/message.c:1099
msgid " Operation mode:\n"
msgstr ""
-#: src/xz/message.c:1098
+#: src/xz/message.c:1102
msgid ""
" -z, --compress force compression\n"
" -d, --decompress force decompression\n"
@@ -477,20 +486,20 @@ msgid ""
" -l, --list list information about .xz files"
msgstr ""
-#: src/xz/message.c:1104
+#: src/xz/message.c:1108
msgid ""
"\n"
" Operation modifiers:\n"
msgstr ""
-#: src/xz/message.c:1107
+#: src/xz/message.c:1111
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:1113
+#: src/xz/message.c:1117
msgid ""
" --no-sparse do not create sparse files when decompressing\n"
" -S, --suffix=.SUF use the suffix `.SUF' on compressed files\n"
@@ -500,13 +509,13 @@ msgid ""
" --files0[=FILE] like --files but use the null character as terminator"
msgstr ""
-#: src/xz/message.c:1121
+#: src/xz/message.c:1125
msgid ""
"\n"
" Basic file format and compression options:\n"
msgstr ""
-#: src/xz/message.c:1123
+#: src/xz/message.c:1127
msgid ""
" -F, --format=FMT file format to encode or decode; possible values are\n"
" `auto' (default), `xz', `lzma', and `raw'\n"
@@ -514,19 +523,19 @@ msgid ""
" `crc32', `crc64' (default), or `sha256'"
msgstr ""
-#: src/xz/message.c:1130
+#: src/xz/message.c:1134
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:1134
+#: src/xz/message.c:1138
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:1139
+#: src/xz/message.c:1143
#, no-c-format
msgid ""
" --memlimit-compress=LIMIT\n"
@@ -536,19 +545,19 @@ msgid ""
" or both; LIMIT is in bytes, % of RAM, or 0 for defaults"
msgstr ""
-#: src/xz/message.c:1146
+#: src/xz/message.c:1150
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:1152
+#: src/xz/message.c:1156
msgid ""
"\n"
" Custom filter chain for compression (alternative for using presets):"
msgstr ""
-#: src/xz/message.c:1161
+#: src/xz/message.c:1165
msgid ""
"\n"
" --lzma1[=OPTS] LZMA1 or LZMA2; OPTS is a comma-separated list of zero or\n"
@@ -564,7 +573,7 @@ msgid ""
" depth=NUM maximum search depth; 0=automatic (default)"
msgstr ""
-#: src/xz/message.c:1176
+#: src/xz/message.c:1180
msgid ""
"\n"
" --x86[=OPTS] x86 BCJ filter (32-bit and 64-bit)\n"
@@ -577,7 +586,7 @@ msgid ""
" start=NUM start offset for conversions (default=0)"
msgstr ""
-#: src/xz/message.c:1188
+#: src/xz/message.c:1192
msgid ""
"\n"
" --delta[=OPTS] Delta filter; valid OPTS (valid values; default):\n"
@@ -585,49 +594,49 @@ msgid ""
" from each other (1-256; 1)"
msgstr ""
-#: src/xz/message.c:1196
+#: src/xz/message.c:1200
msgid ""
"\n"
" Other options:\n"
msgstr ""
-#: src/xz/message.c:1199
+#: src/xz/message.c:1203
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:1204
+#: src/xz/message.c:1208
msgid " -Q, --no-warn make warnings not affect the exit status"
msgstr ""
-#: src/xz/message.c:1206
+#: src/xz/message.c:1210
msgid " --robot use machine-parsable messages (useful for scripts)"
msgstr ""
-#: src/xz/message.c:1209
+#: src/xz/message.c:1213
msgid ""
" --info-memory display the total amount of RAM and the currently active\n"
" memory usage limits, and exit"
msgstr ""
-#: src/xz/message.c:1212
+#: src/xz/message.c:1216
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:1216
+#: src/xz/message.c:1220
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:1221
+#: src/xz/message.c:1225
msgid " -V, --version display the version number and exit"
msgstr ""
-#: src/xz/message.c:1223
+#: src/xz/message.c:1227
msgid ""
"\n"
"With no FILE, or when FILE is -, read standard input.\n"
@@ -637,12 +646,12 @@ msgstr ""
#. 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:1229
+#: src/xz/message.c:1233
#, c-format
msgid "Report bugs to <%s> (in English or Finnish).\n"
msgstr ""
-#: src/xz/message.c:1231
+#: src/xz/message.c:1235
#, c-format
msgid "%s home page: <%s>\n"
msgstr ""
diff --git a/Build/source/extra/xz/src/liblzma/Makefile.am b/Build/source/extra/xz/src/liblzma/Makefile.am
index 813dc406760..7b3d69ae9f4 100644
--- a/Build/source/extra/xz/src/liblzma/Makefile.am
+++ b/Build/source/extra/xz/src/liblzma/Makefile.am
@@ -24,7 +24,7 @@ liblzma_la_CPPFLAGS = \
-I$(top_srcdir)/src/liblzma/simple \
-I$(top_srcdir)/src/common \
-DTUKLIB_SYMBOL_PREFIX=lzma_
-liblzma_la_LDFLAGS = -no-undefined -version-info 5:2:0
+liblzma_la_LDFLAGS = -no-undefined -version-info 5:3:0
include $(srcdir)/common/Makefile.inc
include $(srcdir)/check/Makefile.inc
diff --git a/Build/source/extra/xz/src/liblzma/Makefile.in b/Build/source/extra/xz/src/liblzma/Makefile.in
index 7a9e268c452..06ccaac0944 100644
--- a/Build/source/extra/xz/src/liblzma/Makefile.in
+++ b/Build/source/extra/xz/src/liblzma/Makefile.in
@@ -609,7 +609,7 @@ liblzma_la_CPPFLAGS = \
-I$(top_srcdir)/src/common \
-DTUKLIB_SYMBOL_PREFIX=lzma_
-liblzma_la_LDFLAGS = -no-undefined -version-info 5:2:0 \
+liblzma_la_LDFLAGS = -no-undefined -version-info 5:3:0 \
$(am__append_38)
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = liblzma.pc
diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/block.h b/Build/source/extra/xz/src/liblzma/api/lzma/block.h
index 3019bf916fe..8a4bf2323cc 100644
--- a/Build/source/extra/xz/src/liblzma/api/lzma/block.h
+++ b/Build/source/extra/xz/src/liblzma/api/lzma/block.h
@@ -483,6 +483,7 @@ extern LZMA_API(size_t) lzma_block_buffer_bound(size_t uncompressed_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
diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/container.h b/Build/source/extra/xz/src/liblzma/api/lzma/container.h
index 83e70b44f22..7a9ffc64578 100644
--- a/Build/source/extra/xz/src/liblzma/api/lzma/container.h
+++ b/Build/source/extra/xz/src/liblzma/api/lzma/container.h
@@ -66,6 +66,10 @@
* 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;
@@ -77,6 +81,11 @@ extern LZMA_API(uint64_t) lzma_easy_encoder_memusage(uint32_t 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;
@@ -148,6 +157,7 @@ extern LZMA_API(lzma_ret) lzma_easy_encoder(
*
* \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
@@ -171,6 +181,7 @@ extern LZMA_API(lzma_ret) lzma_easy_buffer_encode(
*
* \return - LZMA_OK: Initialization was successful.
* - LZMA_MEM_ERROR
+ * - LZMA_UNSUPPORTED_CHECK
* - LZMA_OPTIONS_ERROR
* - LZMA_PROG_ERROR
*/
@@ -250,6 +261,7 @@ extern LZMA_API(size_t) lzma_stream_buffer_bound(size_t uncompressed_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
diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h b/Build/source/extra/xz/src/liblzma/api/lzma/filter.h
index efd036f7f04..e0bc163ad35 100644
--- a/Build/source/extra/xz/src/liblzma/api/lzma/filter.h
+++ b/Build/source/extra/xz/src/liblzma/api/lzma/filter.h
@@ -131,7 +131,9 @@ extern LZMA_API(lzma_ret) lzma_filters_copy(const lzma_filter *src,
* .id == LZMA_VLI_UNKNOWN.
*
* \return Number of bytes of memory required for the given
- * filter chain when encoding.
+ * 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;
@@ -148,7 +150,9 @@ extern LZMA_API(uint64_t) lzma_raw_encoder_memusage(const lzma_filter *filters)
* .id == LZMA_VLI_UNKNOWN.
*
* \return Number of bytes of memory required for the given
- * filter chain when decoding.
+ * 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;
diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h b/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h
deleted file mode 100644
index 4ffb049824b..00000000000
--- a/Build/source/extra/xz/src/liblzma/api/lzma/subblock.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/**
- * \file lzma/subblock.h
- * \brief Subblock 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 <lzma.h> instead.
-#endif
-
-
-/**
- * \brief Filter ID
- *
- * Filter ID of the Subblock filter. This is used as lzma_filter.id.
- */
-#define LZMA_FILTER_SUBBLOCK LZMA_VLI_C(0x01)
-
-
-/**
- * \brief Subfilter mode
- *
- * See lzma_options_subblock.subfilter_mode for details.
- */
-typedef enum {
- LZMA_SUBFILTER_NONE,
- /**<
- * No Subfilter is in use.
- */
-
- LZMA_SUBFILTER_SET,
- /**<
- * New Subfilter has been requested to be initialized.
- */
-
- LZMA_SUBFILTER_RUN,
- /**<
- * Subfilter is active.
- */
-
- LZMA_SUBFILTER_FINISH
- /**<
- * Subfilter has been requested to be finished.
- */
-} lzma_subfilter_mode;
-
-
-/**
- * \brief Options for the Subblock filter
- *
- * Specifying options for the Subblock filter is optional: if the pointer
- * options is NULL, no subfilters are allowed and the default value is used
- * for subblock_data_size.
- */
-typedef struct {
- /* Options for encoder and decoder */
-
- /**
- * \brief Allowing subfilters
- *
- * If this true, subfilters are allowed.
- *
- * In the encoder, if this is set to false, subfilter_mode and
- * subfilter_options are completely ignored.
- */
- lzma_bool allow_subfilters;
-
- /* Options for encoder only */
-
- /**
- * \brief Alignment
- *
- * The Subblock filter encapsulates the input data into Subblocks.
- * Each Subblock has a header which takes a few bytes of space.
- * When the output of the Subblock encoder is fed to another filter
- * that takes advantage of the alignment of the input data (e.g. LZMA),
- * the Subblock filter can add padding to keep the actual data parts
- * in the Subblocks aligned correctly.
- *
- * The alignment should be a positive integer. Subblock filter will
- * add enough padding between Subblocks so that this is true for
- * every payload byte:
- * input_offset % alignment == output_offset % alignment
- *
- * The Subblock filter assumes that the first output byte will be
- * written to a position in the output stream that is properly
- * aligned. This requirement is automatically met when the start
- * offset of the Stream or Block is correctly told to Block or
- * Stream encoder.
- */
- uint32_t alignment;
-# define LZMA_SUBBLOCK_ALIGNMENT_MIN 1
-# define LZMA_SUBBLOCK_ALIGNMENT_MAX 32
-# define LZMA_SUBBLOCK_ALIGNMENT_DEFAULT 4
-
- /**
- * \brief Size of the Subblock Data part of each Subblock
- *
- * This value is re-read every time a new Subblock is started.
- *
- * Bigger values
- * - save a few bytes of space;
- * - increase latency in the encoder (but no effect for decoding);
- * - decrease memory locality (increased cache pollution) in the
- * encoder (no effect in decoding).
- */
- uint32_t subblock_data_size;
-# define LZMA_SUBBLOCK_DATA_SIZE_MIN 1
-# define LZMA_SUBBLOCK_DATA_SIZE_MAX (UINT32_C(1) << 28)
-# define LZMA_SUBBLOCK_DATA_SIZE_DEFAULT 4096
-
- /**
- * \brief Run-length encoder remote control
- *
- * The Subblock filter has an internal run-length encoder (RLE). It
- * can be useful when the data includes byte sequences that repeat
- * very many times. The RLE can be used also when a Subfilter is
- * in use; the RLE will be applied to the output of the Subfilter.
- *
- * Note that in contrast to traditional RLE, this RLE is intended to
- * be used only when there's a lot of data to be repeated. If the
- * input data has e.g. 500 bytes of NULs now and then, this RLE
- * is probably useless, because plain LZMA should provide better
- * results.
- *
- * Due to above reasons, it was decided to keep the implementation
- * of the RLE very simple. When the rle variable is non-zero, it
- * subblock_data_size must be a multiple of rle. Once the Subblock
- * encoder has got subblock_data_size bytes of input, it will check
- * if the whole buffer of the last subblock_data_size can be
- * represented with repeats of chunks having size of rle bytes.
- *
- * If there are consecutive identical buffers of subblock_data_size
- * bytes, they will be encoded using a single repeat entry if
- * possible.
- *
- * If need arises, more advanced RLE can be implemented later
- * without breaking API or ABI.
- */
- uint32_t rle;
-# define LZMA_SUBBLOCK_RLE_OFF 0
-# define LZMA_SUBBLOCK_RLE_MIN 1
-# define LZMA_SUBBLOCK_RLE_MAX 256
-
- /**
- * \brief Subfilter remote control
- *
- * When the Subblock filter is initialized, this variable must be
- * LZMA_SUBFILTER_NONE or LZMA_SUBFILTER_SET.
- *
- * When subfilter_mode is LZMA_SUBFILTER_NONE, the application may
- * put Subfilter options to subfilter_options structure, and then
- * set subfilter_mode to LZMA_SUBFILTER_SET. No new input data will
- * be read until the Subfilter has been enabled. Once the Subfilter
- * has been enabled, liblzma will set subfilter_mode to
- * LZMA_SUBFILTER_RUN.
- *
- * When subfilter_mode is LZMA_SUBFILTER_RUN, the application may
- * set subfilter_mode to LZMA_SUBFILTER_FINISH. All the input
- * currently available will be encoded before unsetting the
- * Subfilter. Application must not change the amount of available
- * input until the Subfilter has finished. Once the Subfilter has
- * finished, liblzma will set subfilter_mode to LZMA_SUBFILTER_NONE.
- *
- * If the intent is to have Subfilter enabled to the very end of
- * the data, it is not needed to separately disable Subfilter with
- * LZMA_SUBFILTER_FINISH. Using LZMA_FINISH as the second argument
- * of lzma_code() will make the Subblock encoder to disable the
- * Subfilter once all the data has been ran through the Subfilter.
- *
- * After the first call with LZMA_SYNC_FLUSH or LZMA_FINISH, the
- * application must not change subfilter_mode until LZMA_STREAM_END.
- * Setting LZMA_SUBFILTER_SET/LZMA_SUBFILTER_FINISH and
- * LZMA_SYNC_FLUSH/LZMA_FINISH _at the same time_ is fine.
- *
- * \note This variable is ignored if allow_subfilters is false.
- */
- lzma_subfilter_mode subfilter_mode;
-
- /**
- * \brief Subfilter and its options
- *
- * When no Subfilter is used, the data is copied as is into Subblocks.
- * Setting a Subfilter allows encoding some parts of the data with
- * an additional filter. It is possible to many different Subfilters
- * in the same Block, although only one can be used at once.
- *
- * \note This variable is ignored if allow_subfilters is false.
- */
- lzma_filter subfilter_options;
-
-} lzma_options_subblock;
diff --git a/Build/source/extra/xz/src/liblzma/api/lzma/version.h b/Build/source/extra/xz/src/liblzma/api/lzma/version.h
index 4959f6e8dbe..92266637760 100644
--- a/Build/source/extra/xz/src/liblzma/api/lzma/version.h
+++ b/Build/source/extra/xz/src/liblzma/api/lzma/version.h
@@ -22,7 +22,7 @@
*/
#define LZMA_VERSION_MAJOR 5
#define LZMA_VERSION_MINOR 0
-#define LZMA_VERSION_PATCH 2
+#define LZMA_VERSION_PATCH 3
#define LZMA_VERSION_STABILITY LZMA_VERSION_STABILITY_STABLE
#ifndef LZMA_VERSION_COMMIT
diff --git a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c b/Build/source/extra/xz/src/liblzma/common/alone_decoder.c
index 039b4285954..678c79e6543 100644
--- a/Build/source/extra/xz/src/liblzma/common/alone_decoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/alone_decoder.c
@@ -46,7 +46,7 @@ struct lzma_coder_s {
static lzma_ret
alone_decode(lzma_coder *coder,
- lzma_allocator *allocator lzma_attribute((unused)),
+ 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,
diff --git a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c b/Build/source/extra/xz/src/liblzma/common/alone_encoder.c
index d8c0170f023..eb1697e9975 100644
--- a/Build/source/extra/xz/src/liblzma/common/alone_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/alone_encoder.c
@@ -32,7 +32,7 @@ struct lzma_coder_s {
static lzma_ret
alone_encode(lzma_coder *coder,
- lzma_allocator *allocator lzma_attribute((unused)),
+ 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,
@@ -103,7 +103,7 @@ alone_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
if (options->dict_size < LZMA_DICT_SIZE_MIN)
return LZMA_OPTIONS_ERROR;
- // Round up to to the next 2^n or 2^n + 2^(n - 1) depending on which
+ // 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.
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
index a8f71c2140e..519c6a684d7 100644
--- a/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/block_buffer_encoder.c
@@ -226,16 +226,23 @@ 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)
{
- // Sanity checks
- if (block == NULL || block->filters == NULL
- || (in == NULL && in_size != 0) || out == NULL
+ // Validate the arguments.
+ if (block == NULL || (in == NULL && in_size != 0) || out == NULL
|| out_pos == NULL || *out_pos > out_size)
return LZMA_PROG_ERROR;
- // Check the version field.
+ // 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.
@@ -243,8 +250,7 @@ lzma_block_buffer_encode(lzma_block *block, lzma_allocator *allocator,
// Get the size of the Check field.
const size_t check_size = lzma_check_size(block->check);
- if (check_size == UINT32_MAX)
- return LZMA_PROG_ERROR;
+ assert(check_size != UINT32_MAX);
// Reserve space for the Check field.
if (out_size - *out_pos <= check_size)
diff --git a/Build/source/extra/xz/src/liblzma/common/block_encoder.c b/Build/source/extra/xz/src/liblzma/common/block_encoder.c
index ca5152357e7..1eeb502b7f8 100644
--- a/Build/source/extra/xz/src/liblzma/common/block_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/block_encoder.c
@@ -144,7 +144,7 @@ block_encoder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret
block_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
- const lzma_filter *filters lzma_attribute((unused)),
+ const lzma_filter *filters lzma_attribute((__unused__)),
const lzma_filter *reversed_filters)
{
if (coder->sequence != SEQ_CODE)
@@ -161,6 +161,11 @@ lzma_block_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
{
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;
diff --git a/Build/source/extra/xz/src/liblzma/common/common.c b/Build/source/extra/xz/src/liblzma/common/common.c
index 0408e15328b..b9e38602736 100644
--- a/Build/source/extra/xz/src/liblzma/common/common.c
+++ b/Build/source/extra/xz/src/liblzma/common/common.c
@@ -35,7 +35,7 @@ lzma_version_string(void)
// Memory allocation //
///////////////////////
-extern void * lzma_attribute((malloc))
+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.
diff --git a/Build/source/extra/xz/src/liblzma/common/common.h b/Build/source/extra/xz/src/liblzma/common/common.h
index b819432371d..45aba4f06b2 100644
--- a/Build/source/extra/xz/src/liblzma/common/common.h
+++ b/Build/source/extra/xz/src/liblzma/common/common.h
@@ -205,7 +205,7 @@ struct lzma_internal_s {
/// Allocates memory
extern void *lzma_alloc(size_t size, lzma_allocator *allocator)
- lzma_attribute((malloc)) lzma_attr_alloc_size(1);
+ lzma_attribute((__malloc__)) lzma_attr_alloc_size(1);
/// Frees memory
extern void lzma_free(void *ptr, lzma_allocator *allocator);
diff --git a/Build/source/extra/xz/src/liblzma/common/filter_common.c b/Build/source/extra/xz/src/liblzma/common/filter_common.c
index b157c6280f8..7c95b05f2a3 100644
--- a/Build/source/extra/xz/src/liblzma/common/filter_common.c
+++ b/Build/source/extra/xz/src/liblzma/common/filter_common.c
@@ -43,7 +43,7 @@ static const struct {
.changes_size = true,
},
#endif
-#ifdef HAVE_DECODER_LZMA2
+#if defined(HAVE_ENCODER_LZMA2) || defined(HAVE_DECODER_LZMA2)
{
.id = LZMA_FILTER_LZMA2,
.options_size = sizeof(lzma_options_lzma),
@@ -52,7 +52,7 @@ static const struct {
.changes_size = true,
},
#endif
-#ifdef HAVE_DECODER_X86
+#if defined(HAVE_ENCODER_X86) || defined(HAVE_DECODER_X86)
{
.id = LZMA_FILTER_X86,
.options_size = sizeof(lzma_options_bcj),
@@ -70,7 +70,7 @@ static const struct {
.changes_size = false,
},
#endif
-#ifdef HAVE_DECODER_IA64
+#if defined(HAVE_ENCODER_IA64) || defined(HAVE_DECODER_IA64)
{
.id = LZMA_FILTER_IA64,
.options_size = sizeof(lzma_options_bcj),
diff --git a/Build/source/extra/xz/src/liblzma/common/index_decoder.c b/Build/source/extra/xz/src/liblzma/common/index_decoder.c
index a6bc650e046..83c8a3af1db 100644
--- a/Build/source/extra/xz/src/liblzma/common/index_decoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/index_decoder.c
@@ -56,10 +56,11 @@ struct lzma_coder_s {
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)))
+ 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;
diff --git a/Build/source/extra/xz/src/liblzma/common/index_encoder.c b/Build/source/extra/xz/src/liblzma/common/index_encoder.c
index c10d7afa06b..45919f094c4 100644
--- a/Build/source/extra/xz/src/liblzma/common/index_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/index_encoder.c
@@ -42,12 +42,13 @@ struct lzma_coder_s {
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)),
+ 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)))
+ 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().
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
index f727d8542b3..2450ee2e1fa 100644
--- a/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/stream_buffer_encoder.c
@@ -51,6 +51,9 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
|| 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
@@ -81,26 +84,32 @@ lzma_stream_buffer_encode(lzma_filter *filters, lzma_check check,
out_pos += LZMA_STREAM_HEADER_SIZE;
- // Block
+ // Encode a Block but only if there is at least one byte of input.
lzma_block block = {
.version = 0,
.check = check,
.filters = filters,
};
- return_if_error(lzma_block_buffer_encode(&block, allocator,
- in, in_size, out, &out_pos, out_size));
+ 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 with one Record.
+ // 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_index_append(i, allocator,
- lzma_block_unpadded_size(&block),
- block.uncompressed_size);
+ 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.
diff --git a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c b/Build/source/extra/xz/src/liblzma/common/stream_encoder.c
index 48d91da7933..97a7a23a813 100644
--- a/Build/source/extra/xz/src/liblzma/common/stream_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/common/stream_encoder.c
@@ -280,6 +280,7 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
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;
@@ -289,7 +290,6 @@ lzma_stream_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
next->coder->sequence = SEQ_STREAM_HEADER;
next->coder->block_options.version = 0;
next->coder->block_options.check = check;
- next->coder->filters[0].id = LZMA_VLI_UNKNOWN;
// Initialize the Index
lzma_index_end(next->coder->index, allocator);
diff --git a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c
index ea1cc2cb020..15c7951e104 100644
--- a/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/delta/delta_encoder.c
@@ -85,7 +85,7 @@ delta_encode(lzma_coder *coder, lzma_allocator *allocator,
static lzma_ret
delta_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
- const lzma_filter *filters_null lzma_attribute((unused)),
+ const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters)
{
// Delta doesn't and will never support changing the options in
diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c
index 2c57355125f..d74085cf447 100644
--- a/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c
+++ b/Build/source/extra/xz/src/liblzma/lz/lz_decoder.c
@@ -126,7 +126,7 @@ decode_buffer(lzma_coder *coder,
static lzma_ret
lz_decode(lzma_coder *coder,
- lzma_allocator *allocator lzma_attribute((unused)),
+ 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,
diff --git a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c
index 273f577b69b..e2406965882 100644
--- a/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/lz/lz_encoder.c
@@ -480,7 +480,7 @@ lz_encoder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret
lz_encoder_update(lzma_coder *coder, lzma_allocator *allocator,
- const lzma_filter *filters_null lzma_attribute((unused)),
+ const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters)
{
if (coder->lz.options_update == NULL)
diff --git a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c
index b48e0d6894f..992720ca6d5 100644
--- a/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c
+++ b/Build/source/extra/xz/src/liblzma/lzma/lzma2_encoder.c
@@ -374,7 +374,7 @@ 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 to the next 2^n - 1 or 2^n + 2^(n - 1) - 1 depending
+ // 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;
diff --git a/Build/source/extra/xz/src/liblzma/simple/arm.c b/Build/source/extra/xz/src/liblzma/simple/arm.c
index 8fcf6437491..a84702ac62f 100644
--- a/Build/source/extra/xz/src/liblzma/simple/arm.c
+++ b/Build/source/extra/xz/src/liblzma/simple/arm.c
@@ -15,7 +15,7 @@
static size_t
-arm_code(lzma_simple *simple lzma_attribute((unused)),
+arm_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size)
{
diff --git a/Build/source/extra/xz/src/liblzma/simple/armthumb.c b/Build/source/extra/xz/src/liblzma/simple/armthumb.c
index eb6a69d1282..4b49175fec4 100644
--- a/Build/source/extra/xz/src/liblzma/simple/armthumb.c
+++ b/Build/source/extra/xz/src/liblzma/simple/armthumb.c
@@ -15,7 +15,7 @@
static size_t
-armthumb_code(lzma_simple *simple lzma_attribute((unused)),
+armthumb_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size)
{
diff --git a/Build/source/extra/xz/src/liblzma/simple/ia64.c b/Build/source/extra/xz/src/liblzma/simple/ia64.c
index fd263d4aea0..ce3692b98f1 100644
--- a/Build/source/extra/xz/src/liblzma/simple/ia64.c
+++ b/Build/source/extra/xz/src/liblzma/simple/ia64.c
@@ -15,7 +15,7 @@
static size_t
-ia64_code(lzma_simple *simple lzma_attribute((unused)),
+ia64_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size)
{
diff --git a/Build/source/extra/xz/src/liblzma/simple/powerpc.c b/Build/source/extra/xz/src/liblzma/simple/powerpc.c
index aaa14f22197..6f8351176c5 100644
--- a/Build/source/extra/xz/src/liblzma/simple/powerpc.c
+++ b/Build/source/extra/xz/src/liblzma/simple/powerpc.c
@@ -15,7 +15,7 @@
static size_t
-powerpc_code(lzma_simple *simple lzma_attribute((unused)),
+powerpc_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size)
{
diff --git a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c b/Build/source/extra/xz/src/liblzma/simple/simple_coder.c
index 06db86ec2d0..37de7fa1a0c 100644
--- a/Build/source/extra/xz/src/liblzma/simple/simple_coder.c
+++ b/Build/source/extra/xz/src/liblzma/simple/simple_coder.c
@@ -212,7 +212,7 @@ simple_coder_end(lzma_coder *coder, lzma_allocator *allocator)
static lzma_ret
simple_coder_update(lzma_coder *coder, lzma_allocator *allocator,
- const lzma_filter *filters_null lzma_attribute((unused)),
+ const lzma_filter *filters_null lzma_attribute((__unused__)),
const lzma_filter *reversed_filters)
{
// No update support, just call the next filter in the chain.
diff --git a/Build/source/extra/xz/src/liblzma/simple/sparc.c b/Build/source/extra/xz/src/liblzma/simple/sparc.c
index 808a59aaac7..8270d6ab19f 100644
--- a/Build/source/extra/xz/src/liblzma/simple/sparc.c
+++ b/Build/source/extra/xz/src/liblzma/simple/sparc.c
@@ -15,7 +15,7 @@
static size_t
-sparc_code(lzma_simple *simple lzma_attribute((unused)),
+sparc_code(lzma_simple *simple lzma_attribute((__unused__)),
uint32_t now_pos, bool is_encoder,
uint8_t *buffer, size_t size)
{
diff --git a/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc b/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc
deleted file mode 100644
index a4710cc5955..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/Makefile.inc
+++ /dev/null
@@ -1,20 +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_SUBBLOCK
-liblzma_la_SOURCES += \
- subblock/subblock_encoder.c \
- subblock/subblock_encoder.h
-endif
-
-if COND_DECODER_SUBBLOCK
-liblzma_la_SOURCES += \
- subblock/subblock_decoder.c \
- subblock/subblock_decoder.h \
- subblock/subblock_decoder_helper.c \
- subblock/subblock_decoder_helper.h
-endif
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c
deleted file mode 100644
index e055cee3ea7..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.c
+++ /dev/null
@@ -1,630 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_decoder.c
-/// \brief Decoder of the Subblock filter
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#include "subblock_decoder.h"
-#include "subblock_decoder_helper.h"
-#include "filter_decoder.h"
-
-
-/// Maximum number of consecutive Subblocks with Subblock Type Padding
-#define PADDING_MAX 31
-
-
-struct lzma_coder_s {
- lzma_next_coder next;
-
- enum {
- // These require that there is at least one input
- // byte available.
- SEQ_FLAGS,
- SEQ_FILTER_FLAGS,
- SEQ_FILTER_END,
- SEQ_REPEAT_COUNT_1,
- SEQ_REPEAT_COUNT_2,
- SEQ_REPEAT_COUNT_3,
- SEQ_REPEAT_SIZE,
- SEQ_REPEAT_READ_DATA,
- SEQ_SIZE_1,
- SEQ_SIZE_2,
- SEQ_SIZE_3, // This must be right before SEQ_DATA.
-
- // These don't require any input to be available.
- SEQ_DATA,
- SEQ_REPEAT_FAST,
- SEQ_REPEAT_NORMAL,
- } sequence;
-
- /// Number of bytes left in the current Subblock Data field.
- size_t size;
-
- /// Number of consecutive Subblocks with Subblock Type Padding
- uint32_t padding;
-
- /// True when .next.code() has returned LZMA_STREAM_END.
- bool next_finished;
-
- /// True when the Subblock decoder has detected End of Payload Marker.
- /// This may become true before next_finished becomes true.
- bool this_finished;
-
- /// True if Subfilters are allowed.
- bool allow_subfilters;
-
- /// Indicates if at least one byte of decoded output has been
- /// produced after enabling Subfilter.
- bool got_output_with_subfilter;
-
- /// Possible subfilter
- lzma_next_coder subfilter;
-
- /// Filter Flags decoder is needed to parse the ID and Properties
- /// of the subfilter.
- lzma_next_coder filter_flags_decoder;
-
- /// The filter_flags_decoder stores its results here.
- lzma_filter filter_flags;
-
- /// Options for the Subblock decoder helper. This is used to tell
- /// the helper when it should return LZMA_STREAM_END to the subfilter.
- lzma_options_subblock_helper helper;
-
- struct {
- /// How many times buffer should be repeated
- size_t count;
-
- /// Size of the buffer
- size_t size;
-
- /// Position in the buffer
- size_t pos;
-
- /// Buffer to hold the data to be repeated
- uint8_t buffer[LZMA_SUBBLOCK_RLE_MAX];
- } repeat;
-
- /// Temporary buffer needed when the Subblock 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
- /// Subblock decoder.
- struct {
- size_t pos;
- size_t size;
- uint8_t buffer[LZMA_BUFFER_SIZE];
- } temp;
-};
-
-
-/// Values of valid Subblock Flags
-enum {
- FLAG_PADDING,
- FLAG_EOPM,
- FLAG_DATA,
- FLAG_REPEAT,
- FLAG_SET_SUBFILTER,
- FLAG_END_SUBFILTER,
-};
-
-
-/// Calls the subfilter and updates coder->uncompressed_size.
-static lzma_ret
-subfilter_decode(lzma_coder *coder, lzma_allocator *allocator,
- const uint8_t *in, size_t *in_pos,
- size_t in_size, uint8_t *restrict out,
- size_t *restrict out_pos, size_t out_size, lzma_action action)
-{
- assert(coder->subfilter.code != NULL);
-
- // Call the subfilter.
- const lzma_ret ret = coder->subfilter.code(
- coder->subfilter.coder, allocator,
- in, in_pos, in_size, out, out_pos, out_size, action);
-
- return ret;
-}
-
-
-static lzma_ret
-decode_buffer(lzma_coder *coder, lzma_allocator *allocator,
- const uint8_t *in, size_t *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
- || coder->sequence >= SEQ_DATA))
- switch (coder->sequence) {
- case SEQ_FLAGS: {
- // Do the correct action depending on the Subblock Type.
- switch (in[*in_pos] >> 4) {
- case FLAG_PADDING:
- // Only check that reserved bits are zero.
- if (++coder->padding > PADDING_MAX
- || in[*in_pos] & 0x0F)
- return LZMA_DATA_ERROR;
- ++*in_pos;
- break;
-
- case FLAG_EOPM:
- // There must be no Padding before EOPM.
- if (coder->padding != 0)
- return LZMA_DATA_ERROR;
-
- // Check that reserved bits are zero.
- if (in[*in_pos] & 0x0F)
- return LZMA_DATA_ERROR;
-
- // There must be no Subfilter enabled.
- if (coder->subfilter.code != NULL)
- return LZMA_DATA_ERROR;
-
- ++*in_pos;
- return LZMA_STREAM_END;
-
- case FLAG_DATA:
- // First four bits of the Subblock Data size.
- coder->size = in[*in_pos] & 0x0F;
- ++*in_pos;
- coder->got_output_with_subfilter = true;
- coder->sequence = SEQ_SIZE_1;
- break;
-
- case FLAG_REPEAT:
- // First four bits of the Repeat Count. We use
- // coder->size as a temporary place for it.
- coder->size = in[*in_pos] & 0x0F;
- ++*in_pos;
- coder->got_output_with_subfilter = true;
- coder->sequence = SEQ_REPEAT_COUNT_1;
- break;
-
- case FLAG_SET_SUBFILTER: {
- if (coder->padding != 0 || (in[*in_pos] & 0x0F)
- || coder->subfilter.code != NULL
- || !coder->allow_subfilters)
- return LZMA_DATA_ERROR;
-
- assert(coder->filter_flags.options == NULL);
- abort();
-// return_if_error(lzma_filter_flags_decoder_init(
-// &coder->filter_flags_decoder,
-// allocator, &coder->filter_flags));
-
- coder->got_output_with_subfilter = false;
-
- ++*in_pos;
- coder->sequence = SEQ_FILTER_FLAGS;
- break;
- }
-
- case FLAG_END_SUBFILTER: {
- if (coder->padding != 0 || (in[*in_pos] & 0x0F)
- || coder->subfilter.code == NULL
- || !coder->got_output_with_subfilter)
- return LZMA_DATA_ERROR;
-
- // Tell the helper filter to indicate End of Input
- // to our subfilter.
- coder->helper.end_was_reached = true;
-
- size_t dummy = 0;
- const lzma_ret ret = subfilter_decode(coder, allocator,
- NULL, &dummy, 0, out, out_pos,out_size,
- action);
-
- // If we didn't reach the end of the subfilter's output
- // yet, return to the application. On the next call we
- // will get to this same switch-case again, because we
- // haven't updated *in_pos yet.
- if (ret != LZMA_STREAM_END)
- return ret;
-
- // Free Subfilter's memory. This is a bit debatable,
- // since we could avoid some malloc()/free() calls
- // if the same Subfilter gets used soon again. But
- // if Subfilter isn't used again, we could leave
- // a memory-hogging filter dangling until someone
- // frees Subblock filter itself.
- lzma_next_end(&coder->subfilter, allocator);
-
- // Free memory used for subfilter options. This is
- // safe, because we don't support any Subfilter that
- // would allow pointers in the options structure.
- lzma_free(coder->filter_flags.options, allocator);
- coder->filter_flags.options = NULL;
-
- ++*in_pos;
-
- break;
- }
-
- default:
- return LZMA_DATA_ERROR;
- }
-
- break;
- }
-
- case SEQ_FILTER_FLAGS: {
- const lzma_ret ret = coder->filter_flags_decoder.code(
- coder->filter_flags_decoder.coder, allocator,
- in, in_pos, in_size, NULL, NULL, 0, LZMA_RUN);
- if (ret != LZMA_STREAM_END)
- return ret == LZMA_OPTIONS_ERROR
- ? LZMA_DATA_ERROR : ret;
-
- // Don't free the filter_flags_decoder. It doesn't take much
- // memory and we may need it again.
-
- // Initialize the Subfilter. Subblock and Copy filters are
- // not allowed.
- if (coder->filter_flags.id == LZMA_FILTER_SUBBLOCK)
- return LZMA_DATA_ERROR;
-
- coder->helper.end_was_reached = false;
-
- lzma_filter filters[3] = {
- {
- .id = coder->filter_flags.id,
- .options = coder->filter_flags.options,
- }, {
- .id = LZMA_FILTER_SUBBLOCK_HELPER,
- .options = &coder->helper,
- }, {
- .id = LZMA_VLI_UNKNOWN,
- .options = NULL,
- }
- };
-
- // Optimization: We know that LZMA uses End of Payload Marker
- // (not End of Input), so we can omit the helper filter.
- if (filters[0].id == LZMA_FILTER_LZMA1)
- filters[1].id = LZMA_VLI_UNKNOWN;
-
- return_if_error(lzma_raw_decoder_init(
- &coder->subfilter, allocator, filters));
-
- coder->sequence = SEQ_FLAGS;
- break;
- }
-
- case SEQ_FILTER_END:
- // We are in the beginning of a Subblock. The next Subblock
- // whose type is not Padding, must indicate end of Subfilter.
- if (in[*in_pos] == (FLAG_PADDING << 4)) {
- ++*in_pos;
- break;
- }
-
- if (in[*in_pos] != (FLAG_END_SUBFILTER << 4))
- return LZMA_DATA_ERROR;
-
- coder->sequence = SEQ_FLAGS;
- break;
-
- case SEQ_REPEAT_COUNT_1:
- case SEQ_SIZE_1:
- // We use the same code to parse
- // - the Size (28 bits) in Subblocks of type Data; and
- // - the Repeat count (28 bits) in Subblocks of type
- // Repeating Data.
- coder->size |= (size_t)(in[*in_pos]) << 4;
- ++*in_pos;
- ++coder->sequence;
- break;
-
- case SEQ_REPEAT_COUNT_2:
- case SEQ_SIZE_2:
- coder->size |= (size_t)(in[*in_pos]) << 12;
- ++*in_pos;
- ++coder->sequence;
- break;
-
- case SEQ_REPEAT_COUNT_3:
- case SEQ_SIZE_3:
- coder->size |= (size_t)(in[*in_pos]) << 20;
- ++*in_pos;
-
- // The real value is the stored value plus one.
- ++coder->size;
-
- // This moves to SEQ_REPEAT_SIZE or SEQ_DATA. That's why
- // SEQ_DATA must be right after SEQ_SIZE_3 in coder->sequence.
- ++coder->sequence;
- break;
-
- case SEQ_REPEAT_SIZE:
- // Move the Repeat Count to the correct variable and parse
- // the Size of the Data to be repeated.
- coder->repeat.count = coder->size;
- coder->repeat.size = (size_t)(in[*in_pos]) + 1;
- coder->repeat.pos = 0;
-
- // The size of the Data field must be bigger than the number
- // of Padding bytes before this Subblock.
- if (coder->repeat.size <= coder->padding)
- return LZMA_DATA_ERROR;
-
- ++*in_pos;
- coder->padding = 0;
- coder->sequence = SEQ_REPEAT_READ_DATA;
- break;
-
- case SEQ_REPEAT_READ_DATA: {
- // Fill coder->repeat.buffer[].
- const size_t in_avail = in_size - *in_pos;
- const size_t out_avail
- = coder->repeat.size - coder->repeat.pos;
- const size_t copy_size = MIN(in_avail, out_avail);
-
- memcpy(coder->repeat.buffer + coder->repeat.pos,
- in + *in_pos, copy_size);
- *in_pos += copy_size;
- coder->repeat.pos += copy_size;
-
- if (coder->repeat.pos == coder->repeat.size) {
- coder->repeat.pos = 0;
-
- if (coder->repeat.size == 1
- && coder->subfilter.code == NULL)
- coder->sequence = SEQ_REPEAT_FAST;
- else
- coder->sequence = SEQ_REPEAT_NORMAL;
- }
-
- break;
- }
-
- case SEQ_DATA: {
- // The size of the Data field must be bigger than the number
- // of Padding bytes before this Subblock.
- assert(coder->size > 0);
- if (coder->size <= coder->padding)
- return LZMA_DATA_ERROR;
-
- coder->padding = 0;
-
- // Limit the amount of input to match the available
- // Subblock Data size.
- size_t in_limit;
- if (in_size - *in_pos > coder->size)
- in_limit = *in_pos + coder->size;
- else
- in_limit = in_size;
-
- if (coder->subfilter.code == NULL) {
- const size_t copy_size = lzma_bufcpy(
- in, in_pos, in_limit,
- out, out_pos, out_size);
-
- coder->size -= copy_size;
- } else {
- const size_t in_start = *in_pos;
- const lzma_ret ret = subfilter_decode(
- coder, allocator,
- in, in_pos, in_limit,
- out, out_pos, out_size,
- action);
-
- // Update the number of unprocessed bytes left in
- // this Subblock. This assert() is true because
- // in_limit prevents *in_pos getting too big.
- assert(*in_pos - in_start <= coder->size);
- coder->size -= *in_pos - in_start;
-
- if (ret == LZMA_STREAM_END) {
- // End of Subfilter can occur only at
- // a Subblock boundary.
- if (coder->size != 0)
- return LZMA_DATA_ERROR;
-
- // We need a Subblock with Unset
- // Subfilter before more data.
- coder->sequence = SEQ_FILTER_END;
- break;
- }
-
- if (ret != LZMA_OK)
- return ret;
- }
-
- // If we couldn't process the whole Subblock Data yet, return.
- if (coder->size > 0)
- return LZMA_OK;
-
- coder->sequence = SEQ_FLAGS;
- break;
- }
-
- case SEQ_REPEAT_FAST: {
- // Optimization for cases when there is only one byte to
- // repeat and no Subfilter.
- const size_t out_avail = out_size - *out_pos;
- const size_t copy_size = MIN(coder->repeat.count, out_avail);
-
- memset(out + *out_pos, coder->repeat.buffer[0], copy_size);
-
- *out_pos += copy_size;
- coder->repeat.count -= copy_size;
-
- if (coder->repeat.count != 0)
- return LZMA_OK;
-
- coder->sequence = SEQ_FLAGS;
- break;
- }
-
- case SEQ_REPEAT_NORMAL:
- do {
- // Cycle the repeat buffer if needed.
- if (coder->repeat.pos == coder->repeat.size) {
- if (--coder->repeat.count == 0) {
- coder->sequence = SEQ_FLAGS;
- break;
- }
-
- coder->repeat.pos = 0;
- }
-
- if (coder->subfilter.code == NULL) {
- lzma_bufcpy(coder->repeat.buffer,
- &coder->repeat.pos,
- coder->repeat.size,
- out, out_pos, out_size);
- } else {
- const lzma_ret ret = subfilter_decode(
- coder, allocator,
- coder->repeat.buffer,
- &coder->repeat.pos,
- coder->repeat.size,
- out, out_pos, out_size,
- action);
-
- if (ret == LZMA_STREAM_END) {
- // End of Subfilter can occur only at
- // a Subblock boundary.
- if (coder->repeat.pos
- != coder->repeat.size
- || --coder->repeat
- .count != 0)
- return LZMA_DATA_ERROR;
-
- // We need a Subblock with Unset
- // Subfilter before more data.
- coder->sequence = SEQ_FILTER_END;
- break;
-
- } else if (ret != LZMA_OK) {
- return ret;
- }
- }
- } while (*out_pos < out_size);
-
- break;
-
- default:
- return LZMA_PROG_ERROR;
- }
-
- return LZMA_OK;
-}
-
-
-static lzma_ret
-subblock_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)
-{
- if (coder->next.code == NULL)
- return decode_buffer(coder, allocator, in, in_pos, in_size,
- out, out_pos, out_size, action);
-
- while (*out_pos < out_size) {
- 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 (coder->temp.size == 0 || ret != LZMA_OK)
- return ret;
- }
-
- if (coder->this_finished) {
- if (coder->temp.pos != coder->temp.size)
- return LZMA_DATA_ERROR;
-
- if (coder->next_finished)
- return LZMA_STREAM_END;
-
- return LZMA_OK;
- }
-
- const lzma_ret ret = decode_buffer(coder, allocator,
- coder->temp.buffer, &coder->temp.pos,
- coder->temp.size,
- out, out_pos, out_size, action);
-
- if (ret == LZMA_STREAM_END)
- // The next coder in the chain hasn't finished
- // yet. If the input data is valid, there
- // must be no more output coming, but the
- // next coder may still need a litle more
- // input to detect End of Payload Marker.
- 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
-subblock_decoder_end(lzma_coder *coder, lzma_allocator *allocator)
-{
- lzma_next_end(&coder->next, allocator);
- lzma_next_end(&coder->subfilter, allocator);
- lzma_next_end(&coder->filter_flags_decoder, allocator);
- lzma_free(coder->filter_flags.options, allocator);
- lzma_free(coder, allocator);
- return;
-}
-
-
-extern lzma_ret
-lzma_subblock_decoder_init(lzma_next_coder *next, lzma_allocator *allocator,
- const lzma_filter_info *filters)
-{
- if (next->coder == NULL) {
- next->coder = lzma_alloc(sizeof(lzma_coder), allocator);
- if (next->coder == NULL)
- return LZMA_MEM_ERROR;
-
- next->code = &subblock_decode;
- next->end = &subblock_decoder_end;
-
- next->coder->next = LZMA_NEXT_CODER_INIT;
- next->coder->subfilter = LZMA_NEXT_CODER_INIT;
- next->coder->filter_flags_decoder = LZMA_NEXT_CODER_INIT;
-
- } else {
- lzma_next_end(&next->coder->subfilter, allocator);
- lzma_free(next->coder->filter_flags.options, allocator);
- }
-
- next->coder->filter_flags.options = NULL;
-
- next->coder->sequence = SEQ_FLAGS;
- next->coder->padding = 0;
- next->coder->next_finished = false;
- next->coder->this_finished = false;
- next->coder->temp.pos = 0;
- next->coder->temp.size = 0;
-
- if (filters[0].options != NULL)
- next->coder->allow_subfilters = ((lzma_options_subblock *)(
- filters[0].options))->allow_subfilters;
- else
- next->coder->allow_subfilters = false;
-
- return lzma_next_filter_init(
- &next->coder->next, allocator, filters + 1);
-}
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h
deleted file mode 100644
index d1030b2b94f..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder.h
+++ /dev/null
@@ -1,22 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_decoder.h
-/// \brief Decoder of the Subblock filter
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef LZMA_SUBBLOCK_DECODER_H
-#define LZMA_SUBBLOCK_DECODER_H
-
-#include "common.h"
-
-
-extern lzma_ret lzma_subblock_decoder_init(lzma_next_coder *next,
- lzma_allocator *allocator, const lzma_filter_info *filters);
-
-#endif
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c
deleted file mode 100644
index 2a864eddad9..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.c
+++ /dev/null
@@ -1,70 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_decoder_helper.c
-/// \brief Helper filter for the Subblock decoder
-///
-/// This filter is used to indicate End of Input for subfilters needing it.
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#include "subblock_decoder_helper.h"
-
-
-struct lzma_coder_s {
- const lzma_options_subblock_helper *options;
-};
-
-
-static lzma_ret
-helper_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 lzma_attribute((unused)))
-{
- // If end_was_reached is true, we cannot have any input.
- assert(!coder->options->end_was_reached || *in_pos == in_size);
-
- // We can safely copy as much as possible, because we are never
- // given more data than a single Subblock Data field.
- lzma_bufcpy(in, in_pos, in_size, out, out_pos, out_size);
-
- // Return LZMA_STREAM_END when instructed so by the Subblock decoder.
- return coder->options->end_was_reached ? LZMA_STREAM_END : LZMA_OK;
-}
-
-
-static void
-helper_end(lzma_coder *coder, lzma_allocator *allocator)
-{
- lzma_free(coder, allocator);
- return;
-}
-
-
-extern lzma_ret
-lzma_subblock_decoder_helper_init(lzma_next_coder *next,
- lzma_allocator *allocator, const lzma_filter_info *filters)
-{
- // This is always the last filter in the chain.
- assert(filters[1].init == NULL);
-
- if (next->coder == NULL) {
- next->coder = lzma_alloc(sizeof(lzma_coder), allocator);
- if (next->coder == NULL)
- return LZMA_MEM_ERROR;
-
- next->code = &helper_decode;
- next->end = &helper_end;
- }
-
- next->coder->options = filters[0].options;
-
- return LZMA_OK;
-}
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h
deleted file mode 100644
index 18dcbb39a39..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_decoder_helper.h
+++ /dev/null
@@ -1,29 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_decoder_helper.h
-/// \brief Helper filter for the Subblock decoder
-///
-/// This filter is used to indicate End of Input for subfilters needing it.
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef LZMA_SUBBLOCK_DECODER_HELPER_H
-#define LZMA_SUBBLOCK_DECODER_HELPER_H
-
-#include "common.h"
-
-
-typedef struct {
- bool end_was_reached;
-} lzma_options_subblock_helper;
-
-
-extern lzma_ret lzma_subblock_decoder_helper_init(lzma_next_coder *next,
- lzma_allocator *allocator, const lzma_filter_info *filters);
-
-#endif
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c b/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c
deleted file mode 100644
index 4f71f99cc63..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.c
+++ /dev/null
@@ -1,984 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_encoder.c
-/// \brief Encoder of the Subblock filter
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#include "subblock_encoder.h"
-#include "filter_encoder.h"
-
-
-/// Maximum number of repeats that a single Repeating Data can indicate.
-/// This is directly from the file format specification.
-#define REPEAT_COUNT_MAX (1U << 28)
-
-/// Number of bytes the data chunk (not including the header part) must be
-/// before we care about alignment. This is somewhat arbitrary. It just
-/// doesn't make sense to waste bytes for alignment when the data chunk
-/// is very small.
-#define MIN_CHUNK_SIZE_FOR_ALIGN 4
-
-/// Number of bytes of the header part of Subblock Type `Data'. This is
-/// used as the `skew' argument for subblock_align().
-#define ALIGN_SKEW_DATA 4
-
-/// Like above but for Repeating Data.
-#define ALIGN_SKEW_REPEATING_DATA 5
-
-/// Writes one byte to output buffer and updates the alignment counter.
-#define write_byte(b) \
-do { \
- assert(*out_pos < out_size); \
- out[*out_pos] = b; \
- ++*out_pos; \
- ++coder->alignment.out_pos; \
-} while (0)
-
-
-struct lzma_coder_s {
- lzma_next_coder next;
- bool next_finished;
-
- enum {
- SEQ_FILL,
- SEQ_FLUSH,
- SEQ_RLE_COUNT_0,
- SEQ_RLE_COUNT_1,
- SEQ_RLE_COUNT_2,
- SEQ_RLE_COUNT_3,
- SEQ_RLE_SIZE,
- SEQ_RLE_DATA,
- SEQ_DATA_SIZE_0,
- SEQ_DATA_SIZE_1,
- SEQ_DATA_SIZE_2,
- SEQ_DATA_SIZE_3,
- SEQ_DATA,
- SEQ_SUBFILTER_INIT,
- SEQ_SUBFILTER_FLAGS,
- } sequence;
-
- /// Pointer to the options given by the application. This is used
- /// for two-way communication with the application.
- lzma_options_subblock *options;
-
- /// Position in various arrays.
- size_t pos;
-
- /// Holds subblock.size - 1 or rle.size - 1 when encoding size
- /// of Data or Repeat Count.
- uint32_t tmp;
-
- struct {
- /// This is a copy of options->alignment, or
- /// LZMA_SUBBLOCK_ALIGNMENT_DEFAULT if options is NULL.
- uint32_t multiple;
-
- /// Number of input bytes which we have processed and started
- /// writing out. 32-bit integer is enough since we care only
- /// about the lowest bits when fixing alignment.
- uint32_t in_pos;
-
- /// Number of bytes written out.
- uint32_t out_pos;
- } alignment;
-
- struct {
- /// Pointer to allocated buffer holding the Data field
- /// of Subblock Type "Data".
- uint8_t *data;
-
- /// Number of bytes in the buffer.
- size_t size;
-
- /// Allocated size of the buffer.
- size_t limit;
-
- /// Number of input bytes that we have already read but
- /// not yet started writing out. This can be different
- /// to `size' when using Subfilter. That's why we track
- /// in_pending separately for RLE (see below).
- uint32_t in_pending;
- } subblock;
-
- struct {
- /// Buffer to hold the data that may be coded with
- /// Subblock Type `Repeating Data'.
- uint8_t buffer[LZMA_SUBBLOCK_RLE_MAX];
-
- /// Number of bytes in buffer[].
- size_t size;
-
- /// Number of times the first `size' bytes of buffer[]
- /// will be repeated.
- uint64_t count;
-
- /// Like subblock.in_pending above, but for RLE.
- uint32_t in_pending;
- } rle;
-
- struct {
- enum {
- SUB_NONE,
- SUB_SET,
- SUB_RUN,
- SUB_FLUSH,
- SUB_FINISH,
- SUB_END_MARKER,
- } mode;
-
- /// This is a copy of options->allow_subfilters. We use
- /// this to verify that the application doesn't change
- /// the value of allow_subfilters.
- bool allow;
-
- /// When this is true, application is not allowed to modify
- /// options->subblock_mode. We may still modify it here.
- bool mode_locked;
-
- /// True if we have encoded at least one byte of data with
- /// the Subfilter.
- bool got_input;
-
- /// Track the amount of input available once
- /// LZMA_SUBFILTER_FINISH has been enabled.
- /// This is needed for sanity checking (kind
- /// of duplicating what common/code.c does).
- size_t in_avail;
-
- /// Buffer for the Filter Flags field written after
- /// the `Set Subfilter' indicator.
- uint8_t *flags;
-
- /// Size of Filter Flags field.
- uint32_t flags_size;
-
- /// Pointers to Subfilter.
- lzma_next_coder subcoder;
-
- } subfilter;
-
- /// Temporary buffer used when we are not the last filter in the chain.
- struct {
- size_t pos;
- size_t size;
- uint8_t buffer[LZMA_BUFFER_SIZE];
- } temp;
-};
-
-
-/// \brief Aligns the output buffer
-///
-/// Aligns the output buffer so that after skew bytes the output position is
-/// a multiple of coder->alignment.multiple.
-static bool
-subblock_align(lzma_coder *coder, uint8_t *restrict out,
- size_t *restrict out_pos, size_t out_size,
- size_t chunk_size, uint32_t skew)
-{
- assert(*out_pos < out_size);
-
- // Fix the alignment only if it makes sense at least a little.
- if (chunk_size >= MIN_CHUNK_SIZE_FOR_ALIGN) {
- const uint32_t target = coder->alignment.in_pos
- % coder->alignment.multiple;
-
- while ((coder->alignment.out_pos + skew)
- % coder->alignment.multiple != target) {
- // Zero indicates padding.
- write_byte(0x00);
-
- // Check if output buffer got full and indicate it to
- // the caller.
- if (*out_pos == out_size)
- return true;
- }
- }
-
- // Output buffer is not full.
- return false;
-}
-
-
-/// \brief Checks if buffer contains repeated data
-///
-/// \param needle Buffer containing a single repeat chunk
-/// \param needle_size Size of needle in bytes
-/// \param buf Buffer to search for repeated needles
-/// \param buf_chunks Buffer size is buf_chunks * needle_size.
-///
-/// \return True if the whole buf is filled with repeated needles.
-///
-static bool
-is_repeating(const uint8_t *restrict needle, size_t needle_size,
- const uint8_t *restrict buf, size_t buf_chunks)
-{
- while (buf_chunks-- != 0) {
- if (memcmp(buf, needle, needle_size) != 0)
- return false;
-
- buf += needle_size;
- }
-
- return true;
-}
-
-
-/// \brief Optimizes the repeating style and updates coder->sequence
-static void
-subblock_rle_flush(lzma_coder *coder)
-{
- // The Subblock decoder can use memset() when the size of the data
- // being repeated is one byte, so we check if the RLE buffer is
- // filled with a single repeating byte.
- if (coder->rle.size > 1) {
- const uint8_t b = coder->rle.buffer[0];
- size_t i = 0;
- while (true) {
- if (coder->rle.buffer[i] != b)
- break;
-
- if (++i == coder->rle.size) {
- // TODO Integer overflow check maybe,
- // although this needs at least 2**63 bytes
- // of input until it gets triggered...
- coder->rle.count *= coder->rle.size;
- coder->rle.size = 1;
- break;
- }
- }
- }
-
- if (coder->rle.count == 1) {
- // The buffer should be repeated only once. It is
- // waste of space to use Repeating Data. Instead,
- // write a regular Data Subblock. See SEQ_RLE_COUNT_0
- // in subblock_buffer() for more info.
- coder->tmp = coder->rle.size - 1;
- } else if (coder->rle.count > REPEAT_COUNT_MAX) {
- // There's so much to repeat that it doesn't fit into
- // 28-bit integer. We will write two or more Subblocks
- // of type Repeating Data.
- coder->tmp = REPEAT_COUNT_MAX - 1;
- } else {
- coder->tmp = coder->rle.count - 1;
- }
-
- coder->sequence = SEQ_RLE_COUNT_0;
-
- return;
-}
-
-
-/// \brief Resizes coder->subblock.data for a new size limit
-static lzma_ret
-subblock_data_size(lzma_coder *coder, lzma_allocator *allocator,
- size_t new_limit)
-{
- // Verify that the new limit is valid.
- if (new_limit < LZMA_SUBBLOCK_DATA_SIZE_MIN
- || new_limit > LZMA_SUBBLOCK_DATA_SIZE_MAX)
- return LZMA_OPTIONS_ERROR;
-
- // Ff the new limit is different than the previous one, we need
- // to reallocate the data buffer.
- if (new_limit != coder->subblock.limit) {
- lzma_free(coder->subblock.data, allocator);
- coder->subblock.data = lzma_alloc(new_limit, allocator);
- if (coder->subblock.data == NULL)
- return LZMA_MEM_ERROR;
- }
-
- coder->subblock.limit = new_limit;
-
- return LZMA_OK;
-}
-
-
-static lzma_ret
-subblock_buffer(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)
-{
- // Changing allow_subfilter is not allowed.
- if (coder->options != NULL && coder->subfilter.allow
- != coder->options->allow_subfilters)
- return LZMA_PROG_ERROR;
-
- // Check if we need to do something special with the Subfilter.
- if (coder->subfilter.allow) {
- assert(coder->options != NULL);
-
- // See if subfilter_mode has been changed.
- switch (coder->options->subfilter_mode) {
- case LZMA_SUBFILTER_NONE:
- if (coder->subfilter.mode != SUB_NONE)
- return LZMA_PROG_ERROR;
- break;
-
- case LZMA_SUBFILTER_SET:
- if (coder->subfilter.mode_locked
- || coder->subfilter.mode != SUB_NONE)
- return LZMA_PROG_ERROR;
-
- coder->subfilter.mode = SUB_SET;
- coder->subfilter.got_input = false;
-
- if (coder->sequence == SEQ_FILL)
- coder->sequence = SEQ_FLUSH;
-
- break;
-
- case LZMA_SUBFILTER_RUN:
- if (coder->subfilter.mode != SUB_RUN)
- return LZMA_PROG_ERROR;
-
- break;
-
- case LZMA_SUBFILTER_FINISH: {
- const size_t in_avail = in_size - *in_pos;
-
- if (coder->subfilter.mode == SUB_RUN) {
- if (coder->subfilter.mode_locked)
- return LZMA_PROG_ERROR;
-
- coder->subfilter.mode = SUB_FINISH;
- coder->subfilter.in_avail = in_avail;
-
- } else if (coder->subfilter.mode != SUB_FINISH
- || coder->subfilter.in_avail
- != in_avail) {
- return LZMA_PROG_ERROR;
- }
-
- break;
- }
-
- default:
- return LZMA_OPTIONS_ERROR;
- }
-
- // If we are sync-flushing or finishing, the application may
- // no longer change subfilter_mode. Note that this check is
- // done after checking the new subfilter_mode above; this
- // way the application may e.g. set LZMA_SUBFILTER_SET and
- // LZMA_SYNC_FLUSH at the same time, but it cannot modify
- // subfilter_mode on the later lzma_code() calls before
- // we have returned LZMA_STREAM_END.
- if (action != LZMA_RUN)
- coder->subfilter.mode_locked = true;
- }
-
- // Main loop
- while (*out_pos < out_size)
- switch (coder->sequence) {
- case SEQ_FILL:
- // Grab the new Subblock Data Size and reallocate the buffer.
- if (coder->subblock.size == 0 && coder->options != NULL
- && coder->options->subblock_data_size
- != coder->subblock.limit)
- return_if_error(subblock_data_size(coder,
- allocator, coder->options
- ->subblock_data_size));
-
- if (coder->subfilter.mode == SUB_NONE) {
- assert(coder->subfilter.subcoder.code == NULL);
-
- // No Subfilter is enabled, just copy the data as is.
- coder->subblock.in_pending += lzma_bufcpy(
- in, in_pos, in_size,
- coder->subblock.data,
- &coder->subblock.size,
- coder->subblock.limit);
-
- // If we ran out of input before the whole buffer
- // was filled, return to application.
- if (coder->subblock.size < coder->subblock.limit
- && action == LZMA_RUN)
- return LZMA_OK;
-
- } else {
- assert(coder->options->subfilter_mode
- != LZMA_SUBFILTER_SET);
-
- // Using LZMA_FINISH automatically toggles
- // LZMA_SUBFILTER_FINISH.
- //
- // NOTE: It is possible that application had set
- // LZMA_SUBFILTER_SET and LZMA_FINISH at the same
- // time. In that case it is possible that we will
- // cycle to LZMA_SUBFILTER_RUN, LZMA_SUBFILTER_FINISH,
- // and back to LZMA_SUBFILTER_NONE in a single
- // Subblock encoder function call.
- if (action == LZMA_FINISH) {
- coder->options->subfilter_mode
- = LZMA_SUBFILTER_FINISH;
- coder->subfilter.mode = SUB_FINISH;
- }
-
- const size_t in_start = *in_pos;
-
- const lzma_ret ret = coder->subfilter.subcoder.code(
- coder->subfilter.subcoder.coder,
- allocator, in, in_pos, in_size,
- coder->subblock.data,
- &coder->subblock.size,
- coder->subblock.limit,
- coder->subfilter.mode == SUB_FINISH
- ? LZMA_FINISH : action);
-
- const size_t in_used = *in_pos - in_start;
- coder->subblock.in_pending += in_used;
- if (in_used > 0)
- coder->subfilter.got_input = true;
-
- coder->subfilter.in_avail = in_size - *in_pos;
-
- if (ret == LZMA_STREAM_END) {
- // All currently available input must have
- // been processed.
- assert(*in_pos == in_size);
-
- // Flush now. Even if coder->subblock.size
- // happened to be zero, we still need to go
- // to SEQ_FLUSH to possibly finish RLE or
- // write the Subfilter Unset indicator.
- coder->sequence = SEQ_FLUSH;
-
- if (coder->subfilter.mode == SUB_RUN) {
- // Flushing with Subfilter enabled.
- assert(action == LZMA_SYNC_FLUSH);
- coder->subfilter.mode = SUB_FLUSH;
- break;
- }
-
- // Subfilter finished its job.
- assert(coder->subfilter.mode == SUB_FINISH
- || action == LZMA_FINISH);
-
- // At least one byte of input must have been
- // encoded with the Subfilter. This is
- // required by the file format specification.
- if (!coder->subfilter.got_input)
- return LZMA_PROG_ERROR;
-
- // We don't strictly need to do this, but
- // doing it sounds like a good idea, because
- // otherwise the Subfilter's memory could be
- // left allocated for long time, and would
- // just waste memory.
- lzma_next_end(&coder->subfilter.subcoder,
- allocator);
-
- // We need to flush the currently buffered
- // data and write Unset Subfilter marker.
- // Note that we cannot set
- // coder->options->subfilter_mode to
- // LZMA_SUBFILTER_NONE yet, because we
- // haven't written the Unset Subfilter
- // marker yet.
- coder->subfilter.mode = SUB_END_MARKER;
- coder->sequence = SEQ_FLUSH;
- break;
- }
-
- // Return if we couldn't fill the buffer or
- // if an error occurred.
- if (coder->subblock.size < coder->subblock.limit
- || ret != LZMA_OK)
- return ret;
- }
-
- coder->sequence = SEQ_FLUSH;
-
- // SEQ_FILL doesn't produce any output so falling through
- // to SEQ_FLUSH is safe.
- assert(*out_pos < out_size);
-
- // Fall through
-
- case SEQ_FLUSH:
- if (coder->options != NULL) {
- // Update the alignment variable.
- coder->alignment.multiple = coder->options->alignment;
- if (coder->alignment.multiple
- < LZMA_SUBBLOCK_ALIGNMENT_MIN
- || coder->alignment.multiple
- > LZMA_SUBBLOCK_ALIGNMENT_MAX)
- return LZMA_OPTIONS_ERROR;
-
- // Run-length encoder
- //
- // First check if there is some data pending and we
- // have an obvious need to flush it immediately.
- if (coder->rle.count > 0
- && (coder->rle.size
- != coder->options->rle
- || coder->subblock.size
- % coder->rle.size)) {
- subblock_rle_flush(coder);
- break;
- }
-
- // Grab the (possibly new) RLE chunk size and
- // validate it.
- coder->rle.size = coder->options->rle;
- if (coder->rle.size > LZMA_SUBBLOCK_RLE_MAX)
- return LZMA_OPTIONS_ERROR;
-
- if (coder->subblock.size != 0
- && coder->rle.size
- != LZMA_SUBBLOCK_RLE_OFF
- && coder->subblock.size
- % coder->rle.size == 0) {
-
- // Initialize coder->rle.buffer if we don't
- // have RLE already running.
- if (coder->rle.count == 0)
- memcpy(coder->rle.buffer,
- coder->subblock.data,
- coder->rle.size);
-
- // Test if coder->subblock.data is repeating.
- // If coder->rle.count would overflow, we
- // force flushing. Forced flushing shouldn't
- // really happen in real-world situations.
- const size_t count = coder->subblock.size
- / coder->rle.size;
- if (UINT64_MAX - count > coder->rle.count
- && is_repeating(
- coder->rle.buffer,
- coder->rle.size,
- coder->subblock.data,
- count)) {
- coder->rle.count += count;
- coder->rle.in_pending += coder
- ->subblock.in_pending;
- coder->subblock.in_pending = 0;
- coder->subblock.size = 0;
-
- } else if (coder->rle.count > 0) {
- // It's not repeating or at least not
- // with the same byte sequence as the
- // earlier Subblock Data buffers. We
- // have some data pending in the RLE
- // buffer already, so do a flush.
- // Once flushed, we will check again
- // if the Subblock Data happens to
- // contain a different repeating
- // sequence.
- subblock_rle_flush(coder);
- break;
- }
- }
- }
-
- // If we now have some data left in coder->subblock, the RLE
- // buffer is empty and we must write a regular Subblock Data.
- if (coder->subblock.size > 0) {
- assert(coder->rle.count == 0);
- coder->tmp = coder->subblock.size - 1;
- coder->sequence = SEQ_DATA_SIZE_0;
- break;
- }
-
- // Check if we should enable Subfilter.
- if (coder->subfilter.mode == SUB_SET) {
- if (coder->rle.count > 0)
- subblock_rle_flush(coder);
- else
- coder->sequence = SEQ_SUBFILTER_INIT;
- break;
- }
-
- // Check if we have just finished Subfiltering.
- if (coder->subfilter.mode == SUB_END_MARKER) {
- if (coder->rle.count > 0) {
- subblock_rle_flush(coder);
- break;
- }
-
- coder->options->subfilter_mode = LZMA_SUBFILTER_NONE;
- coder->subfilter.mode = SUB_NONE;
-
- write_byte(0x50);
- if (*out_pos == out_size)
- return LZMA_OK;
- }
-
- // Check if we have already written everything.
- if (action != LZMA_RUN && *in_pos == in_size
- && (coder->subfilter.mode == SUB_NONE
- || coder->subfilter.mode == SUB_FLUSH)) {
- if (coder->rle.count > 0) {
- subblock_rle_flush(coder);
- break;
- }
-
- if (action == LZMA_SYNC_FLUSH) {
- if (coder->subfilter.mode == SUB_FLUSH)
- coder->subfilter.mode = SUB_RUN;
-
- coder->subfilter.mode_locked = false;
- coder->sequence = SEQ_FILL;
-
- } else {
- assert(action == LZMA_FINISH);
-
- // Write EOPM.
- // NOTE: No need to use write_byte() here
- // since we are finishing.
- out[*out_pos] = 0x10;
- ++*out_pos;
- }
-
- return LZMA_STREAM_END;
- }
-
- // Otherwise we have more work to do.
- coder->sequence = SEQ_FILL;
- break;
-
- case SEQ_RLE_COUNT_0:
- assert(coder->rle.count > 0);
-
- if (coder->rle.count == 1) {
- // The buffer should be repeated only once. Fix
- // the alignment and write the first byte of
- // Subblock Type `Data'.
- if (subblock_align(coder, out, out_pos, out_size,
- coder->rle.size, ALIGN_SKEW_DATA))
- return LZMA_OK;
-
- write_byte(0x20 | (coder->tmp & 0x0F));
-
- } else {
- // We have something to actually repeat, which should
- // mean that it takes less space with run-length
- // encoding.
- if (subblock_align(coder, out, out_pos, out_size,
- coder->rle.size,
- ALIGN_SKEW_REPEATING_DATA))
- return LZMA_OK;
-
- write_byte(0x30 | (coder->tmp & 0x0F));
- }
-
- // NOTE: If we have to write more than one Repeating Data
- // due to rle.count > REPEAT_COUNT_MAX, the subsequent
- // Repeating Data Subblocks may get wrong alignment, because
- // we add rle.in_pending to alignment.in_pos at once instead
- // of adding only as much as this particular Repeating Data
- // consumed input data. Correct alignment is always restored
- // after all the required Repeating Data Subblocks have been
- // written. This problem occurs in such a weird cases that
- // it's not worth fixing.
- coder->alignment.out_pos += coder->rle.size;
- coder->alignment.in_pos += coder->rle.in_pending;
- coder->rle.in_pending = 0;
-
- coder->sequence = SEQ_RLE_COUNT_1;
- break;
-
- case SEQ_RLE_COUNT_1:
- write_byte(coder->tmp >> 4);
- coder->sequence = SEQ_RLE_COUNT_2;
- break;
-
- case SEQ_RLE_COUNT_2:
- write_byte(coder->tmp >> 12);
- coder->sequence = SEQ_RLE_COUNT_3;
- break;
-
- case SEQ_RLE_COUNT_3:
- write_byte(coder->tmp >> 20);
-
- // Again, see if we are writing regular Data or Repeating Data.
- // In the former case, we skip SEQ_RLE_SIZE.
- if (coder->rle.count == 1)
- coder->sequence = SEQ_RLE_DATA;
- else
- coder->sequence = SEQ_RLE_SIZE;
-
- if (coder->rle.count > REPEAT_COUNT_MAX)
- coder->rle.count -= REPEAT_COUNT_MAX;
- else
- coder->rle.count = 0;
-
- break;
-
- case SEQ_RLE_SIZE:
- assert(coder->rle.size >= LZMA_SUBBLOCK_RLE_MIN);
- assert(coder->rle.size <= LZMA_SUBBLOCK_RLE_MAX);
- write_byte(coder->rle.size - 1);
- coder->sequence = SEQ_RLE_DATA;
- break;
-
- case SEQ_RLE_DATA:
- lzma_bufcpy(coder->rle.buffer, &coder->pos, coder->rle.size,
- out, out_pos, out_size);
- if (coder->pos < coder->rle.size)
- return LZMA_OK;
-
- coder->pos = 0;
- coder->sequence = SEQ_FLUSH;
- break;
-
- case SEQ_DATA_SIZE_0:
- // We need four bytes for the Size field.
- if (subblock_align(coder, out, out_pos, out_size,
- coder->subblock.size, ALIGN_SKEW_DATA))
- return LZMA_OK;
-
- coder->alignment.out_pos += coder->subblock.size;
- coder->alignment.in_pos += coder->subblock.in_pending;
- coder->subblock.in_pending = 0;
-
- write_byte(0x20 | (coder->tmp & 0x0F));
- coder->sequence = SEQ_DATA_SIZE_1;
- break;
-
- case SEQ_DATA_SIZE_1:
- write_byte(coder->tmp >> 4);
- coder->sequence = SEQ_DATA_SIZE_2;
- break;
-
- case SEQ_DATA_SIZE_2:
- write_byte(coder->tmp >> 12);
- coder->sequence = SEQ_DATA_SIZE_3;
- break;
-
- case SEQ_DATA_SIZE_3:
- write_byte(coder->tmp >> 20);
- coder->sequence = SEQ_DATA;
- break;
-
- case SEQ_DATA:
- lzma_bufcpy(coder->subblock.data, &coder->pos,
- coder->subblock.size, out, out_pos, out_size);
- if (coder->pos < coder->subblock.size)
- return LZMA_OK;
-
- coder->subblock.size = 0;
- coder->pos = 0;
- coder->sequence = SEQ_FLUSH;
- break;
-
- case SEQ_SUBFILTER_INIT: {
- assert(coder->subblock.size == 0);
- assert(coder->subblock.in_pending == 0);
- assert(coder->rle.count == 0);
- assert(coder->rle.in_pending == 0);
- assert(coder->subfilter.mode == SUB_SET);
- assert(coder->options != NULL);
-
- // There must be a filter specified.
- if (coder->options->subfilter_options.id == LZMA_VLI_UNKNOWN)
- return LZMA_OPTIONS_ERROR;
-
- // Initialize a raw encoder to work as a Subfilter.
- lzma_filter options[2];
- options[0] = coder->options->subfilter_options;
- options[1].id = LZMA_VLI_UNKNOWN;
-
- return_if_error(lzma_raw_encoder_init(
- &coder->subfilter.subcoder, allocator,
- options));
-
- // Encode the Filter Flags field into a buffer. This should
- // never fail since we have already successfully initialized
- // the Subfilter itself. Check it still, and return
- // LZMA_PROG_ERROR instead of whatever the ret would say.
- lzma_ret ret = lzma_filter_flags_size(
- &coder->subfilter.flags_size, options);
- assert(ret == LZMA_OK);
- if (ret != LZMA_OK)
- return LZMA_PROG_ERROR;
-
- coder->subfilter.flags = lzma_alloc(
- coder->subfilter.flags_size, allocator);
- if (coder->subfilter.flags == NULL)
- return LZMA_MEM_ERROR;
-
- // Now we have a big-enough buffer. Encode the Filter Flags.
- // Like above, this should never fail.
- size_t dummy = 0;
- ret = lzma_filter_flags_encode(options, coder->subfilter.flags,
- &dummy, coder->subfilter.flags_size);
- assert(ret == LZMA_OK);
- assert(dummy == coder->subfilter.flags_size);
- if (ret != LZMA_OK || dummy != coder->subfilter.flags_size)
- return LZMA_PROG_ERROR;
-
- // Write a Subblock indicating a new Subfilter.
- write_byte(0x40);
-
- coder->options->subfilter_mode = LZMA_SUBFILTER_RUN;
- coder->subfilter.mode = SUB_RUN;
- coder->alignment.out_pos += coder->subfilter.flags_size;
- coder->sequence = SEQ_SUBFILTER_FLAGS;
-
- // It is safe to fall through because SEQ_SUBFILTER_FLAGS
- // uses lzma_bufcpy() which doesn't write unless there is
- // output space.
- }
-
- // Fall through
-
- case SEQ_SUBFILTER_FLAGS:
- // Copy the Filter Flags to the output stream.
- lzma_bufcpy(coder->subfilter.flags, &coder->pos,
- coder->subfilter.flags_size,
- out, out_pos, out_size);
- if (coder->pos < coder->subfilter.flags_size)
- return LZMA_OK;
-
- lzma_free(coder->subfilter.flags, allocator);
- coder->subfilter.flags = NULL;
-
- coder->pos = 0;
- coder->sequence = SEQ_FILL;
- break;
-
- default:
- return LZMA_PROG_ERROR;
- }
-
- return LZMA_OK;
-}
-
-
-static lzma_ret
-subblock_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)
-{
- if (coder->next.code == NULL)
- return subblock_buffer(coder, allocator, in, in_pos, in_size,
- out, out_pos, out_size, action);
-
- while (*out_pos < out_size
- && (*in_pos < in_size || action != LZMA_RUN)) {
- 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) {
- assert(action != LZMA_RUN);
- coder->next_finished = true;
- } else if (coder->temp.size == 0 || ret != LZMA_OK) {
- return ret;
- }
- }
-
- const lzma_ret ret = subblock_buffer(coder, allocator,
- coder->temp.buffer, &coder->temp.pos,
- coder->temp.size, out, out_pos, out_size,
- coder->next_finished ? LZMA_FINISH : LZMA_RUN);
- if (ret == LZMA_STREAM_END) {
- assert(action != LZMA_RUN);
- assert(coder->next_finished);
- return LZMA_STREAM_END;
- }
-
- if (ret != LZMA_OK)
- return ret;
- }
-
- return LZMA_OK;
-}
-
-
-static void
-subblock_encoder_end(lzma_coder *coder, lzma_allocator *allocator)
-{
- lzma_next_end(&coder->next, allocator);
- lzma_next_end(&coder->subfilter.subcoder, allocator);
- lzma_free(coder->subblock.data, allocator);
- lzma_free(coder->subfilter.flags, allocator);
- lzma_free(coder, allocator);
- return;
-}
-
-
-extern lzma_ret
-lzma_subblock_encoder_init(lzma_next_coder *next, lzma_allocator *allocator,
- const lzma_filter_info *filters)
-{
- if (next->coder == NULL) {
- next->coder = lzma_alloc(sizeof(lzma_coder), allocator);
- if (next->coder == NULL)
- return LZMA_MEM_ERROR;
-
- next->code = &subblock_encode;
- next->end = &subblock_encoder_end;
-
- next->coder->next = LZMA_NEXT_CODER_INIT;
- next->coder->subblock.data = NULL;
- next->coder->subblock.limit = 0;
- next->coder->subfilter.subcoder = LZMA_NEXT_CODER_INIT;
- } else {
- lzma_next_end(&next->coder->subfilter.subcoder,
- allocator);
- lzma_free(next->coder->subfilter.flags, allocator);
- }
-
- next->coder->subfilter.flags = NULL;
-
- next->coder->next_finished = false;
- next->coder->sequence = SEQ_FILL;
- next->coder->options = filters[0].options;
- next->coder->pos = 0;
-
- next->coder->alignment.in_pos = 0;
- next->coder->alignment.out_pos = 0;
- next->coder->subblock.size = 0;
- next->coder->subblock.in_pending = 0;
- next->coder->rle.count = 0;
- next->coder->rle.in_pending = 0;
- next->coder->subfilter.mode = SUB_NONE;
- next->coder->subfilter.mode_locked = false;
-
- next->coder->temp.pos = 0;
- next->coder->temp.size = 0;
-
- // Grab some values from the options structure if it is available.
- size_t subblock_size_limit;
- if (next->coder->options != NULL) {
- if (next->coder->options->alignment
- < LZMA_SUBBLOCK_ALIGNMENT_MIN
- || next->coder->options->alignment
- > LZMA_SUBBLOCK_ALIGNMENT_MAX) {
- subblock_encoder_end(next->coder, allocator);
- return LZMA_OPTIONS_ERROR;
- }
- next->coder->alignment.multiple
- = next->coder->options->alignment;
- next->coder->subfilter.allow
- = next->coder->options->allow_subfilters;
- subblock_size_limit = next->coder->options->subblock_data_size;
- } else {
- next->coder->alignment.multiple
- = LZMA_SUBBLOCK_ALIGNMENT_DEFAULT;
- next->coder->subfilter.allow = false;
- subblock_size_limit = LZMA_SUBBLOCK_DATA_SIZE_DEFAULT;
- }
-
- return_if_error(subblock_data_size(next->coder, allocator,
- subblock_size_limit));
-
- return lzma_next_filter_init(
- &next->coder->next, allocator, filters + 1);
-}
diff --git a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h b/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h
deleted file mode 100644
index ddbfe64bce8..00000000000
--- a/Build/source/extra/xz/src/liblzma/subblock/subblock_encoder.h
+++ /dev/null
@@ -1,21 +0,0 @@
-///////////////////////////////////////////////////////////////////////////////
-//
-/// \file subblock_encoder.h
-/// \brief Encoder of the Subblock filter
-//
-// Author: Lasse Collin
-//
-// This file has been put into the public domain.
-// You can do whatever you want with this file.
-//
-///////////////////////////////////////////////////////////////////////////////
-
-#ifndef LZMA_SUBBLOCK_ENCODER_H
-#define LZMA_SUBBLOCK_ENCODER_H
-
-#include "common.h"
-
-extern lzma_ret lzma_subblock_encoder_init(lzma_next_coder *next,
- lzma_allocator *allocator, const lzma_filter_info *filters);
-
-#endif
diff --git a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c b/Build/source/extra/xz/src/lzmainfo/lzmainfo.c
index 3100dc631af..b0ccdfb430e 100644
--- a/Build/source/extra/xz/src/lzmainfo/lzmainfo.c
+++ b/Build/source/extra/xz/src/lzmainfo/lzmainfo.c
@@ -26,7 +26,7 @@
#endif
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
help(void)
{
printf(
@@ -45,7 +45,7 @@ _("Usage: %s [--help] [--version] [FILE]...\n"
}
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
version(void)
{
puts("lzmainfo (" PACKAGE_NAME ") " LZMA_VERSION_STRING);
diff --git a/Build/source/extra/xz/src/scripts/xzgrep.in b/Build/source/extra/xz/src/scripts/xzgrep.in
index a8b8117a0c1..ae30725c69f 100644
--- a/Build/source/extra/xz/src/scripts/xzgrep.in
+++ b/Build/source/extra/xz/src/scripts/xzgrep.in
@@ -27,7 +27,7 @@
xz='@xz@ --format=auto'
unset GZIP BZIP BZIP2
-case ${0##/*} in
+case ${0##*/} in
*egrep*) prog=xzegrep; grep=${GREP:-egrep};;
*fgrep*) prog=xzfgrep; grep=${GREP:-fgrep};;
*) prog=xzgrep; grep=${GREP:-grep};;
@@ -35,7 +35,7 @@ esac
version="$prog (@PACKAGE_NAME@) @VERSION@"
-usage="Usage: ${0##/*} [OPTION]... [-e] PATTERN [FILE]...
+usage="Usage: ${0##*/} [OPTION]... [-e] PATTERN [FILE]...
Look for instances of PATTERN in the input FILEs, using their
uncompressed contents if they are compressed.
diff --git a/Build/source/extra/xz/src/xz/coder.c b/Build/source/extra/xz/src/xz/coder.c
index 5182dddc3ff..b123ec5bf2b 100644
--- a/Build/source/extra/xz/src/xz/coder.c
+++ b/Build/source/extra/xz/src/xz/coder.c
@@ -102,7 +102,7 @@ coder_add_filter(lzma_vli id, void *options)
}
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
memlimit_too_small(uint64_t memory_usage)
{
message(V_ERROR, _("Memory usage limit is too low for the given "
diff --git a/Build/source/extra/xz/src/xz/file_io.c b/Build/source/extra/xz/src/xz/file_io.c
index 09edcca69eb..f9b7f305e09 100644
--- a/Build/source/extra/xz/src/xz/file_io.c
+++ b/Build/source/extra/xz/src/xz/file_io.c
@@ -53,7 +53,7 @@ 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 and stderr are connected to
+ // 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.
diff --git a/Build/source/extra/xz/src/xz/hardware.h b/Build/source/extra/xz/src/xz/hardware.h
index bed952b07d2..ad526f260bc 100644
--- a/Build/source/extra/xz/src/xz/hardware.h
+++ b/Build/source/extra/xz/src/xz/hardware.h
@@ -35,4 +35,4 @@ extern void hardware_memlimit_set(uint64_t new_memlimit,
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));
+extern void hardware_memlimit_show(void) lzma_attribute((__noreturn__));
diff --git a/Build/source/extra/xz/src/xz/message.c b/Build/source/extra/xz/src/xz/message.c
index 38cce4a1b0f..80c86a49c3d 100644
--- a/Build/source/extra/xz/src/xz/message.c
+++ b/Build/source/extra/xz/src/xz/message.c
@@ -94,7 +94,7 @@ static volatile sig_atomic_t progress_needs_updating = false;
/// Signal handler for SIGALRM
static void
-progress_signal_handler(int sig lzma_attribute((unused)))
+progress_signal_handler(int sig lzma_attribute((__unused__)))
{
progress_needs_updating = true;
return;
@@ -726,7 +726,11 @@ vmessage(enum message_verbosity v, const char *fmt, va_list ap)
progress_flush(false);
- fprintf(stderr, "%s: ", progname);
+ // 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);
diff --git a/Build/source/extra/xz/src/xz/message.h b/Build/source/extra/xz/src/xz/message.h
index e3fca3cc42c..74599bd978a 100644
--- a/Build/source/extra/xz/src/xz/message.h
+++ b/Build/source/extra/xz/src/xz/message.h
@@ -45,7 +45,7 @@ extern enum message_verbosity message_verbosity_get(void);
///
/// This doesn't touch the exit status.
extern void message(enum message_verbosity verbosity, const char *fmt, ...)
- lzma_attribute((format(printf, 2, 3)));
+ lzma_attribute((__format__(__printf__, 2, 3)));
/// \brief Prints a warning and possibly sets exit status
@@ -53,7 +53,7 @@ extern void message(enum message_verbosity verbosity, const char *fmt, ...)
/// 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)));
+ lzma_attribute((__format__(__printf__, 1, 2)));
/// \brief Prints an error message and sets exit status
@@ -61,25 +61,25 @@ extern void message_warning(const char *fmt, ...)
/// 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)));
+ 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));
+ 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));
+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));
+extern void message_signal_handler(void) lzma_attribute((__noreturn__));
/// Convert lzma_ret to a string.
@@ -116,11 +116,11 @@ 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));
+extern void message_version(void) lzma_attribute((__noreturn__));
/// Print the help message.
-extern void message_help(bool long_help) lzma_attribute((noreturn));
+extern void message_help(bool long_help) lzma_attribute((__noreturn__));
/// \brief Set the total number of files to be processed
diff --git a/Build/source/extra/xz/src/xz/options.c b/Build/source/extra/xz/src/xz/options.c
index 379a2e46dc0..f21a0ba5106 100644
--- a/Build/source/extra/xz/src/xz/options.c
+++ b/Build/source/extra/xz/src/xz/options.c
@@ -150,7 +150,7 @@ enum {
static void
set_delta(void *options, uint32_t key, uint64_t value,
- const char *valuestr lzma_attribute((unused)))
+ const char *valuestr lzma_attribute((__unused__)))
{
lzma_options_delta *opt = options;
switch (key) {
@@ -194,7 +194,7 @@ enum {
static void
set_bcj(void *options, uint32_t key, uint64_t value,
- const char *valuestr lzma_attribute((unused)))
+ const char *valuestr lzma_attribute((__unused__)))
{
lzma_options_bcj *opt = options;
switch (key) {
@@ -241,7 +241,7 @@ enum {
};
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
error_lzma_preset(const char *valuestr)
{
message_fatal(_("Unsupported LZMA1/LZMA2 preset: %s"), valuestr);
diff --git a/Build/source/extra/xz/src/xz/signals.c b/Build/source/extra/xz/src/xz/signals.c
index 4d6a9da3162..de213644d00 100644
--- a/Build/source/extra/xz/src/xz/signals.c
+++ b/Build/source/extra/xz/src/xz/signals.c
@@ -179,7 +179,7 @@ signals_exit(void)
// console window.
static BOOL WINAPI
-signal_handler(DWORD type lzma_attribute((unused)))
+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
diff --git a/Build/source/extra/xz/src/xz/util.h b/Build/source/extra/xz/src/xz/util.h
index 4b2d3e2f573..a2516bf9680 100644
--- a/Build/source/extra/xz/src/xz/util.h
+++ b/Build/source/extra/xz/src/xz/util.h
@@ -20,11 +20,11 @@
/// \brief Safe realloc() that never returns NULL
extern void *xrealloc(void *ptr, size_t size)
- lzma_attribute((malloc)) lzma_attr_alloc_size(2);
+ lzma_attribute((__malloc__)) lzma_attr_alloc_size(2);
/// \brief Safe strdup() that never returns NULL
-extern char *xstrdup(const char *src) lzma_attribute((malloc));
+extern char *xstrdup(const char *src) lzma_attribute((__malloc__));
/// \brief Fancy version of strtoull()
@@ -102,7 +102,7 @@ extern const char *uint64_to_nicestr(uint64_t value,
/// 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)));
+ lzma_attribute((__format__(__printf__, 3, 4)));
/// \brief Check if filename is empty and print an error message
diff --git a/Build/source/extra/xz/src/xz/xz.1 b/Build/source/extra/xz/src/xz/xz.1
index cba1d077c2d..f1c9135d159 100644
--- a/Build/source/extra/xz/src/xz/xz.1
+++ b/Build/source/extra/xz/src/xz/xz.1
@@ -866,7 +866,7 @@ 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
+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.
diff --git a/Build/source/extra/xz/src/xzdec/xzdec.c b/Build/source/extra/xz/src/xzdec/xzdec.c
index fd015076de9..b7830db4b52 100644
--- a/Build/source/extra/xz/src/xzdec/xzdec.c
+++ b/Build/source/extra/xz/src/xzdec/xzdec.c
@@ -40,7 +40,7 @@
static unsigned int display_errors = 2;
-static void lzma_attribute((format(printf, 1, 2)))
+static void lzma_attribute((__format__(__printf__, 1, 2)))
my_errorf(const char *fmt, ...)
{
va_list ap;
@@ -57,7 +57,7 @@ my_errorf(const char *fmt, ...)
}
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
help(void)
{
printf(
@@ -81,7 +81,7 @@ PACKAGE_NAME " home page: <" PACKAGE_URL ">\n", progname);
}
-static void lzma_attribute((noreturn))
+static void lzma_attribute((__noreturn__))
version(void)
{
printf(TOOL_FORMAT "dec (" PACKAGE_NAME ") " LZMA_VERSION_STRING "\n"
diff --git a/Build/source/extra/xz/version.sh b/Build/source/extra/xz/version.sh
deleted file mode 100644
index 40d04936288..00000000000
--- a/Build/source/extra/xz/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/windows/INSTALL-Windows.txt b/Build/source/extra/xz/windows/INSTALL-Windows.txt
index 5515708fa77..bb4a4d6625c 100644
--- a/Build/source/extra/xz/windows/INSTALL-Windows.txt
+++ b/Build/source/extra/xz/windows/INSTALL-Windows.txt
@@ -133,7 +133,7 @@ Building XZ Utils
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 the
+ 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/build.sh b/Build/source/extra/xz/windows/build.sh
deleted file mode 100644
index 3c762dc0c1b..00000000000
--- a/Build/source/extra/xz/windows/build.sh
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/bin/sh
-#
-###############################################################################
-#
-# 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 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.sh ]; then
- cd ..
- if [ ! -f windows/build.sh ]; 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-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-threads \
- --enable-dynamic=no \
- --build="$BUILD" \
- CFLAGS="$CFLAGS -O2"
- make 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/"*
-}
-
-# 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_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'
-elif [ -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'
-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}
-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
-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 "" windows/README-Windows.txt
-
-# 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 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
-
-echo
-echo "Build completed successfully."
-echo