config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 11:53:05 2012 +0100 (2012-12-26)
changeset 3142 6569f6a9060c
parent 3121 5016315d88ba
child 3149 e1611da4bb05
permissions -rw-r--r--
all: remove versions marked obsolete

For major components, keep the latest version of each major releases.

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