Add a configure time option: --disable-acl.
authorMike Frysinger <vapier@gentoo.org>
Tue, 8 Jan 2008 08:53:53 +0000 (09:53 +0100)
committerJim Meyering <meyering@redhat.com>
Tue, 8 Jan 2008 08:53:53 +0000 (09:53 +0100)
* m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
AC_ARG_ENABLE(acl).

ChangeLog
m4/acl.m4

index af7c70b..5e739cb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-08  Mike Frysinger  <vapier@gentoo.org>
+
+       Add a configure time option: --disable-acl.
+       * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
+       AC_ARG_ENABLE(acl).
+
 2008-01-06  Simon Josefsson  <simon@josefsson.org>
 
        * tests/test-localename.c: Don't include obsolete "setenv.h".
index 6a1951d..f67f6de 100644 (file)
--- a/m4/acl.m4
+++ b/m4/acl.m4
@@ -1,6 +1,6 @@
 # acl.m4 - check for access control list (ACL) primitives
 
-# Copyright (C) 2002, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
+# Copyright (C) 2002, 2004-2008 Free Software Foundation, Inc.
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
 # with or without modifications, as long as this notice is preserved.
@@ -12,42 +12,51 @@ AC_DEFUN([gl_FUNC_ACL],
   AC_LIBOBJ([acl])
   AC_LIBOBJ([file-has-acl])
 
-  dnl Prerequisites of lib/acl.c.
+  AC_ARG_ENABLE([acl],
+    AC_HELP_STRING([--disable-acl], [do not support ACLs]),
+    , [enable_acl=auto])
+
   LIB_ACL=
   use_acl=0
-  AC_CHECK_HEADERS(sys/acl.h)
-  if test $ac_cv_header_sys_acl_h = yes; then
-    ac_save_LIBS=$LIBS
-    AC_CHECK_FUNCS([acl])
-    use_acl=1
-    AC_SEARCH_LIBS([acl_trivial], [sec],
-      [test "$ac_cv_search_acl_trivial" = "none required" ||
-       LIB_ACL=$ac_cv_search_acl_trivial
-       AC_CHECK_FUNCS([acl_trivial])],
-      [AC_CHECK_FUNCS([acl_trivial])
-       if test $ac_cv_func_acl_trivial != yes; then
-        AC_SEARCH_LIBS([acl_get_file], [acl],
-          [test "$ac_cv_search_acl_get_file" = "none required" ||
-           LIB_ACL=$ac_cv_search_acl_get_file
-           AC_CHECK_FUNCS(
-             [acl_get_file acl_get_fd acl_set_file acl_set_fd \
-              acl_free acl_from_mode acl_from_text \
-              acl_delete_def_file acl_extended_file])
-           if test $ac_cv_func_acl_get_file = yes; then
-             # If the acl_get_file bug is detected, disable all ACL support.
-             gl_ACL_GET_FILE( , [use_acl=0])
-           fi
-           if test $use_acl = 1; then
-             AC_CHECK_HEADERS([acl/libacl.h])
-             if test $ac_cv_func_acl_get_file = yes &&
-                test $ac_cv_func_acl_free = yes; then
-               AC_REPLACE_FUNCS([acl_entries])
+  if test "x$enable_acl" != "xno"; then
+    dnl Prerequisites of lib/acl.c.
+    AC_CHECK_HEADERS(sys/acl.h)
+    if test $ac_cv_header_sys_acl_h = yes; then
+      ac_save_LIBS=$LIBS
+      AC_CHECK_FUNCS([acl])
+      use_acl=1
+      AC_SEARCH_LIBS([acl_trivial], [sec],
+       [test "$ac_cv_search_acl_trivial" = "none required" ||
+        LIB_ACL=$ac_cv_search_acl_trivial
+        AC_CHECK_FUNCS([acl_trivial])],
+       [AC_CHECK_FUNCS([acl_trivial])
+        if test $ac_cv_func_acl_trivial != yes; then
+          AC_SEARCH_LIBS([acl_get_file], [acl],
+            [test "$ac_cv_search_acl_get_file" = "none required" ||
+             LIB_ACL=$ac_cv_search_acl_get_file
+             AC_CHECK_FUNCS(
+               [acl_get_file acl_get_fd acl_set_file acl_set_fd \
+                acl_free acl_from_mode acl_from_text \
+                acl_delete_def_file acl_extended_file])
+             if test $ac_cv_func_acl_get_file = yes; then
+               # If the acl_get_file bug is detected, disable all ACL support.
+               gl_ACL_GET_FILE( , [use_acl=0])
              fi
-           else
-             LIB_ACL=
-           fi])
-       fi])
-    LIBS=$ac_save_LIBS
+             if test $use_acl = 1; then
+               AC_CHECK_HEADERS([acl/libacl.h])
+               if test $ac_cv_func_acl_get_file = yes &&
+                  test $ac_cv_func_acl_free = yes; then
+                 AC_REPLACE_FUNCS([acl_entries])
+               fi
+             else
+               LIB_ACL=
+             fi])
+        fi])
+      LIBS=$ac_save_LIBS
+    fi
+    if test "x$enable_acl$use_acl" = "xyes0"; then
+      AC_MSG_ERROR([ACLs enabled but support not detected])
+    fi
   fi
   AC_SUBST([LIB_ACL])
   AC_DEFINE_UNQUOTED([USE_ACL], [$use_acl],