config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Thu Feb 17 21:54:07 2011 +0100 (2011-02-17)
changeset 2301 a3818c3b03e0
parent 2233 e65b82c6aa2c
child 2302 e85077497eb1
child 2392 578509ec492d
permissions -rw-r--r--
internals: fix stripping host binaries

The gcc used by linaro has a version number specific to Linaro, but
identifies itself with its upstream version numbering scheme.

This breaks the strip in the finish step, because the actual gcc version
is not the same as the configured one (eg. 4.5.2 vs. linaro-4.5-2011.02-0).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@448
     1
# Compiler options
yann@448
     2
yann@923
     3
config CC_gcc
yann@923
     4
    select CC_SUPPORT_CXX
yann@923
     5
    select CC_SUPPORT_FORTRAN
yann@923
     6
    select CC_SUPPORT_JAVA
yann@923
     7
    select CC_SUPPORT_ADA
yann@923
     8
    select CC_SUPPORT_OBJC
yann@923
     9
    select CC_SUPPORT_OBJCXX
yann@923
    10
    help
yann@923
    11
      gcc is the full-blown GNU compiler. This is what most people will choose.
yann@923
    12
      
yann@923
    13
      gcc supports many languages, a powerful code parser, optimised binary
yann@923
    14
      output, and lots of other features.
yann@923
    15
yann@448
    16
choice
yann@448
    17
    bool
yann@448
    18
    prompt "gcc version"
yann@1535
    19
# Don't remove next line
yann@1535
    20
# CT_INSERT_VERSION_BELOW
yann@448
    21
bryanhundven@2233
    22
config CC_V_4_5_2
bryanhundven@2233
    23
    bool
bryanhundven@2233
    24
    prompt "4.5.2 (EXPERIMENTAL)"
bryanhundven@2233
    25
    depends on EXPERIMENTAL
bryanhundven@2233
    26
    select CC_GCC_4_5_or_later
bryanhundven@2233
    27
lacombar@2061
    28
config CC_V_4_5_1
lacombar@2061
    29
    bool
lacombar@2061
    30
    prompt "4.5.1 (EXPERIMENTAL)"
lacombar@2061
    31
    depends on EXPERIMENTAL
lacombar@2061
    32
    select CC_GCC_4_5_or_later
lacombar@2061
    33
yann@1921
    34
config CC_V_4_5_0
yann@1921
    35
    bool
yann@1921
    36
    prompt "4.5.0 (EXPERIMENTAL)"
yann@1921
    37
    depends on EXPERIMENTAL
yann@1921
    38
    select CC_GCC_4_5_or_later
yann@1921
    39
yann@2149
    40
config CC_V_4_4_5
yann@2149
    41
    bool
yann@2149
    42
    prompt "4.4.5"
yann@2149
    43
    select CC_GCC_4_4_or_later
yann@2149
    44
yann@1948
    45
config CC_V_4_4_4
yann@1948
    46
    bool
yann@2149
    47
    prompt "4.4.4"
yann@1948
    48
    select CC_GCC_4_4_or_later
yann@1948
    49
yann@1752
    50
config CC_V_4_4_3
yann@1752
    51
    bool
yann@1778
    52
    prompt "4.4.3"
yann@1752
    53
    select CC_GCC_4_4_or_later
yann@1752
    54
yann@1611
    55
config CC_V_4_4_2
yann@1611
    56
    bool
yann@1778
    57
    prompt "4.4.2"
yann@1611
    58
    select CC_GCC_4_4_or_later
yann@1611
    59
yann@1534
    60
config CC_V_4_4_1
yann@448
    61
    bool
yann@1778
    62
    prompt "4.4.1"
yann@1534
    63
    select CC_GCC_4_4_or_later
yann@1462
    64
yann@1268
    65
config CC_V_4_4_0
yann@1268
    66
    bool
yann@1778
    67
    prompt "4.4.0"
yann@1320
    68
    select CC_GCC_4_4_or_later
yann@1268
    69
yann@2124
    70
config CC_V_4_3_5
yann@2124
    71
    bool
yann@2124
    72
    prompt "4.3.5"
yann@2124
    73
    select CC_GCC_4_3_or_later
yann@2124
    74
yann@1534
    75
config CC_V_4_3_4
yann@1442
    76
    bool
yann@1534
    77
    prompt "4.3.4"
yann@1534
    78
    select CC_GCC_4_3_or_later
yann@1534
    79
yann@1534
    80
config CC_V_4_3_3
yann@1534
    81
    bool
yann@1534
    82
    prompt "4.3.3"
yann@1534
    83
    select CC_GCC_4_3_or_later
yann@1534
    84
yann@1534
    85
config CC_V_4_3_2
yann@1534
    86
    bool
yann@1534
    87
    prompt "4.3.2"
yann@1534
    88
    select CC_GCC_4_3_or_later
yann@1534
    89
yann@1534
    90
config CC_V_4_3_1
yann@1534
    91
    bool
yann@1534
    92
    prompt "4.3.1"
yann@1534
    93
    select CC_GCC_4_3_or_later
yann@1534
    94
yann@1534
    95
config CC_V_4_2_4
yann@1534
    96
    bool
yann@1534
    97
    prompt "4.2.4"
lacombar@1881
    98
    select CC_GCC_4_2_or_later
yann@1534
    99
yann@1534
   100
config CC_V_4_2_3
yann@1534
   101
    bool
yann@1615
   102
    prompt "4.2.3 (OBSOLETE)"
lacombar@1881
   103
    select CC_GCC_4_2_or_later
yann@1615
   104
    depends on OBSOLETE
yann@1534
   105
yann@1534
   106
config CC_V_4_2_2
yann@1534
   107
    bool
yann@1534
   108
    prompt "4.2.2"
lacombar@1881
   109
    select CC_GCC_4_2_or_later
yann@1534
   110
yann@1534
   111
config CC_V_4_2_1
yann@1534
   112
    bool
yann@1615
   113
    prompt "4.2.1 (OBSOLETE)"
lacombar@1881
   114
    select CC_GCC_4_2_or_later
yann@1615
   115
    depends on OBSOLETE
yann@1534
   116
yann@1534
   117
config CC_V_4_2_0
yann@1534
   118
    bool
yann@1615
   119
    prompt "4.2.0 (OBSOLETE)"
lacombar@1881
   120
    select CC_GCC_4_2_or_later
yann@1615
   121
    depends on OBSOLETE
yann@1534
   122
yann@1534
   123
config CC_V_4_1_2
yann@1534
   124
    bool
yann@1615
   125
    prompt "4.1.2 (OBSOLETE)"
yann@1615
   126
    depends on OBSOLETE
yann@1534
   127
yann@1534
   128
config CC_V_4_0_4
yann@1534
   129
    bool
yann@1615
   130
    prompt "4.0.4 (OBSOLETE)"
yann@1615
   131
    depends on OBSOLETE
yann@1534
   132
yann@1534
   133
config CC_V_3_4_6
yann@1534
   134
    bool
yann@1534
   135
    prompt "3.4.6 (OBSOLETE)"
yann@1534
   136
    depends on OBSOLETE
yann@1534
   137
yann@448
   138
endchoice
yann@448
   139
lacombar@1881
   140
config CC_GCC_4_2_or_later
lacombar@1881
   141
    bool
lacombar@1881
   142
    default n
lacombar@1881
   143
yann@1268
   144
config CC_GCC_4_3_or_later
yann@1268
   145
    bool
yann@1268
   146
    default n
lacombar@1881
   147
    select CC_GCC_4_2_or_later
yann@1848
   148
    select CC_GCC_USE_GMP_MPFR
yann@1268
   149
yann@1320
   150
config CC_GCC_4_4_or_later
yann@1268
   151
    bool
yann@1268
   152
    default n
yann@1805
   153
    select CC_GCC_4_3_or_later
yann@2122
   154
    select CC_GCC_HAS_GRAPHITE
yann@1848
   155
yann@1920
   156
config CC_GCC_4_5_or_later
yann@1920
   157
    bool
yann@1920
   158
    default n
yann@1920
   159
    select CC_GCC_4_4_or_later
yann@2122
   160
    select CC_GCC_USE_MPC
yann@2122
   161
    select CC_GCC_HAS_LTO
yann@2122
   162
yann@2122
   163
config CC_GCC_HAS_GRAPHITE
yann@2122
   164
    bool
yann@2122
   165
    default n
yann@2122
   166
yann@2287
   167
# The way LTO works is a bit twisted.
yann@2287
   168
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
yann@2287
   169
# Basically:
yann@2287
   170
#   - if binutils has plugins: LTO is handled by ld/gold by loading
yann@2287
   171
#     the plugin when linking
yann@2287
   172
#   - if binutils does not have plugins: LTO is handled by collect2
yann@2287
   173
# In any case, LTO support does not depend on plugins, but takes
yann@2287
   174
# advantage of it
yann@2122
   175
config CC_GCC_HAS_LTO
yann@2122
   176
    bool
yann@2122
   177
    default n
yann@1920
   178
yann@2287
   179
# Only enable gcc's support for plugins if binutils has it as well
yann@2287
   180
# They are usefull only when doing LTO, but it does no harm enabling
yann@2287
   181
# them even without LTO.
yann@2287
   182
config CC_GCC_ENABLE_PLUGINS
yann@2287
   183
    bool
yann@2287
   184
    depends on BINUTILS_PLUGINS
yann@2287
   185
    default y
yann@2287
   186
yann@2287
   187
# If binutils installs gold, enable support for gold in gcc
yann@2287
   188
config CC_GCC_GOLD
yann@2287
   189
    bool
yann@2287
   190
    depends on BINUTILS_GOLD_INSTALLED
yann@2287
   191
    default y
yann@2287
   192
yann@1848
   193
config CC_GCC_USE_GMP_MPFR
yann@1848
   194
    bool
yann@1848
   195
    default n
yann@2131
   196
    select GMP_NEEDED
yann@2131
   197
    select MPFR_NEEDED
yann@1848
   198
yann@2014
   199
config CC_GCC_USE_PPL_CLOOG
yann@1848
   200
    bool
yann@1848
   201
    default n
yann@2131
   202
    select PPL_NEEDED
yann@2131
   203
    select CLOOG_NEEDED
yann@1268
   204
yann@2122
   205
config CC_GCC_USE_MPC
yann@1920
   206
    bool
yann@1920
   207
    default n
yann@2131
   208
    select MPC_NEEDED
yann@2122
   209
yann@2122
   210
config CC_GCC_USE_LIBELF
yann@2122
   211
    bool
yann@2122
   212
    default n
yann@2131
   213
    select LIBELF_NEEDED
yann@1920
   214
yann@448
   215
config CC_VERSION
yann@448
   216
    string
yann@1535
   217
# Don't remove next line
yann@1535
   218
# CT_INSERT_VERSION_STRING_BELOW
bryanhundven@2233
   219
    default "4.5.2" if CC_V_4_5_2
lacombar@2061
   220
    default "4.5.1" if CC_V_4_5_1
yann@1921
   221
    default "4.5.0" if CC_V_4_5_0
yann@2149
   222
    default "4.4.5" if CC_V_4_4_5
yann@1948
   223
    default "4.4.4" if CC_V_4_4_4
yann@1752
   224
    default "4.4.3" if CC_V_4_4_3
yann@1611
   225
    default "4.4.2" if CC_V_4_4_2
yann@1534
   226
    default "4.4.1" if CC_V_4_4_1
yann@1534
   227
    default "4.4.0" if CC_V_4_4_0
yann@2124
   228
    default "4.3.5" if CC_V_4_3_5
yann@1534
   229
    default "4.3.4" if CC_V_4_3_4
yann@1534
   230
    default "4.3.3" if CC_V_4_3_3
yann@1534
   231
    default "4.3.2" if CC_V_4_3_2
yann@1534
   232
    default "4.3.1" if CC_V_4_3_1
yann@1534
   233
    default "4.3.0" if CC_V_4_3_0
yann@1534
   234
    default "4.2.4" if CC_V_4_2_4
yann@1534
   235
    default "4.2.3" if CC_V_4_2_3
yann@1534
   236
    default "4.2.2" if CC_V_4_2_2
yann@1534
   237
    default "4.2.1" if CC_V_4_2_1
yann@1534
   238
    default "4.2.0" if CC_V_4_2_0
yann@1534
   239
    default "4.1.2" if CC_V_4_1_2
yann@1534
   240
    default "4.0.4" if CC_V_4_0_4
yann@1534
   241
    default "3.4.6" if CC_V_3_4_6
yann@448
   242
yann@2041
   243
config CC_LANG_JAVA_USE_ECJ
yann@448
   244
    bool
yann@765
   245
    default y
yann@2041
   246
    depends on CC_LANG_JAVA
yann@2041
   247
    depends on CC_GCC_4_3_or_later
yann@2041
   248
yann@2041
   249
config CC_PKGVERSION
yann@2041
   250
    string
yann@2041
   251
    prompt "gcc ID string"
yann@2041
   252
    depends on CC_GCC_4_3_or_later
yann@2041
   253
    default "crosstool-NG-${CT_VERSION}"
yann@448
   254
    help
yann@2041
   255
      Specify a string that identifies your package. You may wish to include
yann@2041
   256
      a build number or build date. This version string will be included in
yann@2041
   257
      the output of gcc --version.
yann@448
   258
yann@2041
   259
      This is passed to the configure flag --with-pkgversion.
yann@765
   260
yann@2041
   261
config CC_BUGURL
yann@2041
   262
    string
yann@2041
   263
    prompt "gcc bug URL"
yann@2041
   264
    depends on CC_GCC_4_3_or_later
yann@2041
   265
    default ""
yann@765
   266
    help
yann@2041
   267
      Specify the URL that users should visit if they wish to report a bug.
yann@765
   268
yann@1484
   269
config CC_ENABLE_CXX_FLAGS
yann@1484
   270
    string
yann@1484
   271
    prompt "Flags to pass to --enable-cxx-flags"
yann@1484
   272
    default ""
yann@1484
   273
    help
yann@1484
   274
      Enter here the value of the gcc's ./configure option --enable-cxx-flags.
yann@1484
   275
      Leave empty if you don't know better.
yann@1484
   276
      
yann@1484
   277
      Note: just pass in the option _value_, that is only the part that goes
yann@1484
   278
      after the '=' sign.
yann@1484
   279
yann@448
   280
config CC_CORE_EXTRA_CONFIG
yann@448
   281
    string
yann@448
   282
    prompt "Core gcc extra config"
yann@448
   283
    default ""
yann@448
   284
    help
yann@448
   285
      Extra flags to pass onto ./configure when configuring the core gcc.
yann@448
   286
      
yann@448
   287
      The core gcc is a stripped down, C-only compiler needed to build
yann@448
   288
      the C library. Kinda bootstrap gcc, if you wish.
yann@448
   289
yann@448
   290
config CC_EXTRA_CONFIG
yann@448
   291
    string
yann@448
   292
    prompt "gcc extra config"
yann@448
   293
    default ""
yann@850
   294
    depends on ! BARE_METAL
yann@448
   295
    help
yann@448
   296
      Extra flags to pass onto ./configure when configuring gcc.