--- a/include/platform.h +++ b/include/platform.h @@ -154,14 +154,14 @@ # include # define __BIG_ENDIAN__ (BYTE_ORDER == BIG_ENDIAN) # define __BYTE_ORDER BYTE_ORDER -#elif defined __FreeBSD__ +#elif defined(__FreeBSD__) || defined(__OpenBSD__) || defined (__NetBSD__) || defined(__APPLE__) # include /* rlimit */ # include # define bswap_64 __bswap64 # define bswap_32 __bswap32 # define bswap_16 __bswap16 # define __BIG_ENDIAN__ (_BYTE_ORDER == _BIG_ENDIAN) -#elif !defined __APPLE__ +#else # include # include #endif @@ -172,9 +172,15 @@ #elif defined(__BYTE_ORDER) && __BYTE_ORDER == __BIG_ENDIAN # define BB_BIG_ENDIAN 1 # define BB_LITTLE_ENDIAN 0 +#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _BIG_ENDIAN +# define BB_BIG_ENDIAN 1 +# define BB_LITTLE_ENDIAN 0 #elif (defined(__BYTE_ORDER) && __BYTE_ORDER == __LITTLE_ENDIAN) || defined(__386__) # define BB_BIG_ENDIAN 0 # define BB_LITTLE_ENDIAN 1 +#elif defined(_BYTE_ORDER) && _BYTE_ORDER == _LITTLE_ENDIAN +# define BB_BIG_ENDIAN 0 +# define BB_LITTLE_ENDIAN 1 #else # error "Can't determine endianness" #endif