summaryrefslogtreecommitdiff
path: root/numpy
diff options
context:
space:
mode:
authorKamil Rytarowski <n54@gmx.com>2016-07-31 18:10:52 +0200
committerKamil Rytarowski <n54@gmx.com>2016-07-31 18:10:52 +0200
commitbcba4410c4b04bbcaad897302eea52fd5cf8479e (patch)
tree9a86c3d3386513994596a5b4cb4c87ec619f29db /numpy
parent9506037beb64217f62a205edf066b4c4ecb1ff0e (diff)
downloadnumpy-bcba4410c4b04bbcaad897302eea52fd5cf8479e.tar.gz
Handle NetBSD specific <sys/endian.h>
Diffstat (limited to 'numpy')
-rw-r--r--numpy/core/include/numpy/_numpyconfig.h.in1
-rw-r--r--numpy/core/include/numpy/npy_endian.h7
-rw-r--r--numpy/core/setup.py4
3 files changed, 11 insertions, 1 deletions
diff --git a/numpy/core/include/numpy/_numpyconfig.h.in b/numpy/core/include/numpy/_numpyconfig.h.in
index 0510ff9b2..63e56d8de 100644
--- a/numpy/core/include/numpy/_numpyconfig.h.in
+++ b/numpy/core/include/numpy/_numpyconfig.h.in
@@ -43,6 +43,7 @@
#define NPY_API_VERSION @NPY_API_VERSION@
@DEFINE_NPY_HAVE_ENDIAN_H@
+@DEFINE_NPY_HAVE_SYS_ENDIAN_H@
/* Ugly, but we can't test this in a proper manner without requiring a C++
* compiler at the configuration stage of numpy ? */
diff --git a/numpy/core/include/numpy/npy_endian.h b/numpy/core/include/numpy/npy_endian.h
index a8ec57245..e34b1d97e 100644
--- a/numpy/core/include/numpy/npy_endian.h
+++ b/numpy/core/include/numpy/npy_endian.h
@@ -6,9 +6,14 @@
* endian.h
*/
-#ifdef NPY_HAVE_ENDIAN_H
+#if defined(NPY_HAVE_ENDIAN_H) || defined(NPY_HAVE_SYS_ENDIAN_H)
/* Use endian.h if available */
+
+ #if defined(NPY_HAVE_ENDIAN_H)
#include <endian.h>
+ #elif defined(NPY_HAVE_SYS_ENDIAN_H)
+ #include <sys/endian.h>
+ #endif
#if defined(BYTE_ORDER) && defined(BIG_ENDIAN) && defined(LITTLE_ENDIAN)
#define NPY_BYTE_ORDER BYTE_ORDER
diff --git a/numpy/core/setup.py b/numpy/core/setup.py
index 32a1a8d60..c6c1f6c03 100644
--- a/numpy/core/setup.py
+++ b/numpy/core/setup.py
@@ -273,6 +273,10 @@ def check_types(config_cmd, ext, build_dir):
if res:
private_defines.append(('HAVE_ENDIAN_H', 1))
public_defines.append(('NPY_HAVE_ENDIAN_H', 1))
+ res = config_cmd.check_header("sys/endian.h")
+ if res:
+ private_defines.append(('HAVE_SYS_ENDIAN_H', 1))
+ public_defines.append(('NPY_HAVE_SYS_ENDIAN_H', 1))
# Check basic types sizes
for type in ('short', 'int', 'long'):