config.tests/unix/compile.test
changeset 0 1918ee327afb
child 33 3e2da88830cd
equal deleted inserted replaced
-1:000000000000 0:1918ee327afb
       
     1 #!/bin/sh
       
     2 
       
     3 SUCCESS=no
       
     4 QMKSPEC=$1
       
     5 XPLATFORM=`basename "$1"`
       
     6 QMAKE_CONFIG=$2
       
     7 VERBOSE=$3
       
     8 SRCDIR=$4
       
     9 OUTDIR=$5
       
    10 TEST=$6
       
    11 EXE=`basename "$6"`
       
    12 DESCRIPTION=$7
       
    13 shift 7
       
    14 LFLAGS=""
       
    15 INCLUDEPATH=""
       
    16 CXXFLAGS=""
       
    17 MAC_ARCH_CXXFLAGS=""
       
    18 MAC_ARCH_LFLAGS=""
       
    19 while [ "$#" -gt 0 ]; do
       
    20     PARAM=$1
       
    21     case $PARAM in
       
    22     -framework)
       
    23         LFLAGS="$LFLAGS -framework \"$2\""
       
    24         shift
       
    25         ;;
       
    26     -arch)
       
    27         MAC_ARCH_CXXFLAGS="$MAC_ARCH_CXXFLAGS -arch $2"
       
    28         MAC_ARCH_LFLAGS="$MAC_ARCH_LFLAGS -arch $2"
       
    29         shift
       
    30         ;;
       
    31     -sdk)
       
    32         LFLAGS="$LFLAGS -Wl,-syslibroot,$2"
       
    33         CXXFLAGS="$CXXFLAGS -isysroot $2"
       
    34         shift
       
    35         ;;
       
    36     -F*|-m*|-x*)
       
    37         LFLAGS="$LFLAGS $PARAM"
       
    38         CXXFLAGS="$CXXFLAGS $PARAM"
       
    39         ;;
       
    40     -L*|-l*|-pthread)
       
    41 	LFLAGS="$LFLAGS $PARAM"
       
    42 	;;
       
    43     -I*)
       
    44         INC=`echo $PARAM | sed -e 's/^-I//'`
       
    45         INCLUDEPATH="$INCLUDEPATH $INC"
       
    46         ;;
       
    47     -f*|-D*)
       
    48         CXXFLAGS="$CXXFLAGS $PARAM"
       
    49         ;;
       
    50     -Qoption)
       
    51 	# Two-argument form for the Sun Compiler
       
    52 	CXXFLAGS="$CXXFLAGS $PARAM \"$2\""
       
    53 	shift
       
    54 	;;
       
    55     *)  ;;
       
    56     esac
       
    57     shift
       
    58 done
       
    59 
       
    60 # debuggery
       
    61 [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION auto-detection... ($*)"
       
    62 
       
    63 test -d "$OUTDIR/$TEST" || mkdir -p "$OUTDIR/$TEST"
       
    64 
       
    65 cd "$OUTDIR/$TEST"
       
    66 
       
    67 test -r Makefile && $MAKE distclean >/dev/null 2>&1
       
    68 
       
    69 "$OUTDIR/bin/qmake" -nocache -spec "$QMKSPEC" "CONFIG+=$QMAKE_CONFIG" "LIBS*=$LFLAGS" "LIBS+=$MAC_ARCH_LFLAGS" "INCLUDEPATH*=$INCLUDEPATH" "QMAKE_CXXFLAGS*=$CXXFLAGS" "QMAKE_CXXFLAGS+=$MAC_ARCH_CXXFLAGS" "$SRCDIR/$TEST/$EXE.pro" -o "$OUTDIR/$TEST/Makefile"
       
    70 
       
    71 if [ "$VERBOSE" = "yes" ]; then
       
    72     $MAKE
       
    73 else
       
    74     $MAKE >/dev/null 2>&1
       
    75 fi
       
    76 
       
    77 [ -x "$EXE" ] && SUCCESS=yes
       
    78 
       
    79 # done
       
    80 if [ "$SUCCESS" != "yes" ]; then
       
    81     [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION disabled."
       
    82     exit 1
       
    83 else
       
    84     [ "$VERBOSE" = "yes" ] && echo "$DESCRIPTION enabled."
       
    85     exit 0
       
    86 fi