diff options
Diffstat (limited to 'crypto/kerberosIV/configure.in')
-rw-r--r-- | crypto/kerberosIV/configure.in | 1285 |
1 files changed, 1285 insertions, 0 deletions
diff --git a/crypto/kerberosIV/configure.in b/crypto/kerberosIV/configure.in new file mode 100644 index 0000000..cd2a70e --- /dev/null +++ b/crypto/kerberosIV/configure.in @@ -0,0 +1,1285 @@ +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.432.2.2 $) +AC_INIT(lib/krb/getrealm.c) +AC_CONFIG_HEADER(include/config.h) + +dnl +dnl definitions +dnl + +PACKAGE=krb4 +AC_SUBST(PACKAGE)dnl +VERSION=1.0 +AC_SUBST(VERSION)dnl +AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])dnl +AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])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*) + sunos=50 + ;; +esac +if test "$sunos" != no; then + AC_DEFINE_UNQUOTED(SunOS, $sunos, + [Define to what version of SunOS you are running.]) +fi + +AC_PROG_MAKE_SET +AC_ARG_PROGRAM + +# We want these before the checks, so the checks can modify their values. +test -z "$LDFLAGS" && LDFLAGS=-g + +dnl +dnl check for programs +dnl + +AC_KRB_PROG_LN_S +AC_PROG_CC +AC_PROG_CPP +AC_ISC_POSIX +AC_KRB_PROG_YACC +AC_PROG_LEX +AC_PROG_RANLIB +AC_PROG_INSTALL +AC_PROG_AWK +AC_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, :) + +dnl Use make Wall or 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 + +AC_TEST_PACKAGE_NEW(socks,[#include <socks.h>],-lsocks5) +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) +test -n "$with_cracklib" && +CRACKLIB="-L$with_cracklib -lcrack" && +AC_MSG_RESULT(Using cracklib in $with_cracklib) +AC_SUBST(CRACKLIB)dnl +test -n "$with_dictpath" && +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.]) + +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) + LIB_otp='-L$(top_builddir)/lib/otp -lotp' + OTP_dir=otp + LIB_SUBDIRS="$LIB_SUBDIRS otp" +fi +AC_SUBST(LIB_otp) +AC_SUBST(OTP_dir) + +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 +]) + +berkeley_db=db +AC_ARG_WITH(berkeley-db, +[ --without-berkeley-db if you don't want berkeley db],[ +if test "$withval" = no; then + berkeley_db="" +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 +]) + +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) + +AC_MIPS_ABI + +AC_TEST_PACKAGE_NEW(hesiod,[#include <hesiod.h>],-lhesiod) + +AC_SHARED_LIBS + +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 + +AC_KRB_SYS_NEXTSTEP +AC_KRB_SYS_AIX + +if test "$krb_cv_sys_aix" = yes ;then + if test "$aix_dynamic_afs" = yes; then + AFS_EXTRA_OBJS= + AFS_EXTRA_LIBS=afslib.so + # this works differently in AIX <=3 and 4 + if test `uname -v` = 4 ; then + AFS_EXTRA_LD="-bnoentry" + else + AFS_EXTRA_LD="-e _nostart" + fi + AFS_EXTRA_DEFS= + AC_FIND_FUNC_NO_LIBS(dlopen, dl) + if test "$ac_cv_funclib_dlopen" = yes; then + AIX_EXTRA_KAFS= + elif test "$ac_cv_funclib_dlopen" != no; then + AIX_EXTRA_KAFS="$ac_cv_funclib_dlopen" + else + AFS_EXTRA_OBJS="$AFS_EXTRA_OBJS dlfcn.o" + AIX_EXTRA_KAFS=-lld + fi + else + AFS_EXTRA_OBJS='$(srcdir)/afsl.exp afslib.o' + AFS_EXTRA_LIBS= + AFS_EXTRA_DEFS='-DSTATIC_AFS_SYSCALLS' + AIX_EXTRA_KAFS= + fi + AC_SUBST(AFS_EXTRA_OBJS)dnl + AC_SUBST(AFS_EXTRA_LIBS)dnl + AC_SUBST(AFS_EXTRA_LD)dnl + AC_SUBST(AFS_EXTRA_DEFS)dnl + AC_SUBST(AIX_EXTRA_KAFS)dnl +fi + +# +# 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 +;; +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 \ + db.h \ + dbm.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 \ + ndbm.h \ + net/if.h \ + net/if_tun.h \ + net/if_var.h \ + netdb.h \ + netinet/in.h \ + netinet/in6_machtypes.h \ + netinet/in_systm.h \ + paths.h \ + pty.h \ + pwd.h \ + resolv.h \ + rpcsvc/dbm.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 \ + usersec.h \ + util.h \ + utime.h \ + utmp.h \ + utmpx.h \ + wait.h]) + +AC_HEADER_TIME +AC_DECL_SYS_SIGLIST + +CHECK_NETINET_IP_AND_TCP + +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) +AC_GROK_TYPES(u_int8_t u_int16_t u_int32_t u_int64_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 +dnl System V is have misplaced the socket routines, should really be in libc +dnl + +AC_FIND_FUNC(socket, socket, +[#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif], +[0,0,0]) +AC_FIND_FUNC(gethostbyname, nsl, +[#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_SYS_SOCKET_H +#include <sys/socket.h> +#endif], +"foo") + +dnl +dnl Horror AIX needs -lodm -lcfg to link login +dnl + +AC_FIND_FUNC(odm_initialize, odm) +AC_FIND_FUNC(getattr, cfg) +AC_FIND_FUNC(setpcred, s) +AC_FIND_FUNC(logwtmp, util) + +AC_FIND_FUNC(logout, util) +AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses) + +dnl +dnl See if there is any X11 present +dnl +KRB_CHECK_X +if test "$no_x" = "yes" ; then + MAKE_X_PROGS_BIN="" + MAKE_X_PROGS_LIBEXEC="" +else + MAKE_X_PROGS_BIN='$(X_PROGS_BIN)' + MAKE_X_PROGS_LIBEXEC='$(X_PROGS_LIBEXEC)' +fi +AC_SUBST(MAKE_X_PROGS_BIN)dnl +AC_SUBST(MAKE_X_PROGS_LIBEXEC)dnl + +AC_CHECK_XAU + +dnl +dnl Look for berkeley db, gdbm, and ndbm in that order. +dnl + +KRB_FIND_DB("" $berkeley_db gdbm ndbm) + +AC_FIND_FUNC(syslog, syslog) + +AC_BROKEN_SNPRINTF +AC_BROKEN_GLOB + +if test "$ac_cv_func_glob_working" != yes; then + EXTRA_LOCL_HEADERS="$EXTRA_LOCL_HEADERS glob.h" + LIBOBJS="$LIBOBJS glob.o" +fi + +AC_CHECK_FUNCS([ \ + _getpty \ + _scrsize \ + _setsid \ + _stricmp \ + asnprintf \ + asprintf \ + atexit \ + cgetent \ + chroot \ + fattach \ + fchmod \ + fcntl \ + forkpty \ + frevoke \ + getpriority \ + getrlimit \ + getservbyname \ + getspnam \ + gettimeofday \ + gettosbyname \ + getuid \ + grantpt \ + mktime \ + on_exit \ + parsetos \ + ptsname \ + rand \ + random \ + revoke \ + setitimer \ + setpgid \ + setpriority \ + setproctitle \ + setregid \ + setresgid \ + setresuid \ + setreuid \ + setsid \ + setutent \ + sigaction \ + sysconf \ + sysctl \ + ttyname \ + ttyslot \ + ulimit \ + uname \ + unlockpt \ + vasnprintf \ + vasprintf \ + vhangup \ + vsnprintf \ + 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_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]) + +AC_SUBST(LIB_res_search)dnl +AC_SUBST(LIB_dn_expand)dnl + +AC_FUNC_MMAP +AC_FUNC_ALLOCA + +AC_FUNC_GETLOGIN + +AC_FIND_IF_NOT_BROKEN(hstrerror, resolv, +[#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +17) +if test "$ac_cv_func_hstrerror" = yes; then +AC_NEED_PROTO([ +#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +hstrerror) +fi + +AC_BROKEN(chown copyhostent daemon err errx fchown flock fnmatch freehostent) +AC_BROKEN(getcwd getdtablesize gethostname getipnodebyaddr getipnodebyname) +AC_BROKEN(geteuid getgid getegid) +AC_BROKEN(getopt getusershell) +AC_BROKEN(inet_aton inet_ntop inet_pton initgroups innetgr iruserok lstat) +AC_BROKEN(memmove) +AC_BROKEN(mkstemp putenv rcmd readv recvmsg sendmsg setegid setenv seteuid) +AC_BROKEN(strcasecmp strncasecmp strdup strerror strftime) +AC_BROKEN(strlcat strlcpy strlwr) +AC_BROKEN(strndup strnlen strptime strsep strtok_r strupr) +AC_BROKEN(swab unsetenv verr verrx vsyslog) +AC_BROKEN(vwarn vwarnx warn warnx writev) + +if test "$ac_cv_func_gethostname" = "yes"; then +AC_NEED_PROTO([ +#include <unistd.h>], +gethostname) +fi + +if test "$ac_cv_func_mkstemp" = "yes"; then +AC_NEED_PROTO([ +#include <unistd.h>], +mkstemp) +fi + +if test "$ac_cv_func_inet_aton" = "yes"; then +AC_NEED_PROTO([ +#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], +inet_aton) +fi + +AC_CACHE_CHECK(if realloc is broken, ac_cv_func_realloc_broken, [ +ac_cv_func_realloc_broken=no +AC_TRY_RUN([ +#include <stddef.h> +#include <stdlib.h> + +int main() +{ + return realloc(NULL, 17) == NULL; +} +],:, ac_cv_func_realloc_broken=yes, :) +]) +if test "$ac_cv_func_realloc_broken" = yes ; then + AC_DEFINE(BROKEN_REALLOC, 1, [Define if realloc(NULL, X) doesn't work.]) +fi + +AC_KRB_FUNC_GETCWD_BROKEN + +dnl +dnl Figure what authentication modules should be built +dnl + +AC_MSG_CHECKING(which authentication modules should be built) + +LIB_AUTH_SUBDIRS= + +if test "$ac_cv_header_siad_h" = yes; then + LIB_AUTH_SUBDIRS="$LIB_AUTH_SUBDIRS sia" +fi + +if test "$ac_cv_header_security_pam_modules_h" = yes -a "$enable_shared" = yes; then + LIB_AUTH_SUBDIRS="$LIB_AUTH_SUBDIRS pam" +fi + +case "${host}" in +changequote(,)dnl +*-*-irix[56]*) LIB_AUTH_SUBDIRS="$LIB_AUTH_SUBDIRS afskauthlib" ;; +changequote([,])dnl +esac + +AC_MSG_RESULT($LIB_AUTH_SUBDIRS) + +AC_SUBST(LIB_AUTH_SUBDIRS)dnl + +dnl +dnl Figure out if we have tunnels +dnl + +AC_MSG_CHECKING(for tunnel devices) + +APPL_KIP_DIR= + +if test "$ac_cv_header_net_if_tun_h" = "yes"; then + APPL_KIP_DIR=kip +fi + +AC_MSG_RESULT($ac_cv_header_net_if_tun_h) + +AC_SUBST(APPL_KIP_DIR)dnl + +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) + +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) + +AC_CHECK_VAR([#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif +#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +h_errno) + +AC_CHECK_VAR([#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +h_errlist) + +AC_CHECK_VAR([#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +h_nerr) + +AC_CHECK_VAR([#ifdef HAVE_ERR_H +#include <err.h> +#endif],[__progname]) + +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 + +AC_CHECK_VAR( +[#include <time.h>], +timezone) + +AC_HAVE_TYPE([sa_family_t],[#include <sys/socket.h>]) + +AC_HAVE_TYPE([struct sockaddr_storage], [#include <sys/socket.h>]) + +AC_KRB_STRUCT_SPWD + +AC_STRUCT_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]) + +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) +AC_SUBST(krb_cv_header_sys_socket_h_broken) + +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_FUNCS(getmsg) + +if test "$ac_cf_func_getmsg" = "yes"; then + +AC_CACHE_CHECK(for working getmsg, ac_cv_func_getmsg, +AC_TRY_RUN( +[ +#include <stdio.h> + +int main() +{ + getmsg(open("/dev/null", 0), NULL, NULL, NULL); + return 0; +} +], ac_cv_func_getmsg=yes, ac_cv_func_getmsg=no, ac_cv_func_getmsg=no)) +test "$ac_cv_func_getmsg" = "yes" && +AC_DEFINE(HAVE_GETMSG, 1, [Define if you have a working getmsg.]) + +fi + +dnl +dnl Tests for editline +dnl + +dnl el_init + +AC_FIND_FUNC_NO_LIBS(el_init, edit, [], [], [$LIB_tgetent]) +if test "$ac_cv_func_el_init" = yes ; then + AC_CACHE_CHECK(for four argument el_init, ac_cv_func_el_init_four,[ + AC_TRY_COMPILE([#include <stdio.h> + #include <histedit.h>], + [el_init("", NULL, NULL, NULL);], + ac_cv_func_el_init_four=yes, + ac_cv_func_el_init_four=no)]) + if test "$ac_cv_func_el_init_four" = yes; then + AC_DEFINE(HAVE_FOUR_VALUED_EL_INIT, 1, [Define if el_init takes four arguments.]) + fi +fi + +dnl readline + +save_LIBS="$LIBS" +LIBS="$LIB_tgetent $LIBS" +AC_FIND_FUNC_NO_LIBS(readline, edit readline) +LIBS="$save_LIBS" +el_yes="# " +if test "$with_readline" -a "$with_readline" != "no"; then + : +elif test "$ac_cv_func_readline" = yes; then + INCLUDE_readline= +elif test "$ac_cv_func_el_init" = yes; then + el_yes= + LIB_readline="-L\$(top_builddir)/lib/editline -lel_compat $LIB_el_init" + INCLUDE_readline='-I$(top_srcdir)/lib/editline' +else + LIB_readline='-L$(top_builddir)/lib/editline -leditline' + INCLUDE_readline='-I$(top_srcdir)/lib/editline' +fi +LIB_readline="$LIB_readline \$(LIB_tgetent)" +AC_DEFINE(HAVE_READLINE, 1, [Define if you have a readline function.])dnl XXX +AC_SUBST(LIB_readline) +AC_SUBST(INCLUDE_readline) +AC_SUBST(el_yes) + +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\ ?.10.*) + 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" + fi + ;; +*) + krb_cv_sys_streamspty="$ac_cv_func_getmsg" + ;; +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) + +dnl ------------------------------------------------------------ +AC_CACHE_CHECK(for suffix of preformatted manual pages, krb_cv_sys_cat_suffix, +if grep _version /etc/man.conf > /dev/null 2>&1; then + krb_cv_sys_cat_suffix=0 +else + krb_cv_sys_cat_suffix=number +fi) +if test "$krb_cv_sys_cat_suffix" = number; then + CATSUFFIX='$$s' +else + CATSUFFIX=0 +fi +AC_SUBST(CATSUFFIX) + +dnl ------------------------------------------------------------ + +KRB_KAFS_LIB="-L\$(top_builddir)/lib/kafs -lkafs $AIX_EXTRA_KAFS" +AC_SUBST(KRB_KAFS_LIB)dnl + +dnl ------------------------------------------------------------ + + +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 + +dnl +dnl We are all set to emit the Makefiles and config.h +dnl +AC_OUTPUT( \ +Makefile \ +include/Makefile \ +include/sys/Makefile \ + \ +man/Makefile \ + \ +lib/Makefile \ +lib/com_err/Makefile \ +lib/des/Makefile \ +lib/krb/Makefile \ +lib/kdb/Makefile \ +lib/kadm/Makefile \ +lib/acl/Makefile \ +lib/kafs/Makefile \ +lib/roken/Makefile \ +lib/otp/Makefile \ +lib/sl/Makefile \ +lib/editline/Makefile \ +lib/rxkad/Makefile \ +lib/auth/Makefile \ +lib/auth/pam/Makefile \ +lib/auth/sia/Makefile \ +lib/auth/afskauthlib/Makefile \ + \ +kuser/Makefile \ +server/Makefile \ +slave/Makefile \ +admin/Makefile \ +kadmin/Makefile \ + \ +appl/Makefile \ + \ +appl/afsutil/Makefile \ +appl/ftp/Makefile \ +appl/ftp/common/Makefile \ +appl/ftp/ftp/Makefile \ +appl/ftp/ftpd/Makefile \ +appl/telnet/Makefile \ +appl/telnet/libtelnet/Makefile \ +appl/telnet/telnet/Makefile \ +appl/telnet/telnetd/Makefile \ +appl/bsd/Makefile \ +appl/kauth/Makefile \ +appl/popper/Makefile \ +appl/movemail/Makefile \ +appl/push/Makefile \ +appl/sample/Makefile \ +appl/xnlock/Makefile \ +appl/kx/Makefile \ +appl/kip/Makefile \ +appl/otp/Makefile \ +doc/Makefile \ +etc/inetd.conf.changes \ +) dnl end of AC_OUTPUT + +AC_KRB_VERSION |