]> andersk Git - moira.git/blobdiff - configure.in
Command line printer manipulation client, and build goo.
[moira.git] / configure.in
index 44fc44ea1e3b25191a5ed405b4f08e3c2b7784fa..a747c2c01e78d3c5b210d1b3c1124214edcb8afa 100755 (executable)
@@ -10,6 +10,25 @@ AC_DEFUN(MR_EXTEND, [
     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)
@@ -28,15 +47,16 @@ AC_DEFUN(MR_LIBS, [MR_EXTEND(LIBPATH, -L$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
 
@@ -83,45 +103,45 @@ AC_ARG_WITH(com_err,
      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(crypto, main, crypto="crypto",
-             [AC_CHECK_LIB(k5crypto, main, crypto="k5crypto")])
-AC_CHECK_LIB(krb4, krb_rd_req,
-            [KRB4_LIBS="-lkrb4 -ldes425 -lkrb5 -l${crypto}"],
-            [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)
 
 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
@@ -129,8 +149,12 @@ 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 -l${crypto}"
+    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
@@ -171,7 +195,7 @@ if test "$zephyr" != no; then
     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
 
@@ -225,15 +249,24 @@ if test "$oracle" != no; then
        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 incremental/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)
@@ -242,6 +275,29 @@ AC_SUBST(PRO_C_OPTS)
 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,
@@ -260,8 +316,8 @@ if test "$ldap" != no -a "$oracle" != no; then
     fi
     MR_DEFINE(HAVE_LDAP)
 
-    WINAD_SUBDIRS="winad"
-    WINAD_OUTPUT_FILES="incremental/winad/Makefile"
+    WINAD_SUBDIRS="winad ldap"
+    WINAD_OUTPUT_FILES="incremental/winad/Makefile incremental/ldap/Makefile"
 fi
 AC_SUBST(LDAP_CPPFLAGS)
 AC_SUBST(LDAP_LIBS)
@@ -280,15 +336,9 @@ if test "$afs" != no -a "$oracle" != no; then
        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="afs"
@@ -301,7 +351,6 @@ 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)
@@ -380,7 +429,7 @@ AC_SUBST(CURSES_LIBS)
 AC_SUBST(CURSES_SUBDIRS)
 
 
-AC_CHECK_FUNCS(getusershell strlcpy strlcat uname)
+AC_CHECK_FUNCS(getusershell strlcpy strlcat uname strvis)
 
 AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_POSIX_SIGNALS))
 
@@ -406,20 +455,29 @@ MR_INCLUDE('$(BUILDTOP)/lib')
 MR_INCLUDE('$(BUILDTOP)/db')
 MR_INCLUDE('$(srcdir)')
 LDFLAGS="$LDFLAGS -L\$(BUILDTOP)/lib $LIBPATH"
-KLIBS="-lzephyr $KRB4_LIBS -lcom_err -lhesiod $LIBS"
-LIBS="-lmoira $KLIBS"
-AC_SUBST(KLIBS)
-
-MR_LIBDEP='$(BUILDTOP)/lib/libmoira.a'
+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
+MR_LIBDEP='$(BUILDTOP)/lib/libmoira.la'
 AC_SUBST(MR_LIBDEP)
 
+LIBS="$MR_LIBDEP $KLIBS"
+AC_SUBST(KLIBS)
+
 AC_OUTPUT(Makefile lib/Makefile include/Makefile clients/Makefile \
          clients/lib/Makefile clients/addusr/Makefile \
          clients/blanche/Makefile clients/chfn/Makefile \
          clients/chpobox/Makefile clients/chsh/Makefile \
-         clients/mailmaint/Makefile clients/moira/Makefile \
+         clients/eunice/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 \
-         $SERVER_OUTPUT_FILES $WINAD_OUTPUT_FILES $AFS_OUTPUT_FILES \
-         $RSAREF_OUTPUT_FILES)
+         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)
This page took 0.191428 seconds and 4 git commands to generate.