diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index e95935a5b..8c10b2184 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -512,6 +512,8 @@ CHECK_TYPE_SIZE(int64_t INT64_T) IF(NOT HAVE_INT64_T) IF(WIN32) SET(int64_t "__int64") + ELSE(WIN32) + SET(int64_t "long long") ENDIF(WIN32) ENDIF(NOT HAVE_INT64_T) # @@ -568,9 +570,7 @@ ENDIF(NOT HAVE_UINT16_T) # CHECK_TYPE_SIZE(uint32_t UINT32_T) IF(NOT HAVE_UINT32_T) - IF(WIN32) - SET(uint32_t "unsigned int") - ENDIF(WIN32) + SET(uint32_t "unsigned int") ENDIF(NOT HAVE_UINT32_T) CHECK_TYPE_SIZE(int32_t INT32_T) IF(NOT HAVE_INT32_T) @@ -581,6 +581,8 @@ CHECK_TYPE_SIZE(uint64_t UINT64_T) IF(NOT HAVE_UINT64_T) IF(WIN32) SET(uint64_t "unsigned __int64") + ELSE(WIN32) + SET(uint64_t "unsigned long long") ENDIF(WIN32) ENDIF(NOT HAVE_UINT64_T) # diff --git a/Utilities/cmlibarchive/build/cmake/config.h.in b/Utilities/cmlibarchive/build/cmake/config.h.in index 9af45a06c..34dbce3c2 100644 --- a/Utilities/cmlibarchive/build/cmake/config.h.in +++ b/Utilities/cmlibarchive/build/cmake/config.h.in @@ -1,4 +1,7 @@ /* config.h. Generated from config.h.cmake by cmake configure */ +#if defined(__osf__) +# define _OSF_SOURCE +#endif /* Version number of bsdcpio */ #cmakedefine BSDCPIO_VERSION_STRING "${BSDCPIO_VERSION_STRING}" diff --git a/Utilities/cmlibarchive/libarchive/archive.h b/Utilities/cmlibarchive/libarchive/archive.h index 9d84121bb..9b918a82b 100644 --- a/Utilities/cmlibarchive/libarchive/archive.h +++ b/Utilities/cmlibarchive/libarchive/archive.h @@ -37,7 +37,7 @@ */ #if defined(__BORLANDC__) && __BORLANDC__ >= 0x560 # define __LA_STDINT_H -#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) +#elif !defined(__WATCOMC__) && !defined(_MSC_VER) && !defined(__INTERIX) && !defined(__BORLANDC__) && !defined(__osf__) # define __LA_STDINT_H #endif @@ -68,7 +68,11 @@ # endif #else #include /* ssize_t, uid_t, and gid_t */ -#define __LA_INT64_T int64_t +#if defined(__osf__) +# define __LA_INT64_T long long +#else +# define __LA_INT64_T int64_t +#endif #define __LA_SSIZE_T ssize_t #define __LA_UID_T uid_t #define __LA_GID_T gid_t diff --git a/Utilities/cmlibarchive/libarchive/archive_entry.h b/Utilities/cmlibarchive/libarchive/archive_entry.h index 9c7cd43ba..e85285f9d 100644 --- a/Utilities/cmlibarchive/libarchive/archive_entry.h +++ b/Utilities/cmlibarchive/libarchive/archive_entry.h @@ -61,7 +61,11 @@ # endif #else # include -#define __LA_INT64_T int64_t +#ifdef __osf__ +# define __LA_INT64_T long long +#else +# define __LA_INT64_T int64_t +#endif #define __LA_UID_T uid_t #define __LA_GID_T gid_t #define __LA_DEV_T dev_t