Branch :
- clang defines unix, __unix and __unix__, base gcc only defines __unix__ - stop assuming that non-x86 archs are all little-endian Index: willuslib/willus.h --- willuslib/willus.h.orig +++ willuslib/willus.h @@ -113,7 +113,7 @@ typedef double real; #define MINGW #endif -#if (!defined(UNIX) && (defined(DJEMX) || defined(MINGW) || defined(CYGWIN32) || defined(unix) || defined(__unix) || defined(__MACH__))) +#if (!defined(UNIX) && (defined(DJEMX) || defined(MINGW) || defined(CYGWIN32) || defined(unix) || defined(__unix) || defined(__unix__) || defined(__MACH__))) #define UNIX #endif @@ -166,7 +166,8 @@ typedef double real; #define WILLUS_X86 #endif -#if (!defined(WILLUS_BIGENDIAN) && !defined(WILLUS_X86)) +#include <endian.h> +#if (!defined(WILLUS_BIGENDIAN) && BYTE_ORDER == BIG_ENDIAN) #define WILLUS_BIGENDIAN #endif