diff options
Diffstat (limited to 'crypto/kerberosIV/configure.in')
-rw-r--r-- | crypto/kerberosIV/configure.in | 970 |
1 files changed, 970 insertions, 0 deletions
diff --git a/crypto/kerberosIV/configure.in b/crypto/kerberosIV/configure.in new file mode 100644 index 0000000..9265666 --- /dev/null +++ b/crypto/kerberosIV/configure.in @@ -0,0 +1,970 @@ +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.285 $) +AC_INIT(lib/krb/getrealm.c) +AC_CONFIG_HEADER(include/config.h) + +dnl +dnl definitions +dnl + +PACKAGE=krb4 +AC_SUBST(PACKAGE)dnl +VERSION=0.9.6 +AC_SUBST(VERSION)dnl +# This may be overridden using --prefix=/usr to configure +AC_PREFIX_DEFAULT(/usr/athena) + +AC_CANONICAL_HOST +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_CHECK_PROG(MAKEINFO, makeinfo, makeinfo, :) + +dnl +dnl check for build options +dnl + +AC_TEST_PACKAGE(socks,socks.h,libsocks5.a,-lsocks5) +CFLAGS="$SOCKSINCLUDE $CFLAGS" +LIBS="$SOCKSLIB $LIBS" + +dnl Check if we want to use shared libraries +AC_ARG_WITH(shared, +[ --with-shared create shared libraries for Kerberos]) + +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") + +AC_ARG_WITH(mailspool, +[ --with-mailspool=dir this is the mail spool directory] +) + +test -n "$with_mailspool" && +AC_DEFINE_UNQUOTED(KRB4_MAILDIR, "$with_mailspool") + +AC_ARG_ENABLE(random-mkey, +[ --enable-random-mkey use new code for master keys],[ +if test "$enableval" = "yes"; then + AC_DEFINE(RANDOM_MKEY,1) +fi +]) + +AC_ARG_WITH(mkey, +[ --with-mkey=file where to put the master key],[ +if test -n "$withval"; then + AC_DEFINE_UNQUOTED(MKEYFILE,"$withval") +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) + 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_DEFINE(DES_QUAD_DEFAULT,DES_QUAD_NEW) +elif test "$des_quad" = "old"; then + AC_DEFINE(DES_QUAD_DEFAULT,DES_QUAD_OLD) +else + AC_DEFINE(DES_QUAD_DEFAULT,DES_QUAD_GUESS) +fi + +AC_TEST_PACKAGE(readline,readline.h,libreadline.a,-lreadline) + +dnl +dnl Shared library stuff has to be different everywhere +dnl + +AC_SUBST(CFLAGS)dnl +AC_SUBST(LDFLAGS)dnl + +case ${with_shared} in + yes ) with_shared=yes;; + no ) with_shared=no;; + * ) with_shared=no;; +esac + +# NOTE: Building shared libraries may not work if you do not use gcc! +# +# OS $SHLIBEXT +# HP-UX sl +# Linux so +# NetBSD so +# FreeBSD so +# OSF so +# SunOS5 so +# SunOS4 so.0.5 +# Irix so +# +# LIBEXT is the extension we should build (.a or $SHLIBEXT) +REAL_PICFLAGS="-fpic" +LDSHARED='$(CC) $(PICFLAGS) -shared' +LIBPREFIX=lib +REAL_SHLIBEXT=so +changequote({,})dnl +SHLIB_VERSION=`echo $VERSION | sed 's/\([0-9.]*\).*/\1/'` +changequote([,])dnl +case "${host}" in +*-*-hpux*) + REAL_SHLIBEXT=sl + REAL_LD_FLAGS='-Wl,+b$(libdir)' + if test -z "$GCC"; then + LDSHARED="ld -b" + REAL_PICFLAGS="+z" + fi + ;; +*-*-linux*) + REAL_LD_FLAGS='-Wl,-rpath,$(libdir)' + ;; +*-*-*bsd*) + REAL_SHLIBEXT=so.$SHLIB_VERSION + LDSHARED='ld -Bshareable' + REAL_LD_FLAGS='-Wl,-R$(libdir)' + ;; +*-*-osf*) + REAL_LD_FLAGS='-Wl,-rpath,$(libdir)' + REAL_PICFLAGS= + LDSHARED='ld -shared -expect_unresolved \*' + ;; +*-*-solaris2*) + REAL_LD_FLAGS='-Wl,-R$(libdir)' + if test -z "$GCC"; then + LDSHARED='$(CC) -G' + REAL_PICFLAGS="-Kpic" + fi + ;; +*-*-sunos*) + REAL_SHLIBEXT=so.$SHLIB_VERSION + REAL_LD_FLAGS='-Wl,-L$(libdir)' + ;; +*-*-irix*) + REAL_LD_FLAGS='-Wl,-rpath,$(libdir)' + REAL_PICFLAGS= + ;; +*-*-os2_emx*) + LD_FLAGS='-Zexe' + LIBPREFIX= + EXECSUFFIX='.exe' + RANLIB=EMXOMF + REAL_SHLIBEXT=nobuild + ;; +*-*-cygwin32*) + EXECSUFFIX='.exe' + REAL_SHLIBEXT=nobuild + ;; +*) REAL_SHLIBEXT=nobuild + REAL_PICFLAGS= + ;; +esac + +if test "${with_shared}" != "yes" ; then + PICFLAGS="" + SHLIBEXT="nobuild" + LIBEXT="a" +else + PICFLAGS="$REAL_PICFLAGS" + SHLIBEXT="$REAL_SHLIBEXT" + LIBEXT="$SHLIBEXT" + LD_FLAGS="$REAL_LD_FLAGS" +fi + +AC_SUBST(REAL_PICFLAGS) dnl +AC_SUBST(REAL_SHLIBEXT) dnl +AC_SUBST(REAL_LD_FLAGS) dnl + +AC_SUBST(PICFLAGS) dnl +AC_SUBST(SHLIBEXT) dnl +AC_SUBST(LDSHARED) dnl +AC_SUBST(LD_FLAGS) dnl +AC_SUBST(LIBEXT) dnl +AC_SUBST(LIBPREFIX) dnl +AC_SUBST(EXECSUFFIX) dnl + +dnl +dnl Check if we need to use weak-stuff +dnl + +AC_HAVE_PRAGMA_WEAK + +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 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 + AFS_EXTRA_OBJS='$(srcdir)/afsl.exp dlfcn.o' + AC_SUBST(AFS_EXTRA_OBJS) + AFS_EXTRA_LIBS=afslib.so + AC_SUBST(AFS_EXTRA_LIBS) +fi + +# +# AIX needs /lib/pse.exp for getmsg, but alas that file is broken in +# AIX414 +# + +if test -f /lib/pse.exp ;then + LIBS="$LIBS -Wl,-bI:/lib/pse.exp" +fi + +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) +AC_CHECK_HEADERS(arpa/telnet.h bind/bitypes.h bsd/bsd.h bsdsetjmp.h) +AC_CHECK_HEADERS(crypt.h dbm.h dirent.h err.h fcntl.h grp.h io.h) +AC_CHECK_HEADERS(lastlog.h login.h maillock.h ndbm.h net/if.h) +AC_CHECK_HEADERS(net/if_tun.h net/if_var.h netdb.h netinet/in.h) +AC_CHECK_HEADERS(netinet/in6_machtypes.h netinet/in_systm.h) +AC_CHECK_HEADERS(netinet/ip.h netinet/tcp.h paths.h pty.h pwd.h) +AC_CHECK_HEADERS(resolv.h rpcsvc/dbm.h sac.h security/pam_modules.h) +AC_CHECK_HEADERS(shadow.h siad.h signal.h stropts.h sys/bitypes.h) +AC_CHECK_HEADERS(sys/category.h sys/cdefs.h sys/file.h sys/filio.h) +AC_CHECK_HEADERS(sys/ioccom.h sys/ioctl.h sys/locking.h sys/mman.h) +AC_CHECK_HEADERS(sys/param.h sys/proc.h sys/ptyio.h sys/ptyvar.h) +AC_CHECK_HEADERS(sys/resource.h sys/select.h sys/socket.h) +AC_CHECK_HEADERS(sys/sockio.h sys/stat.h sys/str_tty.h sys/stream.h) +AC_CHECK_HEADERS(sys/stropts.h sys/strtty.h sys/syscall.h) +AC_CHECK_HEADERS(sys/sysctl.h sys/termio.h sys/time.h sys/timeb.h) +AC_CHECK_HEADERS(sys/times.h sys/tty.h sys/types.h sys/uio.h) +AC_CHECK_HEADERS(sys/un.h sys/utsname.h sys/wait.h syslog.h) +AC_CHECK_HEADERS(termio.h termios.h tmpdir.h ttyent.h udb.h ulimit.h) +AC_CHECK_HEADERS(unistd.h userpw.h usersec.h util.h utime.h utmp.h) +AC_CHECK_HEADERS(utmpx.h wait.h winsock.h) + +AC_HEADER_TIME +AC_DECL_SYS_SIGLIST +AC_SUBST(ac_cv_header_sys_cdefs_h)dnl +AC_SUBST(ac_cv_header_err_h)dnl + +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) + +dnl +dnl Various checks for libraries and their contents +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) + +dnl +dnl See if there is any X11 present +dnl +AC_PATH_XTRA +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 + +save_CFLAGS="$CFLAGS" +CFLAGS="$X_CFLAGS $CFLAGS" +save_LIBS="$LIBS" +dnl LIBS="$X_LIBS $X_PRE_LIBS $X_EXTRA_LIBS $LIBS" +LIBS="$X_PRE_LIBS $X_EXTRA_LIBS $LIBS" +save_LDFLAGS="$LDFLAGS" +LDFLAGS="$LDFLAGS $X_LIBS" + +AC_FIND_FUNC_NO_LIBS(XauReadAuth, Xau X11) +ac_xxx="$LIBS" +LIBS="$LIB_XauReadAuth $LIBS" +AC_CHECK_FUNCS(XauWriteAuth) +if test "$ac_cv_func_XauWriteAuth" != "yes"; then + XauWriteAuth_c=writeauth.c + XauWriteAuth_o=writeauth.o +fi +AC_SUBST(XauWriteAuth_c)dnl +AC_SUBST(XauWriteAuth_o)dnl +LIBS="$ac_xxx" + +CFLAGS=$save_CFLAGS +LIBS=$save_LIBS +LDFLAGS=$save_LDFLAGS + +dnl +dnl Look for berkeley db, gdbm, and ndbm in that order. +dnl + +save_LIBS="$LIBS" +AC_FIND_FUNC_NO_LIBS(dbopen, $berkeley_db) +LIBS="$LIB_dbopen $LIBS" +AC_FIND_FUNC_NO_LIBS(dbm_firstkey, $berkeley_db gdbm ndbm) +if test -n "$LIB_dbopen"; then + LIB_DBM="$LIB_dbopen" +else + LIB_DBM="$LIB_dbm_firstkey" +fi +AC_SUBST(LIB_DBM)dnl +LIBS="$save_LIBS" + +AC_FIND_FUNC(syslog, syslog) + +AC_CACHE_CHECK(for working snprintf,ac_cv_func_snprintf_working, +ac_cv_func_snprintf_working=yes +AC_TRY_RUN([ +#include <stdio.h> +#include <string.h> +int main() +{ +changequote(`,')dnl + char foo[3]; +changequote([,])dnl + snprintf(foo, 2, "12"); + return strcmp(foo, "1"); +}],:,ac_cv_func_snprintf_working=no,:)) +: << END +@@@funcs="$funcs snprintf"@@@ +END +if test "$ac_cv_func_snprintf_working" = yes; then + foo=HAVE_SNPRINTF + AC_DEFINE_UNQUOTED($foo) +fi + +AC_CHECK_FUNCS(asnprintf asprintf vasprintf vasnprintf vsnprintf) + + +AC_CHECK_FUNCS(_getpty _scrsize _setsid _stricmp fchmod fcntl flock) +AC_CHECK_FUNCS(forkpty frevoke gethostname getlogin getpriority getservbyname) +AC_CHECK_FUNCS(getspnam getspuid gettimeofday getuid grantpt) +AC_CHECK_FUNCS(innetgr iruserok mktime ptsname rand random) +AC_CHECK_FUNCS(revoke setitimer setlogin setpgid setpriority) +AC_CHECK_FUNCS(setproctitle setregid setresgid setresuid setreuid setsid) +AC_CHECK_FUNCS(setutent swab ttyname ttyslot ulimit uname) +AC_CHECK_FUNCS(unlockpt vhangup yp_get_default_domain) +AC_FIND_FUNC_NO_LIBS(getpwnam_r,c_r) +if test "$ac_cv_func_getpwnam_r" = yes; then + AC_CACHE_CHECK(if getpwnam_r is posix,ac_cv_func_getpwnam_r_posix, + ac_libs="$LIBS" + LIBS="$LIBS $LIB_getpwnam_r" + AC_TRY_RUN([ +#include <pwd.h> +int main() +{ + struct passwd pw, *pwd; + return getpwnam_r("", &pw, NULL, 0, &pwd) < 0; +} +],ac_cv_func_getpwnam_r_posix=yes,ac_cv_func_getpwnam_r_posix=no,:) +LIBS="$ac_libs") +if test "$ac_cv_func_getpwnam_r_posix" = yes; then + AC_DEFINE(POSIX_GETPWNAM_R) +fi +fi + +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_FUNC_MMAP +AC_FUNC_ALLOCA + +# +# Test for POSIX (broken) getlogin +# + +if test "$ac_cv_func_getlogin" = yes; then +AC_CACHE_CHECK(if getlogin is posix, ac_cv_func_getlogin_posix, [ +if test "$ac_cv_func_getlogin" = yes -a "$ac_cv_func_setlogin" = yes; then + ac_cv_func_getlogin_posix=no +else + ac_cv_func_getlogin_posix=yes +fi +]) +if test "$ac_cv_func_getlogin_posix" = yes; then + AC_DEFINE(POSIX_GETLOGIN, 1) +fi +fi + +AC_FIND_IF_NOT_BROKEN(hstrerror, resolv, +[#ifdef HAVE_NETDB_H +#include <netdb.h> +#endif], +17) + +AC_BROKEN(chown daemon err errx fchown getcwd getdtablesize getopt) +AC_BROKEN(getusershell inet_aton initgroups lstat memmove mkstemp) +AC_BROKEN(putenv rcmd setegid setenv seteuid strcasecmp strdup) +AC_BROKEN(strerror strftime strlwr strnlen strtok_r strupr unsetenv) +AC_BROKEN(verr verrx vwarn vwarnx warn warnx) + +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; 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_NEED_PROTO([ +#ifdef HAVE_CRYPT_H +#include <crypt.h> +#endif +#ifdef HAVE_UNISTD_H +#include <unistd.h> +#endif +], +crypt) + +AC_NEED_PROTO([ +#include <string.h> +], +strtok_r) + +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>], optarg) +AC_CHECK_DECLARATION([#include <stdlib.h>], optind) +AC_CHECK_DECLARATION([#include <stdlib.h>], opterr) +AC_CHECK_DECLARATION([#include <stdlib.h>], optopt) + +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) +fi + +dnl +dnl Check for fields in struct utmp +dnl +AC_EGREP_HEADER(ut_user, utmp.h, AC_DEFINE(HAVE_UT_USER)) +AC_EGREP_HEADER(ut_host, utmp.h, AC_DEFINE(HAVE_UT_HOST)) +AC_EGREP_HEADER(ut_addr, utmp.h, AC_DEFINE(HAVE_UT_ADDR)) +AC_EGREP_HEADER(ut_type, utmp.h, AC_DEFINE(HAVE_UT_TYPE)) +AC_EGREP_HEADER(ut_pid, utmp.h, AC_DEFINE(HAVE_UT_PID)) +AC_EGREP_HEADER(ut_id, utmp.h, AC_DEFINE(HAVE_UT_ID)) +AC_EGREP_HEADER(ut_syslen, utmpx.h, AC_DEFINE(HAVE_UT_SYSLEN)) + +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 + +dnl +dnl Check for sa_len in sys/socket.h +dnl + +AC_MSG_CHECKING(for sa_len in struct sockaddr) +AC_CACHE_VAL(krb_cv_struct_sockaddr_sa_len, [ +AC_TRY_COMPILE( +[#include <sys/types.h> +#include <sys/socket.h>], +[struct sockaddr sa; +int foo = sa.sa_len;], +krb_cv_struct_sockaddr_sa_len=yes, +krb_cv_struct_sockaddr_sa_len=no) +]) +AC_MSG_RESULT($krb_cv_struct_sockaddr_sa_len) +if test "$krb_cv_struct_sockaddr_sa_len" = yes; then + AC_DEFINE(SOCKADDR_HAS_SA_LEN) +fi + +dnl +dnl Check for ouid in sys/siad.h +dnl + +if test "$ac_cv_header_siad_h" = yes; then +AC_MSG_CHECKING(for ouid in struct siaentity) +AC_CACHE_VAL(krb_cv_struct_siaentity_ouid, [ +AC_TRY_COMPILE( +[#include <siad.h> +], +[SIAENTITY e; +int foo = e.ouid;], +krb_cv_struct_siaentity_ouid=yes, +krb_cv_struct_siaentity_ouid=no) +]) +AC_MSG_RESULT($krb_cv_struct_siaentity_ouid) +if test "$krb_cv_struct_siaentity_ouid" = yes; then + AC_DEFINE(SIAENTITY_HAS_OUID) +fi +fi + +dnl +dnl you can link with getmsg on AIX 3.2 but you cannot run the program +dnl + +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) + +dnl +dnl Test if we are using berkeley db +dnl + +save_LIBS="$LIBS" +LIBS="$LIB_DBM $LIBS" +AC_CACHE_CHECK(for berkeley db, krb_cv_lib_berkeleydb, +AC_TRY_RUN( +[ +#include <unistd.h> +#include <fcntl.h> +#include <ndbm.h> +int main() +{ + DBM *d; + + d = dbm_open("conftest", O_RDWR | O_CREAT, 0666); + if(d == NULL) + return 1; + dbm_close(d); + return access("conftest.db", F_OK) != 0; +}], krb_cv_lib_berkeleydb=yes, krb_cv_lib_berkeleydb=no, +krb_cv_lib_berkeleydb=no)) +test "$krb_cv_lib_berkeleydb" = "yes" && +AC_DEFINE(HAVE_NEW_DB) +LIBS="$save_LIBS" + +dnl +dnl Tests for editline +dnl + +AC_FIND_FUNC_NO_LIBS(el_init, edit) +AC_FIND_FUNC_NO_LIBS(readline, readline) + +if test "$with_readline"; then + AC_DEFINE(HAVE_READLINE, 1) + editline_OBJS= + LIB_readline="$READLINELIB "'$(LIB_tgetent)' + INCLUDE_readline="$READLINEINCLUDE" +elif test "$ac_cv_func_el_init" = yes; then + AC_DEFINE(HAVE_READLINE, 1) + + editline_OBJS=edit_compat.o + LIB_readline='-L$(topdir)/lib/editline -leditline '"$LIB_el_init"' $(LIB_tgetent)' + + INCLUDE_readline='-I$(topdir)/lib/editline -I$(top_srcdir)/lib/editline' +elif test "$ac_cv_func_readline" = yes; then + AC_DEFINE(HAVE_READLINE, 1) + editline_OBJS= + LIB_readline='-lreadline $(LIB_tgetent)' + INCLUDE_readline= +else + AC_DEFINE(HAVE_READLINE, 1) + editline_OBJS="editline.o complete.o sysunix.o" + LIB_readline='-L$(topdir)/lib/editline -leditline $(LIB_tgetent)' + INCLUDE_readline='-I$(topdir)/lib/editline -I$(top_srcdir)/lib/editline' +fi +AC_SUBST(LIB_readline) +AC_SUBST(INCLUDE_readline) +AC_SUBST(editline_OBJS) + +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) +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) + 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$(topdir)/lib/kafs -lkafs' +if test "$krb_cv_sys_aix" = yes; then + KRB_KAFS_LIB="$KRB_KAFS_LIB -lld" +fi +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 \ + \ +util/Makefile \ +util/et/Makefile \ + \ +man/Makefile \ + \ +lib/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/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/kpopper/Makefile \ +appl/movemail/Makefile \ +appl/sample/Makefile \ +appl/xnlock/Makefile \ +appl/kx/Makefile \ +appl/kip/Makefile \ +appl/otp/Makefile \ +doc/Makefile \ +) dnl end of AC_OUTPUT + +dnl +dnl This is the release version name-number[beta] +dnl Update before making a new release +dnl +KRB4VERSION="$PACKAGE-$VERSION" + +cat > include/newversion.h.in <<EOF +char *krb4_long_version = "@(#)\$Version: $KRB4VERSION by @USER@ on @HOST@ ($host) @DATE@ \$"; +char *krb4_version = "$KRB4VERSION"; +EOF + +if test -f include/version.h && cmp -s include/newversion.h.in include/version.h.in; then + echo "include/version.h is unchanged" + rm -f include/newversion.h.in +else + echo "creating include/version.h" + User=${USER-${LOGNAME}} + Host=`(hostname || uname -n) 2>/dev/null | sed 1q` + Date=`date` + mv -f include/newversion.h.in include/version.h.in + sed -e "s/@USER@/$User/" -e "s/@HOST@/$Host/" -e "s/@DATE@/$Date/" include/version.h.in > include/version.h +fi |