config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 11 18:18:53 2011 +0200 (2011-09-11)
changeset 2664 346263a07115
parent 2663 7179903f8d2e
child 2665 5b7e91ec300c
permissions -rw-r--r--
binutils/binutils: fixup version strings

Recently, all binutils versions have been renamed after a GPL compliance
issue was found and fixed in binutils;
http://sourceware.org/ml/binutils/2011-08/msg00198.html

Although legacy symlinks have been put in place, we should now use
the new, real version strings.

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