config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Dec 26 20:05:19 2012 +0100 (2012-12-26)
changeset 3150 1d6fd9bde73c
parent 3149 e1611da4bb05
child 3154 5d3c8b601af3
permissions -rw-r--r--
all: unmark experimental features

It's been some time now we've had those features, so unmark them
being experimental.

It does not mean everything is perfect, but may gather some more
testing of those features.

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