config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Mar 27 00:07:59 2011 +0100 (2011-03-27)
changeset 2364 13ea34c908fa
parent 2362 0888065f8c4d
child 2365 fa0f121e8357
permissions -rw-r--r--
complibs/ppl: build watchdog library

gcc-4.6+ requires the Parma Watchdog Library (libpwl).
Build it and use it.

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