summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWayne Meissner <wmeissner@gmail.com>2012-08-13 20:07:13 +1000
committerWayne Meissner <wmeissner@gmail.com>2012-08-13 20:07:13 +1000
commitb1ee55c88f2da3f1f60f14fca2525fbcfb651ffd (patch)
treed33eb475cf72f0701e22d333254d210bc1203b4a
parentddecc7336756ce4a16a2797d2cd94cb9caf29766 (diff)
downloadffi-b1ee55c88f2da3f1f60f14fca2525fbcfb651ffd.tar.gz
For linux, check for and redefine LITTLE_ENDIAN, BIG_ENDIAN, and BYTE_ORDER if they aren't defined
-rw-r--r--ext/ffi_c/rbffi_endian.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/ext/ffi_c/rbffi_endian.h b/ext/ffi_c/rbffi_endian.h
index c1bc744..c108020 100644
--- a/ext/ffi_c/rbffi_endian.h
+++ b/ext/ffi_c/rbffi_endian.h
@@ -8,7 +8,16 @@
#include <sys/types.h>
#if defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) || defined(__GLIBC__)
-# include <endian.h>
+# include <endian.h>
+# if !defined(LITTLE_ENDIAN) && defined(__LITTLE_ENDIAN)
+# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# endif
+# if !defined(BIG_ENDIAN) && defined(__BIG_ENDIAN)
+# define BIG_ENDIAN __BIG_ENDIAN
+# endif
+# if !defined(BYTE_ORDER) && defined(__BYTE_ORDER)
+# define BYTE_ORDER __BYTE_ORDER
+# endif
#endif
#ifdef __sun