# Linux kernel options

if ! KERNEL_LINUX_USE_CUSTOM_HEADERS

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
    help
      If you are in doubt that installed headers are buggy, say 'Y'
      here to have an extra check passed onto the headers.

endif # ! KERNEL_LINUX_USE_CUSTOM_HEADERS
