1063 lines
21 KiB
Plaintext
1063 lines
21 KiB
Plaintext
dnl
|
|
dnl *** PLEASE NOTE ***
|
|
dnl *** PLEASE NOTE ***
|
|
dnl *** PLEASE NOTE ***
|
|
dnl
|
|
dnl Update $VERSION before making a new release
|
|
dnl
|
|
|
|
dnl Process this file with autoconf to produce a configure script.
|
|
dnl
|
|
AC_REVISION($Revision: 1.1.1.3 $)
|
|
AC_PREREQ(2.52)
|
|
AC_INIT(lib/krb/getrealm.c)
|
|
AM_CONFIG_HEADER(include/config.h)
|
|
|
|
AM_INIT_AUTOMAKE(krb4,1.1)
|
|
|
|
dnl
|
|
dnl definitions
|
|
dnl
|
|
|
|
# This may be overridden using --prefix=/usr to configure
|
|
AC_PREFIX_DEFAULT(/usr/athena)
|
|
|
|
AC_CANONICAL_HOST
|
|
CANONICAL_HOST=$host
|
|
AC_SUBST(CANONICAL_HOST)
|
|
|
|
dnl OS specific defines
|
|
|
|
sunos=no
|
|
case "$host" in
|
|
*-*-sunos4*)
|
|
sunos=40
|
|
;;
|
|
*-*-solaris2.7)
|
|
sunos=57
|
|
;;
|
|
*-*-solaris2.8)
|
|
sunos=58
|
|
;;
|
|
*-*-solaris2*)
|
|
sunos=50
|
|
;;
|
|
esac
|
|
if test "$sunos" != no; then
|
|
AC_DEFINE_UNQUOTED(SunOS, $sunos,
|
|
[Define to what version of SunOS you are running.])
|
|
fi
|
|
|
|
dnl Under SunOS-5.x it is necessary to link with -ldes to be binary compatible.
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
# We want these before the checks, so the checks can modify their values.
|
|
test -z "$LDFLAGS" && LDFLAGS=-g
|
|
|
|
dnl
|
|
dnl check for programs
|
|
dnl
|
|
|
|
AM_CONDITIONAL(KRB4, true)
|
|
AM_CONDITIONAL(KRB5, false)
|
|
AM_CONDITIONAL(DCE, false)
|
|
AM_CONDITIONAL(do_roken_rename, true)
|
|
|
|
AC_KRB_PROG_LN_S
|
|
AC_PROG_CC
|
|
AC_ISC_POSIX
|
|
AC_PROG_CPP
|
|
AC_PROG_CC_STDC
|
|
AC_PROG_YACC
|
|
dnl AC_KRB_PROG_YACC
|
|
AM_PROG_LEX
|
|
AC_PROG_INSTALL
|
|
AC_PROG_AWK
|
|
AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, :)
|
|
|
|
AM_DISABLE_SHARED
|
|
AC_PROG_LIBTOOL
|
|
|
|
dnl Use make WFLAGS=".."
|
|
WFLAGS=""
|
|
WFLAGS_NOUNUSED=""
|
|
WFLAGS_NOIMPLICITINT=""
|
|
AC_SUBST(WFLAGS) dnl
|
|
AC_SUBST(WFLAGS_NOUNUSED) dnl
|
|
AC_SUBST(WFLAGS_NOIMPLICITINT) dnl
|
|
|
|
dnl
|
|
dnl check for build options
|
|
dnl
|
|
|
|
INCLUDE_krb4=
|
|
LIB_krb4='$(top_builddir)/lib/krb/libkrb.la'
|
|
AC_SUBST(INCLUDE_krb4)
|
|
AC_SUBST(LIB_krb4)
|
|
|
|
AC_TEST_PACKAGE_NEW(socks,[#include <socks.h>],-lsocks5,,, SOCKS)
|
|
CFLAGS="$INCLUDE_socks $CFLAGS"
|
|
LIBS="$LIB_socks $LIBS"
|
|
|
|
AC_ARG_ENABLE(legacy-kdestroy,
|
|
[ --enable-legacy-kdestroy kdestroy doesn't destroy tokens by default],[
|
|
if test "$enableval" = "yes"; then
|
|
AC_DEFINE(LEGACY_KDESTROY,1, [Define to enable old kdestroy behavior.])
|
|
fi
|
|
])
|
|
|
|
AC_ARG_ENABLE(match-subdomains,
|
|
[ --enable-match-subdomains match realm in subdomains],
|
|
[if test "$enableval" = "yes"; then
|
|
AC_DEFINE(MATCH_SUBDOMAINS,1, [Define if you want to match subdomains.])
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(ld-flags,
|
|
[ --with-ld-flags=flags what flags use when linking])
|
|
|
|
AC_ARG_WITH(cracklib,
|
|
[ --with-cracklib=dir use the cracklib.a in dir],
|
|
)
|
|
|
|
AC_ARG_WITH(dictpath,
|
|
[ --with-dictpath=path use this dictionary with cracklib]
|
|
)
|
|
|
|
(test -z "$with_cracklib" && test -n "$with_dictpath") ||
|
|
(test -n "$with_cracklib" && test -z "$with_dictpath") &&
|
|
AC_MSG_ERROR(--with-cracklib requires --with-dictpath and vice versa)
|
|
if test -n "$with_cracklib"; then
|
|
CRACKLIB="-L$with_cracklib -lcrack"
|
|
AC_MSG_RESULT(Using cracklib in $with_cracklib)
|
|
AC_SUBST(CRACKLIB)dnl
|
|
fi
|
|
if test -n "$with_dictpath"; then
|
|
AC_MSG_RESULT(Using dictpath=$with_dictpath)
|
|
AC_DEFINE_UNQUOTED(DICTPATH,"$with_dictpath", [Define this to be the directory where the
|
|
dictionary for cracklib resides.])
|
|
fi
|
|
|
|
AC_ARG_WITH(mailspool,
|
|
[ --with-mailspool=dir this is the mail spool directory]
|
|
)
|
|
|
|
test -n "$with_mailspool" &&
|
|
AC_DEFINE_UNQUOTED(KRB4_MAILDIR, "$with_mailspool", [Define this to the path of the mail spool directory.])
|
|
|
|
AC_ARG_WITH(db-dir,
|
|
[ --with-db-dir=dir this is the database directory (default /var/kerberos)])
|
|
|
|
test -n "$with_db_dir" &&
|
|
AC_DEFINE_UNQUOTED(DB_DIR, "$with_db_dir", [Define this to the kerberos database directory.])
|
|
|
|
AC_ARG_ENABLE(random-mkey,
|
|
[ --enable-random-mkey use new code for master keys],[
|
|
if test "$enableval" = "yes"; then
|
|
AC_DEFINE(RANDOM_MKEY,1, [Define to enable new master key code.])
|
|
fi
|
|
])
|
|
|
|
AC_ARG_WITH(mkey,
|
|
[ --with-mkey=file where to put the master key],[
|
|
if test -n "$withval"; then
|
|
AC_DEFINE_UNQUOTED(MKEYFILE,"$withval", [Define this to the location of the master key.])
|
|
fi
|
|
])
|
|
|
|
otp=yes
|
|
AC_ARG_ENABLE(otp,
|
|
[ --disable-otp if you don't want OTP support],
|
|
[
|
|
if test "$enableval" = "no"; then
|
|
otp=no
|
|
fi
|
|
])
|
|
if test "$otp" = "yes"; then
|
|
AC_DEFINE(OTP, 1, [Define if you want OTP support in applications.])
|
|
LIB_otp='$(top_builddir)/lib/otp/libotp.la'
|
|
fi
|
|
AC_SUBST(LIB_otp)
|
|
AM_CONDITIONAL(OTP, test "$otp" = yes)dnl
|
|
|
|
AC_CHECK_OSFC2
|
|
|
|
mmap=yes
|
|
AC_ARG_ENABLE(mmap,
|
|
[ --disable-mmap disable use of mmap],
|
|
[
|
|
if test "$enableval" = "no"; then
|
|
mmap=no
|
|
fi
|
|
])
|
|
if test "$mmap" = "no"; then
|
|
AC_DEFINE(NO_MMAP, 1, [Define if you don't want to use mmap.])
|
|
fi
|
|
|
|
aix_dynamic_afs=yes
|
|
AC_ARG_ENABLE(dynamic-afs,
|
|
[ --disable-dynamic-afs don't use loaded AFS library with AIX],[
|
|
if test "$enableval" = "no"; then
|
|
aix_dynamic_afs=no
|
|
fi
|
|
])
|
|
|
|
afs_support=yes
|
|
AC_ARG_WITH(afs-support,
|
|
[ --without-afs-support if you don't want support for afs],[
|
|
if test "$withval" = no; then
|
|
AC_DEFINE(NO_AFS, 1, [Define if you don't wan't support for AFS.])
|
|
afs_support=no
|
|
fi
|
|
])
|
|
|
|
des_quad=guess
|
|
AC_ARG_WITH(des-quad-checksum,
|
|
[ --with-des-quad-checksum=kind
|
|
default checksum to use (new, old, or guess)],[
|
|
des_quad="$withval"
|
|
])
|
|
if test "$des_quad" = "new"; then
|
|
ac_x=DES_QUAD_NEW
|
|
elif test "$des_quad" = "old"; then
|
|
ac_x=DES_QUAD_OLD
|
|
else
|
|
ac_x=DES_QUAD_GUESS
|
|
fi
|
|
AC_DEFINE_UNQUOTED(DES_QUAD_DEFAULT,$ac_x,
|
|
[Set this to the type of des-quad-cheksum to use.])
|
|
|
|
AC_ARG_WITH(afsws,
|
|
[ --with-afsws=dir use AFS includes and libraries from dir=/usr/afsws],
|
|
AFSWS=$withval,
|
|
AFSWS=/usr/afsws
|
|
)
|
|
test "$AFSWS" = "yes" && AFSWS=/usr/afsws
|
|
AC_SUBST(AFSWS)
|
|
|
|
AC_ARG_ENABLE(rxkad,
|
|
[ --enable-rxkad build rxkad library],,[
|
|
#test -f $AFSWS/include/rx/rx.h && enable_rxkad=yes
|
|
enable_rxkad=no
|
|
])
|
|
|
|
if test "$afs_support" = yes -a "$enable_rxkad" = yes; then
|
|
LIB_SUBDIRS="$LIB_SUBDIRS rxkad"
|
|
fi
|
|
AC_SUBST(LIB_SUBDIRS)
|
|
|
|
AC_ARG_ENABLE(cat-manpages,
|
|
[ --disable-cat-manpages don't install any preformatted manpages],
|
|
[
|
|
if test "$enableval" = "no"; then
|
|
disable_cat_manpages=yes
|
|
fi
|
|
])
|
|
|
|
AC_SUBST(disable_cat_manpages)dnl
|
|
|
|
AC_TEST_PACKAGE_NEW(readline,[
|
|
#include <stdio.h>
|
|
#include <readline.h>
|
|
],-lreadline,,, READLINE)
|
|
|
|
AC_MIPS_ABI
|
|
|
|
dnl
|
|
dnl Check for endian-ness, this breaks cross compilation
|
|
dnl
|
|
AC_C_BIGENDIAN
|
|
|
|
dnl
|
|
dnl Check for constness
|
|
dnl
|
|
AC_C_CONST
|
|
|
|
dnl
|
|
dnl Check for inline keyword
|
|
dnl
|
|
AC_C_INLINE
|
|
|
|
dnl
|
|
dnl Check for __attribute__
|
|
dnl
|
|
AC_C___ATTRIBUTE__
|
|
|
|
dnl
|
|
dnl Check for strange operating systems that you need to handle differently
|
|
dnl
|
|
|
|
rk_SYS_NEXTSTEP
|
|
|
|
KRB_AIX
|
|
|
|
#
|
|
# AIX needs /lib/pse.exp for getmsg, but alas that file is broken in
|
|
# AIX414
|
|
#
|
|
|
|
case "${host}" in
|
|
*-*-aix4.1*)
|
|
if test -f /lib/pse.exp ;then
|
|
LIBS="$LIBS -Wl,-bnolibpath -Wl,-bI:/lib/pse.exp"
|
|
fi
|
|
;;
|
|
*-*-aix*)
|
|
LIBS="$LIBS -Wl,-bnolibpath"
|
|
;;
|
|
esac
|
|
|
|
dnl
|
|
dnl Various checks for headers and their contents
|
|
dnl
|
|
|
|
AC_HEADER_STDC
|
|
|
|
AC_CHECK_HEADERS([arpa/ftp.h \
|
|
arpa/inet.h \
|
|
arpa/nameser.h \
|
|
arpa/telnet.h \
|
|
bsd/bsd.h \
|
|
bsdsetjmp.h \
|
|
capability.h \
|
|
crypt.h \
|
|
curses.h \
|
|
dirent.h \
|
|
err.h \
|
|
errno.h \
|
|
fcntl.h \
|
|
fnmatch.h \
|
|
grp.h \
|
|
inttypes.h \
|
|
io.h \
|
|
lastlog.h \
|
|
libutil.h \
|
|
limits.h \
|
|
login.h \
|
|
maillock.h \
|
|
net/if.h \
|
|
net/if_tun.h \
|
|
net/if_var.h \
|
|
netdb.h \
|
|
netinet/in.h \
|
|
netinet/in6.h \
|
|
netinet/in6_machtypes.h \
|
|
netinet/in_systm.h \
|
|
paths.h \
|
|
pty.h \
|
|
pwd.h \
|
|
resolv.h \
|
|
rpcsvc/ypclnt.h \
|
|
sac.h \
|
|
security/pam_modules.h \
|
|
shadow.h \
|
|
siad.h \
|
|
signal.h \
|
|
stropts.h \
|
|
sys/bitypes.h \
|
|
sys/category.h \
|
|
sys/file.h \
|
|
sys/filio.h \
|
|
sys/ioccom.h \
|
|
sys/ioctl.h \
|
|
sys/locking.h \
|
|
sys/mman.h \
|
|
sys/param.h \
|
|
sys/proc.h \
|
|
sys/pty.h \
|
|
sys/ptyio.h \
|
|
sys/ptyvar.h \
|
|
sys/resource.h \
|
|
sys/select.h \
|
|
sys/socket.h \
|
|
sys/sockio.h \
|
|
sys/stat.h \
|
|
sys/str_tty.h \
|
|
sys/stream.h \
|
|
sys/stropts.h \
|
|
sys/strtty.h \
|
|
sys/syscall.h \
|
|
sys/sysctl.h \
|
|
sys/termio.h \
|
|
sys/time.h \
|
|
sys/timeb.h \
|
|
sys/times.h \
|
|
sys/tty.h \
|
|
sys/types.h \
|
|
sys/uio.h \
|
|
sys/un.h \
|
|
sys/utsname.h \
|
|
sys/wait.h \
|
|
syslog.h \
|
|
term.h \
|
|
termcap.h \
|
|
termio.h \
|
|
termios.h \
|
|
tmpdir.h \
|
|
ttyent.h \
|
|
udb.h \
|
|
ulimit.h \
|
|
unistd.h \
|
|
userpw.h \
|
|
userconf.h \
|
|
usersec.h \
|
|
util.h \
|
|
utime.h \
|
|
utmp.h \
|
|
utmpx.h \
|
|
wait.h])
|
|
|
|
AC_HEADER_TIME
|
|
AC_DECL_SYS_SIGLIST
|
|
|
|
CHECK_NETINET_IP_AND_TCP
|
|
|
|
AM_CONDITIONAL(have_err_h, test "$ac_cv_header_err_h" = yes)
|
|
AM_CONDITIONAL(have_fnmatch_h, test "$ac_cv_header_fnmatch_h" = yes)
|
|
|
|
EXTRA_LOCL_HEADERS=
|
|
EXTRA_HEADERS=
|
|
if test "$ac_cv_header_err_h" != yes; then
|
|
EXTRA_HEADERS="$EXTRA_HEADERS err.h"
|
|
fi
|
|
if test "$ac_cv_header_fnmatch_h" != yes; then
|
|
EXTRA_LOCL_HEADERS="$EXTRA_LOCL_HEADERS fnmatch.h"
|
|
fi
|
|
##AC_SUBST(EXTRA_HEADERS)
|
|
##AC_SUBST(EXTRA_LOCL_HEADERS)
|
|
|
|
AC_GROK_TYPES([int8_t int16_t int32_t int64_t \
|
|
u_int8_t u_int16_t u_int32_t u_int64_t \
|
|
uint8_t uint16_t uint32_t uint64_t])
|
|
|
|
AC_MSG_CHECKING(for strange sys/bitypes.h)
|
|
AC_CACHE_VAL(krb_cv_int8_t_ifdef, [
|
|
AC_TRY_COMPILE([
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_BITYPES_H
|
|
#include <sys/bitypes.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN6_MACHTYPES_H
|
|
#include <netinet/in6_machtypes.h>
|
|
#endif
|
|
],
|
|
int8_t x;
|
|
,
|
|
krb_cv_int8_t_ifdef=no,
|
|
krb_cv_int8_t_ifdef=yes)])
|
|
AC_MSG_RESULT($krb_cv_int8_t_ifdef)
|
|
if test "$krb_cv_int8_t_ifdef" = "yes"; then
|
|
AC_DEFINE(HAVE_STRANGE_INT8_T, 1, [Huh?])dnl
|
|
fi
|
|
|
|
dnl
|
|
dnl Various checks for libraries and their contents
|
|
dnl
|
|
|
|
AC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl
|
|
|
|
dnl this is a hack for KRB_CRYPTO
|
|
with_krb4=no
|
|
KRB_CRYPTO
|
|
|
|
if test "$DIR_des"; then
|
|
DES_H='des.h'
|
|
else
|
|
DES_H='openssl/des.h'
|
|
fi
|
|
AC_SUBST(DES_H)
|
|
|
|
dnl we don't actually use v6 functions in this code, but some generic
|
|
dnl functions such as getnameinfo et al can reside in libraries that are
|
|
dnl found by this macro
|
|
|
|
AC_KRB_IPV6
|
|
|
|
dnl
|
|
dnl Horror AIX needs -lodm -lcfg to link login
|
|
dnl
|
|
|
|
AC_FIND_FUNC_NO_LIBS(odm_initialize, odm)
|
|
AC_FIND_FUNC_NO_LIBS(getattr, cfg)
|
|
AC_FIND_FUNC_NO_LIBS(setpcred, s)
|
|
AC_FIND_FUNC_NO_LIBS(logwtmp, util)
|
|
AC_FIND_FUNC_NO_LIBS(openpty, util)
|
|
AC_FIND_FUNC_NO_LIBS(logout, util)
|
|
AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses)
|
|
|
|
AC_FIND_FUNC(res_search, resolv,
|
|
[
|
|
#include <stdio.h>
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
#ifdef HAVE_ARPA_NAMESER_H
|
|
#include <arpa/nameser.h>
|
|
#endif
|
|
#ifdef HAVE_RESOLV_H
|
|
#include <resolv.h>
|
|
#endif
|
|
],
|
|
[0,0,0,0,0])
|
|
|
|
AC_FIND_FUNC(dn_expand, resolv,
|
|
[
|
|
#include <stdio.h>
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
#ifdef HAVE_ARPA_NAMESER_H
|
|
#include <arpa/nameser.h>
|
|
#endif
|
|
#ifdef HAVE_RESOLV_H
|
|
#include <resolv.h>
|
|
#endif
|
|
],
|
|
[0,0,0,0,0])
|
|
|
|
dnl
|
|
dnl See if there is any X11 present
|
|
dnl
|
|
KRB_CHECK_X
|
|
|
|
AM_CONDITIONAL(HAVE_X, test "$no_x" != yes)
|
|
|
|
AC_CHECK_XAU
|
|
|
|
AC_TEST_PACKAGE_NEW(hesiod,[#include <hesiod.h>],-lhesiod,,, HESIOD)
|
|
|
|
dnl
|
|
dnl Look for berkeley db, gdbm, and ndbm in that order.
|
|
dnl
|
|
|
|
rk_DB
|
|
|
|
AC_CHECK_FUNCS([ \
|
|
_getpty \
|
|
_scrsize \
|
|
_setsid \
|
|
_stricmp \
|
|
arc4random \
|
|
atexit \
|
|
chroot \
|
|
fattach \
|
|
fchmod \
|
|
fcntl \
|
|
forkpty \
|
|
frevoke \
|
|
getpriority \
|
|
getservbyname \
|
|
gettosbyname \
|
|
grantpt \
|
|
mktime \
|
|
on_exit \
|
|
parsetos \
|
|
ptsname \
|
|
rand \
|
|
random \
|
|
revoke \
|
|
setitimer \
|
|
setpgid \
|
|
setpriority \
|
|
setproctitle \
|
|
setregid \
|
|
setresgid \
|
|
setresuid \
|
|
setreuid \
|
|
setsid \
|
|
setutent \
|
|
sigaction \
|
|
srandomdev \
|
|
ttyname \
|
|
ttyslot \
|
|
ulimit \
|
|
unlockpt \
|
|
vhangup \
|
|
yp_get_default_domain \
|
|
])
|
|
|
|
KRB_CAPABILITIES
|
|
|
|
AC_CHECK_GETPWNAM_R_POSIX
|
|
|
|
AC_FIND_FUNC_NO_LIBS(getsockopt,,
|
|
[#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif],
|
|
[0,0,0,0,0])
|
|
AC_FIND_FUNC_NO_LIBS(setsockopt,,
|
|
[#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif],
|
|
[0,0,0,0,0])
|
|
|
|
dnl Cray stuff
|
|
AC_CHECK_FUNCS(getudbnam setlim)
|
|
|
|
AC_FUNC_MMAP
|
|
AC_FUNC_ALLOCA
|
|
|
|
CHECK_COMPILE_ET
|
|
|
|
AC_AUTH_MODULES
|
|
|
|
dnl
|
|
dnl Checks for prototypes and declarations
|
|
dnl
|
|
|
|
AC_PROTO_COMPAT([
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
#ifdef HAVE_ARPA_INET_H
|
|
#include <arpa/inet.h>
|
|
#endif
|
|
#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif
|
|
],
|
|
gethostbyname, struct hostent *gethostbyname(const char *))
|
|
|
|
AC_PROTO_COMPAT([
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
#ifdef HAVE_ARPA_INET_H
|
|
#include <arpa/inet.h>
|
|
#endif
|
|
#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif
|
|
],
|
|
gethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int))
|
|
|
|
AC_PROTO_COMPAT([
|
|
#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_SYS_SOCKET_H
|
|
#include <sys/socket.h>
|
|
#endif
|
|
#ifdef HAVE_NETINET_IN_H
|
|
#include <netinet/in.h>
|
|
#endif
|
|
#ifdef HAVE_ARPA_INET_H
|
|
#include <arpa/inet.h>
|
|
#endif
|
|
#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif
|
|
],
|
|
getservbyname, struct servent *getservbyname(const char *, const char *))
|
|
|
|
AC_PROTO_COMPAT([
|
|
#ifdef HAVE_SYSLOG_H
|
|
#include <syslog.h>
|
|
#endif
|
|
],
|
|
openlog, void openlog(const char *, int, int))
|
|
|
|
AC_NEED_PROTO([
|
|
#ifdef HAVE_CRYPT_H
|
|
#include <crypt.h>
|
|
#endif
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif
|
|
],
|
|
crypt)
|
|
|
|
rk_ROKEN(lib/roken)
|
|
LIB_roken="\$(top_builddir)/lib/vers/libvers.la $LIB_roken"
|
|
|
|
AC_NEED_PROTO([
|
|
#include <stdio.h>
|
|
],
|
|
fclose)
|
|
|
|
AC_NEED_PROTO([
|
|
#include <string.h>
|
|
],
|
|
strtok_r)
|
|
|
|
AC_NEED_PROTO([
|
|
#include <string.h>
|
|
],
|
|
strsep)
|
|
|
|
AC_NEED_PROTO([
|
|
#include <unistd.h>
|
|
],
|
|
getusershell)
|
|
|
|
AC_NEED_PROTO([
|
|
#ifdef HAVE_UTIME_H
|
|
#include <utime.h>
|
|
#endif
|
|
],
|
|
utime)
|
|
|
|
rk_CHECK_VAR(h_errno, [#ifdef HAVE_SYS_TYPES_H
|
|
#include <sys/types.h>
|
|
#endif
|
|
#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif])
|
|
|
|
rk_CHECK_VAR(h_errlist, [#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif])
|
|
|
|
rk_CHECK_VAR(h_nerr, [#ifdef HAVE_NETDB_H
|
|
#include <netdb.h>
|
|
#endif])
|
|
|
|
rk_CHECK_VAR(__progname, [#ifdef HAVE_ERR_H
|
|
#include <err.h>
|
|
#endif])
|
|
|
|
AC_CHECK_DECLARATION([#include <stdlib.h>
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif], optarg)
|
|
AC_CHECK_DECLARATION([#include <stdlib.h>
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif], optind)
|
|
AC_CHECK_DECLARATION([#include <stdlib.h>
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif], opterr)
|
|
AC_CHECK_DECLARATION([#include <stdlib.h>
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif], optopt)
|
|
|
|
AC_CHECK_DECLARATION([#include <stdlib.h>], environ)
|
|
|
|
dnl
|
|
dnl According to ANSI you are explicitly allowed to cast to void,
|
|
dnl but the standard fails to say what should happen. Some compilers
|
|
dnl think this is illegal:
|
|
dnl
|
|
dnl void foo(void)
|
|
dnl {
|
|
dnl return (void)0;
|
|
dnl }
|
|
dnl
|
|
dnl Thus explicitly test for void
|
|
dnl
|
|
AC_TYPE_SIGNAL
|
|
if test "$ac_cv_type_signal" = "void" ; then
|
|
AC_DEFINE(VOID_RETSIGTYPE, 1, [Define if RETSIGTYPE == void.])
|
|
fi
|
|
|
|
dnl
|
|
dnl Check for fields in struct utmp
|
|
dnl
|
|
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_addr,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_host,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_id,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_pid,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_type,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmp, ut_user,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmpx, ut_exit,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct utmpx, ut_syslen,
|
|
[#include <sys/types.h>
|
|
#include <utmp.h>])
|
|
|
|
dnl
|
|
dnl Check for fields in struct tm
|
|
dnl
|
|
|
|
AC_HAVE_STRUCT_FIELD(struct tm, tm_gmtoff, [#include <time.h>])
|
|
AC_HAVE_STRUCT_FIELD(struct tm, tm_zone, [#include <time.h>])
|
|
|
|
dnl
|
|
dnl or do we have a variable `timezone' ?
|
|
dnl
|
|
|
|
rk_CHECK_VAR(timezone,
|
|
[#include <time.h>])
|
|
|
|
AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>])
|
|
|
|
AC_HAVE_TYPE([socklen_t],[#include <sys/socket.h>])
|
|
|
|
AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>])
|
|
|
|
AC_HAVE_TYPE([struct addrinfo], [#include <netdb.h>])
|
|
|
|
AC_KRB_STRUCT_SPWD
|
|
|
|
AC_CHECK_MEMBERS(struct stat.st_blksize)
|
|
|
|
dnl
|
|
dnl Check for struct winsize
|
|
dnl
|
|
|
|
AC_KRB_STRUCT_WINSIZE
|
|
|
|
dnl
|
|
dnl Check for some common types
|
|
dnl
|
|
|
|
AC_TYPE_PID_T
|
|
AC_TYPE_UID_T
|
|
AC_TYPE_OFF_T
|
|
AC_TYPE_SIZE_T
|
|
|
|
AC_CHECK_TYPE_EXTRA(ssize_t, int, [
|
|
#ifdef HAVE_UNISTD_H
|
|
#include <unistd.h>
|
|
#endif])
|
|
|
|
AC_CHECK_TYPE_EXTRA(sig_atomic_t, int, [#include <signal.h>])
|
|
|
|
dnl
|
|
dnl Check for broken ultrix sys/socket.h
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(for broken sys/socket.h)
|
|
AC_CACHE_VAL(krb_cv_header_sys_socket_h_broken, [
|
|
AC_TRY_COMPILE(
|
|
[#include <sys/types.h>
|
|
#include <sys/socket.h>
|
|
#include <sys/socket.h>],[],
|
|
krb_cv_header_sys_socket_h_broken=no,
|
|
krb_cv_header_sys_socket_h_broken=yes)])
|
|
AC_MSG_RESULT($krb_cv_header_sys_socket_h_broken)
|
|
AM_CONDITIONAL(BROKEN_SOCKET_H, test $krb_cv_header_sys_socket_h_broken = yes)
|
|
|
|
dnl
|
|
dnl Check for broken ultrix netdb.h
|
|
dnl
|
|
|
|
AC_MSG_CHECKING(for broken netdb.h)
|
|
AC_CACHE_VAL(krb_cv_header_netdb_h_broken, [
|
|
AC_TRY_COMPILE(
|
|
[#include <sys/types.h>
|
|
#include <netdb.h>
|
|
#include <netdb.h>],[],
|
|
krb_cv_header_netdb_h_broken=no,
|
|
krb_cv_header_netdb_h_broken=yes)])
|
|
AC_MSG_RESULT($krb_cv_header_netdb_h_broken)
|
|
AC_SUBST(krb_cv_header_netdb_h_broken)
|
|
if test "$krb_cv_header_netdb_h_broken" = "yes"; then
|
|
EXTRA_HEADERS="$EXTRA_HEADERS netdb.h"
|
|
fi
|
|
|
|
dnl
|
|
dnl Check for sa_len in sys/socket.h
|
|
dnl
|
|
|
|
AC_HAVE_STRUCT_FIELD(struct sockaddr, sa_len, [#include <sys/types.h>
|
|
#include <sys/socket.h>])
|
|
|
|
dnl
|
|
dnl Check for ouid in sys/siad.h
|
|
dnl
|
|
|
|
if test "$ac_cv_header_siad_h" = yes; then
|
|
AC_HAVE_STRUCT_FIELD(SIAENTITY, ouid, [#include <siad.h>])
|
|
fi
|
|
|
|
dnl
|
|
dnl you can link with getmsg on AIX 3.2 but you cannot run the program
|
|
dnl
|
|
|
|
AC_CHECK_FUNC(getmsg)
|
|
|
|
if test "$ac_cv_func_getmsg" = "yes"; then
|
|
|
|
AC_CACHE_CHECK(for working getmsg, ac_cv_func_getmsg_work,
|
|
AC_TRY_RUN(
|
|
[
|
|
#include <stdio.h>
|
|
#include <errno.h>
|
|
|
|
int main()
|
|
{
|
|
int ret;
|
|
ret = getmsg(open("/dev/null", 0), NULL, NULL, NULL);
|
|
if(ret < 0 && errno == ENOSYS)
|
|
return 1;
|
|
return 0;
|
|
}
|
|
], ac_cv_func_getmsg_work=yes, ac_cv_func_getmsg_work=no,
|
|
ac_cv_func_getmsg_work=no))
|
|
test "$ac_cv_func_getmsg_work" = "yes" &&
|
|
AC_DEFINE(HAVE_GETMSG, 1, [Define if you have a working getmsg.])
|
|
|
|
fi
|
|
|
|
KRB_READLINE
|
|
|
|
dnl telnet muck --------------------------------------------------
|
|
|
|
AC_DEFINE(AUTHENTICATION)dnl
|
|
AC_DEFINE(KRB4)dnl
|
|
AC_DEFINE(ENCRYPTION)dnl
|
|
AC_DEFINE(DES_ENCRYPTION)dnl
|
|
AC_DEFINE(DIAGNOSTICS)dnl
|
|
AC_DEFINE(OLD_ENVIRON)dnl
|
|
|
|
# Simple test for streamspty, based on the existance of getmsg(), alas
|
|
# this breaks on SunOS4 which have streams but BSD-like ptys
|
|
#
|
|
# And also something wierd has happend with dec-osf1, fallback to bsd-ptys
|
|
|
|
AC_MSG_CHECKING(for streamspty)
|
|
case "`uname -sr`" in
|
|
SunOS\ 4*|OSF1*|IRIX\ 4*|HP-UX\ ?.1[[01]].*)
|
|
krb_cv_sys_streamspty=no
|
|
;;
|
|
AIX*)
|
|
os_rel=`uname -v`.`uname -r`
|
|
if expr "$os_rel" : "3*" >/dev/null 2>&1; then
|
|
krb_cv_sys_streamspty=no
|
|
else
|
|
krb_cv_sys_streamspty="$ac_cv_func_getmsg_work"
|
|
fi
|
|
;;
|
|
*)
|
|
krb_cv_sys_streamspty="$ac_cv_func_getmsg_work"
|
|
;;
|
|
esac
|
|
if test "$krb_cv_sys_streamspty" = yes; then
|
|
AC_DEFINE(STREAMSPTY, 1, [Define if you have working stream ptys.])
|
|
fi
|
|
dnl AC_SUBST(STREAMSPTY)
|
|
AC_MSG_RESULT($krb_cv_sys_streamspty)
|
|
|
|
AC_MSG_CHECKING([if /bin/ls takes -A])
|
|
if /bin/ls -A > /dev/null 2>&1 ;then
|
|
AC_DEFINE(HAVE_LS_A, 1, [Define if /bin/ls has a `-A' flag.])
|
|
krb_ls_a=yes
|
|
else
|
|
krb_ls_a=no
|
|
fi
|
|
AC_MSG_RESULT($krb_ls_a)
|
|
|
|
rk_CHECK_MAN
|
|
|
|
dnl This is done by AC_OUTPUT but we need the result here.
|
|
|
|
test "x$prefix" = xNONE && prefix=$ac_default_prefix
|
|
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
|
|
|
|
for i in bin lib libexec sbin; do
|
|
i=${i}dir
|
|
foo=`echo $i | tr 'xindiscernible' 'XINDISCERNIBLE'`
|
|
x="\$${i}"
|
|
eval y="$x"
|
|
while test "x$y" != "x$x"; do
|
|
x="$y"
|
|
eval y="$x"
|
|
done
|
|
AC_DEFINE_UNQUOTED($foo,"$x")
|
|
done
|
|
|
|
LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/\.lo/g'`
|
|
AC_SUBST(LTLIBOBJS)
|
|
|
|
dnl
|
|
dnl We are all set to emit the Makefiles and config.h
|
|
dnl
|
|
AC_OUTPUT( \
|
|
Makefile \
|
|
admin/Makefile \
|
|
appl/Makefile \
|
|
appl/afsutil/Makefile \
|
|
appl/bsd/Makefile \
|
|
appl/ftp/Makefile \
|
|
appl/ftp/common/Makefile \
|
|
appl/ftp/ftp/Makefile \
|
|
appl/ftp/ftpd/Makefile \
|
|
appl/kauth/Makefile \
|
|
appl/kip/Makefile \
|
|
appl/kx/Makefile \
|
|
appl/movemail/Makefile \
|
|
appl/otp/Makefile \
|
|
appl/popper/Makefile \
|
|
appl/push/Makefile \
|
|
appl/sample/Makefile \
|
|
appl/telnet/Makefile \
|
|
appl/telnet/libtelnet/Makefile \
|
|
appl/telnet/telnet/Makefile \
|
|
appl/telnet/telnetd/Makefile \
|
|
appl/xnlock/Makefile \
|
|
doc/Makefile \
|
|
etc/inetd.conf.changes \
|
|
include/Makefile \
|
|
include/sys/Makefile \
|
|
kadmin/Makefile \
|
|
kuser/Makefile \
|
|
lib/Makefile \
|
|
lib/acl/Makefile \
|
|
lib/auth/Makefile \
|
|
lib/auth/afskauthlib/Makefile \
|
|
lib/auth/pam/Makefile \
|
|
lib/auth/sia/Makefile \
|
|
lib/com_err/Makefile \
|
|
lib/des/Makefile \
|
|
lib/editline/Makefile \
|
|
lib/kadm/Makefile \
|
|
lib/kafs/Makefile \
|
|
lib/kdb/Makefile \
|
|
lib/krb/Makefile \
|
|
lib/krb/krb.h \
|
|
lib/otp/Makefile \
|
|
lib/roken/Makefile \
|
|
lib/rxkad/Makefile \
|
|
lib/sl/Makefile \
|
|
lib/vers/Makefile \
|
|
server/Makefile \
|
|
slave/Makefile \
|
|
tools/Makefile \
|
|
) dnl end of AC_OUTPUT
|
|
|
|
AC_KRB_VERSION
|