# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_NONE
	bool

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
	bool
	select ADK_HOST_NEED_ZSTD

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZ4
	bool
	select ADK_HOST_NEED_LZ4

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZMA
	bool
	select ADK_HOST_NEED_LZMA

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZO
	bool
	select ADK_HOST_NEED_LZOP

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_BZIP2
	bool
	select ADK_HOST_NEED_BZIP2

config ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_GZIP
	bool

config ADK_LINUX_KERNEL_RD_GZIP
	bool

config ADK_LINUX_KERNEL_KERNEL_GZIP
	bool

config ADK_LINUX_KERNEL_RD_BZIP2
	bool

config ADK_LINUX_KERNEL_KERNEL_BZIP2
	bool

config ADK_LINUX_KERNEL_RD_LZ4
	bool

config ADK_LINUX_KERNEL_KERNEL_LZ4
	bool

config ADK_LINUX_KERNEL_RD_LZMA
	bool

config ADK_LINUX_KERNEL_KERNEL_LZMA
	bool

config ADK_LINUX_KERNEL_RD_LZO
	bool

config ADK_LINUX_KERNEL_KERNEL_LZO
	bool

config ADK_LINUX_KERNEL_RD_ZSTD
	bool

config ADK_LINUX_KERNEL_KERNEL_ZSTD
	bool

config ADK_LINUX_KERNEL_KERNEL_COMPRESS_NONE
	bool

config ADK_LINUX_KERNEL_INITRAMFS_SOURCE
	string
	default ""

choice
prompt "Kernel compression"
depends on ADK_TARGET_OS_LINUX && !ADK_APPLIANCE_TOOLCHAIN && !ADK_TARGET_CHOOSE_ARCH && !ADK_TARGET_NO_KERNEL
default ADK_LINUX_KERNEL_COMP_ZSTD if ADK_TARGET_ARCH_OR1K
default ADK_LINUX_KERNEL_COMP_GZIP

config ADK_LINUX_KERNEL_COMP_ZSTD
	bool "use Zstandard compression"
	select ADK_LINUX_KERNEL_RD_ZSTD
	select ADK_LINUX_KERNEL_KERNEL_ZSTD
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_ZSTD
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMP_LZ4
	bool "use LZ4 compression"
	select ADK_LINUX_KERNEL_RD_LZ4
	select ADK_LINUX_KERNEL_KERNEL_LZ4
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZ4
	depends on ADK_TARGET_ARCH_ARM \
		|| ADK_TARGET_ARCH_X86 \
		|| ADK_TARGET_ARCH_X86_64
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMP_LZMA
	bool "use LZMA compression"
	select ADK_LINUX_KERNEL_RD_LZMA
	select ADK_LINUX_KERNEL_KERNEL_LZMA
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZMA
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMP_LZO
	bool "use LZO compression"
	select ADK_LINUX_KERNEL_RD_LZO
	select ADK_LINUX_KERNEL_KERNEL_LZO
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_LZO
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMP_BZIP2
	bool "use BZIP2 compression"
	select ADK_LINUX_KERNEL_RD_BZIP2
	select ADK_LINUX_KERNEL_KERNEL_BZIP2
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_BZIP2
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMP_GZIP
	bool "use GZIP compression"
	select ADK_LINUX_KERNEL_RD_GZIP
	select ADK_LINUX_KERNEL_KERNEL_GZIP
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_GZIP
	depends on ADK_TARGET_KERNEL_WITH_COMPRESSION \
		|| ADK_TARGET_GENERIC

config ADK_LINUX_KERNEL_COMPRESS_NONE
	bool "use no compression"
	select ADK_LINUX_KERNEL_KERNEL_COMPRESS_NONE
	select ADK_LINUX_KERNEL_INITRAMFS_COMPRESSION_NONE

endchoice