diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index 2dd74e8c9..e92163b92 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 265f06403..24d133f4d 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 5d79cbf69..f5912d533 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;