summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ba077a8)
__BYTE_ORDER__ isn't available in older gcc, unfortunately.
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall -Werror subdir-objects foreign])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([-Wall -Werror subdir-objects foreign])
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
LT_INIT
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
LT_INIT
#define inline inline __attribute__((always_inline))
#define noinline __attribute__((noinline))
#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
#if defined(__x86_64__) || defined(__i386__)
# define UNALIGNED_ACCESS_SPEED 3
#endif
#ifndef CPU_IS_BIG_ENDIAN
#endif
#ifndef CPU_IS_BIG_ENDIAN
-# error "missing required definition of CPU_IS_BIG_ENDIAN"
+# error "missing required endianness definition"
#endif
#define CPU_IS_LITTLE_ENDIAN (!CPU_IS_BIG_ENDIAN)
#endif
#define CPU_IS_LITTLE_ENDIAN (!CPU_IS_BIG_ENDIAN)