2000-04-17 13:49:40 +00:00
|
|
|
dnl Macros beginning with CF_ stolen from Lynx
|
|
|
|
dnl Thanks to "T.E.Dickey" <dickey@clark.net>
|
|
|
|
|
2000-04-17 11:36:29 +00:00
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Make an uppercase version of a variable
|
|
|
|
dnl $1=uppercase($2)
|
|
|
|
AC_DEFUN([CF_UPPER],
|
|
|
|
[
|
|
|
|
changequote(,)dnl
|
|
|
|
$1=`echo $2 | tr '[a-z]' '[A-Z]'`
|
|
|
|
changequote([,])dnl
|
|
|
|
])dnl
|
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Check for existence of external data in the current set of libraries. If
|
|
|
|
dnl we can modify it, it's real enough.
|
|
|
|
dnl $1 = the name to check
|
|
|
|
dnl $2 = its type
|
|
|
|
AC_DEFUN([CF_CHECK_EXTERN_DATA],
|
|
|
|
[
|
|
|
|
AC_MSG_CHECKING(if external $1 exists)
|
|
|
|
AC_CACHE_VAL(cf_cv_have_$1,[
|
|
|
|
AC_TRY_LINK([
|
|
|
|
#undef $1
|
|
|
|
extern $2 $1;
|
|
|
|
],
|
|
|
|
[$1 = 2],
|
|
|
|
[eval 'cf_cv_have_'$1'=yes'],
|
|
|
|
[eval 'cf_cv_have_'$1'=no'])])
|
|
|
|
|
|
|
|
eval 'cf_result=$cf_cv_have_'$1
|
|
|
|
AC_MSG_RESULT($cf_result)
|
|
|
|
|
|
|
|
if test "$cf_result" = yes ; then
|
|
|
|
eval 'cf_result=HAVE_'$1
|
|
|
|
CF_UPPER(cf_result,$cf_result)
|
|
|
|
AC_DEFINE_UNQUOTED($cf_result)
|
|
|
|
fi
|
|
|
|
|
|
|
|
])dnl
|
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Check for data that is usually declared in <stdio.h> or <errno.h>, e.g.,
|
|
|
|
dnl the 'errno' variable. Define a DECL_xxx symbol if we must declare it
|
|
|
|
dnl ourselves.
|
|
|
|
dnl
|
|
|
|
dnl (I would use AC_CACHE_CHECK here, but it will not work when called in a
|
|
|
|
dnl loop from CF_SYS_ERRLIST).
|
|
|
|
dnl
|
|
|
|
dnl $1 = the name to check
|
|
|
|
AC_DEFUN([CF_CHECK_ERRNO],
|
|
|
|
[
|
|
|
|
AC_MSG_CHECKING(if external $1 is declared)
|
|
|
|
AC_CACHE_VAL(cf_cv_dcl_$1,[
|
|
|
|
AC_TRY_COMPILE([
|
|
|
|
#ifdef HAVE_STDLIB_H
|
|
|
|
#include <stdlib.h>
|
|
|
|
#endif
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include <errno.h> ],
|
|
|
|
[long x = (long) $1],
|
|
|
|
[eval 'cf_cv_dcl_'$1'=yes'],
|
|
|
|
[eval 'cf_cv_dcl_'$1'=no]')
|
|
|
|
])
|
|
|
|
eval 'cf_result=$cf_cv_dcl_'$1
|
|
|
|
AC_MSG_RESULT($cf_result)
|
|
|
|
|
|
|
|
if test "$cf_result" = no ; then
|
|
|
|
eval 'cf_result=DECL_'$1
|
|
|
|
CF_UPPER(cf_result,$cf_result)
|
|
|
|
AC_DEFINE_UNQUOTED($cf_result)
|
|
|
|
fi
|
|
|
|
|
|
|
|
# It's possible (for near-UNIX clones) that the data doesn't exist
|
|
|
|
CF_CHECK_EXTERN_DATA($1,int)
|
|
|
|
])dnl
|
|
|
|
|
|
|
|
dnl ---------------------------------------------------------------------------
|
|
|
|
dnl Check for declaration of sys_nerr and sys_errlist in one of stdio.h and
|
|
|
|
dnl errno.h. Declaration of sys_errlist on BSD4.4 interferes with our
|
|
|
|
dnl declaration. Reported by Keith Bostic.
|
|
|
|
AC_DEFUN([CF_SYS_ERRLIST],
|
|
|
|
[
|
|
|
|
for cf_name in sys_nerr sys_errlist
|
|
|
|
do
|
|
|
|
CF_CHECK_ERRNO($cf_name)
|
|
|
|
done
|
|
|
|
])dnl
|
|
|
|
|