2 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
9 AC_REQUIRE([gl_MATH_H_DEFAULTS])
10 gl_CHECK_NEXT_HEADERS([math.h])
11 AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works],
12 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
13 [[/* Solaris 10 has a broken definition of NAN. Other platforms
14 fail to provide NAN, or provide it only in C99 mode; this
15 test only needs to fail when NAN is provided but wrong. */
21 [gl_cv_header_math_nan_works=yes],
22 [gl_cv_header_math_nan_works=no])])
23 if test $gl_cv_header_math_nan_works = no; then
26 AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works],
27 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]],
28 [[/* Solaris 10 has a broken definition of HUGE_VAL. */
31 [gl_cv_header_math_huge_val_works=yes],
32 [gl_cv_header_math_huge_val_works=no])])
33 if test $gl_cv_header_math_huge_val_works = no; then
38 AC_DEFUN([gl_MATH_MODULE_INDICATOR],
40 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
41 AC_REQUIRE([gl_MATH_H_DEFAULTS])
42 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
45 AC_DEFUN([gl_MATH_H_DEFAULTS],
47 GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF])
48 GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL])
49 GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF])
50 GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL])
51 GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP])
52 GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL])
53 GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE])
54 GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF])
55 GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN])
56 GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF])
57 GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND])
58 GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL])
59 GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL])
60 GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL])
61 GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND])
62 GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF])
63 GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL])
64 GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT])
65 GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC])
66 GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF])
67 GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL])
68 dnl Assume proper GNU behavior unless another module says otherwise.
69 HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF])
70 HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND])
71 HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL])
72 HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL])
73 HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL])
74 HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL])
75 HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL])
76 HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL])
77 HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL])
78 HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL])
79 HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL])
80 HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL])
81 HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL])
82 HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL])
83 HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC])
84 HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF])
85 REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF])
86 REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL])
87 REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF])
88 REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL])
89 REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP])
90 REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL])
91 REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL])
92 REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE])
93 REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF])
94 REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN])
95 REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL])
96 REPLACE_NAN=0; AC_SUBST([REPLACE_NAN])
97 REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND])
98 REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF])
99 REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL])
100 REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT])
101 REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC])
102 REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL])