# include <byteswap.h>
# include <endian.h>
#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