summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibarchive/libarchive/archive_platform.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2017-02-20 13:04:00 (GMT)
committerBrad King <brad.king@kitware.com>2017-02-20 13:04:00 (GMT)
commita59a7ee95601f3496ec9ba9ae1283a8d980460bf (patch)
treed8279b1fe0a6ab19eaaf6c1490040663708e192d /Utilities/cmlibarchive/libarchive/archive_platform.h
parentcdce7c619c58ec0947c036b93013445bb93e4be8 (diff)
parentc206211af647dd1f7039da91c34c9c72e50aefdf (diff)
downloadCMake-a59a7ee95601f3496ec9ba9ae1283a8d980460bf.zip
CMake-a59a7ee95601f3496ec9ba9ae1283a8d980460bf.tar.gz
CMake-a59a7ee95601f3496ec9ba9ae1283a8d980460bf.tar.bz2
Merge branch 'upstream-LibArchive' into update-libarchive
* upstream-LibArchive: LibArchive 2017-02-19 (100ee75a)
Diffstat (limited to 'Utilities/cmlibarchive/libarchive/archive_platform.h')
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_platform.h28
1 files changed, 27 insertions, 1 deletions
diff --git a/Utilities/cmlibarchive/libarchive/archive_platform.h b/Utilities/cmlibarchive/libarchive/archive_platform.h
index 08a384c..47d144b 100644
--- a/Utilities/cmlibarchive/libarchive/archive_platform.h
+++ b/Utilities/cmlibarchive/libarchive/archive_platform.h
@@ -152,8 +152,25 @@
* acl_set_file(), and ACL_USER, we assume it has the rest of the
* POSIX.1e draft functions used in archive_read_extract.c.
*/
-#if HAVE_SYS_ACL_H && HAVE_ACL_CREATE_ENTRY && HAVE_ACL_INIT && HAVE_ACL_SET_FILE && HAVE_ACL_USER
+#if HAVE_SYS_ACL_H && HAVE_ACL_CREATE_ENTRY && HAVE_ACL_INIT && HAVE_ACL_SET_FILE
+#if HAVE_ACL_USER
#define HAVE_POSIX_ACL 1
+#elif HAVE_ACL_TYPE_EXTENDED
+#define HAVE_DARWIN_ACL 1
+#endif
+#endif
+
+/*
+ * If this platform has <sys/acl.h>, acl_get(), facl_get(), acl_set(),
+ * facl_set() and types aclent_t and ace_t it uses Solaris-style ACL functions
+ */
+#if HAVE_SYS_ACL_H && HAVE_ACL_GET && HAVE_FACL_GET && HAVE_ACL_SET && HAVE_FACL_SET && HAVE_ACLENT_T && HAVE_ACE_T
+#define HAVE_SUN_ACL 1
+#endif
+
+/* Define if platform supports NFSv4 ACLs */
+#if (HAVE_POSIX_ACL && HAVE_ACL_TYPE_NFS4) || HAVE_SUN_ACL || HAVE_DARWIN_ACL
+#define HAVE_NFS4_ACL 1
#endif
/*
@@ -164,6 +181,15 @@
#define CAN_RESTORE_METADATA_FD
#endif
+/*
+ * glibc 2.24 deprecates readdir_r
+ */
+#if defined(HAVE_READDIR_R) && (!defined(__GLIBC__) || !defined(__GLIBC_MINOR__) || __GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ < 24))
+#define USE_READDIR_R 1
+#else
+#undef USE_READDIR_R
+#endif
+
/* Set up defaults for internal error codes. */
#ifndef ARCHIVE_ERRNO_FILE_FORMAT
#if HAVE_EFTYPE