config/kernel/linux.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jun 13 23:38:37 2010 +0200 (2010-06-13)
changeset 1983 198a5a6e5239
parent 1952 f3c30069f86e
child 1989 f357bc3abfa6
permissions -rw-r--r--
cc/gcc: baremetal requires a two-pass process

Here, we implement a highly ugly hack. I'm not proud of that one...

To build the libstdc++ library, the compiler requires the C library. In
case we build for non-baremetal, this is normally handled by the final
step, later.

But in the case of bare-metal, we never go through the final step (because
it does not work, and it seems complex enough to make it work), so the
baremetal compilers are issued out of the core step.
yann@1345
     1
# Linux kernel options
yann@1345
     2
yann@448
     3
# Linux kernel options
yann@448
     4
yann@861
     5
config KERNEL_linux
yann@1500
     6
    select KERNEL_SUPPORTS_SHARED_LIBS
yann@861
     7
    help
yann@861
     8
      Build a toolchain targeting systems running Linux as a kernel.
yann@861
     9
yann@1345
    10
choice
yann@1345
    11
    bool
yann@1345
    12
    prompt "Get kernel headers from:"
yann@1345
    13
yann@1345
    14
config KERNEL_LINUX_INSTALL
yann@1345
    15
    bool
yann@1345
    16
    prompt "kernel's 'headers_install'"
yann@1345
    17
    help
yann@1345
    18
      This will make use of the new headers_install rule in recent kernels.
yann@1345
    19
      This is most probably what you want to use.
yann@1345
    20
yann@1345
    21
if KERNEL_LINUX_INSTALL
yann@1345
    22
yann@1345
    23
config KERNEL_LINUX_INSTALL_CHECK
yann@1345
    24
    bool
yann@1345
    25
    prompt "Check installed headers"
yann@1345
    26
    default y
yann@1345
    27
    help
yann@1345
    28
      If you are in doubt that installed headers are buggy, say 'Y'
yann@1345
    29
      here to have an extra check passed onto the headers.
yann@1345
    30
yann@1345
    31
choice
yann@1345
    32
    bool
yann@1345
    33
    prompt "Linux kernel version"
yann@1535
    34
# Don't remove next line
yann@1535
    35
# CT_INSERT_VERSION_BELOW
yann@1345
    36
yann@1952
    37
config KERNEL_V_2_6_34
yann@1952
    38
    bool
yann@1952
    39
    prompt "2.6.34"
yann@1952
    40
yann@1974
    41
config KERNEL_V_2_6_33_5
yann@1974
    42
    bool
yann@1974
    43
    prompt "2.6.33.5"
yann@1974
    44
yann@1952
    45
config KERNEL_V_2_6_33_4
yann@1952
    46
    bool
yann@1952
    47
    prompt "2.6.33.4"
yann@1952
    48
yann@1952
    49
config KERNEL_V_2_6_33_3
yann@1952
    50
    bool
yann@1952
    51
    prompt "2.6.33.3"
yann@1952
    52
yann@1875
    53
config KERNEL_V_2_6_33_2
yann@1875
    54
    bool
yann@1875
    55
    prompt "2.6.33.2"
yann@1875
    56
yann@1840
    57
config KERNEL_V_2_6_33_1
yann@1840
    58
    bool
yann@1840
    59
    prompt "2.6.33.1"
yann@1840
    60
yann@1818
    61
config KERNEL_V_2_6_33
yann@1802
    62
    bool
yann@1818
    63
    prompt "2.6.33"
yann@1802
    64
yann@1974
    65
config KERNEL_V_2_6_32_14
yann@1790
    66
    bool
yann@1974
    67
    prompt "2.6.32.14"
yann@1665
    68
yann@1875
    69
config KERNEL_V_2_6_31_13
jocke@1702
    70
    bool
yann@1875
    71
    prompt "2.6.31.13"
yann@1534
    72
yann@1665
    73
config KERNEL_V_2_6_30_10
yann@1665
    74
    bool
yann@1665
    75
    prompt "2.6.30.10"
yann@1665
    76
yann@1974
    77
config KERNEL_V_2_6_27_47
yann@1534
    78
    bool
yann@1974
    79
    prompt "2.6.27.47 (long-term stable)"
jocke@1702
    80
    help
jocke@1702
    81
      The Linux 2.6.27 tree is the current "long-term stable" maintenance branch.
jocke@1702
    82
      It is intended to fill the niche for users who are not using distribution
jocke@1702
    83
      kernels but want to use a regression-free kernel for a longer time.
jocke@1702
    84
      
jocke@1702
    85
      Critical bug fixes to later 2.6 releases are often ported to this branch
jocke@1702
    86
      which makes 2.6.27 a very useful base for many embedded developers seeking
jocke@1702
    87
      stable APIs or those who do not need the latest bleeding edge features.
jocke@1702
    88
      
jocke@1702
    89
      ... and no, this kernel has not undergone any specific QA testing.
jocke@1702
    90
      
jocke@1702
    91
      See the original announcement by Adrian Bunk in the following mailing list
jocke@1702
    92
      entry: http://marc.info/?l=linux-kernel&m=122375909403298&w=2
yann@1534
    93
yann@1345
    94
endchoice
yann@1345
    95
yann@1345
    96
config KERNEL_VERSION
yann@1345
    97
    string
yann@1535
    98
# Don't remove next line
yann@1535
    99
# CT_INSERT_VERSION_STRING_BELOW
yann@1952
   100
    default "2.6.34" if KERNEL_V_2_6_34
yann@1974
   101
    default "2.6.33.5" if KERNEL_V_2_6_33_5
yann@1952
   102
    default "2.6.33.4" if KERNEL_V_2_6_33_4
yann@1952
   103
    default "2.6.33.3" if KERNEL_V_2_6_33_3
yann@1875
   104
    default "2.6.33.2" if KERNEL_V_2_6_33_2
yann@1840
   105
    default "2.6.33.1" if KERNEL_V_2_6_33_1
yann@1818
   106
    default "2.6.33" if KERNEL_V_2_6_33
yann@1974
   107
    default "2.6.32.14" if KERNEL_V_2_6_32_14
yann@1875
   108
    default "2.6.31.13" if KERNEL_V_2_6_31_13
yann@1665
   109
    default "2.6.30.10" if KERNEL_V_2_6_30_10
yann@1974
   110
    default "2.6.27.47" if KERNEL_V_2_6_27_47
yann@1345
   111
yann@1345
   112
choice
yann@1345
   113
    bool
yann@1345
   114
    prompt "Kernel verbosity:"
yann@1345
   115
    default KERNEL_LINUX_VERBOSITY_0
yann@1345
   116
yann@1345
   117
config KERNEL_LINUX_VERBOSITY_0
yann@1345
   118
    bool
yann@1345
   119
    prompt "Simplified"
yann@1345
   120
    help
yann@1345
   121
      Print simplified command lines.
yann@1345
   122
yann@1345
   123
config KERNEL_LINUX_VERBOSITY_1
yann@1345
   124
    bool
yann@1345
   125
    prompt "Full commands"
yann@1345
   126
    help
yann@1345
   127
      Print full command lines.
yann@1345
   128
yann@1345
   129
config KERNEL_LINUX_VERBOSITY_2
yann@1345
   130
    bool
yann@1345
   131
    prompt "Exec reasons"
yann@1345
   132
    help
yann@1345
   133
      Print the reasons why a make target is rebuild.
yann@1345
   134
yann@1345
   135
endchoice
yann@1345
   136
yann@1345
   137
config KERNEL_LINUX_VERBOSE_LEVEL
yann@1345
   138
    int
yann@1345
   139
    default 0 if KERNEL_LINUX_VERBOSITY_0
yann@1345
   140
    default 1 if KERNEL_LINUX_VERBOSITY_1
yann@1345
   141
    default 2 if KERNEL_LINUX_VERBOSITY_2
yann@1345
   142
yann@1345
   143
endif
yann@1345
   144
yann@1345
   145
config KERNEL_LINUX_USE_CUSTOM_HEADERS
yann@1345
   146
    bool
yann@1345
   147
    prompt "Use custom headers"
yann@1345
   148
    help
yann@1345
   149
      If you have some kernel headers lying around, you can enter the path
yann@1345
   150
      below.
yann@1345
   151
yann@1345
   152
if KERNEL_LINUX_USE_CUSTOM_HEADERS
yann@1345
   153
yann@1345
   154
config KERNEL_LINUX_CUSTOM_IS_TARBALL
yann@1345
   155
    bool
yann@1345
   156
    prompt "This is a tarball"
yann@1345
   157
    default n
yann@1345
   158
    help
yann@1345
   159
      If you say 'n' here, the path below is expected to point to a directory
yann@1345
   160
      containing readily prepared headers
yann@1345
   161
      
yann@1345
   162
      If you say 'y' here, then the path below is expected to point to a
yann@1345
   163
      tarball of such a directory.
yann@1345
   164
      
yann@1345
   165
      Eg., if your headers are available in: /foo/bar/buz/my_hdrs/include,
yann@1345
   166
      say 'n' here, and enter: /foo/bar/buz/my_hdrs below.
yann@1345
   167
      
yann@1345
   168
      Now, passing a tarball around is easier than passing a directory, so
yann@1345
   169
      if you want to, you can make a tarball of /foo/bar/buz/my_hdrs/include,
yann@1345
   170
      say 'y' here, and enter the path to this tarball below.
yann@1345
   171
yann@1345
   172
config KERNEL_LINUX_CUSTOM_PATH
yann@1345
   173
    string
yann@1345
   174
    prompt "Path to custom headers directory/tarball"
yann@1345
   175
    help
yann@1345
   176
      See KERNEL_LINUX_CUSTOM_IS_TARBALL, above.
yann@1345
   177
yann@1345
   178
endif # KERNEL_LINUX_USE_CUSTOM_DIR
yann@1345
   179
yann@1345
   180
endchoice