summaryrefslogtreecommitdiffstats
path: root/config.tests/unix/compile.test
blob: 1228629aeaf1b606e3df64edfbb0436ba9f606b2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/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
QMAKE=$8
QTCONF=$9
shift 9
LFLAGS="$SYSROOT_FLAG"
INCLUDEPATH=""
CFLAGS="$SYSROOT_FLAG"
CXXFLAGS="$SYSROOT_FLAG"
MAC_ARCH_CXXFLAGS=""
MAC_ARCH_LFLAGS=""
QMAKE_ARGS=
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
	;;
    *)
        QMAKE_ARGS="$QMAKE_ARGS $PARAM"
        ;;
    esac
    shift
done

# debuggery
[ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION auto-detection... ($*)"

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 -- \
    "$QMAKE" \
     -qtconf "$QTCONF" \
     -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" \
     $QMAKE_ARGS \
     "$SRCDIR/$TEST/$EXE.pro" \
     -o "$OUTDIR/$TEST/Makefile"
if [ "$VERBOSE" = "yes" ]; then
    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."
    exit 1
else
    [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION enabled."
    exit 0
fi