diff options
author | Lasse Collin <lasse.collin@tukaani.org> | 2022-11-09 14:41:56 +0200 |
---|---|---|
committer | Lasse Collin <lasse.collin@tukaani.org> | 2022-11-09 14:41:56 +0200 |
commit | df8ad4af65a9c4846b108550d0083770a69dee64 (patch) | |
tree | 004486e560f3caca8ae444b52a08a7ed5cedcddf /INSTALL | |
parent | Tests: Test the .lz files in test_files.sh. (diff) | |
download | xz-df8ad4af65a9c4846b108550d0083770a69dee64.tar.xz |
Docs: Update INSTALL and also add new prohibited options to PACKAGERS.
Diffstat (limited to 'INSTALL')
-rw-r--r-- | INSTALL | 49 |
1 files changed, 41 insertions, 8 deletions
@@ -316,6 +316,18 @@ XZ Utils Installation | xz -v -0 -Csha256 > foo.xz time xz --test foo.xz + --disable-microlzma + Don't build MicroLZMA encoder and decoder. This omits + lzma_microlzma_encoder() and lzma_microlzma_decoder() + API functions from liblzma. These functions are needed + by specific applications only. They were written for + erofs-utils but they may be used by others too. + + --disable-lzip-decoder + Disable decompression support for .lz (lzip) files. + This omits the API function lzma_lzip_decoder() from + liblzma and .lz support from the xz tool. + --disable-xz --disable-xzdec --disable-lzmadec @@ -359,15 +371,32 @@ XZ Utils Installation code. --enable-unaligned-access - Allow liblzma to use unaligned memory access for 16-bit - and 32-bit loads and stores. This should be enabled only - when the hardware supports this, i.e. when unaligned - access is fast. Some operating system kernels emulate - unaligned access, which is extremely slow. This option - shouldn't be used on systems that rely on such emulation. + Allow liblzma to use unaligned memory access for 16-bit, + 32-bit, and 64-bit loads and stores. This should be + enabled only when the hardware supports this, that is, + when unaligned access is fast. Some operating system + kernels emulate unaligned access, which is extremely + slow. This option shouldn't be used on systems that + rely on such emulation. Unaligned access is enabled by default on x86, x86-64, - and big endian PowerPC. + big endian PowerPC, some ARM, and some ARM64 systems. + + --enable-unsafe-type-punning + This enables use of code like + + uint8_t *buf8 = ...; + *(uint32_t *)buf8 = ...; + + which violates strict aliasing rules and may result + in broken code. There should be no need to use this + option with recent GCC or Clang versions on any + arch as just as fast code can be generated in a safe + way too (using __builtin_assume_aligned + memcpy). + + However, this option might improve performance in some + other cases, especially with old compilers (for example, + GCC 3 and early 4.x on x86, GCC < 6 on ARMv6 and ARMv7). --enable-small Reduce the size of liblzma by selecting smaller but @@ -456,6 +485,10 @@ XZ Utils Installation sandboxing. If no Capsicum support is found, configure will give an error. + pledge Use pledge(2) (OpenBSD >= 5.9) for + sandboxing. If pledge(2) isn't found, + configure will give an error. + --enable-symbol-versions Use symbol versioning for liblzma. This is enabled by default on GNU/Linux, other GNU-based systems, and @@ -518,7 +551,7 @@ XZ Utils Installation liblzma, pass --enable-small to configure. - Tell the compiler to optimize for size instead of speed. - E.g. with GCC, put -Os into CFLAGS. + For example, with GCC, put -Os into CFLAGS. - xzdec and lzmadec will never use multithreading capabilities of liblzma. You can avoid dependency on libpthread by passing |