]> arthur.barton.de Git - netatalk.git/blobdiff - configure.in
Warning fixes.
[netatalk.git] / configure.in
index 58a2f2601bc6b47f193436a4084c9df5c0576bfa..1c06a17852bf08731e2a1d107ee26f5ab166a5bb 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.126 2001-11-16 15:44:31 srittau Exp $
+dnl $Id: configure.in,v 1.156 2002-02-13 16:48:10 srittau Exp $
 dnl configure.in for netatalk
 
 AC_INIT(bin/adv1tov2/adv1tov2.c)
@@ -10,9 +10,6 @@ AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
 AM_CONFIG_HEADER(config.h)
 
-dnl Reset locations to proper places
-AC_PREFIX_DEFAULT(/usr/local)
-
 dnl Checks for programs.
 AC_PROG_AWK
 AC_PROG_CC
@@ -21,6 +18,9 @@ AC_PROG_LN_S
 AC_PROG_MAKE_SET
 AC_LIBTOOL_DLOPEN
 AM_PROG_LIBTOOL
+AC_PROG_PERL
+AC_PROG_GREP
+AC_PROG_PS
 
 dnl *********************************************************************
 dnl FIXME! FIXME! These should be selectable properly, and should produce
@@ -36,8 +36,6 @@ dnl Replace `main' with a function in -lauth:
 AC_CHECK_LIB(auth, main)
 dnl Replace `main' with a function in -lcmd:
 AC_CHECK_LIB(cmd, main)
-dnl Replace `main' with a function in -lcom_err:
-AC_CHECK_LIB(com_err, main)
 dnl Replace `main' with a function in -lcrypt:
 AC_CHECK_LIB(crypt, main)
 dnl Replace `main' with a function in -ld:
@@ -56,10 +54,6 @@ dnl Replace `main' with a function in -lnsl:
 AC_CHECK_LIB(nsl, main)
 dnl Replace `main' with a function in -lprot:
 AC_CHECK_LIB(prot, main)
-dnl Replace `main' with a function in -lresolv:
-AC_CHECK_LIB(resolv, main)
-dnl Replace `main' with a function in -lrpcsvc:
-AC_CHECK_LIB(rpcsvc, main)
 dnl Replace `main' with a function in -lrx:
 AC_CHECK_LIB(rx, main)
 dnl Replace `main' with a function in -lrxkad:
@@ -83,30 +77,12 @@ dnl Checks for header files.
 AC_HEADER_DIRENT
 AC_HEADER_STDC
 AC_HEADER_SYS_WAIT
-AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/fcntl.h sys/file.h sys/ioctl.h sys/time.h sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h mntent.h syslog.h unistd.h termios.h sys/termios.h netdb.h sgtty.h ufs/quota.h mount.h sys/mount.h statfs.h sys/types.h dlfcn.h errno.h sys/errno.h security/pam_appl.h)
+AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h sys/fcntl.h sys/file.h sys/ioctl.h sys/time.h sys/mnttab.h sys/statvfs.h sys/stat.h sys/vfs.h mntent.h syslog.h unistd.h termios.h sys/termios.h netdb.h sgtty.h ufs/quota.h mount.h sys/mount.h statfs.h sys/types.h dlfcn.h errno.h sys/errno.h)
 AC_CHECK_HEADER(sys/cdefs.h,,
        AC_MSG_RESULT([enabling generic cdefs.h from tree])
        CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
 )
 
-# Allow user to specify flags
-AC_ARG_WITH(cflags,
-       [  --with-cflags           specify additional flags to pass to compiler],
-       [
-               if test "x$withval" != "xno" ; then
-                       CFLAGS="$CFLAGS $withval"
-               fi
-       ]       
-)
-AC_ARG_WITH(libs,
-       [  --with-libs             specify additional libraries to link with],
-       [
-               if test "x$withval" != "xno" ; then
-                       LIBS="$LIBS $withval"
-               fi
-       ]
-)
-
 dnl Checks for typedefs, structures, and compiler characteristics.
 AC_C_CONST
 AC_TYPE_UID_T
@@ -143,31 +119,27 @@ AC_ARG_WITH(admin-group,
                AC_DEFINE(ADMIN_GRP, 0)
                AC_MSG_RESULT([disabling administrative group support])
         fi
- )
-
-AC_ARG_ENABLE(afs,
-       [  --enable-afs            enable AFS support],
-       if test "$enableval" = "yes"; then
-               AC_DEFINE(AFS, 1)
-               AC_MSG_RESULT([enabling AFS support])
-       fi
 )
 
-AC_ARG_WITH(config-dir,
-       [  --with-config-dir=DIR   obsolete - use --with-pkgconfdir],
-               sysconfdir="$withval",
-               if test "x$prefix" = "xNONE"; then
-                       sysconfdir="$ac_default_prefix/etc"
-               else
-                       sysconfdir="${prefix}/etc"
-               fi
-)
+NETATALK_AFS_CHECK
+
+NETATALK_CONFIG_DIRS
 
-AC_ARG_WITH(pkgconfdir,
-       [  --with-pkgconfdir=DIR   package specific configuration in DIR
-                          [[SYSCONF/netatalk]]],
-               PKGCONFDIR="$withval",
-               PKGCONFDIR="${sysconfdir}/netatalk"
+AC_ARG_WITH(logfile,
+       [  --with-logfile=PATH     path for file used by logger [/var/log/netatalk.log]
+                          use --without-logfile to disable logger],
+        if test "$withval" = "no"; then
+               AC_DEFINE(DISABLE_LOGGER, 1)
+               AC_MSG_RESULT([logger disabled])
+       elif test "$withval" != "yes"; then
+               AC_DEFINE_UNQUOTED(LOGFILEPATH, $withval)
+               AC_MSG_RESULT([logfile set to $withval])
+       else
+                AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+                AC_MSG_RESULT([logfile set to default]) 
+       fi,
+               AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log")
+               AC_MSG_RESULT([logfile set to default])
 )
 
 AC_ARG_WITH(cracklib,
@@ -206,8 +178,6 @@ AC_ARG_ENABLE(debug,
                        AC_DEFINE_UNQUOTED(DEBUG, $enableval)
                fi 
                AC_MSG_RESULT([enabling debugging code])
-       else
-               AC_DEFINE(DEBUG, 0)
        fi
 )
 
@@ -238,42 +208,39 @@ AC_ARG_ENABLE(force-uidgid,
 dnl Don't use DB3 unless it's needed
 db3_required=no
 
-dnl Check for CNID DB support
-AC_MSG_CHECKING([whether CNID support should be enabled])
-AC_ARG_ENABLE(cnid-db,
-       [  --enable-cnid-db        use persistent cnid database per volume (EXPERIMENTAL) ],
-       [
-               if test "x$enableval" = "xyes"; then
-                       dnl Now we need DB3
-                       db3_required="yes"
-                       AC_DEFINE(CNID_DB)
-                       AC_MSG_RESULT([yes])
-               else
-                       AC_MSG_RESULT([no])
-               fi
-       ],[AC_MSG_RESULT([no])]
+
+dnl Determine DID scheme
+AC_MSG_CHECKING([for DID scheme to use])
+AC_ARG_WITH(did,
+       [  --with-did=SCHEME       set DID scheme (last,hash,mtab,cnid)],
+       [ did_scheme="$withval" ],
+       [ did_scheme="last" ]
 )
 
+if test "x$did_scheme" = "xlast"; then
+       AC_DEFINE(USE_LASTDID, 1)
+       AC_MSG_RESULT([last])
+elif test "x$did_scheme" = "xhash"; then
+       AC_MSG_RESULT([device/inode-based hashing])
+elif test "x$did_scheme" = "xmtab"; then
+       AC_DEFINE(DID_MTAB, 1)
+       AC_MSG_RESULT([mtab-based DID creation support])
+elif test "x$did_scheme" = "xcnid"; then
+       db3_required="yes"
+       AC_DEFINE(CNID_DB, 1)
+       AC_MSG_RESULT([enabling build with CNID DB support])
+else
+       AC_MSG_ERROR([unknown DID scheme])
+fi
+AM_CONDITIONAL(COMPILE_CNID, test "x$did_scheme" = "xcnid")
+
 dnl Check for Berkeley DB3 library
 if test "x$db3_required" = "xyes"; then
        AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])])
 fi
-CFLAGS="$CFLAGS $DB3_CFLAGS"
-LIBS="$LIBS $DB3_LIBS"
 
-AC_ARG_WITH(did,
-       [  --with-did=SCHEME       set DID scheme (last,mtab)],
-       if test "x$withval" != "xno" ; then
-               if test "$withval" = "last"; then
-                       AC_DEFINE(USE_LASTDID, 1)
-                       AC_MSG_RESULT([enabling build without DID dev/inode mapping kludge])
-               fi
-               if test "$withval" = "mtab"; then
-                       AC_DEFINE(DID_MTAB, 1)
-                       AC_MSG_RESULT([enabling mtab-based DID creation support])
-               fi
-       fi
-)
+dnl Check for quota support
+AC_CHECK_QUOTA
 
 msg_dir=""
 AC_ARG_WITH(message-dir,
@@ -288,50 +255,17 @@ AC_ARG_WITH(message-dir,
                AC_SUBST(SERVERTEXT)
 )
 
-AC_ARG_ENABLE(srvloc,
-       [  --enable-srvloc         turn on Server Location Protocol support (EXPERIMENTAL)],
-       srvloc=$enableval,
-       srvloc=no
-)
+dnl Check for optional server location protocol support (used by MacOS X)
+NETATALK_SRVLOC
 
-dnl Conditional for optional server location protocol support (used by OS X)
-AM_CONDITIONAL(USE_SRVLOC, test "x$srvloc" != "xno")
-if test "x$srvloc" != "xno"; then
-    for slpdir in "" $srvloc /usr /usr/local ; do
-               if test -f "$slpdir/include/slp.h" ; then
-                       LIBS="$LIBS -L$slpdir/lib -lslp"
-                       CFLAGS="$CFLAGS -I$slpdir/include"
-               AC_CHECK_LIB(slp,SLPOpen)
-               AC_CHECK_FUNCS(SLPReg SLPDereg SLPClose)
-               AC_DEFINE(USE_SRVLOC, 1)
-                       break
-               fi
-       done
-fi
-
-# Check for PAM libs
-AC_MSG_CHECKING([if we should even bother with PAM])
-AC_ARG_WITH(pam,
-    [  --with-pam              enable PAM support],
-    [PAM_MSG="$withval"],
-    [PAM_MSG="yes"]
-)
-AC_MSG_RESULT($PAM_MSG)
-use_pam_so=no
-compile_pam=no
-
-if test "x$PAM_MSG" = "xyes"; then
-       if test "x$ac_cv_header_security_pam_appl_h" = "xyes" ; then
-        
-               AC_CHECK_LIB(pam, pam_set_item, 
-                               [PAPD_LIBS="$PAPD_LIBS -lpam"; AFPD_LIBS="$AFPD_LIBS -lpam"; use_pam_so=yes; compile_pam=yes; AC_DEFINE(USE_PAM)],
-                       [use_pam_so=no; compile_pam=no]
-               )
-       fi
-else
-       use_pam_so=no
-       compile_pam=no
-fi
+dnl Check for PAM libs
+AC_PATH_PAM([
+       PAPD_LIBS="$PAPD_LIBS $PAM_LIBS"
+       AFPD_LIBS="$AFPD_LIBS $PAM_LIBS"
+       use_pam_so=yes
+       compile_pam=yes
+       AC_DEFINE(USE_PAM)
+])
 
 AC_MSG_CHECKING([whether shadow support should be enabled])
 AC_ARG_WITH(shadow,
@@ -396,6 +330,14 @@ AC_ARG_ENABLE(cobalt,
        AC_MSG_RESULT([enabling cobalt-style sysv support])
 )
 
+AC_ARG_ENABLE(netbsd,
+       [  --enable-netbsd         use NetBSD-style rc.d configuration ],
+       if test "x$enableval" = "xyes"; then
+               sysv_style=netbsd
+       fi
+       AC_MSG_RESULT([enabling NetBSD-style rc.d support])
+)
+
 dnl ----- timelord compilation (disabled by default)
 AC_MSG_CHECKING([whether timelord should be compiled])
 compile_timelord=no
@@ -423,7 +365,7 @@ AC_ARG_ENABLE(fhs,
                sysconfdir="/etc"
                PKGCONFDIR=${sysconfdir}/netatalk
                use_pam_so=yes
-               dnl FIXME: NEED TO HAVE --mandir=/usr/share/man AT SOME POINT...
+               mandir="/usr/share/man"
                AC_DEFINE(FHS_COMPATIBILITY)
        fi
        AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
@@ -463,6 +405,7 @@ case "$host_os" in
        *irix*)                         this_os=irix ;;
        *linux*)                        this_os=linux ;;
        *osx*)                          this_os=macosx ;;
+       *darwin*)                       this_os=macosx ;;
        *netbsd*)                       this_os=netbsd ;;
        *openbsd*)                      this_os=openbsd ;;
        *osf*)                          this_os=tru64 ;;
@@ -566,7 +509,12 @@ dnl ----- NetBSD specific -----
 if test x"$this_os" = "xnetbsd"; then 
        AC_MSG_RESULT([ * NetBSD specific configuration])
        AC_DEFINE(BSD4_4)
-       AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
+       if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
+               # NetBSD ELF machines don't have to have DLSYM_PREPEND_UNDERSCORE.
+               # If this test is true, it's not an ELF box.
+               # This REALLY should be a configure test.
+               AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
+       fi
        CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
        need_dash_r=yes 
 
@@ -657,7 +605,6 @@ AC_SUBST(LIBS)
 AC_SUBST(AFPD_LIBS)
 AC_SUBST(PAPD_LIBS)
 AC_SUBST(CFLAGS)
-AC_SUBST(PKGCONFDIR)
 AC_SUBST(OVERWRITE_CONFIG)
 
 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
@@ -669,6 +616,7 @@ AM_CONDITIONAL(USE_PAM, test x$compile_pam = xyes)
 AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
 AM_CONDITIONAL(USE_PGP, test x$compile_pgp = xyes)
 AM_CONDITIONAL(USE_COBALT, test x$sysv_style = xcobalt)
+AM_CONDITIONAL(USE_NETBSD, test x$sysv_style = xnetbsd)
 AM_CONDITIONAL(USE_REDHAT, test x$sysv_style = xredhat)
 AM_CONDITIONAL(USE_SUSE, test x$sysv_style = xsuse)
 AM_CONDITIONAL(USE_SHADOWPW, test x$shadowpw = xyes)
@@ -682,6 +630,8 @@ AC_OUTPUT([Makefile
        bin/aecho/Makefile
        bin/afile/Makefile
        bin/afppasswd/Makefile
+       bin/cnid/Makefile
+       bin/cnid/cnid_maint
        bin/getzones/Makefile
        bin/megatron/Makefile
        bin/nbp/Makefile
@@ -690,9 +640,17 @@ AC_OUTPUT([Makefile
        config/Makefile
        contrib/Makefile
        contrib/macusers/Makefile
+       contrib/macusers/macusers
        contrib/nu/Makefile
+       contrib/nu/nu
        contrib/printing/Makefile
        contrib/shell_utils/Makefile
+       contrib/shell_utils/afpd-mtab.pl
+       contrib/shell_utils/apple_cp
+       contrib/shell_utils/apple_mv
+       contrib/shell_utils/apple_rm
+       contrib/shell_utils/cleanappledouble.pl
+       contrib/shell_utils/netatalkshorternamelinks.pl
        contrib/timelord/Makefile
        distrib/Makefile
        distrib/config/Makefile
@@ -734,6 +692,7 @@ AC_OUTPUT([Makefile
        sys/netbsd/Makefile
        sys/netbsd/netatalk/Makefile
        sys/solaris/Makefile
+       sys/solaris/Makefile.kernel
        sys/sunos/Makefile
        sys/ultrix/Makefile
        ],