| From bd71b698bf733e6e93282cd2b1b93f51e1a33c7c Mon Sep 17 00:00:00 2001 |
| From: nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> |
| Date: Fri, 8 Feb 2019 07:22:55 +0000 |
| Subject: [PATCH 3/3] configure.ac: check finite,isinf,isnan as macros first |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| [ruby-core:91487] [Bug #15595] |
| |
| git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
| |
| --- |
| Upstream-Status: Backport [https://github.com/ruby/ruby/commit/74f94b3e6ebf15b76f3b357e754095412b006e94] |
| Signed-off-by: André Draszik <andre.draszik@jci.com> |
| --- |
| aclocal.m4 | 1 + |
| configure.ac | 13 ++++--------- |
| tool/m4/ruby_replace_funcs.m4 | 13 +++++++++++++ |
| 3 files changed, 18 insertions(+), 9 deletions(-) |
| create mode 100644 tool/m4/ruby_replace_funcs.m4 |
| |
| diff --git a/aclocal.m4 b/aclocal.m4 |
| index b0fe3eb959..ed7d14ef63 100644 |
| --- a/aclocal.m4 |
| +++ b/aclocal.m4 |
| @@ -35,6 +35,7 @@ m4_include([tool/m4/ruby_func_attribute.m4]) |
| m4_include([tool/m4/ruby_mingw32.m4]) |
| m4_include([tool/m4/ruby_prepend_option.m4]) |
| m4_include([tool/m4/ruby_prog_gnu_ld.m4]) |
| +m4_include([tool/m4/ruby_replace_funcs.m4]) |
| m4_include([tool/m4/ruby_replace_type.m4]) |
| m4_include([tool/m4/ruby_rm_recursive.m4]) |
| m4_include([tool/m4/ruby_setjmp_type.m4]) |
| diff --git a/configure.ac b/configure.ac |
| index 2c4d2888d2..2691da6a3c 100644 |
| --- a/configure.ac |
| +++ b/configure.ac |
| @@ -946,9 +946,6 @@ main() |
| ac_cv_func_fsync=yes |
| ac_cv_func_seekdir=yes |
| ac_cv_func_telldir=yes |
| - ac_cv_func_isinf=yes |
| - ac_cv_func_isnan=yes |
| - ac_cv_func_finite=yes |
| ac_cv_func_lchown=yes |
| ac_cv_func_link=yes |
| ac_cv_func_readlink=yes |
| @@ -999,9 +996,6 @@ main() |
| [netbsd*], [ LIBS="-lm $LIBS" |
| ], |
| [dragonfly*], [ LIBS="-lm $LIBS" |
| - # isinf() and isnan() are macros on DragonFly. |
| - ac_cv_func_isinf=yes |
| - ac_cv_func_isnan=yes |
| ], |
| [aix*],[ LIBS="-lm $LIBS" |
| ac_cv_func_round=no |
| @@ -1724,11 +1718,8 @@ AC_REPLACE_FUNCS(dup2) |
| AC_REPLACE_FUNCS(erf) |
| AC_REPLACE_FUNCS(explicit_bzero) |
| AC_REPLACE_FUNCS(ffs) |
| -AC_REPLACE_FUNCS(finite) |
| AC_REPLACE_FUNCS(flock) |
| AC_REPLACE_FUNCS(hypot) |
| -AC_REPLACE_FUNCS(isinf) |
| -AC_REPLACE_FUNCS(isnan) |
| AC_REPLACE_FUNCS(lgamma_r) |
| AC_REPLACE_FUNCS(memmove) |
| AC_REPLACE_FUNCS(nan) |
| @@ -1741,6 +1732,10 @@ AC_REPLACE_FUNCS(strlcpy) |
| AC_REPLACE_FUNCS(strstr) |
| AC_REPLACE_FUNCS(tgamma) |
| |
| +RUBY_REPLACE_FUNC([finite], [@%:@include <math.h>]) |
| +RUBY_REPLACE_FUNC([isinf], [@%:@include <math.h>]) |
| +RUBY_REPLACE_FUNC([isnan], [@%:@include <math.h>]) |
| + |
| # for missing/setproctitle.c |
| AS_CASE(["$target_os"], |
| [aix* | k*bsd*-gnu | kopensolaris*-gnu | linux* | darwin*], [AC_DEFINE(SPT_TYPE,SPT_REUSEARGV)], |
| diff --git a/tool/m4/ruby_replace_funcs.m4 b/tool/m4/ruby_replace_funcs.m4 |
| new file mode 100644 |
| index 0000000000..d0612e29a0 |
| --- /dev/null |
| +++ b/tool/m4/ruby_replace_funcs.m4 |
| @@ -0,0 +1,13 @@ |
| +# -*- Autoconf -*- |
| +dnl RUBY_REPLACE_FUNC [func] [included] |
| +AC_DEFUN([RUBY_REPLACE_FUNC], [dnl |
| + AC_CHECK_DECL([$1],dnl |
| + [AC_DEFINE(AS_TR_CPP(HAVE_[$1]))],dnl |
| + [AC_REPLACE_FUNCS($1)],dnl |
| + [$2])dnl |
| +]) |
| + |
| +dnl RUBY_REPLACE_FUNCS [funcs] [included] |
| +AC_DEFUN([RUBY_REPLACE_FUNCS] [dnl |
| + m4_map_args_w([$1], [RUBY_REPLACE_FUNC(], [), [$2]])dnl |
| +]) |
| -- |
| 2.23.0.rc1 |
| |