Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: isinf()/isnan() configure tests



The new tests for isinf/isnan using AC_CHECK_FUNCS are not sufficient as
they can be defined as macros.

Oliver

diff --git a/configure.ac b/configure.ac
index 5e13c0f11..5513e25f1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1278,7 +1278,6 @@ AC_CHECK_FUNCS(strftime strptime mktime timelocal \
 	       erand48 open_memstream \
 	       posix_openpt \
 	       wctomb iconv \
-	       isinf isnan \
 	       grantpt unlockpt ptsname \
 	       htons ntohs \
 	       regcomp regexec regerror regfree \
@@ -1291,6 +1290,27 @@ AC_CHECK_FUNCS(strftime strptime mktime timelocal \
 	       setutxent getutxent endutxent getutent)
 AC_FUNC_STRCOLL
 
+# isinf() and isnan() can exist as either functions or macros.
+AH_TEMPLATE([HAVE_ISINF],
+  [Define to 1 if you have the `isinf' macro or function.])
+AC_MSG_CHECKING([for isinf])
+AC_LINK_IFELSE([AC_LANG_SOURCE(
+[[#include <math.h>
+int main () { return (isinf(1.0) != 0); }]])],
+  [AC_MSG_RESULT([yes])
+   AC_DEFINE([HAVE_ISINF])],
+  [AC_MSG_RESULT([no])])
+
+AH_TEMPLATE([HAVE_ISNAN],
+  [Define to 1 if you have the `isnan' macro or function.])
+AC_MSG_CHECKING([for isnan])
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
+#include <math.h>
+int main () { return (isnan(1.0) != 0); }]])],
+  [AC_MSG_RESULT([yes])
+   AC_DEFINE([HAVE_ISNAN])],
+  [AC_MSG_RESULT([no])])
+
 AH_TEMPLATE([REALPATH_ACCEPTS_NULL],
 [Define if realpath() accepts NULL as its second argument.])
 AC_CACHE_CHECK([if realpath accepts NULL],



Messages sorted by: Reverse Date, Date, Thread, Author