1*10d565efSmrgdnl 2*10d565efSmrgdnl This file contains macros for testing linkage. 3*10d565efSmrgdnl 4*10d565efSmrg 5*10d565efSmrgdnl 6*10d565efSmrgdnl Check to see if the (math function) argument passed is 7*10d565efSmrgdnl declared when using the c++ compiler 8*10d565efSmrgdnl ASSUMES argument is a math function with ONE parameter 9*10d565efSmrgdnl 10*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_1 11*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_1], [ 12*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 13*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 14*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 15*10d565efSmrg AC_LANG_SAVE 16*10d565efSmrg AC_LANG_CPLUSPLUS 17*10d565efSmrg AC_TRY_COMPILE([#include <math.h> 18*10d565efSmrg #ifdef HAVE_IEEEFP_H 19*10d565efSmrg #include <ieeefp.h> 20*10d565efSmrg #endif 21*10d565efSmrg ], 22*10d565efSmrg [ $1(0);], 23*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 24*10d565efSmrg AC_LANG_RESTORE 25*10d565efSmrg ]) 26*10d565efSmrg fi 27*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 28*10d565efSmrg]) 29*10d565efSmrg 30*10d565efSmrg 31*10d565efSmrgdnl 32*10d565efSmrgdnl Define autoheader template for using the underscore functions 33*10d565efSmrgdnl For each parameter, create a macro where if func doesn't exist, 34*10d565efSmrgdnl but _func does, then it will "#define func _func". 35*10d565efSmrgdnl 36*10d565efSmrgdnl GLIBCXX_MAYBE_UNDERSCORED_FUNCS 37*10d565efSmrgAC_DEFUN([GLIBCXX_MAYBE_UNDERSCORED_FUNCS], 38*10d565efSmrg[AC_FOREACH([glibcxx_ufunc], [$1], 39*10d565efSmrg [AH_VERBATIM(_[]glibcxx_ufunc, 40*10d565efSmrg[#if defined (]AS_TR_CPP(HAVE__[]glibcxx_ufunc)[) && ! defined (]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[) 41*10d565efSmrg# define ]AS_TR_CPP(HAVE_[]glibcxx_ufunc)[ 1 42*10d565efSmrg# define ]glibcxx_ufunc[ _]glibcxx_ufunc[ 43*10d565efSmrg#endif])]) 44*10d565efSmrg]) 45*10d565efSmrg 46*10d565efSmrg 47*10d565efSmrgdnl 48*10d565efSmrgdnl Check to see if the (math function) argument passed is 49*10d565efSmrgdnl 1) declared when using the c++ compiler 50*10d565efSmrgdnl 2) has "C" linkage 51*10d565efSmrgdnl 3) if not, see if 1) and 2) for argument prepended with '_' 52*10d565efSmrgdnl 53*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links 54*10d565efSmrgdnl 55*10d565efSmrgdnl argument 1 is name of function to check 56*10d565efSmrgdnl 57*10d565efSmrgdnl ASSUMES argument is a math function with ONE parameter 58*10d565efSmrgdnl 59*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1 60*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1], [ 61*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_1($1) 62*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 63*10d565efSmrg AC_CHECK_FUNCS($1) 64*10d565efSmrg else 65*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_1(_$1) 66*10d565efSmrg if test x$glibcxx_cv_func__$1_use = x"yes"; then 67*10d565efSmrg AC_CHECK_FUNCS(_$1) 68*10d565efSmrg fi 69*10d565efSmrg fi 70*10d565efSmrg GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1) 71*10d565efSmrg]) 72*10d565efSmrg 73*10d565efSmrg 74*10d565efSmrgdnl 75*10d565efSmrgdnl Like GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1, but does a bunch of 76*10d565efSmrgdnl of functions at once. It's an all-or-nothing check -- either 77*10d565efSmrgdnl HAVE_XYZ is defined for each of the functions, or for none of them. 78*10d565efSmrgdnl Doing it this way saves significant configure time. 79*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1], [ 80*10d565efSmrg define([funclist],patsubst($3,\(\w+\)\(\W*\),\1 ))dnl 81*10d565efSmrg AC_MSG_CHECKING([for $1 functions]) 82*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$2_use, [ 83*10d565efSmrg AC_LANG_SAVE 84*10d565efSmrg AC_LANG_CPLUSPLUS 85*10d565efSmrg AC_TRY_COMPILE([#include <math.h>], 86*10d565efSmrg patsubst(funclist,[\w+],[\& (0);]), 87*10d565efSmrg [glibcxx_cv_func_$2_use=yes], 88*10d565efSmrg [glibcxx_cv_func_$2_use=no]) 89*10d565efSmrg AC_LANG_RESTORE]) 90*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$2_use) 91*10d565efSmrg if test x$glibcxx_cv_func_$2_use = x"yes"; then 92*10d565efSmrg AC_CHECK_FUNCS(funclist) 93*10d565efSmrg else 94*10d565efSmrg AC_MSG_CHECKING([for _$1 functions]) 95*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func__$2_use, [ 96*10d565efSmrg AC_LANG_SAVE 97*10d565efSmrg AC_LANG_CPLUSPLUS 98*10d565efSmrg AC_TRY_COMPILE([#include <math.h>], 99*10d565efSmrg patsubst(funclist,[\w+],[_\& (0);]), 100*10d565efSmrg [glibcxx_cv_func__$2_use=yes], 101*10d565efSmrg [glibcxx_cv_func__$2_use=no]) 102*10d565efSmrg AC_LANG_RESTORE]) 103*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func__$2_use) 104*10d565efSmrg if test x$glibcxx_cv_func__$2_use = x"yes"; then 105*10d565efSmrg AC_CHECK_FUNCS(patsubst(funclist,[\w+],[_\&])) 106*10d565efSmrg fi 107*10d565efSmrg fi 108*10d565efSmrg GLIBCXX_MAYBE_UNDERSCORED_FUNCS(funclist) 109*10d565efSmrg undefine([funclist]) 110*10d565efSmrg]) 111*10d565efSmrg 112*10d565efSmrgdnl 113*10d565efSmrgdnl Check to see if the (math function) argument passed is 114*10d565efSmrgdnl declared when using the c++ compiler 115*10d565efSmrgdnl ASSUMES argument is a math function with TWO parameters 116*10d565efSmrgdnl 117*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_2 118*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_2], [ 119*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 120*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 121*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 122*10d565efSmrg AC_LANG_SAVE 123*10d565efSmrg AC_LANG_CPLUSPLUS 124*10d565efSmrg AC_TRY_COMPILE([#include <math.h>], 125*10d565efSmrg [ $1(0, 0);], 126*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 127*10d565efSmrg AC_LANG_RESTORE 128*10d565efSmrg ]) 129*10d565efSmrg fi 130*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 131*10d565efSmrg]) 132*10d565efSmrg 133*10d565efSmrgdnl 134*10d565efSmrgdnl Check to see if the (math function) argument passed is 135*10d565efSmrgdnl 1) declared when using the c++ compiler 136*10d565efSmrgdnl 2) has "C" linkage 137*10d565efSmrgdnl 138*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links 139*10d565efSmrgdnl 140*10d565efSmrgdnl argument 1 is name of function to check 141*10d565efSmrgdnl 142*10d565efSmrgdnl ASSUMES argument is a math function with TWO parameters 143*10d565efSmrgdnl 144*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2 145*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2], [ 146*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_2($1) 147*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 148*10d565efSmrg AC_CHECK_FUNCS($1) 149*10d565efSmrg else 150*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_2(_$1) 151*10d565efSmrg if test x$glibcxx_cv_func__$1_use = x"yes"; then 152*10d565efSmrg AC_CHECK_FUNCS(_$1) 153*10d565efSmrg fi 154*10d565efSmrg fi 155*10d565efSmrg GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1) 156*10d565efSmrg]) 157*10d565efSmrg 158*10d565efSmrg 159*10d565efSmrgdnl 160*10d565efSmrgdnl Check to see if the (math function) argument passed is 161*10d565efSmrgdnl declared when using the c++ compiler 162*10d565efSmrgdnl ASSUMES argument is a math function with THREE parameters 163*10d565efSmrgdnl 164*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_3 165*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_3], [ 166*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 167*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 168*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 169*10d565efSmrg AC_LANG_SAVE 170*10d565efSmrg AC_LANG_CPLUSPLUS 171*10d565efSmrg AC_TRY_COMPILE([#include <math.h>], 172*10d565efSmrg [ $1(0, 0, 0);], 173*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 174*10d565efSmrg AC_LANG_RESTORE 175*10d565efSmrg ]) 176*10d565efSmrg fi 177*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 178*10d565efSmrg]) 179*10d565efSmrg 180*10d565efSmrgdnl 181*10d565efSmrgdnl Check to see if the (math function) argument passed is 182*10d565efSmrgdnl 1) declared when using the c++ compiler 183*10d565efSmrgdnl 2) has "C" linkage 184*10d565efSmrgdnl 185*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is declared and links 186*10d565efSmrgdnl 187*10d565efSmrgdnl argument 1 is name of function to check 188*10d565efSmrgdnl 189*10d565efSmrgdnl ASSUMES argument is a math function with THREE parameters 190*10d565efSmrgdnl 191*10d565efSmrgdnl GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3 192*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3], [ 193*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_3($1) 194*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 195*10d565efSmrg AC_CHECK_FUNCS($1) 196*10d565efSmrg else 197*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_3(_$1) 198*10d565efSmrg if test x$glibcxx_cv_func__$1_use = x"yes"; then 199*10d565efSmrg AC_CHECK_FUNCS(_$1) 200*10d565efSmrg fi 201*10d565efSmrg fi 202*10d565efSmrg GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1) 203*10d565efSmrg]) 204*10d565efSmrg 205*10d565efSmrg 206*10d565efSmrgdnl 207*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is 208*10d565efSmrgdnl 1) declared when using the c++ compiler 209*10d565efSmrgdnl 2) has "C" linkage 210*10d565efSmrgdnl 211*10d565efSmrgdnl argument 1 is name of function to check 212*10d565efSmrgdnl 213*10d565efSmrgdnl ASSUMES argument is a stdlib function without parameters 214*10d565efSmrgdnl 215*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0 216*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_0], [ 217*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 218*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 219*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 220*10d565efSmrg AC_LANG_SAVE 221*10d565efSmrg AC_LANG_CPLUSPLUS 222*10d565efSmrg AC_TRY_COMPILE([#include <stdlib.h>], 223*10d565efSmrg [ $1();], 224*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 225*10d565efSmrg AC_LANG_RESTORE 226*10d565efSmrg ]) 227*10d565efSmrg fi 228*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 229*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 230*10d565efSmrg AC_CHECK_FUNCS($1) 231*10d565efSmrg fi 232*10d565efSmrg]) 233*10d565efSmrg 234*10d565efSmrg 235*10d565efSmrgdnl 236*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is 237*10d565efSmrgdnl 1) declared when using the c++ compiler 238*10d565efSmrgdnl 2) has "C" linkage 239*10d565efSmrgdnl 240*10d565efSmrgdnl argument 1 is name of function to check 241*10d565efSmrgdnl 242*10d565efSmrgdnl ASSUMES argument is a stdlib function with ONE parameter 243*10d565efSmrgdnl 244*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1 245*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1], [ 246*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 247*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 248*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 249*10d565efSmrg AC_LANG_SAVE 250*10d565efSmrg AC_LANG_CPLUSPLUS 251*10d565efSmrg AC_TRY_COMPILE([#include <stdlib.h>], 252*10d565efSmrg [ $1(0);], 253*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 254*10d565efSmrg AC_LANG_RESTORE 255*10d565efSmrg ]) 256*10d565efSmrg fi 257*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 258*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 259*10d565efSmrg AC_CHECK_FUNCS($1) 260*10d565efSmrg fi 261*10d565efSmrg]) 262*10d565efSmrg 263*10d565efSmrg 264*10d565efSmrgdnl 265*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is 266*10d565efSmrgdnl 1) declared when using the c++ compiler 267*10d565efSmrgdnl 2) has "C" linkage 268*10d565efSmrgdnl 269*10d565efSmrgdnl argument 1 is name of function to check 270*10d565efSmrgdnl 271*10d565efSmrgdnl ASSUMES argument is a stdlib function with TWO parameters 272*10d565efSmrgdnl 273*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2 274*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2], [ 275*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 276*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 277*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 278*10d565efSmrg AC_LANG_SAVE 279*10d565efSmrg AC_LANG_CPLUSPLUS 280*10d565efSmrg AC_TRY_COMPILE([#include <stdlib.h>], 281*10d565efSmrg [ $1(0, 0);], 282*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 283*10d565efSmrg AC_LANG_RESTORE 284*10d565efSmrg ]) 285*10d565efSmrg fi 286*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 287*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 288*10d565efSmrg AC_CHECK_FUNCS($1) 289*10d565efSmrg fi 290*10d565efSmrg GLIBCXX_MAYBE_UNDERSCORED_FUNCS($1) 291*10d565efSmrg]) 292*10d565efSmrg 293*10d565efSmrg 294*10d565efSmrgdnl 295*10d565efSmrgdnl Check to see if the (stdlib function) argument passed is 296*10d565efSmrgdnl 1) declared when using the c++ compiler 297*10d565efSmrgdnl 2) has "C" linkage 298*10d565efSmrgdnl 299*10d565efSmrgdnl argument 1 is name of function to check 300*10d565efSmrgdnl 301*10d565efSmrgdnl ASSUMES argument is a stdlib function with THREE parameters 302*10d565efSmrgdnl 303*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3 304*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_3], [ 305*10d565efSmrg AC_MSG_CHECKING([for $1 declaration]) 306*10d565efSmrg if test x${glibcxx_cv_func_$1_use+set} != xset; then 307*10d565efSmrg AC_CACHE_VAL(glibcxx_cv_func_$1_use, [ 308*10d565efSmrg AC_LANG_SAVE 309*10d565efSmrg AC_LANG_CPLUSPLUS 310*10d565efSmrg AC_TRY_COMPILE([#include <stdlib.h>], 311*10d565efSmrg [ $1(0, 0, 0);], 312*10d565efSmrg [glibcxx_cv_func_$1_use=yes], [glibcxx_cv_func_$1_use=no]) 313*10d565efSmrg AC_LANG_RESTORE 314*10d565efSmrg ]) 315*10d565efSmrg fi 316*10d565efSmrg AC_MSG_RESULT($glibcxx_cv_func_$1_use) 317*10d565efSmrg if test x$glibcxx_cv_func_$1_use = x"yes"; then 318*10d565efSmrg AC_CHECK_FUNCS($1) 319*10d565efSmrg fi 320*10d565efSmrg]) 321*10d565efSmrg 322*10d565efSmrgdnl 323*10d565efSmrgdnl Check to see what the underlying c library is like 324*10d565efSmrgdnl These checks need to do two things: 325*10d565efSmrgdnl 1) make sure the name is declared when using the c++ compiler 326*10d565efSmrgdnl 2) make sure the name has "C" linkage 327*10d565efSmrgdnl This might seem like overkill but experience has shown that it's not... 328*10d565efSmrgdnl 329*10d565efSmrgdnl Define HAVE_STRTOLD if "strtold" is declared and links 330*10d565efSmrgdnl Define HAVE_STRTOF if "strtof" is declared and links 331*10d565efSmrgdnl 332*10d565efSmrgdnl GLIBCXX_CHECK_STDLIB_SUPPORT 333*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_STDLIB_SUPPORT], [ 334*10d565efSmrg ac_test_CXXFLAGS="${CXXFLAGS+set}" 335*10d565efSmrg ac_save_CXXFLAGS="$CXXFLAGS" 336*10d565efSmrg CXXFLAGS='-fno-builtin -D_GNU_SOURCE' 337*10d565efSmrg 338*10d565efSmrg GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(at_quick_exit) 339*10d565efSmrg GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_1(quick_exit) 340*10d565efSmrg GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtold) 341*10d565efSmrg GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2(strtof) 342*10d565efSmrg 343*10d565efSmrg CXXFLAGS="$ac_save_CXXFLAGS" 344*10d565efSmrg]) 345*10d565efSmrg 346*10d565efSmrgdnl 347*10d565efSmrgdnl Check to see what the underlying c library or math library is like. 348*10d565efSmrgdnl These checks need to do two things: 349*10d565efSmrgdnl 1) make sure the name is declared when using the c++ compiler 350*10d565efSmrgdnl 2) make sure the name has "C" linkage 351*10d565efSmrgdnl This might seem like overkill but experience has shown that it's not... 352*10d565efSmrgdnl 353*10d565efSmrgdnl Define HAVE_CARGF etc if "cargf" is found. 354*10d565efSmrgdnl 355*10d565efSmrgdnl GLIBCXX_CHECK_MATH_SUPPORT 356*10d565efSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_SUPPORT], [ 357*10d565efSmrg ac_test_CXXFLAGS="${CXXFLAGS+set}" 358*10d565efSmrg ac_save_CXXFLAGS="$CXXFLAGS" 359*10d565efSmrg CXXFLAGS='-fno-builtin -D_GNU_SOURCE' 360*10d565efSmrg 361*10d565efSmrg dnl Check libm 362*10d565efSmrg AC_CHECK_LIB(m, sin, libm="-lm") 363*10d565efSmrg ac_save_LIBS="$LIBS" 364*10d565efSmrg LIBS="$LIBS $libm" 365*10d565efSmrg 366*10d565efSmrg dnl Check to see if certain C math functions exist. 367*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinf) 368*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnan) 369*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finite) 370*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincos) 371*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fpclass) 372*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(qfpclass) 373*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypot) 374*10d565efSmrg 375*10d565efSmrg dnl Check to see if basic C math functions have float versions. 376*10d565efSmrg GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float trig, 377*10d565efSmrg float_trig, 378*10d565efSmrg acosf asinf atanf \ 379*10d565efSmrg cosf sinf tanf \ 380*10d565efSmrg coshf sinhf tanhf) 381*10d565efSmrg GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(float round, 382*10d565efSmrg float_round, 383*10d565efSmrg ceilf floorf) 384*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expf) 385*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanf) 386*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinff) 387*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2f) 388*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsf) 389*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodf) 390*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpf) 391*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotf) 392*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpf) 393*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logf) 394*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10f) 395*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modff) 396*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modf) 397*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powf) 398*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtf) 399*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosf) 400*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitef) 401*10d565efSmrg 402*10d565efSmrg dnl Check to see if basic C math functions have long double versions. 403*10d565efSmrg GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double trig, 404*10d565efSmrg long_double_trig, 405*10d565efSmrg acosl asinl atanl \ 406*10d565efSmrg cosl sinl tanl \ 407*10d565efSmrg coshl sinhl tanhl) 408*10d565efSmrg GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1(long double round, 409*10d565efSmrg long_double_round, 410*10d565efSmrg ceill floorl) 411*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isnanl) 412*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(isinfl) 413*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(atan2l) 414*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(expl) 415*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(fabsl) 416*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(fmodl) 417*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(frexpl) 418*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(hypotl) 419*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(ldexpl) 420*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(logl) 421*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(log10l) 422*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(modfl) 423*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2(powl) 424*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(sqrtl) 425*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3(sincosl) 426*10d565efSmrg GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1(finitel) 427*10d565efSmrg 428*10d565efSmrg LIBS="$ac_save_LIBS" 429*10d565efSmrg CXXFLAGS="$ac_save_CXXFLAGS" 430*10d565efSmrg]) 431