2007-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
authorPaolo Bonzini <bonzini@gnu.org>
Thu, 29 Nov 2007 15:36:39 +0000 (15:36 +0000)
committerPaolo Bonzini <bonzini@gnu.org>
Thu, 29 Nov 2007 15:36:39 +0000 (15:36 +0000)
        * config-ml.in: Robustify against white space in absolute file
        names.

ChangeLog
config-ml.in

index 809686646adbead808ea9fbbe41527d48e098e8c..1eb6f7ac3eac8b57964d6c636dfa44c8a84b617f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-11-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
+
+        * config-ml.in: Robustify against white space in absolute file
+        names.
+
+        * config-ml.in (multi-clean): Substitute ${Makefile}.
+        Remove superfluous ${Makefile} in list.
+
 2007-10-23  Daniel Jacobowitz  <dan@codesourcery.com>
 
        * Makefile.def (dependencies): Make configure-gdb depend on
index cc9cf66cebcd207520a699f9b6c79a68beeead01..9adc9e074c666c32aeadd6b00e826e5c7a423109 100644 (file)
@@ -1,8 +1,8 @@
 # Configure fragment invoked in the post-target section for subdirs
 # wanting multilib support.
 #
-# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-#   Free Software Foundation, Inc.
+# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005, 2006, 2007  Free Software Foundation, Inc.
 #
 # This file is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -540,7 +540,7 @@ multi-do:
        else \
          rootpre=`${PWD_COMMAND}`/; export rootpre; \
          srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
-         lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
+         lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
          compiler="$(CC)"; \
          for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
            dir=`echo $$i | sed -e 's/;.*$$//'`; \
@@ -586,8 +586,13 @@ multi-clean:
          true; \
        else \
          lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
-         for dir in Makefile $(MULTIDIRS); do \
-           if [ -f ../$${dir}/$${lib}/Makefile ]; then \
+         for dir in : $(MULTIDIRS); do \
+           test $$dir != : || continue; \
+EOF
+cat >>Multi.tem <<EOF
+           if [ -f ../\$\${dir}/\$\${lib}/${Makefile} ]; then \\
+EOF
+cat >>Multi.tem <<\EOF
              if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
              then true; \
              else exit 1; \
@@ -605,7 +610,7 @@ mv Makefile.tem ${Makefile}
 fi # ${ml_toplevel_p} = yes
 
 if [ "${ml_verbose}" = --verbose ]; then
-  echo "Adding multilib support to Makefile in ${ml_realsrcdir}"
+  echo "Adding multilib support to ${Makefile} in ${ml_realsrcdir}"
   if [ "${ml_toplevel_p}" = yes ]; then
     echo "multidirs=${multidirs}"
   fi
@@ -696,7 +701,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
   fi
 
   ml_origdir=`${PWDCMD-pwd}`
-  ml_libdir=`echo $ml_origdir | sed -e 's,^.*/,,'`
+  ml_libdir=`echo "$ml_origdir" | sed -e 's,^.*/,,'`
   # cd to top-level-build-dir/${with_target_subdir}
   cd ..
 
@@ -732,7 +737,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
 
     case ${srcdir} in
     ".")
-      echo Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}
+      echo "Building symlink tree in `${PWDCMD-pwd}`/${ml_dir}/${ml_libdir}"
       if [ "${with_target_subdir}" != "." ]; then
        ml_unsubdir="../"
       else
@@ -740,7 +745,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
       fi
       (cd ${ml_dir}/${ml_libdir};
        ../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${ml_libdir} "")
-      if [ -f ${ml_dir}/${ml_libdir}/Makefile ]; then
+      if [ -f ${ml_dir}/${ml_libdir}/${Makefile} ]; then
        if [ x"${MAKE}" = x ]; then
          (cd ${ml_dir}/${ml_libdir}; make distclean)
        else
@@ -797,7 +802,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
     else
        # Create a regular expression that matches any string as long
        # as ML_POPDIR.
-       popdir_rx=`echo ${ML_POPDIR} | sed 's,.,.,g'`
+       popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
        CC_=
        for arg in ${CC}; do
          case $arg in
@@ -901,11 +906,11 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
       exit 1
     fi
 
-    cd ${ML_POPDIR}
+    cd "${ML_POPDIR}"
 
   done
 
-  cd ${ml_origdir}
+  cd "${ml_origdir}"
 fi
 
 fi # ${ml_toplevel_p} = yes