diff --git a/CMakeLists.txt b/CMakeLists.txt
index 47cd0d1f43..06e7a46cc8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -588,6 +588,20 @@ else()
add_subdirectory(Externals/bzip2)
endif()
+# macOS ships with liblzma.dylib but no headers, so check for the headers too
+find_package(LibLZMA)
+check_include_file(lzma.h HAVE_LZMA_H)
+if(LIBLZMA_FOUND AND HAVE_LZMA_H)
+ message(STATUS "Using shared lzma")
+else()
+ if(LIBLZMA_FOUND AND NOT HAVE_LZMA_H)
+ message(STATUS "Shared lzma found but lacks headers, falling back to the static library")
+ else()
+ message(STATUS "Shared lzma not found, falling back to the static library")
+ endif()
+ add_subdirectory(Externals/liblzma)
+endif()
+
find_package(ZLIB)
if(ZLIB_FOUND)
message(STATUS "Using shared zlib")
diff --git a/Externals/liblzma/CMakeLists.txt b/Externals/liblzma/CMakeLists.txt
new file mode 100644
index 0000000000..11d6c77035
--- /dev/null
+++ b/Externals/liblzma/CMakeLists.txt
@@ -0,0 +1,226 @@
+project(lzma C)
+
+include(CheckTypeSize)
+include(CheckFunctionExists)
+include(CheckIncludeFile)
+include(CheckCSourceCompiles)
+
+check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+check_include_file(stdint.h HAVE_STDINT_H)
+check_include_file(stddef.h HAVE_STDDEF_H)
+
+# Check to see if we have large file support
+set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
+# We add these other definitions here because CheckTypeSize.cmake
+# in CMake 2.4.x does not automatically do so and we want
+# compatibility with CMake 2.4.x.
+if(HAVE_SYS_TYPES_H)
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
+endif()
+if(HAVE_STDINT_H)
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
+endif()
+if(HAVE_STDDEF_H)
+ list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
+endif()
+check_type_size(off64_t OFF64_T)
+if(HAVE_OFF64_T)
+ add_definitions(-D_LARGEFILE64_SOURCE=1)
+endif()
+set(CMAKE_REQUIRED_DEFINITIONS) # clear variable
+
+# Check for fseeko
+check_function_exists(fseeko HAVE_FSEEKO)
+if(NOT HAVE_FSEEKO)
+ add_definitions(-DNO_FSEEKO)
+endif()
+
+#
+# Check for unistd.h
+#
+check_include_file(unistd.h HAVE_UNISTD_H)
+if(HAVE_UNISTD_H)
+ add_definitions(-DHAVE_UNISTD_H)
+endif()
+
+
+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_DEPRECATE)
+ add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
+endif()
+
+add_definitions(-DHAVE_CONFIG_H)
+add_definitions(-DLZMA_API_STATIC)
+
+#============================================================================
+# lzma
+#============================================================================
+
+set(LZMA_PUBLIC_HDRS
+ api/lzma.h
+ api/lzma/base.h
+ api/lzma/bcj.h
+ api/lzma/block.h
+ api/lzma/check.h
+ api/lzma/container.h
+ api/lzma/delta.h
+ api/lzma/filter.h
+ api/lzma/hardware.h
+ api/lzma/index.h
+ api/lzma/index_hash.h
+ api/lzma/lzma12.h
+ api/lzma/stream_flags.h
+ api/lzma/version.h
+ api/lzma/vli.h
+)
+
+set(LZMA_SRCS
+ check/check.c
+ check/check.h
+ check/crc32_fast.c
+ check/crc32_table_be.h
+ check/crc32_table.c
+ check/crc32_table_le.h
+ check/crc64_fast.c
+ check/crc64_table_be.h
+ check/crc64_table.c
+ check/crc64_table_le.h
+ check/crc_macros.h
+ check/sha256.c
+ common/alone_decoder.c
+ common/alone_decoder.h
+ common/alone_encoder.c
+ common/auto_decoder.c
+ common/block_buffer_decoder.c
+ common/block_buffer_encoder.c
+ common/block_buffer_encoder.h
+ common/block_decoder.c
+ common/block_decoder.h
+ common/block_encoder.c
+ common/block_encoder.h
+ common/block_header_decoder.c
+ common/block_header_encoder.c
+ common/block_util.c
+ common/common.c
+ common/common.h
+ common/easy_buffer_encoder.c
+ common/easy_decoder_memusage.c
+ common/easy_encoder.c
+ common/easy_encoder_memusage.c
+ common/easy_preset.c
+ common/easy_preset.h
+ common/filter_buffer_decoder.c
+ common/filter_buffer_encoder.c
+ common/filter_common.c
+ common/filter_common.h
+ common/filter_decoder.c
+ common/filter_decoder.h
+ common/filter_encoder.c
+ common/filter_encoder.h
+ common/filter_flags_decoder.c
+ common/filter_flags_encoder.c
+ common/hardware_cputhreads.c
+ common/hardware_physmem.c
+ common/index.c
+ common/index_decoder.c
+ common/index_encoder.c
+ common/index_encoder.h
+ common/index.h
+ common/index_hash.c
+ common/memcmplen.h
+ common/outqueue.c
+ common/outqueue.h
+ common/stream_buffer_decoder.c
+ common/stream_buffer_encoder.c
+ common/stream_decoder.c
+ common/stream_decoder.h
+ common/stream_encoder.c
+ common/stream_encoder_mt.c
+ common/stream_flags_common.c
+ common/stream_flags_common.h
+ common/stream_flags_decoder.c
+ common/stream_flags_encoder.c
+ common/vli_decoder.c
+ common/vli_encoder.c
+ common/vli_size.c
+ delta/delta_common.c
+ delta/delta_common.h
+ delta/delta_decoder.c
+ delta/delta_decoder.h
+ delta/delta_encoder.c
+ delta/delta_encoder.h
+ delta/delta_private.h
+ lz/lz_decoder.c
+ lz/lz_decoder.h
+ lz/lz_encoder.c
+ lz/lz_encoder.h
+ lz/lz_encoder_hash.h
+ lz/lz_encoder_hash_table.h
+ lz/lz_encoder_mf.c
+ lzma/fastpos.h
+ lzma/fastpos_table.c
+ lzma/lzma2_decoder.c
+ lzma/lzma2_decoder.h
+ lzma/lzma2_encoder.c
+ lzma/lzma2_encoder.h
+ lzma/lzma_common.h
+ lzma/lzma_decoder.c
+ lzma/lzma_decoder.h
+ lzma/lzma_encoder.c
+ lzma/lzma_encoder.h
+ lzma/lzma_encoder_optimum_fast.c
+ lzma/lzma_encoder_optimum_normal.c
+ lzma/lzma_encoder_presets.c
+ lzma/lzma_encoder_private.h
+ rangecoder/price.h
+ rangecoder/price_table.c
+ rangecoder/range_common.h
+ rangecoder/range_decoder.h
+ rangecoder/range_encoder.h
+ simple/simple_coder.c
+ simple/simple_coder.h
+ simple/simple_decoder.c
+ simple/simple_decoder.h
+ simple/simple_encoder.c
+ simple/simple_encoder.h
+ simple/simple_private.h
+ tuklib/mythread.h
+ tuklib/sysdefs.h
+ tuklib/tuklib_common.h
+ tuklib/tuklib_config.h
+ tuklib/tuklib_cpucores.c
+ tuklib/tuklib_cpucores.h
+ tuklib/tuklib_exit.c
+ tuklib/tuklib_exit.h
+ tuklib/tuklib_gettext.h
+ tuklib/tuklib_integer.h
+ tuklib/tuklib_mbstr_fw.c
+ tuklib/tuklib_mbstr.h
+ tuklib/tuklib_mbstr_width.c
+ tuklib/tuklib_open_stdxxx.c
+ tuklib/tuklib_open_stdxxx.h
+ tuklib/tuklib_physmem.c
+ tuklib/tuklib_physmem.h
+ tuklib/tuklib_progname.c
+ tuklib/tuklib_progname.h
+)
+
+add_library(lzma STATIC ${LZMA_SRCS} ${LZMA_PUBLIC_HDRS})
+add_library(LibLZMA::LibLZMA ALIAS lzma)
+
+target_compile_definitions(lzma PUBLIC LZMA_API_STATIC)
+
+target_include_directories(lzma
+PUBLIC
+ ${CMAKE_CURRENT_SOURCE_DIR}/api
+PRIVATE
+ ${CMAKE_CURRENT_SOURCE_DIR}/
+ ${CMAKE_CURRENT_SOURCE_DIR}/check
+ ${CMAKE_CURRENT_SOURCE_DIR}/common
+ ${CMAKE_CURRENT_SOURCE_DIR}/delta
+ ${CMAKE_CURRENT_SOURCE_DIR}/lz
+ ${CMAKE_CURRENT_SOURCE_DIR}/lzma
+ ${CMAKE_CURRENT_SOURCE_DIR}/rangecoder
+ ${CMAKE_CURRENT_SOURCE_DIR}/simple
+ ${CMAKE_CURRENT_SOURCE_DIR}/tuklib
+)
diff --git a/Externals/liblzma/COPYING b/Externals/liblzma/COPYING
new file mode 100644
index 0000000000..20e60d5b24
--- /dev/null
+++ b/Externals/liblzma/COPYING
@@ -0,0 +1,65 @@
+
+XZ Utils Licensing
+==================
+
+ Different licenses apply to different files in this package. Here
+ is a rough summary of which licenses apply to which parts of this
+ package (but check the individual files to be sure!):
+
+ - liblzma is in the public domain.
+
+ - xz, xzdec, and lzmadec command line tools are in the public
+ domain unless GNU getopt_long had to be compiled and linked
+ in from the lib directory. The getopt_long code is under
+ GNU LGPLv2.1+.
+
+ - The scripts to grep, diff, and view compressed files have been
+ adapted from gzip. These scripts and their documentation are
+ under GNU GPLv2+.
+
+ - All the documentation in the doc directory and most of the
+ XZ Utils specific documentation files in other directories
+ are in the public domain.
+
+ - Translated messages are in the public domain.
+
+ - The build system contains public domain files, and files that
+ are under GNU GPLv2+ or GNU GPLv3+. None of these files end up
+ in the binaries being built.
+
+ - Test files and test code in the tests directory, and debugging
+ utilities in the debug directory are in the public domain.
+
+ - The extra directory may contain public domain files, and files
+ that are under various free software licenses.
+
+ You can do whatever you want with the files that have been put into
+ the public domain. If you find public domain legally problematic,
+ take the previous sentence as a license grant. If you still find
+ the lack of copyright legally problematic, you have too many
+ lawyers.
+
+ As usual, this software is provided "as is", without any warranty.
+
+ If you copy significant amounts of public domain code from XZ Utils
+ into your project, acknowledging this somewhere in your software is
+ polite (especially if it is proprietary, non-free software), but
+ naturally it is not legally required. Here is an example of a good
+ notice to put into "about box" or into documentation:
+
+ This software includes code from XZ Utils .
+
+ The following license texts are included in the following files:
+ - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1
+ - COPYING.GPLv2: GNU General Public License version 2
+ - COPYING.GPLv3: GNU General Public License version 3
+
+ Note that the toolchain (compiler, linker etc.) may add some code
+ pieces that are copyrighted. Thus, it is possible that e.g. liblzma
+ binary wouldn't actually be in the public domain in its entirety
+ even though it contains no copyrighted code from the XZ Utils source
+ package.
+
+ If you have questions, don't hesitate to ask the author(s) for more
+ information.
+
diff --git a/Externals/liblzma/ChangeLog b/Externals/liblzma/ChangeLog
new file mode 100644
index 0000000000..955b113008
--- /dev/null
+++ b/Externals/liblzma/ChangeLog
@@ -0,0 +1,5615 @@
+commit b5be61cc06088bb07f488f9baf7d447ff47b37c1
+Author: Lasse Collin
+Date: 2018-04-29 19:00:06 +0300
+
+ Bump version and soname for 5.2.4.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit c47fa6d06745bb2e99866e76b81ac7a9c5a8bfec
+Author: Lasse Collin
+Date: 2018-04-29 18:48:00 +0300
+
+ extra/scanlzma: Fix compiler warnings.
+
+ extra/scanlzma/scanlzma.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 7b350fe21aa4fd6495a3b6188a40e3f1ae7c0edf
+Author: Lasse Collin
+Date: 2018-04-29 18:15:37 +0300
+
+ Add NEWS for 5.2.4.
+
+ NEWS | 27 +++++++++++++++++++++++++++
+ 1 file changed, 27 insertions(+)
+
+commit 5801591162a280aa52d156dfde42c531ec7fd8b6
+Author: Lasse Collin
+Date: 2018-02-06 19:36:30 +0200
+
+ Update THANKS.
+
+ THANKS | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit c4a616f4536146f8906e1b4412eefeec07b28fae
+Author: Ben Boeckel
+Date: 2018-01-29 13:58:18 -0500
+
+ nothrow: use noexcept for C++11 and newer
+
+ In C++11, the `throw()` specifier is deprecated and `noexcept` is
+ preffered instead.
+
+ src/liblzma/api/lzma.h | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 0b8947782ff3c5ef830a7f85412e44dcf3cdeb77
+Author: Lasse Collin
+Date: 2018-02-06 18:02:48 +0200
+
+ liblzma: Remove incorrect #ifdef from range_common.h.
+
+ In most cases it was harmless but it could affect some
+ custom build systems.
+
+ Thanks to Pippijn van Steenhoven.
+
+ src/liblzma/rangecoder/range_common.h | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+commit 48f3b9f73ffea7f55d5678997aba0e79d2e82168
+Author: Lasse Collin
+Date: 2018-01-10 22:10:39 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit a3ce3e902342be37c626a561ce3d9ffcf27d0f94
+Author: Lasse Collin
+Date: 2018-01-10 21:54:27 +0200
+
+ tuklib_integer: New Intel C compiler needs immintrin.h.
+
+ Thanks to Melanie Blower (Intel) for the patch.
+
+ src/common/tuklib_integer.h | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 4505ca483985f88c6923c05a43b4327feaab83b1
+Author: Lasse Collin
+Date: 2017-09-24 20:04:24 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 1ef3cc226e3ce173575c218238b71a4eecabc470
+Author: Lasse Collin
+Date: 2017-09-16 20:36:20 +0300
+
+ Windows: Fix paths in VS project files.
+
+ Some paths use slashes instead of backslashes as directory
+ separators... now it should work (I tested VS2013 version).
+
+ windows/vs2013/liblzma.vcxproj | 12 ++++++------
+ windows/vs2013/liblzma_dll.vcxproj | 24 ++++++++++++------------
+ windows/vs2017/liblzma.vcxproj | 12 ++++++------
+ windows/vs2017/liblzma_dll.vcxproj | 24 ++++++++++++------------
+ 4 files changed, 36 insertions(+), 36 deletions(-)
+
+commit e775d2a8189d24f60470e6e49d8af881df3a1680
+Author: Lasse Collin
+Date: 2017-09-16 12:54:23 +0300
+
+ Windows: Add project files for VS2017.
+
+ These files match the v5.2 branch (no file info decoder).
+
+ windows/vs2017/config.h | 148 ++++++++++++++
+ windows/vs2017/liblzma.vcxproj | 355 ++++++++++++++++++++++++++++++++++
+ windows/vs2017/liblzma_dll.vcxproj | 384 +++++++++++++++++++++++++++++++++++++
+ windows/vs2017/xz_win.sln | 48 +++++
+ 4 files changed, 935 insertions(+)
+
+commit 10e02e0fbb6e2173f8b41f6e39b7b570f47dd74d
+Author: Lasse Collin
+Date: 2017-09-16 12:39:43 +0300
+
+ Windows: Move VS2013 files into windows/vs2013 directory.
+
+ windows/{ => vs2013}/config.h | 0
+ windows/{ => vs2013}/liblzma.vcxproj | 278 +++++++++++++++---------------
+ windows/{ => vs2013}/liblzma_dll.vcxproj | 280 +++++++++++++++----------------
+ windows/{ => vs2013}/xz_win.sln | 0
+ 4 files changed, 279 insertions(+), 279 deletions(-)
+
+commit 06eebd4543196ded36fa9b8b9544195b38b24ef2
+Author: Lasse Collin
+Date: 2017-08-14 20:08:33 +0300
+
+ Fix or hide warnings from GCC 7's -Wimplicit-fallthrough.
+
+ src/liblzma/lzma/lzma_decoder.c | 6 ++++++
+ src/xz/list.c | 2 ++
+ 2 files changed, 8 insertions(+)
+
+commit ea4ea1dffafebaa8b2770bf3eca46900e4dd22dc
+Author: Alexey Tourbin
+Date: 2017-05-16 23:56:35 +0300
+
+ Docs: Fix a typo in a comment in doc/examples/02_decompress.c.
+
+ doc/examples/02_decompress.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit eb2ef4c79bf405ea0d215f3b1df3d0eaf5e1d27b
+Author: Lasse Collin
+Date: 2017-05-23 18:34:43 +0300
+
+ xz: Fix "xz --list --robot missing_or_bad_file.xz".
+
+ It ended up printing an uninitialized char-array when trying to
+ print the check names (column 7) on the "totals" line.
+
+ This also changes the column 12 (minimum xz version) to
+ 50000002 (xz 5.0.0) instead of 0 when there are no valid
+ input files.
+
+ Thanks to kidmin for the bug report.
+
+ src/xz/list.c | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+commit 3ea5dbd9b0d79048e336e40cef3b6d814fb74e13
+Author: Lasse Collin
+Date: 2017-04-24 19:48:47 +0300
+
+ Build: Omit pre-5.0.0 entries from the generated ChangeLog.
+
+ It makes ChangeLog significantly smaller.
+
+ Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit bae24675936df99064de1502593c006bd902594b
+Author: Lasse Collin
+Date: 2017-04-24 19:30:22 +0300
+
+ Update the Git repository URL to HTTPS in ChangeLog.
+
+ ChangeLog | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 70f479211973b5361f4d7cb08ba5be69b4266e7a
+Author: Lasse Collin
+Date: 2017-04-19 22:17:35 +0300
+
+ Update the home page URLs to HTTPS.
+
+ COPYING | 2 +-
+ README | 2 +-
+ configure.ac | 2 +-
+ doc/faq.txt | 4 ++--
+ dos/config.h | 2 +-
+ src/common/common_w32res.rc | 2 +-
+ src/xz/xz.1 | 6 +++---
+ src/xzdec/xzdec.1 | 4 ++--
+ windows/README-Windows.txt | 2 +-
+ windows/config.h | 2 +-
+ 10 files changed, 14 insertions(+), 14 deletions(-)
+
+commit 2a4b2fa75d06a097261a02ecd3cf2b6d449bf754
+Author: Lasse Collin
+Date: 2017-03-30 22:01:54 +0300
+
+ xz: Use POSIX_FADV_RANDOM for in "xz --list" mode.
+
+ xz --list is random access so POSIX_FADV_SEQUENTIAL was clearly
+ wrong.
+
+ src/xz/file_io.c | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+commit eb25743ade39170cffd9566a1aae272098cce216
+Author: Lasse Collin
+Date: 2017-03-30 19:47:45 +0300
+
+ liblzma: Fix lzma_memlimit_set(strm, 0).
+
+ The 0 got treated specially in a buggy way and as a result
+ the function did nothing. The API doc said that 0 was supposed
+ to return LZMA_PROG_ERROR but it didn't.
+
+ Now 0 is treated as if 1 had been specified. This is done because
+ 0 is already used to indicate an error from lzma_memlimit_get()
+ and lzma_memusage().
+
+ In addition, lzma_memlimit_set() no longer checks that the new
+ limit is at least LZMA_MEMUSAGE_BASE. It's counter-productive
+ for the Index decoder and was actually needed only by the
+ auto decoder. Auto decoder has now been modified to check for
+ LZMA_MEMUSAGE_BASE.
+
+ src/liblzma/api/lzma/base.h | 7 ++++++-
+ src/liblzma/common/auto_decoder.c | 3 +++
+ src/liblzma/common/common.c | 6 ++++--
+ 3 files changed, 13 insertions(+), 3 deletions(-)
+
+commit ef36c6362f3f3853f21b8a6359bcd06576ebf207
+Author: Lasse Collin
+Date: 2017-03-30 19:16:55 +0300
+
+ liblzma: Similar memlimit fix for stream_, alone_, and auto_decoder.
+
+ src/liblzma/api/lzma/container.h | 21 +++++++++++++++++----
+ src/liblzma/common/alone_decoder.c | 5 +----
+ src/liblzma/common/auto_decoder.c | 5 +----
+ src/liblzma/common/stream_decoder.c | 5 +----
+ 4 files changed, 20 insertions(+), 16 deletions(-)
+
+commit 57616032650f03840480b696d7878acdd2065521
+Author: Lasse Collin
+Date: 2017-03-30 18:58:18 +0300
+
+ liblzma: Fix handling of memlimit == 0 in lzma_index_decoder().
+
+ It returned LZMA_PROG_ERROR, which was done to avoid zero as
+ the limit (because it's a special value elsewhere), but using
+ LZMA_PROG_ERROR is simply inconvenient and can cause bugs.
+
+ The fix/workaround is to treat 0 as if it were 1 byte. It's
+ effectively the same thing. The only weird consequence is
+ that then lzma_memlimit_get() will return 1 even when 0 was
+ specified as the limit.
+
+ This fixes a very rare corner case in xz --list where a specific
+ memory usage limit and a multi-stream file could print the
+ error message "Internal error (bug)" instead of saying that
+ the memory usage limit is too low.
+
+ src/liblzma/api/lzma/index.h | 18 +++++++++++-------
+ src/liblzma/common/index_decoder.c | 4 ++--
+ 2 files changed, 13 insertions(+), 9 deletions(-)
+
+commit 3d566cd519017eee1a400e7961ff14058dfaf33c
+Author: Lasse Collin
+Date: 2016-12-30 13:26:36 +0200
+
+ Bump version and soname for 5.2.3.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 053e624fe33795e779ff736f16ce44a129c829b5
+Author: Lasse Collin
+Date: 2016-12-30 13:25:10 +0200
+
+ Update NEWS for 5.2.3.
+
+ NEWS | 39 +++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 39 insertions(+)
+
+commit cae412b2b77d7fd88d187ed7659331709311f80d
+Author: Lasse Collin
+Date: 2015-04-01 14:45:25 +0300
+
+ xz: Fix the Capsicum rights on user_abort_pipe.
+
+ src/xz/file_io.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+commit 9ccbae41000572193b9a09e7102f9e84dc6d96de
+Author: Lasse Collin
+Date: 2016-12-28 21:05:22 +0200
+
+ Mention potential sandboxing bugs in INSTALL.
+
+ INSTALL | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit e013a337d3de77cce24360dffe956ea2339489b6
+Author: Lasse Collin
+Date: 2016-11-21 20:24:50 +0200
+
+ liblzma: Avoid multiple definitions of lzma_coder structures.
+
+ Only one definition was visible in a translation unit.
+ It avoided a few casts and temp variables but seems that
+ this hack doesn't work with link-time optimizations in compilers
+ as it's not C99/C11 compliant.
+
+ Fixes:
+ http://www.mail-archive.com/xz-devel@tukaani.org/msg00279.html
+
+ src/liblzma/common/alone_decoder.c | 44 +++++----
+ src/liblzma/common/alone_encoder.c | 34 ++++---
+ src/liblzma/common/auto_decoder.c | 35 ++++---
+ src/liblzma/common/block_decoder.c | 41 ++++----
+ src/liblzma/common/block_encoder.c | 40 ++++----
+ src/liblzma/common/common.h | 18 ++--
+ src/liblzma/common/index_decoder.c | 33 ++++---
+ src/liblzma/common/index_encoder.c | 16 ++--
+ src/liblzma/common/stream_decoder.c | 50 +++++-----
+ src/liblzma/common/stream_encoder.c | 56 ++++++-----
+ src/liblzma/common/stream_encoder_mt.c | 124 ++++++++++++++-----------
+ src/liblzma/delta/delta_common.c | 25 ++---
+ src/liblzma/delta/delta_decoder.c | 6 +-
+ src/liblzma/delta/delta_encoder.c | 12 ++-
+ src/liblzma/delta/delta_private.h | 4 +-
+ src/liblzma/lz/lz_decoder.c | 60 ++++++------
+ src/liblzma/lz/lz_decoder.h | 13 ++-
+ src/liblzma/lz/lz_encoder.c | 57 +++++++-----
+ src/liblzma/lz/lz_encoder.h | 9 +-
+ src/liblzma/lzma/lzma2_decoder.c | 32 ++++---
+ src/liblzma/lzma/lzma2_encoder.c | 51 +++++-----
+ src/liblzma/lzma/lzma_decoder.c | 27 +++---
+ src/liblzma/lzma/lzma_encoder.c | 29 +++---
+ src/liblzma/lzma/lzma_encoder.h | 9 +-
+ src/liblzma/lzma/lzma_encoder_optimum_fast.c | 3 +-
+ src/liblzma/lzma/lzma_encoder_optimum_normal.c | 23 ++---
+ src/liblzma/lzma/lzma_encoder_private.h | 6 +-
+ 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 | 61 ++++++------
+ src/liblzma/simple/simple_private.h | 12 +--
+ src/liblzma/simple/sparc.c | 2 +-
+ src/liblzma/simple/x86.c | 15 +--
+ 35 files changed, 532 insertions(+), 423 deletions(-)
+
+commit 8e0f1af3dcaec00a3879cce8ad7441edc6359d1c
+Author: Lasse Collin
+Date: 2016-12-26 20:50:25 +0200
+
+ Document --enable-sandbox configure option in INSTALL.
+
+ INSTALL | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit ce2542d220de06acd618fd9f5c0a6683029fb4eb
+Author: Lasse Collin
+Date: 2015-03-31 22:19:34 +0300
+
+ xz: Add support for sandboxing with Capsicum (disabled by default).
+
+ In the v5.2 branch this feature is considered experimental
+ and thus disabled by default.
+
+ The sandboxing is used conditionally as described in main.c.
+ This isn't optimal but it was much easier to implement than
+ a full sandboxing solution and it still covers the most common
+ use cases where xz is writing to standard output. This should
+ have practically no effect on performance even with small files
+ as fork() isn't needed.
+
+ C and locale libraries can open files as needed. This has been
+ fine in the past, but it's a problem with things like Capsicum.
+ io_sandbox_enter() tries to ensure that various locale-related
+ files have been loaded before cap_enter() is called, but it's
+ possible that there are other similar problems which haven't
+ been seen yet.
+
+ Currently Capsicum is available on FreeBSD 10 and later
+ and there is a port to Linux too.
+
+ Thanks to Loganaden Velvindron for help.
+
+ configure.ac | 41 +++++++++++++++++++++++++++
+ src/xz/Makefile.am | 2 +-
+ src/xz/file_io.c | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/xz/file_io.h | 6 ++++
+ src/xz/main.c | 18 ++++++++++++
+ src/xz/private.h | 4 +++
+ 6 files changed, 151 insertions(+), 1 deletion(-)
+
+commit 3ca1d5e6320111043e19434da881065fadafa0e4
+Author: Lasse Collin
+Date: 2015-03-31 21:12:30 +0300
+
+ Fix bugs and otherwise improve ax_check_capsicum.m4.
+
+ AU_ALIAS was removed because the new version is incompatible
+ with the old version.
+
+ It no longer checks for separately.
+ It's enough to test for it as part of AC_CHECK_DECL.
+ The defines HAVE_CAPSICUM_SYS_CAPSICUM_H and
+ HAVE_CAPSICUM_SYS_CAPABILITY_H were removed as unneeded.
+ HAVE_SYS_CAPSICUM_H from AC_CHECK_HEADERS is enough.
+
+ It no longer does a useless search for the Capsicum library
+ if the header wasn't found.
+
+ Fixed a bug in ACTION-IF-FOUND (the first argument). Specifying
+ the argument omitted the default action but the given action
+ wasn't used instead.
+
+ AC_DEFINE([HAVE_CAPSICUM]) is now always called when Capsicum
+ support is found. Previously it was part of the default
+ ACTION-IF-FOUND which a custom action would override. Now
+ the default action only prepends ${CAPSICUM_LIB} to LIBS.
+
+ The documentation was updated.
+
+ Since there as no serial number, "#serial 2" was added.
+
+ m4/ax_check_capsicum.m4 | 103 ++++++++++++++++++++++++------------------------
+ 1 file changed, 51 insertions(+), 52 deletions(-)
+
+commit 5f3a742b64197fe8bedb6f05fc6ce5d177d11145
+Author: Lasse Collin
+Date: 2015-03-31 19:20:24 +0300
+
+ Add m4/ax_check_capsicum.m4 for detecting Capsicum support.
+
+ The file was loaded from this web page:
+ https://github.com/google/capsicum-test/blob/dev/autoconf/m4/ax_check_capsicum.m4
+
+ Thanks to Loganaden Velvindron for pointing it out for me.
+
+ m4/ax_check_capsicum.m4 | 86 +++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 86 insertions(+)
+
+commit d74377e62b4c649e40294dd441de72c0f092e67c
+Author: Lasse Collin
+Date: 2015-10-12 20:29:09 +0300
+
+ liblzma: Fix a memory leak in error path of lzma_index_dup().
+
+ lzma_index_dup() calls index_dup_stream() which, in case of
+ an error, calls index_stream_end() to free memory allocated
+ by index_stream_init(). However, it illogically didn't
+ actually free the memory. To make it logical, the tree
+ handling code was modified a bit in addition to changing
+ index_stream_end().
+
+ Thanks to Evan Nemerson for the bug report.
+
+ src/liblzma/common/index.c | 18 +++++++++---------
+ 1 file changed, 9 insertions(+), 9 deletions(-)
+
+commit f580732216dcf971f3f006fe8e01cd4979e1d964
+Author: Lasse Collin
+Date: 2016-10-24 18:53:25 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 88d7a7fd153bf1355cdf798ffdac7443d0169afc
+Author: Lasse Collin
+Date: 2016-10-24 18:51:36 +0300
+
+ tuklib_cpucores: Add support for sched_getaffinity().
+
+ It's available in glibc (GNU/Linux, GNU/kFreeBSD). It's better
+ than sysconf(_SC_NPROCESSORS_ONLN) because sched_getaffinity()
+ gives the number of cores available to the process instead of
+ the total number of cores online.
+
+ As a side effect, this commit fixes a bug on GNU/kFreeBSD where
+ configure would detect the FreeBSD-specific cpuset_getaffinity()
+ but it wouldn't actually work because on GNU/kFreeBSD it requires
+ using -lfreebsd-glue when linking. Now the glibc-specific function
+ will be used instead.
+
+ Thanks to Sebastian Andrzej Siewior for the original patch
+ and testing.
+
+ m4/tuklib_cpucores.m4 | 30 +++++++++++++++++++++++++++++-
+ src/common/tuklib_cpucores.c | 9 +++++++++
+ 2 files changed, 38 insertions(+), 1 deletion(-)
+
+commit 51baf684376903dbeddd840582bfdf9fa91b311b
+Author: Lasse Collin
+Date: 2016-06-30 20:27:36 +0300
+
+ xz: Fix copying of timestamps on Windows.
+
+ xz used to call utime() on Windows, but its result gets lost
+ on close(). Using _futime() seems to work.
+
+ Thanks to Martok for reporting the bug:
+ http://www.mail-archive.com/xz-devel@tukaani.org/msg00261.html
+
+ configure.ac | 2 +-
+ src/xz/file_io.c | 18 ++++++++++++++++++
+ 2 files changed, 19 insertions(+), 1 deletion(-)
+
+commit 1ddc479851139d6e8202e5835421bfe6578d9e07
+Author: Lasse Collin
+Date: 2016-06-16 22:46:02 +0300
+
+ xz: Silence warnings from -Wlogical-op.
+
+ Thanks to Evan Nemerson.
+
+ src/xz/file_io.c | 12 ++++++++++--
+ 1 file changed, 10 insertions(+), 2 deletions(-)
+
+commit be647ff5ed5a1c244a65722af6ce250259f3b14a
+Author: Lasse Collin
+Date: 2016-04-10 20:55:49 +0300
+
+ Build: Fix = to += for xz_SOURCES in src/xz/Makefile.am.
+
+ Thanks to Christian Kujau.
+
+ src/xz/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit fb6d50c15343831f35305982cefa82053099191d
+Author: Lasse Collin
+Date: 2016-04-10 20:54:17 +0300
+
+ Build: Bump GNU Gettext version requirement to 0.19.
+
+ It silences a few warnings and most people probably have
+ 0.19 even on stable distributions.
+
+ Thanks to Christian Kujau.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 74f8dad9f912a2993768d93d108ea2b0b2c196e0
+Author: Lasse Collin
+Date: 2016-03-13 20:21:49 +0200
+
+ liblzma: Disable external SHA-256 by default.
+
+ This is the sane thing to do. The conflict with OpenSSL
+ on some OSes and especially that the OS-provided versions
+ can be significantly slower makes it clear that it was
+ a mistake to have the external SHA-256 support enabled by
+ default.
+
+ Those who want it can now pass --enable-external-sha256 to
+ configure. INSTALL was updated with notes about OSes where
+ this can be a bad idea.
+
+ The SHA-256 detection code in configure.ac had some bugs that
+ could lead to a build failure in some situations. These were
+ fixed, although it doesn't matter that much now that the
+ external SHA-256 is disabled by default.
+
+ MINIX >= 3.2.0 uses NetBSD's libc and thus has SHA256_Init
+ in libc instead of libutil. Support for the libutil version
+ was removed.
+
+ INSTALL | 36 ++++++++++++++++++++++
+ configure.ac | 76 +++++++++++++++++++++++------------------------
+ src/liblzma/check/check.h | 16 ++++------
+ 3 files changed, 79 insertions(+), 49 deletions(-)
+
+commit ea7f6ff04cb5bb1498088eb09960a4c3f13dfe39
+Author: Lasse Collin
+Date: 2016-03-10 20:27:05 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d0e018016b311232e82d9a98dc68f1e3dabce794
+Author: Lasse Collin
+Date: 2016-03-10 20:26:49 +0200
+
+ Build: Avoid SHA256_Init on FreeBSD and MINIX 3.
+
+ On FreeBSD 10 and older, SHA256_Init from libmd conflicts
+ with libcrypto from OpenSSL. The OpenSSL version has
+ different sizeof(SHA256_CTX) and it can cause weird
+ problems if wrong SHA256_Init gets used.
+
+ Looking at the source, MINIX 3 seems to have a similar issue but
+ I'm not sure. To be safe, I disabled SHA256_Init on MINIX 3 too.
+
+ NetBSD has SHA256_Init in libc and they had a similar problem,
+ but they already fixed it in 2009.
+
+ Thanks to Jim Wilcoxson for the bug report that helped
+ in finding the problem.
+
+ configure.ac | 27 +++++++++++++++++++++------
+ 1 file changed, 21 insertions(+), 6 deletions(-)
+
+commit 5daae123915f32a4ed6dc948b831533c2d1beec3
+Author: Lasse Collin
+Date: 2015-11-08 20:16:10 +0200
+
+ tuklib_physmem: Hopefully silence a warning on Windows.
+
+ src/common/tuklib_physmem.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 491acc406e098167ccb7fce0728b94c2f32cff9f
+Author: Lasse Collin
+Date: 2015-11-04 23:17:43 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8173ff8790ad3502d04e1c07d014cb84a3b8187b
+Author: Lasse Collin
+Date: 2015-11-04 23:14:00 +0200
+
+ liblzma: Make Valgrind happier with optimized (gcc -O2) liblzma.
+
+ When optimizing, GCC can reorder code so that an uninitialized
+ value gets used in a comparison, which makes Valgrind unhappy.
+ It doesn't happen when compiled with -O0, which I tend to use
+ when running Valgrind.
+
+ Thanks to Rich Prohaska. I remember this being mentioned long
+ ago by someone else but nothing was done back then.
+
+ src/liblzma/lz/lz_encoder.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 013de2b5ab8094d2c82a2771f3d143eeb656eda9
+Author: Lasse Collin
+Date: 2015-11-03 20:55:45 +0200
+
+ liblzma: Rename lzma_presets.c back to lzma_encoder_presets.c.
+
+ It would be too annoying to update other build systems
+ just because of this.
+
+ src/liblzma/lzma/Makefile.inc | 2 +-
+ src/liblzma/lzma/{lzma_presets.c => lzma_encoder_presets.c} | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit a322f70ad96de88968c2c36e6a36bc08ae30bd20
+Author: Lasse Collin
+Date: 2015-11-03 20:47:07 +0200
+
+ Build: Disable xzdec, lzmadec, and lzmainfo when they cannot be built.
+
+ They all need decoder support and if that isn't available,
+ there's no point trying to build them.
+
+ configure.ac | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 8ea49606cf6427e32319de7693eca9e43f1c8ad6
+Author: Lasse Collin
+Date: 2015-11-03 20:35:19 +0200
+
+ Build: Simplify $enable_{encoders,decoders} usage a bit.
+
+ configure.ac | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 42131a25e52bfe400acfa7df93469a96bb78bb78
+Author: Lasse Collin
+Date: 2015-11-03 20:31:31 +0200
+
+ Windows/MSVC: Update config.h.
+
+ windows/config.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit e9184e87cc989d14c7413e6adb3eca98f6ae0290
+Author: Lasse Collin
+Date: 2015-11-03 20:29:58 +0200
+
+ DOS: Update config.h.
+
+ dos/config.h | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit 2296778f3c9a1e3a8699973b09dd3610b8baa402
+Author: Lasse Collin
+Date: 2015-11-03 20:29:33 +0200
+
+ xz: Make xz buildable even when encoders or decoders are disabled.
+
+ The patch is quite long but it's mostly about adding new #ifdefs
+ to omit code when encoders or decoders have been disabled.
+
+ This adds two new #defines to config.h: HAVE_ENCODERS and
+ HAVE_DECODERS.
+
+ configure.ac | 4 ++++
+ src/xz/Makefile.am | 8 ++++++--
+ src/xz/args.c | 16 ++++++++++++++++
+ src/xz/coder.c | 33 +++++++++++++++++++++++++--------
+ src/xz/main.c | 9 +++++++--
+ src/xz/private.h | 5 ++++-
+ 6 files changed, 62 insertions(+), 13 deletions(-)
+
+commit 97a3109281e475d9cf1b5095237d672fa0ad25e5
+Author: Lasse Collin
+Date: 2015-11-03 18:06:40 +0200
+
+ Build: Build LZMA1/2 presets also when only decoder is wanted.
+
+ People shouldn't rely on the presets when decoding raw streams,
+ but xz uses the presets as the starting point for raw decoder
+ options anyway.
+
+ lzma_encocder_presets.c was renamed to lzma_presets.c to
+ make it clear it's not used solely by the encoder code.
+
+ src/liblzma/lzma/Makefile.inc | 6 +++++-
+ src/liblzma/lzma/{lzma_encoder_presets.c => lzma_presets.c} | 3 ++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+commit dc6b78d7f0f6fe43e9d4215146e8581feb8090e7
+Author: Lasse Collin
+Date: 2015-11-03 17:54:48 +0200
+
+ Build: Fix configure to handle LZMA1 dependency with LZMA2.
+
+ Now it gives an error if LZMA1 encoder/decoder is missing
+ when LZMA2 encoder/decoder was requested. Even better would
+ be LZMA2 implicitly enabling LZMA1 but it would need more code.
+
+ configure.ac | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 46d76c9cd3cb26a31f5ae6c3a8bbcf38e6da1add
+Author: Lasse Collin
+Date: 2015-11-03 17:41:54 +0200
+
+ Build: Don't omit lzma_cputhreads() unless using --disable-threads.
+
+ Previously it was omitted if encoders were disabled
+ with --disable-encoders. It didn't make sense and
+ it also broke the build.
+
+ src/liblzma/common/Makefile.inc | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+commit 16d68f874d89f1e4a1919786a35bbaef7d71a077
+Author: Lasse Collin
+Date: 2015-11-02 18:16:51 +0200
+
+ liblzma: Fix a build failure related to external SHA-256 support.
+
+ If an appropriate header and structure were found by configure,
+ but a library with a usable SHA-256 functions wasn't, the build
+ failed.
+
+ src/liblzma/check/check.h | 32 +++++++++++++++++++++++---------
+ 1 file changed, 23 insertions(+), 9 deletions(-)
+
+commit d9311647fc1ab512a3394596221ab8039c00af6b
+Author: Lasse Collin
+Date: 2015-11-02 15:19:10 +0200
+
+ xz: Always close the file before trying to delete it.
+
+ unlink() can return EBUSY in errno for open files on some
+ operating systems and file systems.
+
+ src/xz/file_io.c | 25 ++++++++++++-------------
+ 1 file changed, 12 insertions(+), 13 deletions(-)
+
+commit f59c4183f3c9066626ce45dc3db4642fa603fa21
+Author: Lasse Collin
+Date: 2015-10-12 21:08:42 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 35f189673e280c12e4c5129f9f97e54eef3bbc04
+Author: Lasse Collin
+Date: 2015-10-12 21:07:41 +0300
+
+ Tests: Add tests for the two bugs fixed in index.c.
+
+ tests/test_index.c | 30 ++++++++++++++++++++++++++++++
+ 1 file changed, 30 insertions(+)
+
+commit e10bfdb0fcaff12f3a6dadee51e0a022aadccb51
+Author: Lasse Collin
+Date: 2015-10-12 20:45:15 +0300
+
+ liblzma: Fix lzma_index_dup() for empty Streams.
+
+ Stream Flags and Stream Padding weren't copied from
+ empty Streams.
+
+ src/liblzma/common/index.c | 11 ++++++-----
+ 1 file changed, 6 insertions(+), 5 deletions(-)
+
+commit 06f434bd8980f25ca23232eb7bb7df7e37dc8448
+Author: Lasse Collin
+Date: 2015-10-12 20:31:44 +0300
+
+ liblzma: Add a note to index.c for those using static analyzers.
+
+ src/liblzma/common/index.c | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 9815cdf6987ef91a85493bfcfd1ce2aaf3b47a0a
+Author: Lasse Collin
+Date: 2015-09-29 13:59:35 +0300
+
+ Bump version and soname for 5.2.2.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit cbe0cec8476bdd0416c7ca9bc83895c9bea1cf78
+Author: Lasse Collin
+Date: 2015-09-29 13:57:28 +0300
+
+ Update NEWS for 5.2.2.
+
+ NEWS | 18 ++++++++++++++++++
+ 1 file changed, 18 insertions(+)
+
+commit 49427ce7eececdd18bbd35dab23c81910d083e1c
+Author: Andre Noll
+Date: 2015-05-28 15:50:00 +0200
+
+ Fix typo in German translation.
+
+ As pointed out by Robert Pollak, there's a typo in the German
+ translation of the compression preset option (-0 ... -9) help text.
+ "The compressor" translates to "der Komprimierer", and the genitive
+ form is "des Komprimierers". The old word makes no sense at all.
+
+ po/de.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 608d6f06c940e7f28c25de005e8b99bdff42d27c
+Author: Hauke Henningsen
+Date: 2015-08-17 04:59:54 +0200
+
+ Update German translation, mostly wrt orthography
+
+ Provide an update of the German translation.
+ * A lot of compound words were previously written with spaces, while
+ German orthography is relatively clear in that the components
+ should not be separated.
+ * When referring to the actual process of (de)compression rather than the
+ concept, replace “(De-)Kompression” with “(De-)Komprimierung”.
+ Previously, both forms were used in this context and are now used in a
+ manner consistent with “Komprimierung” being more likely to refer to
+ a process.
+ * Consistently translate “standard input”/“output”
+ * Use “Zeichen” instead of false friend “Charakter” for “character”
+ * Insert commas around relative clauses (as required in German)
+ * Some other minor corrections
+ * Capitalize “ß” as “ẞ”
+ * Consistently start option descriptions in --help with capital letters
+
+ Acked-By: Andre Noll
+
+ * Update after msgmerge
+
+ po/de.po | 383 ++++++++++++++++++++++++++++++++-------------------------------
+ 1 file changed, 196 insertions(+), 187 deletions(-)
+
+commit c8988414e5b67b8ef2fe0ba7b1ccdd0ec73c60d3
+Author: Lasse Collin
+Date: 2015-08-11 13:23:04 +0300
+
+ Build: Minor Cygwin cleanup.
+
+ Some tests used "cygwin*" and some used "cygwin". I changed
+ them all to use "cygwin". Shouldn't affect anything in practice.
+
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 85a6dfed53477906bfe9a7c0123dd412e391cb48
+Author: Lasse Collin
+Date: 2015-08-11 13:21:52 +0300
+
+ Build: Support building of MSYS2 binaries.
+
+ configure.ac | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit 77f270be8432df2e4516a0c48814b6976d6618c5
+Author: Lasse Collin
+Date: 2015-08-09 21:06:26 +0300
+
+ Windows: Define DLL_EXPORT when building liblzma.dll with MSVC.
+
+ src/liblzma/common/common.h uses it to set __declspec(dllexport)
+ for the API symbols.
+
+ Thanks to Adam Walling.
+
+ windows/liblzma_dll.vcxproj | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 8c975446c5903090a5a8493b5b96b71003056a88
+Author: Lasse Collin
+Date: 2015-08-09 21:02:20 +0300
+
+ Windows: Omit unneeded header files from MSVC project files.
+
+ windows/liblzma.vcxproj | 5 -----
+ windows/liblzma_dll.vcxproj | 5 -----
+ 2 files changed, 10 deletions(-)
+
+commit 119a00434954726ca58e4a578e6469f530fca30e
+Author: Lasse Collin
+Date: 2015-07-12 20:48:19 +0300
+
+ liblzma: A MSVC-specific hack isn't needed with MSVC 2013 and newer.
+
+ src/liblzma/api/lzma.h | 18 +++++++++++++-----
+ 1 file changed, 13 insertions(+), 5 deletions(-)
+
+commit d4e7c557fcab353539c9481a8d95cb04bcb15c7c
+Author: Lasse Collin
+Date: 2015-06-19 20:38:55 +0300
+
+ Update THANKS.
+
+ THANKS | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 98001740ca56c894a7bd32eb47e9857a8a7d878d
+Author: Lasse Collin
+Date: 2015-06-19 20:21:30 +0300
+
+ Windows: Update the docs.
+
+ INSTALL | 29 ++++++++-----
+ windows/INSTALL-MSVC.txt | 47 ++++++++++++++++++++++
+ windows/{INSTALL-Windows.txt => INSTALL-MinGW.txt} | 2 +-
+ 3 files changed, 67 insertions(+), 11 deletions(-)
+
+commit 28195e4c877007cc760ecea1d17f740693d66873
+Author: Lasse Collin
+Date: 2015-06-19 17:25:31 +0300
+
+ Windows: Add MSVC project files for building liblzma.
+
+ Thanks to Adam Walling for creating these files.
+
+ windows/liblzma.vcxproj | 359 ++++++++++++++++++++++++++++++++++++++++
+ windows/liblzma_dll.vcxproj | 388 ++++++++++++++++++++++++++++++++++++++++++++
+ windows/xz_win.sln | 48 ++++++
+ 3 files changed, 795 insertions(+)
+
+commit 960440f3230dc628f6966d9f7614fc1b28baf44e
+Author: Lasse Collin
+Date: 2015-05-13 20:57:55 +0300
+
+ Tests: Fix a memory leak in test_bcj_exact_size.
+
+ Thanks to Cristian Rodríguez.
+
+ tests/test_bcj_exact_size.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 68cd35acafbdcdf4e8ea8b5bb843c736939d6f8b
+Author: Lasse Collin
+Date: 2015-05-12 18:08:24 +0300
+
+ Fix NEWS about threading in 5.2.0.
+
+ Thanks to Andy Hochhaus.
+
+ NEWS | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit ff96ed6d25786728356017a13baf8c14731b4f1e
+Author: Lasse Collin
+Date: 2015-05-11 21:26:16 +0300
+
+ xz: Document that threaded decompression hasn't been implemented yet.
+
+ src/xz/xz.1 | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 00d37b64a64ea8597fd2422d5187afd761ab9531
+Author: Lasse Collin
+Date: 2015-04-20 20:20:29 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit db190a832c49ca3aed6d69cc992fa5583cae7b11
+Author: Lasse Collin
+Date: 2015-04-20 19:59:18 +0300
+
+ Revert "xz: Use pipe2() if available."
+
+ This reverts commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd.
+ It is a problem when libc has pipe2() but the kernel is too
+ old to have pipe2() and thus pipe2() fails. In xz it's pointless
+ to have a fallback for non-functioning pipe2(); it's better to
+ avoid pipe2() completely.
+
+ Thanks to Michael Fox for the bug report.
+
+ configure.ac | 4 ++--
+ src/xz/file_io.c | 9 +--------
+ 2 files changed, 3 insertions(+), 10 deletions(-)
+
+commit eccd8155e107c5ada03d13e7730675cdf1a44ddc
+Author: Lasse Collin
+Date: 2015-03-29 22:14:47 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 25263fd9e7a8a913395cb93d7c104cd48c2b4a00
+Author: Lasse Collin
+Date: 2015-03-29 22:13:48 +0300
+
+ Fix the detection of installed RAM on QNX.
+
+ The earlier version compiled but didn't actually work
+ since sysconf(_SC_PHYS_PAGES) always fails (or so I was told).
+
+ Thanks to Ole André Vadla Ravnås for the patch and testing.
+
+ m4/tuklib_physmem.m4 | 6 +++---
+ src/common/tuklib_physmem.c | 14 +++++++++++++-
+ 2 files changed, 16 insertions(+), 4 deletions(-)
+
+commit 4c544d2410903d38402221cb783ed85585b6a007
+Author: Lasse Collin
+Date: 2015-03-27 22:39:07 +0200
+
+ Fix CPU core count detection on QNX.
+
+ It tried to use sysctl() on QNX but
+ - it broke the build because sysctl() needs -lsocket on QNX;
+ - sysctl() doesn't work for detecting the core count on QNX
+ even if it compiled.
+
+ sysconf() works. An alternative would have been to use
+ QNX-specific SYSPAGE_ENTRY(num_cpu) from .
+
+ Thanks to Ole André Vadla Ravnås.
+
+ m4/tuklib_cpucores.m4 | 15 +++++++++++----
+ 1 file changed, 11 insertions(+), 4 deletions(-)
+
+commit e0ea6737b03e83ccaff4514d00e31bb926f8f0f3
+Author: Lasse Collin
+Date: 2015-03-07 22:05:57 +0200
+
+ xz: size_t/uint32_t cleanup in options.c.
+
+ src/xz/options.c | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+commit 8bcca29a65335fd679c13814b70b35b68fa5daed
+Author: Lasse Collin
+Date: 2015-03-07 22:04:23 +0200
+
+ xz: Fix a comment and silence a warning in message.c.
+
+ src/xz/message.c | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit f243f5f44c6b19a7c289a0ec73a03ee08364cb5b
+Author: Lasse Collin
+Date: 2015-03-07 22:01:00 +0200
+
+ liblzma: Silence more uint32_t vs. size_t warnings.
+
+ src/liblzma/lz/lz_encoder.c | 2 +-
+ src/liblzma/lzma/lzma_encoder.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 7f0a4c50f4a374c40acf4b86848f301ad1e82d34
+Author: Lasse Collin
+Date: 2015-03-07 19:54:00 +0200
+
+ xz: Make arg_count an unsigned int to silence a warning.
+
+ Actually the value of arg_count cannot exceed INT_MAX
+ but it's nicer as an unsigned int.
+
+ src/xz/args.h | 2 +-
+ src/xz/main.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit f6ec46801588b1be29c07c9db98558b521304002
+Author: Lasse Collin
+Date: 2015-03-07 19:33:17 +0200
+
+ liblzma: Fix a warning in index.c.
+
+ src/liblzma/common/index.c | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+commit a24518971cc621315af142dd3bb7614fab04ad27
+Author: Lasse Collin
+Date: 2015-02-26 20:46:14 +0200
+
+ Build: Fix a CR+LF problem when running autoreconf -fi on OS/2.
+
+ build-aux/version.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dec11497a71518423b5ff0e759100cf8aadf6c7b
+Author: Lasse Collin
+Date: 2015-02-26 16:53:44 +0200
+
+ Bump version and soname for 5.2.1.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 29e39c79975ab89ee5dd671e97064534a9f3a649
+Author: Lasse Collin
+Date: 2015-02-26 13:01:09 +0200
+
+ Update NEWS for 5.2.1.
+
+ NEWS | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+commit 7a11c4a8e5e15f13d5fa59233b3172e65428efdd
+Author: Lasse Collin
+Date: 2015-02-22 19:38:48 +0200
+
+ xz: Use pipe2() if available.
+
+ configure.ac | 4 ++--
+ src/xz/file_io.c | 9 ++++++++-
+ 2 files changed, 10 insertions(+), 3 deletions(-)
+
+commit 117d962685c72682c63edc9bb765367189800202
+Author: Lasse Collin
+Date: 2015-02-21 23:40:26 +0200
+
+ liblzma: Fix a compression-ratio regression in LZMA1/2 in fast mode.
+
+ The bug was added in the commit
+ f48fce093b07aeda95c18850f5e086d9f2383380 and thus
+ affected 5.1.4beta and 5.2.0. Luckily the bug cannot
+ cause data corruption or other nasty things.
+
+ src/liblzma/lzma/lzma_encoder_optimum_fast.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ae984e31c167d3bc52972ec422dd1ebd5f5d5719
+Author: Lasse Collin
+Date: 2015-02-21 23:00:19 +0200
+
+ xz: Fix the fcntl() usage when creating a pipe for the self-pipe trick.
+
+ Now it reads the old flags instead of blindly setting O_NONBLOCK.
+ The old code may have worked correctly, but this is better.
+
+ src/xz/file_io.c | 16 +++++++++++-----
+ 1 file changed, 11 insertions(+), 5 deletions(-)
+
+commit 2205bb5853098aea36a56df6f5747037175f66b4
+Author: Lasse Collin
+Date: 2015-02-10 15:29:34 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit d935b0cdf3db440269b9d952b2b281b18f8c7b08
+Author: Lasse Collin
+Date: 2015-02-10 15:28:30 +0200
+
+ tuklib_cpucores: Use cpuset_getaffinity() on FreeBSD if available.
+
+ In FreeBSD, cpuset_getaffinity() is the preferred way to get
+ the number of available cores.
+
+ Thanks to Rui Paulo for the patch. I edited it slightly, but
+ hopefully I didn't break anything.
+
+ m4/tuklib_cpucores.m4 | 23 ++++++++++++++++++++++-
+ src/common/tuklib_cpucores.c | 18 ++++++++++++++++++
+ 2 files changed, 40 insertions(+), 1 deletion(-)
+
+commit eb61bc58c20769cac4d05f363b9c0e8c9c71a560
+Author: Lasse Collin
+Date: 2015-02-09 22:08:37 +0200
+
+ xzdiff: Make the mktemp usage compatible with FreeBSD's mktemp.
+
+ Thanks to Rui Paulo for the fix.
+
+ src/scripts/xzdiff.in | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+commit b9a5b6b7a29029680af733082b6a46e0fc01623a
+Author: Lasse Collin
+Date: 2015-02-03 21:45:53 +0200
+
+ Add a few casts to tuklib_integer.h to silence possible warnings.
+
+ I heard that Visual Studio 2013 gave warnings without the casts.
+
+ Thanks to Gabi Davar.
+
+ src/common/tuklib_integer.h | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+commit c45757135f40e4a0de730ba5fff0100219493982
+Author: Lasse Collin
+Date: 2015-01-26 21:24:39 +0200
+
+ liblzma: Set LZMA_MEMCMPLEN_EXTRA depending on the compare method.
+
+ src/liblzma/common/memcmplen.h | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit 3c500174ed5485f550972a2a6109c361e875f069
+Author: Lasse Collin
+Date: 2015-01-26 20:40:16 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit fec88d41e672d9e197c9442aecf02bd0dfa6d516
+Author: Lasse Collin
+Date: 2015-01-26 20:39:28 +0200
+
+ liblzma: Silence harmless Valgrind errors.
+
+ Thanks to Torsten Rupp for reporting this. I had
+ forgotten to run Valgrind before the 5.2.0 release.
+
+ src/liblzma/lz/lz_encoder.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+commit a9b45badfec0928d20a27c7176c005fa637f7d1e
+Author: Lasse Collin
+Date: 2015-01-09 21:50:19 +0200
+
+ xz: Fix comments.
+
+ src/xz/file_io.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit 541aee6dd4aa97a809aba281475a21b641bb89e2
+Author: Lasse Collin
+Date: 2015-01-09 21:35:06 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4170edc914655310d2363baccf5e615e09b04911
+Author: Lasse Collin
+Date: 2015-01-09 21:34:06 +0200
+
+ xz: Don't fail if stdout doesn't support O_NONBLOCK.
+
+ This is similar to the case with stdin.
+
+ Thanks to Brad Smith for the bug report and testing
+ on OpenBSD.
+
+ src/xz/file_io.c | 36 +++++++++++++++---------------------
+ 1 file changed, 15 insertions(+), 21 deletions(-)
+
+commit 04bbc0c2843c50c8ad1cba42b937118e38b0508d
+Author: Lasse Collin
+Date: 2015-01-07 19:18:20 +0200
+
+ xz: Fix a memory leak in DOS-specific code.
+
+ src/xz/file_io.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit f0f1f6c7235ffa901cf76fe18e33749e200b3eea
+Author: Lasse Collin
+Date: 2015-01-07 19:08:06 +0200
+
+ xz: Don't fail if stdin doesn't support O_NONBLOCK.
+
+ It's a problem at least on OpenBSD which doesn't support
+ O_NONBLOCK on e.g. /dev/null. I'm not surprised if it's
+ a problem on other OSes too since this behavior is allowed
+ in POSIX-1.2008.
+
+ The code relying on this behavior was committed in June 2013
+ and included in 5.1.3alpha released on 2013-10-26. Clearly
+ the development releases only get limited testing.
+
+ src/xz/file_io.c | 18 +++++++-----------
+ 1 file changed, 7 insertions(+), 11 deletions(-)
+
+commit d2d484647d9d9d679f03c75abb0404f67069271c
+Author: Lasse Collin
+Date: 2015-01-06 20:30:15 +0200
+
+ Tests: Don't hide unexpected error messages in test_files.sh.
+
+ Hiding them makes no sense since normally there's no error
+ when testing the "good" files. With "bad" files errors are
+ expected and then it makes sense to keep the messages hidden.
+
+ tests/test_files.sh | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit aae6a6aeda51cf94a47e39ad624728f9bee75e30
+Author: Lasse Collin
+Date: 2014-12-30 11:17:16 +0200
+
+ Update Solaris notes in INSTALL.
+
+ Mention the possible "make check" failure on Solaris in the
+ Solaris-specific section of INSTALL. It was already in
+ section 4.5 but it is better mention it in the OS-specific
+ section too.
+
+ INSTALL | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 7815112153178800a3521b9f31960e7cdc26cfba
+Author: Lasse Collin
+Date: 2014-12-26 12:00:05 +0200
+
+ Build: POSIX shell isn't required if scripts are disabled.
+
+ INSTALL | 3 ++-
+ configure.ac | 2 +-
+ 2 files changed, 3 insertions(+), 2 deletions(-)
+
+commit a0cd05ee71d330b79ead6eb9222e1b24e1559d3a
+Author: Lasse Collin
+Date: 2014-12-21 20:48:37 +0200
+
+ DOS: Update Makefile.
+
+ dos/Makefile | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b85ee0905ec4ab7656d22e63519fdd3bedb21f2e
+Author: Lasse Collin
+Date: 2014-12-21 19:50:38 +0200
+
+ Windows: Fix bin_i486 to bin_i686 in build.bash.
+
+ windows/build.bash | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit cbafa710918195dbba3db02c3fab4f0538235206
+Author: Lasse Collin
+Date: 2014-12-21 18:58:44 +0200
+
+ Docs: Use lzma_cputhreads() in 04_compress_easy_mt.c.
+
+ doc/examples/04_compress_easy_mt.c | 30 ++++++++++++++++++++++++++----
+ 1 file changed, 26 insertions(+), 4 deletions(-)
+
+commit 8dbb57238d372c7263cfeb3e7f7fd9a73173156a
+Author: Lasse Collin
+Date: 2014-12-21 18:56:44 +0200
+
+ Docs: Update docs/examples/00_README.txt.
+
+ doc/examples/00_README.txt | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit 6060f7dc76fd6c2a8a1f8e85d0e4d86bb78273e6
+Author: Lasse Collin
+Date: 2014-12-21 18:11:17 +0200
+
+ Bump version and soname for 5.2.0.
+
+ I know that soname != app version, but I skip AGE=1
+ in -version-info to make the soname match the liblzma
+ version anyway. It doesn't hurt anything as long as
+ it doesn't conflict with library versioning rules.
+
+ src/liblzma/Makefile.am | 2 +-
+ src/liblzma/api/lzma/version.h | 6 +++---
+ src/liblzma/liblzma.map | 2 +-
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+commit 3e8bd1d15e417f2d588e9be50ce027ee3d48b2da
+Author: Lasse Collin
+Date: 2014-12-21 18:05:03 +0200
+
+ Avoid variable-length arrays in the debug programs.
+
+ debug/full_flush.c | 3 ++-
+ debug/sync_flush.c | 3 ++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+commit 72f7307cfdceb941aeb2bf30d424cc0d13621786
+Author: Lasse Collin
+Date: 2014-12-21 18:01:45 +0200
+
+ Build: Include 04_compress_easy_mt.c in the tarball.
+
+ Makefile.am | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 2cb82ff21c62def11f3683a8bb0aaf363102aaa0
+Author: Lasse Collin
+Date: 2014-12-21 18:00:38 +0200
+
+ Fix build when --disable-threads is used.
+
+ src/common/mythread.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 9b9e3536e458ef958f66b0e8982efc9d36de4d17
+Author: Adrien Nader
+Date: 2014-12-21 15:56:15 +0100
+
+ po/fr: improve wording for help for --lzma1/--lzma2.
+
+ po/fr.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a8b6b569e7fadbf5b5b9139d53bc764015c15027
+Author: Adrien Nader
+Date: 2014-12-21 15:55:48 +0100
+
+ po/fr: missing line in translation of --extreme.
+
+ po/fr.po | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit f168a6fd1a888cf4f0caaddcafcb21dadc6ab6e9
+Author: Lasse Collin
+Date: 2014-12-21 14:32:33 +0200
+
+ Update NEWS for 5.2.0.
+
+ NEWS | 65 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 65 insertions(+)
+
+commit cec2ee863b3a88f4bf039cb00f73c4a4fc93a429
+Author: Lasse Collin
+Date: 2014-12-21 14:32:22 +0200
+
+ Update NEWS for 5.0.8.
+
+ NEWS | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+commit 42e97a32649bf53ce43be2258b902a417c6e7fa1
+Author: Lasse Collin
+Date: 2014-12-21 14:07:54 +0200
+
+ xz: Fix a comment.
+
+ src/xz/options.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 29b95d5d6665cedffa6a9d6d3d914f981e852182
+Author: Lasse Collin
+Date: 2014-12-20 20:43:14 +0200
+
+ Update INSTALL about the dependencies of the scripts.
+
+ INSTALL | 15 ++++++++++-----
+ 1 file changed, 10 insertions(+), 5 deletions(-)
+
+commit 3af91040bb42c21afbb81f5568c3313125e61192
+Author: Lasse Collin
+Date: 2014-12-20 20:42:33 +0200
+
+ Windows: Update build instructions.
+
+ INSTALL | 15 +++++++++------
+ windows/INSTALL-Windows.txt | 44 +++++++++++++++++++++-----------------------
+ 2 files changed, 30 insertions(+), 29 deletions(-)
+
+commit 0152f72bf6289d744823dc6c849538f3a139ad70
+Author: Lasse Collin
+Date: 2014-12-20 20:41:48 +0200
+
+ Windows: Update the build script and README-Windows.txt.
+
+ The 32-bit build is now for i686 or newer because the
+ prebuilt MinGW-w64 toolchains include i686 code in the
+ executables even if one uses -march=i486.
+
+ The build script builds 32-bit SSE2 enabled version too.
+ Run-time detection of SSE2 support would be nice (on any OS)
+ but it's not implemented in XZ Utils yet.
+
+ windows/README-Windows.txt | 30 ++++++++++++++++--------------
+ windows/build.bash | 23 ++++++++++++++---------
+ 2 files changed, 30 insertions(+), 23 deletions(-)
+
+commit 4a1f6133ee5533cee8d91e06fcc22443e5f1881a
+Author: Lasse Collin
+Date: 2014-12-19 15:51:50 +0200
+
+ Windows: Define TUKLIB_SYMBOL_PREFIX in config.h.
+
+ It is to keep all symbols in the lzma_ namespace.
+
+ windows/config.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit 7f7d093de79eee0c7dbfd7433647e46302f19f82
+Author: Lasse Collin
+Date: 2014-12-16 21:00:09 +0200
+
+ xz: Update the man page about --threads.
+
+ src/xz/xz.1 | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 009823448b82aa5f465668878a544c5842885407
+Author: Lasse Collin
+Date: 2014-12-16 20:57:43 +0200
+
+ xz: Update the man page about --block-size.
+
+ src/xz/xz.1 | 41 +++++++++++++++++++++++++++++++++--------
+ 1 file changed, 33 insertions(+), 8 deletions(-)
+
+commit 7dddfbeb499e528940bc12047355c184644aafe9
+Author: Adrien Nader
+Date: 2014-12-10 22:26:57 +0100
+
+ po/fr: several more translation updates: reword and handle --ignore-check.
+
+ po/fr.po | 50 ++++++++++++++++++++++++++------------------------
+ 1 file changed, 26 insertions(+), 24 deletions(-)
+
+commit 6eca5be40e04ddc4b738d493e4e56835956d8b69
+Author: Adrien Nader
+Date: 2014-12-10 22:23:01 +0100
+
+ po/fr: yet another place where my email address had to be updated.
+
+ po/fr.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d1003673e92ba47edd6aeeb3dbea05c18269d0e7
+Author: Adrien Nader
+Date: 2014-12-10 22:22:20 +0100
+
+ po/fr: fix several typos that have been around since the beginning.
+
+ po/fr.po | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+commit 4c5aa911a0df027e46171e368debc543d2fa72b2
+Author: Adrien Nader
+Date: 2014-12-03 20:02:31 +0100
+
+ po/fr: last batch of new translations for now.
+
+ Four new error messages.
+
+ po/fr.po | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+commit 3e3099e36d27059499e7996fb38a62e8ab01d356
+Author: Adrien Nader
+Date: 2014-12-03 20:01:32 +0100
+
+ po/fr: translations for --threads, --block-size and --block-list.
+
+ po/fr.po | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+commit e7d96a5933eec4e9d4a62569ee88df0ebb0f1d53
+Author: Adrien Nader
+Date: 2014-12-03 20:00:53 +0100
+
+ po/fr: remove fuzzy marker for error messages that will be kept in English.
+
+ The following is a copy of a comment inside fr.po:
+
+ Note from translator on "file status flags".
+ The following entry is kept un-translated on purpose. It is difficult to
+ translate and should only happen in exceptional circumstances which means
+ that translating would:
+ - lose some of the meaning
+ - make it more difficult to look up in search engines; it might happen one
+ in
+ a million times, if we dilute the error message in 20 languages, it will be
+ almost impossible to find an explanation and support for the error.
+
+ po/fr.po | 22 ++++++++++++++++------
+ 1 file changed, 16 insertions(+), 6 deletions(-)
+
+commit 46cbb9033af8a21fafe543302d6919746e0d72af
+Author: Adrien Nader
+Date: 2014-12-03 19:58:25 +0100
+
+ po/fr: several minor updates and better wording.
+
+ Meaning doesn't change at all: it's only for better wording and/or
+ formatting of a few strings.
+
+ po/fr.po | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+commit 7ce49d444f04e73145f79c832eb4d510594b074a
+Author: Adrien Nader
+Date: 2014-12-03 19:56:12 +0100
+
+ po/fr: update my email address and copyright years.
+
+ po/fr.po | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 214c553ebc3047cd720da1ce5c80cf7c38118d3c
+Author: Adrien Nader
+Date: 2014-11-26 10:08:26 +0100
+
+ fr.po: commit file after only "update-po" so actual is readable.
+
+ po/fr.po | 311 ++++++++++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 199 insertions(+), 112 deletions(-)
+
+commit 1190c641af09cde85f8bd0fbe5c4906f4a29431b
+Author: Lasse Collin
+Date: 2014-12-02 20:04:07 +0200
+
+ liblzma: Document how lzma_mt.block_size affects memory usage.
+
+ src/liblzma/api/lzma/container.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+commit e4fc1d2f9571fba79ce383595be2ea2a9257def0
+Author: Lasse Collin
+Date: 2014-11-28 20:07:18 +0200
+
+ Update INSTALL about a "make check" failure in test_scripts.sh.
+
+ INSTALL | 24 +++++++++++++++++-------
+ 1 file changed, 17 insertions(+), 7 deletions(-)
+
+commit 34f9e40a0a0c3bd2c2730cdb9cd550bbb8a3f2fe
+Author: Lasse Collin
+Date: 2014-11-26 20:12:27 +0200
+
+ Remove LZMA_UNSTABLE macro.
+
+ src/liblzma/api/lzma/container.h | 4 ----
+ src/liblzma/common/common.h | 2 --
+ src/xz/private.h | 1 -
+ 3 files changed, 7 deletions(-)
+
+commit 6d9c0ce9f2677b159e32b224aba5b535b304a705
+Author: Lasse Collin
+Date: 2014-11-26 20:10:33 +0200
+
+ liblzma: Update lzma_stream_encoder_mt() API docs.
+
+ src/liblzma/api/lzma/container.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 2301f3f05dd9742f42cda8f0f318864f5dc39ab3
+Author: Lasse Collin
+Date: 2014-11-25 12:32:05 +0200
+
+ liblzma: Verify the filter chain in threaded encoder initialization.
+
+ This way an invalid filter chain is detected at the Stream
+ encoder initialization instead of delaying it to the first
+ call to lzma_code() which triggers the initialization of
+ the actual filter encoder(s).
+
+ src/liblzma/common/stream_encoder_mt.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+commit 107a263d5bb63cd3593fd6a5c938706539f84523
+Author: Lasse Collin
+Date: 2014-11-17 19:11:49 +0200
+
+ Build: Update m4/ax_pthread.m4 from Autoconf Archive.
+
+ m4/ax_pthread.m4 | 71 +++++++++++++++++++++++++++++++++++++-------------------
+ 1 file changed, 47 insertions(+), 24 deletions(-)
+
+commit b13a781833399ff5726cfc997f3cb2f0acbdbf31
+Author: Lasse Collin
+Date: 2014-11-17 18:52:21 +0200
+
+ Build: Replace obsolete AC_HELP_STRING with AS_HELP_STRING.
+
+ configure.ac | 36 ++++++++++++++++++------------------
+ m4/tuklib_integer.m4 | 2 +-
+ 2 files changed, 19 insertions(+), 19 deletions(-)
+
+commit 542cac122ed3550148a2af0033af22b757491378
+Author: Lasse Collin
+Date: 2014-11-17 18:43:19 +0200
+
+ Build: Fix Autoconf warnings about escaped backquotes.
+
+ Thanks to Daniel Richard G. for pointing out that it's
+ good to sometimes run autoreconf -fi with -Wall.
+
+ configure.ac | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+commit 7b03a15cea8cd4f19ed680b51c4bcbae3ce4142f
+Author: Lasse Collin
+Date: 2014-11-10 18:54:40 +0200
+
+ xzdiff: Use mkdir if mktemp isn't available.
+
+ src/scripts/xzdiff.in | 17 ++++++++++++++++-
+ 1 file changed, 16 insertions(+), 1 deletion(-)
+
+commit f8c13e5e3609581d5dd9f8777985ca07f2390ad7
+Author: Lasse Collin
+Date: 2014-11-10 18:45:01 +0200
+
+ xzdiff: Create a temporary directory to hold a temporary file.
+
+ This avoids the possibility of "File name too long" when
+ creating a temp file when the input file name is very long.
+
+ This also means that other users on the system can no longer
+ see the input file names in /tmp (or whatever $TMPDIR is)
+ since the temporary directory will have a generic name. This
+ usually doesn't matter since on many systems one can see
+ the arguments given to all processes anyway.
+
+ The number X chars to mktemp where increased from 6 to 10.
+
+ Note that with some shells temp files or dirs won't be used at all.
+
+ src/scripts/xzdiff.in | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+commit 7716dcf9df7f457500cb657314e7a9aea5fedb06
+Author: Lasse Collin
+Date: 2014-11-10 15:38:47 +0200
+
+ liblzma: Fix lzma_mt.preset in lzma_stream_encoder_mt_memusage().
+
+ It read the filter chain from a wrong variable. This is a similar
+ bug that was fixed in 9494fb6d0ff41c585326f00aa8f7fe58f8106a5e.
+
+ src/liblzma/common/stream_encoder_mt.c | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+commit 230fa4a605542c84b4178a57381695a0af4e779b
+Author: Lasse Collin
+Date: 2014-11-10 14:49:55 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 4e4ae08bc7c1711e399c9f2d26eb375d39d08101
+Author: Lasse Collin
+Date: 2014-10-29 21:28:25 +0200
+
+ Update .gitignore files.
+
+ .gitignore | 2 ++
+ m4/.gitignore | 3 +++
+ 2 files changed, 5 insertions(+)
+
+commit c923b140b27d1a055db6284e10fd546ad1a7fcdb
+Author: Lasse Collin
+Date: 2014-10-29 21:15:35 +0200
+
+ Build: Prepare to support Automake's subdir-objects.
+
+ Due to a bug in Automake, subdir-objects won't be enabled
+ for now.
+
+ http://debbugs.gnu.org/cgi/bugreport.cgi?bug=17354
+
+ Thanks to Daniel Richard G. for the original patches.
+
+ configure.ac | 7 ++++++-
+ src/Makefile.am | 22 +++++++++++++++++++++-
+ src/liblzma/Makefile.am | 4 ++--
+ src/lzmainfo/Makefile.am | 4 ++--
+ src/xz/Makefile.am | 10 +++++-----
+ src/xzdec/Makefile.am | 8 ++++----
+ 6 files changed, 40 insertions(+), 15 deletions(-)
+
+commit 08c2aa16bea0df82828f665d51fba2e0a5e8997f
+Author: Lasse Collin
+Date: 2014-10-24 20:09:29 +0300
+
+ Translations: Update the Italian translation.
+
+ Thanks to Milo Casagrande.
+
+ po/it.po | 452 ++++++++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 275 insertions(+), 177 deletions(-)
+
+commit 2f9f61aa83539c54ff6c118a2693890f0519b3dd
+Author: Lasse Collin
+Date: 2014-10-18 18:51:45 +0300
+
+ Translations: Update the Polish translation.
+
+ Thanks to Jakub Bogusz.
+
+ po/pl.po | 332 ++++++++++++++++++++++++++++++++++++++++-----------------------
+ 1 file changed, 214 insertions(+), 118 deletions(-)
+
+commit 4f9d233f67aea25e532824d11b7642cf7dee7a76
+Author: Andre Noll
+Date: 2014-10-14 17:30:30 +0200
+
+ l10n: de.po: Change translator email address.
+
+ Although the old address is still working, the new one should
+ be preferred. So this commit changes all three places in de.po
+ accordingly.
+
+ Signed-off-by: Andre Noll
+
+ po/de.po | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 00502b2bedad43f0cc167ac17ae0608837ee196b
+Author: Andre Noll
+Date: 2014-10-14 17:30:29 +0200
+
+ l10n: de.po: Update German translation
+
+ Signed-off-by: Andre Noll
+
+ po/de.po | 531 +++++++++++++++++++++++++++++++++------------------------------
+ 1 file changed, 281 insertions(+), 250 deletions(-)
+
+commit 706b0496753fb609e69f1570ec603f11162189d1
+Author: Andre Noll
+Date: 2014-10-14 17:30:28 +0200
+
+ l10n: de.po: Fix typo: Schießen -> Schließen.
+
+ That's a funny one since "schießen" means to shoot :)
+
+ Signed-off-by: Andre Noll
+
+ po/de.po | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 7c32e6a935c3d7ee366abad1679bd5f322f0c7d4
+Author: Lasse Collin
+Date: 2014-10-09 19:42:26 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 076258cc458f1e705041ac7a729b15ffe8c5214a
+Author: Lasse Collin
+Date: 2014-10-09 19:41:51 +0300
+
+ Add support for AmigaOS/AROS to tuklib_physmem().
+
+ Thanks to Fredrik Wikstrom.
+
+ m4/tuklib_physmem.m4 | 3 ++-
+ src/common/tuklib_physmem.c | 7 +++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+commit efa7b0a210e1baa8e128fc98c5443a944c39ad24
+Author: Lasse Collin
+Date: 2014-10-09 18:42:14 +0300
+
+ xzgrep: Avoid passing both -q and -l to grep.
+
+ The behavior of grep -ql varies:
+ - GNU grep behaves like grep -q.
+ - OpenBSD grep behaves like grep -l.
+
+ POSIX doesn't make it 100 % clear what behavior is expected.
+ Anyway, using both -q and -l at the same time makes no sense
+ so both options simply should never be used at the same time.
+
+ Thanks to Christian Weisgerber.
+
+ src/scripts/xzgrep.in | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+commit 9c5f76098c9986b48d2fc574a0b764f4cde0c538
+Author: Trần Ngọc Quân
+Date: 2014-09-25 09:22:45 +0700
+
+ l10n: vi.po: Update Vietnamese translation
+
+ Signed-off-by: Trần Ngọc Quân
+
+ po/vi.po | 136 +++++++++++++++++++++++++++++++++++++++------------------------
+ 1 file changed, 84 insertions(+), 52 deletions(-)
+
+commit c4911f2db36d811896c73c008b4218d8fa9a4730
+Author: Lasse Collin
+Date: 2014-09-25 18:38:48 +0300
+
+ Build: Detect supported compiler warning flags better.
+
+ Clang and nowadays also GCC accept any -Wfoobar option
+ but then may give a warning that an unknown warning option
+ was specified. To avoid adding unsupported warning options,
+ the options are now tested with -Werror.
+
+ Thanks to Charles Diza.
+
+ configure.ac | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+commit 76e75522ed6f5c228d55587dee5a997893f6e474
+Author: Lasse Collin
+Date: 2014-09-20 21:01:21 +0300
+
+ Update NEWS for 5.0.7.
+
+ NEWS | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit d62028b4c1174fc67b6929f126f5eb24c018c700
+Author: Lasse Collin
+Date: 2014-09-20 19:42:56 +0300
+
+ liblzma: Fix a portability problem in Makefile.am.
+
+ POSIX supports $< only in inference rules (suffix rules).
+ Using it elsewhere is a GNU make extension and doesn't
+ work e.g. with OpenBSD make.
+
+ Thanks to Christian Weisgerber for the patch.
+
+ src/liblzma/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit c35de31d4283edad3e57d37ffe939406542cb7bb
+Author: Lasse Collin
+Date: 2014-09-14 21:54:09 +0300
+
+ Bump the version number to 5.1.4beta.
+
+ src/liblzma/api/lzma/version.h | 4 ++--
+ src/liblzma/liblzma.map | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+commit e9e097e22cacdaa23e5414fea7913535449cb340
+Author: Lasse Collin
+Date: 2014-09-14 21:50:13 +0300
+
+ Update NEWS for 5.0.6 and 5.1.4beta.
+
+ NEWS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 50 insertions(+)
+
+commit 642f856bb8562ab66704b1e01ac7bc08b6d0a663
+Author: Lasse Collin
+Date: 2014-09-14 21:02:41 +0300
+
+ Update TODO.
+
+ TODO | 38 ++++++++++++++++++++++++++++++++++----
+ 1 file changed, 34 insertions(+), 4 deletions(-)
+
+commit 6b5e3b9eff5b8cedb2aac5f524d4d60fc8a48124
+Author: Lasse Collin
+Date: 2014-08-05 22:32:36 +0300
+
+ xz: Add --ignore-check.
+
+ src/xz/args.c | 7 +++++++
+ src/xz/args.h | 1 +
+ src/xz/coder.c | 10 +++++++++-
+ src/xz/message.c | 2 ++
+ src/xz/xz.1 | 19 +++++++++++++++++++
+ 5 files changed, 38 insertions(+), 1 deletion(-)
+
+commit 9adbc2ff373f979c917cdfd3679ce0ebd59f1040
+Author: Lasse Collin
+Date: 2014-08-05 22:15:07 +0300
+
+ liblzma: Add support for LZMA_IGNORE_CHECK.
+
+ src/liblzma/api/lzma/container.h | 24 ++++++++++++++++++++++++
+ src/liblzma/common/common.h | 1 +
+ src/liblzma/common/stream_decoder.c | 14 ++++++++++++--
+ 3 files changed, 37 insertions(+), 2 deletions(-)
+
+commit 0e0f34b8e4f1c60ecaec15c2105982381cc9c3e6
+Author: Lasse Collin
+Date: 2014-08-05 22:03:30 +0300
+
+ liblzma: Add support for lzma_block.ignore_check.
+
+ Note that this slightly changes how lzma_block_header_decode()
+ has been documented. Earlier it said that the .version is set
+ to the lowest required value, but now it says that the .version
+ field is kept unchanged if possible. In practice this doesn't
+ affect any old code, because before this commit the only
+ possible .version was 0.
+
+ src/liblzma/api/lzma/block.h | 50 ++++++++++++++++++++++++-------
+ src/liblzma/common/block_buffer_encoder.c | 2 +-
+ src/liblzma/common/block_decoder.c | 18 ++++++++---
+ src/liblzma/common/block_encoder.c | 2 +-
+ src/liblzma/common/block_header_decoder.c | 12 ++++++--
+ src/liblzma/common/block_header_encoder.c | 2 +-
+ src/liblzma/common/block_util.c | 2 +-
+ 7 files changed, 68 insertions(+), 20 deletions(-)
+
+commit 71e1437ab585b46f7a25f5a131557d3d1c0cbaa2
+Author: Lasse Collin
+Date: 2014-08-04 19:25:58 +0300
+
+ liblzma: Use lzma_memcmplen() in the BT3 match finder.
+
+ I had missed this when writing the commit
+ 5db75054e900fa06ef5ade5f2c21dffdd5d16141.
+
+ Thanks to Jun I Jin.
+
+ src/liblzma/lz/lz_encoder_mf.c | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+commit 41dc9ea06e1414ebe8ef52afc8fc15b6e3282b04
+Author: Lasse Collin
+Date: 2014-08-04 00:25:44 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5dcffdbcc23a68abc3ac3539b30be71bc9b5af84
+Author: Lasse Collin
+Date: 2014-08-03 21:32:25 +0300
+
+ liblzma: SHA-256: Optimize the Maj macro slightly.
+
+ The Maj macro is used where multiple things are added
+ together, so making Maj a sum of two expressions allows
+ some extra freedom for the compiler to schedule the
+ instructions.
+
+ I learned this trick from
+ .
+
+ src/liblzma/check/sha256.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit a9477d1e0c6fd0e47e637d051e7b9e2a5d9af517
+Author: Lasse Collin
+Date: 2014-08-03 21:08:12 +0300
+
+ liblzma: SHA-256: Optimize the way rotations are done.
+
+ This looks weird because the rotations become sequential,
+ but it helps quite a bit on both 32-bit and 64-bit x86:
+
+ - It requires fewer instructions on two-operand
+ instruction sets like x86.
+
+ - It requires one register less which matters especially
+ on 32-bit x86.
+
+ I hope this doesn't hurt other archs.
+
+ I didn't invent this idea myself, but I don't remember where
+ I saw it first.
+
+ src/liblzma/check/sha256.c | 17 +++++++++++------
+ 1 file changed, 11 insertions(+), 6 deletions(-)
+
+commit 5a76c7c8ee9a0afbeedb1c211db9224260404347
+Author: Lasse Collin
+Date: 2014-08-03 20:38:13 +0300
+
+ liblzma: SHA-256: Remove the GCC #pragma that became unneeded.
+
+ The unrolling in the previous commit should avoid the
+ situation where a compiler may think that an uninitialized
+ variable might be accessed.
+
+ src/liblzma/check/sha256.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+commit 9a096f8e57509775c331950b8351bbca77bdcfa8
+Author: Lasse Collin
+Date: 2014-08-03 20:33:38 +0300
+
+ liblzma: SHA-256: Unroll a little more.
+
+ This way a branch isn't needed for each operation
+ to choose between blk0 and blk2, and still the code
+ doesn't grow as much as it would with full unrolling.
+
+ src/liblzma/check/sha256.c | 25 ++++++++++++++++---------
+ 1 file changed, 16 insertions(+), 9 deletions(-)
+
+commit bc7650d87bf27f85f1a2a806dc2db1780e09e6a5
+Author: Lasse Collin
+Date: 2014-08-03 19:56:43 +0300
+
+ liblzma: SHA-256: Do the byteswapping without a temporary buffer.
+
+ src/liblzma/check/sha256.c | 13 +------------
+ 1 file changed, 1 insertion(+), 12 deletions(-)
+
+commit 544aaa3d13554e8640f9caf7db717a96360ec0f6
+Author: Lasse Collin
+Date: 2014-07-25 22:38:28 +0300
+
+ liblzma: Use lzma_memcmplen() in normal mode of LZMA.
+
+ Two locations were not changed yet because the simplest change
+ assumes that the initial "len" may be greater than "limit".
+
+ src/liblzma/lzma/lzma_encoder_optimum_normal.c | 20 +++++---------------
+ 1 file changed, 5 insertions(+), 15 deletions(-)
+
+commit f48fce093b07aeda95c18850f5e086d9f2383380
+Author: Lasse Collin
+Date: 2014-07-25 22:30:38 +0300
+
+ liblzma: Simplify LZMA fast mode code by using memcmp().
+
+ src/liblzma/lzma/lzma_encoder_optimum_fast.c | 11 +----------
+ 1 file changed, 1 insertion(+), 10 deletions(-)
+
+commit 6bf5308e34e23dede5b301b1b9b4f131dacd9218
+Author: Lasse Collin
+Date: 2014-07-25 22:29:49 +0300
+
+ liblzma: Use lzma_memcmplen() in fast mode of LZMA.
+
+ src/liblzma/lzma/lzma_encoder_optimum_fast.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 353212137e51e45b105a3a3fc2e6879f1cf0d492
+Author: Lasse Collin
+Date: 2014-07-25 21:16:23 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 5db75054e900fa06ef5ade5f2c21dffdd5d16141
+Author: Lasse Collin
+Date: 2014-07-25 21:15:07 +0300
+
+ liblzma: Use lzma_memcmplen() in the match finders.
+
+ This doesn't change the match finder output.
+
+ src/liblzma/lz/lz_encoder.c | 13 ++++++++++++-
+ src/liblzma/lz/lz_encoder_mf.c | 33 +++++++++++----------------------
+ 2 files changed, 23 insertions(+), 23 deletions(-)
+
+commit e1c8f1d01f4a4e2136173edab2dc63c71ef038f4
+Author: Lasse Collin
+Date: 2014-07-25 20:57:20 +0300
+
+ liblzma: Add lzma_memcmplen() for fast memory comparison.
+
+ This commit just adds the function. Its uses will be in
+ separate commits.
+
+ This hasn't been tested much yet and it's perhaps a bit early
+ to commit it but if there are bugs they should get found quite
+ quickly.
+
+ Thanks to Jun I Jin from Intel for help and for pointing out
+ that string comparison needs to be optimized in liblzma.
+
+ configure.ac | 13 +++
+ src/liblzma/common/Makefile.inc | 1 +
+ src/liblzma/common/memcmplen.h | 170 ++++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 184 insertions(+)
+
+commit 765735cf52e5123586e74a51b9c073b5257f631f
+Author: Lasse Collin
+Date: 2014-07-12 21:10:09 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 59da01785ef66c7e62f36e70ca808fd2824bb995
+Author: Lasse Collin
+Date: 2014-07-12 20:06:08 +0300
+
+ Translations: Add Vietnamese translation.
+
+ Thanks to Trần Ngọc Quân.
+
+ po/LINGUAS | 1 +
+ po/vi.po | 1007 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 1008 insertions(+)
+
+commit 17215f751c354852700e7f8592ccf319570a0721
+Author: Lasse Collin
+Date: 2014-06-29 20:54:14 +0300
+
+ xz: Update the help message of a few options.
+
+ Updated: --threads, --block-size, and --block-list
+ Added: --flush-timeout
+
+ src/xz/message.c | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+commit 96864a6ddf91ad693d102ea165f3d7918744d582
+Author: Lasse Collin
+Date: 2014-06-18 22:07:06 +0300
+
+ xz: Use lzma_cputhreads() instead of own copy of tuklib_cpucores().
+
+ src/xz/Makefile.am | 1 -
+ src/xz/hardware.c | 12 +++++++++---
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+commit a115cc3748482e277f42a968baa3cd266f031dba
+Author: Lasse Collin
+Date: 2014-06-18 22:04:24 +0300
+
+ liblzma: Add lzma_cputhreads().
+
+ src/liblzma/Makefile.am | 8 +++++++-
+ src/liblzma/api/lzma/hardware.h | 14 ++++++++++++++
+ src/liblzma/common/Makefile.inc | 1 +
+ src/liblzma/common/hardware_cputhreads.c | 22 ++++++++++++++++++++++
+ src/liblzma/liblzma.map | 1 +
+ 5 files changed, 45 insertions(+), 1 deletion(-)
+
+commit 3ce3e7976904fbab4e6482bafa442856f77a51fa
+Author: Lasse Collin
+Date: 2014-06-18 19:11:52 +0300
+
+ xz: Check for filter chain compatibility for --flush-timeout.
+
+ This avoids LZMA_PROG_ERROR from lzma_code() with filter chains
+ that don't support LZMA_SYNC_FLUSH.
+
+ src/xz/coder.c | 30 +++++++++++++++++++++---------
+ 1 file changed, 21 insertions(+), 9 deletions(-)
+
+commit 381ac14ed79e5d38809f251705be8b3193bba417
+Author: Lasse Collin
+Date: 2014-06-13 19:21:54 +0300
+
+ xzgrep: List xzgrep_expected_output in tests/Makefile.am.
+
+ tests/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+commit 4244b65b06d5ecaf6f9dd0387ac7e3166bd2364e
+Author: Lasse Collin
+Date: 2014-06-13 18:58:22 +0300
+
+ xzgrep: Improve the test script.
+
+ Now it should be close to the functionality of the original
+ version by Pavel Raiskup.
+
+ tests/Makefile.am | 3 ++-
+ tests/test_scripts.sh | 24 ++++++++++++++----------
+ tests/xzgrep_expected_output | 39 +++++++++++++++++++++++++++++++++++++++
+ 3 files changed, 55 insertions(+), 11 deletions(-)
+
+commit 1e60f2c0a0ee6c18b02943ce56214799a70aac26
+Author: Lasse Collin
+Date: 2014-06-11 21:03:25 +0300
+
+ xzgrep: Add a test for the previous fix.
+
+ This is a simplified version of Pavel Raiskup's
+ original patch.
+
+ tests/test_scripts.sh | 26 ++++++++++++++++++++++----
+ 1 file changed, 22 insertions(+), 4 deletions(-)
+
+commit ceca37901783988204caaf40dff4623d535cc789
+Author: Lasse Collin
+Date: 2014-06-11 20:43:28 +0300
+
+ xzgrep: exit 0 when at least one file matches.
+
+ Mimic the original grep behavior and return exit_success when
+ at least one xz compressed file matches given pattern.
+
+ Original bugreport:
+ https://bugzilla.redhat.com/show_bug.cgi?id=1108085
+
+ Thanks to Pavel Raiskup for the patch.
+
+ src/scripts/xzgrep.in | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+commit 8c19216baccb92d011694590df8a1262da2e980c
+Author: Lasse Collin
+Date: 2014-06-09 21:21:24 +0300
+
+ xz: Force single-threaded mode when --flush-timeout is used.
+
+ src/xz/coder.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+commit 87f1a24810805187d7bbc8ac5512e7eec307ddf5
+Author: Lasse Collin
+Date: 2014-05-25 22:05:39 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit da1718f266fcfc091e7bf08aae1bc986d0e6cc6b
+Author: Lasse Collin
+Date: 2014-05-25 21:45:56 +0300
+
+ liblzma: Use lzma_alloc_zero() in LZ encoder initialization.
+
+ This avoids a memzero() call for a newly-allocated memory,
+ which can be expensive when encoding small streams with
+ an over-sized dictionary.
+
+ To avoid using lzma_alloc_zero() for memory that doesn't
+ need to be zeroed, lzma_mf.son is now allocated separately,
+ which requires handling it separately in normalize() too.
+
+ Thanks to Vincenzo Innocente for reporting the problem.
+
+ src/liblzma/lz/lz_encoder.c | 84 ++++++++++++++++++++++--------------------
+ src/liblzma/lz/lz_encoder.h | 2 +-
+ src/liblzma/lz/lz_encoder_mf.c | 31 +++++++++-------
+ 3 files changed, 62 insertions(+), 55 deletions(-)
+
+commit 28af24e9cf2eb259997c85dce13d4c97b3daa47a
+Author: Lasse Collin
+Date: 2014-05-25 19:25:57 +0300
+
+ liblzma: Add the internal function lzma_alloc_zero().
+
+ src/liblzma/common/common.c | 21 +++++++++++++++++++++
+ src/liblzma/common/common.h | 6 ++++++
+ 2 files changed, 27 insertions(+)
+
+commit ed9ac85822c490e34b68c259afa0b385d21d1c40
+Author: Lasse Collin
+Date: 2014-05-08 18:03:09 +0300
+
+ xz: Fix uint64_t vs. size_t which broke 32-bit build.
+
+ Thanks to Christian Hesse.
+
+ src/xz/coder.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit d716acdae3fa7996f9e68a7bac012e6d8d13dd02
+Author: Lasse Collin
+Date: 2014-05-04 11:09:11 +0300
+
+ Docs: Update comments to refer to lzma/lzma12.h in example programs.
+
+ doc/examples/03_compress_custom.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 4d5b7b3fda31241ca86ed35e08e73f776ee916e0
+Author: Lasse Collin
+Date: 2014-05-04 11:07:17 +0300
+
+ liblzma: Rename the private API header lzma/lzma.h to lzma/lzma12.h.
+
+ It can be confusing that two header files have the same name.
+ The public API file is still lzma.h.
+
+ src/liblzma/api/Makefile.am | 2 +-
+ src/liblzma/api/lzma.h | 2 +-
+ src/liblzma/api/lzma/{lzma.h => lzma12.h} | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+commit 1555a9c5664afc7893a2b75e9970105437f01ef1
+Author: Lasse Collin
+Date: 2014-04-25 17:53:42 +0300
+
+ Build: Fix the combination of --disable-xzdec --enable-lzmadec.
+
+ In this case "make install" could fail if the man page directory
+ didn't already exist at the destination. If it did exist, a
+ dangling symlink was created there. Now the link is omitted
+ instead. This isn't the best fix but it's better than the old
+ behavior.
+
+ src/xzdec/Makefile.am | 10 +++++++++-
+ 1 file changed, 9 insertions(+), 1 deletion(-)
+
+commit 56056571df3377eaa6ae6233b3ccc5d72e81d43d
+Author: Lasse Collin
+Date: 2014-04-25 17:44:26 +0300
+
+ Build: Add --disable-doc to configure.
+
+ INSTALL | 6 ++++++
+ Makefile.am | 2 ++
+ configure.ac | 6 ++++++
+ 3 files changed, 14 insertions(+)
+
+commit 6de61d8721097a6214810841aa85b08e303ac538
+Author: Lasse Collin
+Date: 2014-04-24 18:06:24 +0300
+
+ Update INSTALL.
+
+ Add a note about failing "make check". The source of
+ the problem should be fixed in libtool (if it really is
+ a libtool bug and not mine) but I'm unable to spend time
+ on that for now. Thanks to Nelson H. F. Beebe for reporting
+ the issue.
+
+ Add a note about a possible need to run "ldconfig" after
+ "make install".
+
+ INSTALL | 25 +++++++++++++++++++++++++
+ 1 file changed, 25 insertions(+)
+
+commit 54df428799a8d853639b753d0e6784694d73eb3e
+Author: Lasse Collin
+Date: 2014-04-09 17:26:10 +0300
+
+ xz: Rename a variable to avoid a namespace collision on Solaris.
+
+ I don't know the details but I have an impression that there's
+ no problem in practice if using GCC since people have built xz
+ with GCC (without patching xz), but renaming the variable cannot
+ hurt either.
+
+ Thanks to Mark Ashley.
+
+ src/xz/signals.c | 12 +++++++-----
+ 1 file changed, 7 insertions(+), 5 deletions(-)
+
+commit 5876ca27daa1429676b1160007d9688266907f00
+Author: Lasse Collin
+Date: 2014-01-29 20:19:41 +0200
+
+ Docs: Add example program for threaded encoding.
+
+ I didn't add -DLZMA_UNSTABLE to Makefile so one has to
+ specify it manually as long as LZMA_UNSTABLE is needed.
+
+ doc/examples/04_compress_easy_mt.c | 184 +++++++++++++++++++++++++++++++++++++
+ doc/examples/Makefile | 3 +-
+ 2 files changed, 186 insertions(+), 1 deletion(-)
+
+commit 9494fb6d0ff41c585326f00aa8f7fe58f8106a5e
+Author: Lasse Collin
+Date: 2014-01-29 20:13:51 +0200
+
+ liblzma: Fix lzma_mt.preset not working with lzma_stream_encoder_mt().
+
+ It read the filter chain from a wrong variable.
+
+ src/liblzma/common/stream_encoder_mt.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 673a4cb53de3a715685cb1b836da57a3c7dcd43c
+Author: Lasse Collin
+Date: 2014-01-20 11:20:40 +0200
+
+ liblzma: Fix typo in a comment.
+
+ src/liblzma/api/lzma/block.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit ad96a871a1470eb76d6233d3890ce9338047b7a3
+Author: Lasse Collin
+Date: 2014-01-12 19:38:43 +0200
+
+ Windows: Add config.h for building liblzma with MSVC 2013.
+
+ This is for building liblzma. Building xz tool too requires
+ a little more work. Maybe it will be supported, but for most
+ MSVC users it's enough to be able to build liblzma.
+
+ C99 support in MSVC 2013 is almost usable which is a big
+ improvement over earlier versions. It's "almost" because
+ there's a dumb bug that breaks mixed declarations after
+ an "if" statements unless the "if" statement uses braces:
+
+ https://connect.microsoft.com/VisualStudio/feedback/details/808650/visual-studio-2013-c99-compiler-bug
+ https://connect.microsoft.com/VisualStudio/feedback/details/808472/c99-support-of-mixed-declarations-and-statements-fails-with-certain-types-and-constructs
+
+ Hopefully it will get fixed. Then liblzma should be
+ compilable with MSVC 2013 without patching.
+
+ windows/config.h | 139 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 139 insertions(+)
+
+commit 3d5c090872fab4212b57c290e8ed4d02c78c1737
+Author: Lasse Collin
+Date: 2014-01-12 17:41:14 +0200
+
+ xz: Fix a comment.
+
+ src/xz/coder.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+commit 69fd4e1c932c7975476a0143c86e45d81b60d3f9
+Author: Lasse Collin
+Date: 2014-01-12 17:04:33 +0200
+
+ Windows: Add MSVC defines for inline and restrict keywords.
+
+ src/common/sysdefs.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+commit a19d9e8575ee6647cd9154cf1f20203f1330485f
+Author: Lasse Collin
+Date: 2014-01-12 16:44:52 +0200
+
+ liblzma: Avoid C99 compound literal arrays.
+
+ MSVC 2013 doesn't like them. Maybe they aren't so good
+ for readability either since many aren't used to them.
+
+ src/liblzma/lzma/lzma_encoder_presets.c | 8 +++++---
+ 1 file changed, 5 insertions(+), 3 deletions(-)
+
+commit e28528f1c867b2ed4ac91195ad08efb9bb8a6263
+Author: Lasse Collin
+Date: 2014-01-12 12:50:30 +0200
+
+ liblzma: Remove a useless C99ism from sha256.c.
+
+ Unsurprisingly it makes no difference in compiled output.
+
+ src/liblzma/check/sha256.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 5ad1effc45adfb7dabc9a98e79736077e6b7e2d5
+Author: Lasse Collin
+Date: 2014-01-12 12:17:08 +0200
+
+ xz: Fix use of wrong variable.
+
+ Since the only call to suffix_set() uses optarg
+ as the argument, fixing this bug doesn't change
+ the behavior of the program.
+
+ src/xz/suffix.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 3e62c68d75b5a3fdd46dbb34bb335d73289860d5
+Author: Lasse Collin
+Date: 2014-01-12 12:11:36 +0200
+
+ Fix typos in comments.
+
+ src/common/mythread.h | 2 +-
+ src/liblzma/check/crc32_fast.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit e90ea601fb72867ec04adf456cbe4bf9520fd412
+Author: Lasse Collin
+Date: 2013-11-26 18:20:16 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit b22e94d8d15764416354e04729382a7371ae2c30
+Author: Lasse Collin
+Date: 2013-11-26 18:20:09 +0200
+
+ liblzma: Document the need for block->check for lzma_block_header_decode().
+
+ Thanks to Tomer Chachamu.
+
+ src/liblzma/api/lzma/block.h | 3 +++
+ 1 file changed, 3 insertions(+)
+
+commit d1cd8b1cb824b72421d1ee370e628024d2fcbec4
+Author: Lasse Collin
+Date: 2013-11-12 16:38:57 +0200
+
+ xz: Update the man page about --block-size and --block-list.
+
+ src/xz/xz.1 | 24 +++++++++++++++---------
+ 1 file changed, 15 insertions(+), 9 deletions(-)
+
+commit 76be7c612e6bcc38724488ccc3b8bcb1cfec9f0a
+Author: Lasse Collin
+Date: 2013-11-12 16:30:53 +0200
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit dd750acbe2259d75444ef0f8da2d4bacc90d7afc
+Author: Lasse Collin
+Date: 2013-11-12 16:29:48 +0200
+
+ xz: Make --block-list and --block-size work together in single-threaded.
+
+ Previously, --block-list and --block-size only worked together
+ in threaded mode. Boundaries are specified by --block-list, but
+ --block-size specifies the maximum size for a Block. Now this
+ works in single-threaded mode too.
+
+ Thanks to James M Leddy for the original patch.
+
+ src/xz/coder.c | 90 ++++++++++++++++++++++++++++++++++++++++++++++++----------
+ 1 file changed, 75 insertions(+), 15 deletions(-)
+
+commit ae222fe9805d0161d022d75ba8485dab8bf6d7d5
+Author: Lasse Collin
+Date: 2013-10-26 13:26:14 +0300
+
+ Bump the version number to 5.1.3alpha.
+
+ src/liblzma/api/lzma/version.h | 2 +-
+ src/liblzma/liblzma.map | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+commit 2193837a6a597cd3bf4e9ddf49421a5697d8e155
+Author: Lasse Collin
+Date: 2013-10-26 13:25:02 +0300
+
+ Update NEWS for 5.1.3alpha.
+
+ NEWS | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+commit ed48e75e2763876173aef8902da407a8eb28854b
+Author: Lasse Collin
+Date: 2013-10-26 12:47:04 +0300
+
+ Update TODO.
+
+ TODO | 4 ----
+ 1 file changed, 4 deletions(-)
+
+commit 841da0352d79a56a44796a4c39163429c9f039a3
+Author: Lasse Collin
+Date: 2013-10-25 22:41:28 +0300
+
+ xz: Document behavior of --block-list with threads.
+
+ This needs to be updated before 5.2.0.
+
+ src/xz/xz.1 | 24 +++++++++++++++++++++---
+ 1 file changed, 21 insertions(+), 3 deletions(-)
+
+commit 56feb8665b78c1032aabd53c619c62af51defe64
+Author: Lasse Collin
+Date: 2013-10-22 20:03:12 +0300
+
+ xz: Document --flush-timeout=TIMEOUT on the man page.
+
+ src/xz/xz.1 | 37 ++++++++++++++++++++++++++++++++++++-
+ 1 file changed, 36 insertions(+), 1 deletion(-)
+
+commit ba413da1d5bb3324287cf3174922acd921165971
+Author: Lasse Collin
+Date: 2013-10-22 19:51:55 +0300
+
+ xz: Take advantage of LZMA_FULL_BARRIER with --block-list.
+
+ Now if --block-list is used in threaded mode, the encoder
+ won't need to flush at each Block boundary specified via
+ --block-list. This improves performance a lot, making
+ threading helpful with --block-list.
+
+ The flush timer was reset after LZMA_FULL_FLUSH but since
+ LZMA_FULL_BARRIER doesn't flush, resetting the timer is
+ no longer done.
+
+ src/xz/coder.c | 32 +++++++++++++++-----------------
+ 1 file changed, 15 insertions(+), 17 deletions(-)
+
+commit 0cd45fc2bc5537de287a0bc005e2d67467a92148
+Author: Lasse Collin
+Date: 2013-10-02 20:05:23 +0300
+
+ liblzma: Support LZMA_FULL_FLUSH and _BARRIER in threaded encoder.
+
+ Now --block-list=SIZES works with in the threaded mode too,
+ although the performance is still bad due to the use of
+ LZMA_FULL_FLUSH instead of the new LZMA_FULL_BARRIER.
+
+ src/liblzma/common/stream_encoder_mt.c | 55 ++++++++++++++++++++++++----------
+ 1 file changed, 39 insertions(+), 16 deletions(-)
+
+commit 97bb38712f414fabecca908af2e38a12570293fd
+Author: Lasse Collin
+Date: 2013-10-02 12:55:11 +0300
+
+ liblzma: Add LZMA_FULL_BARRIER support to single-threaded encoder.
+
+ In the single-threaded encoder LZMA_FULL_BARRIER is simply
+ an alias for LZMA_FULL_FLUSH.
+
+ src/liblzma/api/lzma/base.h | 37 ++++++++++++++++++++++++++++++-------
+ src/liblzma/common/common.c | 17 +++++++++++++++--
+ src/liblzma/common/common.h | 7 ++++++-
+ src/liblzma/common/stream_encoder.c | 4 +++-
+ 4 files changed, 54 insertions(+), 11 deletions(-)
+
+commit fef0c6b410c08e581c9178700a4e7599f0895ff9
+Author: Lasse Collin
+Date: 2013-09-17 11:57:51 +0300
+
+ liblzma: Add block_buffer_encoder.h into Makefile.inc.
+
+ This should have been in b465da5988dd59ad98fda10c2e4ea13d0b9c73bc.
+
+ src/liblzma/common/Makefile.inc | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 8083e03291b6d21c0f538163e187b4e8cd5594e4
+Author: Lasse Collin
+Date: 2013-09-17 11:55:38 +0300
+
+ xz: Add a missing test for TUKLIB_DOSLIKE.
+
+ src/xz/file_io.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+commit 6b44b4a775fe29ecc7bcb7996e086e3bc09e5fd0
+Author: Lasse Collin
+Date: 2013-09-17 11:52:28 +0300
+
+ Add native threading support on Windows.
+
+ Now liblzma only uses "mythread" functions and types
+ which are defined in mythread.h matching the desired
+ threading method.
+
+ Before Windows Vista, there is no direct equivalent to
+ pthread condition variables. Since this package doesn't
+ use pthread_cond_broadcast(), pre-Vista threading can
+ still be kept quite simple. The pre-Vista code doesn't
+ use anything that wasn't already available in Windows 95,
+ so the binaries should run even on Windows 95 if someone
+ happens to care.
+
+ INSTALL | 41 ++-
+ configure.ac | 118 ++++++--
+ src/common/mythread.h | 513 ++++++++++++++++++++++++++-------
+ src/liblzma/common/stream_encoder_mt.c | 83 +++---
+ src/xz/coder.c | 8 +-
+ windows/README-Windows.txt | 2 +-
+ windows/build.bash | 23 +-
+ 7 files changed, 573 insertions(+), 215 deletions(-)
+
+commit ae0ab74a88d5b9b15845f1d9a24ade4349a54f9f
+Author: Lasse Collin
+Date: 2013-09-11 14:40:35 +0300
+
+ Build: Remove a comment about Automake 1.10 from configure.ac.
+
+ The previous commit supports silent rules and that requires
+ Automake 1.11.
+
+ configure.ac | 2 --
+ 1 file changed, 2 deletions(-)
+
+commit 72975df6c8c59aaf849138ab3606e8fb6970596a
+Author: Lasse Collin
+Date: 2013-09-09 20:37:03 +0300
+
+ Build: Create liblzma.pc in a src/liblzma/Makefile.am.
+
+ Previously it was done in configure, but doing that goes
+ against the Autoconf manual. Autoconf requires that it is
+ possible to override e.g. prefix after running configure
+ and that doesn't work correctly if liblzma.pc is created
+ by configure.
+
+ A potential downside of this change is that now e.g.
+ libdir in liblzma.pc is a standalone string instead of
+ being defined via ${prefix}, so if one overrides prefix
+ when running pkg-config the libdir won't get the new value.
+ I don't know if this matters in practice.
+
+ Thanks to Vincent Torri.
+
+ configure.ac | 1 -
+ src/liblzma/Makefile.am | 20 ++++++++++++++++++++
+ 2 files changed, 20 insertions(+), 1 deletion(-)
+
+commit 1c2b6e7e8382ed390f53e140f160488bb2205ecc
+Author: Lasse Collin
+Date: 2013-08-04 15:24:09 +0300
+
+ Fix the previous commit which broke the build.
+
+ Apparently I didn't even compile-test the previous commit.
+
+ Thanks to Christian Hesse.
+
+ src/common/tuklib_cpucores.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 124eb69c7857f618b4807588c51bc9ba21bf8691
+Author: Lasse Collin
+Date: 2013-08-03 13:52:58 +0300
+
+ Windows: Add Windows support to tuklib_cpucores().
+
+ It is used for Cygwin too. I'm not sure if that is
+ a good or bad idea.
+
+ Thanks to Vincent Torri.
+
+ m4/tuklib_cpucores.m4 | 19 +++++++++++++++++--
+ src/common/tuklib_cpucores.c | 13 ++++++++++++-
+ 2 files changed, 29 insertions(+), 3 deletions(-)
+
+commit eada8a875ce3fd521cb42e4ace2624d3d49c5f35
+Author: Anders F Bjorklund
+Date: 2013-08-02 15:59:46 +0200
+
+ macosx: separate liblzma package
+
+ macosx/build.sh | 23 +++++++++++++++--------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+commit be0100d01ca6a75899d051bee00acf17e6dc0c15
+Author: Anders F Bjorklund
+Date: 2013-08-02 15:58:44 +0200
+
+ macosx: set minimum to leopard
+
+ macosx/build.sh | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+commit 416729e2d743f4b2fe9fd438eedeb98adce033c3
+Author: Anders F Bjorklund
+Date: 2011-08-07 13:13:30 +0200
+
+ move configurables into variables
+
+ macosx/build.sh | 25 ++++++++++++++++++-------
+ 1 file changed, 18 insertions(+), 7 deletions(-)
+
+commit 16581080e5f29f9a4e49efece21c5bf572323acc
+Author: Lasse Collin
+Date: 2013-07-15 14:08:41 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit 3e2b198ba37b624efd9c7caee2a435dc986b46c6
+Author: Lasse Collin
+Date: 2013-07-15 14:08:02 +0300
+
+ Build: Fix the detection of missing CRC32.
+
+ Thanks to Vincent Torri.
+
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit dee6ad3d5915422bc30a6821efeacaeb8ca8ef00
+Author: Lasse Collin
+Date: 2013-07-04 14:18:46 +0300
+
+ xz: Add preliminary support for --flush-timeout=TIMEOUT.
+
+ When --flush-timeout=TIMEOUT is used, xz will use
+ LZMA_SYNC_FLUSH if read() would block and at least
+ TIMEOUT milliseconds has elapsed since the previous flush.
+
+ This can be useful in realtime-like use cases where the
+ data is simultanously decompressed by another process
+ (possibly on a different computer). If new uncompressed
+ input data is produced slowly, without this option xz could
+ buffer the data for a long time until it would become
+ decompressible from the output.
+
+ If TIMEOUT is 0, the feature is disabled. This is the default.
+
+ This commit affects the compression side. Using xz for
+ the decompression side for the above purpose doesn't work
+ yet so well because there is quite a bit of input and
+ output buffering when decompressing.
+
+ The --long-help or man page were not updated yet.
+ The details of this feature may change.
+
+ src/xz/args.c | 7 +++++++
+ src/xz/coder.c | 46 +++++++++++++++++++++++++++++++++++-----------
+ src/xz/file_io.c | 46 ++++++++++++++++++++++++++++++++++++----------
+ 3 files changed, 78 insertions(+), 21 deletions(-)
+
+commit fa381acaf9a29a8114e1c0a97de99bab9adb014e
+Author: Lasse Collin
+Date: 2013-07-04 13:41:03 +0300
+
+ xz: Don't set src_eof=true after an I/O error because it's useless.
+
+ src/xz/file_io.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+commit ea00545beace5b950f709ec21e46878e0f448678
+Author: Lasse Collin
+Date: 2013-07-04 13:25:11 +0300
+
+ xz: Fix the test when to read more input.
+
+ Testing for end of file was no longer correct after full flushing
+ became possible with --block-size=SIZE and --block-list=SIZES.
+ There was no bug in practice though because xz just made a few
+ unneeded zero-byte reads.
+
+ src/xz/coder.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+commit 736903c64bef394c06685d79908e397bcb08b88f
+Author: Lasse Collin
+Date: 2013-07-04 12:51:57 +0300
+
+ xz: Move some of the timing code into mytime.[hc].
+
+ This switches units from microseconds to milliseconds.
+
+ New clock_gettime(CLOCK_MONOTONIC) will be used if available.
+ There is still a fallback to gettimeofday().
+
+ src/xz/Makefile.am | 2 ++
+ src/xz/coder.c | 5 +++
+ src/xz/message.c | 54 +++++++++------------------------
+ src/xz/mytime.c | 89 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ src/xz/mytime.h | 47 ++++++++++++++++++++++++++++
+ src/xz/private.h | 1 +
+ 6 files changed, 158 insertions(+), 40 deletions(-)
+
+commit 24edf8d807e24ffaa1e793114d94cca3b970027d
+Author: Lasse Collin
+Date: 2013-07-01 14:35:03 +0300
+
+ Update THANKS.
+
+ THANKS | 1 +
+ 1 file changed, 1 insertion(+)
+
+commit c0627b3fceacfa1ed162f5f55235360ea26f569a
+Author: Lasse Collin
+Date: 2013-07-01 14:34:11 +0300
+
+ xz: Silence a warning seen with _FORTIFY_SOURCE=2.
+
+ Thanks to Christian Hesse.
+
+ src/xz/file_io.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+commit 1936718bb38ee394bd89836fdd4eabc0beb02443
+Author: Lasse Collin
+Date: 2013-06-30 19:40:11 +0300
+
+ Update NEWS for 5.0.5.
+
+ NEWS | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 52 insertions(+)
+
+commit a37ae8b5eb6093a530198f109c6f7a538c80ecf0
+Author: Lasse Collin
+Date: 2013-06-30 18:02:27 +0300
+
+ Man pages: Use similar syntax for synopsis as in xz.
+
+ The man pages of lzmainfo, xzmore, and xzdec had similar
+ constructs as the man page of xz had before the commit
+ eb6ca9854b8eb9fbf72497c1cf608d6b19d2d494. Eric S. Raymond
+ didn't mention these man pages in his bug report, but
+ it's nice to be consistent.
+
+ src/lzmainfo/lzmainfo.1 | 4 ++--
+ src/scripts/xzmore.1 | 6 +++---
+ src/xzdec/xzdec.1 | 10 +++++-----
+ 3 files changed, 10 insertions(+), 10 deletions(-)
+
+commit cdba9ddd870ae72fd6219a125662c20ec997f86c
+Author: Lasse Collin
+Date: 2013-06-29 15:59:13 +0300
+
+ xz: Use non-blocking I/O for the output file.
+
+ Now both reading and writing should be without
+ race conditions with signals.
+
+ They might still be signal handling issues left.
+ Signals are blocked during many operations to avoid
+ EINTR but it may cause problems e.g. if writing to
+ stderr blocks when trying to display an error message.
+
+ src/xz/file_io.c | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------
+ 1 file changed, 49 insertions(+), 8 deletions(-)
+
+commit e61a5c95da3fe31281d959e5e842885a8ba2b5bd
+Author: Lasse Collin
+Date: 2013-06-28 23:56:17 +0300
+
+ xz: Fix return value type in io_write_buf().
+
+ It didn't affect the behavior of the code since -1
+ becomes true anyway.
+
+ src/xz/file_io.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+commit 9dc319eabb34a826f4945f91c71620f14a60e9e2
+Author: Lasse Collin
+Date: 2013-06-28 23:48:05 +0300
+
+ xz: Use the self-pipe trick to avoid a race condition with signals.
+
+ It is possible that a signal to set user_abort arrives right
+ before a blocking system call is made. In this case the call
+ may block until another signal arrives, while the wanted
+ behavior is to make xz clean up and exit as soon as possible.
+
+ After this commit, the race condition is avoided with the
+ input side which already uses non-blocking I/O. The output
+ side still uses blocking I/O and thus has the race condition.
+
+ src/xz/file_io.c | 56 ++++++++++++++++++++++++++++++++++++++++++++------------
+ src/xz/file_io.h | 8 ++++++++
+ src/xz/signals.c | 5 +++++
+ 3 files changed, 57 insertions(+), 12 deletions(-)
+
+commit 3541bc79d0cfabc0ad155c99bfdad1289f17fec3
+Author: Lasse Collin
+Date: 2013-06-28 22:51:02 +0300
+
+ xz: Use non-blocking I/O for the input file.
+
+ src/xz/file_io.c | 156 +++++++++++++++++++++++++++++++++++++++----------------
+ 1 file changed, 111 insertions(+), 45 deletions(-)
+
+commit 78673a08bed5066c81e8a8e90d20e670c28ecfd5
+Author: Lasse Collin