1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-26 07:55:01 +00:00
freebsd/crypto/kerberosIV/configure.in
Mark Murray 03656ac1b0 Initial import of KTH eBones. This has been cleaned up to only include
the "core" Kerberos functionality. The rest of the userland will get their
own changes later.
1997-09-04 06:04:33 +00:00

971 lines
22 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.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