summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-12 15:03:28 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-07-12 15:03:28 +0000
commit40e3baf292e77d7bfa1a7ffc56ba16bc232b49b0 (patch)
tree5b0de7b984ab9293c7192b5ace4b0cddccd9ca3a /configure.in
parente5a1622cd60233a17cd6334fc52d54590e1f2f54 (diff)
merge revision(s) 17841,17845,17858:
* 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/branches/ruby_1_8_6@18043 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 ee0e81c..c775862 100644
--- a/configure.in
+++ b/configure.in
@@ -530,6 +530,27 @@ esac
AC_FUNC_MEMCMP
AC_FUNC_FSEEKO
AC_CHECK_FUNCS(ftello)
+
+# 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-2.3.6 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 strcasecmp strncasecmp strerror strftime\
strchr strstr strtoul crypt flock vsnprintf\
isnan finite isinf hypot acosh erf)