mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-22 11:17:19 +00:00
2684 lines
65 KiB
Plaintext
2684 lines
65 KiB
Plaintext
# Copyright (C) 2004-2007 Internet Systems Consortium, Inc. ("ISC")
|
|
# Copyright (C) 2001, 2003 Internet Software Consortium.
|
|
#
|
|
# Permission to use, copy, modify, and/or distribute this software for any
|
|
# purpose with or without fee is hereby granted, provided that the above
|
|
# copyright notice and this permission notice appear in all copies.
|
|
#
|
|
# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
|
|
# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
|
|
# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
# PERFORMANCE OF THIS SOFTWARE.
|
|
|
|
AC_REVISION($Revision: 1.90.18.34 $)
|
|
|
|
AC_INIT(resolv/herror.c)
|
|
AC_PREREQ(2.13)
|
|
|
|
AC_CONFIG_HEADER(config.h)
|
|
|
|
AC_CANONICAL_HOST
|
|
|
|
AC_PROG_MAKE_SET
|
|
AC_PROG_RANLIB
|
|
AC_PROG_INSTALL
|
|
|
|
AC_SUBST(STD_CINCLUDES)
|
|
AC_SUBST(STD_CDEFINES)
|
|
AC_SUBST(STD_CWARNINGS)
|
|
AC_SUBST(CCOPT)
|
|
|
|
AC_PATH_PROG(AR, ar)
|
|
ARFLAGS="cruv"
|
|
AC_SUBST(AR)
|
|
AC_SUBST(ARFLAGS)
|
|
|
|
# The POSIX ln(1) program. Non-POSIX systems may substitute
|
|
# "copy" or something.
|
|
LN=ln
|
|
AC_SUBST(LN)
|
|
|
|
case "$AR" in
|
|
"")
|
|
AC_MSG_ERROR([
|
|
ar program not found. Please fix your PATH to include the directory in
|
|
which ar resides, or set AR in the environment with the full path to ar.
|
|
])
|
|
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Etags.
|
|
#
|
|
AC_PATH_PROGS(ETAGS, etags emacs-etags)
|
|
|
|
#
|
|
# Some systems, e.g. RH7, have the Exuberant Ctags etags instead of
|
|
# GNU emacs etags, and it requires the -L flag.
|
|
#
|
|
if test "X$ETAGS" != "X"; then
|
|
AC_MSG_CHECKING(for Exuberant Ctags etags)
|
|
if $ETAGS --version 2>&1 | grep 'Exuberant Ctags' >/dev/null 2>&1; then
|
|
AC_MSG_RESULT(yes)
|
|
ETAGS="$ETAGS -L"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
fi
|
|
AC_SUBST(ETAGS)
|
|
|
|
#
|
|
# Perl is optional; it is used only by some of the system test scripts.
|
|
#
|
|
AC_PATH_PROGS(PERL, perl5 perl)
|
|
AC_SUBST(PERL)
|
|
|
|
#
|
|
# isc/list.h and others clash with the rest of BIND 9
|
|
#
|
|
case "$includedir" in
|
|
'${prefix}/include')
|
|
includedir='${prefix}/bind/include'
|
|
;;
|
|
esac
|
|
case "$libdir" in
|
|
'${prefix}/lib')
|
|
libdir='${prefix}/bind/lib'
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Make sure INSTALL uses an absolute path, else it will be wrong in all
|
|
# Makefiles, since they use make/rules.in and INSTALL will be adjusted by
|
|
# configure based on the location of the file where it is substituted.
|
|
# Since in BIND9 INSTALL is only substituted into make/rules.in, an immediate
|
|
# subdirectory of install-sh, This relative path will be wrong for all
|
|
# directories more than one level down from install-sh.
|
|
#
|
|
case "$INSTALL" in
|
|
/*)
|
|
;;
|
|
*)
|
|
#
|
|
# Not all systems have dirname.
|
|
#
|
|
changequote({, })
|
|
ac_dir="`echo $INSTALL | sed 's%/[^/]*$%%'`"
|
|
changequote([, ])
|
|
|
|
ac_prog="`echo $INSTALL | sed 's%.*/%%'`"
|
|
test "$ac_dir" = "$ac_prog" && ac_dir=.
|
|
test -d "$ac_dir" && ac_dir="`(cd \"$ac_dir\" && pwd)`"
|
|
INSTALL="$ac_dir/$ac_prog"
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# On these hosts, we really want to use cc, not gcc, even if it is
|
|
# found. The gcc that these systems have will not correctly handle
|
|
# pthreads.
|
|
#
|
|
# However, if the user sets $CC to be something, let that override
|
|
# our change.
|
|
#
|
|
if test "X$CC" = "X" ; then
|
|
case "$host" in
|
|
*-dec-osf*)
|
|
CC="cc"
|
|
;;
|
|
*-solaris*)
|
|
# Use Sun's cc if it is available, but watch
|
|
# out for /usr/ucb/cc; it will never be the right
|
|
# compiler to use.
|
|
#
|
|
# If setting CC here fails, the AC_PROG_CC done
|
|
# below might still find gcc.
|
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
|
|
for ac_dir in $PATH; do
|
|
test -z "$ac_dir" && ac_dir=.
|
|
case "$ac_dir" in
|
|
/usr/ucb)
|
|
# exclude
|
|
;;
|
|
*)
|
|
if test -f "$ac_dir/cc"; then
|
|
CC="$ac_dir/cc"
|
|
break
|
|
fi
|
|
;;
|
|
esac
|
|
done
|
|
IFS="$ac_save_ifs"
|
|
;;
|
|
*-hp-hpux*)
|
|
CC="cc"
|
|
;;
|
|
mips-sgi-irix*)
|
|
CC="cc"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
|
|
AC_PROG_CC
|
|
|
|
AC_HEADER_STDC
|
|
|
|
|
|
AC_CHECK_HEADERS(fcntl.h db.h paths.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/timers.h stropts.h)
|
|
|
|
AC_C_CONST
|
|
AC_C_INLINE
|
|
AC_TYPE_SIZE_T
|
|
AC_CHECK_TYPE(ssize_t,signed)
|
|
AC_CHECK_TYPE(uintptr_t,unsigned long)
|
|
AC_HEADER_TIME
|
|
#
|
|
# check if we need to #include sys/select.h explicitly
|
|
#
|
|
case $ac_cv_header_unistd_h in
|
|
yes)
|
|
AC_MSG_CHECKING(if unistd.h defines fd_set)
|
|
AC_TRY_COMPILE([
|
|
#include <unistd.h>],
|
|
[fd_set read_set; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#undef ISC_PLATFORM_NEEDSYSSELECTH"
|
|
],
|
|
[AC_MSG_RESULT(no)
|
|
case ac_cv_header_sys_select_h in
|
|
yes)
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
|
|
;;
|
|
no)
|
|
AC_MSG_ERROR([need either working unistd.h or sys/select.h])
|
|
;;
|
|
esac
|
|
])
|
|
;;
|
|
no)
|
|
case ac_cv_header_sys_select_h in
|
|
yes)
|
|
ISC_PLATFORM_NEEDSYSSELECTH="#define ISC_PLATFORM_NEEDSYSSELECTH 1"
|
|
;;
|
|
no)
|
|
AC_MSG_ERROR([need either unistd.h or sys/select.h])
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
AC_SUBST(ISC_PLATFORM_NEEDSYSSELECTH)
|
|
|
|
#
|
|
# Find the machine's endian flavor.
|
|
#
|
|
AC_C_BIGENDIAN
|
|
|
|
AC_ARG_WITH(irs-gr,[ --with-irs-gr Build ....],
|
|
want_irs_gr="$withval", want_irs_gr="no")
|
|
case "$want_irs_gr" in
|
|
yes) WANT_IRS_GR="#define WANT_IRS_GR 1"
|
|
WANT_IRS_GR_OBJS="\${WANT_IRS_GR_OBJS}"
|
|
;;
|
|
*) WANT_IRS_GR="#undef WANT_IRS_GR" WANT_IRS_GR_OBJS="";;
|
|
esac
|
|
AC_SUBST(WANT_IRS_GR)
|
|
AC_SUBST(WANT_IRS_GR_OBJS)
|
|
|
|
AC_ARG_WITH(irs-pw,[ --with-irs-pw Build ....],
|
|
want_irs_pw="$withval", want_irs_pw="no")
|
|
case "$want_irs_pw" in
|
|
yes) WANT_IRS_PW="#define WANT_IRS_PW 1"
|
|
WANT_IRS_PW_OBJS="\${WANT_IRS_PW_OBJS}";;
|
|
*) WANT_IRS_PW="#undef WANT_IRS_PW" WANT_IRS_PW_OBJS="";;
|
|
esac
|
|
AC_SUBST(WANT_IRS_PW)
|
|
AC_SUBST(WANT_IRS_PW_OBJS)
|
|
|
|
AC_ARG_WITH(irs-nis,[ --with-irs-nis Build ....],
|
|
want_irs_nis="$withval", want_irs_nis="no")
|
|
case "$want_irs_nis" in
|
|
yes)
|
|
WANT_IRS_NIS="#define WANT_IRS_NIS 1"
|
|
WANT_IRS_NIS_OBJS="\${WANT_IRS_NIS_OBJS}"
|
|
case "$want_irs_gr" in
|
|
yes)
|
|
WANT_IRS_NISGR_OBJS="\${WANT_IRS_NISGR_OBJS}";;
|
|
*)
|
|
WANT_IRS_NISGR_OBJS="";;
|
|
esac
|
|
case "$want_irs_pw" in
|
|
yes)
|
|
WANT_IRS_NISPW_OBJS="\${WANT_IRS_NISPW_OBJS}";;
|
|
*)
|
|
WANT_IRS_NISPW_OBJS="";;
|
|
esac
|
|
;;
|
|
*)
|
|
WANT_IRS_NIS="#undef WANT_IRS_NIS"
|
|
WANT_IRS_NIS_OBJS=""
|
|
WANT_IRS_NISGR_OBJS=""
|
|
WANT_IRS_NISPW_OBJS="";;
|
|
esac
|
|
AC_SUBST(WANT_IRS_NIS)
|
|
AC_SUBST(WANT_IRS_NIS_OBJS)
|
|
AC_SUBST(WANT_IRS_NISGR_OBJS)
|
|
AC_SUBST(WANT_IRS_NISPW_OBJS)
|
|
AC_TRY_RUN([
|
|
#ifdef HAVE_DB_H
|
|
int have_db_h = 1;
|
|
#else
|
|
int have_db_h = 0;
|
|
#endif
|
|
main() { return(!have_db_h); }
|
|
],
|
|
WANT_IRS_DBPW_OBJS="\${WANT_IRS_DBPW_OBJS}"
|
|
,
|
|
WANT_IRS_DBPW_OBJS=""
|
|
,
|
|
WANT_IRS_DBPW_OBJS=""
|
|
)
|
|
AC_SUBST(WANT_IRS_DBPW_OBJS)
|
|
|
|
#
|
|
# was --with-randomdev specified?
|
|
#
|
|
AC_MSG_CHECKING(for random device)
|
|
AC_ARG_WITH(randomdev,
|
|
[ --with-randomdev=PATH Specify path for random device],
|
|
use_randomdev="$withval", use_randomdev="unspec")
|
|
|
|
case "$use_randomdev" in
|
|
unspec)
|
|
case "$host" in
|
|
*-openbsd*)
|
|
devrandom=/dev/srandom
|
|
;;
|
|
*)
|
|
devrandom=/dev/random
|
|
;;
|
|
esac
|
|
AC_MSG_RESULT($devrandom)
|
|
AC_CHECK_FILE($devrandom,
|
|
AC_DEFINE_UNQUOTED(PATH_RANDOMDEV,
|
|
"$devrandom"),)
|
|
;;
|
|
yes)
|
|
AC_MSG_ERROR([--with-randomdev must specify a path])
|
|
;;
|
|
*)
|
|
AC_DEFINE_UNQUOTED(PATH_RANDOMDEV, "$use_randomdev")
|
|
AC_MSG_RESULT(using "$use_randomdev")
|
|
;;
|
|
esac
|
|
|
|
sinclude(../../config.threads.in)dnl
|
|
|
|
if $use_threads
|
|
then
|
|
if test "X$GCC" = "Xyes"; then
|
|
case "$host" in
|
|
*-freebsd*)
|
|
CC="$CC -pthread"
|
|
CCOPT="$CCOPT -pthread"
|
|
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
|
|
;;
|
|
*-openbsd*)
|
|
CC="$CC -pthread"
|
|
CCOPT="$CCOPT -pthread"
|
|
;;
|
|
*-solaris*)
|
|
LIBS="$LIBS -lthread"
|
|
;;
|
|
*-ibm-aix*)
|
|
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
|
|
;;
|
|
esac
|
|
else
|
|
case $host in
|
|
*-dec-osf*)
|
|
CC="$CC -pthread"
|
|
CCOPT="$CCOPT -pthread"
|
|
;;
|
|
*-solaris*)
|
|
CC="$CC -mt"
|
|
CCOPT="$CCOPT -mt"
|
|
;;
|
|
*-ibm-aix*)
|
|
STD_CDEFINES="$STD_CDEFINES -D_THREAD_SAFE"
|
|
;;
|
|
*-UnixWare*)
|
|
CC="$CC -Kthread"
|
|
CCOPT="$CCOPT -Kthread"
|
|
;;
|
|
esac
|
|
fi
|
|
AC_DEFINE(_REENTRANT)
|
|
ALWAYS_DEFINES="-D_REENTRANT"
|
|
DO_PTHREADS="#define DO_PTHREADS 1"
|
|
WANT_IRS_THREADSGR_OBJS="\${WANT_IRS_THREADSGR_OBJS}"
|
|
WANT_IRS_THREADSPW_OBJS="\${WANT_IRS_THREADSPW_OBJS}"
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
WANT_IRS_THREADS_OBJS="";;
|
|
*)
|
|
WANT_IRS_THREADS_OBJS="\${WANT_IRS_THREADS_OBJS}";;
|
|
esac
|
|
WANT_THREADS_OBJS="\${WANT_THREADS_OBJS}"
|
|
thread_dir=pthreads
|
|
|
|
#
|
|
# We'd like to use sigwait() too
|
|
#
|
|
AC_CHECK_FUNC(sigwait,
|
|
AC_DEFINE(HAVE_SIGWAIT),
|
|
AC_CHECK_LIB(c, sigwait,
|
|
AC_DEFINE(HAVE_SIGWAIT),
|
|
AC_CHECK_LIB(pthread, sigwait,
|
|
AC_DEFINE(HAVE_SIGWAIT),
|
|
AC_CHECK_LIB(pthread, _Psigwait,
|
|
AC_DEFINE(HAVE_SIGWAIT),))))
|
|
|
|
AC_CHECK_FUNC(pthread_attr_getstacksize,
|
|
AC_DEFINE(HAVE_PTHREAD_ATTR_GETSTACKSIZE),)
|
|
|
|
#
|
|
# Additional OS-specific issues related to pthreads and sigwait.
|
|
#
|
|
case "$host" in
|
|
#
|
|
# One more place to look for sigwait.
|
|
#
|
|
*-freebsd*)
|
|
AC_CHECK_LIB(c_r, sigwait, AC_DEFINE(HAVE_SIGWAIT),)
|
|
;;
|
|
#
|
|
# BSDI 3.0 through 4.0.1 needs pthread_init() to be
|
|
# called before certain pthreads calls. This is deprecated
|
|
# in BSD/OS 4.1.
|
|
#
|
|
*-bsdi3.*|*-bsdi4.0*)
|
|
AC_DEFINE(NEED_PTHREAD_INIT)
|
|
;;
|
|
#
|
|
# LinuxThreads requires some changes to the way we
|
|
# deal with signals.
|
|
#
|
|
*-linux*)
|
|
AC_DEFINE(HAVE_LINUXTHREADS)
|
|
;;
|
|
#
|
|
# Ensure the right sigwait() semantics on Solaris and make
|
|
# sure we call pthread_setconcurrency.
|
|
#
|
|
*-solaris*)
|
|
AC_DEFINE(_POSIX_PTHREAD_SEMANTICS)
|
|
AC_CHECK_FUNC(pthread_setconcurrency,
|
|
AC_DEFINE(CALL_PTHREAD_SETCONCURRENCY))
|
|
AC_DEFINE(POSIX_GETPWUID_R)
|
|
AC_DEFINE(POSIX_GETPWNAM_R)
|
|
AC_DEFINE(POSIX_GETGRGID_R)
|
|
AC_DEFINE(POSIX_GETGRNAM_R)
|
|
;;
|
|
*hpux11*)
|
|
AC_DEFINE(NEED_ENDNETGRENT_R)
|
|
AC_DEFINE(_PTHREADS_DRAFT4)
|
|
;;
|
|
#
|
|
# UnixWare does things its own way.
|
|
#
|
|
*-UnixWare*)
|
|
AC_DEFINE(HAVE_UNIXWARE_SIGWAIT)
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Look for sysconf to allow detection of the number of processors.
|
|
#
|
|
AC_CHECK_FUNC(sysconf, AC_DEFINE(HAVE_SYSCONF),)
|
|
|
|
else
|
|
ALWAYS_DEFINES=""
|
|
DO_PTHREADS="#undef DO_PTHREADS"
|
|
WANT_IRS_THREADSGR_OBJS=""
|
|
WANT_IRS_THREADSPW_OBJS=""
|
|
WANT_IRS_THREADS_OBJS=""
|
|
WANT_THREADS_OBJS=""
|
|
thread_dir=nothreads
|
|
fi
|
|
|
|
AC_SUBST(ALWAYS_DEFINES)
|
|
AC_SUBST(DO_PTHREADS)
|
|
AC_SUBST(WANT_IRS_THREADSGR_OBJS)
|
|
AC_SUBST(WANT_IRS_THREADSPW_OBJS)
|
|
AC_SUBST(WANT_IRS_THREADS_OBJS)
|
|
AC_SUBST(WANT_THREADS_OBJS)
|
|
|
|
AC_CHECK_FUNC(strlcat, AC_DEFINE(HAVE_STRLCAT))
|
|
AC_CHECK_FUNC(memmove, AC_DEFINE(HAVE_MEMMOVE))
|
|
AC_CHECK_FUNC(memchr, AC_DEFINE(HAVE_MEMCHR))
|
|
|
|
AC_CHECK_FUNC(if_nametoindex,
|
|
[USE_IFNAMELINKID="#define USE_IFNAMELINKID 1"],
|
|
[USE_IFNAMELINKID="#undef USE_IFNAMELINKID"])
|
|
AC_SUBST(USE_IFNAMELINKID)
|
|
|
|
ISC_THREAD_DIR=$thread_dir
|
|
AC_SUBST(ISC_THREAD_DIR)
|
|
|
|
AC_CHECK_FUNC(daemon,
|
|
[DAEMON_OBJS="" NEED_DAEMON="#undef NEED_DAEMON"]
|
|
,
|
|
[DAEMON_OBJS="\${DAEMON_OBJS}" NEED_DAEMON="#define NEED_DAEMON 1"]
|
|
)
|
|
AC_SUBST(DAEMON_OBJS)
|
|
AC_SUBST(NEED_DAEMON)
|
|
|
|
AC_CHECK_FUNC(strsep,
|
|
[STRSEP_OBJS="" NEED_STRSEP="#undef NEED_STRSEP"]
|
|
,
|
|
[STRSEP_OBJS="\${STRSEP_OBJS}" NEED_STRSEP="#define NEED_STRSEP 1"]
|
|
)
|
|
AC_SUBST(STRSEP_OBJS)
|
|
AC_SUBST(NEED_STRSEP)
|
|
|
|
AC_CHECK_FUNC(strerror, [NEED_STRERROR="#undef NEED_STRERROR"],
|
|
[NEED_STRERROR="#define NEED_STRERROR 1"])
|
|
AC_SUBST(NEED_STRERROR)
|
|
|
|
#
|
|
# flockfile is usually provided by pthreads, but we may want to use it
|
|
# even if compiled with --disable-threads.
|
|
#
|
|
AC_CHECK_FUNC(flockfile, AC_DEFINE(HAVE_FLOCKFILE),)
|
|
|
|
#
|
|
# Indicate what the final decision was regarding threads.
|
|
#
|
|
AC_MSG_CHECKING(whether to build with threads)
|
|
if $use_threads; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
#
|
|
# End of pthreads stuff.
|
|
#
|
|
|
|
#
|
|
# Additional compiler settings.
|
|
#
|
|
MKDEPCC="$CC"
|
|
MKDEPCFLAGS="-M"
|
|
IRIX_DNSSEC_WARNINGS_HACK=""
|
|
|
|
if test "X$GCC" = "Xyes"; then
|
|
AC_MSG_CHECKING(if "$CC" supports -fno-strict-aliasing)
|
|
SAVE_CFLAGS=$CFLAGS
|
|
CFLAGS=-fno-strict-aliasing
|
|
AC_TRY_COMPILE(,, [FNOSTRICTALIASING=yes],[FNOSTRICTALIASING=no])
|
|
CFLAGS=$SAVE_CFLAGS
|
|
if test "$FNOSTRICTALIASING" = "yes"; then
|
|
AC_MSG_RESULT(yes)
|
|
STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
STD_CWARNINGS="$STD_CWARNINGS -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith"
|
|
fi
|
|
else
|
|
case $host in
|
|
*-dec-osf*)
|
|
CC="$CC -std"
|
|
CCOPT="$CCOPT -std"
|
|
MKDEPCC="$CC"
|
|
;;
|
|
*-hp-hpux*)
|
|
CC="$CC -Ae -z"
|
|
# The version of the C compiler that constantly warns about
|
|
# 'const' as well as alignment issues is unfortunately not
|
|
# able to be discerned via the version of the operating
|
|
# system, nor does cc have a version flag.
|
|
case "`$CC +W 123 2>&1`" in
|
|
*Unknown?option*)
|
|
STD_CWARNINGS="+w1"
|
|
;;
|
|
*)
|
|
# Turn off the pointlessly noisy warnings.
|
|
STD_CWARNINGS="+w1 +W 474,530,2193,2236"
|
|
;;
|
|
esac
|
|
CCOPT="$CCOPT -Ae -z"
|
|
LIBS="-Wl,+vnocompatwarnings $LIBS"
|
|
MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>&1 | awk '"'"'BEGIN {colon=0; rec="";} { for (i = 0 ; i < NF; i++) { if (colon && a[$i]) continue; if ($i == "\\") continue; if (!colon) { rec = $i continue; } if ($i == ":") { rec = rec " :" colon = 1 continue; } if (length(rec $i) > 76) { print rec " \\"; rec = "\t" $i; a[$i] = 1; } else { rec = rec " " $i a[$i] = 1; } } } END {print rec}'"'"' >>$TMP'
|
|
MKDEPPROG='cc -Ae -E -Wp,-M >/dev/null 2>>$TMP'
|
|
;;
|
|
*-sgi-irix*)
|
|
STD_CWARNINGS="-fullwarn -woff 1209"
|
|
#
|
|
# Silence more than 250 instances of
|
|
# "prototyped function redeclared without prototype"
|
|
# and 11 instances of
|
|
# "variable ... was set but never used"
|
|
# from lib/dns/sec/openssl.
|
|
#
|
|
IRIX_DNSSEC_WARNINGS_HACK="-woff 1692,1552"
|
|
;;
|
|
*-solaris*)
|
|
MKDEPCFLAGS="-xM"
|
|
;;
|
|
*-UnixWare*)
|
|
CC="$CC -w"
|
|
;;
|
|
esac
|
|
fi
|
|
|
|
#
|
|
# _GNU_SOURCE is needed to access the fd_bits field of struct fd_set, which
|
|
# is supposed to be opaque.
|
|
#
|
|
case $host in
|
|
*linux*)
|
|
STD_CDEFINES="$STD_CDEFINES -D_GNU_SOURCE"
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(MKDEPCC)
|
|
AC_SUBST(MKDEPCFLAGS)
|
|
AC_SUBST(MKDEPPROG)
|
|
AC_SUBST(IRIX_DNSSEC_WARNINGS_HACK)
|
|
|
|
#
|
|
# NLS
|
|
#
|
|
AC_CHECK_FUNC(catgets, AC_DEFINE(HAVE_CATGETS),)
|
|
|
|
#
|
|
# -lxnet buys us one big porting headache... standards, gotta love 'em.
|
|
#
|
|
# AC_CHECK_LIB(xnet, socket, ,
|
|
# AC_CHECK_LIB(socket, socket)
|
|
# AC_CHECK_LIB(nsl, inet_ntoa)
|
|
# )
|
|
#
|
|
# Use this for now, instead:
|
|
#
|
|
case "$host" in
|
|
mips-sgi-irix*)
|
|
;;
|
|
ia64-hp-hpux11.*)
|
|
AC_CHECK_LIB(socket, socket)
|
|
AC_CHECK_LIB(nsl, inet_ntoa)
|
|
;;
|
|
*)
|
|
AC_CHECK_LIB(d4r, gethostbyname_r)
|
|
AC_CHECK_LIB(socket, socket)
|
|
AC_CHECK_LIB(nsl, inet_ntoa)
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Purify support
|
|
#
|
|
AC_MSG_CHECKING(whether to use purify)
|
|
AC_ARG_WITH(purify,
|
|
[ --with-purify[=PATH] use Rational purify],
|
|
use_purify="$withval", use_purify="no")
|
|
|
|
case "$use_purify" in
|
|
no)
|
|
;;
|
|
yes)
|
|
AC_PATH_PROG(purify_path, purify, purify)
|
|
;;
|
|
*)
|
|
purify_path="$use_purify"
|
|
;;
|
|
esac
|
|
|
|
case "$use_purify" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
PURIFY=""
|
|
;;
|
|
*)
|
|
if test -f $purify_path || test $purify_path = purify; then
|
|
AC_MSG_RESULT($purify_path)
|
|
PURIFYFLAGS="`echo $PURIFYOPTIONS`"
|
|
PURIFY="$purify_path $PURIFYFLAGS"
|
|
else
|
|
AC_MSG_ERROR([$purify_path not found.
|
|
|
|
Please choose the proper path with the following command:
|
|
|
|
configure --with-purify=PATH
|
|
])
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
AC_SUBST(PURIFY)
|
|
|
|
#
|
|
# GNU libtool support
|
|
#
|
|
AC_ARG_WITH(libtool,
|
|
[ --with-libtool use GNU libtool (following indented options supported)],
|
|
use_libtool="$withval", use_libtool="no")
|
|
|
|
case $use_libtool in
|
|
yes)
|
|
AM_PROG_LIBTOOL
|
|
O=lo
|
|
A=la
|
|
LIBTOOL_MKDEP_SED='s;\.o;\.lo;'
|
|
LIBTOOL_MODE_COMPILE='--mode=compile'
|
|
LIBTOOL_MODE_INSTALL='--mode=install'
|
|
LIBTOOL_MODE_LINK='--mode=link'
|
|
;;
|
|
*)
|
|
O=o
|
|
A=a
|
|
LIBTOOL=
|
|
AC_SUBST(LIBTOOL)
|
|
LIBTOOL_MKDEP_SED=
|
|
LIBTOOL_MODE_COMPILE=
|
|
LIBTOOL_MODE_INSTALL=
|
|
LIBTOOL_MODE_LINK=
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# File name extension for static archive files, for those few places
|
|
# where they are treated differently from dynamic ones.
|
|
#
|
|
SA=a
|
|
|
|
AC_SUBST(O)
|
|
AC_SUBST(A)
|
|
AC_SUBST(SA)
|
|
AC_SUBST(LIBTOOL_MKDEP_SED)
|
|
AC_SUBST(LIBTOOL_MODE_COMPILE)
|
|
AC_SUBST(LIBTOOL_MODE_INSTALL)
|
|
AC_SUBST(LIBTOOL_MODE_LINK)
|
|
|
|
#
|
|
# Here begins a very long section to determine the system's networking
|
|
# capabilities. The order of the tests is signficant.
|
|
#
|
|
|
|
#
|
|
# IPv6
|
|
#
|
|
AC_ARG_ENABLE(ipv6,
|
|
[ --enable-ipv6 use IPv6 [default=autodetect]])
|
|
|
|
case "$enable_ipv6" in
|
|
yes|''|autodetect)
|
|
AC_DEFINE(WANT_IPV6)
|
|
;;
|
|
no)
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# We do the IPv6 compilation checking after libtool so that we can put
|
|
# the right suffix on the files.
|
|
#
|
|
AC_MSG_CHECKING(for IPv6 structures)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>],
|
|
[struct sockaddr_in6 sin6; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
found_ipv6=yes],
|
|
[AC_MSG_RESULT(no)
|
|
found_ipv6=no])
|
|
|
|
#
|
|
# See whether IPv6 support is provided via a Kame add-on.
|
|
# This is done before other IPv6 linking tests to LIBS is properly set.
|
|
#
|
|
AC_MSG_CHECKING(for Kame IPv6 support)
|
|
AC_ARG_WITH(kame,
|
|
[ --with-kame[=PATH] use Kame IPv6 [default path /usr/local/v6]],
|
|
use_kame="$withval", use_kame="no")
|
|
|
|
case "$use_kame" in
|
|
no)
|
|
;;
|
|
yes)
|
|
kame_path=/usr/local/v6
|
|
;;
|
|
*)
|
|
kame_path="$use_kame"
|
|
;;
|
|
esac
|
|
|
|
case "$use_kame" in
|
|
no)
|
|
AC_MSG_RESULT(no)
|
|
;;
|
|
*)
|
|
if test -f $kame_path/lib/libinet6.a; then
|
|
AC_MSG_RESULT($kame_path/lib/libinet6.a)
|
|
LIBS="-L$kame_path/lib -linet6 $LIBS"
|
|
else
|
|
AC_MSG_ERROR([$kame_path/lib/libinet6.a not found.
|
|
|
|
Please choose the proper path with the following command:
|
|
|
|
configure --with-kame=PATH
|
|
])
|
|
fi
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Whether netinet6/in6.h is needed has to be defined in isc/platform.h.
|
|
# Including it on Kame-using platforms is very bad, though, because
|
|
# Kame uses #error against direct inclusion. So include it on only
|
|
# the platform that is otherwise broken without it -- BSD/OS 4.0 through 4.1.
|
|
# This is done before the in6_pktinfo check because that's what
|
|
# netinet6/in6.h is needed for.
|
|
#
|
|
changequote({, })
|
|
case "$host" in
|
|
*-bsdi4.[01]*)
|
|
ISC_PLATFORM_NEEDNETINET6IN6H="#define ISC_PLATFORM_NEEDNETINET6IN6H 1"
|
|
isc_netinet6in6_hack="#include <netinet6/in6.h>"
|
|
;;
|
|
*)
|
|
ISC_PLATFORM_NEEDNETINET6IN6H="#undef ISC_PLATFORM_NEEDNETINET6IN6H"
|
|
isc_netinet6in6_hack=""
|
|
;;
|
|
esac
|
|
changequote([, ])
|
|
|
|
#
|
|
# This is similar to the netinet6/in6.h issue.
|
|
#
|
|
case "$host" in
|
|
*-UnixWare*)
|
|
ISC_PLATFORM_NEEDNETINETIN6H="#define ISC_PLATFORM_NEEDNETINETIN6H 1"
|
|
ISC_PLATFORM_FIXIN6ISADDR="#define ISC_PLATFORM_FIXIN6ISADDR 1"
|
|
isc_netinetin6_hack="#include <netinet/in6.h>"
|
|
;;
|
|
*)
|
|
ISC_PLATFORM_NEEDNETINETIN6H="#undef ISC_PLATFORM_NEEDNETINETIN6H"
|
|
ISC_PLATFORM_FIXIN6ISADDR="#undef ISC_PLATFORM_FIXIN6ISADDR"
|
|
isc_netinetin6_hack=""
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Now delve deeper into the suitability of the IPv6 support.
|
|
#
|
|
case "$found_ipv6" in
|
|
yes)
|
|
HAS_INET6_STRUCTS="#define HAS_INET6_STRUCTS 1"
|
|
|
|
AC_MSG_CHECKING(for in6_addr)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
$isc_netinetin6_hack
|
|
$isc_netinet6in6_hack
|
|
],
|
|
[struct in6_addr in6; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
HAS_IN_ADDR6="#undef HAS_IN_ADDR6"
|
|
isc_in_addr6_hack=""],
|
|
[AC_MSG_RESULT(no)
|
|
HAS_IN_ADDR6="#define HAS_IN_ADDR6 1"
|
|
isc_in_addr6_hack="#define in6_addr in_addr6"])
|
|
|
|
AC_MSG_CHECKING(for in6addr_any)
|
|
AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
$isc_netinetin6_hack
|
|
$isc_netinet6in6_hack
|
|
$isc_in_addr6_hack
|
|
],
|
|
[struct in6_addr in6; in6 = in6addr_any; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
NEED_IN6ADDR_ANY="#undef NEED_IN6ADDR_ANY"],
|
|
[AC_MSG_RESULT(no)
|
|
NEED_IN6ADDR_ANY="#define NEED_IN6ADDR_ANY 1"])
|
|
|
|
AC_MSG_CHECKING(for sin6_scope_id in struct sockaddr_in6)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
$isc_netinetin6_hack
|
|
$isc_netinet6in6_hack
|
|
],
|
|
[struct sockaddr_in6 xyzzy; xyzzy.sin6_scope_id = 0; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
result="#define HAVE_SIN6_SCOPE_ID 1"],
|
|
[AC_MSG_RESULT(no)
|
|
result="#undef HAVE_SIN6_SCOPE_ID"])
|
|
HAVE_SIN6_SCOPE_ID="$result"
|
|
|
|
AC_MSG_CHECKING(for in6_pktinfo)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
$isc_netinetin6_hack
|
|
$isc_netinet6in6_hack
|
|
],
|
|
[struct in6_pktinfo xyzzy; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_HAVEIN6PKTINFO="#define ISC_PLATFORM_HAVEIN6PKTINFO 1"],
|
|
[AC_MSG_RESULT(no -- disabling runtime ipv6 support)
|
|
ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"])
|
|
;;
|
|
no)
|
|
HAS_INET6_STRUCTS="#undef HAS_INET6_STRUCTS"
|
|
NEED_IN6ADDR_ANY="#undef NEED_IN6ADDR_ANY"
|
|
ISC_PLATFORM_HAVEIN6PKTINFO="#undef ISC_PLATFORM_HAVEIN6PKTINFO"
|
|
HAVE_SIN6_SCOPE_ID="#define HAVE_SIN6_SCOPE_ID 1"
|
|
ISC_IPV6_H="ipv6.h"
|
|
ISC_IPV6_O="ipv6.$O"
|
|
ISC_ISCIPV6_O="unix/ipv6.$O"
|
|
ISC_IPV6_C="ipv6.c"
|
|
;;
|
|
esac
|
|
|
|
AC_MSG_CHECKING(for sockaddr_storage)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
],
|
|
[struct sockaddr_storage xyzzy; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
HAVE_SOCKADDR_STORAGE="#define HAVE_SOCKADDR_STORAGE 1"],
|
|
[AC_MSG_RESULT(no)
|
|
HAVE_SOCKADDR_STORAGE="#undef HAVE_SOCKADDR_STORAGE"])
|
|
|
|
AC_SUBST(HAS_INET6_STRUCTS)
|
|
AC_SUBST(ISC_PLATFORM_NEEDNETINETIN6H)
|
|
AC_SUBST(ISC_PLATFORM_NEEDNETINET6IN6H)
|
|
AC_SUBST(HAS_IN_ADDR6)
|
|
AC_SUBST(NEED_IN6ADDR_ANY)
|
|
AC_SUBST(ISC_PLATFORM_HAVEIN6PKTINFO)
|
|
AC_SUBST(ISC_PLATFORM_FIXIN6ISADDR)
|
|
AC_SUBST(ISC_IPV6_H)
|
|
AC_SUBST(ISC_IPV6_O)
|
|
AC_SUBST(ISC_ISCIPV6_O)
|
|
AC_SUBST(ISC_IPV6_C)
|
|
AC_SUBST(HAVE_SIN6_SCOPE_ID)
|
|
AC_SUBST(HAVE_SOCKADDR_STORAGE)
|
|
|
|
#
|
|
# Check for network functions that are often missing. We do this
|
|
# after the libtool checking, so we can put the right suffix on
|
|
# the files. It also needs to come after checking for a Kame add-on,
|
|
# which provides some (all?) of the desired functions.
|
|
#
|
|
AC_MSG_CHECKING([for inet_ntop])
|
|
AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>],
|
|
[inet_ntop(0, 0, 0, 0); return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
|
|
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
|
|
ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"])
|
|
AC_MSG_CHECKING([for inet_pton])
|
|
AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>],
|
|
[inet_pton(0, 0, 0); return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDPTON="#undef ISC_PLATFORM_NEEDPTON"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_pton.$O"
|
|
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_pton.c"
|
|
ISC_PLATFORM_NEEDPTON="#define ISC_PLATFORM_NEEDPTON 1"])
|
|
AC_MSG_CHECKING([for inet_aton])
|
|
AC_TRY_LINK([
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>],
|
|
[struct in_addr in; inet_aton(0, &in); return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDATON="#undef ISC_PLATFORM_NEEDATON"],
|
|
|
|
[AC_MSG_RESULT(no)
|
|
ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_aton.$O"
|
|
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_aton.c"
|
|
ISC_PLATFORM_NEEDATON="#define ISC_PLATFORM_NEEDATON 1"])
|
|
|
|
AC_SUBST(ISC_PLATFORM_NEEDNTOP)
|
|
AC_SUBST(ISC_PLATFORM_NEEDPTON)
|
|
AC_SUBST(ISC_PLATFORM_NEEDATON)
|
|
|
|
#
|
|
# Look for a 4.4BSD-style sa_len member in struct sockaddr.
|
|
#
|
|
case "$host" in
|
|
*-dec-osf*)
|
|
# Turn on 4.4BSD style sa_len support.
|
|
AC_DEFINE(_SOCKADDR_LEN)
|
|
;;
|
|
esac
|
|
|
|
AC_MSG_CHECKING(for sa_len in struct sockaddr)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],
|
|
[struct sockaddr sa; sa.sa_len = 0; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
HAVE_SA_LEN="#define HAVE_SA_LEN 1"],
|
|
[AC_MSG_RESULT(no)
|
|
HAVE_SA_LEN="#undef HAVE_SA_LEN"])
|
|
AC_SUBST(HAVE_SA_LEN)
|
|
|
|
# HAVE_MINIMUM_IFREQ
|
|
|
|
case "$host" in
|
|
*-bsdi[2345]*) have_minimum_ifreq=yes;;
|
|
*-darwin*) have_minimum_ifreq=yes;;
|
|
*-freebsd*) have_minimum_ifreq=yes;;
|
|
*-lynxos*) have_minimum_ifreq=yes;;
|
|
*-netbsd*) have_minimum_ifreq=yes;;
|
|
*-next*) have_minimum_ifreq=yes;;
|
|
*-openbsd*) have_minimum_ifreq=yes;;
|
|
*-rhapsody*) have_minimum_ifreq=yes;;
|
|
esac
|
|
|
|
case "$have_minimum_ifreq" in
|
|
yes)
|
|
HAVE_MINIMUM_IFREQ="#define HAVE_MINIMUM_IFREQ 1";;
|
|
no)
|
|
HAVE_MINIMUM_IFREQ="#undef HAVE_MINIMUM_IFREQ";;
|
|
*)
|
|
HAVE_MINIMUM_IFREQ="#undef HAVE_MINIMUM_IFREQ";;
|
|
esac
|
|
AC_SUBST(HAVE_MINIMUM_IFREQ)
|
|
|
|
# PORT_DIR
|
|
PORT_DIR=port/unknown
|
|
SOLARIS_BITTYPES="#undef NEED_SOLARIS_BITTYPES"
|
|
BSD_COMP="#undef BSD_COMP"
|
|
USE_FIONBIO_IOCTL="#undef USE_FIONBIO_IOCTL"
|
|
PORT_NONBLOCK="#define PORT_NONBLOCK O_NONBLOCK"
|
|
HAVE_MD5="#undef HAVE_MD5"
|
|
USE_POLL="#undef HAVE_POLL"
|
|
SOLARIS2="#undef SOLARIS2"
|
|
case "$host" in
|
|
*aix3.2*) PORT_DIR="port/aix32";;
|
|
*aix4*) PORT_DIR="port/aix4";;
|
|
*aix5*) PORT_DIR="port/aix5";;
|
|
*aux3*) PORT_DIR="port/aux3";;
|
|
*-bsdi2*) PORT_DIR="port/bsdos2";;
|
|
*-bsdi*) PORT_DIR="port/bsdos";;
|
|
*-cygwin*)
|
|
PORT_NONBLOCK="#define PORT_NONBLOCK O_NDELAY"
|
|
PORT_DIR="port/cygwin";;
|
|
*-darwin*) PORT_DIR="port/darwin";;
|
|
*-osf*) PORT_DIR="port/decunix";;
|
|
*-freebsd*) PORT_DIR="port/freebsd";;
|
|
*-hpux9*) PORT_DIR="port/hpux9";;
|
|
*-hpux10*) PORT_DIR="port/hpux10";;
|
|
*-hpux11*) PORT_DIR="port/hpux";;
|
|
*-irix*) PORT_DIR="port/irix";;
|
|
*-linux*) PORT_DIR="port/linux";;
|
|
*-lynxos*) PORT_DIR="port/lynxos";;
|
|
*-mpe*) PORT_DIR="port/mpe";;
|
|
*-netbsd*) PORT_DIR="port/netbsd";;
|
|
*-next*) PORT_DIR="port/next";;
|
|
*-openbsd*) PORT_DIR="port/openbsd";;
|
|
*-qnx*) PORT_DIR="port/qnx";;
|
|
*-rhapsody*) PORT_DIR="port/rhapsody";;
|
|
*-sunos4*)
|
|
PORT_NONBLOCK="#define PORT_NONBLOCK O_NDELAY"
|
|
PORT_DIR="port/sunos";;
|
|
*-solaris2.[[01234]])
|
|
BSD_COMP="#define BSD_COMP 1"
|
|
SOLARIS_BITTYPES="#define NEED_SOLARIS_BITTYPES 1"
|
|
USE_FIONBIO_IOCTL="#define USE_FIONBIO_IOCTL 1"
|
|
SOLARIS2="#define SOLARIS2 1"
|
|
PORT_DIR="port/solaris";;
|
|
*-solaris2.5)
|
|
BSD_COMP="#define BSD_COMP 1"
|
|
SOLARIS_BITTYPES="#define NEED_SOLARIS_BITTYPES 1"
|
|
SOLARIS2="#define SOLARIS2 1"
|
|
PORT_DIR="port/solaris";;
|
|
*-solaris2.[[67]])
|
|
BSD_COMP="#define BSD_COMP 1"
|
|
SOLARIS2="#define SOLARIS2 1"
|
|
PORT_DIR="port/solaris";;
|
|
*-solaris2*) BSD_COMP="#define BSD_COMP 1"
|
|
USE_POLL="#define USE_POLL 1"
|
|
HAVE_MD5="#define HAVE_MD5 1"
|
|
SOLARIS2="#define SOLARIS2 1"
|
|
PORT_DIR="port/solaris";;
|
|
*-ultrix*) PORT_DIR="port/ultrix";;
|
|
*-sco-sysv*uw2.0*) PORT_DIR="port/unixware20";;
|
|
*-sco-sysv*uw2.1.2*) PORT_DIR="port/unixware212";;
|
|
*-sco-sysv*uw7*) PORT_DIR="port/unixware7";;
|
|
esac
|
|
|
|
AC_SUBST(BSD_COMP)
|
|
AC_SUBST(SOLARIS_BITTYPES)
|
|
AC_SUBST(USE_FIONBIO_IOCTL)
|
|
AC_SUBST(PORT_NONBLOCK)
|
|
AC_SUBST(PORT_DIR)
|
|
AC_SUBST(USE_POLL)
|
|
AC_SUBST(HAVE_MD5)
|
|
AC_SUBST(SOLARIS2)
|
|
PORT_INCLUDE=${PORT_DIR}/include
|
|
AC_SUBST(PORT_INCLUDE)
|
|
|
|
#
|
|
# Look for a 4.4BSD or 4.3BSD struct msghdr
|
|
#
|
|
AC_MSG_CHECKING(for struct msghdr flavor)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>],
|
|
[struct msghdr msg; msg.msg_flags = 0; return (0);],
|
|
[AC_MSG_RESULT(4.4BSD)
|
|
ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD44MSGHDR 1"],
|
|
[AC_MSG_RESULT(4.3BSD)
|
|
ISC_PLATFORM_MSGHDRFLAVOR="#define ISC_NET_BSD43MSGHDR 1"])
|
|
AC_SUBST(ISC_PLATFORM_MSGHDRFLAVOR)
|
|
|
|
#
|
|
# Look for in_port_t.
|
|
#
|
|
AC_MSG_CHECKING(for type in_port_t)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <netinet/in.h>],
|
|
[in_port_t port = 25; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDPORTT="#undef ISC_PLATFORM_NEEDPORTT"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_PLATFORM_NEEDPORTT="#define ISC_PLATFORM_NEEDPORTT 1"])
|
|
AC_SUBST(ISC_PLATFORM_NEEDPORTT)
|
|
|
|
AC_MSG_CHECKING(for struct timespec)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <time.h>],
|
|
[struct timespec ts = { 0, 0 }; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_PLATFORM_NEEDTIMESPEC="#undef ISC_PLATFORM_NEEDTIMESPEC"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_PLATFORM_NEEDTIMESPEC="#define ISC_PLATFORM_NEEDTIMESPEC 1"])
|
|
AC_SUBST(ISC_PLATFORM_NEEDTIMESPEC)
|
|
|
|
#
|
|
# Check for addrinfo
|
|
#
|
|
AC_MSG_CHECKING(for struct addrinfo)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[struct addrinfo a; return (0);],
|
|
[AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_ADDRINFO)],
|
|
[AC_MSG_RESULT(no)])
|
|
|
|
AC_MSG_CHECKING(for int sethostent)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[int i = sethostent(0); return(0);],
|
|
[AC_MSG_RESULT(yes)],
|
|
[AC_MSG_RESULT(no)])
|
|
|
|
AC_MSG_CHECKING(for int endhostent)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[int i = endhostent(); return(0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_LWRES_ENDHOSTENTINT="#define ISC_LWRES_ENDHOSTENTINT 1"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_LWRES_ENDHOSTENTINT="#undef ISC_LWRES_ENDHOSTENTINT"])
|
|
AC_SUBST(ISC_LWRES_ENDHOSTENTINT)
|
|
|
|
AC_MSG_CHECKING(for int setnetent)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[int i = setnetent(0); return(0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_LWRES_SETNETENTINT="#define ISC_LWRES_SETNETENTINT 1"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_LWRES_SETNETENTINT="#undef ISC_LWRES_SETNETENTINT"])
|
|
AC_SUBST(ISC_LWRES_SETNETENTINT)
|
|
|
|
AC_MSG_CHECKING(for int endnetent)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[int i = endnetent(); return(0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_LWRES_ENDNETENTINT="#define ISC_LWRES_ENDNETENTINT 1"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_LWRES_ENDNETENTINT="#undef ISC_LWRES_ENDNETENTINT"])
|
|
AC_SUBST(ISC_LWRES_ENDNETENTINT)
|
|
|
|
AC_MSG_CHECKING(for gethostbyaddr(const void *, size_t, ...))
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>
|
|
struct hostent *gethostbyaddr(const void *, size_t, int);],
|
|
[return(0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_LWRES_GETHOSTBYADDRVOID="#define ISC_LWRES_GETHOSTBYADDRVOID 1"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_LWRES_GETHOSTBYADDRVOID="#undef ISC_LWRES_GETHOSTBYADDRVOID"])
|
|
AC_SUBST(ISC_LWRES_GETHOSTBYADDRVOID)
|
|
|
|
AC_MSG_CHECKING(for h_errno in netdb.h)
|
|
AC_TRY_COMPILE([
|
|
#include <netdb.h>],
|
|
[h_errno = 1; return(0);],
|
|
[AC_MSG_RESULT(yes)
|
|
ISC_LWRES_NEEDHERRNO="#undef ISC_LWRES_NEEDHERRNO"],
|
|
[AC_MSG_RESULT(no)
|
|
ISC_LWRES_NEEDHERRNO="#define ISC_LWRES_NEEDHERRNO 1"])
|
|
AC_SUBST(ISC_LWRES_NEEDHERRNO)
|
|
|
|
AC_CHECK_FUNC(getipnodebyname,
|
|
[ISC_LWRES_GETIPNODEPROTO="#undef ISC_LWRES_GETIPNODEPROTO"],
|
|
[ISC_LWRES_GETIPNODEPROTO="#define ISC_LWRES_GETIPNODEPROTO 1"])
|
|
AC_CHECK_FUNC(getnameinfo,
|
|
[ISC_LWRES_GETNAMEINFOPROTO="#undef ISC_LWRES_GETNAMEINFOPROTO"],
|
|
[ISC_LWRES_GETNAMEINFOPROTO="#define ISC_LWRES_GETNAMEINFOPROTO 1"])
|
|
AC_CHECK_FUNC(getaddrinfo,
|
|
[ISC_LWRES_GETADDRINFOPROTO="#undef ISC_LWRES_GETADDRINFOPROTO"
|
|
AC_DEFINE(HAVE_GETADDRINFO)],
|
|
[ISC_LWRES_GETADDRINFOPROTO="#define ISC_LWRES_GETADDRINFOPROTO 1"])
|
|
AC_CHECK_FUNC(gai_strerror, AC_DEFINE(HAVE_GAISTRERROR))
|
|
AC_SUBST(ISC_LWRES_GETIPNODEPROTO)
|
|
AC_SUBST(ISC_LWRES_GETADDRINFOPROTO)
|
|
AC_SUBST(ISC_LWRES_GETNAMEINFOPROTO)
|
|
AC_CHECK_FUNC(pselect,
|
|
[NEED_PSELECT="#undef NEED_PSELECT"],
|
|
[NEED_PSELECT="#define NEED_PSELECT"])
|
|
AC_SUBST(NEED_PSELECT)
|
|
AC_CHECK_FUNC(gettimeofday,
|
|
[NEED_GETTIMEOFDAY="#undef NEED_GETTIMEOFDAY"],
|
|
[NEED_GETTIMEOFDAY="#define NEED_GETTIMEOFDAY 1"])
|
|
AC_SUBST(NEED_GETTIMEOFDAY)
|
|
AC_CHECK_FUNC(strndup,
|
|
[HAVE_STRNDUP="#define HAVE_STRNDUP 1"],
|
|
[HAVE_STRNDUP="#undef HAVE_STRNDUP"])
|
|
AC_SUBST(HAVE_STRNDUP)
|
|
|
|
#
|
|
# Look for a sysctl call to get the list of network interfaces.
|
|
#
|
|
AC_MSG_CHECKING(for interface list sysctl)
|
|
AC_EGREP_CPP(found_rt_iflist, [
|
|
#include <sys/param.h>
|
|
#include <sys/sysctl.h>
|
|
#include <sys/socket.h>
|
|
#ifdef NET_RT_IFLIST
|
|
found_rt_iflist
|
|
#endif
|
|
],
|
|
[AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAVE_IFLIST_SYSCTL)],
|
|
[AC_MSG_RESULT(no)])
|
|
|
|
#
|
|
# Check for some other useful functions that are not ever-present.
|
|
#
|
|
AC_CHECK_FUNC(strsep,
|
|
[ISC_PLATFORM_NEEDSTRSEP="#undef ISC_PLATFORM_NEEDSTRSEP"],
|
|
[ISC_PLATFORM_NEEDSTRSEP="#define ISC_PLATFORM_NEEDSTRSEP 1"])
|
|
AC_CHECK_FUNC(vsnprintf,
|
|
[ISC_PLATFORM_NEEDVSNPRINTF="#undef ISC_PLATFORM_NEEDVSNPRINTF"],
|
|
[ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS print.$O"
|
|
ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS print.c"
|
|
ISC_PLATFORM_NEEDVSNPRINTF="#define ISC_PLATFORM_NEEDVSNPRINTF 1"])
|
|
AC_SUBST(ISC_PLATFORM_NEEDSTRSEP)
|
|
AC_SUBST(ISC_PLATFORM_NEEDVSNPRINTF)
|
|
|
|
AC_SUBST(ISC_EXTRA_OBJS)
|
|
AC_SUBST(ISC_EXTRA_SRCS)
|
|
AC_CHECK_FUNC(strerror,
|
|
[USE_SYSERROR_LIST="#undef USE_SYSERROR_LIST"],
|
|
[USE_SYSERROR_LIST="#define USE_SYSERROR_LIST 1"])
|
|
AC_SUBST(USE_SYSERROR_LIST)
|
|
|
|
#
|
|
# Determine the printf format characters to use when printing
|
|
# values of type isc_int64_t. We make the assumption that platforms
|
|
# where a "long long" is the same size as a "long" (e.g., Alpha/OSF1)
|
|
# want "%ld" and everyone else can use "%lld". Win32 uses "%I64d",
|
|
# but that's defined elsewhere since we don't use configure on Win32.
|
|
#
|
|
AC_MSG_CHECKING(printf format modifier for 64-bit integers)
|
|
AC_TRY_RUN([main() { exit(!(sizeof(long long int) == sizeof(long int))); }],
|
|
[AC_MSG_RESULT(l)
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "l"'],
|
|
[AC_MSG_RESULT(ll)
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'],
|
|
[AC_MSG_RESULT(default ll)
|
|
ISC_PLATFORM_QUADFORMAT='#define ISC_PLATFORM_QUADFORMAT "ll"'])
|
|
AC_SUBST(ISC_PLATFORM_QUADFORMAT)
|
|
|
|
#
|
|
# Security Stuff
|
|
#
|
|
AC_CHECK_FUNC(chroot, AC_DEFINE(HAVE_CHROOT))
|
|
|
|
#
|
|
# for accept, recvfrom, getpeername etc.
|
|
#
|
|
AC_MSG_CHECKING(for socket length type)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
int accept(int, struct sockaddr *, socklen_t *);
|
|
],[],
|
|
[ISC_SOCKLEN_T="#define ISC_SOCKLEN_T socklen_t"
|
|
AC_MSG_RESULT(socklen_t)]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
int accept(int, struct sockaddr *, unsigned int *);
|
|
],[],
|
|
[ISC_SOCKLEN_T="#define ISC_SOCKLEN_T unsigned int"
|
|
AC_MSG_RESULT(unsigned int)]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
int accept(int, struct sockaddr *, unsigned long *);
|
|
],[],
|
|
[ISC_SOCKLEN_T="#define ISC_SOCKLEN_T unsigned long"
|
|
AC_MSG_RESULT(unsigned long)]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
int accept(int, struct sockaddr *, long *);
|
|
],[],
|
|
[ISC_SOCKLEN_T="#define ISC_SOCKLEN_T long"
|
|
AC_MSG_RESULT(long)]
|
|
,
|
|
ISC_SOCKLEN_T="#define ISC_SOCKLEN_T int"
|
|
AC_MSG_RESULT(int)
|
|
))))
|
|
AC_SUBST(ISC_SOCKLEN_T)
|
|
|
|
AC_CHECK_FUNC(getgrouplist,
|
|
AC_TRY_COMPILE(
|
|
[#include <unistd.h>
|
|
int
|
|
getgrouplist(const char *name, int basegid, int *groups, int *ngroups) {
|
|
}
|
|
],
|
|
[return (0);],
|
|
GETGROUPLIST_ARGS="#define GETGROUPLIST_ARGS const char *name, int basegid, int *groups, int *ngroups"
|
|
,
|
|
GETGROUPLIST_ARGS="#define GETGROUPLIST_ARGS const char *name, gid_t basegid, gid_t *groups, int *ngroups"
|
|
),
|
|
GETGROUPLIST_ARGS="#define GETGROUPLIST_ARGS const char *name, gid_t basegid, gid_t *groups, int *ngroups"
|
|
AC_DEFINE(NEED_GETGROUPLIST)
|
|
)
|
|
AC_SUBST(GETGROUPLIST_ARGS)
|
|
|
|
AC_CHECK_FUNC(setgroupent,,AC_DEFINE(NEED_SETGROUPENT))
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(getnetbyaddr_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#define _OSF_SOURCE
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
struct netent *
|
|
getnetbyaddr_r(long net, int type, struct netent *result, char *buffer,
|
|
int buflen) {}
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS char *buf, int buflen"
|
|
NET_R_BAD="#define NET_R_BAD NULL"
|
|
NET_R_COPY="#define NET_R_COPY buf, buflen"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS NET_R_ARGS"
|
|
NET_R_OK="#define NET_R_OK nptr"
|
|
NET_R_SETANSWER="#undef NET_R_SETANSWER"
|
|
NET_R_RETURN="#define NET_R_RETURN struct netent *"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T long"
|
|
NETENT_DATA="#undef NETENT_DATA"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#define _OSF_SOURCE
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int getnetbyaddr_r (unsigned long int, int, struct netent *,
|
|
char *, size_t, struct netent **, int *);
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS char *buf, size_t buflen, struct netent **answerp, int *h_errnop"
|
|
NET_R_BAD="#define NET_R_BAD ERANGE"
|
|
NET_R_COPY="#define NET_R_COPY buf, buflen"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS char *buf, size_t buflen"
|
|
NET_R_OK="#define NET_R_OK 0"
|
|
NET_R_SETANSWER="#define NET_R_SETANSWER 1"
|
|
NET_R_RETURN="#define NET_R_RETURN int"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T unsigned long int"
|
|
NETENT_DATA="#undef NETENT_DATA"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#define _OSF_SOURCE
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int getnetbyaddr_r(int, int, struct netent *, struct netent_data *);
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS struct netent_data *ndptr"
|
|
NET_R_BAD="#define NET_R_BAD (-1)"
|
|
NET_R_COPY="#define NET_R_COPY ndptr"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS struct netent_data *ndptr"
|
|
NET_R_OK="#define NET_R_OK 0"
|
|
NET_R_SETANSWER="#undef NET_R_SETANSWER"
|
|
NET_R_RETURN="#define NET_R_RETURN int"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T int"
|
|
NETENT_DATA="#define NETENT_DATA 1"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
[#include <netdb.h>
|
|
int getnetbyaddr_r (in_addr_t, int, struct netent *, struct netent_data *);
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS struct netent_data *ndptr"
|
|
NET_R_BAD="#define NET_R_BAD (-1)"
|
|
NET_R_COPY="#define NET_R_COPY ndptr"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS struct netent_data *ndptr"
|
|
NET_R_OK="#define NET_R_OK 0"
|
|
NET_R_SETANSWER="#undef NET_R_SETANSWER"
|
|
NET_R_RETURN="#define NET_R_RETURN int"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T long"
|
|
NETENT_DATA="#define NETENT_DATA 1"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
[#include <netdb.h>
|
|
int getnetbyaddr_r (long, int, struct netent *, struct netent_data *);
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS struct netent_data *ndptr"
|
|
NET_R_BAD="#define NET_R_BAD (-1)"
|
|
NET_R_COPY="#define NET_R_COPY ndptr"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS struct netent_data *ndptr"
|
|
NET_R_OK="#define NET_R_OK 0"
|
|
NET_R_SETANSWER="#undef NET_R_SETANSWER"
|
|
NET_R_RETURN="#define NET_R_RETURN int"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T long"
|
|
NETENT_DATA="#define NETENT_DATA 1"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
[#include <netdb.h>
|
|
int getnetbyaddr_r (uint32_t, int, struct netent *,
|
|
char *, size_t, struct netent **, int *);
|
|
],
|
|
[return (0)],
|
|
[
|
|
NET_R_ARGS="#define NET_R_ARGS char *buf, size_t buflen, struct netent **answerp, int *h_errnop"
|
|
NET_R_BAD="#define NET_R_BAD ERANGE"
|
|
NET_R_COPY="#define NET_R_COPY buf, buflen"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS char *buf, size_t buflen"
|
|
NET_R_OK="#define NET_R_OK 0"
|
|
NET_R_SETANSWER="#define NET_R_SETANSWER 1"
|
|
NET_R_RETURN="#define NET_R_RETURN int"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T unsigned long int"
|
|
NETENT_DATA="#undef NETENT_DATA"
|
|
],
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
)
|
|
,
|
|
NET_R_ARGS="#define NET_R_ARGS char *buf, int buflen"
|
|
NET_R_BAD="#define NET_R_BAD NULL"
|
|
NET_R_COPY="#define NET_R_COPY buf, buflen"
|
|
NET_R_COPY_ARGS="#define NET_R_COPY_ARGS NET_R_ARGS"
|
|
NET_R_OK="#define NET_R_OK nptr"
|
|
NET_R_SETANSWER="#undef NET_R_SETANSWER"
|
|
NET_R_RETURN="#define NET_R_RETURN struct netent *"
|
|
GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T long"
|
|
NETENT_DATA="#undef NETENT_DATA"
|
|
)
|
|
esac
|
|
|
|
case "$host" in
|
|
*dec-osf*) GETNETBYADDR_ADDR_T="#define GETNETBYADDR_ADDR_T int" ;;
|
|
esac
|
|
AC_SUBST(NET_R_ARGS)
|
|
AC_SUBST(NET_R_BAD)
|
|
AC_SUBST(NET_R_COPY)
|
|
AC_SUBST(NET_R_COPY_ARGS)
|
|
AC_SUBST(NET_R_OK)
|
|
AC_SUBST(NET_R_SETANSWER)
|
|
AC_SUBST(NET_R_RETURN)
|
|
AC_SUBST(GETNETBYADDR_ADDR_T)
|
|
AC_SUBST(NETENT_DATA)
|
|
|
|
AC_CHECK_FUNC(setnetent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void setnetent_r (int);
|
|
] ,[return (0);],[
|
|
NET_R_ENT_ARGS="#undef NET_R_ENT_ARGS /*empty*/"
|
|
NET_R_SET_RESULT="#undef NET_R_SET_RESULT /*empty*/"
|
|
NET_R_SET_RETURN="#define NET_R_SET_RETURN void"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int setnetent_r(int, struct netent_data *);
|
|
] ,[return (0);],[
|
|
NET_R_ENT_ARGS="#define NET_R_ENT_ARGS struct netent_data *ndptr"
|
|
NET_R_SET_RESULT="#define NET_R_SET_RESULT NET_R_OK"
|
|
NET_R_SET_RETURN="#define NET_R_SET_RETURN int"
|
|
],
|
|
)
|
|
)
|
|
,
|
|
NET_R_ENT_ARGS="#undef NET_R_ENT_ARGS /*empty*/"
|
|
NET_R_SET_RESULT="#undef NET_R_SET_RESULT /*empty*/"
|
|
NET_R_SET_RETURN="#define NET_R_SET_RETURN void"
|
|
)
|
|
AC_SUBST(NET_R_ENT_ARGS)
|
|
AC_SUBST(NET_R_SET_RESULT)
|
|
AC_SUBST(NET_R_SET_RETURN)
|
|
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(endnetent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endnetent_r (void);
|
|
] ,[return (0);],[
|
|
NET_R_END_RESULT="#define NET_R_END_RESULT(x) /*empty*/"
|
|
NET_R_END_RETURN="#define NET_R_END_RETURN void"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int endnetent_r(struct netent_data *);
|
|
] ,[return (0);],[
|
|
NET_R_END_RESULT="#define NET_R_END_RESULT(x) return (x)"
|
|
NET_R_END_RETURN="#define NET_R_END_RETURN int"
|
|
],
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern void endnetent_r(struct netent_data *);
|
|
] ,[return (0);],[
|
|
NET_R_END_RESULT="#define NET_R_END_RESULT(x) /*empty*/"
|
|
NET_R_END_RETURN="#define NET_R_END_RETURN void"
|
|
],
|
|
)
|
|
)
|
|
)
|
|
,
|
|
NET_R_END_RESULT="#define NET_R_END_RESULT(x) /*empty*/"
|
|
NET_R_END_RETURN="#define NET_R_END_RETURN void"
|
|
)
|
|
esac
|
|
AC_SUBST(NET_R_END_RESULT)
|
|
AC_SUBST(NET_R_END_RETURN)
|
|
|
|
AC_CHECK_FUNC(getgrnam_r,,AC_DEFINE(NEED_GETGRNAM_R))
|
|
AC_CHECK_FUNC(getgrgid_r,,AC_DEFINE(NEED_GETGRGID_R))
|
|
|
|
AC_CHECK_FUNC(getgrent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <grp.h>
|
|
struct group *getgrent_r(struct group *grp, char *buffer,
|
|
int buflen) {}
|
|
] ,[return (0);],[
|
|
GROUP_R_ARGS="#define GROUP_R_ARGS char *buf, int buflen"
|
|
GROUP_R_BAD="#define GROUP_R_BAD NULL"
|
|
GROUP_R_OK="#define GROUP_R_OK gptr"
|
|
GROUP_R_RETURN="#define GROUP_R_RETURN struct group *"
|
|
],
|
|
)
|
|
,
|
|
GROUP_R_ARGS="#define GROUP_R_ARGS char *buf, int buflen"
|
|
GROUP_R_BAD="#define GROUP_R_BAD NULL"
|
|
GROUP_R_OK="#define GROUP_R_OK gptr"
|
|
GROUP_R_RETURN="#define GROUP_R_RETURN struct group *"
|
|
AC_DEFINE(NEED_GETGRENT_R)
|
|
)
|
|
AC_SUBST(GROUP_R_ARGS)
|
|
AC_SUBST(GROUP_R_BAD)
|
|
AC_SUBST(GROUP_R_OK)
|
|
AC_SUBST(GROUP_R_RETURN)
|
|
|
|
AC_CHECK_FUNC(endgrent_r,
|
|
,
|
|
GROUP_R_END_RESULT="#define GROUP_R_END_RESULT(x) /*empty*/"
|
|
GROUP_R_END_RETURN="#define GROUP_R_END_RETURN void"
|
|
GROUP_R_ENT_ARGS="#define GROUP_R_ENT_ARGS void"
|
|
AC_DEFINE(NEED_ENDGRENT_R)
|
|
)
|
|
AC_SUBST(GROUP_R_END_RESULT)
|
|
AC_SUBST(GROUP_R_END_RETURN)
|
|
AC_SUBST(GROUP_R_ENT_ARGS)
|
|
|
|
AC_CHECK_FUNC(setgrent_r,
|
|
,
|
|
GROUP_R_SET_RESULT="#undef GROUP_R_SET_RESULT /*empty*/"
|
|
GROUP_R_SET_RETURN="#define GROUP_R_SET_RETURN void"
|
|
AC_DEFINE(NEED_SETGRENT_R)
|
|
)
|
|
AC_SUBST(GROUP_R_SET_RESULT)
|
|
AC_SUBST(GROUP_R_SET_RETURN)
|
|
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(gethostbyname_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
struct hostent *gethostbyname_r
|
|
(const char *name, struct hostent *hp, char *buf, int len, int *h_errnop) {}
|
|
],
|
|
[return (0);],
|
|
[
|
|
HOST_R_ARGS="#define HOST_R_ARGS char *buf, int buflen, int *h_errnop"
|
|
HOST_R_BAD="#define HOST_R_BAD NULL"
|
|
HOST_R_COPY="#define HOST_R_COPY buf, buflen"
|
|
HOST_R_COPY_ARGS="#define HOST_R_COPY_ARGS char *buf, int buflen"
|
|
HOST_R_ERRNO="#define HOST_R_ERRNO *h_errnop = h_errno"
|
|
HOST_R_OK="#define HOST_R_OK hptr"
|
|
HOST_R_RETURN="#define HOST_R_RETURN struct hostent *"
|
|
HOST_R_SETANSWER="#undef HOST_R_SETANSWER"
|
|
HOSTENT_DATA="#undef HOSTENT_DATA"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int gethostbyname_r(const char *name,
|
|
struct hostent *result,
|
|
struct hostent_data *hdptr);
|
|
],,[
|
|
HOST_R_ARGS="#define HOST_R_ARGS struct hostent_data *hdptr"
|
|
HOST_R_BAD="#define HOST_R_BAD (-1)"
|
|
HOST_R_COPY="#define HOST_R_COPY hdptr"
|
|
HOST_R_COPY_ARGS="#define HOST_R_COPY_ARGS HOST_R_ARGS"
|
|
HOST_R_ERRNO="#undef HOST_R_ERRNO"
|
|
HOST_R_OK="#define HOST_R_OK 0"
|
|
HOST_R_RETURN="#define HOST_R_RETURN int"
|
|
HOST_R_SETANSWER="#undef HOST_R_SETANSWER"
|
|
HOSTENT_DATA="#define HOSTENT_DATA 1"
|
|
],
|
|
AC_TRY_COMPILE([
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int gethostbyname_r (const char *,
|
|
struct hostent *,
|
|
char *, size_t,
|
|
struct hostent **,
|
|
int *);
|
|
],,[
|
|
HOST_R_ARGS="#define HOST_R_ARGS char *buf, size_t buflen, struct hostent **answerp, int *h_errnop"
|
|
HOST_R_BAD="#define HOST_R_BAD ERANGE"
|
|
HOST_R_COPY="#define HOST_R_COPY buf, buflen"
|
|
HOST_R_COPY_ARGS="#define HOST_R_COPY_ARGS char *buf, int buflen"
|
|
HOST_R_ERRNO="#define HOST_R_ERRNO *h_errnop = h_errno"
|
|
HOST_R_OK="#define HOST_R_OK 0"
|
|
HOST_R_RETURN="#define HOST_R_RETURN int"
|
|
HOST_R_SETANSWER="#define HOST_R_SETANSWER 1"
|
|
HOSTENT_DATA="#undef HOSTENT_DATA"
|
|
],
|
|
)))
|
|
,
|
|
HOST_R_ARGS="#define HOST_R_ARGS char *buf, int buflen, int *h_errnop"
|
|
HOST_R_BAD="#define HOST_R_BAD NULL"
|
|
HOST_R_COPY="#define HOST_R_COPY buf, buflen"
|
|
HOST_R_COPY_ARGS="#define HOST_R_COPY_ARGS char *buf, int buflen"
|
|
HOST_R_ERRNO="#define HOST_R_ERRNO *h_errnop = h_errno"
|
|
HOST_R_OK="#define HOST_R_OK hptr"
|
|
HOST_R_RETURN="#define HOST_R_RETURN struct hostent *"
|
|
HOST_R_SETANSWER="#undef HOST_R_SETANSWER"
|
|
HOSTENT_DATA="#undef HOSTENT_DATA"
|
|
)
|
|
esac
|
|
AC_SUBST(HOST_R_ARGS)
|
|
AC_SUBST(HOST_R_BAD)
|
|
AC_SUBST(HOST_R_COPY)
|
|
AC_SUBST(HOST_R_COPY_ARGS)
|
|
AC_SUBST(HOST_R_ERRNO)
|
|
AC_SUBST(HOST_R_OK)
|
|
AC_SUBST(HOST_R_RETURN)
|
|
AC_SUBST(HOST_R_SETANSWER)
|
|
AC_SUBST(HOSTENT_DATA)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(endhostent_r,
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int endhostent_r(struct hostent_data *buffer);
|
|
], ,
|
|
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x) return (x)"
|
|
HOST_R_END_RETURN="#define HOST_R_END_RETURN int"
|
|
HOST_R_ENT_ARGS="#define HOST_R_ENT_ARGS struct hostent_data *hdptr"
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern void endhostent_r(struct hostent_data *ht_data);
|
|
],[],[
|
|
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x)"
|
|
HOST_R_END_RETURN="#define HOST_R_END_RETURN void"
|
|
HOST_R_ENT_ARGS="#define HOST_R_ENT_ARGS struct hostent_data *hdptr"
|
|
],
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern void endhostent_r(void);
|
|
],[],[
|
|
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x) /*empty*/"
|
|
HOST_R_END_RETURN="#define HOST_R_END_RETURN void"
|
|
HOST_R_ENT_ARGS="#undef HOST_R_ENT_ARGS /*empty*/"
|
|
],
|
|
)
|
|
)
|
|
)
|
|
,
|
|
HOST_R_END_RESULT="#define HOST_R_END_RESULT(x) /*empty*/"
|
|
HOST_R_END_RETURN="#define HOST_R_END_RETURN void"
|
|
HOST_R_ENT_ARGS="#undef HOST_R_ENT_ARGS /*empty*/"
|
|
)
|
|
esac;
|
|
AC_SUBST(HOST_R_END_RESULT)
|
|
AC_SUBST(HOST_R_END_RETURN)
|
|
AC_SUBST(HOST_R_ENT_ARGS)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(sethostent_r,
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern void sethostent_r(int flag, struct hostent_data *ht_data);],[],
|
|
[HOST_R_SET_RESULT="#undef HOST_R_SET_RESULT /*empty*/"
|
|
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN void"],
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int sethostent_r(int flag, struct hostent_data *ht_data);],[],
|
|
[HOST_R_SET_RESULT="#define HOST_R_SET_RESULT 0"
|
|
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN int"],
|
|
AC_TRY_COMPILE([
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void sethostent_r (int);],[],
|
|
[HOST_R_SET_RESULT="#undef HOST_R_SET_RESULT"
|
|
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN void"],
|
|
)
|
|
)
|
|
)
|
|
,
|
|
HOST_R_SET_RESULT="#undef HOST_R_SET_RESULT"
|
|
HOST_R_SET_RETURN="#define HOST_R_SET_RETURN void"
|
|
)
|
|
esac
|
|
AC_SUBST(HOST_R_SET_RESULT)
|
|
AC_SUBST(HOST_R_SET_RETURN)
|
|
|
|
|
|
AC_MSG_CHECKING(struct passwd element pw_class)
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <pwd.h>
|
|
],[struct passwd *pw; pw->pw_class = "";],
|
|
AC_MSG_RESULT(yes)
|
|
AC_DEFINE(HAS_PW_CLASS)
|
|
,
|
|
AC_MSG_RESULT(no)
|
|
)
|
|
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <pwd.h>
|
|
void
|
|
setpwent(void) {}
|
|
],
|
|
[return (0);],
|
|
SETPWENT_VOID="#define SETPWENT_VOID 1"
|
|
,
|
|
SETPWENT_VOID="#undef SETPWENT_VOID"
|
|
)
|
|
AC_SUBST(SETPWENT_VOID)
|
|
|
|
AC_TRY_COMPILE([
|
|
#include <sys/types.h>
|
|
#include <grp.h>
|
|
void
|
|
setgrent(void) {}
|
|
],
|
|
[return (0);],
|
|
SETGRENT_VOID="#define SETGRENT_VOID 1"
|
|
,
|
|
SETGRENT_VOID="#undef SETGRENT_VOID"
|
|
)
|
|
AC_SUBST(SETGRENT_VOID)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(getnetgrent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int getnetgrent_r(char **m, char **u, char **d, char *b, int l) {}
|
|
]
|
|
,
|
|
[return (0);],
|
|
[
|
|
NGR_R_ARGS="#define NGR_R_ARGS char *buf, int buflen"
|
|
NGR_R_BAD="#define NGR_R_BAD (0)"
|
|
NGR_R_COPY="#define NGR_R_COPY buf, buflen"
|
|
NGR_R_COPY_ARGS="#define NGR_R_COPY_ARGS NGR_R_ARGS"
|
|
NGR_R_OK="#define NGR_R_OK 1"
|
|
NGR_R_RETURN="#define NGR_R_RETURN int"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int getnetgrent_r(char **m, char **u, char **d, char *b, size_t l) {}
|
|
]
|
|
,
|
|
[return (0);],
|
|
[
|
|
NGR_R_ARGS="#define NGR_R_ARGS char *buf, size_t buflen"
|
|
NGR_R_BAD="#define NGR_R_BAD (0)"
|
|
NGR_R_COPY="#define NGR_R_COPY buf, buflen"
|
|
NGR_R_COPY_ARGS="#define NGR_R_COPY_ARGS NGR_R_ARGS"
|
|
NGR_R_OK="#define NGR_R_OK 1"
|
|
NGR_R_RETURN="#define NGR_R_RETURN int"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
extern int getnetgrent_r( char **, char **, char **, void **);
|
|
]
|
|
,
|
|
[return (0);],
|
|
[
|
|
NGR_R_ARGS="#define NGR_R_ARGS void **buf"
|
|
NGR_R_BAD="#define NGR_R_BAD (0)"
|
|
NGR_R_COPY="#define NGR_R_COPY buf"
|
|
NGR_R_COPY_ARGS="#define NGR_R_COPY_ARGS NGR_R_ARGS"
|
|
NGR_R_OK="#define NGR_R_OK 1"
|
|
NGR_R_RETURN="#define NGR_R_RETURN int"
|
|
NGR_R_PRIVATE="#define NGR_R_PRIVATE 1"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
)
|
|
,
|
|
NGR_R_ARGS="#define NGR_R_ARGS char *buf, int buflen"
|
|
NGR_R_BAD="#define NGR_R_BAD (0)"
|
|
NGR_R_COPY="#define NGR_R_COPY buf, buflen"
|
|
NGR_R_COPY_ARGS="#define NGR_R_COPY_ARGS NGR_R_ARGS"
|
|
NGR_R_OK="#define NGR_R_OK 1"
|
|
NGR_R_RETURN="#define NGR_R_RETURN int"
|
|
)
|
|
esac
|
|
AC_SUBST(NGR_R_ARGS)
|
|
AC_SUBST(NGR_R_BAD)
|
|
AC_SUBST(NGR_R_COPY)
|
|
AC_SUBST(NGR_R_COPY_ARGS)
|
|
AC_SUBST(NGR_R_OK)
|
|
AC_SUBST(NGR_R_RETURN)
|
|
AC_SUBST(NGR_R_PRIVATE)
|
|
|
|
AC_CHECK_FUNC(endnetgrent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endnetgrent_r(void **ptr);
|
|
]
|
|
,
|
|
[return (0);]
|
|
,
|
|
[
|
|
NGR_R_END_RESULT="#define NGR_R_END_RESULT(x) /* empty */"
|
|
NGR_R_END_RETURN="#define NGR_R_END_RETURN void"
|
|
NGR_R_ENT_ARGS="#define NGR_R_ENT_ARGS NGR_R_ARGS"
|
|
]
|
|
,
|
|
[
|
|
NGR_R_END_RESULT="#define NGR_R_END_RESULT(x) return (x)"
|
|
NGR_R_END_RETURN="#define NGR_R_END_RETURN int"
|
|
NGR_R_ENT_ARGS="#define NGR_R_ENT_ARGS NGR_R_ARGS"
|
|
]
|
|
)
|
|
,
|
|
NGR_R_END_RESULT="#define NGR_R_END_RESULT(x) /*empty*/"
|
|
NGR_R_END_RETURN="#define NGR_R_END_RETURN void"
|
|
NGR_R_ENT_ARGS="#undef NGR_R_ENT_ARGS /*empty*/"
|
|
AC_DEFINE(NEED_ENDNETGRENT_R)
|
|
)
|
|
AC_SUBST(NGR_R_END_RESULT)
|
|
AC_SUBST(NGR_R_END_RETURN)
|
|
AC_SUBST(NGR_R_ENT_ARGS)
|
|
|
|
AC_CHECK_FUNC(setnetgrent_r,
|
|
[
|
|
case "$host" in
|
|
*bsdi*)
|
|
NGR_R_SET_RESULT="#undef NGR_R_SET_RESULT /*empty*/"
|
|
NGR_R_SET_RETURN="#define NGR_R_SET_RETURN void"
|
|
;;
|
|
*)
|
|
NGR_R_SET_RESULT="#define NGR_R_SET_RESULT NGR_R_OK"
|
|
NGR_R_SET_RETURN="#define NGR_R_SET_RETURN int"
|
|
;;
|
|
esac
|
|
]
|
|
,
|
|
NGR_R_SET_RESULT="#undef NGR_R_SET_RESULT /*empty*/"
|
|
NGR_R_SET_RETURN="#define NGR_R_SET_RETURN void"
|
|
)
|
|
AC_SUBST(NGR_R_SET_RESULT)
|
|
AC_SUBST(NGR_R_SET_RETURN)
|
|
|
|
AC_CHECK_FUNC(innetgr_r,,AC_DEFINE(NEED_INNETGR_R))
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(getprotoent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
struct protoent *getprotoent_r(struct protoent *result,
|
|
char *buffer, int buflen) {}
|
|
]
|
|
,
|
|
[return (0);]
|
|
,
|
|
[
|
|
PROTO_R_ARGS="#define PROTO_R_ARGS char *buf, int buflen"
|
|
PROTO_R_BAD="#define PROTO_R_BAD NULL"
|
|
PROTO_R_COPY="#define PROTO_R_COPY buf, buflen"
|
|
PROTO_R_COPY_ARGS="#define PROTO_R_COPY_ARGS PROTO_R_ARGS"
|
|
PROTO_R_OK="#define PROTO_R_OK pptr"
|
|
PROTO_R_SETANSWER="#undef PROTO_R_SETANSWER"
|
|
PROTO_R_RETURN="#define PROTO_R_RETURN struct protoent *"
|
|
PROTOENT_DATA="#undef PROTOENT_DATA"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int getprotoent_r (struct protoent *, char *, size_t, struct protoent **);
|
|
|
|
]
|
|
,
|
|
[return (0);]
|
|
,
|
|
[
|
|
PROTO_R_ARGS="#define PROTO_R_ARGS char *buf, size_t buflen, struct protoent **answerp"
|
|
PROTO_R_BAD="#define PROTO_R_BAD ERANGE"
|
|
PROTO_R_COPY="#define PROTO_R_COPY buf, buflen"
|
|
PROTO_R_COPY_ARGS="#define PROTO_R_COPY_ARGS char *buf, size_t buflen"
|
|
PROTO_R_OK="#define PROTO_R_OK 0"
|
|
PROTO_R_SETANSWER="#define PROTO_R_SETANSWER 1"
|
|
PROTO_R_RETURN="#define PROTO_R_RETURN int"
|
|
PROTOENT_DATA="#undef PROTOENT_DATA"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int getprotoent_r (struct protoent *, struct protoent_data *prot_data);
|
|
|
|
]
|
|
,
|
|
[return (0);]
|
|
,
|
|
[
|
|
PROTO_R_ARGS="#define PROTO_R_ARGS struct protoent_data *prot_data"
|
|
PROTO_R_BAD="#define PROTO_R_BAD (-1)"
|
|
PROTO_R_COPY="#define PROTO_R_COPY prot_data"
|
|
PROTO_R_COPY_ARGS="#define PROTO_R_COPY_ARGS struct protoent_data *pdptr"
|
|
PROTO_R_OK="#define PROTO_R_OK 0"
|
|
PROTO_R_SETANSWER="#undef PROTO_R_SETANSWER"
|
|
PROTO_R_RETURN="#define PROTO_R_RETURN int"
|
|
PROTOENT_DATA="#define PROTOENT_DATA 1"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
)
|
|
,
|
|
PROTO_R_ARGS="#define PROTO_R_ARGS char *buf, int buflen"
|
|
PROTO_R_BAD="#define PROTO_R_BAD NULL"
|
|
PROTO_R_COPY="#define PROTO_R_COPY buf, buflen"
|
|
PROTO_R_COPY_ARGS="#define PROTO_R_COPY_ARGS PROTO_R_ARGS"
|
|
PROTO_R_OK="#define PROTO_R_OK pptr"
|
|
PROTO_R_SETANSWER="#undef PROTO_R_SETANSWER"
|
|
PROTO_R_RETURN="#define PROTO_R_RETURN struct protoent *"
|
|
PROTOENT_DATA="#undef PROTOENT_DATA"
|
|
)
|
|
;;
|
|
esac
|
|
AC_SUBST(PROTO_R_ARGS)
|
|
AC_SUBST(PROTO_R_BAD)
|
|
AC_SUBST(PROTO_R_COPY)
|
|
AC_SUBST(PROTO_R_COPY_ARGS)
|
|
AC_SUBST(PROTO_R_OK)
|
|
AC_SUBST(PROTO_R_SETANSWER)
|
|
AC_SUBST(PROTO_R_RETURN)
|
|
AC_SUBST(PROTOENT_DATA)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(endprotoent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endprotoent_r(void);
|
|
]
|
|
,,
|
|
[
|
|
PROTO_R_END_RESULT="#define PROTO_R_END_RESULT(x) /*empty*/"
|
|
PROTO_R_END_RETURN="#define PROTO_R_END_RETURN void"
|
|
PROTO_R_ENT_ARGS="#undef PROTO_R_ENT_ARGS"
|
|
PROTO_R_ENT_UNUSED="#undef PROTO_R_ENT_UNUSED"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endprotoent_r(struct protoent_data *);
|
|
]
|
|
,,
|
|
[
|
|
PROTO_R_END_RESULT="#define PROTO_R_END_RESULT(x) /*empty*/"
|
|
PROTO_R_END_RETURN="#define PROTO_R_END_RETURN void"
|
|
PROTO_R_ENT_ARGS="#define PROTO_R_ENT_ARGS struct protoent_data *proto_data"
|
|
PROTO_R_ENT_UNUSED="#define PROTO_R_ENT_UNUSED UNUSED(proto_data)"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int endprotoent_r(struct protoent_data *);
|
|
]
|
|
,,
|
|
[
|
|
PROTO_R_END_RESULT="#define PROTO_R_END_RESULT(x) return(0)"
|
|
PROTO_R_END_RETURN="#define PROTO_R_END_RETURN int"
|
|
PROTO_R_ENT_ARGS="#define PROTO_R_ENT_ARGS struct protoent_data *proto_data"
|
|
PROTO_R_ENT_UNUSED="#define PROTO_R_ENT_UNUSED UNUSED(proto_data)"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
)
|
|
,
|
|
PROTO_R_END_RESULT="#define PROTO_R_END_RESULT(x) /*empty*/"
|
|
PROTO_R_END_RETURN="#define PROTO_R_END_RETURN void"
|
|
PROTO_R_ENT_ARGS="#undef PROTO_R_ENT_ARGS /*empty*/"
|
|
PROTO_R_ENT_UNUSED="#undef PROTO_R_ENT_UNUSED"
|
|
)
|
|
esac
|
|
AC_SUBST(PROTO_R_END_RESULT)
|
|
AC_SUBST(PROTO_R_END_RETURN)
|
|
AC_SUBST(PROTO_R_ENT_ARGS)
|
|
AC_SUBST(PROTO_R_ENT_UNUSED)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(setprotoent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void setprotoent_r __P((int));
|
|
],[],
|
|
PROTO_R_SET_RESULT="#undef PROTO_R_SET_RESULT"
|
|
PROTO_R_SET_RETURN="#define PROTO_R_SET_RETURN void"
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int setprotoent_r (int, struct protoent_data *);
|
|
],[],
|
|
PROTO_R_SET_RESULT="#define PROTO_R_SET_RESULT (0)"
|
|
PROTO_R_SET_RETURN="#define PROTO_R_SET_RETURN int"
|
|
,
|
|
)
|
|
)
|
|
,
|
|
PROTO_R_SET_RESULT="#undef PROTO_R_SET_RESULT"
|
|
PROTO_R_SET_RETURN="#define PROTO_R_SET_RETURN void"
|
|
)
|
|
esac
|
|
AC_SUBST(PROTO_R_SET_RESULT)
|
|
AC_SUBST(PROTO_R_SET_RETURN)
|
|
|
|
AC_CHECK_FUNC(getpwent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <sys/types.h>
|
|
#include <pwd.h>
|
|
struct passwd *
|
|
getpwent_r(struct passwd *pwptr, char *buf, int buflen) {}
|
|
]
|
|
,
|
|
[]
|
|
,
|
|
PASS_R_ARGS="#define PASS_R_ARGS char *buf, int buflen"
|
|
PASS_R_BAD="#define PASS_R_BAD NULL"
|
|
PASS_R_COPY="#define PASS_R_COPY buf, buflen"
|
|
PASS_R_COPY_ARGS="#define PASS_R_COPY_ARGS PASS_R_ARGS"
|
|
PASS_R_OK="#define PASS_R_OK pwptr"
|
|
PASS_R_RETURN="#define PASS_R_RETURN struct passwd *"
|
|
,
|
|
)
|
|
,
|
|
PASS_R_ARGS="#define PASS_R_ARGS char *buf, int buflen"
|
|
PASS_R_BAD="#define PASS_R_BAD NULL"
|
|
PASS_R_COPY="#define PASS_R_COPY buf, buflen"
|
|
PASS_R_COPY_ARGS="#define PASS_R_COPY_ARGS PASS_R_ARGS"
|
|
PASS_R_OK="#define PASS_R_OK pwptr"
|
|
PASS_R_RETURN="#define PASS_R_RETURN struct passwd *"
|
|
AC_DEFINE(NEED_GETPWENT_R)
|
|
)
|
|
AC_SUBST(PASS_R_ARGS)
|
|
AC_SUBST(PASS_R_BAD)
|
|
AC_SUBST(PASS_R_COPY)
|
|
AC_SUBST(PASS_R_COPY_ARGS)
|
|
AC_SUBST(PASS_R_OK)
|
|
AC_SUBST(PASS_R_RETURN)
|
|
|
|
AC_CHECK_FUNC(endpwent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#include <pwd.h>
|
|
void endpwent_r(FILE **pwfp);
|
|
], ,
|
|
PASS_R_END_RESULT="#define PASS_R_END_RESULT(x) /*empty*/"
|
|
PASS_R_END_RETURN="#define PASS_R_END_RETURN void"
|
|
PASS_R_ENT_ARGS="#define PASS_R_ENT_ARGS FILE **pwptr"
|
|
,
|
|
)
|
|
,
|
|
PASS_R_END_RESULT="#define PASS_R_END_RESULT(x) /*empty*/"
|
|
PASS_R_END_RETURN="#define PASS_R_END_RETURN void"
|
|
PASS_R_ENT_ARGS="#undef PASS_R_ENT_ARGS"
|
|
AC_DEFINE(NEED_ENDPWENT_R)
|
|
)
|
|
AC_SUBST(PASS_R_END_RESULT)
|
|
AC_SUBST(PASS_R_END_RETURN)
|
|
AC_SUBST(PASS_R_ENT_ARGS)
|
|
AC_CHECK_FUNC(setpassent_r,,AC_DEFINE(NEED_SETPASSENT_R))
|
|
AC_CHECK_FUNC(setpassent,,AC_DEFINE(NEED_SETPASSENT))
|
|
|
|
AC_CHECK_FUNC(setpwent_r,
|
|
AC_TRY_COMPILE([
|
|
#include <pwd.h>
|
|
void setpwent_r(FILE **pwfp);
|
|
], ,
|
|
PASS_R_SET_RESULT="#undef PASS_R_SET_RESULT /* empty */"
|
|
PASS_R_SET_RETURN="#define PASS_R_SET_RETURN int"
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#include <pwd.h>
|
|
int setpwent_r(FILE **pwfp);
|
|
], ,
|
|
PASS_R_SET_RESULT="#define PASS_R_SET_RESULT 0"
|
|
PASS_R_SET_RETURN="#define PASS_R_SET_RETURN int"
|
|
,
|
|
)
|
|
)
|
|
,
|
|
PASS_R_SET_RESULT="#undef PASS_R_SET_RESULT /*empty*/"
|
|
PASS_R_SET_RETURN="#define PASS_R_SET_RETURN void"
|
|
AC_DEFINE(NEED_SETPWENT_R)
|
|
)
|
|
AC_SUBST(PASS_R_SET_RESULT)
|
|
AC_SUBST(PASS_R_SET_RETURN)
|
|
|
|
AC_CHECK_FUNC(getpwnam_r,,AC_DEFINE(NEED_GETPWNAM_R))
|
|
AC_CHECK_FUNC(getpwuid_r,,AC_DEFINE(NEED_GETPWUID_R))
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(getservent_r,
|
|
AC_TRY_COMPILE([
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
struct servent *
|
|
getservent_r(struct servent *result, char *buffer, int buflen) {}
|
|
],[return (0);],
|
|
[
|
|
SERV_R_ARGS="#define SERV_R_ARGS char *buf, int buflen"
|
|
SERV_R_BAD="#define SERV_R_BAD NULL"
|
|
SERV_R_COPY="#define SERV_R_COPY buf, buflen"
|
|
SERV_R_COPY_ARGS="#define SERV_R_COPY_ARGS SERV_R_ARGS"
|
|
SERV_R_OK="#define SERV_R_OK sptr"
|
|
SERV_R_SETANSWER="#undef SERV_R_SETANSWER"
|
|
SERV_R_RETURN="#define SERV_R_RETURN struct servent *"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int
|
|
getservent_r (struct servent *, char *, size_t, struct servent **);
|
|
],[return (0);],
|
|
[
|
|
SERV_R_ARGS="#define SERV_R_ARGS char *buf, size_t buflen, struct servent **answerp"
|
|
SERV_R_BAD="#define SERV_R_BAD ERANGE"
|
|
SERV_R_COPY="#define SERV_R_COPY buf, buflen"
|
|
SERV_R_COPY_ARGS="#define SERV_R_COPY_ARGS char *buf, size_t buflen"
|
|
SERV_R_OK="#define SERV_R_OK (0)"
|
|
SERV_R_SETANSWER="#define SERV_R_SETANSWER 1"
|
|
SERV_R_RETURN="#define SERV_R_RETURN int"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE([
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int
|
|
getservent_r (struct servent *, struct servent_data *serv_data);
|
|
],[return (0);],
|
|
[
|
|
SERV_R_ARGS="#define SERV_R_ARGS struct servent_data *serv_data"
|
|
SERV_R_BAD="#define SERV_R_BAD (-1)"
|
|
SERV_R_COPY="#define SERV_R_COPY serv_data"
|
|
SERV_R_COPY_ARGS="#define SERV_R_COPY_ARGS struct servent_data *sdptr"
|
|
SERV_R_OK="#define SERV_R_OK (0)"
|
|
SERV_R_SETANSWER="#undef SERV_R_SETANSWER"
|
|
SERV_R_RETURN="#define SERV_R_RETURN int"
|
|
SERVENT_DATA="#define SERVENT_DATA 1"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
)
|
|
,
|
|
SERV_R_ARGS="#define SERV_R_ARGS char *buf, int buflen"
|
|
SERV_R_BAD="#define SERV_R_BAD NULL"
|
|
SERV_R_COPY="#define SERV_R_COPY buf, buflen"
|
|
SERV_R_COPY_ARGS="#define SERV_R_COPY_ARGS SERV_R_ARGS"
|
|
SERV_R_OK="#define SERV_R_OK sptr"
|
|
SERV_R_SETANSWER="#undef SERV_R_SETANSWER"
|
|
SERV_R_RETURN="#define SERV_R_RETURN struct servent *"
|
|
)
|
|
esac
|
|
AC_SUBST(SERV_R_ARGS)
|
|
AC_SUBST(SERV_R_BAD)
|
|
AC_SUBST(SERV_R_COPY)
|
|
AC_SUBST(SERV_R_COPY_ARGS)
|
|
AC_SUBST(SERV_R_OK)
|
|
AC_SUBST(SERV_R_SETANSWER)
|
|
AC_SUBST(SERV_R_RETURN)
|
|
AC_SUBST(SERVENT_DATA)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(endservent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endservent_r(void);
|
|
]
|
|
,
|
|
,
|
|
[
|
|
SERV_R_END_RESULT="#define SERV_R_END_RESULT(x) /*empty*/"
|
|
SERV_R_END_RETURN="#define SERV_R_END_RETURN void "
|
|
SERV_R_ENT_ARGS="#undef SERV_R_ENT_ARGS /*empty*/"
|
|
SERV_R_ENT_UNUSED="#undef SERV_R_ENT_UNUSED /*empty*/"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void endservent_r(struct servent_data *serv_data);
|
|
]
|
|
,
|
|
,
|
|
[
|
|
SERV_R_END_RESULT="#define SERV_R_END_RESULT(x) /*empty*/"
|
|
SERV_R_END_RETURN="#define SERV_R_END_RETURN void "
|
|
SERV_R_ENT_ARGS="#define SERV_R_ENT_ARGS struct servent_data *serv_data"
|
|
SERV_R_ENT_UNUSED="#define SERV_R_ENT_UNUSED UNUSED(serv_data)"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int endservent_r(struct servent_data *serv_data);
|
|
]
|
|
,
|
|
,
|
|
[
|
|
SERV_R_END_RESULT="#define SERV_R_END_RESULT(x) return(x)"
|
|
SERV_R_END_RETURN="#define SERV_R_END_RETURN int "
|
|
SERV_R_ENT_ARGS="#define SERV_R_ENT_ARGS struct servent_data *serv_data"
|
|
SERV_R_ENT_UNUSED="#define SERV_R_ENT_UNUSED UNUSED(serv_data)"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
)
|
|
,
|
|
SERV_R_END_RESULT="#define SERV_R_END_RESULT(x) /*empty*/"
|
|
SERV_R_END_RETURN="#define SERV_R_END_RETURN void "
|
|
SERV_R_ENT_ARGS="#undef SERV_R_ENT_ARGS /*empty*/"
|
|
SERV_R_ENT_UNUSED="#undef SERV_R_ENT_UNUSED /*empty*/"
|
|
)
|
|
esac
|
|
AC_SUBST(SERV_R_END_RESULT)
|
|
AC_SUBST(SERV_R_END_RETURN)
|
|
AC_SUBST(SERV_R_ENT_ARGS)
|
|
AC_SUBST(SERV_R_ENT_UNUSED)
|
|
|
|
case $host in
|
|
ia64-hp-hpux11.*)
|
|
;;
|
|
*)
|
|
AC_CHECK_FUNC(setservent_r,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
void setservent_r(int);
|
|
]
|
|
,,
|
|
[
|
|
SERV_R_SET_RESULT="#undef SERV_R_SET_RESULT"
|
|
SERV_R_SET_RETURN="#define SERV_R_SET_RETURN void"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <netdb.h>
|
|
int setservent_r(int, struct servent_data *);
|
|
]
|
|
,,
|
|
[
|
|
SERV_R_SET_RESULT="#define SERV_R_SET_RESULT (0)"
|
|
SERV_R_SET_RETURN="#define SERV_R_SET_RETURN int"
|
|
]
|
|
,
|
|
)
|
|
)
|
|
,
|
|
SERV_R_SET_RESULT="#undef SERV_R_SET_RESULT"
|
|
SERV_R_SET_RETURN="#define SERV_R_SET_RETURN void"
|
|
)
|
|
esac
|
|
AC_SUBST(SERV_R_SET_RESULT)
|
|
AC_SUBST(SERV_R_SET_RETURN)
|
|
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <unistd.h>
|
|
#include <netdb.h>
|
|
int innetgr(const char *netgroup, const char *host, const char *user, const char *domain);
|
|
]
|
|
,,
|
|
[
|
|
INNETGR_ARGS="#undef INNETGR_ARGS"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <unistd.h>
|
|
#include <netdb.h>
|
|
int innetgr(char *netgroup, char *host, char *user, char *domain);
|
|
]
|
|
,,
|
|
[
|
|
INNETGR_ARGS="#define INNETGR_ARGS char *netgroup, char *host, char *user, char *domain"
|
|
]
|
|
,
|
|
))
|
|
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <unistd.h>
|
|
#include <netdb.h>
|
|
void setnetgrent(const char *);
|
|
]
|
|
,,
|
|
[
|
|
SETNETGRENT_ARGS="#undef SETNETGRENT_ARGS"
|
|
]
|
|
,
|
|
AC_TRY_COMPILE(
|
|
[
|
|
#undef _REENTRANT
|
|
#define _REENTRANT
|
|
#undef __USE_MISC
|
|
#define __USE_MISC
|
|
#include <unistd.h>
|
|
#include <netdb.h>
|
|
void setnetgrent(char *);
|
|
]
|
|
,,
|
|
[
|
|
SETNETGRENT_ARGS="#define SETNETGRENT_ARGS char *netgroup"
|
|
]
|
|
,
|
|
))
|
|
AC_SUBST(SETNETGRENT_ARGS)
|
|
AC_SUBST(INNETGR_ARGS)
|
|
|
|
#
|
|
# Random remaining OS-specific issues involving compiler warnings.
|
|
# XXXDCL print messages to indicate some compensation is being done?
|
|
#
|
|
BROKEN_IN6ADDR_INIT_MACROS="#undef BROKEN_IN6ADDR_INIT_MACROS"
|
|
|
|
case "$host" in
|
|
*-aix5.1.*)
|
|
hack_shutup_pthreadmutexinit=yes
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-aix5.[[23]].*)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-bsdi3.1*)
|
|
hack_shutup_sputaux=yes
|
|
;;
|
|
*-bsdi4.0*)
|
|
hack_shutup_sigwait=yes
|
|
hack_shutup_sputaux=yes
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-bsdi4.1*)
|
|
hack_shutup_stdargcast=yes
|
|
;;
|
|
*-hpux11.11)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-osf5.1|*-osf5.1b)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-solaris2.8)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-solaris2.9)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
*-solaris2.10)
|
|
hack_shutup_in6addr_init_macros=yes
|
|
;;
|
|
esac
|
|
|
|
case "$hack_shutup_pthreadmutexinit" in
|
|
yes)
|
|
#
|
|
# Shut up PTHREAD_MUTEX_INITIALIZER unbraced
|
|
# initializer warnings.
|
|
#
|
|
AC_DEFINE(SHUTUP_MUTEX_INITIALIZER)
|
|
;;
|
|
esac
|
|
|
|
case "$hack_shutup_sigwait" in
|
|
yes)
|
|
#
|
|
# Shut up a -Wmissing-prototypes warning for sigwait().
|
|
#
|
|
AC_DEFINE(SHUTUP_SIGWAIT)
|
|
;;
|
|
esac
|
|
|
|
case "$hack_shutup_sputaux" in
|
|
yes)
|
|
#
|
|
# Shut up a -Wmissing-prototypes warning from <stdio.h>.
|
|
#
|
|
AC_DEFINE(SHUTUP_SPUTAUX)
|
|
;;
|
|
esac
|
|
|
|
case "$hack_shutup_stdargcast" in
|
|
yes)
|
|
#
|
|
# Shut up a -Wcast-qual warning from va_start().
|
|
#
|
|
AC_DEFINE(SHUTUP_STDARG_CAST)
|
|
;;
|
|
esac
|
|
|
|
case "$hack_shutup_in6addr_init_macros" in
|
|
yes)
|
|
AC_DEFINE(BROKEN_IN6ADDR_INIT_MACROS, 1, [Defined if IN6ADDR_ANY_INIT and IN6ADDR_LOOPBACK_INIT need to be redefined.] )
|
|
;;
|
|
esac
|
|
|
|
#
|
|
# Substitutions
|
|
#
|
|
AC_SUBST(BIND9_TOP_BUILDDIR)
|
|
BIND9_TOP_BUILDDIR=`pwd`
|
|
|
|
AC_SUBST_FILE(BIND9_INCLUDES)
|
|
BIND9_INCLUDES=$BIND9_TOP_BUILDDIR/make/includes
|
|
|
|
AC_SUBST_FILE(BIND9_MAKE_RULES)
|
|
BIND9_MAKE_RULES=$BIND9_TOP_BUILDDIR/make/rules
|
|
|
|
. $srcdir/../../version
|
|
BIND9_VERSION="VERSION=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}"
|
|
AC_SUBST(BIND9_VERSION)
|
|
|
|
AC_SUBST_FILE(LIBBIND_API)
|
|
LIBBIND_API=$srcdir/api
|
|
|
|
AC_OUTPUT(
|
|
make/rules
|
|
make/mkdep
|
|
make/includes
|
|
Makefile
|
|
bsd/Makefile
|
|
dst/Makefile
|
|
include/Makefile
|
|
inet/Makefile
|
|
irs/Makefile
|
|
isc/Makefile
|
|
nameser/Makefile
|
|
port_after.h
|
|
port_before.h
|
|
resolv/Makefile
|
|
port/Makefile
|
|
${PORT_DIR}/Makefile
|
|
${PORT_INCLUDE}/Makefile
|
|
)
|
|
|
|
# Tell Emacs to edit this file in shell mode.
|
|
# Local Variables:
|
|
# mode: sh
|
|
# End:
|