summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Utilities/cmlibarchive/CMakeLists.txt18
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_endian.h2
-rw-r--r--Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c4
3 files changed, 18 insertions, 6 deletions
diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt
index 2dd74e8..e92163b 100644
--- a/Utilities/cmlibarchive/CMakeLists.txt
+++ b/Utilities/cmlibarchive/CMakeLists.txt
@@ -418,11 +418,19 @@ IF(HAVE_STDINT_H)
CHECK_SYMBOL_EXISTS(UINT64_MAX "stdint.h" HAVE_DECL_UINT64_MAX)
CHECK_SYMBOL_EXISTS(SIZE_MAX "stdint.h" HAVE_DECL_SIZE_MAX)
ELSE(HAVE_STDINT_H)
- CHECK_SYMBOL_EXISTS(INT64_MAX "limits.h" HAVE_DECL_INT64_MAX)
- CHECK_SYMBOL_EXISTS(INT64_MIN "limits.h" HAVE_DECL_INT64_MIN)
- CHECK_SYMBOL_EXISTS(UINT32_MAX "limits.h" HAVE_DECL_UINT32_MAX)
- CHECK_SYMBOL_EXISTS(UINT64_MAX "limits.h" HAVE_DECL_UINT64_MAX)
- CHECK_SYMBOL_EXISTS(SIZE_MAX "limits.h" HAVE_DECL_SIZE_MAX)
+ IF(HAVE_INTTYPES_H)
+ CHECK_SYMBOL_EXISTS(INT64_MAX "inttypes.h" HAVE_DECL_INT64_MAX)
+ CHECK_SYMBOL_EXISTS(INT64_MIN "inttypes.h" HAVE_DECL_INT64_MIN)
+ CHECK_SYMBOL_EXISTS(UINT32_MAX "inttypes.h" HAVE_DECL_UINT32_MAX)
+ CHECK_SYMBOL_EXISTS(UINT64_MAX "inttypes.h" HAVE_DECL_UINT64_MAX)
+ CHECK_SYMBOL_EXISTS(SIZE_MAX "inttypes.h" HAVE_DECL_SIZE_MAX)
+ ELSE(HAVE_INTTYPES_H)
+ CHECK_SYMBOL_EXISTS(INT64_MAX "limits.h" HAVE_DECL_INT64_MAX)
+ CHECK_SYMBOL_EXISTS(INT64_MIN "limits.h" HAVE_DECL_INT64_MIN)
+ CHECK_SYMBOL_EXISTS(UINT32_MAX "limits.h" HAVE_DECL_UINT32_MAX)
+ CHECK_SYMBOL_EXISTS(UINT64_MAX "limits.h" HAVE_DECL_UINT64_MAX)
+ CHECK_SYMBOL_EXISTS(SIZE_MAX "limits.h" HAVE_DECL_SIZE_MAX)
+ ENDIF(HAVE_INTTYPES_H)
ENDIF(HAVE_STDINT_H)
CHECK_SYMBOL_EXISTS(SSIZE_MAX "limits.h" HAVE_DECL_SSIZE_MAX)
diff --git a/Utilities/cmlibarchive/libarchive/archive_endian.h b/Utilities/cmlibarchive/libarchive/archive_endian.h
index 265f064..24d133f 100644
--- a/Utilities/cmlibarchive/libarchive/archive_endian.h
+++ b/Utilities/cmlibarchive/libarchive/archive_endian.h
@@ -45,7 +45,7 @@
* - SGI MIPSpro
* - Microsoft Visual C++ 6.0 (supposedly newer versions too)
*/
-#if defined(__WATCOMC__) || defined(__sgi)
+#if defined(__WATCOMC__) || defined(__sgi) || defined(__hpux)
#define inline
#elif defined(_MSC_VER)
#define inline __inline
diff --git a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
index 5d79cbf..f5912d5 100644
--- a/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
+++ b/Utilities/cmlibarchive/libarchive/archive_read_support_format_tar.c
@@ -773,7 +773,11 @@ header_Solaris_ACL(struct archive_read *a, struct tar *tar,
}
p++;
}
+#ifdef __hpux
+ switch ((int)type & ~0777777) {
+#else
switch (type & ~0777777) {
+#endif
case 01000000:
/* POSIX.1e ACL */
break;