config XZ_DEC
	tristate "XZ decompression support"
	select CRC32
	help
	  LZMA2 compression algorithm and BCJ filters are supported using
	  the .xz file format as the container. For integrity checking,
	  CRC32 is supported. See Documentation/xz.txt for more information.

if XZ_DEC

config XZ_DEC_X86
	bool "x86 BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_POWERPC
	bool "PowerPC BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_IA64
	bool "IA-64 BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_ARM
	bool "ARM BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_ARMTHUMB
	bool "ARM-Thumb BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_ARM64
	bool "ARM64 BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_SPARC
	bool "SPARC BCJ filter decoder" if EXPERT
	default y
	select XZ_DEC_BCJ

config XZ_DEC_MICROLZMA
	bool "MicroLZMA decoder"
	default n
	help
	  MicroLZMA is a header format variant where the first byte
	  of a raw LZMA stream (without the end of stream marker) has
	  been replaced with a bitwise-negation of the lc/lp/pb
	  properties byte. MicroLZMA was created to be used in EROFS
	  but can be used by other things too where wasting minimal
	  amount of space for headers is important.

	  Unless you know that you need this, say N.

endif

config XZ_DEC_BCJ
	bool
	default n

config XZ_DEC_TEST
	tristate "XZ decompressor tester"
	default n
	depends on XZ_DEC
	help
	  This allows passing .xz files to the in-kernel XZ decoder via
	  a character special file. It calculates CRC32 of the decompressed
	  data and writes diagnostics to the system log.

	  Unless you are developing the XZ decoder, you don't need this
	  and should say N.
