You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
45 lines
1.2 KiB
45 lines
1.2 KiB
#!/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
|