summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Taylor <juliantaylor108@gmail.com>2014-07-15 19:50:03 +0200
committerJulian Taylor <juliantaylor108@gmail.com>2014-07-15 19:50:03 +0200
commita0c3c1d76b35a6d4cc9b32b3db53883d1a2c38ff (patch)
tree59f96bdeb787b1b495c63370bc72b73326709fd0
parent2ec3fc0488a774c0c75178b25b666c184c6afa5b (diff)
parentf8ce5d1b3f323ab2d3568bacf145055a6cfa21ad (diff)
downloadnumpy-a0c3c1d76b35a6d4cc9b32b3db53883d1a2c38ff.tar.gz
Merge pull request #4850 from notsimon/osx_endianness
BLD: fix endianness detection from endian.h with clang on osx 10.9
-rw-r--r--numpy/core/include/numpy/npy_endian.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
index 3ba03d0e3..a8ec57245 100644
--- a/numpy/core/include/numpy/npy_endian.h
+++ b/numpy/core/include/numpy/npy_endian.h
@@ -10,10 +10,22 @@
/* Use endian.h if available */
#include <endian.h>
- #define NPY_BYTE_ORDER __BYTE_ORDER
- #define NPY_LITTLE_ENDIAN __LITTLE_ENDIAN
- #define NPY_BIG_ENDIAN __BIG_ENDIAN
-#else
+ #if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && defined(LITTLE_ENDIAN)
+ #define NPY_BYTE_ORDER BYTE_ORDER
+ #define NPY_LITTLE_ENDIAN LITTLE_ENDIAN
+ #define NPY_BIG_ENDIAN BIG_ENDIAN
+ #elif defined(_BYTE_ORDER) && defined(_BIG_ENDIAN) && defined(_LITTLE_ENDIAN)
+ #define NPY_BYTE_ORDER _BYTE_ORDER
+ #define NPY_LITTLE_ENDIAN _LITTLE_ENDIAN
+ #define NPY_BIG_ENDIAN _BIG_ENDIAN
+ #elif defined(__BYTE_ORDER) && defined(__BIG_ENDIAN) && defined(__LITTLE_ENDIAN)
+ #define NPY_BYTE_ORDER __BYTE_ORDER
+ #define NPY_LITTLE_ENDIAN __LITTLE_ENDIAN
+ #define NPY_BIG_ENDIAN __BIG_ENDIAN
+ #endif
+#endif
+
+#ifndef NPY_BYTE_ORDER
/* Set endianness info using target CPU */
#include "npy_cpu.h"