config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Apr 30 17:19:00 2012 +0200 (2012-04-30)
changeset 2945 46323fb14c06
parent 2943 ededa826097f
child 2946 100b9861cfed
permissions -rw-r--r--
libc/uClibc: add 0.9.33.1

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.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
bryanhundven@2943
    39
config CC_V_4_7_0
bryanhundven@2943
    40
    bool
bryanhundven@2943
    41
    prompt "4.7.0 (EXPERIMENTAL)"
bryanhundven@2943
    42
    depends on EXPERIMENTAL
bryanhundven@2943
    43
    select CC_GCC_4_7
bryanhundven@2943
    44
benoit@2941
    45
config CC_V_linaro_4_6_2012_04
yann@2366
    46
    bool
benoit@2941
    47
    prompt "linaro-4.6-2012.04 (EXPERIMENTAL)"
yann@2367
    48
    depends on CC_GCC_SHOW_LINARO
yann@2366
    49
    select CC_GCC_4_6
yann@2366
    50
bryanhundven@2903
    51
config CC_V_4_6_3
bryanhundven@2903
    52
    bool
bryanhundven@2903
    53
    prompt "4.6.3 (EXPERIMENTAL)"
bryanhundven@2903
    54
    depends on EXPERIMENTAL
bryanhundven@2903
    55
    select CC_GCC_4_6
bryanhundven@2903
    56
bryanhundven@2732
    57
config CC_V_4_6_2
bryanhundven@2732
    58
    bool
bryanhundven@2732
    59
    prompt "4.6.2 (EXPERIMENTAL)"
bryanhundven@2732
    60
    depends on EXPERIMENTAL
bryanhundven@2732
    61
    select CC_GCC_4_6
bryanhundven@2732
    62
bryanhundven@2516
    63
config CC_V_4_6_1
bryanhundven@2516
    64
    bool
bryanhundven@2516
    65
    prompt "4.6.1 (EXPERIMENTAL)"
bryanhundven@2516
    66
    depends on EXPERIMENTAL
bryanhundven@2516
    67
    select CC_GCC_4_6
bryanhundven@2516
    68
yann@2365
    69
config CC_V_4_6_0
yann@2365
    70
    bool
yann@2365
    71
    prompt "4.6.0 (EXPERIMENTAL)"
yann@2365
    72
    depends on EXPERIMENTAL
yann@2365
    73
    select CC_GCC_4_6
yann@2365
    74
benoit@2918
    75
config CC_V_linaro_4_5_2012_03
yann@2302
    76
    bool
benoit@2918
    77
    prompt "linaro-4.5-2012.03 (EXPERIMENTAL)"
yann@2367
    78
    depends on CC_GCC_SHOW_LINARO
yann@2362
    79
    select CC_GCC_4_5
yann@2302
    80
bryanhundven@2516
    81
config CC_V_4_5_3
bryanhundven@2516
    82
    bool
bryanhundven@2516
    83
    prompt "4.5.3 (EXPERIMENTAL)"
bryanhundven@2516
    84
    depends on EXPERIMENTAL
bryanhundven@2516
    85
    select CC_GCC_4_5
bryanhundven@2516
    86
bryanhundven@2233
    87
config CC_V_4_5_2
bryanhundven@2233
    88
    bool
bryanhundven@2233
    89
    prompt "4.5.2 (EXPERIMENTAL)"
bryanhundven@2233
    90
    depends on EXPERIMENTAL
yann@2362
    91
    select CC_GCC_4_5
bryanhundven@2233
    92
lacombar@2061
    93
config CC_V_4_5_1
lacombar@2061
    94
    bool
lacombar@2061
    95
    prompt "4.5.1 (EXPERIMENTAL)"
lacombar@2061
    96
    depends on EXPERIMENTAL
yann@2362
    97
    select CC_GCC_4_5
lacombar@2061
    98
yann@1921
    99
config CC_V_4_5_0
yann@1921
   100
    bool
yann@1921
   101
    prompt "4.5.0 (EXPERIMENTAL)"
yann@1921
   102
    depends on EXPERIMENTAL
yann@2362
   103
    select CC_GCC_4_5
yann@1921
   104
yann@2302
   105
yann@2302
   106
config CC_V_linaro_4_4_2011_02_0
yann@2302
   107
    bool
yann@2302
   108
    prompt "linaro-4.4-2011.02-0 (EXPERIMENTAL)"
yann@2367
   109
    depends on CC_GCC_SHOW_LINARO
yann@2362
   110
    select CC_GCC_4_4
yann@2302
   111
bryanhundven@2944
   112
config CC_V_4_4_7
bryanhundven@2944
   113
    bool
bryanhundven@2944
   114
    prompt "4.4.7"
bryanhundven@2944
   115
    select CC_GCC_4_4
bryanhundven@2944
   116
yann@2406
   117
config CC_V_4_4_6
yann@2406
   118
    bool
yann@2406
   119
    prompt "4.4.6"
yann@2440
   120
    select CC_GCC_4_4
yann@2406
   121
yann@2149
   122
config CC_V_4_4_5
yann@2149
   123
    bool
yann@2149
   124
    prompt "4.4.5"
yann@2362
   125
    select CC_GCC_4_4
yann@2149
   126
yann@1948
   127
config CC_V_4_4_4
yann@1948
   128
    bool
yann@2149
   129
    prompt "4.4.4"
yann@2362
   130
    select CC_GCC_4_4
yann@1948
   131
yann@1752
   132
config CC_V_4_4_3
yann@1752
   133
    bool
yann@1778
   134
    prompt "4.4.3"
yann@2362
   135
    select CC_GCC_4_4
yann@1752
   136
yann@1611
   137
config CC_V_4_4_2
yann@1611
   138
    bool
yann@1778
   139
    prompt "4.4.2"
yann@2362
   140
    select CC_GCC_4_4
yann@1611
   141
yann@1534
   142
config CC_V_4_4_1
yann@448
   143
    bool
yann@1778
   144
    prompt "4.4.1"
yann@2362
   145
    select CC_GCC_4_4
yann@1462
   146
yann@1268
   147
config CC_V_4_4_0
yann@1268
   148
    bool
yann@1778
   149
    prompt "4.4.0"
yann@2362
   150
    select CC_GCC_4_4
yann@1268
   151
bryanhundven@2516
   152
config CC_V_4_3_6
bryanhundven@2516
   153
    bool
bryanhundven@2516
   154
    prompt "4.3.6"
bryanhundven@2516
   155
    select CC_GCC_4_3
bryanhundven@2516
   156
yann@2124
   157
config CC_V_4_3_5
yann@2124
   158
    bool
yann@2124
   159
    prompt "4.3.5"
yann@2362
   160
    select CC_GCC_4_3
yann@2124
   161
yann@1534
   162
config CC_V_4_3_4
yann@1442
   163
    bool
yann@1534
   164
    prompt "4.3.4"
yann@2362
   165
    select CC_GCC_4_3
yann@1534
   166
yann@1534
   167
config CC_V_4_3_3
yann@1534
   168
    bool
yann@1534
   169
    prompt "4.3.3"
yann@2362
   170
    select CC_GCC_4_3
yann@1534
   171
yann@1534
   172
config CC_V_4_3_2
yann@1534
   173
    bool
yann@1534
   174
    prompt "4.3.2"
yann@2362
   175
    select CC_GCC_4_3
yann@1534
   176
yann@1534
   177
config CC_V_4_3_1
yann@1534
   178
    bool
yann@1534
   179
    prompt "4.3.1"
yann@2362
   180
    select CC_GCC_4_3
yann@1534
   181
yann@1534
   182
config CC_V_4_2_4
yann@1534
   183
    bool
yann@1534
   184
    prompt "4.2.4"
yann@2362
   185
    select CC_GCC_4_2
yann@1534
   186
yann@1534
   187
config CC_V_4_2_3
yann@1534
   188
    bool
yann@1615
   189
    prompt "4.2.3 (OBSOLETE)"
yann@2362
   190
    select CC_GCC_4_2
yann@1615
   191
    depends on OBSOLETE
yann@1534
   192
yann@1534
   193
config CC_V_4_2_2
yann@1534
   194
    bool
yann@1534
   195
    prompt "4.2.2"
yann@2362
   196
    select CC_GCC_4_2
yann@1534
   197
yann@1534
   198
config CC_V_4_2_1
yann@1534
   199
    bool
yann@1615
   200
    prompt "4.2.1 (OBSOLETE)"
yann@2362
   201
    select CC_GCC_4_2
yann@1615
   202
    depends on OBSOLETE
yann@1534
   203
yann@1534
   204
config CC_V_4_2_0
yann@1534
   205
    bool
yann@1615
   206
    prompt "4.2.0 (OBSOLETE)"
yann@2362
   207
    select CC_GCC_4_2
yann@1615
   208
    depends on OBSOLETE
yann@1534
   209
yann@1534
   210
config CC_V_4_1_2
yann@1534
   211
    bool
yann@1615
   212
    prompt "4.1.2 (OBSOLETE)"
yann@1615
   213
    depends on OBSOLETE
yann@1534
   214
yann@1534
   215
config CC_V_4_0_4
yann@1534
   216
    bool
yann@1615
   217
    prompt "4.0.4 (OBSOLETE)"
yann@1615
   218
    depends on OBSOLETE
yann@1534
   219
yann@1534
   220
config CC_V_3_4_6
yann@1534
   221
    bool
yann@1534
   222
    prompt "3.4.6 (OBSOLETE)"
yann@1534
   223
    depends on OBSOLETE
yann@1534
   224
yann@448
   225
endchoice
yann@448
   226
yann@2362
   227
config CC_GCC_4_2
yann@2362
   228
    bool
yann@2362
   229
    select CC_GCC_4_2_or_later
yann@2362
   230
lacombar@1881
   231
config CC_GCC_4_2_or_later
lacombar@1881
   232
    bool
lacombar@1881
   233
yann@2362
   234
config CC_GCC_4_3
yann@2362
   235
    bool
yann@2362
   236
    select CC_GCC_4_3_or_later
yann@2362
   237
    select CC_GCC_USE_GMP_MPFR
benoit@2486
   238
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2362
   239
yann@1268
   240
config CC_GCC_4_3_or_later
yann@1268
   241
    bool
lacombar@1881
   242
    select CC_GCC_4_2_or_later
yann@2362
   243
yann@2362
   244
config CC_GCC_4_4
yann@2362
   245
    bool
yann@2362
   246
    select CC_GCC_4_4_or_later
yann@1848
   247
    select CC_GCC_USE_GMP_MPFR
yann@2362
   248
    select CC_GCC_HAS_GRAPHITE
benoit@2486
   249
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@1268
   250
yann@1320
   251
config CC_GCC_4_4_or_later
yann@1268
   252
    bool
yann@1805
   253
    select CC_GCC_4_3_or_later
yann@2362
   254
yann@2362
   255
config CC_GCC_4_5
yann@2362
   256
    bool
yann@2362
   257
    select CC_GCC_4_5_or_later
yann@2362
   258
    select CC_GCC_USE_GMP_MPFR
yann@2362
   259
    select CC_GCC_USE_MPC
yann@2122
   260
    select CC_GCC_HAS_GRAPHITE
yann@2362
   261
    select CC_GCC_HAS_LTO
benoit@2486
   262
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2521
   263
    select CC_GCC_HAS_BUILD_ID
yann@1848
   264
yann@1920
   265
config CC_GCC_4_5_or_later
yann@1920
   266
    bool
yann@1920
   267
    select CC_GCC_4_4_or_later
yann@2122
   268
yann@2363
   269
config CC_GCC_4_6
yann@2363
   270
    bool
yann@2363
   271
    select CC_GCC_4_6_or_later
yann@2363
   272
    select CC_GCC_USE_GMP_MPFR
yann@2363
   273
    select CC_GCC_USE_MPC
yann@2363
   274
    select CC_GCC_HAS_GRAPHITE
yann@2363
   275
    select CC_GCC_HAS_LTO
benoit@2486
   276
    select CC_GCC_HAS_PKGVERSION_BUGURL
yann@2521
   277
    select CC_GCC_HAS_BUILD_ID
yann@2363
   278
yann@2363
   279
config CC_GCC_4_6_or_later
yann@2363
   280
    bool
yann@2363
   281
    select CC_GCC_4_5_or_later
yann@2363
   282
bryanhundven@2943
   283
config CC_GCC_4_7
bryanhundven@2943
   284
    bool
bryanhundven@2943
   285
    select CC_GCC_4_7_or_later
bryanhundven@2943
   286
    select CC_GCC_USE_GMP_MPFR
bryanhundven@2943
   287
    select CC_GCC_USE_MPC
bryanhundven@2943
   288
    select CC_GCC_HAS_GRAPHITE
bryanhundven@2943
   289
    select CC_GCC_HAS_LTO
bryanhundven@2943
   290
    select CC_GCC_HAS_PKGVERSION_BUGURL
bryanhundven@2943
   291
    select CC_GCC_HAS_BUILD_ID
bryanhundven@2943
   292
bryanhundven@2943
   293
config CC_GCC_4_7_or_later
bryanhundven@2943
   294
    bool
bryanhundven@2943
   295
    select CC_GCC_4_6_or_later
bryanhundven@2943
   296
yann@2122
   297
config CC_GCC_HAS_GRAPHITE
yann@2122
   298
    bool
yann@2122
   299
yann@2287
   300
# The way LTO works is a bit twisted.
yann@2287
   301
# See: http://gcc.gnu.org/wiki/LinkTimeOptimization#Requirements
yann@2287
   302
# Basically:
yann@2287
   303
#   - if binutils has plugins: LTO is handled by ld/gold by loading
yann@2287
   304
#     the plugin when linking
yann@2287
   305
#   - if binutils does not have plugins: LTO is handled by collect2
yann@2287
   306
# In any case, LTO support does not depend on plugins, but takes
yann@2287
   307
# advantage of it
yann@2122
   308
config CC_GCC_HAS_LTO
yann@2122
   309
    bool
yann@1920
   310
benoit@2486
   311
config CC_GCC_HAS_PKGVERSION_BUGURL
benoit@2486
   312
    bool
benoit@2486
   313
yann@2521
   314
config CC_GCC_HAS_BUILD_ID
yann@2521
   315
    bool
yann@2521
   316
yann@2522
   317
# For the upcoming 4.7 ?
yann@2522
   318
# None have linker-hash-style support for now...
yann@2522
   319
config CC_GCC_HAS_LNK_HASH_STYLE
yann@2522
   320
    bool
yann@2522
   321
yann@2287
   322
# Only enable gcc's support for plugins if binutils has it as well
yann@2287
   323
# They are usefull only when doing LTO, but it does no harm enabling
yann@2287
   324
# them even without LTO.
yann@2287
   325
config CC_GCC_ENABLE_PLUGINS
yann@2287
   326
    bool
yann@2287
   327
    depends on BINUTILS_PLUGINS
yann@2316
   328
    depends on ! STATIC_TOOLCHAIN
yann@2287
   329
    default y
yann@2287
   330
yann@2287
   331
# If binutils installs gold, enable support for gold in gcc
yann@2287
   332
config CC_GCC_GOLD
yann@2287
   333
    bool
yann@2287
   334
    depends on BINUTILS_GOLD_INSTALLED
yann@2287
   335
    default y
yann@2287
   336
yann@1848
   337
config CC_GCC_USE_GMP_MPFR
yann@1848
   338
    bool
yann@2131
   339
    select GMP_NEEDED
yann@2131
   340
    select MPFR_NEEDED
yann@1848
   341
yann@2014
   342
config CC_GCC_USE_PPL_CLOOG
yann@1848
   343
    bool
yann@2131
   344
    select PPL_NEEDED
yann@2131
   345
    select CLOOG_NEEDED
yann@1268
   346
yann@2122
   347
config CC_GCC_USE_MPC
yann@1920
   348
    bool
yann@2131
   349
    select MPC_NEEDED
yann@2122
   350
yann@2122
   351
config CC_GCC_USE_LIBELF
yann@2122
   352
    bool
yann@2131
   353
    select LIBELF_NEEDED
yann@1920
   354
yann@448
   355
config CC_VERSION
yann@448
   356
    string
yann@1535
   357
# Don't remove next line
yann@1535
   358
# CT_INSERT_VERSION_STRING_BELOW
bryanhundven@2943
   359
    default "4.7.0" if CC_V_4_7_0
benoit@2941
   360
    default "linaro-4.6-2012.04" if CC_V_linaro_4_6_2012_04
bryanhundven@2903
   361
    default "4.6.3" if CC_V_4_6_3
bryanhundven@2732
   362
    default "4.6.2" if CC_V_4_6_2
bryanhundven@2516
   363
    default "4.6.1" if CC_V_4_6_1
yann@2365
   364
    default "4.6.0" if CC_V_4_6_0
benoit@2918
   365
    default "linaro-4.5-2012.03" if CC_V_linaro_4_5_2012_03
bryanhundven@2516
   366
    default "4.5.3" if CC_V_4_5_3
bryanhundven@2233
   367
    default "4.5.2" if CC_V_4_5_2
lacombar@2061
   368
    default "4.5.1" if CC_V_4_5_1
yann@1921
   369
    default "4.5.0" if CC_V_4_5_0
yann@2302
   370
    default "linaro-4.4-2011.02-0" if CC_V_linaro_4_4_2011_02_0
bryanhundven@2944
   371
    default "4.4.7" if CC_V_4_4_7
bryanhundven@2516
   372
    default "4.4.6" if CC_V_4_4_6
yann@2149
   373
    default "4.4.5" if CC_V_4_4_5
yann@1948
   374
    default "4.4.4" if CC_V_4_4_4
yann@1752
   375
    default "4.4.3" if CC_V_4_4_3
yann@1611
   376
    default "4.4.2" if CC_V_4_4_2
yann@1534
   377
    default "4.4.1" if CC_V_4_4_1
yann@1534
   378
    default "4.4.0" if CC_V_4_4_0
bryanhundven@2516
   379
    default "4.3.6" if CC_V_4_3_6
yann@2124
   380
    default "4.3.5" if CC_V_4_3_5
yann@1534
   381
    default "4.3.4" if CC_V_4_3_4
yann@1534
   382
    default "4.3.3" if CC_V_4_3_3
yann@1534
   383
    default "4.3.2" if CC_V_4_3_2
yann@1534
   384
    default "4.3.1" if CC_V_4_3_1
yann@1534
   385
    default "4.3.0" if CC_V_4_3_0
yann@1534
   386
    default "4.2.4" if CC_V_4_2_4
yann@1534
   387
    default "4.2.3" if CC_V_4_2_3
yann@1534
   388
    default "4.2.2" if CC_V_4_2_2
yann@1534
   389
    default "4.2.1" if CC_V_4_2_1
yann@1534
   390
    default "4.2.0" if CC_V_4_2_0
yann@1534
   391
    default "4.1.2" if CC_V_4_1_2
yann@1534
   392
    default "4.0.4" if CC_V_4_0_4
yann@1534
   393
    default "3.4.6" if CC_V_3_4_6
yann@448
   394
yann@2041
   395
config CC_LANG_JAVA_USE_ECJ
yann@448
   396
    bool
yann@765
   397
    default y
yann@2041
   398
    depends on CC_LANG_JAVA
yann@2041
   399
    depends on CC_GCC_4_3_or_later
yann@2579
   400
yann@2579
   401
# Fortran always requires GMP+MPFR, whatever the gcc version
yann@2579
   402
config CC_LANG_FORTRAN
yann@2579
   403
    select CC_GCC_USE_GMP_MPFR