diff options
author | Chow Loong Jin | 2014-03-29 03:02:00 +0800 |
---|---|---|
committer | Nikias Bassen | 2014-03-29 16:08:47 +0100 |
commit | bd73598e02a1402a582c73e04fa6d515d6b56ae1 (patch) | |
tree | 94bf0fb5ce98902aef4efc24f1bb093c33b49c8c | |
parent | c44a2566aec583eed33af9b1a3b15a0c564725e4 (diff) | |
download | libplist-bd73598e02a1402a582c73e04fa6d515d6b56ae1.tar.gz libplist-bd73598e02a1402a582c73e04fa6d515d6b56ae1.tar.bz2 |
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.
-rw-r--r-- | configure.ac | 13 | ||||
-rw-r--r-- | 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 <config.h> +#endif + #define PLIST_LITTLE_ENDIAN 0 #define PLIST_BIG_ENDIAN 1 |