2007-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>

* config-ml.in: Robustify against white space in absolute file
        names.
This commit is contained in:
Paolo Bonzini 2007-11-29 15:36:39 +00:00
parent 47c9864a0a
commit e23dd0ad89
2 changed files with 25 additions and 12 deletions

View File

@ -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> 2007-10-23 Daniel Jacobowitz <dan@codesourcery.com>
* Makefile.def (dependencies): Make configure-gdb depend on * Makefile.def (dependencies): Make configure-gdb depend on

View File

@ -1,8 +1,8 @@
# Configure fragment invoked in the post-target section for subdirs # Configure fragment invoked in the post-target section for subdirs
# wanting multilib support. # wanting multilib support.
# #
# Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 # Copyright (C) 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# Free Software Foundation, Inc. # 2005, 2006, 2007 Free Software Foundation, Inc.
# #
# This file is free software; you can redistribute it and/or modify # 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 # it under the terms of the GNU General Public License as published by
@ -540,7 +540,7 @@ multi-do:
else \ else \
rootpre=`${PWD_COMMAND}`/; export rootpre; \ rootpre=`${PWD_COMMAND}`/; export rootpre; \
srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \ srcrootpre=`cd $(srcdir); ${PWD_COMMAND}`/; export srcrootpre; \
lib=`echo $${rootpre} | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \ lib=`echo "$${rootpre}" | sed -e 's,^.*/\([^/][^/]*\)/$$,\1,'`; \
compiler="$(CC)"; \ compiler="$(CC)"; \
for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \ for i in `$${compiler} --print-multi-lib 2>/dev/null`; do \
dir=`echo $$i | sed -e 's/;.*$$//'`; \ dir=`echo $$i | sed -e 's/;.*$$//'`; \
@ -586,8 +586,13 @@ multi-clean:
true; \ true; \
else \ else \
lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \ lib=`${PWD_COMMAND} | sed -e 's,^.*/\([^/][^/]*\)$$,\1,'`; \
for dir in Makefile $(MULTIDIRS); do \ for dir in : $(MULTIDIRS); do \
if [ -f ../$${dir}/$${lib}/Makefile ]; then \ 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)); \ if (cd ../$${dir}/$${lib}; $(MAKE) $(FLAGS_TO_PASS) $(DO)); \
then true; \ then true; \
else exit 1; \ else exit 1; \
@ -605,7 +610,7 @@ mv Makefile.tem ${Makefile}
fi # ${ml_toplevel_p} = yes fi # ${ml_toplevel_p} = yes
if [ "${ml_verbose}" = --verbose ]; then 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 if [ "${ml_toplevel_p}" = yes ]; then
echo "multidirs=${multidirs}" echo "multidirs=${multidirs}"
fi fi
@ -696,7 +701,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
fi fi
ml_origdir=`${PWDCMD-pwd}` 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 to top-level-build-dir/${with_target_subdir}
cd .. cd ..
@ -732,7 +737,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
case ${srcdir} in 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 if [ "${with_target_subdir}" != "." ]; then
ml_unsubdir="../" ml_unsubdir="../"
else else
@ -740,7 +745,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
fi fi
(cd ${ml_dir}/${ml_libdir}; (cd ${ml_dir}/${ml_libdir};
../${dotdot}${ml_unsubdir}symlink-tree ../${dotdot}${ml_unsubdir}${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 if [ x"${MAKE}" = x ]; then
(cd ${ml_dir}/${ml_libdir}; make distclean) (cd ${ml_dir}/${ml_libdir}; make distclean)
else else
@ -797,7 +802,7 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
else else
# Create a regular expression that matches any string as long # Create a regular expression that matches any string as long
# as ML_POPDIR. # as ML_POPDIR.
popdir_rx=`echo ${ML_POPDIR} | sed 's,.,.,g'` popdir_rx=`echo "${ML_POPDIR}" | sed 's,.,.,g'`
CC_= CC_=
for arg in ${CC}; do for arg in ${CC}; do
case $arg in case $arg in
@ -901,11 +906,11 @@ if [ -n "${multidirs}" ] && [ -z "${ml_norecursion}" ]; then
exit 1 exit 1
fi fi
cd ${ML_POPDIR} cd "${ML_POPDIR}"
done done
cd ${ml_origdir} cd "${ml_origdir}"
fi fi
fi # ${ml_toplevel_p} = yes fi # ${ml_toplevel_p} = yes