xref: /linux/lib/xz/Kconfig (revision c358f53871605a1a8d7ed6e544a05ea00e9c80cb)
1# SPDX-License-Identifier: GPL-2.0-only
2config XZ_DEC
3	tristate "XZ decompression support"
4	select CRC32
5	help
6	  LZMA2 compression algorithm and BCJ filters are supported using
7	  the .xz file format as the container. For integrity checking,
8	  CRC32 is supported. See Documentation/staging/xz.rst for more information.
9
10if XZ_DEC
11
12config XZ_DEC_X86
13	bool "x86 BCJ filter decoder" if EXPERT
14	default y
15	select XZ_DEC_BCJ
16
17config XZ_DEC_POWERPC
18	bool "PowerPC BCJ filter decoder" if EXPERT
19	default y
20	select XZ_DEC_BCJ
21
22config XZ_DEC_IA64
23	bool "IA-64 BCJ filter decoder" if EXPERT
24	default y
25	select XZ_DEC_BCJ
26
27config XZ_DEC_ARM
28	bool "ARM BCJ filter decoder" if EXPERT
29	default y
30	select XZ_DEC_BCJ
31
32config XZ_DEC_ARMTHUMB
33	bool "ARM-Thumb BCJ filter decoder" if EXPERT
34	default y
35	select XZ_DEC_BCJ
36
37config XZ_DEC_SPARC
38	bool "SPARC BCJ filter decoder" if EXPERT
39	default y
40	select XZ_DEC_BCJ
41
42config XZ_DEC_MICROLZMA
43	bool "MicroLZMA decoder"
44	default n
45	help
46	  MicroLZMA is a header format variant where the first byte
47	  of a raw LZMA stream (without the end of stream marker) has
48	  been replaced with a bitwise-negation of the lc/lp/pb
49	  properties byte. MicroLZMA was created to be used in EROFS
50	  but can be used by other things too where wasting minimal
51	  amount of space for headers is important.
52
53	  Unless you know that you need this, say N.
54
55endif
56
57config XZ_DEC_BCJ
58	bool
59	default n
60
61config XZ_DEC_TEST
62	tristate "XZ decompressor tester"
63	default n
64	depends on XZ_DEC
65	help
66	  This allows passing .xz files to the in-kernel XZ decoder via
67	  a character special file. It calculates CRC32 of the decompressed
68	  data and writes diagnostics to the system log.
69
70	  Unless you are developing the XZ decoder, you don't need this
71	  and should say N.
72