config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Sep 11 19:54:57 2011 +0200 (2011-09-11)
changeset 2665 5b7e91ec300c
parent 2664 346263a07115
child 2696 5f7c6eed805d
permissions -rw-r--r--
binutils/binutils: add latest version

Add patches used by buildroot.

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