From f169ca1020886707b04101300e365d79f38a6332 Mon Sep 17 00:00:00 2001 From: hjk Date: Wed, 15 Apr 2009 08:54:36 +0200 Subject: Make ./configure work better with spaces in path names. Quote a few variables that may contain spaces. Also, quote spaces in qmake's Makefile dependency section. Reviewed-by: Friedemann Kleint --- config.tests/unix/objcopy.test | 2 +- configure | 42 ++++++++++++++++++++++-------------------- 2 files changed, 23 insertions(+), 21 deletions(-) diff --git a/config.tests/unix/objcopy.test b/config.tests/unix/objcopy.test index eb2173d..e2051a7 100755 --- a/config.tests/unix/objcopy.test +++ b/config.tests/unix/objcopy.test @@ -1,6 +1,6 @@ #!/bin/sh -TEST_PATH=`dirname $0` +TEST_PATH=`dirname "$0"` SEP_DEBUG_SUPPORT=no COMPILER=$1 QMAKE_OBJCOPY=$2 diff --git a/configure b/configure index 35fbd2d..e0ea0a1 100755 --- a/configure +++ b/configure @@ -735,7 +735,7 @@ CFG_SQL_AVAILABLE= if [ -d "$relpath/src/plugins/sqldrivers" ]; then for a in "$relpath/src/plugins/sqldrivers/"*; do if [ -d "$a" ]; then - base_a=`basename $a` + base_a=`basename "$a"` CFG_SQL_AVAILABLE="${CFG_SQL_AVAILABLE} ${base_a}" eval "CFG_SQL_${base_a}=auto" fi @@ -746,7 +746,7 @@ CFG_DECORATION_PLUGIN_AVAILABLE= if [ -d "$relpath/src/plugins/decorations" ]; then for a in "$relpath/src/plugins/decorations/"*; do if [ -d "$a" ]; then - base_a=`basename $a` + base_a=`basename "$a"` CFG_DECORATION_PLUGIN_AVAILABLE="${CFG_DECORATION_PLUGIN_AVAILABLE} ${base_a}" fi done @@ -756,7 +756,7 @@ CFG_KBD_PLUGIN_AVAILABLE= if [ -d "$relpath/src/plugins/kbddrivers" ]; then for a in "$relpath/src/plugins/kbddrivers/"*; do if [ -d "$a" ]; then - base_a=`basename $a` + base_a=`basename "$a"` CFG_KBD_PLUGIN_AVAILABLE="${CFG_KBD_PLUGIN_AVAILABLE} ${base_a}" fi done @@ -766,7 +766,7 @@ CFG_MOUSE_PLUGIN_AVAILABLE= if [ -d "$relpath/src/plugins/mousedrivers" ]; then for a in "$relpath/src/plugins/mousedrivers/"*; do if [ -d "$a" ]; then - base_a=`basename $a` + base_a=`basename "$a"` CFG_MOUSE_PLUGIN_AVAILABLE="${CFG_MOUSE_PLUGIN_AVAILABLE} ${base_a}" fi done @@ -776,7 +776,7 @@ CFG_GFX_PLUGIN_AVAILABLE= if [ -d "$relpath/src/plugins/gfxdrivers" ]; then for a in "$relpath/src/plugins/gfxdrivers/"*; do if [ -d "$a" ]; then - base_a=`basename $a` + base_a=`basename "$a"` CFG_GFX_PLUGIN_AVAILABLE="${CFG_GFX_PLUGIN_AVAILABLE} ${base_a}" fi done @@ -2125,7 +2125,7 @@ if [ -z "$MAKE" ]; then MAKE= for mk in gmake make; do if "$WHICH" $mk >/dev/null 2>&1; then - MAKE=`$WHICH $mk` + MAKE=`"$WHICH" $mk` break fi done @@ -2663,7 +2663,7 @@ if [ -z "$PKG_CONFIG" ]; then PKG_CONFIG=`getQMakeConf "$XQMAKESPEC" | sed -n -e 's%PKG_CONFIG[^_].*=%%p' | tr '\n' ' '` fi if [ -z "$PKG_CONFIG" ]; then - PKG_CONFIG=`$WHICH pkg-config 2>/dev/null` + PKG_CONFIG=`"$WHICH" pkg-config 2>/dev/null` fi # Work out if we can use pkg-config @@ -4050,9 +4050,9 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; fi [ -f "$in_mkfile" ] || continue - echo "########################################################################" >$mkfile - echo "## This file was autogenerated by configure, all changes will be lost ##" >>$mkfile - echo "########################################################################" >>$mkfile + echo "########################################################################" > "$mkfile" + echo "## This file was autogenerated by configure, all changes will be lost ##" >> "$mkfile" + echo "########################################################################" >> "$mkfile" EXTRA_OBJS= EXTRA_SRCS= EXTRA_CFLAGS="\$(QMAKE_CFLAGS)" @@ -4063,8 +4063,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; EXTRA_LFLAGS="$EXTRA_LFLAGS -lm" fi - [ -n "$CC" ] && echo "CC = $CC" >>$mkfile - [ -n "$CXX" ] && echo "CXX = $CXX" >>$mkfile + [ -n "$CC" ] && echo "CC = $CC" >> "$mkfile" + [ -n "$CXX" ] && echo "CXX = $CXX" >> "$mkfile" if [ "$CFG_SILENT" = "yes" ]; then [ -z "$CC" ] && setBootstrapVariable QMAKE_CC 's,QMAKE_CC.*=,CC=\@,' [ -z "$CXX" ] && setBootstrapVariable QMAKE_CXX 's,QMAKE_CXX.*=,CXX=\@,' @@ -4100,9 +4100,9 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; fi if [ "$PLATFORM_MAC" = "yes" ]; then if [ "$PLATFORM" = "macx-icc" ]; then - echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >>"$mkfile" + echo "export MACOSX_DEPLOYMENT_TARGET = 10.4" >> "$mkfile" else - echo "export MACOSX_DEPLOYMENT_TARGET = 10.3" >>"$mkfile" + echo "export MACOSX_DEPLOYMENT_TARGET = 10.3" >> "$mkfile" fi echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile" echo "CARBON_CFLAGS =-fconstant-cfstrings" >>"$mkfile" @@ -4146,18 +4146,20 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; echo >>"$mkfile" adjrelpath=`echo "$relpath" | sed 's/ /\\\\\\\\ /g'` adjoutpath=`echo "$outpath" | sed 's/ /\\\\\\\\ /g'` + adjqmakespec=`echo "$QMAKESPEC" | sed 's/ /\\\\\\\\ /g'` sed -e "s,@SOURCE_PATH@,$adjrelpath,g" -e "s,@BUILD_PATH@,$adjoutpath,g" \ -e "s,@QMAKE_CFLAGS@,$EXTRA_CFLAGS,g" -e "s,@QMAKE_LFLAGS@,$EXTRA_LFLAGS,g" \ -e "s,@QMAKE_CXXFLAGS@,$EXTRA_CXXFLAGS,g" \ -e "s,@QT_INSTALL_BINS@,\$(INSTALL_ROOT)$QMAKE_BIN_DIR,g" \ -e "s,@QT_INSTALL_DATA@,\$(INSTALL_ROOT)$QMAKE_DATA_DIR,g" \ -e "s,@QMAKE_QTOBJS@,$EXTRA_OBJS,g" -e "s,@QMAKE_QTSRCS@,$EXTRA_SRCS,g" \ - -e "s,@QMAKESPEC@,$QMAKESPEC,g" "$in_mkfile" >>"$mkfile" + -e "s,@QMAKESPEC@,$adjqmakespec,g" "$in_mkfile" >>"$mkfile" if "$WHICH" makedepend >/dev/null 2>&1 && grep 'depend:' "$mkfile" >/dev/null 2>&1; then (cd "$outpath/qmake" && "$MAKE" -f "$mkfile" depend) >/dev/null 2>&1 - sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"${mkfile}.tmp" - mv "${mkfile}.tmp" "${mkfile}" + sed "s,^.*/\([^/]*.o\):,\1:,g" "$mkfile" >"$mkfile.tmp" + sed "s,$outpath,$adjoutpath,g" "$mkfile.tmp" >"$mkfile" + rm "$mkfile.tmp" fi done @@ -4326,7 +4328,7 @@ for _SQLDR in $CFG_SQL_AVAILABLE; do case $_SQLDR in mysql) if [ "$CFG_SQL_mysql" != "no" ]; then - [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`$WHICH mysql_config` + [ -z "$CFG_MYSQL_CONFIG" ] && CFG_MYSQL_CONFIG=`"$WHICH" mysql_config` if [ -x "$CFG_MYSQL_CONFIG" ]; then QT_CFLAGS_MYSQL=`$CFG_MYSQL_CONFIG --include 2>/dev/null` QT_LFLAGS_MYSQL_R=`$CFG_MYSQL_CONFIG --libs_r 2>/dev/null` @@ -7136,7 +7138,7 @@ for file in .projects .projects.3; do *tools/bootstrap*|*tools/moc*|*tools/rcc*|*tools/uic*) SPEC=$QMAKESPEC ;; *) SPEC=$XQMAKESPEC ;; esac - dir=`dirname $a | sed -e "s;$sepath;.;g"` + dir=`dirname "$a" | sed -e "s;$sepath;.;g"` test -d "$dir" || mkdir -p "$dir" OUTDIR="$outpath/$dir" if [ -f "${OUTDIR}/Makefile" ] && [ "$OPT_FAST" = "yes" ]; then @@ -7279,7 +7281,7 @@ if [ -n "$RPATH_MESSAGE" ]; then echo "$RPATH_MESSAGE" fi -MAKE=`basename $MAKE` +MAKE=`basename "$MAKE"` echo echo Qt is now configured for building. Just run \'$MAKE\'. if [ "$relpath" = "$QT_INSTALL_PREFIX" ]; then -- cgit v0.12