]> arthur.barton.de Git - netatalk.git/blobdiff - configure.in
CNID/DID patch from Uwe Hees (moderately tested)
[netatalk.git] / configure.in
index da05ffe31264ad050bf6045b974e78d77ed8a5fe..4889aa00c9943ad75b541c1eab74728e9961f47c 100644 (file)
@@ -1,4 +1,4 @@
-dnl $Id: configure.in,v 1.78 2001-05-25 16:18:08 rufustfirefly Exp $
+dnl $Id: configure.in,v 1.96 2001-08-14 14:00:08 rufustfirefly Exp $
 dnl configure.in for netatalk
 
 AC_INIT(bin/adv1tov2/adv1tov2.c)
@@ -9,7 +9,6 @@ AC_SUBST(NETATALK_VERSION)
 AC_CANONICAL_SYSTEM
 AM_INIT_AUTOMAKE(netatalk, ${NETATALK_VERSION})
 AM_CONFIG_HEADER(config.h)
-AM_PROG_LIBTOOL
 
 dnl Reset locations to proper places
 AC_PREFIX_DEFAULT(/usr/local)
@@ -20,7 +19,8 @@ AC_PROG_CC
 AC_PROG_INSTALL
 AC_PROG_LN_S
 AC_PROG_MAKE_SET
-AC_PROG_LIBTOOL
+AC_LIBTOOL_DLOPEN
+AM_PROG_LIBTOOL
 
 dnl *********************************************************************
 dnl FIXME! FIXME! These should be selectable properly, and should produce
@@ -85,7 +85,7 @@ 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)
+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)
 AC_CHECK_HEADER(sys/cdefs.h,,
        AC_MSG_RESULT([enabling generic cdefs.h from tree])
        CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
@@ -130,7 +130,7 @@ AC_FUNC_MMAP
 AC_TYPE_SIGNAL
 AC_FUNC_UTIME_NULL
 AC_FUNC_WAIT3
-AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
+AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strstr strtoul setpgrp)
 AC_FUNC_SETPGRP
 
 dnl --------------------------------------------------------------------------
@@ -140,7 +140,7 @@ dnl --------------------------------------------------------------------------
 AC_DEFINE(ADMIN_GRP, 1)
 
 AC_ARG_WITH(admin-group,
-       [  --disable-admin-group  disable admin group],
+       [  --disable-admin-group   disable admin group],
         if test "$enableval" = "no"; then
                AC_DEFINE(ADMIN_GRP, 0)
                AC_MSG_RESULT([disabling administrative group support])
@@ -148,7 +148,7 @@ AC_ARG_WITH(admin-group,
  )
 
 AC_ARG_ENABLE(afs,
-       [  --enable-afs           enable AFS support],
+       [  --enable-afs            enable AFS support],
        if test "$enableval" = "yes"; then
                AC_DEFINE(AFS, 1)
                AC_MSG_RESULT([enabling AFS support])
@@ -156,26 +156,39 @@ AC_ARG_ENABLE(afs,
 )
 
 AC_ARG_WITH(config-dir,
-       [  --with-config-dir=path  path to config files [default=$ac_default_prefix/etc]],
-               config_dir="$withval",
-               config_dir="${prefix}/etc"
+       [  --with-config-dir=DIR   obsolete - use --pkgconfdir],
+               sysconfdir="$withval",
+               if test "x$prefix" = "xNONE"; then
+                       sysconfdir="$ac_default_prefix/etc"
+               else
+                       sysconfdir="${prefix}/etc"
+               fi
+)
+
+AC_ARG_WITH(pkgconfdir,
+       [  --with-pkgconfdir=DIR   package specific configuration in DIR
+                          [default=SYSCONF/netatalk]],
+               PKGCONFDIR="$withval",
+               PKGCONFDIR="${sysconfdir}/netatalk"
 )
 
 AC_ARG_WITH(cracklib,
        [  --with-cracklib=dict    enable/set location of cracklib dictionary],
-       cracklib="$withval"
-       AC_CHECK_LIB(crack, main,
-               AC_DEFINE(USE_CRACKLIB) 
-               LIBS="$LIBS -lcrack"
-               AC_MSG_RESULT([enabling cracklib support])
-               if test "$cracklib" = "yes"; then
-                       cracklib="/usr/lib/cracklib_dict"
-               fi
-               AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
-                       [path to cracklib dictionary])
-               AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
-               AC_MSG_ERROR([cracklib not found!])
-       )
+       if test "x$withval" != "xno" ; then
+               cracklib="$withval"
+               AC_CHECK_LIB(crack, main,
+                       AC_DEFINE(USE_CRACKLIB) 
+                       LIBS="$LIBS -lcrack"
+                       AC_MSG_RESULT([enabling cracklib support])
+                       if test "$cracklib" = "yes"; then
+                               cracklib="/usr/lib/cracklib_dict"
+                       fi
+                       AC_DEFINE_UNQUOTED(_PATH_CRACKLIB, "$cracklib",
+                               [path to cracklib dictionary])
+                       AC_MSG_RESULT([setting cracklib dictionary to $cracklib]),
+                       AC_MSG_ERROR([cracklib not found!])
+               )
+       fi
 )
 
 AC_ARG_ENABLE(ddp,
@@ -218,29 +231,43 @@ AC_ARG_ENABLE(dropkludge,
 
 AC_ARG_ENABLE(force-uidgid,
        [  --enable-force-uidgid   allow forcing of uid/gid per volume (BROKEN) ],
-       if test "$enableval" = "yes"; then 
+       if test "$enableval" = "yes"; then
                AC_DEFINE(FORCE_UIDGID, 1)
                AC_MSG_RESULT([enabling forcing of uid/gid per volume])
        fi
 )
 
-AC_ARG_ENABLE(lastdid,
-       [  --enable-lastdid        enable build without DID dev/inode mapping kludge],
-       if test "$enableval" = "yes"; then 
-               AC_DEFINE(USE_LASTDID, 1)
-               AC_MSG_RESULT([enabling build without DID dev/inode mapping kludge])
+AC_ARG_ENABLE(cnid-db,
+       [  --enable-cnid-db   use persistent cnid database per volume (EXPERIMENTAL) ],
+       if test "$enableval" = "yes"; then
+               AC_DEFINE(CNID_DB, 1)
+               AC_MSG_RESULT([using persistent cnid database per volume])
+       fi
+)
+
+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
 )
 
 msg_dir=""
 AC_ARG_WITH(message-dir,
-       [  --with-msg-dir=path     path to message files [default=$ac_default_prefix/etc/msg]],
+       [  --with-msg-dir=path     path to message files [default=$ac_prefix_default/etc/msg]],
                msg_dir="$withval"
                if test x"$msg_dir" = "x"; then
-                       msg_dir="${prefix}/etc/msg"
+                       msg_dir="${PKGCONFDIR}/msg"
                fi
                AC_DEFINE_UNQUOTED(SERVERTEXT, "$msg_dir",
-                       [path to message dir [default=$ac_default_prefix/etc/msg]])
+                       [path to message dir [default=$ac_prefix_default/etc/msg]])
                SERVERTEXT="$msg_dir"
                AC_SUBST(SERVERTEXT)
 )
@@ -250,17 +277,18 @@ AC_CHECK_LIB(pam, pam_start,
        LIBS="$LIBS -lpam"
        compile_pam=yes
 )
-AM_CONDITIONAL(BUILD_PAM, test x$compile_pam = xyes)
 
 AC_ARG_WITH(pam,
-       [  --with-pam              enable password authentication modules support],
-       if test "x$compile_pam" = "xyes"; then
-               use_pam_so=yes
-               AC_MSG_RESULT([enabling pam modules support])
-       else
-               AC_MSG_RESULT([pam libraries not found. Disabling pam modules support])
-       fi
+       [  --without-pam           disable password authentication modules support],
+       compile_pam=no
+       use_pam_so=no
+       AC_DEFINE(USE_PAM, 0)
+       AC_MSG_RESULT([disabling pam modules support])
 )
+if test "x$compile_pam" = "xyes"; then
+       use_pam_so=yes
+       AC_MSG_RESULT([enabling pam modules support])
+fi
 
 shadowpw=no
 AC_ARG_WITH(shadow,
@@ -328,9 +356,9 @@ AC_ARG_ENABLE(timelord,
 )
 
 AC_ARG_WITH(uams-path,
-       [  --with-uams-path=path   path to UAMs [default=$ac_default_prefix/etc/uams]],
+       [  --with-uams-path=path   path to UAMs [default=PKGCONF/uams]],
        uams_path="$withval",
-       uams_path="${config_dir}/uams"
+       uams_path="${PKGCONFDIR}/uams"
 )
 
 dnl --------------------------------------------------------------------------
@@ -341,7 +369,8 @@ AC_ARG_ENABLE(fhs,
        [  --enable-fhs            use Filesystem Hierarchy Standard (FHS) compatibility],
        if test "$enableval" = "yes"; then
                uams_path="/usr/lib/netatalk"
-               config_dir="/etc/netatalk"
+               sysconfdir="/etc"
+               PKGCONFDIR=${sysconfdir}/netatalk
                use_pam_so=yes
                dnl FIXME: NEED TO HAVE --mandir=/usr/share/man AT SOME POINT...
                AC_DEFINE(FHS_COMPATIBILITY)
@@ -353,16 +382,9 @@ dnl --------------------------------------------------------------------------
 dnl post-FHS substitutions, etc
 dnl --------------------------------------------------------------------------
 
-dnl ***** CONFIG_DIR
-AC_DEFINE_UNQUOTED(CONFIG_DIR, "${config_dir}",
-       [path to config dir [default=$ac_default_prefix/etc]])
-CONFIG_DIR="${config_dir}"
-AC_SUBST(CONFIG_DIR)
-AC_MSG_RESULT([setting configuration files location to $CONFIG_DIR])
-
 ***** UAMS_PATH
 AC_DEFINE_UNQUOTED(UAMS_PATH, "${uams_path}",
-       [path to UAMs [default=$ac_default_prefix/etc/uams]])
+       [path to UAMs [default=PKGCONF/uams]])
 UAMS_PATH="${uams_path}"
 AC_SUBST(UAMS_PATH)
 
@@ -380,7 +402,10 @@ dnl ac_cv_target_os is now host_os, ac_cv_target_cpu is now host_cpu
 
 dnl --------------------- determine operating system from "target"
 case "$host_os" in
+       *aix*)                          this_os=aix ;;
        *freebsd*)                      this_os=freebsd ;;
+       *hpux11*)                       this_os=hpux11 ;;
+       *irix*)                         this_os=irix ;;
        *linux*)                        this_os=linux ;;
        *osx*)                          this_os=macosx ;;
        *netbsd*)                       this_os=netbsd ;;
@@ -398,6 +423,17 @@ esac
 
 dnl --------------------- operating system specific flags (port from sys/*)
 
+dnl ----- AIX specific -----
+if test x"$this_os" = "xaix"; then
+       AC_MSG_RESULT([ * AIX specific configuration])
+       AC_DEFINE(NO_STRUCT_TM_GMTOFF)
+
+       dnl This is probably a lie; AIX 4.3 supports a 64-bit long
+       dnl compilation environment.  It's enough to get things defined
+       dnl right in endian.h provided that long long is supported, though.
+       AC_DEFINE(HAVE_32BIT_LONGS)
+fi
+
 dnl ----- FreeBSD specific -----
 if test x"$this_os" = "xfreebsd"; then 
        AC_MSG_RESULT([ * FreeBSD specific configuration])
@@ -406,6 +442,22 @@ if test x"$this_os" = "xfreebsd"; then
 
        dnl ----- Set -shared flag
        LDSHAREDFLAGS="-shared"
+       AC_DEFINE(NO_CRYPT_H, 1)
+fi
+
+dnl ----- HP-UX 11 specific -----
+if test x"$this_os" = "xhpux11"; then
+       AC_MSG_RESULT([ * HP-UX 11 specific configuration])
+
+       AC_DEFINE(_ISOC9X_SOURCE)
+       AC_DEFINE(NO_STRUCT_TM_GMTOFF)
+fi
+
+dnl ----- IRIX specific -----
+if test x"$this_os" = "xirix"; then
+       AC_MSG_RESULT([ * IRIX specific configuration])
+
+       AC_DEFINE(NO_STRUCT_TM_GMTOFF)
 fi
 
 dnl ----- Linux specific -----
@@ -416,9 +468,10 @@ if test x"$this_os" = "xlinux"; then
        LDSHAREDFLAGS="-shared"
 
        dnl ----- check if we need the quotactl wrapper
-       AC_CHECK_HEADER(sys/quota.h,,
-               AC_MSG_RESULT([enabling quotactl wrapper])
+       AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
+       AC_CHECK_FUNC(quotactl,,
                AC_DEFINE(NEED_QUOTACTL_WRAPPER)
+               AC_MSG_RESULT([enabling quotactl wrapper])
        )
 
        dnl ----- as far as I can tell, dbtob always does the wrong thing
@@ -455,7 +508,7 @@ if test x"$this_os" = "xmacosx"; then
        AC_DEFINE(BSD4_4)
        AC_DEFINE(HAVE_BROKEN_CPP)
        AC_DEFINE(HAVE_2ARG_DBTOB)
-       AC_DEFINE(NO_DLFCN_H)
+       dnl AC_DEFINE(NO_DLFCN_H)
        AC_DEFINE(MACOSX_SERVER)
 
        dnl ----- Set -shared flag
@@ -582,6 +635,17 @@ AC_ARG_ENABLE(pgp-uam,
        fi
 )
 
+dnl --------------------- check for building Kerberos v4 UAM module
+
+AC_ARG_ENABLE(krb4-uam,
+       [  --enable-krb4-uam      enable build of Kerberos v4 UAM module],
+       if test "$enableval" = "yes"; then
+               AC_DEFINE(UAM_KRB4, 1)
+               compile_kerberos=yes
+               AC_MSG_RESULT([enabling build with Kerberos v4 UAM module])
+       fi
+)
+
 dnl --------------------- last minute substitutions
 
 AC_SUBST(LIBS)
@@ -591,12 +655,15 @@ AC_SUBST(PAPD_LIBS)
 AC_SUBST(CFLAGS)
 AC_SUBST(LDSHAREDFLAGS)
 
+AC_SUBST(PKGCONFDIR)
+
 AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
 AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
 AM_CONDITIONAL(USE_DHX, test x$compile_dhx = xyes)
 AM_CONDITIONAL(USE_KERBEROS, test x$compile_kerberos = xyes)
 AM_CONDITIONAL(USE_PAM_SO, test x$use_pam_so = xyes)
 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_REDHAT, test x$sysv_style = xredhat)
@@ -644,6 +711,7 @@ AC_OUTPUT([Makefile
        libatalk/adouble/Makefile
        libatalk/asp/Makefile
        libatalk/atp/Makefile
+       libatalk/cnid/Makefile
        libatalk/compat/Makefile
        libatalk/dsi/Makefile
        libatalk/nbp/Makefile
@@ -656,7 +724,14 @@ AC_OUTPUT([Makefile
        man/man5/Makefile
        man/man8/Makefile
        sys/Makefile
+       sys/generic/Makefile
+       sys/generic/sys/Makefile
        sys/netatalk/Makefile
+       sys/netbsd/Makefile
+       sys/netbsd/netatalk/Makefile
+       sys/solaris/Makefile
+       sys/sunos/Makefile
+       sys/ultrix/Makefile
        ],
        [chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
 )