From e23dd0ad8934d36d5434707ac285e4c471dddd29 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 29 Nov 2007 15:36:39 +0000 Subject: [PATCH] 2007-11-28 Ralf Wildenhues * config-ml.in: Robustify against white space in absolute file names. --- ChangeLog | 8 ++++++++ config-ml.in | 29 +++++++++++++++++------------ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/ChangeLog b/ChangeLog index 809686646..1eb6f7ac3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2007-11-28 Ralf Wildenhues + + * 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 * Makefile.def (dependencies): Make configure-gdb depend on diff --git a/config-ml.in b/config-ml.in index cc9cf66ce..9adc9e074 100644 --- a/config-ml.in +++ b/config-ml.in @@ -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 <>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