]> Dogcows Code - chaz/tar/blobdiff - configure.ac
Support for POSIX ACLs
[chaz/tar] / configure.ac
index 77976be5095598682bbb9008d1748059667bde0a..3e501a82d091da4ce56f6a6b378f00e30846bb75 100644 (file)
@@ -93,6 +93,26 @@ tar_PAXUTILS
 TAR_HEADERS_ATTR_XATTR_H
 
 AC_CHECK_FUNCS_ONCE([fchmod fchown fsync lstat mkfifo readlink symlink])
+
+# we use gnulib's acl.h - because of very useful file_has_acl() function.  M4
+# file from gnulib/acl does a quite good job of course.  The problem is that
+# this function works on wide list of platforms and we need to restrict tar to
+# use POSIX.1e ACLs only.
+AC_ARG_WITH([posix-acls],
+    AS_HELP_STRING([--without-posix-acls],
+                   [do not use POSIX.1e access control lists]),
+    [with_posix_acls=no])
+AC_CHECK_HEADERS(sys/acl.h,, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_get_file],  [acl pacl],, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_get_fd],    [acl pacl],, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_set_file],  [acl pacl],, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_set_fd],    [acl pacl],, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_to_text],   [acl pacl],, [with_posix_acl=no])
+AC_SEARCH_LIBS([acl_from_text], [acl pacl],, [with_posix_acl=no])
+if test "x$with_posix_acls" != xno; then
+  AC_DEFINE(HAVE_POSIX_ACLS,,[Define when we have working POSIX acls])
+fi
+
 AC_CHECK_DECLS([getgrgid],,, [#include <grp.h>])
 AC_CHECK_DECLS([getpwuid],,, [#include <pwd.h>])
 AC_CHECK_DECLS([time],,, [#include <time.h>])
This page took 0.020761 seconds and 4 git commands to generate.