diff options
author | Chuck Atkins <chuck.atkins@kitware.com> | 2014-11-03 19:37:12 (GMT) |
---|---|---|
committer | Chuck Atkins <chuck.atkins@kitware.com> | 2014-11-03 19:37:12 (GMT) |
commit | 996f822930b02fbf6f7b1bc2fa21ad52b10ebdcd (patch) | |
tree | 51c604821d1594e9b519da860f9a9b86b14ba796 /Utilities/cmliblzma | |
parent | 40bab8d17b18ca5e6864bf282326507c59826021 (diff) | |
download | CMake-996f822930b02fbf6f7b1bc2fa21ad52b10ebdcd.zip CMake-996f822930b02fbf6f7b1bc2fa21ad52b10ebdcd.tar.gz CMake-996f822930b02fbf6f7b1bc2fa21ad52b10ebdcd.tar.bz2 |
liblzma: fix build on platforms with no SIZE_MAX defined.
Some systems don't define a SIZE_MAX (older versions of HP-UX with aCC).
The logic was already in place to account for this condition but
SIZEOF_SIZE_T was not getting cmoputed at configure time to allow it to
function. This computes sizeof(size_t) at configure time to allow the
appropriate logic to work. It also changes SIZEOF_SIZE_T to SIZE_OF_SIZE_T
for consistency.
Diffstat (limited to 'Utilities/cmliblzma')
-rw-r--r-- | Utilities/cmliblzma/CMakeLists.txt | 1 | ||||
-rw-r--r-- | Utilities/cmliblzma/common/sysdefs.h | 4 | ||||
-rw-r--r-- | Utilities/cmliblzma/config.h.in | 4 |
3 files changed, 4 insertions, 5 deletions
diff --git a/Utilities/cmliblzma/CMakeLists.txt b/Utilities/cmliblzma/CMakeLists.txt index c03147f..d991438 100644 --- a/Utilities/cmliblzma/CMakeLists.txt +++ b/Utilities/cmliblzma/CMakeLists.txt @@ -95,6 +95,7 @@ CHECK_TYPE_SIZE("unsigned short" SIZE_OF_UNSIGNED_SHORT) CHECK_TYPE_SIZE("unsigned" SIZE_OF_UNSIGNED) CHECK_TYPE_SIZE("unsigned long" SIZE_OF_UNSIGNED_LONG) CHECK_TYPE_SIZE("unsigned long long" SIZE_OF_UNSIGNED_LONG_LONG) +CHECK_TYPE_SIZE("size_t" SIZE_OF_SIZE_T) CHECK_TYPE_SIZE("__int64" __INT64) CHECK_TYPE_SIZE("unsigned __int64" UNSIGNED___INT64) diff --git a/Utilities/cmliblzma/common/sysdefs.h b/Utilities/cmliblzma/common/sysdefs.h index c84f01c..a6edea8 100644 --- a/Utilities/cmliblzma/common/sysdefs.h +++ b/Utilities/cmliblzma/common/sysdefs.h @@ -124,9 +124,9 @@ // The code currently assumes that size_t is either 32-bit or 64-bit. #ifndef SIZE_MAX -# if SIZEOF_SIZE_T == 4 +# if SIZE_OF_SIZE_T == 4 # define SIZE_MAX UINT32_MAX -# elif SIZEOF_SIZE_T == 8 +# elif SIZE_OF_SIZE_T == 8 # define SIZE_MAX UINT64_MAX # else # error size_t is not 32-bit or 64-bit diff --git a/Utilities/cmliblzma/config.h.in b/Utilities/cmliblzma/config.h.in index b197f27..017c435 100644 --- a/Utilities/cmliblzma/config.h.in +++ b/Utilities/cmliblzma/config.h.in @@ -29,6 +29,7 @@ @SIZE_OF_UNSIGNED_CODE@ @SIZE_OF_UNSIGNED_LONG_CODE@ @SIZE_OF_UNSIGNED_LONG_LONG_CODE@ +@SIZE_OF_SIZE_T_CODE@ /* * If we lack int64_t, define it to the first of __int64, int, long, and long long @@ -277,9 +278,6 @@ typedef uint64_t uintmax_t; /* Define to 1 if the system has the type `_Bool'. */ #cmakedefine HAVE__BOOL 1 -/* The size of `size_t', as computed by sizeof. */ -#cmakedefine SIZEOF_SIZE_T @SIZEOF_SIZE_T@ - /* Define to 1 if the system supports fast unaligned access to 16-bit and 32-bit integers. */ #define TUKLIB_FAST_UNALIGNED_ACCESS 1 |