Browse Source

gsl: fix build on !i386 uClibc

uClibc pretends to implement <fenv.h> as it installs the header, but
in practice, it only implements the functions for i386. This makes gsl
unhappy as it detects fenv.h, but then cannot use the fenv functions.

Fixes:

  http://autobuild.buildroot.org/results/732cc07faeca2a9098dc5106e8f654eb1323451a/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Thomas Petazzoni 11 years ago
parent
commit
7603f9d38a
1 changed files with 13 additions and 0 deletions
  1. 13 0
      package/gsl/gsl.mk

+ 13 - 0
package/gsl/gsl.mk

@@ -10,4 +10,17 @@ GSL_INSTALL_STAGING = YES
 GSL_LICENSE = GPLv3
 GSL_LICENSE_FILES = COPYING
 
+# uClibc pretends to have fenv support as it installs <fenv.h>, but in
+# practice, it only implements it for i386. Problem reported upstream
+# at: http://lists.busybox.net/pipermail/uclibc/2012-October/047067.html.
+# So we tell gsl that fenv related functions are not available in this
+# case.
+ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_EXTERNAL_UCLIBC)$(BR2_TOOLCHAIN_CTNG_uClibc),y)
+ifneq ($(BR2_i386),y)
+GSL_CONF_ENV = \
+       ac_cv_have_decl_feenableexcept=no \
+       ac_cv_have_decl_fesettrapenable=no
+endif
+endif
+
 $(eval $(autotools-package))