changeset 9582:0f601cc8836d

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).
author Mike Frysinger <vapier@gentoo.org>
date Tue, 08 Jan 2008 09:53:53 +0100
parents d3ce665ae1f7
children 0446ff006bf3
files ChangeLog m4/acl.m4
diffstat 2 files changed, 49 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- 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".
--- 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_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],