dnl Process this file with autoconf to produce a configure script. AC_REVISION($Revision$) AC_INIT(lib/krb5/send_to_kdc.c) AM_CONFIG_HEADER(include/config.h) AM_INIT_AUTOMAKE(heimdal,0.0p) AC_PREFIX_DEFAULT(/usr/heimdal) AC_CANONICAL_HOST CANONICAL_HOST=$host AC_SUBST(CANONICAL_HOST) case "$host" in *-*-sunos4*) AC_DEFINE(SunOS, 4) ;; *-*-solaris2*) AC_DEFINE(SunOS, 5) ;; esac dnl Checks for programs. AC_PROG_CC dnl AC_KRB_PROG_YACC AC_PROG_YACC AM_PROG_LEX AC_PROG_RANLIB AC_PROG_AWK AC_KRB_PROG_LN_S AM_DISABLE_SHARED AM_PROG_LIBTOOL if test "$GCC" = "yes"; then # -Wcast-align doesn't work well on alpha osf/1 WFLAGS="-Wall -Wmissing-prototypes -Wpointer-arith -Wbad-function-cast -Wmissing-declarations -Wnested-externs" WFLAGS_NOUNUSED="-Wno-unused" fi AC_SUBST(WFLAGS) AC_SUBST(WFLAGS_NOUNUSED) CFLAGS="-g" 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 ]) AC_TEST_PACKAGE(krb4,krb.h,libkrb.a,-lkrb) if test "$with_krb4"; then AC_DEFINE(KRB4, 1) LIB_krb4="$KRB4LIB -ldes" INCLUDE_krb4="$KRB4INCLUDE" EXTRA_LIB45=lib45.a AC_SUBST(EXTRA_LIB45) fi AM_CONDITIONAL(KRB4, test "$with_krb4")dnl AC_SUBST(LIB_krb4)dnl AC_SUBST(INCLUDE_krb4)dnl AM_CONDITIONAL(AIX, test `uname` = AIX)dnl AC_ARG_ENABLE(kaserver, [ --enable-kaserver if you want the KDC to try to emulate a kaserver], [ if test "$enableval" != no; then AC_DEFINE(KASERVER, 1) if test "x$with_krb4" = "x"; then AC_MSG_ERROR(kaserver requires krb4) exit 1 fi fi ]) AC_ARG_ENABLE(kaserver-db, [ --enable-kaserver-db if you want support for reading kaserver databases in hprop], [ if test "$enableval" != "no"; then AC_DEFINE(KASERVER_DB, 1) 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='$(top_builddir)/lib/otp/libotp.la' OTP_dir=otp fi AC_SUBST(LIB_otp) AC_SUBST(OTP_dir) AC_PATH_PROG(NROFF, nroff) AC_PATH_PROG(GROFF, groff) AC_CACHE_CHECK(how to format man pages,ac_cv_sys_man_format, [cat > conftest.1 << END .Dd January 1, 1970 .Dt CONFTEST 1 .Sh NAME .Nm conftest .Nd foobar END if test "$NROFF" ; then for i in "-mdoc" "-mandoc"; do if "$NROFF" $i conftest.1 2> /dev/null | \ grep Jan > /dev/null 2>&1 ; then ac_cv_sys_man_format="$NROFF $i" break fi done fi if test "$ac_cv_sys_man_format" = "" -a "$GROFF" ; then for i in "-mdoc" "-mandoc"; do if "$GROFF" -Tascii $i conftest.1 2> /dev/null | \ grep Jan > /dev/null 2>&1 ; then ac_cv_sys_man_format="$GROFF -Tascii $i" break fi done fi if test "$ac_cv_sys_man_format"; then ac_cv_sys_man_format="$ac_cv_sys_man_format \$< > \$@" fi ]) if test "$ac_cv_sys_man_format"; then CATMAN="$ac_cv_sys_man_format" AC_SUBST(CATMAN) fi AM_CONDITIONAL(CATMAN, test "$CATMAN") AC_CACHE_CHECK(extension of pre-formatted manual pages,ac_cv_sys_catman_ext, if grep _suffix /etc/man.conf > /dev/null 2>&1; then ac_cv_sys_catman_ext=0 else ac_cv_sys_catman_ext=number fi ) if test "$ac_cv_sys_catman_ext" = number; then CATMANEXT='$$section' else CATMANEXT=0 fi AC_SUBST(CATMANEXT) AC_TEST_PACKAGE(readline,readline.h,libreadline.a,-lreadline) AC_C_BIGENDIAN AC_C_INLINE 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 AM_C_PROTOTYPES dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_OFF_T AC_TYPE_SIZE_T AC_CHECK_TYPE_EXTRA(ssize_t, int, [#include foo]) AC_TYPE_PID_T AC_TYPE_UID_T AC_TYPE_MODE_T AC_TYPE_SIG_ATOMIC_T AC_HEADER_TIME AC_STRUCT_TM dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS(arpa/ftp.h arpa/inet.h arpa/nameser.h arpa/telnet.h ) AC_CHECK_HEADERS(bsdsetjmp.h crypt.h) AC_CHECK_HEADERS(curses.h db.h dbm.h dirent.h err.h errno.h) AC_CHECK_HEADERS(fcntl.h fnmatch.h grp.h inttypes.h limits.h maillock.h ndbm.h) AC_CHECK_HEADERS(net/if.h netdb.h) AC_CHECK_HEADERS(netinet/in.h netinet/in6.h netinet/in6_var.h) AC_CHECK_HEADERS(netinet/in6_machtypes.h netinet/in_systm.h) AC_CHECK_HEADERS(netinet/ip.h netinet/tcp.h netinfo/ni.h netinet6/in6.h paths.h pty.h pwd.h) AC_CHECK_HEADERS(io.h resolv.h) AC_CHECK_HEADERS(rpcsvc/dbm.h sac.h sgtty.h shadow.h signal.h stropts.h) AC_CHECK_HEADERS(sys/bitypes.h sys/file.h sys/filio.h sys/ioctl.h) AC_CHECK_HEADERS(sys/param.h sys/proc.h sys/pty.h sys/ptyio.h) AC_CHECK_HEADERS(sys/ptyvar.h sys/resource.h sys/select.h) AC_CHECK_HEADERS(sys/socket.h sys/sockio.h sys/stat.h sys/stream.h) AC_CHECK_HEADERS(sys/stropts.h sys/strtty.h sys/str_tty.h sys/syscall.h) AC_CHECK_HEADERS(sys/sysctl.h sys/time.h sys/timeb.h sys/times.h) AC_CHECK_HEADERS(sys/termio.h sys/tty.h sys/types.h sys/uio.h sys/un.h) AC_CHECK_HEADERS(sys/utsname.h sys/wait.h syslog.h termio.h) AC_CHECK_HEADERS(termios.h time.h tmpdir.h unistd.h util.h utmp.h utmpx.h) if test "$ac_cv_header_err_h" = no; then EXTRA_HDRS="$EXTRA_HDRS err.h" AC_SUBST(EXTRA_HDRS) fi if test "$ac_cv_header_fnmatch_h" = no; then EXTRA_HDRS="$EXTRA_HDRS fnmatch.h" AC_SUBST(EXTRA_HDRS) fi dnl Checks for libraries. AC_FIND_FUNC(socket, socket) AC_FIND_FUNC(gethostbyname, nsl) AC_FIND_FUNC(syslog, syslog) AC_FIND_FUNC_NO_LIBS(logwtmp, util) AC_FIND_FUNC_NO_LIBS(tgetent, termcap ncurses curses) AC_FIND_FUNC(gethostbyname2, inet6 ip6) AC_FIND_FUNC(inet_ntop, inet6 ip6) AC_CHECK_FUNCS(inet_pton) dnl Checks for library functions. AC_BROKEN_SNPRINTF AC_BROKEN_VSNPRINTF dnl these should happen after tests for *snprintf AC_FIND_FUNC_NO_LIBS(dbopen, $berkeley_db) AC_FIND_FUNC_NO_LIBS(dbm_firstkey, $berkeley_db gdbm ndbm) DBLIB="$LIB_dbopen" if test "$LIB_dbopen" != "$LIB_dbm_firstkey"; then DBLIB="$DBLIB $LIB_dbm_firstkey" fi AC_SUBST(DBLIB)dnl AC_CHECK_FUNCS(_getpty _scrsize asnprintf asprintf dn_expand fcntl) AC_CHECK_FUNCS(gethostname getlogin) AC_CHECK_FUNCS(getmsg getrlimit getspnam getspuid gettimeofday getuid) AC_CHECK_FUNCS(grantpt innetgr mktime ptsname rand random) AC_CHECK_FUNCS(revoke res_search select setitimer setlogin setpcred setpgid) AC_CHECK_FUNCS(setregid setresgid setresuid setreuid setutent) AC_CHECK_FUNCS(setsid setsockopt sigaction strstr) AC_CHECK_FUNCS(sysconf sysctl timegm ttyname ttyslot umask uname) AC_CHECK_FUNCS(unlockpt vasnprintf vasprintf vhangup) AC_CHECK_FUNCS(yp_get_default_domain) AC_BROKEN(geteuid getgid getegid) AC_TYPE_SIGNAL if test "$ac_cv_type_signal" = "void" ; then AC_DEFINE(VOID_RETSIGTYPE, 1) fi AC_SUBST(VOID_RETSIGTYPE) AC_FIND_IF_NOT_BROKEN(hstrerror, resolv, [#ifdef HAVE_NETDB_H #include #endif], 17) if test "$ac_cv_func_hstrerror" = yes; then AC_NEED_PROTO([ #ifdef HAVE_NETDB_H #include #endif], hstrerror) fi dnl sigh, wish this could be done in a loop if test "$ac_cv_func_asprintf" = yes; then AC_NEED_PROTO([ #include #include ], asprintf)dnl fi if test "$ac_cv_func_vasprintf" = yes; then AC_NEED_PROTO([ #include #include ], vasprintf)dnl fi if test "$ac_cv_func_asnprintf" = yes; then AC_NEED_PROTO([ #include #include ], asnprintf)dnl fi if test "$ac_cv_func_vasnprintf" = yes; then AC_NEED_PROTO([ #include #include ], vasnprintf)dnl fi AC_BROKEN(chown daemon err errx fchown flock fnmatch getcwd) AC_BROKEN(getdtablesize getopt getusershell inet_aton) AC_BROKEN(initgroups iruserok lstat memmove mkstemp) AC_BROKEN(putenv rcmd readv setegid setenv seteuid) AC_BROKEN(seteuid strcasecmp strncasecmp strcpy_truncate strdup strerror) AC_BROKEN(strftime strlwr strnlen strsep strtok_r strupr swab) AC_BROKEN(unsetenv verr verrx vsyslog vwarn vwarnx warn warnx writev) AC_FIND_FUNC_NO_LIBS(crypt, crypt)dnl AC_CACHE_CHECK(if realloc if broken, ac_cv_func_realloc_broken, [ ac_cv_func_realloc_broken=no AC_TRY_RUN([ #include #include 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) fi dnl AC_KRB_FUNC_GETCWD_BROKEN dnl dnl Checks for prototypes and declarations dnl AC_PROTO_COMPAT([ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_NETDB_H #include #endif ], gethostbyname, struct hostent *gethostbyname(const char *)) AC_PROTO_COMPAT([ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_NETDB_H #include #endif ], gethostbyaddr, struct hostent *gethostbyaddr(const void *, size_t, int)) AC_PROTO_COMPAT([ #ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_SYS_SOCKET_H #include #endif #ifdef HAVE_NETINET_IN_H #include #endif #ifdef HAVE_ARPA_INET_H #include #endif #ifdef HAVE_NETDB_H #include #endif ], getservbyname, struct servent *getservbyname(const char *, const char *)) AC_PROTO_COMPAT([ #ifdef HAVE_SYSLOG_H #include #endif ], openlog, void openlog(const char *, int, int)) AC_NEED_PROTO([ #ifdef HAVE_CRYPT_H #include #endif #ifdef HAVE_UNISTD_H #include #endif ], crypt) AC_NEED_PROTO([ #include ], strtok_r) AC_CHECK_VAR([#ifdef HAVE_SYS_TYPES_H #include #endif #ifdef HAVE_NETDB_H #include #endif], h_errno) AC_CHECK_VAR([#ifdef HAVE_NETDB_H #include #endif], h_errlist) AC_CHECK_VAR([#ifdef HAVE_NETDB_H #include #endif], h_nerr) AC_CHECK_VAR([#ifdef HAVE_ERR_H #include #endif],[__progname]) AC_CHECK_DECLARATION([#include ], optarg) AC_CHECK_DECLARATION([#include ], optind) AC_CHECK_DECLARATION([#include ], opterr) AC_CHECK_DECLARATION([#include ], optopt) 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_EGREP_HEADER(ut_exit, utmpx.h, AC_DEFINE(HAVE_UT_EXIT)) AC_KRB_IPV6 dnl dnl Check for struct winsize dnl AC_KRB_STRUCT_WINSIZE dnl dnl Check for sa_len in struct sockaddr dnl AC_KRB_STRUCT_SOCKADDR_SA_LEN 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 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='$(top_builddir)/lib/editline/libeditline.la '"$LIB_el_init"' $(LIB_tgetent)' INCLUDE_readline='-I$(top_builddir)/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='$(top_builddir)/lib/editline/libeditline.la $(LIB_tgetent)' INCLUDE_readline='-I$(top_builddir)/lib/editline -I$(top_srcdir)/lib/editline' fi AC_SUBST(LIB_tgetent) AC_SUBST(LIB_readline) AC_SUBST(INCLUDE_readline) AC_SUBST(editline_OBJS) dnl telnet muck -------------------------------------------------- AC_DEFINE(AUTHENTICATION)dnl AC_DEFINE(KRB5)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) 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 if false; then # hack to shut up automake LIBOBJS="$LIBOBJS make-print-version.o" fi LTLIBOBJS=`echo "$LIBOBJS" | sed 's/\.o/\.lo/g'` AC_SUBST(LTLIBOBJS) AC_OUTPUT(Makefile \ include/Makefile \ include/kadm5/Makefile \ lib/Makefile \ lib/roken/Makefile \ lib/editline/Makefile \ lib/sl/Makefile \ lib/com_err/Makefile \ lib/asn1/Makefile \ lib/des/Makefile \ lib/krb5/Makefile \ lib/kadm5/Makefile \ lib/hdb/Makefile \ lib/gssapi/Makefile \ lib/45/Makefile \ lib/otp/Makefile \ lib/kafs/Makefile \ kuser/Makefile \ kpasswd/Makefile \ kadmin/Makefile \ admin/Makefile \ kdc/Makefile \ appl/Makefile \ appl/test/Makefile \ appl/kauth/Makefile \ appl/kx/Makefile \ appl/rsh/Makefile \ appl/popper/Makefile \ appl/push/Makefile \ appl/telnet/Makefile \ appl/telnet/libtelnet/Makefile \ appl/telnet/telnet/Makefile \ appl/telnet/telnetd/Makefile \ appl/ftp/Makefile \ appl/ftp/common/Makefile \ appl/ftp/ftp/Makefile \ appl/ftp/ftpd/Makefile \ appl/afsutil/Makefile \ doc/Makefile \ ) dnl dnl This is the release version name-number[beta] dnl HEIMDALVERSION="$PACKAGE-$VERSION" cat > include/newversion.h.in </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