From 35f9bc9218ed5152c97bc6696347da833cacd40c Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Tue, 8 Jan 2008 09:53:53 +0100 Subject: [PATCH] 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). --- ChangeLog | 6 +++++ m4/acl.m4 | 77 +++++++++++++++++++++++++++++++------------------------ 2 files changed, 49 insertions(+), 34 deletions(-) diff --git a/ChangeLog b/ChangeLog index af7c70b5e3..5e739cb358 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-08 Mike Frysinger + + 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 * tests/test-localename.c: Don't include obsolete "setenv.h". diff --git a/m4/acl.m4 b/m4/acl.m4 index 6a1951d3c9..f67f6def65 100644 --- 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], -- 2.30.2