#!/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 "${CC9:-gcc}" in
		tcc)
			cc=tcc
			cflags="-c -g"
			;;
		esac
		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 "$@" 2>$xtmp
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 1>&2
rm -f $xtmp $xtmp.status
exit $status
