summaryrefslogtreecommitdiffstats
path: root/Utilities/cmtar/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Utilities/cmtar/CMakeLists.txt')
-rw-r--r--Utilities/cmtar/CMakeLists.txt10
1 files changed, 8 insertions, 2 deletions
diff --git a/Utilities/cmtar/CMakeLists.txt b/Utilities/cmtar/CMakeLists.txt
index 038c38c..3ef4100 100644
--- a/Utilities/cmtar/CMakeLists.txt
+++ b/Utilities/cmtar/CMakeLists.txt
@@ -169,7 +169,6 @@ ELSE(HAVE_SIZEOF_OFF_T)
SET (HAVE_OFF_T 0)
SET (off_t "long")
ENDIF(HAVE_SIZEOF_OFF_T)
-
CHECK_TYPE_SIZE("size_t" SIZEOF_SIZE_T)
IF(HAVE_SIZEOF_SIZE_T)
SET (HAVE_SIZE_T 1)
@@ -183,7 +182,14 @@ IF(HAVE_SIZEOF_SSIZE_T)
SET (HAVE_SSIZE_T 1)
ELSE(HAVE_SIZEOF_SSIZE_T)
SET (HAVE_SSIZE_T 0)
- SET (ssize_t "int")
+ CHECK_TYPE_SIZE("long" SIZEOF_LONG)
+ CHECK_TYPE_SIZE("__int64" SIZEOF___INT64)
+ IF(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
+ SET(ssize_t "long")
+ ENDIF(SIZEOF_LONG EQUAL SIZEOF_SIZE_T)
+ IF(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
+ SET(ssize_t "__int64")
+ ENDIF(NOT ssize_t AND SIZEOF___INT64 EQUAL SIZEOF_SIZE_T)
ENDIF(HAVE_SIZEOF_SSIZE_T)
CHECK_TYPE_SIZE("uid_t" SIZEOF_UID_T)