diff --git a/ChangeLog b/ChangeLog index be3548be62..ad98f653d3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Apr 14 18:23:00 2010 Kenta Murata + + * configure.in (signbit): signbit is a macro in C99. + Wed Apr 14 17:56:06 2010 Nobuyoshi Nakada * io.c (io_shift_cbuf): should terminate. diff --git a/configure.in b/configure.in index fe7f8d2d32..e9116497c4 100644 --- a/configure.in +++ b/configure.in @@ -1116,8 +1116,19 @@ AS_CASE([$rb_cv_broken_glibc_ia64_erfc],[yes],[ac_cv_func_erf=no]) AC_REPLACE_FUNCS(dup2 memmove strerror\ strchr strstr crypt flock\ - isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt signbit \ + isnan finite isinf hypot acosh erf tgamma lgamma_r cbrt \ strlcpy strlcat) +AC_CACHE_CHECK(for signbit, rb_cv_have_signbit, + [AC_TRY_COMPILE([ +#include +], [int v = signbit(-0.0);], + rb_cv_have_signbit=yes, + rb_cv_have_signbit=no)]) +if test "$rb_cv_have_signbit" = yes; then + AC_DEFINE(HAVE_SIGNBIT) +else + AC_LIBOBJ([signbit]) +fi AC_CHECK_FUNCS(fmod killpg wait4 waitpid fork spawnv syscall chroot getcwd eaccess\ truncate ftruncate chsize times utimes utimensat fcntl lockf lstat\ link symlink readlink readdir_r fsync fdatasync\