esac
])
+AC_CANONICAL_HOST
+# SO_LDFLAGS setting below is a great big ick.
+# But it beats sucking in libtool for one small part of the source tree.
+case $host_os in
+solaris*)
+ short_os=solaris
+ SO_LDFLAGS="-G"
+ ;;
+irix*)
+ short_os=irix
+ SO_LDFLAGS="-shared"
+ ;;
+linux*)
+ short_os=linux
+ SO_LDFLAGS="-shared"
+ ;;
+esac
+AC_SUBST(SO_LDFLAGS)
+
dnl Define for both C and Pro*C
AC_DEFUN(MR_DEFINE, [
AC_DEFINE($1)
AC_PROG_CC
AC_PROG_INSTALL
AC_PROG_RANLIB
+AC_PROG_LIBTOOL
AC_PROG_MAKE_SET
if test "$athena" = true; then
enable_athena=yes
prefix=/afs/.athena.mit.edu/system/moira
bindir=$prefix/arch/$ATHENA_SYS/bin
+ libdir=$prefix/arch/$ATHENA_SYS/lib
sbindir=$bindir
MR_INCLUDE(/usr/athena/include)
- MR_INCLUDE(/usr/athena/include/kerberosIV)
MR_LIBS(/usr/athena/lib)
fi
fi
COMPILE_ET=compile_et],
[AC_MSG_RESULT(util/et)
- COM_ERR_SUBDIR=util/et;
MR_INCLUDE(`pwd`/util/et)
MR_LIBS(`pwd`/util/et)
COMPILE_ET=`pwd`/util/et/compile_et
- AC_CONFIG_SUBDIRS($COM_ERR_SUBDIR)])
+ AC_CONFIG_SUBDIRS(util/et)])
AC_SUBST(COM_ERR_SUBDIR)
AC_SUBST(COMPILE_ET)
-# Kerberos (Kerberos 4 required, Kerberos 5 optional for reg_svr)
+AC_CHECK_LIB(k5crypto, main, crypto="k5crypto",
+ [AC_CHECK_LIB(crypto, main, crypto="crypto")])
+
+# Kerberos (Kerberos 4 optional, Kerberos 5 required)
AC_MSG_CHECKING(for Kerberos 4)
AC_ARG_WITH(krb4,
[ --with-krb4=PREFIX Specify location of krb4],
[krb4="$withval"], [krb4=no])
AC_MSG_RESULT($krb4)
-if test $krb4 = "no"; then
- AC_MSG_ERROR(Kerberos is required for Moira)
-fi
-if test "$krb4" != yes; then
- MR_INCLUDE($krb4/include)
- if test -d "$krb4/include/kerberosIV"; then
- MR_INCLUDE($krb4/include/kerberosIV)
+if test "$krb4" != no; then
+ if test "$krb4" != yes; then
+ MR_INCLUDE($krb4/include)
+ if test -d "$krb4/include/kerberosIV"; then
+ MR_INCLUDE($krb4/include/kerberosIV)
+ fi
+ MR_LIBS($krb4/lib)
+ elif test -d /usr/include/kerberosIV; then
+ MR_INCLUDE(/usr/include/kerberosIV)
fi
- MR_LIBS($krb4/lib)
-elif test -d /usr/include/kerberosIV; then
- MR_INCLUDE(/usr/include/kerberosIV)
+ MR_DEFINE(HAVE_KRB4)
+ AC_CHECK_LIB(krb4, krb_rd_req,
+ [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -l${crypto} -lresolv"],
+ [AC_CHECK_LIB(krb, krb_rd_req,
+ [KRB4_LIBS="-lkrb -ldes"],
+ [AC_MSG_ERROR(Kerberos 4 libraries not found)],
+ $LIBPATH -ldes)],
+ $LIBPATH -ldes425 -lkrb5 -l${crypto} -lcom_err -lresolv)
fi
-AC_CHECK_LIB(krb4, krb_rd_req,
- [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -lcrypto"],
- [AC_CHECK_LIB(krb, krb_rd_req,
- [KRB4_LIBS="-lkrb -ldes"],
- [AC_MSG_ERROR(Kerberos 4 libraries not found)],
- $LIBPATH -ldes)],
- $LIBPATH -ldes425 -lkrb5 -lcrypto -lcom_err)
AC_MSG_CHECKING(for Kerberos 5)
AC_ARG_WITH(krb5,
- [ --with-krb5=PREFIX Specify location of krb5 (for reg_svr)],
+ [ --with-krb5=PREFIX Specify location of krb5],
[krb5="$withval"], [krb5=no])
AC_MSG_RESULT($krb5)
if test "$krb5" != no; then
if test "$krb5" != yes; then
REG_SVR_INCLUDES=-I$krb5/include
REG_SVR_LIBS=-L$krb5/lib
+ MR_INCLUDE($krb5/include)
+ MR_LIBS($krb5/lib)
fi
- REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -ldyn -lkrb4 -ldes425 -lkrb5 -lcrypto"
+ MR_DEFINE(HAVE_KRB5)
+ KRB5_LIBS="-lkrb5 -l${crypto} -lcom_err -lresolv"
+ REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -lkrb5 -l${crypto} -lresolv"
else
REG_SVR_DEFS=-DKRB4
REG_SVR_LIBS=-lkadm
fi
AC_CHECK_LIB(zephyr, ZInitialize, :,
[AC_MSG_ERROR(Zephyr library not found)],
- $LIBPATH $KRB4_LIBS -lcom_err)
+ $LIBPATH $KRB4_LIBS $KRB5_LIBS -lcom_err)
MR_DEFINE(HAVE_ZEPHYR)
fi
2.0.6.0.0)
SQL_LIBS="-L$oracle/lib -lsql $oracle/lib/osntab.o -lsqlnet -lora -lsqlnet -lnlsrtl -lcv6 -lcore -lnlsrtl -lcore -lm"
;;
- *)
+ 2.2.4.0.0)
SQL_LIBS="-L$oracle/lib -lclntsh -lxa -lsql -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lsqlnet -lncr -lsqlnet -lclient -lcommon -lgeneric -lepc -lnlsrtl3 -lc3v6 -lcore3 -lnlsrtl3 -lcore3 -lnlsrtl3 `cat $oracle/rdbms/lib/sysliblist` -lm -lthread"
;;
+ 8.1.7.4.0)
+ SQL_LIBS="-L$oracle/lib -lclntsh `cat $oracle/lib/sysliblist` -R$oracle/lib -laio -lm -lthread"
+ ;;
+ 10.2.0.2.0)
+ SQL_LIBS="-L$oracle/lib32 -lclntsh `cat $oracle/lib32/ldflags` `cat $oracle/lib32/sysliblist` -R$oracle/lib32 -laio -lposix4 -lm -lthread"
+ ;;
+ *)
+ AC_MSG_ERROR(Unsupported Oracle release)
+ ;;
esac
SVRSUBDIRS='$(SVRDIRS)'
- SERVER_OUTPUT_FILES="db/Makefile server/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/Makefile reg_svr/Makefile regtape/Makefile"
+ SERVER_OUTPUT_FILES="db/Makefile server/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/Makefile incremental/Makefile incremental/mailman/Makefile reg_svr/Makefile regtape/Makefile"
PRO_C=$oracle/bin/proc
PRO_C_OPTS=CODE=ANSI_C
- PRO_C_DEFS="DEFINE=_PROC_ $PRO_C_DEFS"
+ PRO_C_DEFS="DEFINE=_PROC_ DEFINE=__sparc $PRO_C_DEFS"
fi
AC_SUBST(PRO_C)
AC_SUBST(PRO_C_DEFS)
AC_SUBST(SQL_LIBS)
AC_SUBST(SVRSUBDIRS)
+# Java support, for webmoira
+AC_MSG_CHECKING(for Java)
+AC_ARG_WITH(java,
+ [ --with-java=PREFIX Specify location of Java libs and headers],
+ [ java="$withval"],
+ [if test -n "$JAVA_HOME" -a -d "$JAVA_HOME"; then
+ java=$JAVA_HOME
+ else
+ java=no
+ fi])
+AC_MSG_RESULT($java)
+if test "$java" != no; then
+ if test "$java" != yes; then
+ JAVA_CPPFLAGS="-I$java/include -I$java/include/$short_os"
+ fi
+ MR_DEFINE(HAVE_JAVA)
+
+ WEBMOIRA_SUBDIRS="webmoira"
+ WEBMOIRA_OUTPUT_FILES="webmoira/Makefile"
+fi
+AC_SUBST(JAVA_CPPFLAGS)
+AC_SUBST(WEBMOIRA_SUBDIRS)
+
+# LDAP support
+AC_MSG_CHECKING(for LDAP)
+AC_ARG_WITH(ldap,
+ [ --with-ldap=PREFIX Specify location of LDAP libs (for server)],
+ [ ldap="$withval"],
+ [if test -n "$LDAP_HOME" -a -d "$LDAP_HOME"; then
+ ldap=$LDAP_HOME
+ else
+ ldap=no
+ fi])
+AC_MSG_RESULT($ldap)
+if test "$ldap" != no -a "$oracle" != no; then
+ if test "$ldap" != yes; then
+ LDAP_CPPFLAGS="-I$ldap/include"
+ LDAP_LIBS="-L$ldap/lib"
+ fi
+ MR_DEFINE(HAVE_LDAP)
+
+ WINAD_SUBDIRS="winad ldap"
+ WINAD_OUTPUT_FILES="incremental/winad/Makefile incremental/ldap/Makefile"
+fi
+AC_SUBST(LDAP_CPPFLAGS)
+AC_SUBST(LDAP_LIBS)
+AC_SUBST(WINAD_SUBDIRS)
+
# AFS support
AC_MSG_CHECKING(for AFS)
AC_ARG_WITH(afs,
AFS_LIBS="-L$afs/lib -L$afs/lib/afs"
AFS_DIR=$afs
fi
- AC_CHECK_FUNC(insque, :, AC_CHECK_LIB(compat, insque,
- AFS_EXTRA_LIBS="-lcompat",
- AC_MSG_ERROR(insque not found)))
- AC_CHECK_FUNC(sigvec, :, AC_CHECK_LIB(ucb, sigvec,
- AFS_EXTRA_LIBS="$AFS_EXTRA_LIBS -L/usr/ucblib -lc -lucb",
- :, -L/usr/ucblib))
AC_CHECK_LIB(sys, pioctl, :,
[AC_MSG_ERROR(AFS libraries not found)],
- $AFS_LIBS -lrx -llwp -lsys $AFS_EXTRA_LIBS)
+ $AFS_LIBS -lrx -llwp -lsys -lafsutil)
MR_DEFINE(HAVE_AFS)
- AFS_SUBDIRS="incremental"
- AFS_OUTPUT_FILES="incremental/Makefile"
+ AFS_SUBDIRS="afs"
+ AFS_OUTPUT_FILES="incremental/afs/Makefile"
if test -d $srcdir/afssync; then
- AFS_SUBDIRS="$AFS_SUBDIRS afssync"
+ AFS_SYNCDIR="afssync"
AFS_OUTPUT_FILES="$AFS_OUTPUT_FILES afssync/Makefile"
fi
fi
AC_SUBST(AFS_CPPFLAGS)
AC_SUBST(AFS_PRO_C_INCLUDES)
AC_SUBST(AFS_LIBS)
-AC_SUBST(AFS_EXTRA_LIBS)
AC_SUBST(AFS_DIR)
AC_SUBST(AFS_SUBDIRS)
+AC_SUBST(AFS_SYNCDIR)
# GNU readline
AC_CHECKING(for GNU readline...)
AC_SUBST(CURSES_SUBDIRS)
-AC_CHECK_FUNCS(getusershell strlcpy strlcat)
+AC_CHECK_FUNCS(getusershell strlcpy strlcat uname strvis)
+
+AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_POSIX_SIGNALS))
+
+AC_CHECK_HEADERS(unistd.h getopt.h)
+
+AC_CHECK_HEADER(netinet/in.h, AC_DEFINE(HAVE_NETINET_IN_H), no_netinet_in=yes)
+
+if test "$no_netinet_in" != "yes"; then
+ AC_MSG_CHECKING(for in_addr_t defined in netinet/in.h)
+ AC_EGREP_HEADER(in_addr_t, netinet/in.h,
+ ac_cv_type_in_addr_t=yes, ac_cv_type_in_addr_t=no)
+ AC_MSG_RESULT($ac_cv_type_in_addr_t)
+fi
+
+if test "$ac_cv_type_in_addr_t" != "yes"; then
+ AC_DEFINE(in_addr_t, uint32_t)
+fi
MR_EXTEND(PRO_C_INCLUDES, INCLUDE='$(srcdir)')
MR_INCLUDE('$(SRCTOP)/include')
MR_INCLUDE('$(BUILDTOP)/db')
MR_INCLUDE('$(srcdir)')
LDFLAGS="$LDFLAGS -L\$(BUILDTOP)/lib $LIBPATH"
-KLIBS="-lzephyr $KRB4_LIBS -lcom_err -lhesiod $LIBS"
+KLIBS="$KRB4_LIBS $KRB5_LIBS -lcom_err $LIBS"
+KLIBS="$LIBS"
+if test "$hesiod" != no; then
+ KLIBS="-lhesiod $KLIBS"
+fi
+KLIBS="$KRB4_LIBS $KRB5_LIBS -lcom_err $KLIBS"
+if test "$zephyr" != no; then
+ KLIBS="-lzephyr $KLIBS"
+fi
LIBS="-lmoira $KLIBS"
AC_SUBST(KLIBS)
-MR_LIBDEP='$(BUILDTOP)/lib/libmoira.a'
+MR_LIBDEP='$(BUILDTOP)/lib/libmoira.la'
AC_SUBST(MR_LIBDEP)
AC_OUTPUT(Makefile lib/Makefile include/Makefile clients/Makefile \
clients/lib/Makefile clients/addusr/Makefile \
- clients/blanche/Makefile clients/mailmaint/Makefile
- clients/moira/Makefile clients/mrcheck/Makefile
- clients/mrtest/Makefile clients/passwd/Makefile
- update/Makefile man/Makefile \
- $SERVER_OUTPUT_FILES $AFS_OUTPUT_FILES \
- $RSAREF_OUTPUT_FILES)
+ clients/blanche/Makefile clients/chfn/Makefile \
+ clients/chpobox/Makefile clients/chsh/Makefile \
+ clients/mailmaint/Makefile clients/mitch/Makefile \
+ clients/moira/Makefile clients/mrcheck/Makefile \
+ clients/mrtest/Makefile clients/stanley/Makefile \
+ clients/stella/Makefile update/Makefile man/Makefile \
+ $WEBMOIRA_OUTPUT_FILES $SERVER_OUTPUT_FILES $WINAD_OUTPUT_FILES \
+ $AFS_OUTPUT_FILES $RSAREF_OUTPUT_FILES)