summaryrefslogtreecommitdiffstats
path: root/config.tests/unix
diff options
context:
space:
mode:
Diffstat (limited to 'config.tests/unix')
-rwxr-xr-xconfig.tests/unix/arch.test41
1 files changed, 41 insertions, 0 deletions
diff --git a/config.tests/unix/arch.test b/config.tests/unix/arch.test
new file mode 100755
index 0000000000..2a6e12de56
--- /dev/null
+++ b/config.tests/unix/arch.test
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+QMKSPEC=$1
+VERBOSE=$2
+SRCDIR=$3
+OUTDIR=$4
+RESULTFILE=$5
+
+# debuggery
+[ "$VERBOSE" = "yes" ] && echo "Determining architecture... ($*)"
+
+# build a test program but don't run it
+test -d "$OUTDIR/config.tests/arch" || mkdir -p "$OUTDIR/config.tests/arch"
+[ -f Makefile ] && $MAKE distclean >/dev/null 2>&1
+"$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "QT_BUILD_TREE=$OUTDIR" "LIBS+=$SYSROOT_FLAG" "QMAKE_CXXFLAGS+=$SYSROOT_FLAG" "$SRCDIR/config.tests/arch/arch.pro" -o "$OUTDIR/config.tests/arch/Makefile" >/dev/null 2>&1 || echo "qmake is broken" >&2
+cd "$OUTDIR/config.tests/arch"
+
+
+ARCH=""
+[ "$VERBOSE" = "yes" ] && $MAKE || $MAKE >/dev/null 2>&1
+
+if [ -f ./arch.exe ]; then
+ binary=./arch.exe
+elif [ -f ./arch ]; then
+ binary=./arch
+else
+ [ "$VERBOSE" = "yes" ] && echo "Unable to determine architecture!"
+ exit 2
+fi
+
+ARCH=`strings - $binary 2>/dev/null | awk -F: '/==Qt=magic=Qt==/ { print $2 }'` ||
+{
+ [ "$VERBOSE" = "yes" ] && echo "Unable to determine architecture!"
+ exit 2
+}
+
+$MAKE distclean >/dev/null 2>&1
+
+[ "$VERBOSE" = "yes" ] && echo " Found '$ARCH' in binary"
+
+echo "$ARCH" > $5