diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2007-11-29 15:36:39 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gnu.org> | 2007-11-29 15:36:39 +0000 |
commit | 6ac84f65c22563675d0c3153db167db8f99df6f9 (patch) | |
tree | 4624245b9f5f72deee6b8887f7c8f5e5be46e463 /config-ml.in | |
parent | 350cc38db21f1cd651a6d46687542a0fce5e0303 (diff) | |
download | binutils-6ac84f65c22563675d0c3153db167db8f99df6f9.zip binutils-6ac84f65c22563675d0c3153db167db8f99df6f9.tar.gz binutils-6ac84f65c22563675d0c3153db167db8f99df6f9.tar.bz2 |
2007-11-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* config-ml.in: Robustify against white space in absolute file
names.
Diffstat (limited to 'config-ml.in')
-rw-r--r-- | config-ml.in | 29 |
1 files changed, 17 insertions, 12 deletions
diff --git a/config-ml.in b/config-ml.in index cc9cf66..9adc9e0 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 <<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 |