config/binutils/binutils.in
author "Yann E. MORIN" <yann.morin.1998@free.fr>
Sun Mar 03 22:24:40 2013 +0100 (2013-03-03)
changeset 3195 cbaf37cc20b7
parent 3154 5d3c8b601af3
child 3240 bc4b36e3df0c
permissions -rw-r--r--
libc/glibc: do not overwrite existing bits/syscall.h

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