config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Wed Jun 25 23:33:01 2014 +0200 (2014-06-25)
changeset 3325 069f43a215cc
parent 3264 38113b831a2f
permissions -rw-r--r--
all: fix wildcard to work with make-4.x

In make-3.8x, the $(wildacrd) function would sort the entries,
while in make-4.x, it would just return the entries in any
unpredictable order [*]

Use the $(sort) function to get reproducible behaviour.

[*] Well, most probably the roder the entries appear when read
from readdir()

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