config/cc/gcc.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Feb 22 23:27:42 2011 +0100 (2011-02-22)
branch1.10
changeset 2392 578509ec492d
parent 2287 61608c9365ab
permissions -rw-r--r--
cc/gcc: do not build plugins for static toolchains

Plugins are shared objects, and when building a toolchain statically,
the gcc build system breaks havok (although there is no hard technical
reasons it should not be possible)...

And consequently, do not enable plugin supoprt in binutils.

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