X-Git-Url: http://andersk.mit.edu/gitweb/moira.git/blobdiff_plain/9976f5e915e89650600dffc628b8f05f8bf4ef59..acb2c4db614f91463e17844ff92130c21d9c605c:/configure.in diff --git a/configure.in b/configure.in index 3bdb6d16..df0a3531 100755 --- a/configure.in +++ b/configure.in @@ -90,7 +90,7 @@ AC_ARG_WITH(com_err, AC_SUBST(COM_ERR_SUBDIR) AC_SUBST(COMPILE_ET) -# Kerberos (required) +# Kerberos (Kerberos 4 required, Kerberos 5 optional for reg_svr) AC_MSG_CHECKING(for Kerberos 4) AC_ARG_WITH(krb4, [ --with-krb4=PREFIX Specify location of krb4], @@ -114,7 +114,27 @@ AC_CHECK_LIB(krb4, krb_rd_req, [KRB4_LIBS="-lkrb -ldes"], [AC_MSG_ERROR(Kerberos 4 libraries not found)], $LIBPATH -ldes)], - $LIBPATH -ldes425 -lkrb5 -lcrypto) + $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)], + [krb5="$withval"], [krb5=no]) +AC_MSG_RESULT($krb5) +if test "$krb5" != no; then + REG_SVR_DEFS=-DKRB5 + if test "$krb5" != yes; then + REG_SVR_INCLUDES=-I$krb5/include + REG_SVR_LIBS=-L$krb5/lib + fi + REG_SVR_LIBS="$REG_SVR_LIBS -lkadm5clnt -lgssapi_krb5 -lgssrpc -ldyn -lkrb4 -ldes425 -lkrb5 -lcrypto" +else + REG_SVR_DEFS=-DKRB4 + REG_SVR_LIBS=-lkadm +fi +AC_SUBST(REG_SVR_DEFS) +AC_SUBST(REG_SVR_INCLUDES) +AC_SUBST(REG_SVR_LIBS) # Hesiod support AC_MSG_CHECKING(for Hesiod) @@ -157,8 +177,10 @@ AC_MSG_CHECKING(for GDSS) AC_ARG_WITH(gdss, [ --with-gdss=PREFIX Specify location of GDSS], [gdss="$withval" - GDSS_CPPFLAGS="-I$gdss/include" - GDSS_LIBS="-L$gdss/lib -lgdss"], + if test "$gdss" != no; then + MR_INCLUDE("$gdss/include") + GDSS_LIBS="-L$gdss/lib -lgdss" + fi], [if test -d $srcdir/util/gdss; then gdss=$srcdir/util/gdss GDSS_SUBDIR=util/gdss @@ -169,8 +191,9 @@ AC_ARG_WITH(gdss, if test ! -d util; then mkdir util fi - GDSS_CPPFLAGS='-I$(SRCTOP)/util/gdss/include' + MR_INCLUDE('$(SRCTOP)/util/gdss/include') GDSS_LIBS='-L$(BUILDTOP)/util/gdss/lib -lgdss' + GDSS_LIBDEP='$(BUILDTOP)/util/gdss/lib/libgdss.a' else gdss=no fi]) @@ -187,6 +210,38 @@ AC_SUBST(GDSS_SUBDIR) AC_SUBST(GDSS_OBJS) AC_SUBST(GDSS_CFILES) AC_SUBST(GDSS_TARGET) +AC_SUBST(GDSS_LIBDEP) + +# RSAREF support (default: build util/rsaref if present) +AC_MSG_CHECKING(for RSAREF) +AC_ARG_WITH(rsaref, + [ --with-rsaref=PREFIX Specify location of RSAREF], + [rsaref="$withval" + RSAREF_CPPFLAGS="-I$rsaref/include" + RSAREF_LIBS="$rsaref/lib/rsaref.a"], + RSAREF_SUBDIRS=reg_svr + [if test -d $srcdir/util/rsaref; then + rsaref=$srcdir/util/rsaref + RSAREF_SUBDIRS="util/rsaref reg_svr" + RSAREF_OUTPUT_FILES="util/rsaref/Makefile" + # autoconf can't deal with creating util/rsaref if util doesn't exist + if test ! -d util; then + mkdir util + fi + RSAREF_CPPFLAGS='-I$(SRCTOP)/util/rsaref' + RSAREF_LIBS='$(BUILDTOP)/util/rsaref/rsaref.a' + RSAREF_LIBDEP='$(BUILDTOP)/util/rsaref/rsaref.a' + else + rsaref=no + fi]) +AC_MSG_RESULT($rsaref) +if test "$rsaref" != no; then + MR_DEFINE(HAVE_RSAREF) +fi +AC_SUBST(RSAREF_CPPFLAGS) +AC_SUBST(RSAREF_LIBS) +AC_SUBST(RSAREF_SUBDIRS) +AC_SUBST(RSAREF_LIBDEP) # Oracle (default: yes, if $ORACLE_HOME is set) AC_MSG_CHECKING(for Oracle) @@ -200,11 +255,22 @@ AC_ARG_WITH(oracle, fi]) AC_MSG_RESULT($oracle) if test "$oracle" != no; then - SQL_LIBS="-L$oracle/lib -lsql $oracle/lib/osntab.o -lsqlnet -lora -lsqlnet -lnlsrtl -lcv6 -lcore -lnlsrtl -lcore -lm" + AC_MSG_CHECKING(Pro*C version) + ORACLE_HOME=$oracle release=`$ORACLE_HOME/bin/proc | awk '/Release/ {print $3;}'` + AC_MSG_RESULT($release) + case $release in + 2.0.6.0.0) + SQL_LIBS="-L$oracle/lib -lsql $oracle/lib/osntab.o -lsqlnet -lora -lsqlnet -lnlsrtl -lcv6 -lcore -lnlsrtl -lcore -lm" + ;; + *) + 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" + ;; + esac SVRSUBDIRS='$(SVRDIRS)' - SERVER_OUTPUT_FILES="db/Makefile server/Makefile afssync/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/Makefile incremental/Makefile reg_svr/Makefile regtape/Makefile" + SERVER_OUTPUT_FILES="db/Makefile server/Makefile backup/Makefile dbck/Makefile dcm/Makefile gen/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" fi AC_SUBST(PRO_C) AC_SUBST(PRO_C_DEFS) @@ -236,12 +302,20 @@ if test "$afs" != no -a "$oracle" != no; then [AC_MSG_ERROR(AFS libraries not found)], $AFS_LIBS -lrx -llwp -lsys $AFS_EXTRA_LIBS) MR_DEFINE(HAVE_AFS) + + AFS_SUBDIRS="incremental" + AFS_OUTPUT_FILES="incremental/Makefile" + if test -d $srcdir/afssync; then + AFS_SUBDIRS="$AFS_SUBDIRS 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) # GNU readline AC_CHECKING(for GNU readline...) @@ -251,7 +325,7 @@ AC_ARG_WITH(readline, [AC_CHECK_LIB(readline, readline, [readline=yes], :, -ltermcap)]) if test "$readline" != no; then if test "$readline" != yes; then - READLINE_CPPFLAGS="-I$readline/include/readline -DHAVE_READLINE" + READLINE_CPPFLAGS="-I$readline/include -I$readline/include/readline -DHAVE_READLINE" READLINE_LIBS="-L$readline/lib -lreadline -ltermcap" fi fi @@ -309,11 +383,6 @@ AC_SUBST(CURSES_SUBDIRS) AC_CHECK_FUNCS(getusershell) -AC_CHECK_HEADER(crypt.h, CRYPT_CPPFLAGS=-DHAVE_CRYPT_H) -AC_CHECK_FUNC(crypt, :, AC_CHECK_LIB(crypt, crypt, CRYPT_LIBS=-lcrypt)) -AC_SUBST(CRYPT_CPPFLAGS) -AC_SUBST(CRYPT_LIBS) - MR_EXTEND(PRO_C_INCLUDES, INCLUDE='$(srcdir)') MR_INCLUDE('$(SRCTOP)/include') MR_INCLUDE('$(SRCTOP)/lib') @@ -325,10 +394,13 @@ KLIBS="-lzephyr $KRB4_LIBS -lcom_err -lhesiod $LIBS" LIBS="-lmoira $KLIBS" AC_SUBST(KLIBS) +MR_LIBDEP='$(BUILDTOP)/lib/libmoira.a' +AC_SUBST(MR_LIBDEP) + AC_OUTPUT(Makefile lib/Makefile include/Makefile clients/Makefile \ clients/addusr/Makefile clients/blanche/Makefile \ clients/mailmaint/Makefile clients/moira/Makefile \ clients/mrcheck/Makefile clients/mrtest/Makefile \ - clients/passwd/Makefile clients/userreg/Makefile \ - update/Makefile man/Makefile \ - $SERVER_OUTPUT_FILES $GDSS_OUTPUT_FILES) + clients/passwd/Makefile update/Makefile man/Makefile \ + $SERVER_OUTPUT_FILES $AFS_OUTPUT_FILES \ + $GDSS_OUTPUT_FILES $RSAREF_OUTPUT_FILES)