crosstool-ng/config/kernel/linux.in
Chris Packham 4442dc87dd config: Detect rsync presence at config time
Linux kernel versions newer than 5.3 require rsync in order to export
the UAPI headers. Commit f441a6bf ("linux: Add dependency on rsync for
Linux >= 5.3") attempted to address this with a check that runs when
crosstool-ng is built. That had the downside that if crosstool-ng was
built and packaged on a machine that had rsync then run on a machine
that didn't then the build would fail due to the missing rsync.
Conversely if the first machine didn't have rsync installed when
crosstool-ng was built then we would not offer newer kernel versions.

We can address this by checking for rsync when the toolchain
configuration is updated using some functionality in the newer Kconfig
that we've updated to previously.

Fixes #1940
Signed-off-by: Chris Packham <judge.packham@gmail.com>
2023-12-18 16:28:14 +13:00

64 lines
1.7 KiB
Plaintext

# Linux kernel options
## depends on !ARCH_AVR && !ARCH_MSP430 && !ARCH_MOXIE && !ARCH_PRU
## select KERNEL_SUPPORTS_SHARED_LIBS
## help Build a toolchain targeting systems running Linux as a kernel.
# GLIBC and kernel are special when it comes to obsoletion. Users
# of crosstool-ng depend on the ability to build new toolchains matching
# the kernel/libc versions of a particular target system, and LTS releases
# are still using quite ancient versions. Please do not retire versions
# (including versions in between) until the EOL dates indicated below.
# Such pinned versions are indicated in version.desc files with a comment.
config KERNEL_has_rsync
def_bool $(success,which rsync)
config KERNEL_DEP_RSYNC
def_bool y
select LINUX_REQUIRE_older_than_5_3 if !KERNEL_has_rsync
comment "Linux >=5.3 requires rsync"
depends on !KERNEL_has_rsync
choice
bool
prompt "Kernel verbosity:"
default KERNEL_LINUX_VERBOSITY_0
config KERNEL_LINUX_VERBOSITY_0
bool
prompt "Simplified"
help
Print simplified command lines.
config KERNEL_LINUX_VERBOSITY_1
bool
prompt "Full commands"
help
Print full command lines.
config KERNEL_LINUX_VERBOSITY_2
bool
prompt "Exec reasons"
help
Print the reasons why a make target is rebuild.
endchoice
config KERNEL_LINUX_VERBOSE_LEVEL
int
default 0 if KERNEL_LINUX_VERBOSITY_0
default 1 if KERNEL_LINUX_VERBOSITY_1
default 2 if KERNEL_LINUX_VERBOSITY_2
config KERNEL_LINUX_INSTALL_CHECK
bool
prompt "Check installed headers"
default y
depends on !LINUX_later_than_5_5
help
If you are in doubt that installed headers are buggy, say 'Y'
here to have an extra check passed onto the headers.