config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
parent 2572 5711f9422329
child 2611 1d0de24249a6
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

Reported-by: ANDY KENNEDY <ANDY.KENNEDY@adtran.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@448
     1
# Compiler options
yann@2444
     2
#
yann@2444
     3
## select CC_SUPPORT_CXX
yann@2444
     4
## select CC_SUPPORT_FORTRAN
yann@2444
     5
## select CC_SUPPORT_JAVA
yann@2444
     6
## select CC_SUPPORT_ADA
yann@2444
     7
## select CC_SUPPORT_OBJC
yann@2444
     8
## select CC_SUPPORT_OBJCXX
yann@2444
     9
##
yann@2444
    10
## help gcc is the full-blown GNU compiler. This is what most people will choose.
yann@2444
    11
## help
yann@2444
    12
## help gcc supports many languages, a powerful code parser, optimised binary
yann@2444
    13
## help output, and lots of other features.
yann@923
    14
yann@2367
    15
config CC_GCC_SHOW_LINARO
yann@2367
    16
    bool
yann@2367
    17
    prompt "Show Linaro versions (EXPERIMENTAL)"
yann@2367
    18
    depends on EXPERIMENTAL
yann@2367
    19
    help
yann@2367
    20
      Linaro is maintaining some advanced/more stable/experimental versions
yann@2367
    21
      of gcc, especially for the ARM architecture.
yann@2367
    22
      
yann@2367
    23
      Those versions have not been blessed by the gcc comunity (nor have they
yann@2367
    24
      been cursed either!), but they look to be pretty much stable, and even
yann@2367
    25
      more stable than the upstream versions. YMMV...
yann@2367
    26
      
yann@2367
    27
      If you do not know what this Linaro stuff is, then simply say 'n' here,
yann@2367
    28
      and rest in peace. OTOH, if you know what you are doing, you will be
yann@2367
    29
      able to use and enjoy :-) the Linaro versions by saying 'y' here.
yann@2367
    30
      
yann@2367
    31
      Linaro: http://www.linaro.org/
yann@2367
    32
yann@448
    33
choice
yann@448
    34
    bool
yann@448
    35
    prompt "gcc version"
yann@1535
    36
# Don't remove next line
yann@1535
    37
# CT_INSERT_VERSION_BELOW
yann@448
    38
benoit@2572
    39
config CC_V_linaro_4_6_2011_07
yann@2366
    40
    bool
benoit@2572
    41
    prompt "linaro-4.6-2011.07 (EXPERIMENTAL)"
yann@2367
    42
    depends on CC_GCC_SHOW_LINARO
yann@2366
    43
    select CC_GCC_4_6
yann@2366
    44
bryanhundven@2516
    45
config CC_V_4_6_1
bryanhundven@2516
    46
    bool
bryanhundven@2516
    47
    prompt "4.6.1 (EXPERIMENTAL)"
bryanhundven@2516
    48
    depends on EXPERIMENTAL
bryanhundven@2516
    49
    select CC_GCC_4_6
bryanhundven@2516
    50
yann@2365
    51
config CC_V_4_6_0
yann@2365
    52
    bool
yann@2365
    53
    prompt "4.6.0 (EXPERIMENTAL)"
yann@2365
    54
    depends on EXPERIMENTAL
yann@2365
    55
    select CC_GCC_4_6
yann@2365
    56
benoit@2572
    57
config CC_V_linaro_4_5_2011_07
yann@2302
    58
    bool
benoit@2572
    59
    prompt "linaro-4.5-2011.07 (EXPERIMENTAL)"
yann@2367
    60
    depends on CC_GCC_SHOW_LINARO
yann@2362
    61
    select CC_GCC_4_5
yann@2302
    62
bryanhundven@2516
    63
config CC_V_4_5_3
bryanhundven@2516
    64
    bool
bryanhundven@2516
    65
    prompt "4.5.3 (EXPERIMENTAL)"
bryanhundven@2516
    66
    depends on EXPERIMENTAL
bryanhundven@2516
    67
    select CC_GCC_4_5
bryanhundven@2516
    68
bryanhundven@2233
    69
config CC_V_4_5_2
bryanhundven@2233
    70
    bool
bryanhundven@2233
    71
    prompt "4.5.2 (EXPERIMENTAL)"
bryanhundven@2233
    72
    depends on EXPERIMENTAL
yann@2362
    73
    select CC_GCC_4_5
bryanhundven@2233
    74
lacombar@2061
    75
config CC_V_4_5_1
lacombar@2061
    76
    bool
lacombar@2061
    77
    prompt "4.5.1 (EXPERIMENTAL)"
lacombar@2061
    78
    depends on EXPERIMENTAL
yann@2362
    79
    select CC_GCC_4_5
lacombar@2061
    80
yann@1921
    81
config CC_V_4_5_0
yann@1921
    82
    bool
yann@1921
    83
    prompt "4.5.0 (EXPERIMENTAL)"
yann@1921
    84
    depends on EXPERIMENTAL
yann@2362
    85
    select CC_GCC_4_5
yann@1921
    86
yann@2302
    87
yann@2302
    88
config CC_V_linaro_4_4_2011_02_0
yann@2302
    89
    bool
yann@2302
    90
    prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
yann@2367
    91
    depends on CC_GCC_SHOW_LINARO
yann@2362
    92
    select CC_GCC_4_4
yann@2302
    93
yann@2406
    94
config CC_V_4_4_6
yann@2406
    95
    bool
yann@2406
    96
    prompt "4.4.6"
yann@2440
    97
    select CC_GCC_4_4
yann@2406
    98
yann@2149
    99
config CC_V_4_4_5
yann@2149
   100
    bool
yann@2149
   101
    prompt "4.4.5"
yann@2362
   102
    select CC_GCC_4_4
yann@2149
   103
yann@1948
   104
config CC_V_4_4_4
yann@1948
   105
    bool
yann@2149
   106
    prompt "4.4.4"
yann@2362
   107
    select CC_GCC_4_4
yann@1948
   108
yann@1752
   109
config CC_V_4_4_3
yann@1752
   110
    bool
yann@1778
   111
    prompt "4.4.3"
yann@2362
   112
    select CC_GCC_4_4
yann@1752
   113
yann@1611
   114
config CC_V_4_4_2
yann@1611
   115
    bool
yann@1778
   116
    prompt "4.4.2"
yann@2362
   117
    select CC_GCC_4_4
yann@1611
   118
yann@1534
   119
config CC_V_4_4_1
yann@448
   120
    bool
yann@1778
   121
    prompt "4.4.1"
yann@2362
   122
    select CC_GCC_4_4
yann@1462
   123
yann@1268
   124
config CC_V_4_4_0
yann@1268
   125
    bool
yann@1778
   126
    prompt "4.4.0"
yann@2362
   127
    select CC_GCC_4_4
yann@1268
   128
bryanhundven@2516
   129
config CC_V_4_3_6
bryanhundven@2516
   130
    bool
bryanhundven@2516
   131
    prompt "4.3.6"
bryanhundven@2516
   132
    select CC_GCC_4_3
bryanhundven@2516
   133
yann@2124
   134
config CC_V_4_3_5
yann@2124
   135
    bool
yann@2124
   136
    prompt "4.3.5"
yann@2362
   137
    select CC_GCC_4_3
yann@2124
   138
yann@1534
   139
config CC_V_4_3_4
yann@1442
   140
    bool
yann@1534
   141
    prompt "4.3.4"
yann@2362
   142
    select CC_GCC_4_3
yann@1534
   143
yann@1534
   144
config CC_V_4_3_3
yann@1534
   145
    bool
yann@1534
   146
    prompt "4.3.3"
yann@2362
   147
    select CC_GCC_4_3
yann@1534
   148
yann@1534
   149
config CC_V_4_3_2
yann@1534
   150
    bool
yann@1534
   151
    prompt "4.3.2"
yann@2362
   152
    select CC_GCC_4_3
yann@1534
   153
yann@1534
   154
config CC_V_4_3_1
yann@1534
   155
    bool
yann@1534
   156
    prompt "4.3.1"
yann@2362
   157
    select CC_GCC_4_3
yann@1534
   158
yann@1534
   159
config CC_V_4_2_4
yann@1534
   160
    bool
yann@1534
   161
    prompt "4.2.4"
yann@2362
   162
    select CC_GCC_4_2
yann@1534
   163
yann@1534
   164
config CC_V_4_2_3
yann@1534
   165
    bool
yann@1615
   166
    prompt "4.2.3 (OBSOLETE)"
yann@2362
   167
    select CC_GCC_4_2
yann@1615
   168
    depends on OBSOLETE
yann@1534
   169
yann@1534
   170
config CC_V_4_2_2
yann@1534
   171
    bool
yann@1534
   172
    prompt "4.2.2"
yann@2362
   173
    select CC_GCC_4_2
yann@1534
   174
yann@1534
   175
config CC_V_4_2_1
yann@1534
   176
    bool
yann@1615
   177
    prompt "4.2.1 (OBSOLETE)"
yann@2362
   178
    select CC_GCC_4_2
yann@1615
   179
    depends on OBSOLETE
yann@1534
   180
yann@1534
   181
config CC_V_4_2_0
yann@1534
   182
    bool
yann@1615
   183
    prompt "4.2.0 (OBSOLETE)"
yann@2362
   184
    select CC_GCC_4_2
yann@1615
   185
    depends on OBSOLETE
yann@1534
   186
yann@1534
   187
config CC_V_4_1_2
yann@1534
   188
    bool
yann@1615
   189
    prompt "4.1.2 (OBSOLETE)"
yann@1615
   190
    depends on OBSOLETE
yann@1534
   191
yann@1534
   192
config CC_V_4_0_4
yann@1534
   193
    bool
yann@1615
   194
    prompt "4.0.4 (OBSOLETE)"
yann@1615
   195
    depends on OBSOLETE
yann@1534
   196
yann@1534
   197
config CC_V_3_4_6
yann@1534
   198
    bool
yann@1534
   199
    prompt "3.4.6 (OBSOLETE)"
yann@1534
   200
    depends on OBSOLETE
yann@1534
   201
yann@448
   202
endchoice
yann@448
   203
yann@2362
   204
config CC_GCC_4_2
yann@2362
   205
    bool
yann@2362
   206
    select CC_GCC_4_2_or_later
yann@2362
   207
lacombar@1881
   208
config CC_GCC_4_2_or_later
lacombar@1881
   209
    bool
lacombar@1881
   210
yann@2362
   211
config CC_GCC_4_3
yann@2362
   212
    bool
yann@2362
   213
    select CC_GCC_4_3_or_later
yann@2362
   214
    select CC_GCC_USE_GMP_MPFR
benoit@2486
   215
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2362
   216
yann@1268
   217
config CC_GCC_4_3_or_later
yann@1268
   218
    bool
lacombar@1881
   219
    select CC_GCC_4_2_or_later
yann@2362
   220
yann@2362
   221
config CC_GCC_4_4
yann@2362
   222
    bool
yann@2362
   223
    select CC_GCC_4_4_or_later
yann@1848
   224
    select CC_GCC_USE_GMP_MPFR
yann@2362
   225
    select CC_GCC_HAS_GRAPHITE
benoit@2486
   226
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@1268
   227
yann@1320
   228
config CC_GCC_4_4_or_later
yann@1268
   229
    bool
yann@1805
   230
    select CC_GCC_4_3_or_later
yann@2362
   231
yann@2362
   232
config CC_GCC_4_5
yann@2362
   233
    bool
yann@2362
   234
    select CC_GCC_4_5_or_later
yann@2362
   235
    select CC_GCC_USE_GMP_MPFR
yann@2362
   236
    select CC_GCC_USE_MPC
yann@2122
   237
    select CC_GCC_HAS_GRAPHITE
yann@2362
   238
    select CC_GCC_HAS_LTO
benoit@2486
   239
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2521
   240
    select CC_GCC_HAS_BUILD_ID
yann@1848
   241
yann@1920
   242
config CC_GCC_4_5_or_later
yann@1920
   243
    bool
yann@1920
   244
    select CC_GCC_4_4_or_later
yann@2122
   245
yann@2363
   246
config CC_GCC_4_6
yann@2363
   247
    bool
yann@2363
   248
    select CC_GCC_4_6_or_later
yann@2363
   249
    select CC_GCC_USE_GMP_MPFR
yann@2363
   250
    select CC_GCC_USE_MPC
yann@2363
   251
    select CC_GCC_HAS_GRAPHITE
yann@2363
   252
    select CC_GCC_HAS_LTO
benoit@2486
   253
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2521
   254
    select CC_GCC_HAS_BUILD_ID
yann@2363
   255
yann@2363
   256
config CC_GCC_4_6_or_later
yann@2363
   257
    bool
yann@2363
   258
    select CC_GCC_4_5_or_later
yann@2363
   259
yann@2122
   260
config CC_GCC_HAS_GRAPHITE
yann@2122
   261
    bool
yann@2122
   262
yann@2287
   263
# The way LTO works is a bit twisted.
yann@2287
   264
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
yann@2287
   265
# Basically:
yann@2287
   266
#   - if binutils has plugins: LTO is handled by ld/gold by loading
yann@2287
   267
#     the plugin when linking
yann@2287
   268
#   - if binutils does not have plugins: LTO is handled by collect2
yann@2287
   269
# In any case, LTO support does not depend on plugins, but takes
yann@2287
   270
# advantage of it
yann@2122
   271
config CC_GCC_HAS_LTO
yann@2122
   272
    bool
yann@1920
   273
benoit@2486
   274
config CC_GCC_HAS_PKGVERSION_BUGURL
benoit@2486
   275
    bool
benoit@2486
   276
yann@2521
   277
config CC_GCC_HAS_BUILD_ID
yann@2521
   278
    bool
yann@2521
   279
yann@2522
   280
# For the upcoming 4.7 ?
yann@2522
   281
# None have linker-hash-style support for now...
yann@2522
   282
config CC_GCC_HAS_LNK_HASH_STYLE
yann@2522
   283
    bool
yann@2522
   284
yann@2287
   285
# Only enable gcc's support for plugins if binutils has it as well
yann@2287
   286
# They are usefull only when doing LTO, but it does no harm enabling
yann@2287
   287
# them even without LTO.
yann@2287
   288
config CC_GCC_ENABLE_PLUGINS
yann@2287
   289
    bool
yann@2287
   290
    depends on BINUTILS_PLUGINS
yann@2316
   291
    depends on ! STATIC_TOOLCHAIN
yann@2287
   292
    default y
yann@2287
   293
yann@2287
   294
# If binutils installs gold, enable support for gold in gcc
yann@2287
   295
config CC_GCC_GOLD
yann@2287
   296
    bool
yann@2287
   297
    depends on BINUTILS_GOLD_INSTALLED
yann@2287
   298
    default y
yann@2287
   299
yann@1848
   300
config CC_GCC_USE_GMP_MPFR
yann@1848
   301
    bool
yann@2131
   302
    select GMP_NEEDED
yann@2131
   303
    select MPFR_NEEDED
yann@1848
   304
yann@2014
   305
config CC_GCC_USE_PPL_CLOOG
yann@1848
   306
    bool
yann@2131
   307
    select PPL_NEEDED
yann@2131
   308
    select CLOOG_NEEDED
yann@1268
   309
yann@2122
   310
config CC_GCC_USE_MPC
yann@1920
   311
    bool
yann@2131
   312
    select MPC_NEEDED
yann@2122
   313
yann@2122
   314
config CC_GCC_USE_LIBELF
yann@2122
   315
    bool
yann@2131
   316
    select LIBELF_NEEDED
yann@1920
   317
yann@448
   318
config CC_VERSION
yann@448
   319
    string
yann@1535
   320
# Don't remove next line
yann@1535
   321
# CT_INSERT_VERSION_STRING_BELOW
benoit@2572
   322
    default "linaro-4.6-2011.07" if CC_V_linaro_4_6_2011_07
bryanhundven@2516
   323
    default "4.6.1" if CC_V_4_6_1
yann@2365
   324
    default "4.6.0" if CC_V_4_6_0
benoit@2572
   325
    default "linaro-4.5-2011.07" if CC_V_linaro_4_5_2011_07
bryanhundven@2516
   326
    default "4.5.3" if CC_V_4_5_3
bryanhundven@2233
   327
    default "4.5.2" if CC_V_4_5_2
lacombar@2061
   328
    default "4.5.1" if CC_V_4_5_1
yann@1921
   329
    default "4.5.0" if CC_V_4_5_0
yann@2302
   330
    default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
bryanhundven@2516
   331
    default "4.4.6" if CC_V_4_4_6
yann@2149
   332
    default "4.4.5" if CC_V_4_4_5
yann@1948
   333
    default "4.4.4" if CC_V_4_4_4
yann@1752
   334
    default "4.4.3" if CC_V_4_4_3
yann@1611
   335
    default "4.4.2" if CC_V_4_4_2
yann@1534
   336
    default "4.4.1" if CC_V_4_4_1
yann@1534
   337
    default "4.4.0" if CC_V_4_4_0
bryanhundven@2516
   338
    default "4.3.6" if CC_V_4_3_6
yann@2124
   339
    default "4.3.5" if CC_V_4_3_5
yann@1534
   340
    default "4.3.4" if CC_V_4_3_4
yann@1534
   341
    default "4.3.3" if CC_V_4_3_3
yann@1534
   342
    default "4.3.2" if CC_V_4_3_2
yann@1534
   343
    default "4.3.1" if CC_V_4_3_1
yann@1534
   344
    default "4.3.0" if CC_V_4_3_0
yann@1534
   345
    default "4.2.4" if CC_V_4_2_4
yann@1534
   346
    default "4.2.3" if CC_V_4_2_3
yann@1534
   347
    default "4.2.2" if CC_V_4_2_2
yann@1534
   348
    default "4.2.1" if CC_V_4_2_1
yann@1534
   349
    default "4.2.0" if CC_V_4_2_0
yann@1534
   350
    default "4.1.2" if CC_V_4_1_2
yann@1534
   351
    default "4.0.4" if CC_V_4_0_4
yann@1534
   352
    default "3.4.6" if CC_V_3_4_6
yann@448
   353
yann@2041
   354
config CC_LANG_JAVA_USE_ECJ
yann@448
   355
    bool
yann@765
   356
    default y
yann@2041
   357
    depends on CC_LANG_JAVA
yann@2041
   358
    depends on CC_GCC_4_3_or_later
yann@2579
   359
yann@2579
   360
# Fortran always requires GMP+MPFR, whatever the gcc version
yann@2579
   361
config CC_LANG_FORTRAN
yann@2579
   362
    select CC_GCC_USE_GMP_MPFR