config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Mon Oct 07 00:00:34 2013 +0200 (2013-10-07)
changeset 3240 bc4b36e3df0c
parent 3173 16fdf4cf35b5
child 3257 7b7d953f9cfb
permissions -rw-r--r--
binutils/binutils: add new versions

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