config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Thu Dec 27 12:42:42 2012 +0100 (2012-12-27)
changeset 3154 5d3c8b601af3
parent 3150 1d6fd9bde73c
child 3173 16fdf4cf35b5
permissions -rw-r--r--
binutils/binutils: add latest version

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