]> andersk Git - moira.git/blobdiff - configure.in
Command line printer manipulation client, and build goo.
[moira.git] / configure.in
index 63c574600d70861e22e6193ff1501840a3ef684c..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,43 +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(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
@@ -127,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 -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
@@ -169,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
 
@@ -223,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 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)
@@ -240,6 +275,54 @@ 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,
+    [  --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,
@@ -253,30 +336,24 @@ 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="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...)
@@ -352,12 +429,25 @@ 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))
 
 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('$(SRCTOP)/lib')
@@ -365,18 +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/mailmaint/Makefile
-         clients/moira/Makefile clients/mrcheck/Makefile
-         clients/mrtest/Makefile clients/stella/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/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 $WEBMOIRA_OUTPUT_FILES \
+         $SERVER_OUTPUT_FILES $WINAD_OUTPUT_FILES \
+         $AFS_OUTPUT_FILES $RSAREF_OUTPUT_FILES)
This page took 0.041781 seconds and 4 git commands to generate.