# Linux kernel options

# Linux kernel options

config KERNEL_linux
    select KERNEL_SUPPORTS_SHARED_LIBS
    help
      Build a toolchain targeting systems running Linux as a kernel.

choice
    bool
    prompt "Get kernel headers from:"

config KERNEL_LINUX_INSTALL
    bool
    prompt "kernel's 'headers_install'"
    help
      This will make use of the new headers_install rule in recent kernels.
      This is most probably what you want to use.

if KERNEL_LINUX_INSTALL

choice
    bool
    prompt "Linux kernel version"
# Don't remove next line
# CT_INSERT_VERSION_BELOW

config KERNEL_V_2_6_34_1
    bool
    prompt "2.6.34.1"

config KERNEL_V_2_6_34
    bool
    prompt "2.6.34"

config KERNEL_V_2_6_33_6
    bool
    prompt "2.6.33.6"

config KERNEL_V_2_6_33_5
    bool
    prompt "2.6.33.5"

config KERNEL_V_2_6_33_4
    bool
    prompt "2.6.33.4"

config KERNEL_V_2_6_33_3
    bool
    prompt "2.6.33.3"

config KERNEL_V_2_6_33_2
    bool
    prompt "2.6.33.2"

config KERNEL_V_2_6_33_1
    bool
    prompt "2.6.33.1"

config KERNEL_V_2_6_33
    bool
    prompt "2.6.33"

config KERNEL_V_2_6_32_16
    bool
    prompt "2.6.32.16"

config KERNEL_V_2_6_31_14
    bool
    prompt "2.6.31.14"

config KERNEL_V_2_6_30_10
    bool
    prompt "2.6.30.10"

config KERNEL_V_2_6_27_48
    bool
    prompt "2.6.27.48 (long-term stable)"
    help
      The Linux 2.6.27 tree is the current "long-term stable" maintenance branch.
      It is intended to fill the niche for users who are not using distribution
      kernels but want to use a regression-free kernel for a longer time.
      
      Critical bug fixes to later 2.6 releases are often ported to this branch
      which makes 2.6.27 a very useful base for many embedded developers seeking
      stable APIs or those who do not need the latest bleeding edge features.
      
      ... and no, this kernel has not undergone any specific QA testing.
      
      See the original announcement by Adrian Bunk in the following mailing list
      entry: http://marc.info/?l=linux-kernel&m=122375909403298&w=2

config KERNEL_LINUX_CUSTOM
    bool
    prompt "custom tarball"
    help
      Use a local tarball of a complete kernel source tree.

config KERNEL_LINUX_CUSTOM_TARBALL
    string
    prompt "Path to custom tarball"
    depends on KERNEL_LINUX_CUSTOM
    help
      Enter here the path to the tarball of your full kernel tree.

endchoice

config KERNEL_VERSION
    string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
    default "2.6.34.1" if KERNEL_V_2_6_34_1
    default "2.6.34" if KERNEL_V_2_6_34
    default "2.6.33.6" if KERNEL_V_2_6_33_6
    default "2.6.33.5" if KERNEL_V_2_6_33_5
    default "2.6.33.4" if KERNEL_V_2_6_33_4
    default "2.6.33.3" if KERNEL_V_2_6_33_3
    default "2.6.33.2" if KERNEL_V_2_6_33_2
    default "2.6.33.1" if KERNEL_V_2_6_33_1
    default "2.6.33" if KERNEL_V_2_6_33
    default "2.6.32.16" if KERNEL_V_2_6_32_16
    default "2.6.31.14" if KERNEL_V_2_6_31_14
    default "2.6.30.10" if KERNEL_V_2_6_30_10
    default "2.6.27.48" if KERNEL_V_2_6_27_48

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_INSTALL

config KERNEL_LINUX_USE_CUSTOM_HEADERS
    bool
    prompt "pre-installed headers tree"
    help
      If you have some pre-installed kernel headers lying around, you can
      enter the path to these headers, below, they will be copied from
      there, and into the toolchain's sysroot.
      
      Note:
      This will *not* let you use a complete kernel tree!
      If you want to use your own full kernel tree, then you want to
      say 'Y' to KERNEL_LINUX_INSTALL, above, and select KERNEL_LINUX_CUSTOM.

if KERNEL_LINUX_USE_CUSTOM_HEADERS

config KERNEL_LINUX_CUSTOM_IS_TARBALL
    bool
    prompt "This is a tarball"
    default n
    help
      If you say 'n' here, the path below is expected to point to a directory
      containing readily prepared headers
      
      If you say 'y' here, then the path below is expected to point to a
      tarball of such a directory.
      
      Eg., if your headers are available in: /foo/bar/buz/my_hdrs/include,
      say 'n' here, and enter: /foo/bar/buz/my_hdrs below.
      
      Now, passing a tarball around is easier than passing a directory, so
      if you want to, you can make a tarball of /foo/bar/buz/my_hdrs/include,
      say 'y' here, and enter the path to this tarball below.

config KERNEL_LINUX_CUSTOM_PATH
    string
    prompt "Path to custom headers directory/tarball"
    help
      See KERNEL_LINUX_CUSTOM_IS_TARBALL, above.

endif # KERNEL_LINUX_USE_CUSTOM_HEADERS

endchoice
