config/binutils/binutils.in
author Titus von Boxberg <titus@v9g.de>
Mon Nov 28 21:27:08 2011 +0100 (2011-11-28)
changeset 2797 ce8ada0b1d41
parent 2696 5f7c6eed805d
child 2947 479064d9a546
permissions -rw-r--r--
binutils/binutils: add binutils 2.22

Enable (EXPERIMENTAL) selection of binutils 2.22

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