]> git.ipfire.org Git - thirdparty/xz.git/log
thirdparty/xz.git
2 years agoUpdate THANKS.
Lasse Collin [Tue, 1 Aug 2023 15:22:24 +0000 (18:22 +0300)] 
Update THANKS.

2 years agomythread.h: Disable signal functions in builds targeting Wasm + WASI.
ChanTsune [Tue, 1 Aug 2023 15:17:17 +0000 (18:17 +0300)] 
mythread.h: Disable signal functions in builds targeting Wasm + WASI.

signal.h in WASI SDK doesn't currently provide sigprocmask()
or sigset_t. liblzma doesn't need them so this change makes
liblzma and xzdec build against WASI SDK. xz doesn't build yet
and the tests don't either as tuktest needs setjmp() which
isn't (yet?) implemented in WASI SDK.

Closes: https://github.com/tukaani-project/xz/pull/57
See also: https://github.com/tukaani-project/xz/pull/56

(The original commit was edited a little by Lasse Collin.)

2 years agoDocs: Fix typos found by codespell
Dimitri Papadopoulos Orfanos [Mon, 31 Jul 2023 12:02:21 +0000 (14:02 +0200)] 
Docs: Fix typos found by codespell

2 years agoUpdate .gitignore.
Jia Tan [Wed, 26 Jul 2023 12:26:23 +0000 (20:26 +0800)] 
Update .gitignore.

2 years agoCMake: Conditionally allow the creation of broken symlinks.
Jia Tan [Fri, 28 Jul 2023 14:03:08 +0000 (22:03 +0800)] 
CMake: Conditionally allow the creation of broken symlinks.

The CMake build will try to create broken symlinks on Unix and Unix-like
platforms. Cygwin and MSYS2 are Unix-like, but may not be able to create
broken symlinks. The value of the CYGWIN or MSYS environment variables
determine if broken symlinks are valid.

The default for MSYS2 does not allow for broken symlinks, so the CMake
build has been broken for MSYS2 since commit
80a1a8bb838842a2be343bd88ad1462c21c5e2c9.

2 years agoliblzma: Prevent an empty translation unit in Windows builds.
Jia Tan [Mon, 24 Jul 2023 13:43:44 +0000 (21:43 +0800)] 
liblzma: Prevent an empty translation unit in Windows builds.

To workaround Automake lacking Windows resource compiler support, an
empty source file is compiled to overwrite the resource files for static
library builds. Translation units without an external declaration are
not allowed by the C standard and result in a warning when used with
-Wempty-translation-unit (Clang) or -pedantic (GCC).

2 years agoTests: Skip .lz files in test_files.sh if not configured.
Jia Tan [Fri, 21 Jul 2023 10:05:44 +0000 (18:05 +0800)] 
Tests: Skip .lz files in test_files.sh if not configured.

Previously if the lzip decoder was not configured then test_files.sh
would pass the lzip tests instead of skipping them.

2 years agoTests: Add ARM64 filter test to test_compress.sh.
Jia Tan [Thu, 20 Jul 2023 14:11:13 +0000 (22:11 +0800)] 
Tests: Add ARM64 filter test to test_compress.sh.

2 years agoTranslations: Update the Vietnamese translation.
Jia Tan [Sat, 22 Jul 2023 10:37:56 +0000 (18:37 +0800)] 
Translations: Update the Vietnamese translation.

2 years agoTranslations: Update the Croatian translation.
Jia Tan [Thu, 20 Jul 2023 12:30:05 +0000 (20:30 +0800)] 
Translations: Update the Croatian translation.

2 years agoTranslations: Update the Korean man page translations.
Jia Tan [Thu, 20 Jul 2023 12:28:32 +0000 (20:28 +0800)] 
Translations: Update the Korean man page translations.

2 years agoTranslations: Update the Korean translation.
Jia Tan [Thu, 20 Jul 2023 12:25:24 +0000 (20:25 +0800)] 
Translations: Update the Korean translation.

2 years agoTranslations: Update the Polish translation.
Jia Tan [Thu, 20 Jul 2023 12:24:05 +0000 (20:24 +0800)] 
Translations: Update the Polish translation.

2 years agoTranslations: Update the German man page translations.
Jia Tan [Thu, 20 Jul 2023 12:22:23 +0000 (20:22 +0800)] 
Translations: Update the German man page translations.

2 years agoTranslations: Update the German translation.
Jia Tan [Thu, 20 Jul 2023 12:18:44 +0000 (20:18 +0800)] 
Translations: Update the German translation.

2 years agoTranslations: Update the Chinese (simplified) translation.
Jia Tan [Thu, 20 Jul 2023 12:17:10 +0000 (20:17 +0800)] 
Translations: Update the Chinese (simplified) translation.

2 years agoTranslations: Update the Swedish translation.
Jia Tan [Thu, 20 Jul 2023 12:15:47 +0000 (20:15 +0800)] 
Translations: Update the Swedish translation.

2 years agoTranslations: Update the Ukrainian man page translations.
Jia Tan [Thu, 20 Jul 2023 12:14:00 +0000 (20:14 +0800)] 
Translations: Update the Ukrainian man page translations.

2 years agoTranslations: Update the Ukrainian translation.
Jia Tan [Thu, 20 Jul 2023 12:09:15 +0000 (20:09 +0800)] 
Translations: Update the Ukrainian translation.

2 years agoTranslations: Update the Spanish translation.
Jia Tan [Thu, 20 Jul 2023 12:06:57 +0000 (20:06 +0800)] 
Translations: Update the Spanish translation.

2 years agoTranslations: Update the Romanian translation.
Jia Tan [Thu, 20 Jul 2023 12:05:19 +0000 (20:05 +0800)] 
Translations: Update the Romanian translation.

2 years agoTranslations: Update the Romanian man page translations.
Jia Tan [Thu, 20 Jul 2023 12:02:56 +0000 (20:02 +0800)] 
Translations: Update the Romanian man page translations.

2 years agoxz: Update man page Authors and date.
Jia Tan [Thu, 13 Jul 2023 13:26:47 +0000 (21:26 +0800)] 
xz: Update man page Authors and date.

2 years agoxz: Slight reword in xz man page for consistency.
Jia Tan [Tue, 18 Jul 2023 15:19:09 +0000 (23:19 +0800)] 
xz: Slight reword in xz man page for consistency.

Changed will print => prints in xz --robot --version description to
match --robot --info-memory description.

2 years agoliblzma: Improve comment in string_conversion.c.
Jia Tan [Tue, 18 Jul 2023 14:49:57 +0000 (22:49 +0800)] 
liblzma: Improve comment in string_conversion.c.

The comment used "flag" when referring to decoder options. Just
referring to them as options is more clear and consistent.

2 years agoliblzma: Reword lzma_str_list_filters() documentation.
Jia Tan [Sat, 13 May 2023 13:21:54 +0000 (21:21 +0800)] 
liblzma: Reword lzma_str_list_filters() documentation.

Reword "options required" to "options read". The previous wording
may have suggested that the options listed were all required when
the filters are used for encoding or decoding. Now it should be
more clear that the options listed are the ones relevant for
encoding or decoding.

2 years agoxz: Translate the second "%s: " in message.c since French needs "%s : ".
Lasse Collin [Tue, 18 Jul 2023 14:37:33 +0000 (17:37 +0300)] 
xz: Translate the second "%s: " in message.c since French needs "%s : ".

This string is used to print a filename when using "xz -v" and
stderr isn't a terminal.

2 years agoxz: Make "%s: %s" translatable because French needs "%s : %s".
Lasse Collin [Tue, 18 Jul 2023 11:35:33 +0000 (14:35 +0300)] 
xz: Make "%s: %s" translatable because French needs "%s : %s".

2 years agoliblzma: Tweak #if condition in memcmplen.h.
Lasse Collin [Tue, 18 Jul 2023 10:57:54 +0000 (13:57 +0300)] 
liblzma: Tweak #if condition in memcmplen.h.

Maybe ICC always #defines _MSC_VER on Windows but now
it's very clear which code will get used.

2 years agoliblzma: Omit unnecessary parenthesis in a preprocessor directive.
Lasse Collin [Tue, 18 Jul 2023 10:49:43 +0000 (13:49 +0300)] 
liblzma: Omit unnecessary parenthesis in a preprocessor directive.

2 years agoliblzma: Prevent warning for MSYS2 Windows build.
Jia Tan [Wed, 28 Jun 2023 12:22:38 +0000 (20:22 +0800)] 
liblzma: Prevent warning for MSYS2 Windows build.

In lzma_memcmplen(), the <intrin.h> header file is only included if
_MSC_VER and _M_X64 are both defined but _BitScanForward64() was
previously used if _M_X64 was defined. GCC for MSYS2 defines _M_X64 but
not _MSC_VER so _BitScanForward64() was used without including
<intrin.h>.

Now, lzma_memcmplen() will use __builtin_ctzll() for MSYS2 GCC builds as
expected.

2 years agoDocs: Add a new section to INSTALL for Tests.
Jia Tan [Fri, 14 Jul 2023 15:20:33 +0000 (23:20 +0800)] 
Docs: Add a new section to INSTALL for Tests.

The new Tests section describes basic information about the tests, how
to run them, and important details when cross compiling. We have had a
few questions about how to compile the tests without running them, so
hopefully this information will help others with the same question in the
future.

Fixes: https://github.com/tukaani-project/xz/issues/54
2 years agoDocs: Update README.
Jia Tan [Fri, 14 Jul 2023 13:10:27 +0000 (21:10 +0800)] 
Docs: Update README.

This adds an entry to "Other implementations of the .xz format" for
XZ for Java.

2 years agoxz: Fix typo in man page.
Jia Tan [Tue, 18 Jul 2023 10:27:46 +0000 (13:27 +0300)] 
xz: Fix typo in man page.

The Memory limit information section described three output
columns when it actually has six. This was reworded to
"multiple" to make it more future proof.

2 years agoTests: Improve feature testing for skipping.
Jia Tan [Fri, 14 Jul 2023 13:30:25 +0000 (21:30 +0800)] 
Tests: Improve feature testing for skipping.

Fixed a bug where test_compress_* would all fail if arm64 or armthumb
filters were enabled for compression but arm was disabled. Since the
grep tests only checked for "define HAVE_ENCODER_ARM", this would match
on HAVE_ENCODER_ARM64 or HAVE_ENCODER_ARMTHUMB.

Now the config.h feature test requires " 1" at the end to prevent the
prefix problem. have_feature() was also updated for this even though
there were known current bugs affecting it. This is just in case future
features have a similar prefix problem.

2 years agoTranslations: Update the Chinese (traditional) translation.
Jia Tan [Mon, 10 Jul 2023 12:56:28 +0000 (20:56 +0800)] 
Translations: Update the Chinese (traditional) translation.

2 years agoTranslations: Update the Vietnamese translation.
Jia Tan [Sat, 8 Jul 2023 12:03:59 +0000 (20:03 +0800)] 
Translations: Update the Vietnamese translation.

2 years agoTests: Fix memory leaks in test_index.
Jia Tan [Wed, 28 Jun 2023 12:46:31 +0000 (20:46 +0800)] 
Tests: Fix memory leaks in test_index.

Several tests were missing calls to lzma_index_end() to clean up the
lzma_index structs. The memory leaks were discovered by using
-fsanitize=address with GCC.

2 years agoTests: Fix memory leaks in test_block_header.
Jia Tan [Wed, 28 Jun 2023 12:43:29 +0000 (20:43 +0800)] 
Tests: Fix memory leaks in test_block_header.

test_block_header was not properly freeing the filter options between
calls to lzma_block_header_decode(). The memory leaks were discovered by
using -fsanitize=address with GCC.

2 years agoliblzma: Prevent uninitialzed warning in mt stream encoder.
Jia Tan [Wed, 28 Jun 2023 12:31:11 +0000 (20:31 +0800)] 
liblzma: Prevent uninitialzed warning in mt stream encoder.

This change only impacts the compiler warning since it was impossible
for the wait_abs struct in stream_encode_mt() to be used before it was
initialized since mythread_condtime_set() will always be called before
mythread_cond_timedwait().

Since the mythread.h code is different between the POSIX and
Windows versions, this warning was only present on Windows builds.

Thanks to Arthur S for reporting the warning and providing an initial
patch.

2 years agoUpdate THANKS.
Jia Tan [Tue, 6 Jun 2023 16:10:38 +0000 (00:10 +0800)] 
Update THANKS.

2 years agoCMake: Protects against double find_package
Benjamin Buch [Tue, 6 Jun 2023 13:32:45 +0000 (15:32 +0200)] 
CMake: Protects against double find_package

Boost iostream uses `find_package` in quiet mode and then again uses
`find_package` with required. This second call triggers a
`add_library cannot create imported target "LibLZMA::LibLZMA"
because another target with the same name already exists.`

This can simply be fixed by skipping the alias part on secondary
`find_package` runs.

2 years agoTranslations: Update the Esperanto translation.
Jia Tan [Wed, 31 May 2023 12:26:42 +0000 (20:26 +0800)] 
Translations: Update the Esperanto translation.

2 years agoTranslations: Update the Croatian translation.
Jia Tan [Wed, 31 May 2023 12:25:00 +0000 (20:25 +0800)] 
Translations: Update the Croatian translation.

2 years agoTranslations: Update the Chinese (simplified) translation.
Jia Tan [Wed, 31 May 2023 12:15:53 +0000 (20:15 +0800)] 
Translations: Update the Chinese (simplified) translation.

2 years agoTranslations: Update German translation of man pages.
Jia Tan [Wed, 17 May 2023 15:12:13 +0000 (23:12 +0800)] 
Translations: Update German translation of man pages.

2 years agoTranslations: Update the German translation.
Jia Tan [Wed, 17 May 2023 15:09:18 +0000 (23:09 +0800)] 
Translations: Update the German translation.

2 years agoTranslations: Update the Croatian translation.
Jia Tan [Wed, 17 May 2023 12:30:01 +0000 (20:30 +0800)] 
Translations: Update the Croatian translation.

2 years agoTranslations: Update Korean translation of man pages.
Jia Tan [Wed, 17 May 2023 12:26:54 +0000 (20:26 +0800)] 
Translations: Update Korean translation of man pages.

2 years agoTranslations: Update the Korean translation.
Jia Tan [Wed, 17 May 2023 12:13:01 +0000 (20:13 +0800)] 
Translations: Update the Korean translation.

2 years agoTranslations: Update the Spanish translation.
Jia Tan [Tue, 16 May 2023 15:49:09 +0000 (23:49 +0800)] 
Translations: Update the Spanish translation.

2 years agoTranslations: Update the Romanian translation.
Jia Tan [Tue, 16 May 2023 15:47:23 +0000 (23:47 +0800)] 
Translations: Update the Romanian translation.

2 years agoTranslations: Update Romanian translation of man pages.
Jia Tan [Tue, 16 May 2023 15:45:43 +0000 (23:45 +0800)] 
Translations: Update Romanian translation of man pages.

2 years agoTranslations: Update Ukrainian translation of man pages.
Jia Tan [Tue, 16 May 2023 15:43:51 +0000 (23:43 +0800)] 
Translations: Update Ukrainian translation of man pages.

2 years agoTranslations: Update the Ukrainian translation.
Jia Tan [Tue, 16 May 2023 15:37:54 +0000 (23:37 +0800)] 
Translations: Update the Ukrainian translation.

2 years agoTranslations: Update the Polish translation.
Jia Tan [Tue, 16 May 2023 15:07:35 +0000 (23:07 +0800)] 
Translations: Update the Polish translation.

2 years agoTranslations: Update the Swedish translation.
Jia Tan [Tue, 16 May 2023 14:52:14 +0000 (22:52 +0800)] 
Translations: Update the Swedish translation.

2 years agoTranslations: Update the Esperanto translation.
Jia Tan [Tue, 16 May 2023 13:21:38 +0000 (21:21 +0800)] 
Translations: Update the Esperanto translation.

2 years agoliblzma: Adds lzma_nothrow to MicroLZMA API functions.
Jia Tan [Thu, 11 May 2023 15:49:23 +0000 (23:49 +0800)] 
liblzma: Adds lzma_nothrow to MicroLZMA API functions.

None of the liblzma functions may throw an exception, so this
attribute should be applied to all liblzma API functions.

2 years agoTranslations: Update the Croatian translation. v5.4.3
Jia Tan [Thu, 4 May 2023 12:38:52 +0000 (20:38 +0800)] 
Translations: Update the Croatian translation.

2 years agoBump version and soname for 5.4.3.
Jia Tan [Thu, 4 May 2023 11:50:42 +0000 (19:50 +0800)] 
Bump version and soname for 5.4.3.

2 years agoAdd NEWS for 5.4.3.
Jia Tan [Tue, 2 May 2023 12:39:56 +0000 (20:39 +0800)] 
Add NEWS for 5.4.3.

2 years agotuklib_integer.h: Fix a recent copypaste error in Clang detection.
Lasse Collin [Wed, 3 May 2023 19:46:42 +0000 (22:46 +0300)] 
tuklib_integer.h: Fix a recent copypaste error in Clang detection.

Wrong line was changed in 7062348bf35c1e4cbfee00ad9fffb4a21aa6eff7.
Also, this has >= instead of == since ints larger than 32 bits would
work too even if not relevant in practice.

2 years agoUpdate THANKS.
Jia Tan [Thu, 20 Apr 2023 12:15:00 +0000 (20:15 +0800)] 
Update THANKS.

2 years agoWindows: Include <intrin.h> when needed.
Jia Tan [Wed, 19 Apr 2023 14:22:16 +0000 (22:22 +0800)] 
Windows: Include <intrin.h> when needed.

Legacy Windows did not need to #include <intrin.h> to use the MSVC
intrinsics. Newer versions likely just issue a warning, but the MSVC
documentation says to include the header file for the intrinsics we use.

GCC and Clang can "pretend" to be MSVC on Windows, so extra checks are
needed in tuklib_integer.h to only include <intrin.h> when it will is
actually needed.

2 years agotuklib_integer: Use __builtin_clz() with Clang.
Jia Tan [Wed, 19 Apr 2023 13:59:03 +0000 (21:59 +0800)] 
tuklib_integer: Use __builtin_clz() with Clang.

Clang has support for __builtin_clz(), but previously Clang would
fallback to either the MSVC intrinsic or the regular C code. This was
discovered due to a bug where a new version of Clang required the
<intrin.h> header file in order to use the MSVC intrinsics.

Thanks to Anton Kochkov for notifying us about the bug.

2 years agoliblzma: Update project maintainers in lzma.h.
Lasse Collin [Fri, 14 Apr 2023 15:42:33 +0000 (18:42 +0300)] 
liblzma: Update project maintainers in lzma.h.

AUTHORS was updated earlier, lzma.h was simply forgotten.

2 years agoliblzma: Cleans up old commented out code.
Jia Tan [Thu, 13 Apr 2023 12:45:19 +0000 (20:45 +0800)] 
liblzma: Cleans up old commented out code.

2 years agoCMake: Update liblzma-config.cmake generation.
Jia Tan [Tue, 28 Mar 2023 14:32:40 +0000 (22:32 +0800)] 
CMake: Update liblzma-config.cmake generation.

Now that the threading is configurable, the liblzma CMake package only
needs the threading library when using POSIX threads.

2 years agoCMake: Allows setting thread method.
Jia Tan [Tue, 28 Mar 2023 14:25:33 +0000 (22:25 +0800)] 
CMake: Allows setting thread method.

The thread method is now configurable for the CMake build. It matches
the Autotools build by allowing ON (pick the best threading method),
OFF (no threading), posix, win95, and vista. If both Windows and
posix threading are both available, then ON will choose Windows
threading. Windows threading will also not use:

target_link_libraries(liblzma Threads::Threads)

since on systems like MinGW-w64 it would link the posix threads
without purpose.

2 years agoCMake: Only build xzdec if decoders are enabled.
Jia Tan [Fri, 24 Mar 2023 12:05:59 +0000 (20:05 +0800)] 
CMake: Only build xzdec if decoders are enabled.

2 years agoBuild: Removes redundant check for LZMA1 filter support.
Jia Tan [Wed, 22 Mar 2023 07:42:04 +0000 (15:42 +0800)] 
Build: Removes redundant check for LZMA1 filter support.

2 years agoCMake: Bump maximum policy version to 3.26.
Lasse Collin [Thu, 23 Mar 2023 13:14:29 +0000 (15:14 +0200)] 
CMake: Bump maximum policy version to 3.26.

It adds only one new policy related to FOLDERS which we don't use.
This makes it clear that the code is compatible with the policies
up to 3.26.

2 years agoCMake: Conditionally build xz list.* files if decoders are enabled.
Jia Tan [Tue, 21 Mar 2023 15:36:00 +0000 (23:36 +0800)] 
CMake: Conditionally build xz list.* files if decoders are enabled.

2 years agoCMake: Allow configuring features as cache variables.
Jia Tan [Sat, 25 Feb 2023 03:46:50 +0000 (11:46 +0800)] 
CMake: Allow configuring features as cache variables.

This allows users to change the features they build either in
CMakeCache.txt or by using a CMake GUI. The sources built for
liblzma are affected by this too, so only the necessary files
will be compiled.

2 years agoBuild: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69.
Lasse Collin [Tue, 21 Mar 2023 12:07:51 +0000 (14:07 +0200)] 
Build: Add a comment that AC_PROG_CC_C99 is needed for Autoconf 2.69.

It's obsolete in Autoconf >= 2.70 and just an alias for AC_PROG_CC
but Autoconf 2.69 requires AC_PROG_CC_C99 to get a C99 compiler.

2 years agoBuild: configure.ac: Use AS_IF and AS_CASE where required.
Lasse Collin [Tue, 21 Mar 2023 12:04:37 +0000 (14:04 +0200)] 
Build: configure.ac: Use AS_IF and AS_CASE where required.

This makes no functional difference in the generated configure
(at least with the Autotools versions I have installed) but this
change might prevent future bugs like the one that was just
fixed in the commit 5a5bd7f871818029d5ccbe189f087f591258c294.

2 years agoUpdate THANKS.
Lasse Collin [Tue, 21 Mar 2023 11:12:03 +0000 (13:12 +0200)] 
Update THANKS.

2 years agoBuild: Fix --disable-threads breaking the building of shared libs.
Lasse Collin [Tue, 21 Mar 2023 11:11:49 +0000 (13:11 +0200)] 
Build: Fix --disable-threads breaking the building of shared libs.

This is broken in the releases 5.2.6 to 5.4.2. A workaround
for these releases is to pass EGREP='grep -E' as an argument
to configure in addition to --disable-threads.

The problem appeared when m4/ax_pthread.m4 was updated in
the commit 6629ed929cc7d45a11e385f357ab58ec15e7e4ad which
introduced the use of AC_EGREP_CPP. AC_EGREP_CPP calls
AC_REQUIRE([AC_PROG_EGREP]) to set the shell variable EGREP
but this was only executed if POSIX threads were enabled.
Libtool code also has AC_REQUIRE([AC_PROG_EGREP]) but Autoconf
omits it as AC_PROG_EGREP has already been required earlier.
Thus, if not using POSIX threads, the shell variable EGREP
would be undefined in the Libtool code in configure.

ax_pthread.m4 is fine. The bug was in configure.ac which called
AX_PTHREAD conditionally in an incorrect way. Using AS_CASE
ensures that all AC_REQUIREs get always run.

Thanks to Frank Busse for reporting the bug.
Fixes: https://github.com/tukaani-project/xz/issues/45
2 years agoliblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.
Lasse Collin [Sun, 19 Mar 2023 20:45:59 +0000 (22:45 +0200)] 
liblzma: Silence -Wsign-conversion in SSE2 code in memcmplen.h.

Thanks to Christian Hesse for reporting the issue.
Fixes: https://github.com/tukaani-project/xz/issues/44
2 years agoBump version and soname for 5.4.2. v5.4.2
Jia Tan [Sat, 18 Mar 2023 15:22:06 +0000 (23:22 +0800)] 
Bump version and soname for 5.4.2.

2 years agoAdd NEWS for 5.4.2.
Jia Tan [Sat, 18 Mar 2023 14:10:57 +0000 (22:10 +0800)] 
Add NEWS for 5.4.2.

2 years agoUpdate the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3.
Lasse Collin [Sat, 18 Mar 2023 14:00:54 +0000 (16:00 +0200)] 
Update the copy of GNU GPLv3 from gnu.org to COPYING.GPLv3.

2 years agoChange a few HTTP URLs to HTTPS.
Lasse Collin [Sat, 18 Mar 2023 13:51:57 +0000 (15:51 +0200)] 
Change a few HTTP URLs to HTTPS.

The xz man page timestamp was intentionally left unchanged.

2 years agoCMake: Fix typo in a comment.
Jia Tan [Fri, 17 Mar 2023 16:40:28 +0000 (00:40 +0800)] 
CMake: Fix typo in a comment.

2 years agoWindows: build.bash: Copy liblzma API docs to the output package.
Lasse Collin [Fri, 17 Mar 2023 16:36:22 +0000 (18:36 +0200)] 
Windows: build.bash: Copy liblzma API docs to the output package.

2 years agoWindows: Add microlzma_*.c to the VS project files.
Lasse Collin [Fri, 17 Mar 2023 06:53:38 +0000 (08:53 +0200)] 
Windows: Add microlzma_*.c to the VS project files.

These should have been included in 5.3.2alpha already.

2 years agoCMake: Add microlzma_*.c to the build.
Lasse Collin [Fri, 17 Mar 2023 06:43:51 +0000 (08:43 +0200)] 
CMake: Add microlzma_*.c to the build.

These should have been included in 5.3.2alpha already.

2 years agoBuild: Update comments about unaligned access to mention 64-bit.
Lasse Collin [Fri, 17 Mar 2023 06:41:36 +0000 (08:41 +0200)] 
Build: Update comments about unaligned access to mention 64-bit.

2 years agoTests: Update .gitignore.
Lasse Collin [Thu, 16 Mar 2023 22:02:30 +0000 (00:02 +0200)] 
Tests: Update .gitignore.

2 years agopo4a/update-po: Display the script name consistently in error messages.
Lasse Collin [Tue, 14 Mar 2023 18:04:03 +0000 (20:04 +0200)] 
po4a/update-po: Display the script name consistently in error messages.

2 years agoDoc: Rename Doxygen HTML doc directory name liblzma => api.
Jia Tan [Thu, 16 Mar 2023 17:30:36 +0000 (01:30 +0800)] 
Doc: Rename Doxygen HTML doc directory name liblzma => api.

When the docs are installed, calling the directory "liblzma" is
confusing since multiple other files in the doc directory are for
liblzma. This should also make it more natural for distros when they
package the documentation.

2 years agoliblzma: Remove note from lzma_options_bcj about the ARM64 exception.
Jia Tan [Thu, 16 Mar 2023 14:07:15 +0000 (22:07 +0800)] 
liblzma: Remove note from lzma_options_bcj about the ARM64 exception.

This was left in by mistake since an early version of the ARM64 filter
used a different struct for its options.

2 years agoCOPYING: Add a note about the included Doxygen-generated HTML.
Lasse Collin [Wed, 15 Mar 2023 17:19:13 +0000 (19:19 +0200)] 
COPYING: Add a note about the included Doxygen-generated HTML.

2 years agoDoc: Update PACKAGERS with details about liblzma API docs install.
Jia Tan [Thu, 16 Mar 2023 13:41:09 +0000 (21:41 +0800)] 
Doc: Update PACKAGERS with details about liblzma API docs install.

2 years agoliblzma: Add set lzma.h as the main page for Doxygen documentation.
Jia Tan [Thu, 16 Mar 2023 13:38:32 +0000 (21:38 +0800)] 
liblzma: Add set lzma.h as the main page for Doxygen documentation.

The \mainpage command is used in the first block of comments in lzma.h.
This changes the previously nearly empty index.html to use the first
comment block in lzma.h for its contents.

lzma.h is no longer documented separately, but this is for the better
since lzma.h only defined a few macros that users do not need to use.
The individual API header files all have a disclaimer that they should
not be #included directly, so there should be no confusion on the fact
that lzma.h should be the only header used by applications.

Additionally, the note "See ../lzma.h for information about liblzma as
a whole." was removed since lzma.h is now the main page of the
generated HTML and does not have its own page anymore. So it would be
confusing in the HTML version and was only a "nice to have" when
browsing the source files.

2 years agoBuild: Generate doxygen documentation in autogen.sh.
Jia Tan [Thu, 16 Mar 2023 13:37:32 +0000 (21:37 +0800)] 
Build: Generate doxygen documentation in autogen.sh.

Another command line option (--no-doxygen) was added to disable
creating the doxygen documenation in cases where it not wanted or
if the doxygen tool is not installed.

2 years agoBuild: Create doxygen/update-doxygen script.
Jia Tan [Thu, 16 Mar 2023 13:35:55 +0000 (21:35 +0800)] 
Build: Create doxygen/update-doxygen script.

This is a helper script to generate the Doxygen documentation. It can be
run in 'liblzma' or 'internal' mode by setting the first argument. It
will default to 'liblzma' mode and only generate documentation for the
liblzma API header files.

The helper script will be run during the custom mydist hook when we
create releases. This hook already alters the source directory, so its
fine to do it here too. This way, we can include the Doxygen generated
files in the distrubtion and when installing.

In 'liblzma' mode, the JavaScript is stripped from the .html files and
the .js files are removed. This avoids license hassle from jQuery and
other libraries that Doxygen 1.9.6 puts into jquery.js in minified form.

2 years agoBuild: Install Doxygen docs and include in distribution if generated.
Jia Tan [Thu, 16 Mar 2023 13:34:36 +0000 (21:34 +0800)] 
Build: Install Doxygen docs and include in distribution if generated.

Added a install-data-local target to install the Doxygen documentation
only when it has been generated. In order to correctly remove the docs,
a corresponding uninstall-local target was added.

If the doxygen docs exist in the source tree, they will also be included
in the distribution now too.

2 years agoDoxygen: Refactor Doxyfile.in to doxygen/Doxyfile.
Jia Tan [Tue, 3 Jan 2023 12:37:30 +0000 (20:37 +0800)] 
Doxygen: Refactor Doxyfile.in to doxygen/Doxyfile.

Instead of having Doxyfile.in configured by Autoconf, the Doxyfile
can have the tags that need to be configured piped into the doxygen
command through stdin with the overrides after Doxyfile's contents.

Going forward, the documentation should be generated in two different
modes: liblzma or internal.

liblzma is useful for most users. It is the documentation for just
the liblzma API header files. This is the default.

internal is for people who want to understand how xz and liblzma work.
It might be useful for people who want to contribute to the project.