config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Jul 31 22:27:29 2012 +0200 (2012-07-31)
changeset 3018 7776e8369284
parent 2797 ce8ada0b1d41
child 3089 3662412ddd59
permissions -rw-r--r--
complibs/cloog: create missing m4 dir

Because we now patch configure.in and configure, the Makefile quicks
in a re-build rule as the source files are now more recent than the
bundled generated files, and that fails because the m4 directory
is missing, although on some systems where aclocal is not installed,
the re-build rule does nothing (except a warning).

Always create tht directory.

Reported-by: Per Arnold Blaasmo <per-arnold.blaasmo@atmel.com>
[Also thanks to Thomas De Schampheleire <patrickdepinguin@gmail.com>
for some digging works on this issue]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.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
yann@2947
    91
    select BINUTILS_HAS_HASH_STYLE
yann@2947
    92
yann@2947
    93
config BINUTILS_HAS_HASH_STYLE
yann@2947
    94
    bool
benoit@2488
    95
yann@2244
    96
config BINUTILS_HAS_GOLD
yann@2244
    97
    bool
yann@2244
    98
yann@2372
    99
config BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   100
    bool
yann@2372
   101
yann@2245
   102
config BINUTILS_HAS_PLUGINS
yann@2245
   103
    bool
yann@2245
   104
benoit@2488
   105
config BINUTILS_HAS_PKGVERSION_BUGURL
benoit@2488
   106
    bool
benoit@2488
   107
yann@2372
   108
# Only these architectures have support in gold
yann@2372
   109
config ARCH_arm
yann@2372
   110
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   111
yann@2372
   112
config ARCH_x86
yann@2372
   113
    select BINUTILS_GOLD_SUPPORTS_ARCH
yann@2372
   114
yann@2376
   115
# Force using the BFD linker if needed
yann@2376
   116
# This is the case for some C libraries (eg. glibc and
yann@2376
   117
# eglibc at least) and affected components can select this
yann@2376
   118
config BINUTILS_FORCE_LD_BFD
yann@2376
   119
    bool
yann@2376
   120
yann@2244
   121
choice
yann@2244
   122
    bool
yann@2244
   123
    prompt "Linkers to enable"
yann@2244
   124
yann@2244
   125
config BINUTILS_LINKER_LD
yann@2244
   126
    bool
yann@2244
   127
    prompt "ld"
yann@2244
   128
    help
yann@2244
   129
      The historical, bfd linker.
yann@2244
   130
yann@2244
   131
config BINUTILS_LINKER_GOLD
yann@2244
   132
    bool
yann@2244
   133
    prompt "gold"
yann@2244
   134
    depends on BINUTILS_HAS_GOLD
yann@2373
   135
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2376
   136
    depends on ! BINUTILS_FORCE_LD_BFD
yann@2244
   137
    depends on EXPERIMENTAL
yann@2244
   138
    select BINUTILS_GOLD_INSTALLED
yann@2244
   139
    help
yann@2244
   140
      gold is a new, optimised, multi-threaded linker with support
yann@2244
   141
      for plugins. Designed to be a drop-in replacement for the
yann@2244
   142
      original linker, ld, it can be much faster, with a 5:1 or
yann@2244
   143
      bigger ratio being not uncommon, YMMV.
yann@2244
   144
yann@2244
   145
config BINUTILS_LINKER_LD_GOLD
yann@2244
   146
    bool
yann@2244
   147
    prompt "ld, gold"
yann@2244
   148
    depends on BINUTILS_HAS_GOLD
yann@2373
   149
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   150
    depends on EXPERIMENTAL
yann@2244
   151
    select BINUTILS_GOLD_INSTALLED
yann@2247
   152
    select BINUTILS_LINKER_BOTH
yann@2244
   153
    help
yann@2244
   154
      Both the historical ld and the new gold linkers will be
yann@2244
   155
      installed, with ld being the default linker used.
yann@2244
   156
      
yann@2244
   157
      See help for gold, above.
yann@2244
   158
yann@2244
   159
config BINUTILS_LINKER_GOLD_LD
yann@2244
   160
    bool
yann@2244
   161
    prompt "gold, ld"
yann@2244
   162
    depends on BINUTILS_HAS_GOLD
yann@2373
   163
    depends on BINUTILS_GOLD_SUPPORTS_ARCH
yann@2244
   164
    depends on EXPERIMENTAL
yann@2244
   165
    select BINUTILS_GOLD_INSTALLED
yann@2247
   166
    select BINUTILS_LINKER_BOTH
yann@2376
   167
    select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
yann@2244
   168
    help
yann@2244
   169
      Both the historical ld and the new gold linkers will be
yann@2244
   170
      installed, with gold being the default linker used.
yann@2244
   171
      
yann@2244
   172
      See help for gold, above.
yann@2244
   173
yann@2244
   174
endchoice # Enable linkers
yann@2244
   175
yann@2374
   176
if BINUTILS_LINKER_GOLD
yann@2374
   177
comment "WARNING! gold is not capable of"
yann@2374
   178
comment "|         building glibc/eglibc!"
yann@2374
   179
endif # BINUTILS_LINKER_GOLD
yann@2374
   180
yann@2244
   181
config BINUTILS_GOLD_INSTALLED
yann@2244
   182
    bool
yann@2244
   183
yann@2246
   184
config BINUTILS_GOLD_THREADS
yann@2246
   185
    bool
yann@2246
   186
    prompt "|  Enable threaded gold"
yann@2246
   187
    depends on BINUTILS_GOLD_INSTALLED
yann@2246
   188
    help
yann@2246
   189
      When configured with threads, gold can link in parallel,
yann@2246
   190
      possibly cooperating with a make jobserver.
yann@2246
   191
yann@2247
   192
config BINUTILS_LINKER_BOTH
yann@2247
   193
    bool
yann@2247
   194
yann@2244
   195
config BINUTILS_LINKERS_LIST
yann@2244
   196
    string
yann@2244
   197
    default "ld"        if BINUTILS_LINKER_LD
yann@2244
   198
    default "gold"      if BINUTILS_LINKER_GOLD
yann@2244
   199
    default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
yann@2244
   200
    default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
yann@2244
   201
yann@2247
   202
config BINUTILS_LD_WRAPPER
yann@2247
   203
    bool
yann@2247
   204
    prompt "|  Add ld wrapper"
yann@2247
   205
    depends on BINUTILS_LINKER_BOTH
yann@2247
   206
    help
yann@2247
   207
      Add an ld wrapper that calls to either gold or ld.
yann@2247
   208
      
yann@2247
   209
      By default, the wrapper will call to the default wrapper,
yann@2247
   210
      but if you set the environment variable CTNG_LD_IS, you
yann@2247
   211
      can change which linker will get called:
yann@2247
   212
        CTNG_LD_IS=gold     will unconditionally call the gold linker
yann@2247
   213
        CTNG_LD_IS=bfd      will unconditionally call the old bfd ld linker
yann@2247
   214
yann@2247
   215
config BINUTILS_LINKER_DEFAULT
yann@2247
   216
    string
yann@2373
   217
    default "bfd"   if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
yann@2373
   218
    default "gold"  if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
yann@2243
   219
yann@2245
   220
config BINUTILS_PLUGINS
yann@2245
   221
    bool
yann@2245
   222
    prompt "Enable support for plugins"
yann@2245
   223
    depends on BINUTILS_HAS_PLUGINS
yann@2316
   224
    depends on ! STATIC_TOOLCHAIN
yann@2245
   225
    help
yann@2245
   226
      binutils can be extended through the use of plugins.
yann@2245
   227
      Especially, gold can use the lto-plugin, as installed
yann@2245
   228
      by gcc, to handle LTO.
yann@2245
   229
yann@2467
   230
config BINUTILS_EXTRA_CONFIG_ARRAY
yann@1345
   231
    string
yann@1345
   232
    prompt "binutils extra config"
yann@1345
   233
    default ""
yann@1345
   234
    help
yann@1345
   235
      Extra flags passed onto ./configure when configuring
yann@2469
   236
      
yann@2469
   237
      You can enter multiple arguments here, and arguments can contain spaces
yann@2469
   238
      if they are properly quoted (or escaped, but prefer quotes). Eg.:
yann@2469
   239
          --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
yann@1345
   240
yann@1345
   241
config BINUTILS_FOR_TARGET
yann@1345
   242
    bool
yann@1345
   243
    prompt "binutils libraries for the target"
yann@1345
   244
    depends on ! BARE_METAL
yann@1844
   245
    depends on ! BACKEND
yann@1345
   246
    help
yann@1345
   247
      Some utilities may need binutils libraries to be available on
yann@1345
   248
      the target, eg. oprofile.
yann@1345
   249
yann@1345
   250
if BINUTILS_FOR_TARGET
yann@1345
   251
yann@1345
   252
config BINUTILS_FOR_TARGET_IBERTY
yann@1345
   253
    bool
yann@1345
   254
    prompt "libiberty"
yann@1345
   255
    default y
yann@1345
   256
yann@1345
   257
config BINUTILS_FOR_TARGET_BFD
yann@1345
   258
    bool
yann@1345
   259
    prompt "libbfd"
yann@1345
   260
    default y
yann@1345
   261
yann@1345
   262
endif # BINUTILS_FOR_TARGET