-dnl $Id: configure.in,v 1.170 2002-10-16 16:55:55 jmarcus Exp $
+dnl $Id: configure.in,v 1.179.2.3.2.12 2003-11-01 07:45:56 bfernhomberg Exp $
dnl configure.in for netatalk
-AC_INIT(bin/adv1tov2/adv1tov2.c)
+AC_INIT(etc/afpd/main.c)
NETATALK_VERSION=`cat $srcdir/VERSION`
AC_SUBST(NETATALK_VERSION)
dnl the proper flags and defines...
dnl *********************************************************************
+############################################
+# we need dlopen/dlclose/dlsym/dlerror for PAM, the password database plugins and the plugin loading code
+#AC_SEARCH_LIBS(dlopen, [dl])
+# dlopen/dlclose/dlsym/dlerror will be checked again later and defines will be set then
+
dnl Checks for libraries.
dnl Replace `main' with a function in -labs:
-AC_CHECK_LIB(abs, main)
+dnl AC_CHECK_LIB(abs, main)
dnl Replace `main' with a function in -laudit:
-AC_CHECK_LIB(audit, main)
+dnl AC_CHECK_LIB(audit, main)
dnl Replace `main' with a function in -lauth:
-AC_CHECK_LIB(auth, main)
+dnl AC_CHECK_LIB(auth, main)
dnl Replace `main' with a function in -lcmd:
-AC_CHECK_LIB(cmd, main)
+dnl AC_CHECK_LIB(cmd, main)
dnl Replace `main' with a function in -lcrypt:
-AC_CHECK_LIB(crypt, main)
+dnl AC_CHECK_LIB(crypt, main)
dnl Replace `main' with a function in -ld:
-AC_CHECK_LIB(d, main)
+dnl AC_CHECK_LIB(d, main)
dnl Replace `main' with a function in -ldl:
-AC_CHECK_LIB(dl, main)
+AC_CHECK_LIB(dl, dlopen)
dnl Replace `main' with a function in -lkauth:
-AC_CHECK_LIB(kauth, main)
+dnl AC_CHECK_LIB(kauth, main)
dnl Replace `main' with a function in -lkrb:
-AC_CHECK_LIB(krb, main)
+dnl AC_CHECK_LIB(krb, main)
dnl Replace `main' with a function in -llwp:
-AC_CHECK_LIB(lwp, main)
+dnl AC_CHECK_LIB(lwp, main)
dnl Replace `main' with a function in -ln:
-AC_CHECK_LIB(n, main)
+dnl AC_CHECK_LIB(n, main)
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 AC_CHECK_LIB(prot, main)
dnl Replace `main' with a function in -lrx:
-AC_CHECK_LIB(rx, main)
+dnl AC_CHECK_LIB(rx, main)
dnl Replace `main' with a function in -lrxkad:
-AC_CHECK_LIB(rxkad, main)
+dnl AC_CHECK_LIB(rxkad, main)
dnl Replace `main' with a function in -lsocket:
-AC_CHECK_LIB(socket, main)
+AC_CHECK_LIB(socket, socket)
dnl Replace `main' with a function in -lsys:
-AC_CHECK_LIB(sys, main)
+dnl AC_CHECK_LIB(sys, main)
dnl Replace `main' with a function in -lubik:
-AC_CHECK_LIB(ubik, main)
+dnl AC_CHECK_LIB(ubik, main)
+
#
# Check presence of some functions
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)
+AC_CHECK_HEADERS(fcntl.h limits.h stdint.h strings.h time.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 sys/uio.h)
AC_CHECK_HEADER(sys/cdefs.h,,
AC_MSG_RESULT([enabling generic cdefs.h from tree])
CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
)
+AC_CHECK_HEADERS(langinfo.h locale.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_SIGNAL
AC_FUNC_UTIME_NULL
AC_FUNC_WAIT3
-AC_CHECK_FUNCS(flock getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy)
+AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul setpgrp strchr memcpy)
AC_FUNC_SETPGRP
+AC_CHECK_FUNCS(backtrace_symbols)
+AC_CHECK_FUNCS(setlocale nl_langinfo)
+AC_CHECK_FUNCS(dlopen dlclose dlsym dlerror waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
+AC_CACHE_SAVE
+
dnl Checks for (v)snprintf
NETATALK_SNPRINTF_CHECK
dnl specific configuration comes in here:
dnl --------------------------------------------------------------------------
-AC_DEFINE(ADMIN_GRP, 1)
+AC_DEFINE(ADMIN_GRP, 1, [Define if the admin group should be enabled])
+netatalk_cv_admin_group=yes
+AC_MSG_CHECKING([for administrative group support])
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])
- fi
+ AC_DEFINE(ADMIN_GRP, 0, [Define if the admin group should be enabled])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ netatalk_cv_admin_group=no
+ fi],[
+ AC_MSG_RESULT([yes])
+ ]
)
NETATALK_AFS_CHECK
NETATALK_CONFIG_DIRS
+AC_MSG_CHECKING([for logfile path])
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])
+ use --without-logfile to disable logger],[
+ if test x"$withval" = x"no"; then
+ AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
+ AC_MSG_RESULT([syslog])
elif test "$withval" != "yes"; then
- AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval")
- AC_MSG_RESULT([logfile set to $withval])
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file])
+ AC_MSG_RESULT([$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_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
+ AC_MSG_RESULT([/var/log/netatalk.log])
+ fi],[
+ AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
+ AC_MSG_RESULT([/var/log/netatalk.log])
+ ]
)
+
+netatalk_cv_with_cracklib=no
+AC_MSG_CHECKING([for cracklib support])
AC_ARG_WITH(cracklib,
- [ --with-cracklib=DICT enable/set location of cracklib dictionary],
+ [ --with-cracklib=DICT enable/set location of cracklib dictionary],[
if test "x$withval" != "xno" ; then
cracklib="$withval"
- AC_CHECK_LIB(crack, main,
- AC_DEFINE(USE_CRACKLIB)
+ AC_CHECK_LIB(crack, main, [
+ AC_DEFINE(USE_CRACKLIB, 1, [Define if cracklib should be used])
LIBS="$LIBS -lcrack"
- AC_MSG_RESULT([enabling cracklib support])
+ AC_MSG_RESULT([yes])
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_RESULT([setting cracklib dictionary to $cracklib])
+ netatalk_cv_with_cracklib=yes
+ ],[
AC_MSG_ERROR([cracklib not found!])
+ ]
)
+ else
+ AC_MSG_RESULT([no])
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
+netatalk_cv_ddp_enabled=yes
+AC_MSG_CHECKING([whether to enable DDP])
AC_ARG_ENABLE(ddp,
- [ --disable-ddp disable DDP],
+ [ --disable-ddp disable DDP],[
if test "$enableval" = "no"; then
- AC_DEFINE(NO_DDP, 1)
- AC_MSG_RESULT([disabling DDP])
+ AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
+ AC_MSG_RESULT([no])
+ netatalk_cv_ddp_enabled=no
+ else
+ AC_MSG_RESULT([yes])
+ fi
+ ],[
+ AC_MSG_RESULT([yes])
+ ]
+)
+
+AC_MSG_CHECKING([whether to enable debug code])
+AC_ARG_ENABLE(debug1,
+ [ --enable-debug1 enable debug code],[
+ if test "$enableval" != "no"; then
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(DEBUG1, 1, [Define if debugging information should be included])
+ else
+ AC_DEFINE_UNQUOTED(DEBUG1, $enableval, [Define if debugging information should be included])
+ fi
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
+AC_MSG_CHECKING([whether to enable verbose debug code])
AC_ARG_ENABLE(debug,
- [ --enable-debug enable debug code],
+ [ --enable-debug enable verbose debug code],[
if test "$enableval" != "no"; then
if test "$enableval" = "yes"; then
- AC_DEFINE(DEBUG, 1)
+ AC_DEFINE(DEBUG, 1, [Define if verbose debugging information should be included])
else
- AC_DEFINE_UNQUOTED(DEBUG, $enableval)
+ AC_DEFINE_UNQUOTED(DEBUG, $enableval, [Define if verbose debugging information should be included])
fi
- AC_MSG_RESULT([enabling debugging code])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
afp3=no
+afp3set=no
+AC_MSG_CHECKING([whether AFP 3.x calls should be enabled])
AC_ARG_ENABLE(afp3,
- [ --enable-afp3 enable AFP 3.x calls],
- if test "$enableval" = "yes"; then
+ [ --disable-afp3 disable AFP 3.x calls],
+ [
+ if test x"$enableval" != x"no"; then
+ afp3set=yes
afp3=yes
- AC_DEFINE(AFP3x, 1)
- AC_MSG_RESULT([enabling AFP 3.x calls])
- fi
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+ ],[
+ AC_MSG_RESULT([yes])
+ afp3=yes
+ ]
)
-if test "$afp3" = "yes"; then
- AC_SYS_LARGEFILE
+if test x"$afp3" = x"yes"; then
+ AC_SYS_LARGEFILE([
+ AC_DEFINE(AFP3x, 1, [Define to enable AFP 3.x support])
+ ],[
+ if test x"$afp3set" == x"yes"; then
+ AC_MSG_ERROR([AFP 3.x support requires Large File Support.])
+ else
+ AC_MSG_WARN([AFP 3.x support requires Large File Support. AFP3.x support disabled])
+ afp3=no
+ fi
+ ])
fi
+AM_ICONV
dnl ----------- A NOTE ABOUT DROPKLUDGE
dnl The trouble with this fix is that if you know what the file is called, it
dnl currently no one working on further development/fixes of DROPKLUDGE.
dnl -----------
+netatalk_cv_dropkludge=no
+AC_MSG_CHECKING([whether to enable experimental dropbox support])
AC_ARG_ENABLE(dropkludge,
- [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ],
+ [ --enable-dropkludge enable the experimental dropbox fix (INSECURE!) ],[
if test "$enableval" = "yes"; then
- AC_DEFINE(DROPKLUDGE, 1)
- AC_MSG_RESULT([enabling experimental dropbox support])
+ AC_DEFINE(DROPKLUDGE, 1, [Define if you want to use the experimental dropkludge support])
+ AC_MSG_RESULT([yes])
+ netatalk_cv_dropkludge=yes
+ else
+ AC_MSG_RESULT([no])
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
+netatalk_cv_force_uidgid=no
+AC_MSG_CHECKING([whether to enable forcing of uid/gid per volume])
AC_ARG_ENABLE(force-uidgid,
- [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ],
+ [ --enable-force-uidgid allow forcing of uid/gid per volume (BROKEN) ],[
if test "$enableval" = "yes"; then
- AC_DEFINE(FORCE_UIDGID, 1)
+ AC_DEFINE(FORCE_UIDGID, 1, [Define if you want forcing of uid/gid per volume])
AC_MSG_RESULT([enabling forcing of uid/gid per volume])
- fi
-)
-
-dnl Don't use DB3 unless it's needed
-db3_required=no
-
-dnl Determine DID scheme
-AC_MSG_CHECKING([for DID scheme to use])
-AC_ARG_WITH(did,
- [ --with-did=SCHEME set DID scheme (cnid,last)],
- [ did_scheme="$withval" ],
- [ did_scheme="cnid" ]
-)
-
-if test "x$did_scheme" = "xlast"; then
- AC_DEFINE(USE_LASTDID, 1)
- AC_MSG_RESULT([last])
-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 Determine whether or not to use filename mangling
-AC_MSG_CHECKING([whether or not to use filename mangling])
-AC_ARG_WITH(mangling,
- [ --with-mangling enable filename mangling],
- if test "$withval" = "yes"; then
- if test "x$did_scheme" != "xcnid"; then
- AC_MSG_ERROR([DID scheme must be CNID to use filename mangling])
- else
- AC_DEFINE(FILE_MANGLING, 1)
AC_MSG_RESULT([yes])
- fi
+ netatalk_cv_force_uidgid=yes
else
- AC_MSG_RESULT([no])
+ AC_MSG_RESULT([no])
fi
- , AC_MSG_RESULT([no])
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
-if test "$did_scheme" = "cnid"; then
- USE_CDB="yes"
-else
- USE_CDB="no"
-fi
-
-dnl Determine whether or not to use CDB or transactional DB store
-AC_MSG_CHECKING([whether or not to use CNID with Concurrent Data Store])
-AC_ARG_WITH(cdb,
- [ --with-cdb enable CNID with Concurrent Data Store],
- if test "$withval" = "no"; then
- if test "x$did_scheme" != "xcnid"; then
- USE_CDB="no"
- AC_MSG_ERROR([DID scheme must be CNID to use CDB])
- else
- USE_CDB="no"
- AC_MSG_RESULT([no])
- fi
- else
- USE_CDB="yes"
- AC_MSG_RESULT([yes])
- fi
- , AC_MSG_RESULT([yes])
-)
-
-if test "$USE_CDB" = "yes"; then
- AC_DEFINE(CNID_DB_CDB, 1)
-fi
-
-dnl Check for Berkeley DB3 library
-if test "x$db3_required" = "xyes"; then
- AC_PATH_DB3(, [AC_MSG_ERROR([Berkeley DB3 library not found!])])
+dnl Check for CNID database backends
+bdb_required=no
+AC_NETATALK_CNID([bdb_required=yes],[bdb_required=no])
+
+dnl Check for Berkeley DB library
+if test "x$bdb_required" = "xyes"; then
+ AC_PATH_BDB(, [
+ AC_MSG_RESULT([])
+ AC_MSG_RESULT([Make sure you have the Berkeley DB libraries AND headers installed.])
+ AC_MSG_RESULT([You can download the latest version from http://www.sleepcat.com.])
+ AC_MSG_RESULT([If you have installed BDB in a non standard location use the])
+ AC_MSG_RESULT([--with-bdb=/path/to/bdb configure option.])
+ AC_MSG_ERROR([Berkeley DB library required but not found!])
+ ])
fi
dnl Check for quota support
NETATALK_SRVLOC
dnl Check for PAM libs
+netatalk_cv_use_pam=no
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)
+ netatalk_cv_use_pam=yes
+ AC_DEFINE(USE_PAM, 1, [Define to enable PAM support])
])
-AC_MSG_CHECKING([whether shadow support should be enabled])
+netatalk_cv_use_shadowpw=no
AC_ARG_WITH(shadow,
- [ --with-shadow enable shadow password support],
- [shadowpw="$withval"],
- [shadowpw=no]
+ [ --with-shadow enable shadow password support [[auto]]],
+ [netatalk_cv_use_shadowpw="$withval"],
+ [netatalk_cv_use_shadowpw=auto]
)
-if test "x$shadowpw" = "xyes"; then
- AC_DEFINE(SHADOWPW)
+
+if test "x$netatalk_cv_use_shadowpw" != "xno"; then
+ AC_CHECK_HEADER([shadow.h])
+ if test x"$ac_cv_header_shadow_h" = x"yes"; then
+ netatalk_cv_use_shadowpw=yes
+ AC_DEFINE(SHADOWPW, 1, [Define if shadow passwords should be used])
+ else
+ if test "x$shadowpw" = "xyes"; then
+ AC_MSG_ERROR([shadow support not available])
+ else
+ netatalk_cv_use_shadowpw=no
+ fi
+ fi
fi
-AC_MSG_RESULT([$shadowpw])
+AC_MSG_CHECKING([whether shadow support should be enabled])
+if test "x$netatalk_cv_use_shadowpw" == "xyes"; then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+
+
+
+netatalk_cv_use_shellcheck=yes
+AC_MSG_CHECKING([whether checking for a valid shell should be enabled])
AC_ARG_ENABLE(shell-check,
- [ --disable-shell-check disable checking for a valid shell],
+ [ --disable-shell-check disable checking for a valid shell],[
if test "$enableval" = "no"; then
- AC_DEFINE(DISABLE_SHELLCHECK, 1)
- AC_MSG_RESULT([disabling valid shell check])
+ AC_DEFINE(DISABLE_SHELLCHECK, 1, [Define if shell check should be disabled])
+ AC_MSG_RESULT([no])
+ netatalk_cv_use_shellcheck=no
+ else
+ AC_MSG_RESULT([yes])
fi
+ ],[
+ AC_MSG_RESULT([yes])
+ ]
)
-AC_MSG_CHECKING([whether flock locks should be enabled])
-AC_ARG_WITH(flock-locks,
- [ --with-flock-locks enable flock locks support],
- [flock_locks="$withval"],
- [flock_locks="no"]
-)
-if test "x$flock_locks" = "xyes"; then
- AC_DEFINE(USE_FLOCK_LOCKS)
-fi
-AC_MSG_RESULT([$flock_locks])
-
-AC_ARG_WITH(tcp-wrappers,
- [ --with-tcp-wrappers enable TCP wrappers support],
- AC_CHECK_LIB(wrap, tcpd_warn,
- AC_DEFINE(TCPWRAP)
- AFPD_LIBS="$AFPD_LIBS -lwrap"
- AC_MSG_RESULT([enabling TCP wrappers support])
- )
+NETATALK_TCP_WRAPPERS
+
+AC_MSG_CHECKING([whether system (fcntl) locking should be disabled])
+AC_ARG_ENABLE(locking,
+ [ --disable-locking disable system locking],[
+ if test "$enableval" = "no"; then
+ AC_DEFINE(DISABLE_LOCKING, 1, [Define if system (fcntl) locking should be disabled])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
+ fi
+
+ ],[
+ AC_MSG_RESULT([no])
+ ]
+
)
+
AC_ARG_ENABLE(redhat,
- [ --enable-redhat use redhat-style sysv configuration ],
+ [ --enable-redhat use redhat-style sysv configuration ],[
if test "$enableval" = "yes"; then
sysv_style=redhat
fi
AC_MSG_RESULT([enabling redhat-style sysv support])
+ ]
)
AC_ARG_ENABLE(suse,
- [ --enable-suse use suse-style sysv configuration ],
+ [ --enable-suse use suse-style sysv configuration ],[
if test "$enableval" = "yes"; then
sysv_style=suse
fi
AC_MSG_RESULT([enabling suse-style sysv support])
+ ]
)
AC_ARG_ENABLE(cobalt,
)
AC_MSG_RESULT([$compile_timelord])
-AC_ARG_WITH(uams-path,
- [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],
- uams_path="$withval",
- uams_path="${PKGCONFDIR}/uams"
+dnl ----- a2boot compilation (disabled by default)
+AC_MSG_CHECKING([whether a2boot should be compiled])
+compile_a2boot=no
+AC_ARG_ENABLE(a2boot,
+ [ --enable-a2boot enable compilation of Apple2 boot server],
+ [compile_a2boot="$enableval"],
+ [compile_a2boot="no"]
)
+AC_MSG_RESULT([$compile_a2boot])
-AC_ARG_WITH(catsearch,
- [ --with-catsearch enable fpCatSearch functionality (experimental)],
- if test "$withval" = "yes"; then
- AC_DEFINE(WITH_CATSEARCH, 1)
- fi
+AC_ARG_WITH(uams-path,
+ [ --with-uams-path=PATH path to UAMs [[PKGCONF/uams]]],[
+ uams_path="$withval"
+ ],[
+ uams_path="${PKGCONFDIR}/uams"
+ ]
)
dnl --------------------------------------------------------------------------
dnl FHS stuff has to be done last because it overrides other defaults
dnl --------------------------------------------------------------------------
+AC_MSG_CHECKING([whether to use Filesystem Hierarchy Standard (FHS) compatibility])
AC_ARG_ENABLE(fhs,
- [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],
+ [ --enable-fhs use Filesystem Hierarchy Standard (FHS) compatibility],[
if test "$enableval" = "yes"; then
- uams_path="/usr/lib/netatalk"
+ uams_path="${libdir}/netatalk"
sysconfdir="/etc"
PKGCONFDIR=${sysconfdir}/netatalk
+ SERVERTEXT="${PKGCONFDIR}/msg"
use_pam_so=yes
mandir="/usr/share/man"
- AC_DEFINE(FHS_COMPATIBILITY)
+ AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
- AC_MSG_RESULT([enabling Filesystem Hierarchy Standard (FHS) compatibility])
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
dnl --------------------------------------------------------------------------
dnl ----- AIX specific -----
if test x"$this_os" = "xaix"; then
AC_MSG_RESULT([ * AIX specific configuration])
- AC_DEFINE(NO_STRUCT_TM_GMTOFF)
+ AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
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)
+ AC_DEFINE(HAVE_32BIT_LONGS, 1, [Define if the data type long has 32 bit])
fi
dnl ----- FreeBSD specific -----
if test x"$this_os" = "xfreebsd"; then
AC_MSG_RESULT([ * FreeBSD specific configuration])
- AC_DEFINE(BSD4_4)
- AC_DEFINE(SENDFILE_FLAVOR_BSD)
+ AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
+ AC_DEFINE(SENDFILE_FLAVOR_BSD, 1, [Define if the sendfile() function uses BSD semantics])
- AC_DEFINE(NO_CRYPT_H, 1)
+dnl AC_DEFINE(NO_CRYPT_H, 1, [Define if crypt.h does not exist])
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)
+ AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
+ AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
fi
dnl ----- IRIX specific -----
if test x"$this_os" = "xirix"; then
AC_MSG_RESULT([ * IRIX specific configuration])
- AC_DEFINE(NO_STRUCT_TM_GMTOFF)
+ AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
fi
dnl ----- Linux specific -----
AC_MSG_RESULT([ * Linux specific configuration])
dnl ----- check if we need the 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])
- )
+# AC_CHECK_HEADERS(sys/quota.h linux/quota.h)
+# AC_CHECK_FUNC(quotactl,,
+# AC_DEFINE(NEED_QUOTACTL_WRAPPER, 1, [Define if the quotactl wrapper is needed])
+# AC_MSG_RESULT([enabling quotactl wrapper])
+# )
+
+ # For quotas on Linux XFS filesystems
+ AC_CHECK_HEADERS(linux/xqm.h linux/xfs_fs.h)
+ AC_CHECK_HEADERS(xfs/libxfs.h xfs/xqm.h xfs/xfs_fs.h)
+ # For linux > 2.5.56
+ AC_CHECK_HEADERS(linux/dqblk_xfs.h)
+
dnl ----- as far as I can tell, dbtob always does the wrong thing
dnl ----- on every single version of linux I've ever played with.
dnl ----- see etc/afpd/quota.c
- AC_DEFINE(HAVE_BROKEN_DBTOB)
-
- dnl --- added by Yoshinobu Ishizaki (2001.03.13) ---
- dnl ----- check if version is newer than 2.2.x
- changequote(<<,>>)
- majorvers="`uname -r | sed 's/\([0-9]\)..*/\1/'`"
- minorvers="`uname -r | sed 's/[0-9]\.\([0-9]\)\..*/\1/'`"
- if [ $majorvers -ge 2 ]; then
- if [ $minorvers -ge 2 ]; then
- changequote([,])
- AC_MSG_RESULT([ * found Linux 2.2.x or higher])
- AC_DEFINE(SENDFILE_FLAVOR_LINUX)
- else
- AC_MSG_RESULT([ * found Linux 2.0.x ])
- fi
+ AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken])
+
+ netatalk_cv_linux_sendfile=no
+ AC_ARG_ENABLE(sendfile,
+ [ --enable-sendfile use sendfile syscall default (no) ],[
+ if test "$enableval" = "yes"; then
+ netatalk_cv_linux_sendfile=yes
+ fi
+ AC_MSG_RESULT([enabling sendfile syscall])
+ ]
+ )
+
+ if test x"$netatalk_cv_linux_sendfile" = "xyes"; then
+ AC_CACHE_CHECK([for linux sendfile support],netatalk_cv_HAVE_SENDFILE,[
+ AC_TRY_LINK([#include <sys/sendfile.h>],
+[\
+int tofd, fromfd;
+off_t offset;
+size_t total;
+ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
+],
+netatalk_cv_HAVE_SENDFILE=yes,netatalk_cv_HAVE_SENDFILE=no)])
+
+# Try and cope with broken Linux sendfile....
+ AC_CACHE_CHECK([for broken linux sendfile support],netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE,[
+ AC_TRY_LINK([\
+#if defined(_FILE_OFFSET_BITS) && (_FILE_OFFSET_BITS == 64)
+#undef _FILE_OFFSET_BITS
+#endif
+#include <sys/sendfile.h>],
+[\
+int tofd, fromfd;
+off_t offset;
+size_t total;
+ssize_t nwritten = sendfile(tofd, fromfd, &offset, total);
+],
+netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=yes,netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE=no,netatalk_cv_HAVE_BROKEN_SENDFILE=cross)])
+
+ if test x"$netatalk_cv_HAVE_SENDFILE" = x"yes"; then
+ AC_DEFINE(HAVE_SENDFILE,1,[Whether sendfile() is available])
+ AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
+ AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile() should be used])
+ elif test x"$netatalk_cv_HAVE_BROKEN_LINUX_SENDFILE" = x"yes"; then
+ AC_DEFINE(SENDFILE_FLAVOR_LINUX,1,[Whether linux sendfile() API is available])
+ AC_DEFINE(LINUX_BROKEN_SENDFILE_API,1,[Whether (linux) sendfile() is broken])
+ AC_DEFINE(WITH_SENDFILE,1,[Whether sendfile should be used])
+ else
+ netatalk_cv_linux_sendfile=no
+ AC_MSG_RESULT(no);
+ fi
fi
dnl ----- Linux/alpha specific -----
if test x"$this_cpu" = "xalpha"; then
AC_MSG_RESULT([enabling gcc memcpy bug workaround])
- AC_DEFINE(HAVE_GCC_MEMCPY_BUG)
+ AC_DEFINE(HAVE_GCC_MEMCPY_BUG, 1, [Define if memcpy is buggy])
fi
need_dash_r=no
+
+
fi
dnl ----- Mac OSX specific -----
if test x"$this_os" = "xmacosx"; then
AC_MSG_RESULT([ * Mac OSX specific configuration])
- AC_DEFINE(BSD4_4)
- AC_DEFINE(HAVE_BROKEN_CPP)
- AC_DEFINE(HAVE_2ARG_DBTOB)
+ AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
+ AC_DEFINE(HAVE_BROKEN_CPP, 1, [Define if cpp is broken])
+ AC_DEFINE(HAVE_2ARG_DBTOB, 1, [Define if dbtob takes two arguments])
dnl AC_DEFINE(NO_DLFCN_H)
- AC_DEFINE(MACOSX_SERVER)
+ AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
+ AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if Quota support should be disabled])
+ AC_DEFINE(MACOSX_SERVER, 1, [Define if compiling for MacOS X Server])
fi
dnl ----- NetBSD specific -----
if test x"$this_os" = "xnetbsd"; then
AC_MSG_RESULT([ * NetBSD specific configuration])
- AC_DEFINE(BSD4_4)
+ AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
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)
+ AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
fi
CFLAGS="-I\$(top_srcdir)/sys/netbsd -I/usr/include/kerberosIV $CFLAGS"
need_dash_r=yes
dnl ----- NetBSD does not have crypt.h, uses unistd.h -----
- AC_DEFINE(UAM_DHX, 1)
- AC_DEFINE(NO_CRYPT_H, 1)
+ AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
fi
dnl ----- OpenBSD specific -----
if test x"$this_os" = "xopenbsd"; then
AC_MSG_RESULT([ * OpenBSD specific configuration])
- AC_DEFINE(BSD4_4)
- AC_DEFINE(DLSYM_PREPEND_UNDERSCORE)
+ AC_DEFINE(BSD4_4, 1, [BSD compatiblity macro])
+ AC_DEFINE(DLSYM_PREPEND_UNDERSCORE, 1, [BSD compatibility macro])
dnl ----- OpenBSD does not have crypt.h, uses unistd.h -----
- AC_DEFINE(UAM_DHX, 1)
- AC_DEFINE(NO_CRYPT_H, 1)
+ AC_DEFINE(UAM_DHX, 1, [Define if the DHX UAM modules should be compiled])
fi
dnl ----- Solaris specific -----
if test x"$this_os" = "xsolaris"; then
AC_MSG_RESULT([ * Solaris specific configuration])
- AC_DEFINE(__svr4__)
- AC_DEFINE(_ISOC9X_SOURCE)
- AC_DEFINE(NO_STRUCT_TM_GMTOFF)
- AC_DEFINE(SOLARIS)
+ AC_DEFINE(__svr4__, 1, [Solaris compatibility macro])
+ AC_DEFINE(_ISOC9X_SOURCE, 1, [Compatibility macro])
+ AC_DEFINE(NO_STRUCT_TM_GMTOFF, 1, [Define if the gmtoff member of struct tm is not available])
+ AC_DEFINE(SOLARIS, 1, [Solaris compatibility macro])
CFLAGS="-I\$(top_srcdir)/sys/generic $CFLAGS"
need_dash_r=yes
dnl ----- Tru64 specific -----
if test x"$this_os" = "xtru64"; then
AC_MSG_RESULT([ * Tru64 specific configuration])
- AC_DEFINE(NO_DDP)
- AC_DEFINE(HAVE_64BIT_LONGS)
+ AC_DEFINE(NO_DDP, 1, [Define if DDP should be disabled])
+ AC_DEFINE(HAVE_64BIT_LONGS, 1, [Define if the data type long has 64 bit])
dnl AC_DEFINE(USE_MOUNT_H)
- AC_DEFINE(USE_OLD_RQUOTA)
+ AC_DEFINE(USE_OLD_RQUOTA, 1, [Define to use old rquota])
dnl AC_DEFINE(USE_UFS_QUOTA_H)
- AC_DEFINE(TRU64)
+ AC_DEFINE(TRU64, 1, [Define on Tru64 platforms])
AC_CHECK_LIB(security,set_auth_parameters)
CFLAGS="-I\$(top_srcdir)/sys/tru64 $CFLAGS"
need_dash_r=no
dnl -- look for openssl
AC_PATH_SSL
+dnl -- check for crypt
+AC_CRYPT
+
dnl --------------------- check for building PGP UAM module
+AC_MSG_CHECKING([whether the PGP UAM should be build])
AC_ARG_ENABLE(pgp-uam,
- [ --enable-pgp-uam enable build of PGP UAM module],
+ [ --enable-pgp-uam enable build of PGP UAM module],[
if test "$enableval" = "yes"; then
if test "$compile_ssl" = "yes"; then
- AC_DEFINE(UAM_PGP, 1)
+ AC_DEFINE(UAM_PGP, 1, [Define if the PGP UAM module should be compiled])
compile_pgp=yes
- AC_MSG_RESULT([enabling build with PGP UAM module])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
)
dnl --------------------- check for building Kerberos v4 UAM module
+AC_MSG_CHECKING([whether the Kerberos IV UAM should be build])
AC_ARG_ENABLE(krb4-uam,
- [ --enable-krb4-uam enable build of Kerberos v4 UAM module],
+ [ --enable-krb4-uam enable build of Kerberos v4 UAM module],[
if test "$enableval" = "yes"; then
- AC_DEFINE(UAM_KRB4, 1)
+ AC_DEFINE(UAM_KRB4, 1, [Define if the Kerberos 4 UAM module should be compiled])
compile_kerberos=yes
- AC_MSG_RESULT([enabling build with Kerberos v4 UAM module])
+ AC_MSG_RESULT([yes])
+ else
+ AC_MSG_RESULT([no])
fi
+ ],[
+ AC_MSG_RESULT([no])
+ ]
+)
+
+dnl --------------------- check for building Kerberos V UAM module
+
+netatalk_cv_build_krb5_uam=no
+AC_ARG_ENABLE(krbV-uam,
+ [ --enable-krbV-uam enable build of Kerberos V UAM module],
+ [
+ if test x"$enableval" = x"yes"; then
+ NETATALK_GSSAPI_CHECK([
+ netatalk_cv_build_krb5_uam=yes
+ ],[
+ AC_MSG_ERROR([need GSSAPI to build Kerberos V UAM])
+ ])
+ fi
+ ]
+
)
+
+AC_MSG_CHECKING([whether Kerberos V UAM should be build])
+if test x"$netatalk_cv_build_krb5_uam" = x"yes"; then
+ AC_MSG_RESULT([yes])
+else
+ AC_MSG_RESULT([no])
+fi
+AM_CONDITIONAL(USE_GSSAPI, test x"$netatalk_cv_build_krb5_uam" = x"yes")
+
dnl --------------------- overwrite the config files . . . or not.
AC_MSG_CHECKING([whether configuration files should be overwritten])
dnl --------------------- last minute substitutions
AC_SUBST(LIBS)
-AC_SUBST(AFPD_LIBS)
-AC_SUBST(PAPD_LIBS)
AC_SUBST(CFLAGS)
AC_SUBST(OVERWRITE_CONFIG)
AM_CONDITIONAL(SOLARIS_MODULE, test x$solaris_module = xyes)
AM_CONDITIONAL(COMPILE_TIMELORD, test x$compile_timelord = xyes)
+AM_CONDITIONAL(COMPILE_A2BOOT, test x$compile_a2boot = xyes)
AM_CONDITIONAL(USE_DHX, test x$compile_ssl = 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(USE_PAM, test x$netatalk_cv_install_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)
contrib/shell_utils/cleanappledouble.pl
contrib/shell_utils/netatalkshorternamelinks.pl
contrib/timelord/Makefile
+ contrib/a2boot/Makefile
distrib/Makefile
distrib/config/Makefile
distrib/config/netatalk-config
doc/Makefile
etc/Makefile
etc/afpd/Makefile
- etc/afpd/nls/Makefile
etc/atalkd/Makefile
+ etc/cnid_dbd/Makefile
etc/uams/Makefile
etc/uams/uams_krb4/Makefile
etc/papd/Makefile
libatalk/asp/Makefile
libatalk/atp/Makefile
libatalk/cnid/Makefile
+ libatalk/cnid/db3/Makefile
+ libatalk/cnid/cdb/Makefile
+ libatalk/cnid/last/Makefile
+ libatalk/cnid/mtab/Makefile
+ libatalk/cnid/dbd/Makefile
+ libatalk/cnid/hash/Makefile
+ libatalk/cnid/tdb/Makefile
libatalk/compat/Makefile
libatalk/dsi/Makefile
libatalk/nbp/Makefile
libatalk/netddp/Makefile
libatalk/util/Makefile
+ libatalk/tdb/Makefile
+ libatalk/unicode/Makefile
+ libatalk/unicode/charsets/Makefile
macros/Makefile
man/Makefile
man/man1/Makefile
[chmod a+x distrib/config/netatalk-config contrib/shell_utils/apple_*]
)
+AM_NETATALK_LIBS_SUMMARY
+AM_NETATALK_CONFIG_SUMMARY
+