1 | dnl GCC_CHECK_LIBM |
---|
2 | dnl |
---|
3 | dnl Check whether -lm is available. This is a pre-requisite for |
---|
4 | dnl GCC_CHECK_MATH_FUNC so that it will link with -lm. |
---|
5 | AC_DEFUN([GCC_CHECK_LIBM], |
---|
6 | [AC_CHECK_LIB([m],[sin])]) |
---|
7 | |
---|
8 | dnl GCC_CHECK_MATH_HEADERS |
---|
9 | dnl |
---|
10 | dnl Check for math.h and complex.h. This is a pre-requisite for |
---|
11 | dnl GCC_CHECK_MATH_FUNC so that it includes the right headers. |
---|
12 | dnl (Some systems, such as AIX or OpenVMS may define macro for math |
---|
13 | dnl functions). |
---|
14 | AC_DEFUN([GCC_CHECK_MATH_HEADERS], |
---|
15 | [AC_CHECK_HEADERS_ONCE(math.h complex.h)]) |
---|
16 | |
---|
17 | dnl GCC_CHECK_MATH_FUNC([name]) |
---|
18 | dnl |
---|
19 | dnl Check whether math function NAME is available on the system (by compiling |
---|
20 | dnl and linking a C program) and run define HAVE_name on success. |
---|
21 | dnl |
---|
22 | dnl Note that OpenVMS system insists on including complex.h before math.h |
---|
23 | AC_DEFUN([GCC_CHECK_MATH_FUNC], |
---|
24 | [ |
---|
25 | AC_REQUIRE([GCC_CHECK_LIBM]) |
---|
26 | AC_REQUIRE([GCC_CHECK_MATH_HEADERS]) |
---|
27 | AC_CACHE_CHECK([for $1], [gcc_cv_math_func_$1], |
---|
28 | [AC_LINK_IFELSE([ |
---|
29 | #ifdef HAVE_COMPLEX_H |
---|
30 | #include <complex.h> |
---|
31 | #endif |
---|
32 | #ifdef HAVE_MATH_H |
---|
33 | #include <math.h> |
---|
34 | #endif |
---|
35 | |
---|
36 | int (*ptr)() = (int (*)())$1; |
---|
37 | |
---|
38 | int |
---|
39 | main () |
---|
40 | { |
---|
41 | return 0; |
---|
42 | } |
---|
43 | ], |
---|
44 | [gcc_cv_math_func_$1=yes], |
---|
45 | [gcc_cv_math_func_$1=no])]) |
---|
46 | if test $gcc_cv_math_func_$1 = yes; then |
---|
47 | AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1),[1], |
---|
48 | [Define to 1 if you have the `$1' function.]) |
---|
49 | fi |
---|
50 | ]) |
---|