summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-03 07:22:06 +0000
committerakr <akr@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-03 07:22:06 +0000
commitf8348e1124cd9b268acb758344cc1ffac87590fa (patch)
treef4ff66495cc7d3740e26ae4d7897e0b8feaea860 /configure.in
parent3819f8d15655356ffe06d92490ae3bf4bcedec9d (diff)
* configure.in (erfc): erfc of glibc comes with Debian GNU/Linux Etch
on IA64 is broken. erfc(10000.0) aborts. use missing/erf.c instead. http://sources.redhat.com/ml/libc-hacker/2005-08/msg00008.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17841 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in21
1 files changed, 21 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index 87b0b1a0aa..55976da76d 100644
--- a/configure.in
+++ b/configure.in
@@ -700,6 +700,27 @@ powerpc-darwin*)
;;
esac
AC_FUNC_MEMCMP
+
+# http://sources.redhat.com/ml/libc-hacker/2005-08/msg00008.html
+# Debian GNU/Linux Etch's libc6.1 2.3.6.ds1-13etch5 has this problem.
+# Debian GNU/Linux Lenny's libc6.1 2.7-10 has no problem.
+AC_CACHE_CHECK(for broken erfc of glibc comes with Debian GNU/Linux Etch on IA64, rb_broken_glibc_ia64_erfc,
+ [AC_TRY_RUN([
+#include <math.h>
+int
+main()
+{
+ erfc(10000.0);
+ return 0;
+}
+],
+ rb_broken_glibc_ia64_erfc=no,
+ rb_broken_glibc_ia64_erfc=yes,
+ rb_broken_glibc_ia64_erfc=no)])
+case $rb_broken_glibc_ia64_erfc in
+ yes) ac_cv_func_erf=no;;
+esac
+
AC_REPLACE_FUNCS(dup2 memmove strerror strftime\
strchr strstr crypt flock vsnprintf\
isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt \