config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Dec 31 18:03:33 2013 +0100 (2013-12-31)
changeset 3264 38113b831a2f
parent 3263 16f46c7ed41b
child 3268 d461981ab9cc
permissions -rw-r--r--
binutils/binutils: drop redundant 'select'

No need to 'select' gold and plugins in versions later
than 2.21, since we inherit them with 2_21_or_later.

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