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)
