# update OS dependent defines

if [ $# -lt 1 ]
then
	echo 'illegal numer of parameters' >&2
	exit 1
fi

fname=$1
shift

for flag in $*
do
	echo "#undef ${flag}"
	echo "#define ${flag}"
done > ${fname}.upd

sed -e '1,/@@OS_DEP_BEGIN@@/d;/@@OS_DEP_END@@/,$d' ${fname} > ${fname}.cur
cmp -s ${fname}.cur ${fname}.upd
res=$?

if [ ${res} -ne 1 ]
then
	rm -f ${fname}.cur ${fname}.upd
	exit ${res}
fi

sed -e '1,/@@OS_DEP_BEGIN@@/{
		/@@OS_DEP_BEGIN@@/r '${fname}.upd'
		b
	}
	/@@OS_DEP_END@@/,$b
	d' ${fname} > ${fname}.tmp

mv -f ${fname}.tmp ${fname}
rm -f ${fname}.cur ${fname}.upd

exit 0
