X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=include%2Fwimlib%2Fcompiler-gcc.h;h=cb42c894800e668bf24c4098fa567a97f4e84121;hb=c3648a1bf94a11ee6eff22cb728f0efe3f4500e9;hp=46983308ec8f6b2e1bae224d2b971e4bccdd361b;hpb=855b49ef85d274588a2848d9c69974f9b88d343a;p=wimlib diff --git a/include/wimlib/compiler-gcc.h b/include/wimlib/compiler-gcc.h index 46983308..cb42c894 100644 --- a/include/wimlib/compiler-gcc.h +++ b/include/wimlib/compiler-gcc.h @@ -27,7 +27,17 @@ #define inline inline __attribute__((always_inline)) #define noinline __attribute__((noinline)) -#define CPU_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +/* Newer gcc supports __BYTE_ORDER__. Older gcc doesn't. */ +#ifdef __BYTE_ORDER__ +# define CPU_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +#elif defined(HAVE_CONFIG_H) +# include "config.h" +# ifdef WORDS_BIGENDIAN +# define CPU_IS_BIG_ENDIAN 1 +# else +# define CPU_IS_BIG_ENDIAN 0 +# endif +#endif #if defined(__x86_64__) || defined(__i386__) # define UNALIGNED_ACCESS_SPEED 3