config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sat Dec 31 16:23:27 2011 +0100 (2011-12-31)
changeset 2814 3dc2727ebffc
parent 2750 c6d10ee4ab25
child 2837 db26e387b70b
permissions -rw-r--r--
cc/gcc: add option to use system zlib

In some cases, it might be desirable to use the system zlib

Eg. because latest gcc seem to be totally borked when it comes
to multilib, and tries to build a multilib host zlib, when it
is *absolutely* *not* needed: we want mulitlib on the target,
not on the host! Sigh... :-(

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