config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Apr 30 17:24:58 2012 +0200 (2012-04-30)
changeset 2948 3396ce2c25ef
parent 2946 100b9861cfed
child 2952 d20da3fd340e
permissions -rw-r--r--
cc/gcc: 4.7 can request the linker's hash-style

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