config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
Sun Jan 02 13:52:16 2011 +0100 (2011-01-02)
changeset 2246 c69f8ef4bc7c
parent 2245 a6d790bc17af
child 2247 49fa28e62b07
permissions -rw-r--r--
binutils/binutils: add support for threaded gold

When configured with support for threads, gold can link in
parallel, possibly cooperating with a make jobserver.

Add an option enabling threads.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.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_21
    12     bool
    13     depends on EXPERIMENTAL
    14     prompt "2.21"
    15     select BINUTILS_2_21_or_later
    16 
    17 config BINUTILS_V_2_20_1
    18     bool
    19     prompt "2.20.1"
    20 
    21 config BINUTILS_V_2_20
    22     bool
    23     prompt "2.20"
    24 
    25 config BINUTILS_V_2_19_1
    26     bool
    27     prompt "2.19.1"
    28 
    29 config BINUTILS_V_2_19
    30     bool
    31     prompt "2.19"
    32 
    33 config BINUTILS_V_2_18
    34     bool
    35     prompt "2.18"
    36 
    37 config BINUTILS_V_2_17
    38     bool
    39     prompt "2.17 (OBSOLETE)"
    40     depends on OBSOLETE
    41 
    42 config BINUTILS_V_2_16_1
    43     bool
    44     prompt "2.16.1 (OBSOLETE)"
    45     depends on OBSOLETE
    46 
    47 endchoice
    48 
    49 config BINUTILS_VERSION
    50     string
    51 # Don't remove next line
    52 # CT_INSERT_VERSION_STRING_BELOW
    53     default "2.21" if BINUTILS_V_2_21
    54     default "2.20.1" if BINUTILS_V_2_20_1
    55     default "2.20" if BINUTILS_V_2_20
    56     default "2.19.1" if BINUTILS_V_2_19_1
    57     default "2.19" if BINUTILS_V_2_19
    58     default "2.18" if BINUTILS_V_2_18
    59     default "2.17" if BINUTILS_V_2_17
    60     default "2.16.1" if BINUTILS_V_2_16_1
    61 
    62 config BINUTILS_2_21_or_later
    63     bool
    64     select BINUTILS_HAS_GOLD
    65     select BINUTILS_HAS_PLUGINS
    66 
    67 config BINUTILS_HAS_GOLD
    68     bool
    69 
    70 config BINUTILS_HAS_PLUGINS
    71     bool
    72 
    73 if BINUTILS_HAS_GOLD
    74 
    75 choice
    76     bool
    77     prompt "Linkers to enable"
    78 
    79 config BINUTILS_LINKER_LD
    80     bool
    81     prompt "ld"
    82     help
    83       The historical, bfd linker.
    84 
    85 config BINUTILS_LINKER_GOLD
    86     bool
    87     prompt "gold"
    88     depends on BINUTILS_HAS_GOLD
    89     depends on EXPERIMENTAL
    90     select BINUTILS_GOLD_INSTALLED
    91     help
    92       gold is a new, optimised, multi-threaded linker with support
    93       for plugins. Designed to be a drop-in replacement for the
    94       original linker, ld, it can be much faster, with a 5:1 or
    95       bigger ratio being not uncommon, YMMV.
    96 
    97 config BINUTILS_LINKER_LD_GOLD
    98     bool
    99     prompt "ld, gold"
   100     depends on BINUTILS_HAS_GOLD
   101     depends on EXPERIMENTAL
   102     select BINUTILS_GOLD_INSTALLED
   103     help
   104       Both the historical ld and the new gold linkers will be
   105       installed, with ld being the default linker used.
   106       
   107       See help for gold, above.
   108 
   109 config BINUTILS_LINKER_GOLD_LD
   110     bool
   111     prompt "gold, ld"
   112     depends on BINUTILS_HAS_GOLD
   113     depends on EXPERIMENTAL
   114     select BINUTILS_GOLD_INSTALLED
   115     help
   116       Both the historical ld and the new gold linkers will be
   117       installed, with gold being the default linker used.
   118       
   119       See help for gold, above.
   120 
   121 endchoice # Enable linkers
   122 
   123 config BINUTILS_GOLD_INSTALLED
   124     bool
   125 
   126 config BINUTILS_GOLD_THREADS
   127     bool
   128     prompt "|  Enable threaded gold"
   129     depends on BINUTILS_GOLD_INSTALLED
   130     help
   131       When configured with threads, gold can link in parallel,
   132       possibly cooperating with a make jobserver.
   133 
   134 config BINUTILS_LINKERS_LIST
   135     string
   136     default "ld"        if BINUTILS_LINKER_LD
   137     default "gold"      if BINUTILS_LINKER_GOLD
   138     default "ld,gold"   if BINUTILS_LINKER_LD_GOLD
   139     default "gold,ld"   if BINUTILS_LINKER_GOLD_LD
   140 
   141 endif # BINUTILS_HAS_GOLD
   142 
   143 config BINUTILS_PLUGINS
   144     bool
   145     prompt "Enable support for plugins"
   146     depends on BINUTILS_HAS_PLUGINS
   147     help
   148       binutils can be extended through the use of plugins.
   149       Especially, gold can use the lto-plugin, as installed
   150       by gcc, to handle LTO.
   151 
   152 config BINUTILS_EXTRA_CONFIG
   153     string
   154     prompt "binutils extra config"
   155     default ""
   156     help
   157       Extra flags passed onto ./configure when configuring
   158 
   159 config BINUTILS_FOR_TARGET
   160     bool
   161     prompt "binutils libraries for the target"
   162     depends on ! BARE_METAL
   163     depends on ! BACKEND
   164     default n
   165     help
   166       Some utilities may need binutils libraries to be available on
   167       the target, eg. oprofile.
   168 
   169 if BINUTILS_FOR_TARGET
   170 
   171 config BINUTILS_FOR_TARGET_IBERTY
   172     bool
   173     prompt "libiberty"
   174     default y
   175 
   176 config BINUTILS_FOR_TARGET_BFD
   177     bool
   178     prompt "libbfd"
   179     default y
   180 
   181 endif # BINUTILS_FOR_TARGET