config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sun Nov 11 21:42:47 2012 +0100 (2012-11-11)
branch1.16
changeset 3107 91a52bc04af9
parent 2797 ce8ada0b1d41
child 3089 3662412ddd59
permissions -rw-r--r--
1.16: close branch

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_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     select BINUTILS_HAS_HASH_STYLE
    92 
    93 config BINUTILS_HAS_HASH_STYLE
    94     bool
    95 
    96 config BINUTILS_HAS_GOLD
    97     bool
    98 
    99 config BINUTILS_GOLD_SUPPORTS_ARCH
   100     bool
   101 
   102 config BINUTILS_HAS_PLUGINS
   103     bool
   104 
   105 config BINUTILS_HAS_PKGVERSION_BUGURL
   106     bool
   107 
   108 # Only these architectures have support in gold
   109 config ARCH_arm
   110     select BINUTILS_GOLD_SUPPORTS_ARCH
   111 
   112 config ARCH_x86
   113     select BINUTILS_GOLD_SUPPORTS_ARCH
   114 
   115 # Force using the BFD linker if needed
   116 # This is the case for some C libraries (eg. glibc and
   117 # eglibc at least) and affected components can select this
   118 config BINUTILS_FORCE_LD_BFD
   119     bool
   120 
   121 choice
   122     bool
   123     prompt "Linkers to enable"
   124 
   125 config BINUTILS_LINKER_LD
   126     bool
   127     prompt "ld"
   128     help
   129       The historical, bfd linker.
   130 
   131 config BINUTILS_LINKER_GOLD
   132     bool
   133     prompt "gold"
   134     depends on BINUTILS_HAS_GOLD
   135     depends on BINUTILS_GOLD_SUPPORTS_ARCH
   136     depends on ! BINUTILS_FORCE_LD_BFD
   137     depends on EXPERIMENTAL
   138     select BINUTILS_GOLD_INSTALLED
   139     help
   140       gold is a new, optimised, multi-threaded linker with support
   141       for plugins. Designed to be a drop-in replacement for the
   142       original linker, ld, it can be much faster, with a 5:1 or
   143       bigger ratio being not uncommon, YMMV.
   144 
   145 config BINUTILS_LINKER_LD_GOLD
   146     bool
   147     prompt "ld, gold"
   148     depends on BINUTILS_HAS_GOLD
   149     depends on BINUTILS_GOLD_SUPPORTS_ARCH
   150     depends on EXPERIMENTAL
   151     select BINUTILS_GOLD_INSTALLED
   152     select BINUTILS_LINKER_BOTH
   153     help
   154       Both the historical ld and the new gold linkers will be
   155       installed, with ld being the default linker used.
   156       
   157       See help for gold, above.
   158 
   159 config BINUTILS_LINKER_GOLD_LD
   160     bool
   161     prompt "gold, ld"
   162     depends on BINUTILS_HAS_GOLD
   163     depends on BINUTILS_GOLD_SUPPORTS_ARCH
   164     depends on EXPERIMENTAL
   165     select BINUTILS_GOLD_INSTALLED
   166     select BINUTILS_LINKER_BOTH
   167     select BINUTILS_LD_WRAPPER if BINUTILS_FORCE_LD_BFD
   168     help
   169       Both the historical ld and the new gold linkers will be
   170       installed, with gold being the default linker used.
   171       
   172       See help for gold, above.
   173 
   174 endchoice # Enable linkers
   175 
   176 if BINUTILS_LINKER_GOLD
   177 comment "WARNING! gold is not capable of"
   178 comment "|         building glibc/eglibc!"
   179 endif # BINUTILS_LINKER_GOLD
   180 
   181 config BINUTILS_GOLD_INSTALLED
   182     bool
   183 
   184 config BINUTILS_GOLD_THREADS
   185     bool
   186     prompt "|  Enable threaded gold"
   187     depends on BINUTILS_GOLD_INSTALLED
   188     help
   189       When configured with threads, gold can link in parallel,
   190       possibly cooperating with a make jobserver.
   191 
   192 config BINUTILS_LINKER_BOTH
   193     bool
   194 
   195 config BINUTILS_LINKERS_LIST
   196     string
   197     default "ld"        if BINUTILS_LINKER_LD
   198     default "gold"      if BINUTILS_LINKER_GOLD
   199     default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
   200     default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
   201 
   202 config BINUTILS_LD_WRAPPER
   203     bool
   204     prompt "|  Add ld wrapper"
   205     depends on BINUTILS_LINKER_BOTH
   206     help
   207       Add an ld wrapper that calls to either gold or ld.
   208       
   209       By default, the wrapper will call to the default wrapper,
   210       but if you set the environment variable CTNG_LD_IS, you
   211       can change which linker will get called:
   212         CTNG_LD_IS=gold     will unconditionally call the gold linker
   213         CTNG_LD_IS=bfd      will unconditionally call the old bfd ld linker
   214 
   215 config BINUTILS_LINKER_DEFAULT
   216     string
   217     default "bfd"   if BINUTILS_LINKER_LD || BINUTILS_LINKER_LD_GOLD
   218     default "gold"  if BINUTILS_LINKER_GOLD || BINUTILS_LINKER_GOLD_LD
   219 
   220 config BINUTILS_PLUGINS
   221     bool
   222     prompt "Enable support for plugins"
   223     depends on BINUTILS_HAS_PLUGINS
   224     depends on ! STATIC_TOOLCHAIN
   225     help
   226       binutils can be extended through the use of plugins.
   227       Especially, gold can use the lto-plugin, as installed
   228       by gcc, to handle LTO.
   229 
   230 config BINUTILS_EXTRA_CONFIG_ARRAY
   231     string
   232     prompt "binutils extra config"
   233     default ""
   234     help
   235       Extra flags passed onto ./configure when configuring
   236       
   237       You can enter multiple arguments here, and arguments can contain spaces
   238       if they are properly quoted (or escaped, but prefer quotes). Eg.:
   239           --with-foo="1st arg with 4 spaces" --with-bar=2nd-arg-without-space
   240 
   241 config BINUTILS_FOR_TARGET
   242     bool
   243     prompt "binutils libraries for the target"
   244     depends on ! BARE_METAL
   245     depends on ! BACKEND
   246     help
   247       Some utilities may need binutils libraries to be available on
   248       the target, eg. oprofile.
   249 
   250 if BINUTILS_FOR_TARGET
   251 
   252 config BINUTILS_FOR_TARGET_IBERTY
   253     bool
   254     prompt "libiberty"
   255     default y
   256 
   257 config BINUTILS_FOR_TARGET_BFD
   258     bool
   259     prompt "libbfd"
   260     default y
   261 
   262 endif # BINUTILS_FOR_TARGET