configure.ac: check finite,isinf,isnan as macros first

[ruby-core:91487] [Bug #15595]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67036 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2019-02-08 07:22:55 +00:00
Родитель 4578181509
Коммит 74f94b3e6e
3 изменённых файлов: 18 добавлений и 9 удалений

1
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])

Просмотреть файл

@ -941,9 +941,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
@ -994,9 +991,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
@ -1721,11 +1715,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)
@ -1738,6 +1729,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)],

Просмотреть файл

@ -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
])