1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
Don't use <fenv.h> on uClibc
The python-numpy code already has provisions to not use <fenv.h> when
not available. However, it uses __GLIBC__ to know whether fenv.h is
available or not, but uClibc defines __GLIBC__, so python-numpy thinks
fenv.h is available.
This patch fixes that by changing all defined(__GLIBC__) occurences by
(defined(__GLIBC__) && !defined(__UCLIBC__)).
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Index: b/numpy/core/include/numpy/ufuncobject.h
===================================================================
--- a/numpy/core/include/numpy/ufuncobject.h
+++ b/numpy/core/include/numpy/ufuncobject.h
@@ -413,11 +413,11 @@
(void) fpsetsticky(0); \
}
-#elif defined(__GLIBC__) || defined(__APPLE__) || \
+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
defined(__CYGWIN__) || defined(__MINGW32__) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
-#if defined(__GLIBC__) || defined(__APPLE__) || \
+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
defined(__MINGW32__) || defined(__FreeBSD__)
#include <fenv.h>
#elif defined(__CYGWIN__)
Index: b/numpy/core/src/npymath/ieee754.c.src
===================================================================
--- a/numpy/core/src/npymath/ieee754.c.src
+++ b/numpy/core/src/npymath/ieee754.c.src
@@ -586,11 +586,11 @@
}
-#elif defined(__GLIBC__) || defined(__APPLE__) || \
+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
defined(__CYGWIN__) || defined(__MINGW32__) || \
(defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
-# if defined(__GLIBC__) || defined(__APPLE__) || \
+# if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || \
defined(__MINGW32__) || defined(__FreeBSD__)
# include <fenv.h>
# elif defined(__CYGWIN__)
Index: b/numpy/numarray/_capi.c
===================================================================
--- a/numpy/numarray/_capi.c
+++ b/numpy/numarray/_capi.c
@@ -10,7 +10,7 @@
#include <sys/param.h>
#endif
-#if defined(__GLIBC__) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
#include <fenv.h>
#elif defined(__CYGWIN__)
#include "numpy/fenv/fenv.h"
@@ -258,7 +258,7 @@
}
/* Likewise for Integer overflows */
-#if defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
+#if (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
static int int_overflow_error(Float64 value) { /* For x86_64 */
feraiseexcept(FE_OVERFLOW);
return (int) value;
@@ -3007,7 +3007,7 @@
return retstatus;
}
-#elif defined(__GLIBC__) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
+#elif (defined(__GLIBC__) && !defined(__UCLIBC__)) || defined(__APPLE__) || defined(__CYGWIN__) || defined(__MINGW32__) || (defined(__FreeBSD__) && (__FreeBSD_version >= 502114))
static int
NA_checkFPErrors(void)
|