config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Feb 01 00:10:59 2012 +0100 (2012-02-01)
changeset 2861 3b8192272c2f
parent 2696 5f7c6eed805d
child 2947 479064d9a546
permissions -rw-r--r--
samples: update before release

Update all samples to reflect the new set of options, plus:
- remove the arm-iphone-linux-gnueabi sample (obsolete...)
- disable hard-float in ARM bare-metal samples.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
yann@1345
     1
# binutils options
yann@1345
     2
yann@1345
     3
comment "GNU binutils"
yann@1345
     4
yann@1345
     5
choice
yann@1345
     6
    bool
yann@1345
     7
    prompt "binutils version"
yann@1535
     8
# Don't remove next line
yann@1535
     9
# CT_INSERT_VERSION_BELOW
yann@1345
    10
titus@2797
    11
config BINUTILS_V_2_22
titus@2797
    12
    bool
titus@2797
    13
    prompt "2.22 (EXPERIMENTAL)"
titus@2797
    14
    depends on EXPERIMENTAL
titus@2797
    15
    select BINUTILS_2_22_or_later
titus@2797
    16
michael@2696
    17
config BINUTILS_V_2_21_53
michael@2696
    18
    bool
michael@2696
    19
    prompt "2.21.53 (EXPERIMENTAL)"
michael@2696
    20
    depends on EXPERIMENTAL
michael@2696
    21
    select BINUTILS_2_21_or_later
michael@2696
    22
yann@2665
    23
config BINUTILS_V_2_21_1a
yann@2665
    24
    bool
yann@2665
    25
    prompt "2.21.1a"
yann@2665
    26
    select BINUTILS_2_21_or_later
yann@2665
    27
yann@2664
    28
config BINUTILS_V_2_20_1a
js@2012
    29
    bool
yann@2664
    30
    prompt "2.20.1a"
benoit@2488
    31
    select BINUTILS_2_20_or_later
js@2012
    32
yann@2664
    33
config BINUTILS_V_2_19_1a
yann@1345
    34
    bool
yann@2664
    35
    prompt "2.19.1a"
benoit@2488
    36
    select BINUTILS_2_19_or_later
yann@1345
    37
yann@2664
    38
config BINUTILS_V_2_18a
yann@1345
    39
    bool
yann@2664
    40
    prompt "2.18a"
benoit@2488
    41
    select BINUTILS_2_18_or_later
yann@1345
    42
yann@2664
    43
config BINUTILS_V_2_17a
yann@1345
    44
    bool
yann@2664
    45
    prompt "2.17a (OBSOLETE)"
yann@1615
    46
    depends on OBSOLETE
yann@1345
    47
yann@2664
    48
config BINUTILS_V_2_16_1a
yann@1345
    49
    bool
yann@2664
    50
    prompt "2.16.1a (OBSOLETE)"
yann@1615
    51
    depends on OBSOLETE
yann@1345
    52
yann@1345
    53
endchoice
yann@1345
    54
yann@1345
    55
config BINUTILS_VERSION
yann@1345
    56
    string
yann@1535
    57
# Don't remove next line
yann@1535
    58
# CT_INSERT_VERSION_STRING_BELOW
titus@2797
    59
    default "2.22" if BINUTILS_V_2_22
michael@2696
    60
    default "2.21.53" if BINUTILS_V_2_21_53
yann@2665
    61
    default "2.21.1a" if BINUTILS_V_2_21_1a
yann@2664
    62
    default "2.20.1a" if BINUTILS_V_2_20_1a
yann@2664
    63
    default "2.19.1a" if BINUTILS_V_2_19_1a
yann@2664
    64
    default "2.18a" if BINUTILS_V_2_18a
yann@2664
    65
    default "2.17a" if BINUTILS_V_2_17a
yann@2664
    66
    default "2.16.1a" if BINUTILS_V_2_16_1a
yann@1345
    67
titus@2797
    68
config BINUTILS_2_22_or_later
titus@2797
    69
    bool
titus@2797
    70
    select BINUTILS_2_21_or_later
titus@2797
    71
    select BINUTILS_HAS_GOLD
titus@2797
    72
    select BINUTILS_HAS_PLUGINS
titus@2797
    73
yann@2243
    74
config BINUTILS_2_21_or_later
yann@2243
    75
    bool
benoit@2488
    76
    select BINUTILS_2_20_or_later
yann@2244
    77
    select BINUTILS_HAS_GOLD
yann@2245
    78
    select BINUTILS_HAS_PLUGINS
yann@2244
    79
benoit@2488
    80
config BINUTILS_2_20_or_later
benoit@2488
    81
    bool
benoit@2488
    82
    select BINUTILS_2_19_or_later
benoit@2488
    83
benoit@2488
    84
config BINUTILS_2_19_or_later
benoit@2488
    85
    bool
benoit@2488
    86
    select BINUTILS_2_18_or_later
benoit@2488
    87
benoit@2488
    88
config BINUTILS_2_18_or_later
benoit@2488
    89
    bool
benoit@2488
    90
    select BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
    91
yann@2244
    92
config BINUTILS_HAS_GOLD
yann@2244
    93
    bool
yann@2244
    94
yann@2372
    95
config BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
    96
    bool
yann@2372
    97
yann@2245
    98
config BINUTILS_HAS_PLUGINS
yann@2245
    99
    bool
yann@2245
   100
benoit@2488
   101
config BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
   102
    bool
benoit@2488
   103
yann@2372
   104
# Only these architectures have support in gold
yann@2372
   105
config ARCH_arm
yann@2372
   106
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   107
yann@2372
   108
config ARCH_x86
yann@2372
   109
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   110
yann@2376
   111
# Force using the BFD linker if needed
yann@2376
   112
# This is the case for some C libraries (eg. glibc and
yann@2376
   113
# eglibc at least) and affected components can select this
yann@2376
   114
config BINUTILS_FORCE_LD_BFD
yann@2376
   115
    bool
yann@2376
   116
yann@2244
   117
choice
yann@2244
   118
    bool
yann@2244
   119
    prompt "Linkers to enable"
yann@2244
   120
yann@2244
   121
config BINUTILS_LINKER_LD
yann@2244
   122
    bool
yann@2244
   123
    prompt "ld"
yann@2244
   124
    help
yann@2244
   125
      The historical, bfd linker.
yann@2244
   126
yann@2244
   127
config BINUTILS_LINKER_GOLD
yann@2244
   128
    bool
yann@2244
   129
    prompt "gold"
yann@2244
   130
    depends on BINUTILS_HAS_GOLD
yann@2373
   131
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2376
   132
    depends on ! BINUTILS_FORCE_LD_BFD
yann@2244
   133
    depends on EXPERIMENTAL
yann@2244
   134
    select BINUTILS_GOLD_INSTALLED
yann@2244
   135
    help
yann@2244
   136
      gold is a new, optimised, multi-threaded linker with support
yann@2244
   137
      for plugins. Designed to be a drop-in replacement for the
yann@2244
   138
      original linker, ld, it can be much faster, with a 5:1 or
yann@2244
   139
      bigger ratio being not uncommon, YMMV.
yann@2244
   140
yann@2244
   141
config BINUTILS_LINKER_LD_GOLD
yann@2244
   142
    bool
yann@2244
   143
    prompt "ld, gold"
yann@2244
   144
    depends on BINUTILS_HAS_GOLD
yann@2373
   145
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   146
    depends on EXPERIMENTAL
yann@2244
   147
    select BINUTILS_GOLD_INSTALLED
yann@2247
   148
    select BINUTILS_LINKER_BOTH
yann@2244
   149
    help
yann@2244
   150
      Both the historical ld and the new gold linkers will be
yann@2244
   151
      installed, with ld being the default linker used.
yann@2244
   152
      
yann@2244
   153
      See help for gold, above.
yann@2244
   154
yann@2244
   155
config BINUTILS_LINKER_GOLD_LD
yann@2244
   156
    bool
yann@2244
   157
    prompt "gold, ld"
yann@2244
   158
    depends on BINUTILS_HAS_GOLD
yann@2373
   159
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   160
    depends on EXPERIMENTAL
yann@2244
   161
    select BINUTILS_GOLD_INSTALLED
yann@2247
   162
    select BINUTILS_LINKER_BOTH
yann@2376
   163
    select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
yann@2244
   164
    help
yann@2244
   165
      Both the historical ld and the new gold linkers will be
yann@2244
   166
      installed, with gold being the default linker used.
yann@2244
   167
      
yann@2244
   168
      See help for gold, above.
yann@2244
   169
yann@2244
   170
endchoice # Enable linkers
yann@2244
   171
yann@2374
   172
if BINUTILS_LINKER_GOLD
yann@2374
   173
comment "WARNING! gold is not capable of"
yann@2374
   174
comment "|         building glibc/eglibc!"
yann@2374
   175
endif # BINUTILS_LINKER_GOLD
yann@2374
   176
yann@2244
   177
config BINUTILS_GOLD_INSTALLED
yann@2244
   178
    bool
yann@2244
   179
yann@2246
   180
config BINUTILS_GOLD_THREADS
yann@2246
   181
    bool
yann@2246
   182
    prompt "|  Enable threaded gold"
yann@2246
   183
    depends on BINUTILS_GOLD_INSTALLED
yann@2246
   184
    help
yann@2246
   185
      When configured with threads, gold can link in parallel,
yann@2246
   186
      possibly cooperating with a make jobserver.
yann@2246
   187
yann@2247
   188
config BINUTILS_LINKER_BOTH
yann@2247
   189
    bool
yann@2247
   190
yann@2244
   191
config BINUTILS_LINKERS_LIST
yann@2244
   192
    string
yann@2244
   193
    default "ld"        if BINUTILS_LINKER_LD
yann@2244
   194
    default "gold"      if BINUTILS_LINKER_GOLD
yann@2244
   195
    default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
yann@2244
   196
    default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
yann@2244
   197
yann@2247
   198
config BINUTILS_LD_WRAPPER
yann@2247
   199
    bool
yann@2247
   200
    prompt "|  Add ld wrapper"
yann@2247
   201
    depends on BINUTILS_LINKER_BOTH
yann@2247
   202
    help
yann@2247
   203
      Add an ld wrapper that calls to either gold or ld.
yann@2247
   204
      
yann@2247
   205
      By default, the wrapper will call to the default wrapper,
yann@2247
   206
      but if you set the environment variable CTNG_LD_IS, you
yann@2247
   207
      can change which linker will get called:
yann@2247
   208
        CTNG_LD_IS=gold     will unconditionally call the gold linker
yann@2247
   209
        CTNG_LD_IS=bfd      will unconditionally call the old bfd ld linker
yann@2247
   210
yann@2247
   211
config BINUTILS_LINKER_DEFAULT
yann@2247
   212
    string
yann@2373
   213
    default "bfd"   if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
yann@2373
   214
    default "gold"  if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
yann@2243
   215
yann@2245
   216
config BINUTILS_PLUGINS
yann@2245
   217
    bool
yann@2245
   218
    prompt "Enable support for plugins"
yann@2245
   219
    depends on BINUTILS_HAS_PLUGINS
yann@2316
   220
    depends on ! STATIC_TOOLCHAIN
yann@2245
   221
    help
yann@2245
   222
      binutils can be extended through the use of plugins.
yann@2245
   223
      Especially, gold can use the lto-plugin, as installed
yann@2245
   224
      by gcc, to handle LTO.
yann@2245
   225
yann@2467
   226
config BINUTILS_EXTRA_CONFIG_ARRAY
yann@1345
   227
    string
yann@1345
   228
    prompt "binutils extra config"
yann@1345
   229
    default ""
yann@1345
   230
    help
yann@1345
   231
      Extra flags passed onto ./configure when configuring
yann@2469
   232
      
yann@2469
   233
      You can enter multiple arguments here, and arguments can contain spaces
yann@2469
   234
      if they are properly quoted (or escaped, but prefer quotes). Eg.:
yann@2469
   235
          --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
yann@1345
   236
yann@1345
   237
config BINUTILS_FOR_TARGET
yann@1345
   238
    bool
yann@1345
   239
    prompt "binutils libraries for the target"
yann@1345
   240
    depends on ! BARE_METAL
yann@1844
   241
    depends on ! BACKEND
yann@1345
   242
    help
yann@1345
   243
      Some utilities may need binutils libraries to be available on
yann@1345
   244
      the target, eg. oprofile.
yann@1345
   245
yann@1345
   246
if BINUTILS_FOR_TARGET
yann@1345
   247
yann@1345
   248
config BINUTILS_FOR_TARGET_IBERTY
yann@1345
   249
    bool
yann@1345
   250
    prompt "libiberty"
yann@1345
   251
    default y
yann@1345
   252
yann@1345
   253
config BINUTILS_FOR_TARGET_BFD
yann@1345
   254
    bool
yann@1345
   255
    prompt "libbfd"
yann@1345
   256
    default y
yann@1345
   257
yann@1345
   258
endif # BINUTILS_FOR_TARGET