config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Tue Aug 02 18:28:10 2011 +0200 (2011-08-02)
changeset 2590 b64cfb67944e
parent 2484 d1a8c2ae7946
child 2663 7179903f8d2e
permissions -rw-r--r--
scripts/functions: svn retrieval first tries the mirror for tarballs

The svn download helper looks for the local tarballs dir to see if it
can find a pre-downloaded tarball, and if it does not find it, does
the actual fetch to upstream via svn.

In the process, it does not even try to get a tarball from the local
mirror, which can be useful if the mirror has been pre-populated
manually (or with a previously downloaded tree).

Fake a tarball get with the standard tarball-download helper, but
without specifying any upstream URL, which makes the helper directly
try the LAN mirror.

Of course, if no mirror is specified, no URL wil be available, and
the standard svn retrieval will kick in.

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