now use unsigned __int64 for time type when on MSVC, that is supported
down to at least MSVC6 (thanks Sisyphus!) Also, type present checks are not done if stdint or inttypes headers are found, no need for them then. git-svn-id: https://svn.code.sf.net/p/freeglut/code/trunk@1116 7f0cb862-5218-0410-a997-914c9d46530a
This commit is contained in:
parent
83672b987c
commit
fe9b63c890
@ -178,7 +178,16 @@ ENDIF()
|
||||
# decide on suitable type for internal time keeping, 64-bit if possible
|
||||
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H)
|
||||
CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H)
|
||||
CHECK_TYPE_SIZE("unsigned long long" ULONG_LONG BUILTIN_TYPES_ONLY)
|
||||
IF (NOT (HAVE_STDINT_H OR HAVE_INTTYPES_H))
|
||||
IF (MSVC)
|
||||
# Some old Microsoft VC don't support unsigned long long, but all we
|
||||
# care about support unsigned __int64, so test for presence of that
|
||||
# type
|
||||
CHECK_TYPE_SIZE("unsigned __int64" U__INT64 BUILTIN_TYPES_ONLY)
|
||||
ELSEIF()
|
||||
CHECK_TYPE_SIZE("unsigned long long" ULONG_LONG BUILTIN_TYPES_ONLY)
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
|
||||
# The generated config.h is placed in the project's build directory, just to
|
||||
|
@ -16,3 +16,4 @@
|
||||
#cmakedefine HAVE_STDINT_H
|
||||
#cmakedefine HAVE_INTTYPES_H
|
||||
#cmakedefine HAVE_ULONG_LONG
|
||||
#cmakedefine HAVE_U__INT64
|
||||
|
@ -163,6 +163,8 @@
|
||||
#elif defined(HAVE_INTTYPES_H)
|
||||
# include <inttypes.h>
|
||||
typedef uint64_t fg_time_t;
|
||||
#elif defined(HAVE_U__INT64)
|
||||
typedef unsigned __int64 fg_time_t;
|
||||
#elif defined(HAVE_ULONG_LONG)
|
||||
typedef unsigned long long fg_time_t;
|
||||
#else
|
||||
|
Reference in New Issue
Block a user