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:
parent
c8ef089c14
commit
df8ad4af65
2 changed files with 43 additions and 8 deletions
49
INSTALL
49
INSTALL
|
@ -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
|
||||
|
|
|
@ -138,6 +138,8 @@ Information to packagers of XZ Utils
|
|||
--enable-checks
|
||||
--enable-small (*)
|
||||
--disable-threads (*)
|
||||
--disable-microlzma (*)
|
||||
--disable-lzip-decoder (*)
|
||||
|
||||
(*) These are OK when building xzdec and lzmadec as described
|
||||
in INSTALL.
|
||||
|
|
Loading…
Reference in a new issue