:
#
# Copyright 1993 Brent Townshend (bst@tc.com)
# Townshend Computer Tools
# Montreal, Quebec
#
# Wed Aug 25 11:38:30 EDT 1993
#
# Revision History: $Log: checkdefined,v $
# Revision 1.3  1994/03/04  15:27:24  bst
# Save all output from C compilation in SysConfig.errs
#
# Revision 1.2  1993/08/27  00:55:51  bst
# Fixed MISSING_ check for include fiels.
#
# Revision 1.1  1993/08/25  18:13:40  bst
# Initial revision
#
#
#
# Check if a symbol is defined in system headers.
# Usage: CheckDefined symbol [headers]
# Returns non-zero exit status if not defined.
# CC, CCFLAGS, and DEFHEADERS must be defined before calling.
# Reads from syscap.new
# Appends to 'SysConfig.errs' and 'syscap.new'
echo $0 $*  >>SysConfig.errs
tmp=checkdefined$$
symbol=$1
shift
{	
    for i in $DEFHEADERS $*
    do
	grep -s "MISSING_`echo $i|tr './' '__'`" syscap.new >/dev/null || echo '#include <'$i'>'
    done
    echo "#ifdef $symbol"
    echo "DEFINED"
    echo "#endif"
} > ${tmp}.c
if $CC $CCFLAGS -c ${tmp}.c >>SysConfig.errs 2>&1
then
    rm -f ${tmp}.*
    exit 1
else
    # It is defined as a macro
    rm -f ${tmp}.*
    echo $n "$symbol+...$c"
    echo "#define HAS_$symbol" >> syscap.new
    echo "#define ISMACRO_$symbol" >>syscap.new
    exit 0
fi
