#!/bin/sh

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
