From 4c6f63a4090e844295c1eed89394c06dfe974863 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 4 Nov 2009 17:17:57 -0500 Subject: libarchive: Fix integer type defaults for Windows Most of the integer type defaults needed for MSVC and Borland actually work with all Windows compilers. This commit generalizes the defaults to avoid compiler-specific tests. --- Utilities/cmlibarchive/CMakeLists.txt | 60 +++++++++++++++-------------------- 1 file changed, 25 insertions(+), 35 deletions(-) diff --git a/Utilities/cmlibarchive/CMakeLists.txt b/Utilities/cmlibarchive/CMakeLists.txt index 4ec3ec7..b049a4e 100644 --- a/Utilities/cmlibarchive/CMakeLists.txt +++ b/Utilities/cmlibarchive/CMakeLists.txt @@ -477,9 +477,7 @@ CHECK_TYPE_SIZE("unsigned long long int" UNSIGNED_LONG_LONG_INT) # CHECK_TYPE_SIZE(dev_t DEV_T) IF(NOT HAVE_DEV_T) - IF(MSVC OR BORLAND) - SET(dev_t "unsigned int") - ENDIF(MSVC OR BORLAND) + SET(dev_t "unsigned int") ENDIF(NOT HAVE_DEV_T) # CHECK_TYPE_SIZE(gid_t GID_T) @@ -502,25 +500,23 @@ ENDIF(NOT HAVE_ID_T) # CHECK_TYPE_SIZE(int64_t INT64_T) IF(NOT HAVE_INT64_T) - IF(MSVC OR BORLAND) - SET(int64_t __int64) - ENDIF(MSVC OR BORLAND) + IF(WIN32) + SET(int64_t "__int64") + ENDIF(WIN32) ENDIF(NOT HAVE_INT64_T) # CHECK_TYPE_SIZE(intmax_t INTMAX_T) IF(NOT HAVE_INTMAX_T) - IF(MSVC OR BORLAND) - SET(intmax_t "__int64") - ENDIF(MSVC OR BORLAND) + SET(intmax_t "int64_t") ENDIF(NOT HAVE_INTMAX_T) # CHECK_TYPE_SIZE(mode_t MODE_T) IF(NOT HAVE_MODE_T) - IF(MSVC OR BORLAND) + IF(WIN32) SET(mode_t "unsigned short") - ELSE(MSVC OR BORLAND) + ELSE(WIN32) SET(mode_t "int") - ENDIF(MSVC OR BORLAND) + ENDIF(WIN32) ENDIF(NOT HAVE_MODE_T) # CHECK_TYPE_SIZE(off_t OFF_T) @@ -530,20 +526,20 @@ ENDIF(NOT HAVE_OFF_T) # CHECK_TYPE_SIZE(size_t SIZE_T) IF(NOT HAVE_SIZE_T) - SET(size_t "unsigned int") + IF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(size_t "uint64_t") + ELSE("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(size_t "uint32_t") + ENDIF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) ENDIF(NOT HAVE_SIZE_T) # CHECK_TYPE_SIZE(ssize_t SSIZE_T) IF(NOT HAVE_SSIZE_T) - IF(MSVC OR BORLAND) - IF(CMAKE_CL_64) - SET(ssize_t "__int64") - ELSE(CMAKE_CL_64) - SET(ssize_t "signed long") - ENDIF(CMAKE_CL_64) - ELSE(MSVC OR BORLAND) - SET(ssize_t "int") - ENDIF(MSVC OR BORLAND) + IF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(ssize_t "int64_t") + ELSE("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(ssize_t "long") + ENDIF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) ENDIF(NOT HAVE_SSIZE_T) # CHECK_TYPE_SIZE(uid_t UID_T) @@ -557,36 +553,30 @@ ENDIF(NOT HAVE_UID_T) # CHECK_TYPE_SIZE(uint16_t UINT16_T) IF(NOT HAVE_UINT16_T) - IF(MSVC OR BORLAND) - SET(uint16_t "unsigned short") - ENDIF(MSVC OR BORLAND) + SET(uint16_t "unsigned short") ENDIF(NOT HAVE_UINT16_T) # CHECK_TYPE_SIZE(uint32_t UINT32_T) IF(NOT HAVE_UINT32_T) - IF(MSVC OR BORLAND) + IF(WIN32) SET(uint32_t "unsigned int") - ENDIF(MSVC OR BORLAND) + ENDIF(WIN32) ENDIF(NOT HAVE_UINT32_T) CHECK_TYPE_SIZE(int32_t INT32_T) IF(NOT HAVE_INT32_T) - IF(MSVC OR BORLAND) - SET(int32_t "int") - ENDIF(MSVC OR BORLAND) + SET(int32_t "int") ENDIF(NOT HAVE_INT32_T) # CHECK_TYPE_SIZE(uint64_t UINT64_T) IF(NOT HAVE_UINT64_T) - IF(MSVC OR BORLAND) + IF(WIN32) SET(uint64_t "unsigned __int64") - ENDIF(MSVC OR BORLAND) + ENDIF(WIN32) ENDIF(NOT HAVE_UINT64_T) # CHECK_TYPE_SIZE(uintmax_t UINTMAX_T) IF(NOT HAVE_UINTMAX_T) - IF(MSVC OR BORLAND) - SET(uintmax_t "unsigned __int64") - ENDIF(MSVC OR BORLAND) + SET(uintmax_t "uint64_t") ENDIF(NOT HAVE_UINTMAX_T) # CHECK_TYPE_SIZE(intptr_t INTPTR_T) -- cgit v0.12