# Linux kernel options

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

config KERNEL_LINUX_USE_CUSTOM_HEADERS
    bool
    prompt "Use pre-installed headers tree (OBSOLETE)"
    depends on OBSOLETE
    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 'N'
      here, and select KERNEL_LINUX_CUSTOM, in the versions list, below.

if ! KERNEL_LINUX_USE_CUSTOM_HEADERS

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

config KERNEL_V_3_1_1
    bool
    prompt "3.1.1"

config KERNEL_V_3_1
    bool
    prompt "3.1"

config KERNEL_V_3_0_9
    bool
    prompt "3.0.9"

config KERNEL_V_2_6_39_4
    bool
    prompt "2.6.39.4"

config KERNEL_V_2_6_38_8
    bool
    prompt "2.6.38.8"

config KERNEL_V_2_6_37_6
    bool
    prompt "2.6.37.6"

config KERNEL_V_2_6_36_4
    bool
    prompt "2.6.36.4"

config KERNEL_V_2_6_33_20
    bool
    prompt "2.6.33.20"
    help
      This is primarily for the use of those people who are stuck using the
      .33-rt kernel.  Anyone else who really wants to use the .33 kernel tree
      is welcome to use this one as well.

config KERNEL_V_2_6_32_48
    bool
    prompt "2.6.32.48 (longterm)"
    help
      The Linux 2.6.32 tree is a "longterm" 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.32 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 Greg Kroah-Hartman in the following
      mailing list entry:
        http://marc.info/?l=linux-kernel&m=126384198403392&w=4

config KERNEL_V_2_6_31_14
    bool
    prompt "2.6.31.14"

config KERNEL_V_2_6_27_57
    bool
    prompt "2.6.27.57 (longterm)"
    help
      The Linux 2.6.27 tree is a "longterm" 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=4
      
      It is now maintained by Greg Kroah-Hartman, see this mailing list entry:
        http://marc.info/?l=linux-kernel&m=129133701916793&w=4

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

config KERNEL_LINUX_CUSTOM_LOCATION
    string
    prompt "Path to custom source, tarball or directory"
    depends on KERNEL_LINUX_CUSTOM
    help
      Enter here the path to the tarball of your full kernel tree or
      kernel directory

endchoice

config KERNEL_VERSION
    string
# Don't remove next line
# CT_INSERT_VERSION_STRING_BELOW
    default "3.1.1" if KERNEL_V_3_1_1
    default "3.1" if KERNEL_V_3_1
    default "3.0.9" if KERNEL_V_3_0_9
    default "2.6.39.4" if KERNEL_V_2_6_39_4
    default "2.6.38.8" if KERNEL_V_2_6_38_8
    default "2.6.37.6" if KERNEL_V_2_6_37_6
    default "2.6.36.4" if KERNEL_V_2_6_36_4
    default "2.6.33.20" if KERNEL_V_2_6_33_20
    default "2.6.32.48" if KERNEL_V_2_6_32_48
    default "2.6.31.14" if KERNEL_V_2_6_31_14
    default "2.6.27.57" if KERNEL_V_2_6_27_57
    default "custom" if KERNEL_LINUX_CUSTOM

endif # ! KERNEL_LINUX_USE_CUSTOM_HEADERS

if KERNEL_LINUX_USE_CUSTOM_HEADERS

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

config KERNEL_LINUX_CUSTOM_IS_TARBALL
    bool
    prompt "This is a tarball"
    help
      If you say 'n' here, the path above is expected to point to a directory
      containing readily prepared headers
      
      If you say 'y' here, then the path above 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.

endif # KERNEL_LINUX_USE_CUSTOM_HEADERS
