scripts/scripts.mk
author "Benoît THÉBAUDEAU" <benoit.thebaudeau@advansee.com>
Thu Jul 28 22:09:31 2011 +0200 (2011-07-28)
changeset 2573 424fa2092ace
parent 1618 7f52e1cca71e
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 # Makefile for the scripts/ sub-directory
     2 
     3 # Here, we can update the config.* scripts.
     4 # If we're in CT_LIB_DIR, then CT_LIB_DIR == CT_TOP_DIR, and we can update those
     5 # scripts for later inclusion mainline. If CT_LIB_DIR != CT_TOP_DIR, then those
     6 # scripts are downloaded only for use in CT_TOP_DIR.
     7 
     8 # ----------------------------------------------------------
     9 # The tools help entry
    10 
    11 help-distrib::
    12 	@echo  '  updatetools        - Update the config tools'
    13 
    14 # ----------------------------------------------------------
    15 # Where to get tools from, and where to store them into
    16 # The tools are: config.guess and config.sub
    17 
    18 CONFIG_SUB_SRC="http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD"
    19 CONFIG_SUB_DEST=scripts/config.sub
    20 CONFIG_GUESS_SRC="http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD"
    21 CONFIG_GUESS_DEST=scripts/config.guess
    22 
    23 PHONY += updatetools
    24 updatetools: $(CONFIG_SUB_DEST) $(CONFIG_GUESS_DEST)
    25 
    26 # ----------------------------------------------------------
    27 # How to retrieve the tools
    28 
    29 wget_opt=-o /dev/null
    30 ifeq ($(strip $(V)),2)
    31   wget_opt=
    32 endif
    33 
    34 PHONY += scripts
    35 scripts:
    36 	@$(ECHO) '  MKDIR $@'
    37 	$(SILENT)mkdir -p $@
    38 
    39 $(CONFIG_SUB_DEST): scripts FORCE
    40 	@$(ECHO) '  WGET  $@'
    41 	$(SILENT)wget $(wget_opt) -O $@ $(CONFIG_SUB_SRC)
    42 	$(SILENT)chmod u+rwx,go+rx-w $@
    43 
    44 $(CONFIG_GUESS_DEST): scripts FORCE
    45 	@$(ECHO) '  WGET  $@'
    46 	$(SILENT)wget $(wget_opt) -O $@ $(CONFIG_GUESS_SRC)
    47 	$(SILENT)chmod u+rwx,go+rx-w $@
    48 
    49 # ----------------------------------------------------------
    50 # Clean up the mess
    51 
    52 distclean::
    53 	@$(ECHO) "  CLEAN scripts"
    54 	$(SILENT)[ $(CT_TOP_DIR) = $(CT_LIB_DIR) ] || rm -rf $(CT_TOP_DIR)/scripts