linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate a subshell and if test fails...

2005-04-08  Kelley Cook  <kcook@gcc.gnu.org>

	* linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
	a subshell and if test fails, test for same functions with
	leading underscore.
	(GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
	* configure: Regenerate.

From-SVN: r97860
This commit is contained in:
Kelley Cook 2005-04-08 21:29:13 +00:00 committed by R. Kelley Cook
parent d411365616
commit 3df45831d7
3 changed files with 2274 additions and 2327 deletions

View File

@ -1,3 +1,11 @@
2005-04-08 Kelley Cook <kcook@gcc.gnu.org>
* linkage.m4 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Eliminate
a subshell and if test fails, test for same functions with
leading underscore.
(GLIBCXX_CHECK_MATH_SUPPORT): Eliminate seperate checks for _funcs.
* configure: Regenerate.
2005-04-08 Danny Smith <dannysmith@users.sourceforge.net> 2005-04-08 Danny Smith <dannysmith@users.sourceforge.net>
Paolo Carlini <pcarlini@suse.de> Paolo Carlini <pcarlini@suse.de>

4551
libstdc++-v3/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -27,6 +27,7 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_DECL_1], [
AC_MSG_RESULT($glibcxx_cv_func_$1_use) AC_MSG_RESULT($glibcxx_cv_func_$1_use)
]) ])
dnl dnl
dnl Check to see if the (math function) argument passed is dnl Check to see if the (math function) argument passed is
dnl 1) declared when using the c++ compiler dnl 1) declared when using the c++ compiler
@ -59,19 +60,35 @@ dnl of functions at once. It's an all-or-nothing check -- either
dnl HAVE_XYZ is defined for each of the functions, or for none of them. dnl HAVE_XYZ is defined for each of the functions, or for none of them.
dnl Doing it this way saves significant configure time. dnl Doing it this way saves significant configure time.
AC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [ AC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [
define([funclist],patsubst($3,\(\w+\)\(\W*\),\1 ))dnl
AC_MSG_CHECKING([for $1 functions]) AC_MSG_CHECKING([for $1 functions])
AC_CACHE_VAL(glibcxx_cv_func_$2_use, [ AC_CACHE_VAL(glibcxx_cv_func_$2_use, [
AC_LANG_SAVE AC_LANG_SAVE
AC_LANG_CPLUSPLUS AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <math.h>], AC_TRY_COMPILE([#include <math.h>],
[ `for x in $3; do echo "$x (0);"; done` ], patsubst(funclist,[\w+],[\& (0);]),
[glibcxx_cv_func_$2_use=yes], [glibcxx_cv_func_$2_use=yes],
[glibcxx_cv_func_$2_use=no]) [glibcxx_cv_func_$2_use=no])
AC_LANG_RESTORE]) AC_LANG_RESTORE])
AC_MSG_RESULT($glibcxx_cv_func_$2_use) AC_MSG_RESULT($glibcxx_cv_func_$2_use)
if test x$glibcxx_cv_func_$2_use = x"yes"; then if test x$glibcxx_cv_func_$2_use = x"yes"; then
AC_CHECK_FUNCS($3) AC_CHECK_FUNCS(funclist)
else
AC_MSG_CHECKING([for _$1 functions])
AC_CACHE_VAL(glibcxx_cv_func__$2_use, [
AC_LANG_SAVE
AC_LANG_CPLUSPLUS
AC_TRY_COMPILE([#include <math.h>],
patsubst(funclist,[\w+],[_\& (0);]),
[glibcxx_cv_func__$2_use=yes],
[glibcxx_cv_func__$2_use=no])
AC_LANG_RESTORE])
AC_MSG_RESULT($glibcxx_cv_func__$2_use)
if test x$glibcxx_cv_func__$2_use = x"yes"; then
AC_CHECK_FUNCS(patsubst(funclist,[\w+],[_\&]))
fi
fi fi
undefine([funclist])
]) ])
dnl dnl
@ -450,27 +467,6 @@ AC_DEFUN([GLIBCXX_CHECK_MATH_SUPPORT], [
dnl keep this sync'd with the one above. And if you add any new symbol, dnl keep this sync'd with the one above. And if you add any new symbol,
dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h. dnl please add the corresponding block in the @BOTTOM@ section of acconfig.h.
dnl Check to see if certain C math functions exist. dnl Check to see if certain C math functions exist.
dnl Check to see if basic C math functions have float versions.
GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_float trig,
_float_trig,
_acosf _asinf _atanf \
_cosf _sinf _tanf \
_coshf _sinhf _tanhf)
GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_float round,
_float_round,
_ceilf _floorf)
dnl Check to see if basic C math functions have long double versions.
GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double trig,
_long_double_trig,
_acosl _asinl _atanl \
_cosl _sinl _tanl \
_coshl _sinhl _tanhl)
GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(_long double round,
_long_double_round,
_ceill _floorl)
LIBS="$ac_save_LIBS" LIBS="$ac_save_LIBS"
CXXFLAGS="$ac_save_CXXFLAGS" CXXFLAGS="$ac_save_CXXFLAGS"
]) ])