config/kernel/linux.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Mon Mar 28 01:05:18 2011 +0200 (2011-03-28)
changeset 2362 0888065f8c4d
parent 2358 e876555b5bfe
child 2370 e915ac8a4224
permissions -rw-r--r--
cc/gcc: cleanup the _or_later logic

So far, we've had a version always select appropriate _or_later option,
which in turn would select all previous _or_later options.

Because the dependencies on companion libs were cumulative, that was
working OK. But the upcoming 4.6 will no longer depend on libelf, so
we can't keep the cumulative scheme we've been using so far.

Have each release family select the corresponding dependencies, instead
of relying on selecting previous _or_later.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@448
     1
# Linux kernel options
yann@448
     2
yann@861
     3
config KERNEL_linux
yann@1500
     4
    select KERNEL_SUPPORTS_SHARED_LIBS
yann@861
     5
    help
yann@861
     6
      Build a toolchain targeting systems running Linux as a kernel.
yann@861
     7
yann@1345
     8
choice
yann@1345
     9
    bool
yann@1345
    10
    prompt "Get kernel headers from:"
yann@1345
    11
yann@1345
    12
config KERNEL_LINUX_INSTALL
yann@1345
    13
    bool
yann@1345
    14
    prompt "kernel's 'headers_install'"
yann@1345
    15
    help
yann@1345
    16
      This will make use of the new headers_install rule in recent kernels.
yann@1345
    17
      This is most probably what you want to use.
yann@1345
    18
yann@1345
    19
if KERNEL_LINUX_INSTALL
yann@1345
    20
yann@1345
    21
choice
yann@1345
    22
    bool
yann@1345
    23
    prompt "Linux kernel version"
yann@1535
    24
# Don't remove next line
yann@1535
    25
# CT_INSERT_VERSION_BELOW
yann@1345
    26
yann@2358
    27
config KERNEL_V_2_6_38_1
yann@2358
    28
    bool
yann@2358
    29
    prompt "2.6.38.1"
yann@2358
    30
yann@2337
    31
config KERNEL_V_2_6_38
yann@2337
    32
    bool
yann@2337
    33
    prompt "2.6.38"
yann@2337
    34
yann@2358
    35
config KERNEL_V_2_6_37_5
yann@2337
    36
    bool
yann@2358
    37
    prompt "2.6.37.5"
yann@2358
    38
yann@2358
    39
config KERNEL_V_2_6_37_4
yann@2358
    40
    bool
yann@2358
    41
    prompt "2.6.37.4"
yann@2337
    42
yann@2337
    43
config KERNEL_V_2_6_37_3
yann@2337
    44
    bool
yann@2337
    45
    prompt "2.6.37.3"
yann@2337
    46
yann@2325
    47
config KERNEL_V_2_6_37_2
yann@2325
    48
    bool
yann@2325
    49
    prompt "2.6.37.2"
yann@2325
    50
yann@2317
    51
config KERNEL_V_2_6_37_1
yann@2310
    52
    bool
yann@2310
    53
    prompt "2.6.37.1"
yann@2310
    54
yann@2252
    55
config KERNEL_V_2_6_37
yann@2252
    56
    bool
yann@2252
    57
    prompt "2.6.37"
yann@2252
    58
yann@2310
    59
config KERNEL_V_2_6_36_4
yann@2252
    60
    bool
yann@2310
    61
    prompt "2.6.36.4"
yann@2252
    62
yann@2310
    63
config KERNEL_V_2_6_35_11
yann@2221
    64
    bool
yann@2310
    65
    prompt "2.6.35.11 (longterm)"
yann@2222
    66
    help
yann@2221
    67
      The Linux 2.6.35 tree is a "longterm" maintenance branch.
yann@2221
    68
      
yann@2221
    69
      It is intended to fill the niche for users who are not using distribution
yann@2221
    70
      kernels but want to use a regression-free kernel for a longer time.
yann@2221
    71
      
yann@2221
    72
      Critical bug fixes to later 2.6 releases are often ported to this branch
yann@2221
    73
      which makes 2.6.35 a very useful base for many embedded developers seeking
yann@2221
    74
      stable APIs or those who do not need the latest bleeding edge features.
yann@2221
    75
      
yann@2221
    76
      ... and no, this kernel has not undergone any specific QA testing.
yann@2221
    77
      
yann@2221
    78
      See the original announcement by Andi Kleen in the following mailing
yann@2221
    79
      list entry:
yann@2221
    80
        http://marc.info/?l=linux-kernel&m=129136895415202&w=4
yann@2135
    81
yann@2252
    82
config KERNEL_V_2_6_34_8
lacombar@2062
    83
    bool
yann@2252
    84
    prompt "2.6.34.8"
lacombar@2062
    85
yann@2356
    86
config KERNEL_V_2_6_33_8
lacombar@2062
    87
    bool
yann@2356
    88
    prompt "2.6.33.8"
lacombar@2062
    89
yann@2359
    90
config KERNEL_V_2_6_32_35
yann@1790
    91
    bool
yann@2359
    92
    prompt "2.6.32.35 (longterm)"
yann@2136
    93
    help
yann@2221
    94
      The Linux 2.6.32 tree is a "longterm" maintenance branch.
yann@2221
    95
      
yann@2136
    96
      It is intended to fill the niche for users who are not using distribution
yann@2136
    97
      kernels but want to use a regression-free kernel for a longer time.
yann@2136
    98
      
yann@2136
    99
      Critical bug fixes to later 2.6 releases are often ported to this branch
yann@2136
   100
      which makes 2.6.32 a very useful base for many embedded developers seeking
yann@2136
   101
      stable APIs or those who do not need the latest bleeding edge features.
yann@2136
   102
      
yann@2136
   103
      ... and no, this kernel has not undergone any specific QA testing.
yann@2136
   104
      
yann@2136
   105
      See the original announcement by Greg Kroah-Hartman in the following
yann@2136
   106
      mailing list entry:
yann@2221
   107
        http://marc.info/?l=linux-kernel&m=126384198403392&w=4
yann@1665
   108
js@2011
   109
config KERNEL_V_2_6_31_14
jocke@1702
   110
    bool
js@2011
   111
    prompt "2.6.31.14"
yann@1534
   112
yann@2310
   113
config KERNEL_V_2_6_27_58
yann@1534
   114
    bool
yann@2310
   115
    prompt "2.6.27.58 (longterm)"
jocke@1702
   116
    help
yann@2221
   117
      The Linux 2.6.27 tree is a "longterm" maintenance branch.
yann@2221
   118
      
jocke@1702
   119
      It is intended to fill the niche for users who are not using distribution
jocke@1702
   120
      kernels but want to use a regression-free kernel for a longer time.
jocke@1702
   121
      
jocke@1702
   122
      Critical bug fixes to later 2.6 releases are often ported to this branch
jocke@1702
   123
      which makes 2.6.27 a very useful base for many embedded developers seeking
jocke@1702
   124
      stable APIs or those who do not need the latest bleeding edge features.
jocke@1702
   125
      
jocke@1702
   126
      ... and no, this kernel has not undergone any specific QA testing.
jocke@1702
   127
      
jocke@1702
   128
      See the original announcement by Adrian Bunk in the following mailing list
yann@2136
   129
      entry:
yann@2221
   130
        http://marc.info/?l=linux-kernel&m=122375909403298&w=4
yann@2221
   131
      
yann@2221
   132
      It is now maintained by Greg Kroah-Hartman, see this mailing list entry:
yann@2221
   133
        http://marc.info/?l=linux-kernel&m=129133701916793&w=4
yann@1534
   134
yann@1990
   135
config KERNEL_LINUX_CUSTOM
yann@1990
   136
    bool
yann@1990
   137
    prompt "custom tarball"
yann@1990
   138
    help
yann@1990
   139
      Use a local tarball of a complete kernel source tree.
yann@1990
   140
yann@1990
   141
config KERNEL_LINUX_CUSTOM_TARBALL
yann@1990
   142
    string
yann@1990
   143
    prompt "Path to custom tarball"
yann@1990
   144
    depends on KERNEL_LINUX_CUSTOM
yann@1990
   145
    help
yann@1990
   146
      Enter here the path to the tarball of your full kernel tree.
yann@1990
   147
yann@1345
   148
endchoice
yann@1345
   149
yann@1345
   150
config KERNEL_VERSION
yann@1345
   151
    string
yann@1535
   152
# Don't remove next line
yann@1535
   153
# CT_INSERT_VERSION_STRING_BELOW
yann@2358
   154
    default "2.6.38.1" if KERNEL_V_2_6_38_1
yann@2337
   155
    default "2.6.38" if KERNEL_V_2_6_38
yann@2358
   156
    default "2.6.37.5" if KERNEL_V_2_6_37_5
yann@2358
   157
    default "2.6.37.4" if KERNEL_V_2_6_37_4
yann@2337
   158
    default "2.6.37.3" if KERNEL_V_2_6_37_3
yann@2325
   159
    default "2.6.37.2" if KERNEL_V_2_6_37_2
yann@2310
   160
    default "2.6.37.1" if KERNEL_V_2_6_37_1
yann@2252
   161
    default "2.6.37" if KERNEL_V_2_6_37
yann@2310
   162
    default "2.6.36.4" if KERNEL_V_2_6_36_4
yann@2310
   163
    default "2.6.35.11" if KERNEL_V_2_6_35_11
yann@2252
   164
    default "2.6.34.8" if KERNEL_V_2_6_34_8
yann@2356
   165
    default "2.6.33.8" if KERNEL_V_2_6_33_8
yann@2359
   166
    default "2.6.32.35" if KERNEL_V_2_6_32_35
js@2011
   167
    default "2.6.31.14" if KERNEL_V_2_6_31_14
yann@2310
   168
    default "2.6.27.58" if KERNEL_V_2_6_27_58
yann@1345
   169
yann@1345
   170
choice
yann@1345
   171
    bool
yann@1345
   172
    prompt "Kernel verbosity:"
yann@1345
   173
    default KERNEL_LINUX_VERBOSITY_0
yann@1345
   174
yann@1345
   175
config KERNEL_LINUX_VERBOSITY_0
yann@1345
   176
    bool
yann@1345
   177
    prompt "Simplified"
yann@1345
   178
    help
yann@1345
   179
      Print simplified command lines.
yann@1345
   180
yann@1345
   181
config KERNEL_LINUX_VERBOSITY_1
yann@1345
   182
    bool
yann@1345
   183
    prompt "Full commands"
yann@1345
   184
    help
yann@1345
   185
      Print full command lines.
yann@1345
   186
yann@1345
   187
config KERNEL_LINUX_VERBOSITY_2
yann@1345
   188
    bool
yann@1345
   189
    prompt "Exec reasons"
yann@1345
   190
    help
yann@1345
   191
      Print the reasons why a make target is rebuild.
yann@1345
   192
yann@1345
   193
endchoice
yann@1345
   194
yann@1345
   195
config KERNEL_LINUX_VERBOSE_LEVEL
yann@1345
   196
    int
yann@1345
   197
    default 0 if KERNEL_LINUX_VERBOSITY_0
yann@1345
   198
    default 1 if KERNEL_LINUX_VERBOSITY_1
yann@1345
   199
    default 2 if KERNEL_LINUX_VERBOSITY_2
yann@1345
   200
yann@1989
   201
config KERNEL_LINUX_INSTALL_CHECK
yann@1989
   202
    bool
yann@1989
   203
    prompt "Check installed headers"
yann@1989
   204
    default y
yann@1989
   205
    help
yann@1989
   206
      If you are in doubt that installed headers are buggy, say 'Y'
yann@1989
   207
      here to have an extra check passed onto the headers.
yann@1989
   208
yann@1989
   209
endif # KERNEL_LINUX_INSTALL
yann@1345
   210
yann@1345
   211
config KERNEL_LINUX_USE_CUSTOM_HEADERS
yann@1345
   212
    bool
yann@1990
   213
    prompt "pre-installed headers tree"
yann@1345
   214
    help
yann@1990
   215
      If you have some pre-installed kernel headers lying around, you can
yann@1990
   216
      enter the path to these headers, below, they will be copied from
yann@1990
   217
      there, and into the toolchain's sysroot.
yann@1990
   218
      
yann@1990
   219
      Note:
yann@1990
   220
      This will *not* let you use a complete kernel tree!
yann@1990
   221
      If you want to use your own full kernel tree, then you want to
yann@1990
   222
      say 'Y' to KERNEL_LINUX_INSTALL, above, and select KERNEL_LINUX_CUSTOM.
yann@1345
   223
yann@1345
   224
if KERNEL_LINUX_USE_CUSTOM_HEADERS
yann@1345
   225
yann@1345
   226
config KERNEL_LINUX_CUSTOM_IS_TARBALL
yann@1345
   227
    bool
yann@1345
   228
    prompt "This is a tarball"
yann@1345
   229
    default n
yann@1345
   230
    help
yann@1345
   231
      If you say 'n' here, the path below is expected to point to a directory
yann@1345
   232
      containing readily prepared headers
yann@1345
   233
      
yann@1345
   234
      If you say 'y' here, then the path below is expected to point to a
yann@1345
   235
      tarball of such a directory.
yann@1345
   236
      
yann@1345
   237
      Eg., if your headers are available in: /foo/bar/buz/my_hdrs/include,
yann@1345
   238
      say 'n' here, and enter: /foo/bar/buz/my_hdrs below.
yann@1345
   239
      
yann@1345
   240
      Now, passing a tarball around is easier than passing a directory, so
yann@1345
   241
      if you want to, you can make a tarball of /foo/bar/buz/my_hdrs/include,
yann@1345
   242
      say 'y' here, and enter the path to this tarball below.
yann@1345
   243
yann@1345
   244
config KERNEL_LINUX_CUSTOM_PATH
yann@1345
   245
    string
yann@1345
   246
    prompt "Path to custom headers directory/tarball"
yann@1345
   247
    help
yann@1345
   248
      See KERNEL_LINUX_CUSTOM_IS_TARBALL, above.
yann@1345
   249
yann@1989
   250
endif # KERNEL_LINUX_USE_CUSTOM_HEADERS
yann@1345
   251
yann@1345
   252
endchoice