scripts/scripts.mk
author Oron Peled <oron@actcom.co.il>
Mon Aug 03 00:49:25 2009 +0200 (2009-08-03)
branch1.4
changeset 1456 94fc77c37418
child 1618 7f52e1cca71e
permissions -rw-r--r--
[complib:mpfr] Fix building MPFR in some weird cases

The tmul test uses a compiled-in input file in $(srcdir).
The problem is that the Makefile passes it unquoted. The C code
tries to stringify it using clever macros, which may *usually* work.

In my case the source directory was named:
.../toolchain-powerpc-e500v2-linux-gnuspe-1.0-2.fc10/.../tests
And guess what? During testing I found out the program fails because
it tries to open:
.../toolchain-powerpc-e500v2-1-gnuspe-1.0-2.fc10/.../tests

Yes, CPP tokenized the macro before stringifying it and not surprisingly
the 'linux' part was converted to 1.
[on Fedora-10: cpp (GCC) 4.3.2 20081105 (Red Hat 4.3.2-7)]

So the attached patch simplify the macros and pass the path as string
from the Makefile.

Manually backported from 1449:8ad2773e7ae3
     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 	$(SILENT)mkdir -p scripts
    37 
    38 FROCE += $(CONFIG_SUB_DEST)
    39 $(CONFIG_SUB_DEST): scripts
    40 	@$(ECHO) '  WGET  $@'
    41 	$(SILENT)wget $(wget_opt) -O $@ $(CONFIG_SUB_SRC)
    42 	$(SILENT)chmod u+rwx,go+rx-w $@
    43 
    44 FORCE += $(CONFIG_GUESS_DEST)
    45 $(CONFIG_GUESS_DEST): scripts
    46 	@$(ECHO) '  WGET  $@'
    47 	$(SILENT)wget $(wget_opt) -O $@ $(CONFIG_GUESS_SRC)
    48 	$(SILENT)chmod u+rwx,go+rx-w $@
    49 
    50 # ----------------------------------------------------------
    51 # Clean up the mess
    52 
    53 distclean::
    54 	@$(ECHO) "  CLEAN scripts"
    55 	$(SILENT)[ $(CT_TOP_DIR) = $(CT_LIB_DIR) ] || rm -rf $(CT_TOP_DIR)/scripts