summaryrefslogtreecommitdiffstats
path: root/config.tests/mac/mac_version.test
blob: ae9e707e1121a1e6ead7fbd3045ee4b99fd48f12 (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
#!/bin/sh

HOME=/dev/null
export HOME

VERBOSE=$1
SRCDIR=$2
OUTDIR=$3

# debuggery
[ "$VERBOSE" = "yes" ] && echo "Testing Mac version..." >&2

# build a test program
test -d $OUTDIR/config.tests/mac/ || mkdir -p $OUTDIR/config.tests/mac/
cd $OUTDIR/config.tests/mac
#TSTFILE=$OUTDIR/config.tests/mac/mac_version.cpp
TSTFILE=mac_version.cpp

rm -f $TSTFILE
echo "#include <Carbon/Carbon.h>" >$TSTFILE
echo "#include <stdio.h>" >>$TSTFILE
echo "int main() {" >>$TSTFILE
echo "  long gestalt_version;" >>$TSTFILE
echo "  fprintf(stdout, \"%d\\n\", (Gestalt(gestaltSystemVersion, &gestalt_version) == noErr) ? gestalt_version : 0);" >>$TSTFILE
echo "  return 1;" >>$TSTFILE
echo "}" >>$TSTFILE

COMPILE_ERROR=yes
if [ "$VERBOSE" = "yes" ]; then
    c++ $TSTFILE -o tst_mac_version -framework Carbon >&2 && COMPILE_ERROR=no
else
    c++ $TSTFILE -o tst_mac_version -framework Carbon >/dev/null 2>&1 && COMPILE_ERROR=no
fi

# done
if [ "$COMPILE_ERROR" = "yes" ]; then
    [ "$VERBOSE" = "yes" ] && echo "Mac version cannot be detected!" >&2
    exit 1
else
    MAC_VERSION=`./tst_mac_version`
    [ "$VERBOSE" = "yes" ] && echo "Mac version set to: $MAC_VERSION." >&2
    echo $MAC_VERSION
    exit 0
fi