summaryrefslogtreecommitdiffstats
path: root/Utilities/cmlibarchive
diff options
context:
space:
mode:
authorBill Hoffman <bill.hoffman@kitware.com>2009-10-30 22:07:45 (GMT)
committerBill Hoffman <bill.hoffman@kitware.com>2009-10-30 22:07:45 (GMT)
commit53082a4f34665c03c000252c44f27253085ee97b (patch)
tree44cb9df96152730f8a6e8f52e7f9753c03b1048e /Utilities/cmlibarchive
parentec5a70dc91a53e0a681cedab1ca57d72f2d58ade (diff)
downloadCMake-53082a4f34665c03c000252c44f27253085ee97b.zip
CMake-53082a4f34665c03c000252c44f27253085ee97b.tar.gz
CMake-53082a4f34665c03c000252c44f27253085ee97b.tar.bz2
Try to fix old hpux
Diffstat (limited to 'Utilities/cmlibarchive')
-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;