Mercurial > vim
changeset 8342:446558924b66 v7.4.1463
commit https://github.com/vim/vim/commit/a6b8976bb724f8c85dd5699d115d795f7b730298
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Feb 29 21:38:26 2016 +0100
patch 7.4.1463
Problem: Configure doesn't find isinf() and isnan() on some systems.
Solution: Use a configure check that includes math.h.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 29 Feb 2016 21:45:04 +0100 |
parents | d35b34a225e0 |
children | 78e751a59cc8 |
files | src/auto/configure src/configure.in src/version.c |
diffstat | 3 files changed, 95 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/auto/configure +++ b/src/auto/configure @@ -11858,7 +11858,7 @@ for ac_func in bcmp fchdir fchown fsync setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ sigvec strcasecmp strerror strftime stricmp strncasecmp \ strnicmp strpbrk strtol tgetent towlower towupper iswupper \ - usleep utime utimes isnan isinf + usleep utime utimes do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" @@ -12386,6 +12386,70 @@ fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isinf()" >&5 +$as_echo_n "checking for isinf()... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef HAVE_MATH_H +# include <math.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#endif + +int +main () +{ +int r = isinf(1.11); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; $as_echo "#define HAVE_ISINF 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for isnan()" >&5 +$as_echo_n "checking for isnan()... " >&6; } +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#ifdef HAVE_MATH_H +# include <math.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#endif + +int +main () +{ +int r = isnan(1.11); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; }; $as_echo "#define HAVE_ISNAN 1" >>confdefs.h + +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + { $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-acl argument" >&5 $as_echo_n "checking --disable-acl argument... " >&6; } # Check whether --enable-acl was given.
--- a/src/configure.in +++ b/src/configure.in @@ -3565,7 +3565,7 @@ AC_CHECK_FUNCS(bcmp fchdir fchown fsync setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \ sigvec strcasecmp strerror strftime stricmp strncasecmp \ strnicmp strpbrk strtol tgetent towlower towupper iswupper \ - usleep utime utimes isnan isinf) + usleep utime utimes) AC_FUNC_FSEEKO dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when @@ -3668,6 +3668,33 @@ AC_TRY_LINK([ AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FLOAT_FUNCS), AC_MSG_RESULT(no)) +dnl isinf() and isnan() need to include header files and may need -lm. +AC_MSG_CHECKING([for isinf()]) +AC_TRY_LINK([ +#ifdef HAVE_MATH_H +# include <math.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#endif +], [int r = isinf(1.11); ], + AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ISINF), + AC_MSG_RESULT(no)) + +AC_MSG_CHECKING([for isnan()]) +AC_TRY_LINK([ +#ifdef HAVE_MATH_H +# include <math.h> +#endif +#if STDC_HEADERS +# include <stdlib.h> +# include <stddef.h> +#endif +], [int r = isnan(1.11); ], + AC_MSG_RESULT(yes); AC_DEFINE(HAVE_ISNAN), + AC_MSG_RESULT(no)) + dnl Link with -lposix1e for ACL stuff; if not found, try -lacl for SGI dnl when -lacl works, also try to use -lattr (required for Debian). dnl On Solaris, use the acl_get/set functions in libsec, if present.