11debfc3dSmrgdnl 21debfc3dSmrgdnl This file contains details for non-native builds. 31debfc3dSmrgdnl 41debfc3dSmrg 51debfc3dSmrgAC_DEFUN([GLIBCXX_CROSSCONFIG],[ 61debfc3dSmrg# Base decisions on target environment. 71debfc3dSmrgcase "${host}" in 81debfc3dSmrg arm*-*-symbianelf*) 91debfc3dSmrg # This is a freestanding configuration; there is nothing to do here. 101debfc3dSmrg ;; 111debfc3dSmrg 121debfc3dSmrg avr*-*-*) 131debfc3dSmrg AC_DEFINE(HAVE_ACOSF) 141debfc3dSmrg AC_DEFINE(HAVE_ASINF) 151debfc3dSmrg AC_DEFINE(HAVE_ATAN2F) 161debfc3dSmrg AC_DEFINE(HAVE_ATANF) 171debfc3dSmrg AC_DEFINE(HAVE_CEILF) 181debfc3dSmrg AC_DEFINE(HAVE_COSF) 191debfc3dSmrg AC_DEFINE(HAVE_COSHF) 201debfc3dSmrg AC_DEFINE(HAVE_EXPF) 211debfc3dSmrg AC_DEFINE(HAVE_FABSF) 221debfc3dSmrg AC_DEFINE(HAVE_FLOORF) 231debfc3dSmrg AC_DEFINE(HAVE_FMODF) 241debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 251debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 261debfc3dSmrg AC_DEFINE(HAVE_HYPOTF) 271debfc3dSmrg AC_DEFINE(HAVE_LDEXPF) 281debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 291debfc3dSmrg AC_DEFINE(HAVE_LOGF) 301debfc3dSmrg AC_DEFINE(HAVE_MODFF) 311debfc3dSmrg AC_DEFINE(HAVE_POWF) 321debfc3dSmrg AC_DEFINE(HAVE_SINF) 331debfc3dSmrg AC_DEFINE(HAVE_SINHF) 341debfc3dSmrg AC_DEFINE(HAVE_TANF) 351debfc3dSmrg AC_DEFINE(HAVE_TANHF) 361debfc3dSmrg ;; 371debfc3dSmrg 381debfc3dSmrg mips*-sde-elf*) 391debfc3dSmrg # These definitions are for the SDE C library rather than newlib. 401debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 411debfc3dSmrg AC_SUBST(SECTION_FLAGS) 421debfc3dSmrg GLIBCXX_CHECK_COMPILER_FEATURES 431debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 441debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 451debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 461debfc3dSmrg 471debfc3dSmrg AC_DEFINE(HAVE_FINITE) 481debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 491debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 501debfc3dSmrg AC_DEFINE(HAVE_ISINF) 511debfc3dSmrg 521debfc3dSmrg AC_DEFINE(HAVE_LDEXPF) 531debfc3dSmrg AC_DEFINE(HAVE_MODF) 541debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 551debfc3dSmrg ;; 561debfc3dSmrg 571debfc3dSmrg *-aix*) 581debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 591debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 601debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 61c0a68be4Smrg AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM) 621debfc3dSmrg AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) 631debfc3dSmrg # We don't yet support AIX's TLS ABI. 641debfc3dSmrg #GCC_CHECK_TLS 651debfc3dSmrg AM_ICONV 661debfc3dSmrg ;; 671debfc3dSmrg 681debfc3dSmrg *-darwin*) 691debfc3dSmrg # Darwin versions vary, but the linker should work in a cross environment, 701debfc3dSmrg # so we just check for all the features here. 711debfc3dSmrg # Check for available headers. 721debfc3dSmrg 731debfc3dSmrg # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld 741debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 751debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 761debfc3dSmrg ;; 771debfc3dSmrg 781debfc3dSmrg *djgpp) 791debfc3dSmrg # GLIBCXX_CHECK_MATH_SUPPORT 801debfc3dSmrg AC_DEFINE(HAVE_ISINF) 811debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 821debfc3dSmrg AC_DEFINE(HAVE_FINITE) 831debfc3dSmrg AC_DEFINE(HAVE_SINCOS) 841debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 851debfc3dSmrg ;; 861debfc3dSmrg 871debfc3dSmrg *-freebsd*) 881debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 891debfc3dSmrg AC_SUBST(SECTION_FLAGS) 901debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 911debfc3dSmrg AC_DEFINE(HAVE_SETENV) 921debfc3dSmrg AC_DEFINE(HAVE_FINITEF) 931debfc3dSmrg AC_DEFINE(HAVE_FINITE) 941debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 951debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 961debfc3dSmrg AC_DEFINE(HAVE_HYPOTF) 971debfc3dSmrg AC_DEFINE(HAVE_ISINF) 981debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 991debfc3dSmrg AC_DEFINE(HAVE_ISNANF) 1001debfc3dSmrg 1011debfc3dSmrg AC_DEFINE(HAVE_ACOSF) 1021debfc3dSmrg AC_DEFINE(HAVE_ASINF) 1031debfc3dSmrg AC_DEFINE(HAVE_ATAN2F) 1041debfc3dSmrg AC_DEFINE(HAVE_ATANF) 1051debfc3dSmrg AC_DEFINE(HAVE_CEILF) 1061debfc3dSmrg AC_DEFINE(HAVE_COSF) 1071debfc3dSmrg AC_DEFINE(HAVE_COSHF) 1081debfc3dSmrg AC_DEFINE(HAVE_EXPF) 1091debfc3dSmrg AC_DEFINE(HAVE_FABSF) 1101debfc3dSmrg AC_DEFINE(HAVE_FLOORF) 1111debfc3dSmrg AC_DEFINE(HAVE_FMODF) 1121debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 1131debfc3dSmrg AC_DEFINE(HAVE_LDEXPF) 1141debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 1151debfc3dSmrg AC_DEFINE(HAVE_LOGF) 1161debfc3dSmrg AC_DEFINE(HAVE_MODFF) 1171debfc3dSmrg AC_DEFINE(HAVE_POWF) 1181debfc3dSmrg AC_DEFINE(HAVE_SINF) 1191debfc3dSmrg AC_DEFINE(HAVE_SINHF) 1201debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 1211debfc3dSmrg AC_DEFINE(HAVE_TANF) 1221debfc3dSmrg AC_DEFINE(HAVE_TANHF) 1231debfc3dSmrg if test x"long_double_math_on_this_cpu" = x"yes"; then 1241debfc3dSmrg AC_DEFINE(HAVE_FINITEL) 1251debfc3dSmrg AC_DEFINE(HAVE_ISINFL) 1261debfc3dSmrg AC_DEFINE(HAVE_ISNANL) 1271debfc3dSmrg fi 1281debfc3dSmrg AC_CHECK_FUNCS(__cxa_thread_atexit) 1291debfc3dSmrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 130c0a68be4Smrg AC_CHECK_FUNCS(timespec_get) 131c0a68be4Smrg AC_CHECK_FUNCS(sockatmark) 1321debfc3dSmrg ;; 1331debfc3dSmrg 1341debfc3dSmrg *-fuchsia*) 1351debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 1361debfc3dSmrg AC_SUBST(SECTION_FLAGS) 1371debfc3dSmrg ;; 1381debfc3dSmrg 1391debfc3dSmrg *-hpux*) 1401debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 1411debfc3dSmrg AC_SUBST(SECTION_FLAGS) 1421debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 1431debfc3dSmrg 1441debfc3dSmrg # GLIBCXX_CHECK_MATH_SUPPORT 1451debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 1461debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 1471debfc3dSmrg AC_DEFINE(HAVE_ACOSF) 1481debfc3dSmrg AC_DEFINE(HAVE_ASINF) 1491debfc3dSmrg AC_DEFINE(HAVE_ATANF) 1501debfc3dSmrg AC_DEFINE(HAVE_COSF) 1511debfc3dSmrg AC_DEFINE(HAVE_COSHF) 1521debfc3dSmrg AC_DEFINE(HAVE_SINF) 1531debfc3dSmrg AC_DEFINE(HAVE_SINHF) 1541debfc3dSmrg AC_DEFINE(HAVE_TANF) 1551debfc3dSmrg AC_DEFINE(HAVE_TANHF) 1561debfc3dSmrg AC_DEFINE(HAVE_EXPF) 1571debfc3dSmrg AC_DEFINE(HAVE_ATAN2F) 1581debfc3dSmrg AC_DEFINE(HAVE_FABSF) 1591debfc3dSmrg AC_DEFINE(HAVE_FMODF) 1601debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 1611debfc3dSmrg AC_DEFINE(HAVE_LOGF) 1621debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 1631debfc3dSmrg AC_DEFINE(HAVE_MODF) 1641debfc3dSmrg AC_DEFINE(HAVE_POWF) 1651debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 1661debfc3dSmrg 1671debfc3dSmrg # GLIBCXX_CHECK_STDLIB_SUPPORT 1681debfc3dSmrg AC_DEFINE(HAVE_STRTOLD) 1691debfc3dSmrg 1701debfc3dSmrg GCC_CHECK_TLS 1711debfc3dSmrg case "$target" in 1721debfc3dSmrg *-hpux10*) 1731debfc3dSmrg AC_DEFINE(HAVE_ISINF) 1741debfc3dSmrg AC_DEFINE(HAVE_ISINFF) 1751debfc3dSmrg AC_DEFINE(HAVE_ISNANF) 1761debfc3dSmrg AC_DEFINE(HAVE_FINITE) 1771debfc3dSmrg AC_DEFINE(HAVE_FINITEF) 1781debfc3dSmrg ;; 1791debfc3dSmrg esac 1801debfc3dSmrg ;; 181a2dc1f3fSmrg *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*) 1821debfc3dSmrg GLIBCXX_CHECK_COMPILER_FEATURES 1831debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 1841debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 1851debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 186c0a68be4Smrg AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM) 1871debfc3dSmrg AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) 1881debfc3dSmrg GCC_CHECK_TLS 1891debfc3dSmrg AC_CHECK_FUNCS(__cxa_thread_atexit_impl) 1901debfc3dSmrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 191c0a68be4Smrg AC_CHECK_FUNCS(timespec_get) 192c0a68be4Smrg AC_CHECK_FUNCS(sockatmark) 1931debfc3dSmrg AM_ICONV 1941debfc3dSmrg ;; 1951debfc3dSmrg *-mingw32*) 1961debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 1971debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 1981debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 1991debfc3dSmrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 200c0a68be4Smrg AC_CHECK_FUNCS(_wfopen) 2011debfc3dSmrg ;; 202c0a68be4Smrg *-netbsd* | *-openbsd*) 2031debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 2041debfc3dSmrg AC_SUBST(SECTION_FLAGS) 2051debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 2061debfc3dSmrg 2071debfc3dSmrg AC_DEFINE(HAVE_ICONV) 2081debfc3dSmrg AC_DEFINE(HAVE_ICONV_CLOSE) 2091debfc3dSmrg AC_DEFINE(HAVE_ICONV_OPEN) 2101debfc3dSmrg AC_DEFINE(HAVE_LC_MESSAGES) 2111debfc3dSmrg 2121debfc3dSmrg AC_DEFINE(HAVE_MMAP) 2131debfc3dSmrg AC_DEFINE(HAVE_GETPAGESIZE) 2141debfc3dSmrg AC_DEFINE(HAVE_SETENV) 2151debfc3dSmrg AC_DEFINE(HAVE_SIGSETJMP) 2161debfc3dSmrg 2171debfc3dSmrg AC_DEFINE(HAVE_FINITEF) 2181debfc3dSmrg AC_DEFINE(HAVE_FINITE) 2191debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 2201debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 2211debfc3dSmrg AC_DEFINE(HAVE_HYPOTF) 2221debfc3dSmrg AC_DEFINE(HAVE_ISINF) 2231debfc3dSmrg AC_DEFINE(HAVE_ISINFF) 2241debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 2251debfc3dSmrg AC_DEFINE(HAVE_ISNANF) 2261debfc3dSmrg AC_DEFINE(HAVE_ACOSF) 2271debfc3dSmrg AC_DEFINE(HAVE_ASINF) 2281debfc3dSmrg AC_DEFINE(HAVE_ATAN2F) 2291debfc3dSmrg AC_DEFINE(HAVE_ATANF) 2301debfc3dSmrg AC_DEFINE(HAVE_CEILF) 2311debfc3dSmrg AC_DEFINE(HAVE_COSF) 2321debfc3dSmrg AC_DEFINE(HAVE_COSHF) 2331debfc3dSmrg AC_DEFINE(HAVE_EXPF) 2341debfc3dSmrg AC_DEFINE(HAVE_FABSF) 2351debfc3dSmrg AC_DEFINE(HAVE_FLOORF) 2361debfc3dSmrg AC_DEFINE(HAVE_FMODF) 2371debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 2381debfc3dSmrg AC_DEFINE(HAVE_LDEXPF) 2391debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 2401debfc3dSmrg AC_DEFINE(HAVE_LOGF) 2411debfc3dSmrg AC_DEFINE(HAVE_MODF) 2421debfc3dSmrg AC_DEFINE(HAVE_MODFF) 2431debfc3dSmrg AC_DEFINE(HAVE_POWF) 2441debfc3dSmrg AC_DEFINE(HAVE_SINF) 2451debfc3dSmrg AC_DEFINE(HAVE_SINHF) 2461debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 2471debfc3dSmrg AC_DEFINE(HAVE_STRTOF) 2481debfc3dSmrg AC_DEFINE(HAVE_STRTOLD) 2491debfc3dSmrg AC_DEFINE(HAVE_TANF) 2501debfc3dSmrg AC_DEFINE(HAVE_TANHF) 2511debfc3dSmrg if test x"long_double_math_on_this_cpu" = x"yes"; then 2521debfc3dSmrg AC_DEFINE(HAVE_FINITEL) 2531debfc3dSmrg AC_DEFINE(HAVE_ISINFL) 2541debfc3dSmrg AC_DEFINE(HAVE_ISNANL) 2551debfc3dSmrg fi 2561debfc3dSmrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 257c0a68be4Smrg AC_CHECK_FUNCS(timespec_get) 258c0a68be4Smrg AC_CHECK_FUNCS(sockatmark) 2591debfc3dSmrg ;; 2601debfc3dSmrg *-qnx6.1* | *-qnx6.2*) 2611debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 2621debfc3dSmrg AC_SUBST(SECTION_FLAGS) 2631debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 2641debfc3dSmrg AC_DEFINE(HAVE_COSF) 2651debfc3dSmrg AC_DEFINE(HAVE_COSL) 2661debfc3dSmrg AC_DEFINE(HAVE_COSHF) 2671debfc3dSmrg AC_DEFINE(HAVE_COSHL) 2681debfc3dSmrg AC_DEFINE(HAVE_LOGF) 2691debfc3dSmrg AC_DEFINE(HAVE_LOGL) 2701debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 2711debfc3dSmrg AC_DEFINE(HAVE_LOG10L) 2721debfc3dSmrg AC_DEFINE(HAVE_SINF) 2731debfc3dSmrg AC_DEFINE(HAVE_SINL) 2741debfc3dSmrg AC_DEFINE(HAVE_SINHF) 2751debfc3dSmrg AC_DEFINE(HAVE_SINHL) 2761debfc3dSmrg ;; 2771debfc3dSmrg *-rtems*) 2781debfc3dSmrg GLIBCXX_CHECK_COMPILER_FEATURES 2791debfc3dSmrg GLIBCXX_CHECK_LINKER_FEATURES 2801debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 2811debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 2821debfc3dSmrg ;; 2831debfc3dSmrg *-tpf) 2841debfc3dSmrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 2851debfc3dSmrg SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS' 2861debfc3dSmrg AC_SUBST(SECTION_FLAGS) 2871debfc3dSmrg AC_DEFINE(HAVE_FINITE) 2881debfc3dSmrg AC_DEFINE(HAVE_FINITEF) 2891debfc3dSmrg AC_DEFINE(HAVE_FREXPF) 2901debfc3dSmrg AC_DEFINE(HAVE_HYPOTF) 2911debfc3dSmrg AC_DEFINE(HAVE_ISINF) 2921debfc3dSmrg AC_DEFINE(HAVE_ISINFF) 2931debfc3dSmrg AC_DEFINE(HAVE_ISNAN) 2941debfc3dSmrg AC_DEFINE(HAVE_ISNANF) 2951debfc3dSmrg AC_DEFINE(HAVE_SINCOS) 2961debfc3dSmrg AC_DEFINE(HAVE_SINCOSF) 2971debfc3dSmrg if test x"long_double_math_on_this_cpu" = x"yes"; then 2981debfc3dSmrg AC_DEFINE(HAVE_FINITEL) 2991debfc3dSmrg AC_DEFINE(HAVE_HYPOTL) 3001debfc3dSmrg AC_DEFINE(HAVE_ISINFL) 3011debfc3dSmrg AC_DEFINE(HAVE_ISNANL) 3021debfc3dSmrg fi 3031debfc3dSmrg ;; 3041debfc3dSmrg *-*vms*) 3051debfc3dSmrg # Check for available headers. 3061debfc3dSmrg # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld 3071debfc3dSmrg GLIBCXX_CHECK_MATH_SUPPORT 3081debfc3dSmrg GLIBCXX_CHECK_STDLIB_SUPPORT 3091debfc3dSmrg ;; 3101debfc3dSmrg *-vxworks) 3111debfc3dSmrg AC_DEFINE(HAVE_ACOSF) 3121debfc3dSmrg AC_DEFINE(HAVE_ASINF) 3131debfc3dSmrg AC_DEFINE(HAVE_ATAN2F) 3141debfc3dSmrg AC_DEFINE(HAVE_ATANF) 3151debfc3dSmrg AC_DEFINE(HAVE_CEILF) 3161debfc3dSmrg AC_DEFINE(HAVE_COSF) 3171debfc3dSmrg AC_DEFINE(HAVE_COSHF) 3181debfc3dSmrg AC_DEFINE(HAVE_EXPF) 3191debfc3dSmrg AC_DEFINE(HAVE_FABSF) 3201debfc3dSmrg AC_DEFINE(HAVE_FLOORF) 3211debfc3dSmrg AC_DEFINE(HAVE_FMODF) 3221debfc3dSmrg AC_DEFINE(HAVE_HYPOT) 3231debfc3dSmrg AC_DEFINE(HAVE_LOG10F) 3241debfc3dSmrg AC_DEFINE(HAVE_LOGF) 3251debfc3dSmrg AC_DEFINE(HAVE_POWF) 3261debfc3dSmrg AC_DEFINE(HAVE_SINF) 3271debfc3dSmrg AC_DEFINE(HAVE_SINHF) 3281debfc3dSmrg AC_DEFINE(HAVE_SQRTF) 3291debfc3dSmrg AC_DEFINE(HAVE_TANF) 3301debfc3dSmrg AC_DEFINE(HAVE_TANHF) 331*8feb0f0bSmrg 332*8feb0f0bSmrgdnl # Different versions and execution modes implement different 333*8feb0f0bSmrgdnl # subsets of these functions. Instead of hard-coding, test for C 334*8feb0f0bSmrgdnl # declarations in headers. The C primitives could be defined as 335*8feb0f0bSmrgdnl # macros, in which case the tests might fail, and we might have to 336*8feb0f0bSmrgdnl # switch to more elaborate tests. 337*8feb0f0bSmrg GLIBCXX_CHECK_MATH_DECLS([ 338*8feb0f0bSmrg acosl asinl atan2l atanl ceill cosl coshl expl fabsl floorl fmodl 339*8feb0f0bSmrg frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl]) 340*8feb0f0bSmrgdnl # sincosl is the only one missing here, compared with the *l 341*8feb0f0bSmrgdnl # functions in the list guarded by 342*8feb0f0bSmrgdnl # long_double_math_on_this_cpu in configure.ac, right after 343*8feb0f0bSmrgdnl # the expansion of the present macro. 3441debfc3dSmrg ;; 3451debfc3dSmrg *) 3461debfc3dSmrg AC_MSG_ERROR([No support for this host/target combination.]) 3471debfc3dSmrg ;; 3481debfc3dSmrgesac 3491debfc3dSmrg]) 350*8feb0f0bSmrg 351*8feb0f0bSmrg 352*8feb0f0bSmrgdnl 353*8feb0f0bSmrgdnl Check to see if the (math function) argument passed is 354*8feb0f0bSmrgdnl declared when using the c compiler 355*8feb0f0bSmrgdnl 356*8feb0f0bSmrgdnl Define HAVE_CARGF etc if "cargf" is declared 357*8feb0f0bSmrgdnl 358*8feb0f0bSmrgdnl argument 1 is name of function to check 359*8feb0f0bSmrgdnl 360*8feb0f0bSmrgdnl ASSUMES argument is a math function 361*8feb0f0bSmrgdnl 362*8feb0f0bSmrgdnl GLIBCXX_CHECK_MATH_DECL 363*8feb0f0bSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL], [ 364*8feb0f0bSmrg AC_CACHE_CHECK([for $1 declaration], 365*8feb0f0bSmrg [glibcxx_cv_func_$1_use], [ 366*8feb0f0bSmrg AC_LANG_SAVE 367*8feb0f0bSmrg AC_LANG_C 368*8feb0f0bSmrg AC_TRY_COMPILE([ 369*8feb0f0bSmrg#include <math.h> 370*8feb0f0bSmrg#ifdef HAVE_IEEEFP_H 371*8feb0f0bSmrg# include <ieeefp.h> 372*8feb0f0bSmrg#endif 373*8feb0f0bSmrg#undef $1 374*8feb0f0bSmrg], [ 375*8feb0f0bSmrg void (*f)(void) = (void (*)(void))$1; 376*8feb0f0bSmrg], [glibcxx_cv_func_$1_use=yes 377*8feb0f0bSmrg], [glibcxx_cv_func_$1_use=no])]) 378*8feb0f0bSmrg if test "x$glibcxx_cv_func_$1_use" = xyes; then 379*8feb0f0bSmrg AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) 380*8feb0f0bSmrg fi 381*8feb0f0bSmrg]) 382*8feb0f0bSmrg 383*8feb0f0bSmrgdnl 384*8feb0f0bSmrgdnl Check to see whether multiple math functions are 385*8feb0f0bSmrgdnl declared when using the c compiler 386*8feb0f0bSmrgdnl 387*8feb0f0bSmrgdnl Define HAVE_CARGF HAVE_POWL etc if "cargf" and "powl" 388*8feb0f0bSmrgdnl are declared 389*8feb0f0bSmrgdnl 390*8feb0f0bSmrgdnl argument 1 is a word list naming function to check 391*8feb0f0bSmrgdnl 392*8feb0f0bSmrgdnl ASSUMES arguments are math functions 393*8feb0f0bSmrgdnl 394*8feb0f0bSmrgdnl GLIBCXX_CHECK_MATH_DECLS 395*8feb0f0bSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECLS], [ 396*8feb0f0bSmrg m4_foreach_w([glibcxx_func], [$1], [ 397*8feb0f0bSmrg GLIBCXX_CHECK_MATH_DECL(glibcxx_func) 398*8feb0f0bSmrg ]) 399*8feb0f0bSmrg]) 400