-dnl $Id: configure.in,v 1.203 2005-04-28 20:49:17 bfernhomberg Exp $
+dnl $Id: configure.in,v 1.223 2009-10-25 09:47:03 didg Exp $
dnl configure.in for netatalk
AC_INIT(etc/afpd/main.c)
dnl Checks for programs.
AC_PROG_AWK
AC_PROG_CC
+AC_PROG_CC_C99
AC_PROG_INSTALL
AC_PROG_LN_S
AC_PROG_MAKE_SET
AC_PROG_GREP
AC_PROG_PS
+AM_PROG_CC_C_O
+
dnl *********************************************************************
dnl FIXME! FIXME! These should be selectable properly, and should produce
dnl the proper flags and defines...
dnl Replace `main' with a function in -ld:
dnl AC_CHECK_LIB(d, main)
dnl Replace `main' with a function in -ldl:
-# AC_CHECK_LIB(dl, dlopen)
+dnl AC_CHECK_LIB(dl, dlopen)
dnl Replace `main' with a function in -lkauth:
dnl AC_CHECK_LIB(kauth, main)
dnl Replace `main' with a function in -lkrb:
dnl AC_CHECK_LIB(lwp, main)
dnl Replace `main' with a function in -ln:
dnl AC_CHECK_LIB(n, main)
-dnl Replace `main' with a function in -lnsl:
-# AC_CHECK_LIB(nsl, main)
+
+dnl not the right stuff but should be enough for now
+AC_CHECK_FUNC(gethostbyname,,[AC_CHECK_LIB(nsl,gethostbyname)])
+AC_CHECK_FUNC(connect,,[AC_CHECK_LIB(socket,connect)])
+
dnl Replace `main' with a function in -lprot:
dnl AC_CHECK_LIB(prot, main)
dnl Replace `main' with a function in -lrx:
dnl AC_CHECK_LIB(rx, main)
dnl Replace `main' with a function in -lrxkad:
dnl AC_CHECK_LIB(rxkad, main)
-dnl Replace `main' with a function in -lsocket:
-AC_CHECK_LIB(socket, socket)
dnl Replace `main' with a function in -lsys:
dnl AC_CHECK_LIB(sys, main)
dnl Replace `main' with a function in -lubik:
AC_FUNC_UTIME_NULL
AC_FUNC_WAIT3
AC_CHECK_FUNCS(getcwd gethostname gettimeofday getusershell mkdir rmdir select socket strdup strcasestr strstr strtoul strchr memcpy)
-AC_CHECK_FUNCS(backtrace_symbols)
-AC_CHECK_FUNCS(setlocale nl_langinfo)
+AC_CHECK_FUNCS(backtrace_symbols setlocale nl_langinfo)
AC_CHECK_FUNCS(waitpid getcwd strdup strndup strnlen strtoul strerror chown fchown chmod fchmod chroot link mknod mknod64)
-AC_CHECK_FUNCS(strlcpy strlcat)
-AC_CHECK_FUNCS(setlinebuf)
+AC_CHECK_FUNCS(strlcpy strlcat setlinebuf gethostid dirfd)
AC_CHECK_MEMBERS(struct tm.tm_gmtoff,,, [#include <time.h>])
AC_CACHE_SAVE
NETATALK_CONFIG_DIRS
-AC_MSG_CHECKING([whether to use logfile])
-AC_ARG_WITH(logfile,
- [ --with-logfile=PATH path for file used by logger],[
- if test x"$withval" = x"no"; then
- AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
- AC_MSG_RESULT([no, syslog])
- elif test "$withval" != "yes"; then
- AC_DEFINE_UNQUOTED(LOGFILEPATH, "$withval", [Path to the log file])
- AC_MSG_RESULT([$withval])
- else
- AC_DEFINE_UNQUOTED(LOGFILEPATH, "/var/log/netatalk.log", [Path to the log file])
- AC_MSG_RESULT([/var/log/netatalk.log])
- fi],[
- AC_DEFINE(DISABLE_LOGGER, 1, [Define if the logger should not be used])
- AC_MSG_RESULT([no, syslog])
- ]
-)
-
-
netatalk_cv_with_cracklib=no
AC_ARG_WITH(cracklib,
[ --with-cracklib=DICT enable/set location of cracklib dictionary],[
]
)
+AC_MSG_CHECKING([whether to enable debugging with debuggers])
+AC_ARG_ENABLE(debugging,
+ [ --enable-debugging disable SIGALRM timers and DSI tickles (eg for debugging with gdb/dbx/...)],[
+ if test "$enableval" != "no"; then
+ if test "$enableval" = "yes"; then
+ AC_DEFINE(DEBUGGING, 1, [Define if you want to disable SIGALRM timers and DSI tickles])
+ else
+ AC_DEFINE_UNQUOTED(DEBUGGING, $enableval, [Define if you want to disable SIGALRM timers and DSI tickles])
+ fi
+ 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])
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 required Berkeley DB libraries AND headers installed.])
- AC_MSG_RESULT([You can download the latest version from http://www.sleepycat.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 and make sure])
- AC_MSG_RESULT([your linker is configured to check for libraries there.])
- AC_MSG_ERROR([Berkeley DB library required but not found!])
- ])
-fi
-
dnl Check for quota support
AC_CHECK_QUOTA
# )
# 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)
+ AC_CHECK_HEADERS(linux/dqblk_xfs.h,,
+ [AC_CHECK_HEADERS(linux/xqm.h linux/xfs_fs.h)
+ AC_CHECK_HEADERS(xfs/libxfs.h xfs/xqm.h xfs/xfs_fs.h)]
+ )
dnl ----- as far as I can tell, dbtob always does the wrong thing
AC_DEFINE(HAVE_BROKEN_DBTOB, 1, [Define if dbtob is broken])
netatalk_cv_linux_sendfile=no
-dnl disable this for now, code doesn't use sendfile anyway
-dnl AC_ARG_ENABLE(sendfile,
-dnl [ --enable-sendfile use sendfile syscall default (no) ],[
-dnl if test "$enableval" = "yes"; then
-dnl netatalk_cv_linux_sendfile=yes
-dnl fi
-dnl AC_MSG_RESULT([enabling sendfile syscall])
-dnl ]
-dnl )
+ 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,[
sysv_style=tru64
fi
-dnl -- look for openssl
+dnl -- check for libgcrypt, if found enables DHX UAM
+AM_PATH_LIBGCRYPT([1:1.2.3],[neta_cv_compile_dhx2=yes
+ neta_cv_have_libgcrypt=yes
+ AC_MSG_NOTICE([Enabling DHX2 UAM])
+ AC_DEFINE(HAVE_LIBGCRYPT, 1, [Define if the DHX2 modules should be built with libgcrypt])
+ AC_DEFINE(UAM_DHX2, 1, [Define if the DHX2 UAM modules should be compiled])
+ ])
+
+dnl -- look for openssl, if found enables DHX UAM and Randnum UAM
AC_PATH_SSL
+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 required Berkeley DB libraries AND headers installed.])
+ AC_MSG_RESULT([You can download the latest version from http://www.sleepycat.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 and make sure])
+ AC_MSG_RESULT([your linker is configured to check for libraries there.])
+ AC_MSG_ERROR([Berkeley DB library required but not found!])
+ ])
+fi
+
dnl -- check for crypt
AC_CRYPT
AC_ARG_ENABLE(pgp-uam,
[ --enable-pgp-uam enable build of PGP UAM module],[
if test "$enableval" = "yes"; then
- if test "$compile_ssl" = "yes"; then
+ if test "x$neta_cv_have_openssl" = "xyes"; then
AC_DEFINE(UAM_PGP, 1, [Define if the PGP UAM module should be compiled])
compile_pgp=yes
AC_MSG_RESULT([yes])
)
AC_MSG_RESULT([$OVERWRITE_CONFIG])
+dnl --------------------- check for ACL support
+neta_cv_nfsv4acl="no"
+AC_MSG_CHECKING([if NFSv4 ACL Support should be enabled])
+AC_ARG_ENABLE(nfsv4acls,
+ [ --enable-nfsv4acls enable NFSv4 ACL Support],[
+ if test x"$enableval" = x"yes"; then
+ AC_MSG_RESULT([yes])
+ neta_cv_nfsv4acl="yes"
+ else
+ AC_MSG_RESULT([no])
+ fi],[
+ AC_MSG_RESULT([no])
+ ]
+)
+if test x$neta_cv_nfsv4acl = xyes; then
+ AC_CHECK_HEADER([ldap.h],,[
+ AC_MSG_ERROR([ACL Support need the LDAP client headers not found.])
+ neta_cv_nfsv4acl=no
+ ]
+ )
+ AC_CHECK_LIB(ldap,ldap_init,neta_cv_nfsv4acl=yes,neta_cv_nfsv4acl=no)
+fi
+if test x$neta_cv_nfsv4acl = xyes; then
+ AC_CHECK_HEADER([sys/acl.h],[
+ AC_DEFINE([HAVE_NFSv4_ACLS], 1, [Enable ACL code])
+ AC_MSG_NOTICE([Enabling ACL support])
+ ],
+ neta_cv_nfsv4acl=no
+ )
+fi
+if test x$neta_cv_nfsv4acl = xyes; then
+ LIBATALK_ACLS="acl/libacl.la"
+else
+ LIBATALK_ACLS=""
+fi
+AC_SUBST(LIBATALK_ACLS)
+
+dnl --------------------- check for Extended Attributes support
+neta_cv_eas="adouble"
+if test "x$this_os" = "xsolaris"; then
+ AC_CHECK_LIB(c,attropen, [
+ neta_cv_eas="$neta_cv_eas Solaris"
+ neta_cv_solaris_eas="yes"
+ AC_MSG_NOTICE([Enabling Solaris Extended Attributes support])
+ AC_DEFINE([HAVE_SOLARIS_EAS], 1, [Enable Extended Attributes])
+ ]
+ )
+fi
+
+dnl --------------------- Netatalk Webmin
+NETATALK_WEBMIN
+
dnl --------------------- last minute substitutions
AC_SUBST(LIBS)
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(HAVE_LIBGCRYPT, test x$neta_cv_have_libgcrypt = xyes)
+AM_CONDITIONAL(HAVE_OPENSSL, test x$neta_cv_have_openssl = xyes)
+AM_CONDITIONAL(USE_NFSv4_ACLS, test x$neta_cv_nfsv4acl = xyes)
+AM_CONDITIONAL(USE_SOLARIS_EAS, test x$neta_cv_solaris_eas = xyes)
+AM_CONDITIONAL(USE_DHX, test x$neta_cv_compile_dhx = xyes)
+AM_CONDITIONAL(USE_DHX2, test x$neta_cv_compile_dhx2 = xyes)
+AM_CONDITIONAL(USE_RANDNUM, test x$neta_cv_have_openssl = 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$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(DEFAULT_HOOK, test x$neta_cv_have_libgcrypt != xyes && test x$neta_cv_have_openssl != 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_GENTOO, test x$sysv_style = xgentoo)
AM_CONDITIONAL(USE_DEBIAN, test x$sysv_style = xdebian)
AM_CONDITIONAL(USE_UNDEF, test x$sysv_style = x)
+AM_CONDITIONAL(USE_BDB, test x$bdb_required = xyes)
dnl --------------------- generate files
bin/uniconv/Makefile
config/Makefile
contrib/Makefile
+ contrib/acltests/Makefile
contrib/macusers/Makefile
contrib/macusers/macusers
contrib/nu/Makefile
contrib/shell_utils/apple_cp
contrib/shell_utils/apple_mv
contrib/shell_utils/apple_rm
+ contrib/shell_utils/apple_cleanup
contrib/shell_utils/asip-status.pl
- contrib/shell_utils/cleanappledouble.pl
contrib/timelord/Makefile
contrib/a2boot/Makefile
distrib/Makefile
include/Makefile
include/atalk/Makefile
libatalk/Makefile
+ libatalk/acl/Makefile
libatalk/adouble/Makefile
libatalk/asp/Makefile
libatalk/atp/Makefile
libatalk/nbp/Makefile
libatalk/netddp/Makefile
libatalk/util/Makefile
+ libatalk/util/test/Makefile
libatalk/tdb/Makefile
libatalk/unicode/Makefile
libatalk/unicode/charsets/Makefile
+ libatalk/vfs/Makefile
macros/Makefile
man/Makefile
man/man1/Makefile
AC_NETATALK_LIBS_SUMMARY
AC_NETATALK_CONFIG_SUMMARY
-