diff options
Diffstat (limited to 'numpy')
-rw-r--r-- | numpy/core/include/numpy/_numpyconfig.h.in | 1 | ||||
-rw-r--r-- | numpy/core/include/numpy/npy_endian.h | 7 | ||||
-rw-r--r-- | numpy/core/setup.py | 4 |
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'): |