[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/3.5/kdelibs/kjs
From:       Hasso Tepper <hasso () kde ! org>
Date:       2007-04-14 4:06:34
Message-ID: 1176523594.548191.10109.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 653741 by hasso:

Autoconf version of the 653738.
Make isnan() and isinf() detection work for systems where these are macros.
As C99 mandates so, it's about most of systems.


 M  +31 -5     configure.in.in  


--- branches/KDE/3.5/kdelibs/kjs/configure.in.in #653740:653741
@@ -1,19 +1,45 @@
 dnl KDE JavaScript specific configure tests
 
 AC_CHECK_HEADERS(ieeefp.h float.h)
-AC_CHECK_LIB(m, isinf, [
-  AC_DEFINE_UNQUOTED(HAVE_FUNC_ISINF, 1, [Define if you have isinf])
-])
 AC_CHECK_LIB(m, finite, [
   AC_DEFINE_UNQUOTED(HAVE_FUNC_FINITE, 1, [Define if you have finite])
 ])
 AC_CHECK_LIB(m, _finite, [
   AC_DEFINE_UNQUOTED(HAVE_FUNC__FINITE, 1, [Define if you have _finite])
 ])
-AC_CHECK_LIB(m, isnan, [
-  AC_DEFINE_UNQUOTED(HAVE_FUNC_ISNAN, 1, [Define if you have isnan])
+
+dnl The C99 standard says that isinf and isnan are macros, but they might
+dnl be functions on some platforms.
+AC_DEFUN([AC_CHECK_ISNAN],
+[
+    ac_save_libs="$LIBS"
+    LIBS="-lm"
+    AC_MSG_CHECKING([for isnan with <math.h>])
+    AC_TRY_LINK(
+	[#include <math.h>], [float f = 0.0; isnan(f)],
+	[AC_MSG_RESULT(yes)
+	    AC_DEFINE([HAVE_FUNC_ISNAN], [1], [Define if you have isnan])],
+	AC_MSG_RESULT(no)
+    )
+    LIBS="$ac_save_libs"
 ])
+AC_DEFUN([AC_CHECK_ISINF],
+[
+    ac_save_libs="$LIBS"
+    LIBS="-lm"
+    AC_MSG_CHECKING([for isinf with <math.h>])
+    AC_TRY_LINK(
+	[#include <math.h>], [float f = 0.0; isinf(f)],
+	[AC_MSG_RESULT(yes)
+	    AC_DEFINE([HAVE_FUNC_ISINF], [1], [Define if you have isinf])],
+	AC_MSG_RESULT(no)
+    )
+    LIBS="$ac_save_libs"
+])
 
+AC_CHECK_ISNAN
+AC_CHECK_ISINF
+
 AC_DEFUN([AC_CHECK_PCREPOSIX],
 [
   dnl define the configure option that disables pcre
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic