config/cc/gcc.in.mips
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Jul 28 22:09:31 2011 +0200 (2011-07-28)
changeset 2573 424fa2092ace
permissions -rw-r--r--
scripts/libc: do not build add-ons by default

Currently, no --enable-add-ons option is passed to libc configure when
"$(do_libc_add_ons_list ,)" is empty, which makes configure automatically search
for present add-ons. In that case, all present add-ons are built, although
no add-on was selected by the user in the config. Moreover, this can make the
configure fail if some non-standard add-ons like eglibc-localedef are present.

This behavior also leads to an inconsistency from a user point of view between
the following cases:
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS="none" in the config,
which makes "$(do_libc_add_ons_list ,)" return "", so all present add-ons
are built.
- LIBC_ADDONS_LIST="", LIBC_GLIBC_USE_PORTS=n and THREADS!="none" in the
config, which makes "$(do_libc_add_ons_list ,)" return the add-on supporting
the chosen threading implementation, e.g. "nptl", so only this add-on is
built.

This patch disables the building of all add-ons in that case.

It is still possible to build all present add-ons by adding --enable-add-ons to
LIBC_GLIBC_EXTRA_CONFIG_ARRAY.

Signed-off-by: "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
     1 # MIPS specific options for gcc
     2 
     3 config CC_GCC_HAS_ARCH_OPTIONS
     4     default y
     5 
     6 config CC_GCC_mips_llsc
     7     tristate
     8     prompt "Use llsc"
     9     default m
    10     help
    11       This configures how gcc will emit load-link, store-conditional and
    12       sync opcodes. Normally, you'd set this to 'M', and configure will do
    13       the correct thing (ie. enable llsc for Linux-based targets, disable
    14       for others). If you know better, you can force either using llsc or
    15       not using it (resp. 'Y' or 'N').
    16 
    17 config CC_GCC_mips_synci
    18     tristate
    19     prompt "Use synci"
    20     default m
    21     help
    22       This configures how gcc will emit the synci opcode. Normally, you'd
    23       set this to 'M', and configure will do the correct thing (ie. disable).
    24       If you know better, you can force using synci (say 'Y'), or not using
    25       it (say 'N').
    26 
    27 config CC_GCC_mips_plt
    28     bool
    29     prompt "Use copy relocations & PLTs"
    30     help
    31       This configures gcc to use copy relocations & PLTs. These are
    32       extensions to the traditional SVR4-based MIPS ABIs and require
    33       support from GNU binutils and the runtime C library.
    34       Say 'N' to keep the default and not use them, say 'Y' to use them.