diff --git a/configure.inc b/configure.inc index 7bb335f..705128b 100755 --- a/configure.inc +++ b/configure.inc @@ -183,27 +183,33 @@ AC_CHECK_HEADERS () { AC_CHECK_FUNCS () { AC_PROG_CC -F=$1 -shift -rm -f /tmp/ngc$$.c + B=`echo "$1" | sed -e 's/(.*)//'` + + case "$B" in + "$1") F="$1()" ;; + *) F="$1" ;; + esac -while [ "$1" ]; do - echo "#include <$1>" >> /tmp/ngc$$.c shift -done + rm -f /tmp/ngc$$.c + + while [ "$1" ]; do + echo "#include <$1>" >> /tmp/ngc$$.c + shift + done cat >> /tmp/ngc$$.c << EOF main() { - $F(); + $F; } EOF - LOGN "looking for the $F function" + LOGN "looking for the $B function" if $AC_CC -o /tmp/ngc$$ /tmp/ngc$$.c $LIBS; then - AC_DEFINE `echo ${2:-HAVE_$F} | $AC_UPPERCASE` 1 + AC_DEFINE `echo ${2:-HAVE_$B} | $AC_UPPERCASE` 1 TLOG " (found)" rc=0 else diff --git a/configure.sh b/configure.sh index 50cd259..caf2c8a 100755 --- a/configure.sh +++ b/configure.sh @@ -76,6 +76,14 @@ else AC_DEFINE 'INITRNG(x)' '(void)1' fi +if AC_CHECK_FUNCS 'bzero((char*)0,0)'; then + : # Yay +elif AC_CHECK_FUNCS 'memset((char*)0,0,0)'; then + AC_DEFINE 'bzero(p,s)' 'memset(p,s,0)' +else + AC_FAIL "$TARGET requires bzero or memset" +fi + if AC_CHECK_FUNCS random; then AC_DEFINE 'COINTOSS()' '(random()&1)' elif AC_CHECK_FUNCS rand; then