110d565efSmrgdnl
210d565efSmrgdnl This file contains details for non-native builds.
310d565efSmrgdnl
410d565efSmrg
510d565efSmrgAC_DEFUN([GLIBCXX_CROSSCONFIG],[
610d565efSmrg# Base decisions on target environment.
710d565efSmrgcase "${host}" in
810d565efSmrg  arm*-*-symbianelf*)
910d565efSmrg    # This is a freestanding configuration; there is nothing to do here.
1010d565efSmrg    ;;
1110d565efSmrg
1210d565efSmrg  avr*-*-*)
1310d565efSmrg    AC_DEFINE(HAVE_ACOSF)
1410d565efSmrg    AC_DEFINE(HAVE_ASINF)
1510d565efSmrg    AC_DEFINE(HAVE_ATAN2F)
1610d565efSmrg    AC_DEFINE(HAVE_ATANF)
1710d565efSmrg    AC_DEFINE(HAVE_CEILF)
1810d565efSmrg    AC_DEFINE(HAVE_COSF)
1910d565efSmrg    AC_DEFINE(HAVE_COSHF)
2010d565efSmrg    AC_DEFINE(HAVE_EXPF)
2110d565efSmrg    AC_DEFINE(HAVE_FABSF)
2210d565efSmrg    AC_DEFINE(HAVE_FLOORF)
2310d565efSmrg    AC_DEFINE(HAVE_FMODF)
2410d565efSmrg    AC_DEFINE(HAVE_FREXPF)
2510d565efSmrg    AC_DEFINE(HAVE_SQRTF)
2610d565efSmrg    AC_DEFINE(HAVE_HYPOTF)
2710d565efSmrg    AC_DEFINE(HAVE_LDEXPF)
2810d565efSmrg    AC_DEFINE(HAVE_LOG10F)
2910d565efSmrg    AC_DEFINE(HAVE_LOGF)
3010d565efSmrg    AC_DEFINE(HAVE_MODFF)
3110d565efSmrg    AC_DEFINE(HAVE_POWF)
3210d565efSmrg    AC_DEFINE(HAVE_SINF)
3310d565efSmrg    AC_DEFINE(HAVE_SINHF)
3410d565efSmrg    AC_DEFINE(HAVE_TANF)
3510d565efSmrg    AC_DEFINE(HAVE_TANHF)
3610d565efSmrg    ;;
3710d565efSmrg
3810d565efSmrg  mips*-sde-elf*)
3910d565efSmrg    # These definitions are for the SDE C library rather than newlib.
4010d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
4110d565efSmrg    AC_SUBST(SECTION_FLAGS)
4210d565efSmrg    GLIBCXX_CHECK_COMPILER_FEATURES
4310d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
4410d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
4510d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
4610d565efSmrg
4710d565efSmrg    AC_DEFINE(HAVE_FINITE)
4810d565efSmrg    AC_DEFINE(HAVE_HYPOT)
4910d565efSmrg    AC_DEFINE(HAVE_ISNAN)
5010d565efSmrg    AC_DEFINE(HAVE_ISINF)
5110d565efSmrg
5210d565efSmrg    AC_DEFINE(HAVE_LDEXPF)
5310d565efSmrg    AC_DEFINE(HAVE_MODF)
5410d565efSmrg    AC_DEFINE(HAVE_SQRTF)
5510d565efSmrg    ;;
5610d565efSmrg
5710d565efSmrg  *-aix*)
5810d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
5910d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
6010d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
610fc04c29Smrg    AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
6210d565efSmrg    AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
6310d565efSmrg    # We don't yet support AIX's TLS ABI.
6410d565efSmrg    #GCC_CHECK_TLS
6510d565efSmrg    AM_ICONV
6610d565efSmrg    ;;
6710d565efSmrg
6810d565efSmrg  *-darwin*)
6910d565efSmrg    # Darwin versions vary, but the linker should work in a cross environment,
7010d565efSmrg    # so we just check for all the features here.
7110d565efSmrg    # Check for available headers.
7210d565efSmrg
7310d565efSmrg    # Don't call GLIBCXX_CHECK_LINKER_FEATURES, Darwin doesn't have a GNU ld
7410d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
7510d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
7610d565efSmrg    ;;
7710d565efSmrg
7810d565efSmrg  *djgpp)
7910d565efSmrg    # GLIBCXX_CHECK_MATH_SUPPORT
8010d565efSmrg    AC_DEFINE(HAVE_ISINF)
8110d565efSmrg    AC_DEFINE(HAVE_ISNAN)
8210d565efSmrg    AC_DEFINE(HAVE_FINITE)
8310d565efSmrg    AC_DEFINE(HAVE_SINCOS)
8410d565efSmrg    AC_DEFINE(HAVE_HYPOT)
8510d565efSmrg    ;;
8610d565efSmrg
8710d565efSmrg  *-freebsd*)
8810d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
8910d565efSmrg    AC_SUBST(SECTION_FLAGS)
9010d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
9110d565efSmrg    AC_DEFINE(HAVE_SETENV)
9210d565efSmrg    AC_DEFINE(HAVE_FINITEF)
9310d565efSmrg    AC_DEFINE(HAVE_FINITE)
9410d565efSmrg    AC_DEFINE(HAVE_FREXPF)
9510d565efSmrg    AC_DEFINE(HAVE_HYPOT)
9610d565efSmrg    AC_DEFINE(HAVE_HYPOTF)
9710d565efSmrg    AC_DEFINE(HAVE_ISINF)
9810d565efSmrg    AC_DEFINE(HAVE_ISNAN)
9910d565efSmrg    AC_DEFINE(HAVE_ISNANF)
10010d565efSmrg
10110d565efSmrg    AC_DEFINE(HAVE_ACOSF)
10210d565efSmrg    AC_DEFINE(HAVE_ASINF)
10310d565efSmrg    AC_DEFINE(HAVE_ATAN2F)
10410d565efSmrg    AC_DEFINE(HAVE_ATANF)
10510d565efSmrg    AC_DEFINE(HAVE_CEILF)
10610d565efSmrg    AC_DEFINE(HAVE_COSF)
10710d565efSmrg    AC_DEFINE(HAVE_COSHF)
10810d565efSmrg    AC_DEFINE(HAVE_EXPF)
10910d565efSmrg    AC_DEFINE(HAVE_FABSF)
11010d565efSmrg    AC_DEFINE(HAVE_FLOORF)
11110d565efSmrg    AC_DEFINE(HAVE_FMODF)
11210d565efSmrg    AC_DEFINE(HAVE_FREXPF)
11310d565efSmrg    AC_DEFINE(HAVE_LDEXPF)
11410d565efSmrg    AC_DEFINE(HAVE_LOG10F)
11510d565efSmrg    AC_DEFINE(HAVE_LOGF)
11610d565efSmrg    AC_DEFINE(HAVE_MODFF)
11710d565efSmrg    AC_DEFINE(HAVE_POWF)
11810d565efSmrg    AC_DEFINE(HAVE_SINF)
11910d565efSmrg    AC_DEFINE(HAVE_SINHF)
12010d565efSmrg    AC_DEFINE(HAVE_SQRTF)
12110d565efSmrg    AC_DEFINE(HAVE_TANF)
12210d565efSmrg    AC_DEFINE(HAVE_TANHF)
12310d565efSmrg    if test x"long_double_math_on_this_cpu" = x"yes"; then
12410d565efSmrg      AC_DEFINE(HAVE_FINITEL)
12510d565efSmrg      AC_DEFINE(HAVE_ISINFL)
12610d565efSmrg      AC_DEFINE(HAVE_ISNANL)
12710d565efSmrg    fi
12810d565efSmrg    AC_CHECK_FUNCS(__cxa_thread_atexit)
12910d565efSmrg    AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
1300fc04c29Smrg    AC_CHECK_FUNCS(timespec_get)
1310fc04c29Smrg    AC_CHECK_FUNCS(sockatmark)
13210d565efSmrg    ;;
13310d565efSmrg
13410d565efSmrg  *-fuchsia*)
13510d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
13610d565efSmrg    AC_SUBST(SECTION_FLAGS)
13710d565efSmrg    ;;
13810d565efSmrg
13910d565efSmrg  *-hpux*)
14010d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
14110d565efSmrg    AC_SUBST(SECTION_FLAGS)
14210d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
14310d565efSmrg
14410d565efSmrg    # GLIBCXX_CHECK_MATH_SUPPORT
14510d565efSmrg    AC_DEFINE(HAVE_ISNAN)
14610d565efSmrg    AC_DEFINE(HAVE_HYPOT)
14710d565efSmrg    AC_DEFINE(HAVE_ACOSF)
14810d565efSmrg    AC_DEFINE(HAVE_ASINF)
14910d565efSmrg    AC_DEFINE(HAVE_ATANF)
15010d565efSmrg    AC_DEFINE(HAVE_COSF)
15110d565efSmrg    AC_DEFINE(HAVE_COSHF)
15210d565efSmrg    AC_DEFINE(HAVE_SINF)
15310d565efSmrg    AC_DEFINE(HAVE_SINHF)
15410d565efSmrg    AC_DEFINE(HAVE_TANF)
15510d565efSmrg    AC_DEFINE(HAVE_TANHF)
15610d565efSmrg    AC_DEFINE(HAVE_EXPF)
15710d565efSmrg    AC_DEFINE(HAVE_ATAN2F)
15810d565efSmrg    AC_DEFINE(HAVE_FABSF)
15910d565efSmrg    AC_DEFINE(HAVE_FMODF)
16010d565efSmrg    AC_DEFINE(HAVE_FREXPF)
16110d565efSmrg    AC_DEFINE(HAVE_LOGF)
16210d565efSmrg    AC_DEFINE(HAVE_LOG10F)
16310d565efSmrg    AC_DEFINE(HAVE_MODF)
16410d565efSmrg    AC_DEFINE(HAVE_POWF)
16510d565efSmrg    AC_DEFINE(HAVE_SQRTF)
16610d565efSmrg
16710d565efSmrg    # GLIBCXX_CHECK_STDLIB_SUPPORT
16810d565efSmrg    AC_DEFINE(HAVE_STRTOLD)
16910d565efSmrg
17010d565efSmrg    GCC_CHECK_TLS
17110d565efSmrg    case "$target" in
17210d565efSmrg      *-hpux10*)
17310d565efSmrg	AC_DEFINE(HAVE_ISINF)
17410d565efSmrg	AC_DEFINE(HAVE_ISINFF)
17510d565efSmrg	AC_DEFINE(HAVE_ISNANF)
17610d565efSmrg	AC_DEFINE(HAVE_FINITE)
17710d565efSmrg	AC_DEFINE(HAVE_FINITEF)
17810d565efSmrg	;;
17910d565efSmrg    esac
18010d565efSmrg    ;;
181c7a68eb7Smrg  *-linux* | *-uclinux* | *-gnu* | *-kfreebsd*-gnu | *-cygwin* | *-solaris*)
18210d565efSmrg    GLIBCXX_CHECK_COMPILER_FEATURES
18310d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
18410d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
18510d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
1860fc04c29Smrg    AC_DEFINE(_GLIBCXX_USE_DEV_RANDOM)
18710d565efSmrg    AC_DEFINE(_GLIBCXX_USE_RANDOM_TR1)
18810d565efSmrg    GCC_CHECK_TLS
18910d565efSmrg    AC_CHECK_FUNCS(__cxa_thread_atexit_impl)
19010d565efSmrg    AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
1910fc04c29Smrg    AC_CHECK_FUNCS(timespec_get)
1920fc04c29Smrg    AC_CHECK_FUNCS(sockatmark)
19310d565efSmrg    AM_ICONV
19410d565efSmrg    ;;
19510d565efSmrg  *-mingw32*)
19610d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
19710d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
19810d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
19910d565efSmrg    AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
2000fc04c29Smrg    AC_CHECK_FUNCS(_wfopen)
20110d565efSmrg    ;;
2020fc04c29Smrg  *-netbsd* | *-openbsd*)
20310d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
20410d565efSmrg    AC_SUBST(SECTION_FLAGS)
20510d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
20610d565efSmrg
20710d565efSmrg    AC_DEFINE(HAVE_ICONV)
20810d565efSmrg    AC_DEFINE(HAVE_ICONV_CLOSE)
20910d565efSmrg    AC_DEFINE(HAVE_ICONV_OPEN)
21010d565efSmrg    AC_DEFINE(HAVE_LC_MESSAGES)
21110d565efSmrg
21210d565efSmrg    AC_DEFINE(HAVE_MMAP)
21310d565efSmrg    AC_DEFINE(HAVE_GETPAGESIZE)
21410d565efSmrg    AC_DEFINE(HAVE_SETENV)
21510d565efSmrg    AC_DEFINE(HAVE_SIGSETJMP)
21610d565efSmrg
21710d565efSmrg    AC_DEFINE(HAVE_FINITEF)
21810d565efSmrg    AC_DEFINE(HAVE_FINITE)
21910d565efSmrg    AC_DEFINE(HAVE_FREXPF)
22010d565efSmrg    AC_DEFINE(HAVE_HYPOT)
22110d565efSmrg    AC_DEFINE(HAVE_HYPOTF)
22210d565efSmrg    AC_DEFINE(HAVE_ISINF)
22310d565efSmrg    AC_DEFINE(HAVE_ISINFF)
22410d565efSmrg    AC_DEFINE(HAVE_ISNAN)
22510d565efSmrg    AC_DEFINE(HAVE_ISNANF)
22610d565efSmrg    AC_DEFINE(HAVE_ACOSF)
22710d565efSmrg    AC_DEFINE(HAVE_ASINF)
22810d565efSmrg    AC_DEFINE(HAVE_ATAN2F)
22910d565efSmrg    AC_DEFINE(HAVE_ATANF)
23010d565efSmrg    AC_DEFINE(HAVE_CEILF)
23110d565efSmrg    AC_DEFINE(HAVE_COSF)
23210d565efSmrg    AC_DEFINE(HAVE_COSHF)
23310d565efSmrg    AC_DEFINE(HAVE_EXPF)
23410d565efSmrg    AC_DEFINE(HAVE_FABSF)
23510d565efSmrg    AC_DEFINE(HAVE_FLOORF)
23610d565efSmrg    AC_DEFINE(HAVE_FMODF)
23710d565efSmrg    AC_DEFINE(HAVE_FREXPF)
23810d565efSmrg    AC_DEFINE(HAVE_LDEXPF)
23910d565efSmrg    AC_DEFINE(HAVE_LOG10F)
24010d565efSmrg    AC_DEFINE(HAVE_LOGF)
24110d565efSmrg    AC_DEFINE(HAVE_MODF)
24210d565efSmrg    AC_DEFINE(HAVE_MODFF)
24310d565efSmrg    AC_DEFINE(HAVE_POWF)
24410d565efSmrg    AC_DEFINE(HAVE_SINF)
24510d565efSmrg    AC_DEFINE(HAVE_SINHF)
24610d565efSmrg    AC_DEFINE(HAVE_SQRTF)
24710d565efSmrg    AC_DEFINE(HAVE_STRTOF)
24810d565efSmrg    AC_DEFINE(HAVE_STRTOLD)
24910d565efSmrg    AC_DEFINE(HAVE_TANF)
25010d565efSmrg    AC_DEFINE(HAVE_TANHF)
25110d565efSmrg    if test x"long_double_math_on_this_cpu" = x"yes"; then
25210d565efSmrg      AC_DEFINE(HAVE_FINITEL)
25310d565efSmrg      AC_DEFINE(HAVE_ISINFL)
25410d565efSmrg      AC_DEFINE(HAVE_ISNANL)
25510d565efSmrg    fi
25610d565efSmrg    AC_CHECK_FUNCS(aligned_alloc posix_memalign memalign _aligned_malloc)
2570fc04c29Smrg    AC_CHECK_FUNCS(timespec_get)
2580fc04c29Smrg    AC_CHECK_FUNCS(sockatmark)
25910d565efSmrg    ;;
26010d565efSmrg  *-qnx6.1* | *-qnx6.2*)
26110d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
26210d565efSmrg    AC_SUBST(SECTION_FLAGS)
26310d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
26410d565efSmrg    AC_DEFINE(HAVE_COSF)
26510d565efSmrg    AC_DEFINE(HAVE_COSL)
26610d565efSmrg    AC_DEFINE(HAVE_COSHF)
26710d565efSmrg    AC_DEFINE(HAVE_COSHL)
26810d565efSmrg    AC_DEFINE(HAVE_LOGF)
26910d565efSmrg    AC_DEFINE(HAVE_LOGL)
27010d565efSmrg    AC_DEFINE(HAVE_LOG10F)
27110d565efSmrg    AC_DEFINE(HAVE_LOG10L)
27210d565efSmrg    AC_DEFINE(HAVE_SINF)
27310d565efSmrg    AC_DEFINE(HAVE_SINL)
27410d565efSmrg    AC_DEFINE(HAVE_SINHF)
27510d565efSmrg    AC_DEFINE(HAVE_SINHL)
27610d565efSmrg    ;;
27710d565efSmrg  *-rtems*)
27810d565efSmrg    GLIBCXX_CHECK_COMPILER_FEATURES
27910d565efSmrg    GLIBCXX_CHECK_LINKER_FEATURES
28010d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
28110d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
28210d565efSmrg    ;;
28310d565efSmrg  *-tpf)
28410d565efSmrg    SECTION_FLAGS='-ffunction-sections -fdata-sections'
28510d565efSmrg    SECTION_LDFLAGS='-Wl,--gc-sections $SECTION_LDFLAGS'
28610d565efSmrg    AC_SUBST(SECTION_FLAGS)
28710d565efSmrg    AC_DEFINE(HAVE_FINITE)
28810d565efSmrg    AC_DEFINE(HAVE_FINITEF)
28910d565efSmrg    AC_DEFINE(HAVE_FREXPF)
29010d565efSmrg    AC_DEFINE(HAVE_HYPOTF)
29110d565efSmrg    AC_DEFINE(HAVE_ISINF)
29210d565efSmrg    AC_DEFINE(HAVE_ISINFF)
29310d565efSmrg    AC_DEFINE(HAVE_ISNAN)
29410d565efSmrg    AC_DEFINE(HAVE_ISNANF)
29510d565efSmrg    AC_DEFINE(HAVE_SINCOS)
29610d565efSmrg    AC_DEFINE(HAVE_SINCOSF)
29710d565efSmrg    if test x"long_double_math_on_this_cpu" = x"yes"; then
29810d565efSmrg      AC_DEFINE(HAVE_FINITEL)
29910d565efSmrg      AC_DEFINE(HAVE_HYPOTL)
30010d565efSmrg      AC_DEFINE(HAVE_ISINFL)
30110d565efSmrg      AC_DEFINE(HAVE_ISNANL)
30210d565efSmrg    fi
30310d565efSmrg    ;;
30410d565efSmrg  *-*vms*)
30510d565efSmrg    # Check for available headers.
30610d565efSmrg    # Don't call GLIBCXX_CHECK_LINKER_FEATURES, VMS doesn't have a GNU ld
30710d565efSmrg    GLIBCXX_CHECK_MATH_SUPPORT
30810d565efSmrg    GLIBCXX_CHECK_STDLIB_SUPPORT
30910d565efSmrg    ;;
31010d565efSmrg  *-vxworks)
31110d565efSmrg    AC_DEFINE(HAVE_ACOSF)
31210d565efSmrg    AC_DEFINE(HAVE_ASINF)
31310d565efSmrg    AC_DEFINE(HAVE_ATAN2F)
31410d565efSmrg    AC_DEFINE(HAVE_ATANF)
31510d565efSmrg    AC_DEFINE(HAVE_CEILF)
31610d565efSmrg    AC_DEFINE(HAVE_COSF)
31710d565efSmrg    AC_DEFINE(HAVE_COSHF)
31810d565efSmrg    AC_DEFINE(HAVE_EXPF)
31910d565efSmrg    AC_DEFINE(HAVE_FABSF)
32010d565efSmrg    AC_DEFINE(HAVE_FLOORF)
32110d565efSmrg    AC_DEFINE(HAVE_FMODF)
32210d565efSmrg    AC_DEFINE(HAVE_HYPOT)
32310d565efSmrg    AC_DEFINE(HAVE_LOG10F)
32410d565efSmrg    AC_DEFINE(HAVE_LOGF)
32510d565efSmrg    AC_DEFINE(HAVE_POWF)
32610d565efSmrg    AC_DEFINE(HAVE_SINF)
32710d565efSmrg    AC_DEFINE(HAVE_SINHF)
32810d565efSmrg    AC_DEFINE(HAVE_SQRTF)
32910d565efSmrg    AC_DEFINE(HAVE_TANF)
33010d565efSmrg    AC_DEFINE(HAVE_TANHF)
331*ec02198aSmrg
332*ec02198aSmrgdnl # Different versions and execution modes implement different
333*ec02198aSmrgdnl # subsets of these functions.  Instead of hard-coding, test for C
334*ec02198aSmrgdnl # declarations in headers.  The C primitives could be defined as
335*ec02198aSmrgdnl # macros, in which case the tests might fail, and we might have to
336*ec02198aSmrgdnl # switch to more elaborate tests.
337*ec02198aSmrg    GLIBCXX_CHECK_MATH_DECLS([
338*ec02198aSmrg      acosl asinl atan2l atanl ceill cosl coshl expl fabsl floorl fmodl
339*ec02198aSmrg      frexpl ldexpl log10l logl modfl powl sinl sinhl sqrtl tanl tanhl])
340*ec02198aSmrgdnl # sincosl is the only one missing here, compared with the *l
341*ec02198aSmrgdnl # functions in the list guarded by
342*ec02198aSmrgdnl # long_double_math_on_this_cpu in configure.ac, right after
343*ec02198aSmrgdnl # the expansion of the present macro.
34410d565efSmrg    ;;
34510d565efSmrg  *)
34610d565efSmrg    AC_MSG_ERROR([No support for this host/target combination.])
34710d565efSmrg   ;;
34810d565efSmrgesac
34910d565efSmrg])
350*ec02198aSmrg
351*ec02198aSmrg
352*ec02198aSmrgdnl
353*ec02198aSmrgdnl Check to see if the (math function) argument passed is
354*ec02198aSmrgdnl declared when using the c compiler
355*ec02198aSmrgdnl
356*ec02198aSmrgdnl Define HAVE_CARGF etc if "cargf" is declared
357*ec02198aSmrgdnl
358*ec02198aSmrgdnl argument 1 is name of function to check
359*ec02198aSmrgdnl
360*ec02198aSmrgdnl ASSUMES argument is a math function
361*ec02198aSmrgdnl
362*ec02198aSmrgdnl GLIBCXX_CHECK_MATH_DECL
363*ec02198aSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECL], [
364*ec02198aSmrg  AC_CACHE_CHECK([for $1 declaration],
365*ec02198aSmrg    [glibcxx_cv_func_$1_use], [
366*ec02198aSmrg      AC_LANG_SAVE
367*ec02198aSmrg      AC_LANG_C
368*ec02198aSmrg      AC_TRY_COMPILE([
369*ec02198aSmrg#include <math.h>
370*ec02198aSmrg#ifdef HAVE_IEEEFP_H
371*ec02198aSmrg# include <ieeefp.h>
372*ec02198aSmrg#endif
373*ec02198aSmrg#undef $1
374*ec02198aSmrg], [
375*ec02198aSmrg  void (*f)(void) = (void (*)(void))$1;
376*ec02198aSmrg], [glibcxx_cv_func_$1_use=yes
377*ec02198aSmrg], [glibcxx_cv_func_$1_use=no])])
378*ec02198aSmrg  if test "x$glibcxx_cv_func_$1_use" = xyes; then
379*ec02198aSmrg    AC_DEFINE_UNQUOTED(AS_TR_CPP([HAVE_$1]))
380*ec02198aSmrg  fi
381*ec02198aSmrg])
382*ec02198aSmrg
383*ec02198aSmrgdnl
384*ec02198aSmrgdnl Check to see whether multiple math functions are
385*ec02198aSmrgdnl declared when using the c compiler
386*ec02198aSmrgdnl
387*ec02198aSmrgdnl Define HAVE_CARGF HAVE_POWL etc if "cargf" and "powl"
388*ec02198aSmrgdnl are declared
389*ec02198aSmrgdnl
390*ec02198aSmrgdnl argument 1 is a word list naming function to check
391*ec02198aSmrgdnl
392*ec02198aSmrgdnl ASSUMES arguments are math functions
393*ec02198aSmrgdnl
394*ec02198aSmrgdnl GLIBCXX_CHECK_MATH_DECLS
395*ec02198aSmrgAC_DEFUN([GLIBCXX_CHECK_MATH_DECLS], [
396*ec02198aSmrg  m4_foreach_w([glibcxx_func], [$1], [
397*ec02198aSmrg    GLIBCXX_CHECK_MATH_DECL(glibcxx_func)
398*ec02198aSmrg  ])
399*ec02198aSmrg])
400