1
0
Fork 0
mirror of https://git.tukaani.org/xz.git synced 2024-04-04 12:36:23 +02:00

Docs: Update INSTALL and also add new prohibited options to PACKAGERS.

This commit is contained in:
Lasse Collin 2022-11-09 14:41:56 +02:00
parent c8ef089c14
commit df8ad4af65
2 changed files with 43 additions and 8 deletions

49
INSTALL
View file

@ -316,6 +316,18 @@ XZ Utils Installation
| xz -v -0 -Csha256 > foo.xz | xz -v -0 -Csha256 > foo.xz
time xz --test 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-xz
--disable-xzdec --disable-xzdec
--disable-lzmadec --disable-lzmadec
@ -359,15 +371,32 @@ XZ Utils Installation
code. code.
--enable-unaligned-access --enable-unaligned-access
Allow liblzma to use unaligned memory access for 16-bit Allow liblzma to use unaligned memory access for 16-bit,
and 32-bit loads and stores. This should be enabled only 32-bit, and 64-bit loads and stores. This should be
when the hardware supports this, i.e. when unaligned enabled only when the hardware supports this, that is,
access is fast. Some operating system kernels emulate when unaligned access is fast. Some operating system
unaligned access, which is extremely slow. This option kernels emulate unaligned access, which is extremely
shouldn't be used on systems that rely on such emulation. slow. This option shouldn't be used on systems that
rely on such emulation.
Unaligned access is enabled by default on x86, x86-64, 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 --enable-small
Reduce the size of liblzma by selecting smaller but Reduce the size of liblzma by selecting smaller but
@ -456,6 +485,10 @@ XZ Utils Installation
sandboxing. If no Capsicum support sandboxing. If no Capsicum support
is found, configure will give an error. 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 --enable-symbol-versions
Use symbol versioning for liblzma. This is enabled by Use symbol versioning for liblzma. This is enabled by
default on GNU/Linux, other GNU-based systems, and default on GNU/Linux, other GNU-based systems, and
@ -518,7 +551,7 @@ XZ Utils Installation
liblzma, pass --enable-small to configure. liblzma, pass --enable-small to configure.
- Tell the compiler to optimize for size instead of speed. - 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 - xzdec and lzmadec will never use multithreading capabilities of
liblzma. You can avoid dependency on libpthread by passing liblzma. You can avoid dependency on libpthread by passing

View file

@ -138,6 +138,8 @@ Information to packagers of XZ Utils
--enable-checks --enable-checks
--enable-small (*) --enable-small (*)
--disable-threads (*) --disable-threads (*)
--disable-microlzma (*)
--disable-lzip-decoder (*)
(*) These are OK when building xzdec and lzmadec as described (*) These are OK when building xzdec and lzmadec as described
in INSTALL. in INSTALL.