14fee23f9Smrgdnl 24fee23f9Smrgdnl This file contains details for non-native builds. 34fee23f9Smrgdnl 44fee23f9Smrg 54fee23f9SmrgAC_DEFUN([GLIBCXX_CROSSCONFIG],[ 64fee23f9Smrg# Base decisions on target environment. 74fee23f9Smrgcase "${host}" in 84fee23f9Smrg arm*-*-symbianelf*) 94fee23f9Smrg # This is a freestanding configuration; there is nothing to do here. 104fee23f9Smrg ;; 114fee23f9Smrg 12a41324a9Smrg avr*-*-*) 13a41324a9Smrg AC_DEFINE(HAVE_ACOSF) 14a41324a9Smrg AC_DEFINE(HAVE_ASINF) 15a41324a9Smrg AC_DEFINE(HAVE_ATAN2F) 16a41324a9Smrg AC_DEFINE(HAVE_ATANF) 17a41324a9Smrg AC_DEFINE(HAVE_CEILF) 18a41324a9Smrg AC_DEFINE(HAVE_COSF) 19a41324a9Smrg AC_DEFINE(HAVE_COSHF) 20a41324a9Smrg AC_DEFINE(HAVE_EXPF) 21a41324a9Smrg AC_DEFINE(HAVE_FABSF) 22a41324a9Smrg AC_DEFINE(HAVE_FLOORF) 23a41324a9Smrg AC_DEFINE(HAVE_FMODF) 24a41324a9Smrg AC_DEFINE(HAVE_FREXPF) 25a41324a9Smrg AC_DEFINE(HAVE_SQRTF) 26a41324a9Smrg AC_DEFINE(HAVE_HYPOTF) 27a41324a9Smrg AC_DEFINE(HAVE_LDEXPF) 28a41324a9Smrg AC_DEFINE(HAVE_LOG10F) 29a41324a9Smrg AC_DEFINE(HAVE_LOGF) 30a41324a9Smrg AC_DEFINE(HAVE_MODFF) 31a41324a9Smrg AC_DEFINE(HAVE_POWF) 32a41324a9Smrg AC_DEFINE(HAVE_SINF) 33a41324a9Smrg AC_DEFINE(HAVE_SINHF) 34a41324a9Smrg AC_DEFINE(HAVE_TANF) 35a41324a9Smrg AC_DEFINE(HAVE_TANHF) 36a41324a9Smrg ;; 37a41324a9Smrg 384fee23f9Smrg mips*-sde-elf*) 394fee23f9Smrg # These definitions are for the SDE C library rather than newlib. 404fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 414fee23f9Smrg AC_SUBST(SECTION_FLAGS) 424fee23f9Smrg GLIBCXX_CHECK_COMPILER_FEATURES 434fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 444fee23f9Smrg GLIBCXX_CHECK_MATH_SUPPORT 454fee23f9Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 464fee23f9Smrg 474fee23f9Smrg AC_DEFINE(HAVE_FINITE) 484fee23f9Smrg AC_DEFINE(HAVE_HYPOT) 494fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 504fee23f9Smrg AC_DEFINE(HAVE_ISINF) 514fee23f9Smrg 524fee23f9Smrg AC_DEFINE(HAVE_LDEXPF) 534fee23f9Smrg AC_DEFINE(HAVE_MODF) 544fee23f9Smrg AC_DEFINE(HAVE_SQRTF) 554fee23f9Smrg ;; 564fee23f9Smrg 574fee23f9Smrg *-aix*) 584fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 594fee23f9Smrg GLIBCXX_CHECK_MATH_SUPPORT 604fee23f9Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 61654d12c0Smrg AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM) 624fee23f9Smrg AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) 634fee23f9Smrg # We don't yet support AIX's TLS ABI. 644fee23f9Smrg #GCC_CHECK_TLS 654fee23f9Smrg AM_ICONV 66*e9e6e0f6Smrg 67*e9e6e0f6Smrg AC_DEFINE(HAVE_USELOCALE) 684fee23f9Smrg ;; 694fee23f9Smrg 704fee23f9Smrg *-darwin*) 714fee23f9Smrg # Darwin versions vary, but the linker should work in a cross environment, 724fee23f9Smrg # so we just check for all the features here. 734fee23f9Smrg # Check for available headers. 744fee23f9Smrg 754fee23f9Smrg # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld 764fee23f9Smrg GLIBCXX_CHECK_MATH_SUPPORT 774fee23f9Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 78*e9e6e0f6Smrg 79*e9e6e0f6Smrg AC_CHECK_FUNCS(uselocale) 804fee23f9Smrg ;; 814fee23f9Smrg 824fee23f9Smrg *djgpp) 834fee23f9Smrg # GLIBCXX_CHECK_MATH_SUPPORT 844fee23f9Smrg AC_DEFINE(HAVE_ISINF) 854fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 864fee23f9Smrg AC_DEFINE(HAVE_FINITE) 874fee23f9Smrg AC_DEFINE(HAVE_SINCOS) 884fee23f9Smrg AC_DEFINE(HAVE_HYPOT) 894fee23f9Smrg ;; 904fee23f9Smrg 914fee23f9Smrg *-freebsd*) 924fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 934fee23f9Smrg AC_SUBST(SECTION_FLAGS) 944fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 954fee23f9Smrg AC_DEFINE(HAVE_SETENV) 964fee23f9Smrg AC_DEFINE(HAVE_FINITEF) 974fee23f9Smrg AC_DEFINE(HAVE_FINITE) 984fee23f9Smrg AC_DEFINE(HAVE_FREXPF) 994fee23f9Smrg AC_DEFINE(HAVE_HYPOT) 1004fee23f9Smrg AC_DEFINE(HAVE_HYPOTF) 1014fee23f9Smrg AC_DEFINE(HAVE_ISINF) 1024fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 1034fee23f9Smrg AC_DEFINE(HAVE_ISNANF) 1044fee23f9Smrg 1054fee23f9Smrg AC_DEFINE(HAVE_ACOSF) 1064fee23f9Smrg AC_DEFINE(HAVE_ASINF) 1074fee23f9Smrg AC_DEFINE(HAVE_ATAN2F) 1084fee23f9Smrg AC_DEFINE(HAVE_ATANF) 1094fee23f9Smrg AC_DEFINE(HAVE_CEILF) 1104fee23f9Smrg AC_DEFINE(HAVE_COSF) 1114fee23f9Smrg AC_DEFINE(HAVE_COSHF) 1124fee23f9Smrg AC_DEFINE(HAVE_EXPF) 1134fee23f9Smrg AC_DEFINE(HAVE_FABSF) 1144fee23f9Smrg AC_DEFINE(HAVE_FLOORF) 1154fee23f9Smrg AC_DEFINE(HAVE_FMODF) 1164fee23f9Smrg AC_DEFINE(HAVE_FREXPF) 1174fee23f9Smrg AC_DEFINE(HAVE_LDEXPF) 1184fee23f9Smrg AC_DEFINE(HAVE_LOG10F) 1194fee23f9Smrg AC_DEFINE(HAVE_LOGF) 1204fee23f9Smrg AC_DEFINE(HAVE_MODFF) 1214fee23f9Smrg AC_DEFINE(HAVE_POWF) 1224fee23f9Smrg AC_DEFINE(HAVE_SINF) 1234fee23f9Smrg AC_DEFINE(HAVE_SINHF) 1244fee23f9Smrg AC_DEFINE(HAVE_SQRTF) 1254fee23f9Smrg AC_DEFINE(HAVE_TANF) 1264fee23f9Smrg AC_DEFINE(HAVE_TANHF) 1274fee23f9Smrg if test x"long_double_math_on_this_cpu" = x"yes"; then 1284fee23f9Smrg AC_DEFINE(HAVE_FINITEL) 1294fee23f9Smrg AC_DEFINE(HAVE_ISINFL) 1304fee23f9Smrg AC_DEFINE(HAVE_ISNANL) 1314fee23f9Smrg fi 132a41324a9Smrg AC_CHECK_FUNCS(__cxa_thread_atexit) 133a41324a9Smrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 134654d12c0Smrg AC_CHECK_FUNCS(timespec_get) 135654d12c0Smrg AC_CHECK_FUNCS(sockatmark) 136*e9e6e0f6Smrg AC_CHECK_FUNCS(uselocale) 1374fee23f9Smrg ;; 138a41324a9Smrg 139a41324a9Smrg *-fuchsia*) 140a41324a9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 141a41324a9Smrg AC_SUBST(SECTION_FLAGS) 142a41324a9Smrg ;; 143a41324a9Smrg 1444fee23f9Smrg *-hpux*) 1454fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 1464fee23f9Smrg AC_SUBST(SECTION_FLAGS) 1474fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 1484fee23f9Smrg 1494fee23f9Smrg # GLIBCXX_CHECK_MATH_SUPPORT 1504fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 1514fee23f9Smrg AC_DEFINE(HAVE_HYPOT) 1524fee23f9Smrg AC_DEFINE(HAVE_ACOSF) 1534fee23f9Smrg AC_DEFINE(HAVE_ASINF) 1544fee23f9Smrg AC_DEFINE(HAVE_ATANF) 1554fee23f9Smrg AC_DEFINE(HAVE_COSF) 1564fee23f9Smrg AC_DEFINE(HAVE_COSHF) 1574fee23f9Smrg AC_DEFINE(HAVE_SINF) 1584fee23f9Smrg AC_DEFINE(HAVE_SINHF) 1594fee23f9Smrg AC_DEFINE(HAVE_TANF) 1604fee23f9Smrg AC_DEFINE(HAVE_TANHF) 1614fee23f9Smrg AC_DEFINE(HAVE_EXPF) 1624fee23f9Smrg AC_DEFINE(HAVE_ATAN2F) 1634fee23f9Smrg AC_DEFINE(HAVE_FABSF) 1644fee23f9Smrg AC_DEFINE(HAVE_FMODF) 1654fee23f9Smrg AC_DEFINE(HAVE_FREXPF) 1664fee23f9Smrg AC_DEFINE(HAVE_LOGF) 1674fee23f9Smrg AC_DEFINE(HAVE_LOG10F) 1684fee23f9Smrg AC_DEFINE(HAVE_MODF) 1694fee23f9Smrg AC_DEFINE(HAVE_POWF) 1704fee23f9Smrg AC_DEFINE(HAVE_SQRTF) 1714fee23f9Smrg 1724fee23f9Smrg # GLIBCXX_CHECK_STDLIB_SUPPORT 1734fee23f9Smrg AC_DEFINE(HAVE_STRTOLD) 1744fee23f9Smrg 1754fee23f9Smrg GCC_CHECK_TLS 1764fee23f9Smrg case "$target" in 1774fee23f9Smrg *-hpux10*) 1784fee23f9Smrg AC_DEFINE(HAVE_ISINF) 1794fee23f9Smrg AC_DEFINE(HAVE_ISINFF) 1804fee23f9Smrg AC_DEFINE(HAVE_ISNANF) 1814fee23f9Smrg AC_DEFINE(HAVE_FINITE) 1824fee23f9Smrg AC_DEFINE(HAVE_FINITEF) 1834fee23f9Smrg ;; 1844fee23f9Smrg esac 1854fee23f9Smrg ;; 1863f8cba22Smrg *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*) 1874fee23f9Smrg GLIBCXX_CHECK_COMPILER_FEATURES 1884fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 1894fee23f9Smrg GLIBCXX_CHECK_MATH_SUPPORT 1904fee23f9Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 191654d12c0Smrg AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM) 1924fee23f9Smrg AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1) 1934fee23f9Smrg GCC_CHECK_TLS 194cdbfa754Smrg AC_CHECK_FUNCS(__cxa_thread_atexit_impl) 195a41324a9Smrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 196654d12c0Smrg AC_CHECK_FUNCS(timespec_get) 197654d12c0Smrg AC_CHECK_FUNCS(sockatmark) 198*e9e6e0f6Smrg AC_CHECK_FUNCS(uselocale) 1994fee23f9Smrg AM_ICONV 2004fee23f9Smrg ;; 2014fee23f9Smrg *-mingw32*) 2024fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 2034fee23f9Smrg GLIBCXX_CHECK_MATH_SUPPORT 2044fee23f9Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 205a41324a9Smrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 206654d12c0Smrg AC_CHECK_FUNCS(_wfopen) 207*e9e6e0f6Smrg GCC_CHECK_TLS 2084fee23f9Smrg ;; 209654d12c0Smrg *-netbsd* | *-openbsd*) 2104fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 2114fee23f9Smrg AC_SUBST(SECTION_FLAGS) 2124fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 2132f4e9d03Smrg 2142f4e9d03Smrg AC_DEFINE(HAVE_ICONV) 2152f4e9d03Smrg AC_DEFINE(HAVE_ICONV_CLOSE) 2162f4e9d03Smrg AC_DEFINE(HAVE_ICONV_OPEN) 2172f4e9d03Smrg AC_DEFINE(HAVE_LC_MESSAGES) 2182f4e9d03Smrg 2192f4e9d03Smrg AC_DEFINE(HAVE_MMAP) 2202f4e9d03Smrg AC_DEFINE(HAVE_GETPAGESIZE) 2212f4e9d03Smrg AC_DEFINE(HAVE_SETENV) 2222f4e9d03Smrg AC_DEFINE(HAVE_SIGSETJMP) 2232f4e9d03Smrg 2244fee23f9Smrg AC_DEFINE(HAVE_FINITEF) 2254fee23f9Smrg AC_DEFINE(HAVE_FINITE) 2264fee23f9Smrg AC_DEFINE(HAVE_FREXPF) 2272f4e9d03Smrg AC_DEFINE(HAVE_HYPOT) 2284fee23f9Smrg AC_DEFINE(HAVE_HYPOTF) 2294fee23f9Smrg AC_DEFINE(HAVE_ISINF) 2304fee23f9Smrg AC_DEFINE(HAVE_ISINFF) 2314fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 2324fee23f9Smrg AC_DEFINE(HAVE_ISNANF) 2332f4e9d03Smrg AC_DEFINE(HAVE_ACOSF) 2342f4e9d03Smrg AC_DEFINE(HAVE_ASINF) 2352f4e9d03Smrg AC_DEFINE(HAVE_ATAN2F) 2362f4e9d03Smrg AC_DEFINE(HAVE_ATANF) 2372f4e9d03Smrg AC_DEFINE(HAVE_CEILF) 2382f4e9d03Smrg AC_DEFINE(HAVE_COSF) 2392f4e9d03Smrg AC_DEFINE(HAVE_COSHF) 2402f4e9d03Smrg AC_DEFINE(HAVE_EXPF) 2412f4e9d03Smrg AC_DEFINE(HAVE_FABSF) 2422f4e9d03Smrg AC_DEFINE(HAVE_FLOORF) 2432f4e9d03Smrg AC_DEFINE(HAVE_FMODF) 2442f4e9d03Smrg AC_DEFINE(HAVE_FREXPF) 2452f4e9d03Smrg AC_DEFINE(HAVE_LDEXPF) 2462f4e9d03Smrg AC_DEFINE(HAVE_LOG10F) 2472f4e9d03Smrg AC_DEFINE(HAVE_LOGF) 2482f4e9d03Smrg AC_DEFINE(HAVE_MODF) 2492f4e9d03Smrg AC_DEFINE(HAVE_MODFF) 2502f4e9d03Smrg AC_DEFINE(HAVE_POWF) 2512f4e9d03Smrg AC_DEFINE(HAVE_SINF) 2522f4e9d03Smrg AC_DEFINE(HAVE_SINHF) 2532f4e9d03Smrg AC_DEFINE(HAVE_SQRTF) 2542f4e9d03Smrg AC_DEFINE(HAVE_STRTOF) 2552f4e9d03Smrg AC_DEFINE(HAVE_STRTOLD) 2562f4e9d03Smrg AC_DEFINE(HAVE_TANF) 2572f4e9d03Smrg AC_DEFINE(HAVE_TANHF) 2584fee23f9Smrg if test x"long_double_math_on_this_cpu" = x"yes"; then 2594fee23f9Smrg AC_DEFINE(HAVE_FINITEL) 2604fee23f9Smrg AC_DEFINE(HAVE_ISINFL) 2614fee23f9Smrg AC_DEFINE(HAVE_ISNANL) 2624fee23f9Smrg fi 263a41324a9Smrg AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc) 264654d12c0Smrg AC_CHECK_FUNCS(timespec_get) 265654d12c0Smrg AC_CHECK_FUNCS(sockatmark) 2664fee23f9Smrg ;; 2674fee23f9Smrg *-qnx6.1* | *-qnx6.2*) 2684fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 2694fee23f9Smrg AC_SUBST(SECTION_FLAGS) 2704fee23f9Smrg GLIBCXX_CHECK_LINKER_FEATURES 2714fee23f9Smrg AC_DEFINE(HAVE_COSF) 2724fee23f9Smrg AC_DEFINE(HAVE_COSL) 2734fee23f9Smrg AC_DEFINE(HAVE_COSHF) 2744fee23f9Smrg AC_DEFINE(HAVE_COSHL) 2754fee23f9Smrg AC_DEFINE(HAVE_LOGF) 2764fee23f9Smrg AC_DEFINE(HAVE_LOGL) 2774fee23f9Smrg AC_DEFINE(HAVE_LOG10F) 2784fee23f9Smrg AC_DEFINE(HAVE_LOG10L) 2794fee23f9Smrg AC_DEFINE(HAVE_SINF) 2804fee23f9Smrg AC_DEFINE(HAVE_SINL) 2814fee23f9Smrg AC_DEFINE(HAVE_SINHF) 2824fee23f9Smrg AC_DEFINE(HAVE_SINHL) 2834fee23f9Smrg ;; 28423da6d05Smrg *-rtems*) 28523da6d05Smrg GLIBCXX_CHECK_COMPILER_FEATURES 28623da6d05Smrg GLIBCXX_CHECK_LINKER_FEATURES 28723da6d05Smrg GLIBCXX_CHECK_MATH_SUPPORT 28823da6d05Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 28923da6d05Smrg ;; 2904fee23f9Smrg *-tpf) 2914fee23f9Smrg SECTION_FLAGS='-ffunction-sections -fdata-sections' 29223da6d05Smrg SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS' 2934fee23f9Smrg AC_SUBST(SECTION_FLAGS) 2944fee23f9Smrg AC_DEFINE(HAVE_FINITE) 2954fee23f9Smrg AC_DEFINE(HAVE_FINITEF) 2964fee23f9Smrg AC_DEFINE(HAVE_FREXPF) 2974fee23f9Smrg AC_DEFINE(HAVE_HYPOTF) 2984fee23f9Smrg AC_DEFINE(HAVE_ISINF) 2994fee23f9Smrg AC_DEFINE(HAVE_ISINFF) 3004fee23f9Smrg AC_DEFINE(HAVE_ISNAN) 3014fee23f9Smrg AC_DEFINE(HAVE_ISNANF) 3024fee23f9Smrg AC_DEFINE(HAVE_SINCOS) 3034fee23f9Smrg AC_DEFINE(HAVE_SINCOSF) 3044fee23f9Smrg if test x"long_double_math_on_this_cpu" = x"yes"; then 3054fee23f9Smrg AC_DEFINE(HAVE_FINITEL) 3064fee23f9Smrg AC_DEFINE(HAVE_HYPOTL) 3074fee23f9Smrg AC_DEFINE(HAVE_ISINFL) 3084fee23f9Smrg AC_DEFINE(HAVE_ISNANL) 3094fee23f9Smrg fi 3104fee23f9Smrg ;; 31123da6d05Smrg *-*vms*) 31223da6d05Smrg # Check for available headers. 31323da6d05Smrg # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld 31423da6d05Smrg GLIBCXX_CHECK_MATH_SUPPORT 31523da6d05Smrg GLIBCXX_CHECK_STDLIB_SUPPORT 31623da6d05Smrg ;; 317*e9e6e0f6Smrg *-vxworks*) 3184fee23f9Smrg AC_DEFINE(HAVE_ACOSF) 3194fee23f9Smrg AC_DEFINE(HAVE_ASINF) 3204fee23f9Smrg AC_DEFINE(HAVE_ATAN2F) 3214fee23f9Smrg AC_DEFINE(HAVE_ATANF) 3224fee23f9Smrg AC_DEFINE(HAVE_CEILF) 3234fee23f9Smrg AC_DEFINE(HAVE_COSF) 3244fee23f9Smrg AC_DEFINE(HAVE_COSHF) 3254fee23f9Smrg AC_DEFINE(HAVE_EXPF) 3264fee23f9Smrg AC_DEFINE(HAVE_FABSF) 3274fee23f9Smrg AC_DEFINE(HAVE_FLOORF) 3284fee23f9Smrg AC_DEFINE(HAVE_FMODF) 3294fee23f9Smrg AC_DEFINE(HAVE_HYPOT) 3304fee23f9Smrg AC_DEFINE(HAVE_LOG10F) 3314fee23f9Smrg AC_DEFINE(HAVE_LOGF) 3324fee23f9Smrg AC_DEFINE(HAVE_POWF) 3334fee23f9Smrg AC_DEFINE(HAVE_SINF) 3344fee23f9Smrg AC_DEFINE(HAVE_SINHF) 3354fee23f9Smrg AC_DEFINE(HAVE_SQRTF) 3364fee23f9Smrg AC_DEFINE(HAVE_TANF) 3374fee23f9Smrg AC_DEFINE(HAVE_TANHF) 33843265c03Smrg 33943265c03Smrgdnl # Different versions and execution modes implement different 34043265c03Smrgdnl # subsets of these functions. Instead of hard-coding, test for C 34143265c03Smrgdnl # declarations in headers. The C primitives could be defined as 34243265c03Smrgdnl # macros, in which case the tests might fail, and we might have to 34343265c03Smrgdnl # switch to more elaborate tests. 34443265c03Smrg GLIBCXX_CHECK_MATH_DECLS([ 34543265c03Smrg acosl asinl atan2l atanl ceill cosl coshl expl fabsl floorl fmodl 346*e9e6e0f6Smrg frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl hypotl 347*e9e6e0f6Smrg ldexpf modff hypotf frexpf]) 34843265c03Smrgdnl # sincosl is the only one missing here, compared with the *l 34943265c03Smrgdnl # functions in the list guarded by 35043265c03Smrgdnl # long_double_math_on_this_cpu in configure.ac, right after 35143265c03Smrgdnl # the expansion of the present macro. 3524fee23f9Smrg ;; 3534fee23f9Smrg *) 3544fee23f9Smrg AC_MSG_ERROR([No support for this host/target combination.]) 3554fee23f9Smrg ;; 3564fee23f9Smrgesac 3574fee23f9Smrg]) 35843265c03Smrg 35943265c03Smrg 36043265c03Smrgdnl 36143265c03Smrgdnl Check to see if the (math function) argument passed is 36243265c03Smrgdnl declared when using the c compiler 36343265c03Smrgdnl 36443265c03Smrgdnl Define HAVE_CARGF etc if "cargf" is declared 36543265c03Smrgdnl 36643265c03Smrgdnl argument 1 is name of function to check 36743265c03Smrgdnl 36843265c03Smrgdnl ASSUMES argument is a math function 36943265c03Smrgdnl 37043265c03Smrgdnl GLIBCXX_CHECK_MATH_DECL 37143265c03SmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL], [ 37243265c03Smrg AC_CACHE_CHECK([for $1 declaration], 37343265c03Smrg [glibcxx_cv_func_$1_use], [ 37443265c03Smrg AC_LANG_SAVE 37543265c03Smrg AC_LANG_C 37643265c03Smrg AC_TRY_COMPILE([ 37743265c03Smrg#include <math.h> 37843265c03Smrg#ifdef HAVE_IEEEFP_H 37943265c03Smrg# include <ieeefp.h> 38043265c03Smrg#endif 38143265c03Smrg#undef $1 38243265c03Smrg], [ 38343265c03Smrg void (*f)(void) = (void (*)(void))$1; 38443265c03Smrg], [glibcxx_cv_func_$1_use=yes 38543265c03Smrg], [glibcxx_cv_func_$1_use=no])]) 38643265c03Smrg if test "x$glibcxx_cv_func_$1_use" = xyes; then 38743265c03Smrg AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1])) 38843265c03Smrg fi 38943265c03Smrg]) 39043265c03Smrg 39143265c03Smrgdnl 39243265c03Smrgdnl Check to see whether multiple math functions are 39343265c03Smrgdnl declared when using the c compiler 39443265c03Smrgdnl 39543265c03Smrgdnl Define HAVE_CARGF HAVE_POWL etc if "cargf" and "powl" 39643265c03Smrgdnl are declared 39743265c03Smrgdnl 39843265c03Smrgdnl argument 1 is a word list naming function to check 39943265c03Smrgdnl 40043265c03Smrgdnl ASSUMES arguments are math functions 40143265c03Smrgdnl 40243265c03Smrgdnl GLIBCXX_CHECK_MATH_DECLS 40343265c03SmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECLS], [ 40443265c03Smrg m4_foreach_w([glibcxx_func], [$1], [ 40543265c03Smrg GLIBCXX_CHECK_MATH_DECL(glibcxx_func) 40643265c03Smrg ]) 40743265c03Smrg]) 408