]> arthur.barton.de Git - netatalk.git/blobdiff - macros/quota-check.m4
Writing metadata xattr on directories with sticky bit set, FR#94
[netatalk.git] / macros / quota-check.m4
index b13ced7751d5425008f3e6c4f173209c3a7c773a..703c3568d34d38b36029a2c2e342abb8713af5a3 100644 (file)
@@ -1,35 +1,26 @@
-dnl $Id: quota-check.m4,v 1.4 2003-12-28 13:42:06 srittau Exp $
 dnl Autoconf macro to check for quota support
 dnl Autoconf macro to check for quota support
-dnl FIXME: This is in no way complete.
+dnl FIXME: This is in now way complete.
 
 
-AC_DEFUN([AC_CHECK_QUOTA], [
-       AC_CHECK_HEADERS(sys/quota.h ufs/quota.h)
+AC_DEFUN([AC_NETATALK_CHECK_QUOTA], [
+       AC_ARG_ENABLE(quota,
+       [  --enable-quota           Turn on quota support (default=auto)])
 
 
-       QUOTA_LIBS=
-       AC_CHECK_LIB(rpcsvc, main, [QUOTA_LIBS=-lrpcsvc])
-       AC_SUBST(QUOTA_LIBS)
-
-       dnl ----- Linux 2.6 changed the quota interface
-       ac_have_struct_if_dqblk=no
-       AC_MSG_CHECKING([for struct if_dqblk])
-       AC_COMPILE_IFELSE([
-#include <asm/types.h>
-#include <sys/types.h>
-#include <linux/quota.h>
-
-int main() {
-       struct if_dqblk foo;
-
-       return 0;
-}
-       ], [
-               ac_have_struct_if_dqblk=yes
-               AC_MSG_RESULT([yes])
-       ], [
-               AC_MSG_RESULT([no])
+       if test x$enable_quota != xno; then
+       QUOTA_LIBS=""
+       netatalk_cv_quotasupport="yes"
+       AC_CHECK_LIB(rpcsvc, main, [QUOTA_LIBS="-lrpcsvc"])
+       AC_CHECK_HEADERS([rpc/rpc.h rpc/pmap_prot.h rpcsvc/rquota.h],[],[
+               QUOTA_LIBS=""
+               netatalk_cv_quotasupport="no"
+               AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if quota support should not compiled])
        ])
        ])
-
-       if test "x$ac_have_struct_if_dqblk" = "xyes"; then
-               AC_DEFINE(HAVE_STRUCT_IF_DQBLK, 1, [set if struct if_dqblk exists])
+       AC_CHECK_LIB(quota, getfsquota, [QUOTA_LIBS="-lquota -lprop -lrpcsvc"
+           AC_DEFINE(HAVE_LIBQUOTA, 1, [define if you have libquota])], [], [-lprop -lrpcsvc])
+       else
+               netatalk_cv_quotasupport="no"
+               AC_DEFINE(NO_QUOTA_SUPPORT, 1, [Define if quota support should not compiled])
        fi
        fi
+
+       AC_SUBST(QUOTA_LIBS)
 ])
 ])
+