From c6b91576a6fbb45449261e48a72ad9a24e41bf3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=BCrgen=20Hunold?= Date: Tue, 7 Jan 2014 08:17:57 +0100 Subject: [PATCH] Use custom -I,-D and -L flags when building arch-test Needed for using alternate stdlib implementation like libc++ with clang. Change-Id: I1782f62f5e2ea95e6cff8a1ed646362c0a31645c Reviewed-by: Thiago Macieira Reviewed-by: Oswald Buddenhagen --- config.tests/unix/arch.test | 20 +++++++++++++++++++- configure | 4 ++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/config.tests/unix/arch.test b/config.tests/unix/arch.test index 529ed5e547..7b1c01ce28 100755 --- a/config.tests/unix/arch.test +++ b/config.tests/unix/arch.test @@ -19,6 +19,24 @@ fi LFLAGS="$SYSROOT_FLAG" CXXFLAGS="$SYSROOT_FLAG" +while [ "$#" -gt 0 ]; do + PARAM=$1 + case $PARAM in + -L*|-l*) + LFLAGS="$LFLAGS $PARAM" + ;; + -I*) + INC=`echo $PARAM | sed -e 's/^-I//'` + INCLUDEPATH="$INCLUDEPATH $INC" + ;; + -D*) + CXXFLAGS="$CXXFLAGS $PARAM" + ;; + *) ;; + esac + shift +done + # debuggery [ "$VERBOSE" = "yes" ] && echo "Determining architecture... ($*)" @@ -26,7 +44,7 @@ CXXFLAGS="$SYSROOT_FLAG" test -d "$OUTDIR/config.tests/arch" || mkdir -p "$OUTDIR/config.tests/arch" cd "$OUTDIR/config.tests/arch" [ -f Makefile ] && $MAKE distclean >/dev/null 2>&1 -OUTDIR=$OUTDIR "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "LIBS+=$LFLAGS" "QMAKE_CXXFLAGS+=$CXXFLAGS" "CONFIG-=app_bundle" "$SRCDIR/config.tests/arch/arch$PROSUFFIX.pro" >/dev/null 2>&1 || echo "qmake is broken" >&2 +OUTDIR=$OUTDIR "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "LIBS+=$LFLAGS" "QMAKE_CXXFLAGS+=$CXXFLAGS" "INCLUDEPATH+=$INCLUDEPATH" "CONFIG-=app_bundle" "$SRCDIR/config.tests/arch/arch$PROSUFFIX.pro" >/dev/null 2>&1 || echo "qmake is broken" >&2 ARCH="" diff --git a/configure b/configure index b16b79fa81..aaa59bdf17 100755 --- a/configure +++ b/configure @@ -4153,7 +4153,7 @@ compileTest() # Use config.tests/arch/arch.pro to have the compiler tell us what the target architecture is OUTFILE=$outpath/arch.result -"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "target" +"$unixtests/arch.test" "$XQMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "target" $I_FLAGS $D_FLAGS $L_FLAGS if [ $? -eq 0 ]; then eval `cat "$OUTFILE"` else @@ -4166,7 +4166,7 @@ rm -f "$OUTFILE" 2>/dev/null if [ "$QMAKESPEC" != "$XQMAKESPEC" ]; then # Do the same test again, using the host compiler - SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "host" + SYSROOT_FLAG= "$unixtests/arch.test" "$QMAKESPEC" $OPT_VERBOSE "$relpath" "$outpath" "$OUTFILE" "host" $I_FLAGS $D_FLAGS $L_FLAGS if [ $? -eq 0 ]; then eval `cat "$OUTFILE"` else