config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Wed May 18 23:00:46 2011 +0200 (2011-05-18)
changeset 2467 200836977ce6
parent 2376 369664fd7cba
child 2469 3b08a7927e55
permissions -rw-r--r--
config: rename variables that are arrays

Make it explicit that a variable is an array bu the name of the variable.
It will be used later when .config gets munged to allow both multiple
arguments and arguments with spaces at the same time to be passed from the
configuration down to the build scripts.

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