From be2f791b2d27fcf38129e0b6f4e053451c6762b8 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 11 Nov 2009 09:19:27 -0500 Subject: [PATCH] Configure intptr_t and uintptr_t defaults We define these to 32- or 64-bit signed and unsigned integer types depending on the pointer size of the target platform. SVN-Revision: 1634 --- CMakeLists.txt | 18 ++++++++++++++++++ build/cmake/config.h.in | 6 ++++-- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5fdfd0985..dbd847c12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -574,6 +574,24 @@ IF(NOT HAVE_UINTMAX_T) SET(uintmax_t "uint64_t") ENDIF(NOT HAVE_UINTMAX_T) # +CHECK_TYPE_SIZE(intptr_t INTPTR_T) +IF(NOT HAVE_INTPTR_T) + IF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(intptr_t "int64_t") + ELSE() + SET(intptr_t "int32_t") + ENDIF() +ENDIF(NOT HAVE_INTPTR_T) +# +CHECK_TYPE_SIZE(uintptr_t UINTPTR_T) +IF(NOT HAVE_UINTPTR_T) + IF("${CMAKE_SIZEOF_VOID_P}" EQUAL 8) + SET(uintptr_t "uint64_t") + ELSE() + SET(uintptr_t "uint32_t") + ENDIF() +ENDIF(NOT HAVE_UINTPTR_T) +# CHECK_TYPE_SIZE(wchar_t SIZEOF_WCHAR_T) IF(HAVE_SIZEOF_WCHAR_T) SET(HAVE_WCHAR_T 1) diff --git a/build/cmake/config.h.in b/build/cmake/config.h.in index e95c83d10..1c1815593 100644 --- a/build/cmake/config.h.in +++ b/build/cmake/config.h.in @@ -701,6 +701,8 @@ do not define. */ #cmakedefine uintmax_t ${uintmax_t} -/* Define to `unsigned int' if does not define. */ -#cmakedefine uintptr_t ${uintptr_t } +/* Define to `int' if does not define. */ +#cmakedefine intptr_t ${intptr_t} +/* Define to `unsigned int' if does not define. */ +#cmakedefine uintptr_t ${uintptr_t} -- 2.47.3