8d5b1bdca8
The "checking for xxx... [yes|no]" is chosen so that it matches exactly what GNU Autoconf does. That way, any tools that parse the output will have less trouble. This feature is useful for us when debugging a build, as not all checks produce output in the configure summary. Change-Id: Id75834dab9ed466e94c7ffff14456edb646a1ced Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
103 lines
2.3 KiB
Bash
Executable File
103 lines
2.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
SUCCESS=no
|
|
QMKSPEC=$1
|
|
XPLATFORM=`basename "$1"`
|
|
QMAKE_CONFIG=$2
|
|
VERBOSE=$3
|
|
SRCDIR=$4
|
|
OUTDIR=$5
|
|
TEST=$6
|
|
EXE=`basename "$6"`
|
|
DESCRIPTION=$7
|
|
shift 7
|
|
LFLAGS="$SYSROOT_FLAG"
|
|
INCLUDEPATH=""
|
|
CFLAGS="$SYSROOT_FLAG"
|
|
CXXFLAGS="$SYSROOT_FLAG"
|
|
MAC_ARCH_CXXFLAGS=""
|
|
MAC_ARCH_LFLAGS=""
|
|
while [ "$#" -gt 0 ]; do
|
|
PARAM=$1
|
|
case $PARAM in
|
|
-config)
|
|
QMAKE_CONFIG="$QMAKE_CONFIG $2"
|
|
shift
|
|
;;
|
|
-framework)
|
|
LFLAGS="$LFLAGS -framework \"$2\""
|
|
shift
|
|
;;
|
|
-arch)
|
|
MAC_ARCH_CFLAGS="$MAC_ARCH_CFLAGS -arch $2"
|
|
MAC_ARCH_CXXFLAGS="$MAC_ARCH_CXXFLAGS -arch $2"
|
|
MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2"
|
|
shift
|
|
;;
|
|
-F*|-m*|-x*)
|
|
LFLAGS="$LFLAGS \"$PARAM\""
|
|
CFLAGS="$CFLAGS \"$PARAM\""
|
|
CXXFLAGS="$CXXFLAGS \"$PARAM\""
|
|
;;
|
|
-L*|-l*|-pthread)
|
|
LFLAGS="$LFLAGS \"$PARAM\""
|
|
;;
|
|
-I*)
|
|
INC=`echo $PARAM | sed -e 's/^-I//'`
|
|
INCLUDEPATH="$INCLUDEPATH \"$INC\""
|
|
;;
|
|
-f*|-D*)
|
|
CFLAGS="$CFLAGS \"$PARAM\""
|
|
CXXFLAGS="$CXXFLAGS \"$PARAM\""
|
|
;;
|
|
-Qoption)
|
|
# Two-argument form for the Sun Compiler
|
|
CFLAGS="$CFLAGS $PARAM \"$2\""
|
|
CXXFLAGS="$CXXFLAGS $PARAM \"$2\""
|
|
shift
|
|
;;
|
|
*) ;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
|
|
|
|
cd "$OUTDIR/$TEST"
|
|
|
|
test -r Makefile && $MAKE distclean >/dev/null 2>&1
|
|
# Make sure output from possible previous tests is gone
|
|
rm -f "$EXE" "${EXE}.exe"
|
|
|
|
set -- \
|
|
"$OUTDIR/bin/qmake" \
|
|
-nocache \
|
|
-spec "$QMKSPEC" \
|
|
"CONFIG+=$QMAKE_CONFIG" \
|
|
"CONFIG+=android_app" \
|
|
"CONFIG-=debug_and_release app_bundle lib_bundle" \
|
|
"LIBS+=$LFLAGS" \
|
|
"LIBS+=$MAC_ARCH_LFLAGS" \
|
|
"INCLUDEPATH*=$INCLUDEPATH" \
|
|
"QMAKE_CFLAGS*=$CFLAGS" \
|
|
"QMAKE_CFLAGS+=$MAC_ARCH_CFLAGS" \
|
|
"QMAKE_CXXFLAGS*=$CXXFLAGS" \
|
|
"QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" \
|
|
"$SRCDIR/$TEST/$EXE.pro" \
|
|
-o "$OUTDIR/$TEST/Makefile"
|
|
if [ "$VERBOSE" = "yes" ]; then
|
|
echo
|
|
OUTDIR=$OUTDIR "$@" && $MAKE && SUCCESS=yes
|
|
else
|
|
OUTDIR=$OUTDIR "$@" >/dev/null 2>&1 && $MAKE >/dev/null 2>&1 && SUCCESS=yes
|
|
fi
|
|
|
|
# done
|
|
if [ "$SUCCESS" != "yes" ]; then
|
|
[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION disabled." || echo " no."
|
|
exit 1
|
|
else
|
|
[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION enabled." || echo " yes."
|
|
exit 0
|
|
fi
|