comment "Kernel Header Options"

config BR2_PACKAGE_HOST_LINUX_HEADERS
	bool

choice
	prompt "Kernel Headers"
	default BR2_KERNEL_HEADERS_AS_KERNEL if BR2_LINUX_KERNEL
	default BR2_KERNEL_HEADERS_5_9
	help
	  Select the kernel version to get headers from.

	  The kernel headers must be at least as old as the oldest
	  kernel you intend to run on your target.

	  If you use Buildroot to build a kernel, then you can use
	  the sources from that kernel as source for the headers.

	  If you choose a custom version of the kernel headers, or
	  choose to use the same sources as the kernel, you'll have to
	  select (below) the series of that kernel, so that Buildroot
	  can show or hide packages that have strong requirements on the
	  kernel headers.

config BR2_KERNEL_HEADERS_AS_KERNEL
	bool "Same as kernel being built"
	depends on BR2_LINUX_KERNEL
	select BR2_KERNEL_HEADERS_LATEST if BR2_LINUX_KERNEL_LATEST_VERSION

config BR2_KERNEL_HEADERS_4_4
	bool "Linux 4.4.x kernel headers"
	depends on !BR2_riscv
	depends on !BR2_csky
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4

config BR2_KERNEL_HEADERS_4_9
	bool "Linux 4.9.x kernel headers"
	depends on !BR2_riscv
	depends on !BR2_csky
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9

config BR2_KERNEL_HEADERS_4_14
	bool "Linux 4.14.x kernel headers"
	depends on !BR2_riscv
	depends on !BR2_csky
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14

config BR2_KERNEL_HEADERS_4_19
	bool "Linux 4.19.x kernel headers"
	depends on !BR2_csky
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19

config BR2_KERNEL_HEADERS_5_4
	bool "Linux 5.4.x kernel headers"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4

config BR2_KERNEL_HEADERS_5_8
	bool "Linux 5.8.x kernel headers"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8

config BR2_KERNEL_HEADERS_5_9
	bool "Linux 5.9.x kernel headers"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9
	select BR2_KERNEL_HEADERS_LATEST

config BR2_KERNEL_HEADERS_VERSION
	bool "Manually specified Linux version"
	help
	  This option allows you to use a specific official version from
	  kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...

	  Note: you cannot use this option to select a _longterm_ 2.6
	  kernel, because these kernels are not located at the standard
	  URL at kernel.org. Instead, select "Custom tarball" and
	  specify the right URL directly.

config BR2_KERNEL_HEADERS_CUSTOM_TARBALL
	bool "Custom tarball"
	help
	  This option allows you to specify a URL pointing to a kernel
	  source tarball. This URL can use any protocol recognized by
	  Buildroot, like http://, ftp://, file:// or scp://.

	  When pointing to a local tarball using file://, you may want
	  to use a make variable like $(TOPDIR) to reference the root of
	  the Buildroot tree.

config BR2_KERNEL_HEADERS_CUSTOM_GIT
	bool "Custom Git repository"
	help
	  This option allows Buildroot to get the Linux kernel source
	  code from a Git repository.

endchoice

# Select this for the latest kernel headers version (for license hashes)
config BR2_KERNEL_HEADERS_LATEST
	bool

config BR2_DEFAULT_KERNEL_VERSION
	string "linux version"
	depends on BR2_KERNEL_HEADERS_VERSION
	help
	  Specify the version you want to use.
	  E.G.: 3.6.10

config BR2_KERNEL_HEADERS_CUSTOM_TARBALL_LOCATION
	string "URL of custom kernel tarball"
	depends on BR2_KERNEL_HEADERS_CUSTOM_TARBALL

if BR2_KERNEL_HEADERS_CUSTOM_GIT

config BR2_KERNEL_HEADERS_CUSTOM_REPO_URL
	string "URL of custom repository"

config BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION
	string "Custom repository version"
	help
	  Revision to use in the typical format used by
	  Git/Mercurial/Subversion E.G. a sha id, a tag, branch, ..

endif

choice
	bool "Custom kernel headers series"
	depends on BR2_KERNEL_HEADERS_VERSION || BR2_KERNEL_HEADERS_AS_KERNEL || \
		   BR2_KERNEL_HEADERS_CUSTOM_TARBALL || BR2_KERNEL_HEADERS_CUSTOM_GIT
	help
	  Specify the kernel headers series you manually selected,
	  above.

	  This is used to hide/show some packages that have strict
	  requirements on the version of kernel headers.

	  If your kernel headers are more recent than the latest version
	  in the choice, then select the latest version.

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_9
	bool "5.9.x or later"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_9

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_8
	bool "5.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_8

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_7
	bool "5.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_7

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6
	bool "5.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_6

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_5
	bool "5.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_5

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4
	bool "5.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_4

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_3
	bool "5.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_3

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_2
	bool "5.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_1
	bool "5.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_1

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_0
	bool "5.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_0

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_20
	bool "4.20.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_20

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19
	bool "4.19.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_19

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_18
	bool "4.18.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_18

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_17
	bool "4.17.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_17

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_16
	bool "4.16.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_16

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_15
	bool "4.15.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_15

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_14
	bool "4.14.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_14

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_13
	bool "4.13.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_13

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_12
	bool "4.12.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_12

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_11
	bool "4.11.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_11

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_10
	bool "4.10.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_10

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9
	bool "4.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_9

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_8
	bool "4.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_8

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_7
	bool "4.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_7

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_6
	bool "4.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_6

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_5
	bool "4.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_5

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_4
	bool "4.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_4

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_3
	bool "4.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_3

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_2
	bool "4.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_2

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_1
	bool "4.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_1

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_0
	bool "4.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_4_0

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_19
	bool "3.19.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_19

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_18
	bool "3.18.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_17
	bool "3.17.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_16
	bool "3.16.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_16

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_15
	bool "3.15.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_14
	bool "3.14.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_14

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_13
	bool "3.13.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_12
	bool "3.12.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_11
	bool "3.11.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_10
	bool "3.10.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_9
	bool "3.9.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8
	bool "3.8.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_7
	bool "3.7.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_6
	bool "3.6.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_5
	bool "3.5.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_4
	bool "3.4.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_3
	bool "3.3.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_2
	bool "3.2.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_1
	bool "3.1.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_0
	bool "3.0.x"
	select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0

config BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_REALLY_OLD
	bool "2.6.x"

endchoice

config BR2_DEFAULT_KERNEL_HEADERS
	string
	default "4.4.243"	if BR2_KERNEL_HEADERS_4_4
	default "4.9.243"	if BR2_KERNEL_HEADERS_4_9
	default "4.14.206"	if BR2_KERNEL_HEADERS_4_14
	default "4.19.157"	if BR2_KERNEL_HEADERS_4_19
	default "5.4.77"	if BR2_KERNEL_HEADERS_5_4
	default "5.8.18"	if BR2_KERNEL_HEADERS_5_8
	default "5.9.8"		if BR2_KERNEL_HEADERS_5_9
	default BR2_DEFAULT_KERNEL_VERSION if BR2_KERNEL_HEADERS_VERSION
	default "custom"	if BR2_KERNEL_HEADERS_CUSTOM_TARBALL
	default BR2_KERNEL_HEADERS_CUSTOM_REPO_VERSION \
		if BR2_KERNEL_HEADERS_CUSTOM_GIT
