#!/bin/sh

test -f $PLAN9/config && . $PLAN9/config
usegcc()
{
	cc=gcc
	ngflags=" \
		-O2 \
		-c \
		-Wall \
		-Wno-parentheses \
		-Wno-missing-braces \
		-Wno-switch \
		-Wno-comment \
		-Wno-sign-compare \
		-Wno-unknown-pragmas \
		-fno-omit-frame-pointer \
	"
	# want to put -fno-optimize-sibling-calls here but
	# that option only works with gcc3+ it seems
	cflags="$ngflags -ggdb"
}

tag="${SYSNAME:-`uname`}-${OBJTYPE:-`uname -m`}-${CC9:-cc}"
case "$tag" in
*BSD*)	usegcc ;;
*Darwin*)	usegcc 
		cflags="$ngflags -g3 -no-cpp-precomp" ;;
*HP-UX*)	cc=cc; cflags="-g -O -c -Ae" ;;
*Linux*)	usegcc 
		case "${SYSVERSION:-`uname -r`}" in
		2.6.*)
			cflags="$cflags -D__Linux26__"
			;;
		esac
		;;
*OSF1*)		cc=cc; cflags="-g -O -c" ;;
*SunOS*-cc)	cc=cc;
		cflags="-mt -g -O -c -xCC -D__sun__" 
		u=`uname`
		v=`uname -r`
		s=`echo $u$v | tr '. ' '__'`
		cflags="$cflags -D__${s}__"
		;;
*SunOS*-gcc)	usegcc
		u=`uname`
		v=`uname -r`
		s=`echo $u$v | tr '. ' '__'`
		cflags="$ngflags -g"
		cflags="$cflags -D__${s}__"
		;;
*)
	echo 9c does not know how to compile on "$tag" 1>&2
	exit 1
esac

# N.B. Must use temp file to avoid pipe; pipe loses status.
# The uniq at the end is for gcc's strcmp/etc. built-in nonsense,
# which multiplies single errors as a result of its expansion.
xtmp=/tmp/9c.$$.$USER.out
$cc -DPLAN9PORT -I$PLAN9/include $cflags "$@" >$xtmp 2>&1
status=$?
grep -v '__p9l_autolib_' $xtmp |
egrep -v ': error: .Each undeclared identifier|: error: for each function it appears|: In function `|: At top level:' |
sed 's/ .first use in this function.$//; s/\"\([^\"][^\"]*\)\", line \([0-9][0-9]*\)/\1:\2/g' |
uniq
rm -f $xtmp $xtmp.status
exit $status
