1
0
mirror of https://github.com/Kitware/CMake.git synced 2025-10-21 23:00:50 +08:00

librhash: Port to KWIML for ABI and integer type information

This commit is contained in:
Brad King
2016-11-03 14:04:59 -04:00
parent 465a85fb46
commit d0ff3e701c
2 changed files with 28 additions and 40 deletions

View File

@@ -4,10 +4,6 @@
#include "ustd.h" #include "ustd.h"
#include <stdlib.h> #include <stdlib.h>
#ifdef __GLIBC__
# include <endian.h>
#endif
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
#endif #endif
@@ -32,22 +28,12 @@ extern "C" {
/* detect CPU endianness */ /* detect CPU endianness */
#if (defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && \ #include <cm_kwiml.h>
__BYTE_ORDER == __LITTLE_ENDIAN) || \ #if KWIML_ABI_ENDIAN_ID == KWIML_ABI_ENDIAN_ID_LITTLE
defined(CPU_IA32) || defined(CPU_X64) || \
defined(__ia64) || defined(__ia64__) || defined(__alpha__) || defined(_M_ALPHA) || \
defined(vax) || defined(MIPSEL) || defined(_ARM_) || defined(__arm__)
# define CPU_LITTLE_ENDIAN # define CPU_LITTLE_ENDIAN
# define IS_BIG_ENDIAN 0 # define IS_BIG_ENDIAN 0
# define IS_LITTLE_ENDIAN 1 # define IS_LITTLE_ENDIAN 1
#elif (defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && \ #elif KWIML_ABI_ENDIAN_ID == KWIML_ABI_ENDIAN_ID_BIG
__BYTE_ORDER == __BIG_ENDIAN) || \
defined(__sparc) || defined(__sparc__) || defined(sparc) || \
defined(_ARCH_PPC) || defined(_ARCH_PPC64) || defined(_POWER) || \
defined(__POWERPC__) || defined(POWERPC) || defined(__powerpc) || \
defined(__powerpc__) || defined(__powerpc64__) || defined(__ppc__) || \
defined(__hpux) || defined(_MIPSEB) || defined(mc68000) || \
defined(__s390__) || defined(__s390x__) || defined(sel)
# define CPU_BIG_ENDIAN # define CPU_BIG_ENDIAN
# define IS_BIG_ENDIAN 1 # define IS_BIG_ENDIAN 1
# define IS_LITTLE_ENDIAN 0 # define IS_LITTLE_ENDIAN 0

View File

@@ -9,29 +9,31 @@
# pragma warning(push,1) # pragma warning(push,1)
#endif #endif
#if _MSC_VER >= 1300 #include <cm_kwiml.h>
# define int64_t __int64 #ifndef KWIML_INT_HAVE_INT64_T
# define int32_t __int32 # define int64_t KWIML_INT_int64_t
# define int16_t __int16 #endif
# define int8_t __int8 #ifndef KWIML_INT_HAVE_INT32_T
# define uint64_t unsigned __int64 # define int32_t KWIML_INT_int32_t
# define uint32_t unsigned __int32 #endif
# define uint16_t unsigned __int16 #ifndef KWIML_INT_HAVE_INT16_T
# define uint8_t unsigned __int8 # define int16_t KWIML_INT_int16_t
#endif
/* disable warnings: The POSIX name for this item is deprecated. Use the ISO C++ conformant name. */ #ifndef KWIML_INT_HAVE_INT8_T
#pragma warning(disable : 4996) # define int8_t KWIML_INT_int8_t
#endif
#else /* _MSC_VER >= 1300 */ #ifndef KWIML_INT_HAVE_UINT64_T
# define uint64_t KWIML_INT_uint64_t
# include <stdint.h> #endif
# include <unistd.h> #ifndef KWIML_INT_HAVE_UINT32_T
# define uint32_t KWIML_INT_uint32_t
#endif /* _MSC_VER >= 1300 */ #endif
#ifndef KWIML_INT_HAVE_UINT16_T
#if _MSC_VER <= 1300 # define uint16_t KWIML_INT_uint16_t
# include <stdlib.h> /* size_t for vc6.0 */ #endif
#endif /* _MSC_VER <= 1300 */ #ifndef KWIML_INT_HAVE_UINT8_T
# define uint8_t KWIML_INT_uint8_t
#endif
#endif /* LIBRHASH_USTD_H */ #endif /* LIBRHASH_USTD_H */