From bd73598e02a1402a582c73e04fa6d515d6b56ae1 Mon Sep 17 00:00:00 2001 From: Chow Loong Jin Date: Sat, 29 Mar 2014 03:02:00 +0800 Subject: Fix endian detection in configure.ac On debian-mips, neither __LITTLE_ENDIAN__ nor __BIG_ENDIAN__ are defined anywhere, so PLIST_BYTE_ORDER defaults to PLIST_LITTLE_ENDIAN when it should really be PLIST_BIG_ENDIAN on this architecture. This fixes issue #13. --- configure.ac | 13 +++---------- src/common.h | 4 ++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 8fd466c..e0d1705 100644 --- a/configure.ac +++ b/configure.ac @@ -49,16 +49,9 @@ AC_TYPE_UINT8_T AC_CHECK_FUNCS([asprintf strcasecmp strdup strerror strndup stpcpy vasprintf]) AC_CHECK_HEADER(endian.h, [ac_cv_have_endian_h="yes"], [ac_cv_have_endian_h="no"]) -if test "x$ac_cv_have_endian_h" = "xno"; then - AC_DEFINE(__LITTLE_ENDIAN,1234,[little endian]) - AC_DEFINE(__BIG_ENDIAN,4321,[big endian]) - AC_C_BIGENDIAN([ac_cv_c_bigendian="yes"], [ac_cv_c_bigendian="no"], [], []) - if test "x$ac_cv_c_bigendian" = "xyes"; then - AC_DEFINE(__BYTE_ORDER,4321,[big endian byte order]) - else - AC_DEFINE(__BYTE_ORDER,1234,[little endian byte order]) - fi -fi +AC_C_BIGENDIAN([AC_DEFINE([__BIG_ENDIAN__], [1], [big endian])], + [AC_DEFINE([__LITTLE_ENDIAN__], [1], [little endian])]) + # Check for operating system AC_MSG_CHECKING([whether to enable WIN32 build settings]) diff --git a/src/common.h b/src/common.h index beb4a2b..c71ef4a 100644 --- a/src/common.h +++ b/src/common.h @@ -1,6 +1,10 @@ #ifndef COMMON_H #define COMMON_H +#ifdef HAVE_CONFIG_H +#include +#endif + #define PLIST_LITTLE_ENDIAN 0 #define PLIST_BIG_ENDIAN 1 -- cgit v1.1-32-gdbae