config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Tue Dec 31 17:58:54 2013 +0100 (2013-12-31)
changeset 3263 16f46c7ed41b
parent 3257 7b7d953f9cfb
child 3264 38113b831a2f
permissions -rw-r--r--
binutils/binutils: add 2.24

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