]>
Commit | Line | Data |
---|---|---|
e564d7f5 | 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 | ||
6affa8e1 | 17 | dnl GCC_CHECK_MATH_FUNC([name]) |
e564d7f5 | 18 | dnl |
19 | dnl Check whether math function NAME is available on the system (by compiling | |
6affa8e1 | 20 | dnl and linking a C program) and run define HAVE_name on success. |
e564d7f5 | 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], | |
f00f02a3 | 28 | [AC_LINK_IFELSE([AC_LANG_SOURCE([ |
e564d7f5 | 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 | } | |
f00f02a3 | 43 | ])], |
e564d7f5 | 44 | [gcc_cv_math_func_$1=yes], |
45 | [gcc_cv_math_func_$1=no])]) | |
46 | if test $gcc_cv_math_func_$1 = yes; then | |
6affa8e1 | 47 | AC_DEFINE_UNQUOTED(AS_TR_CPP(HAVE_$1),[1], |
48 | [Define to 1 if you have the `$1' function.]) | |
e564d7f5 | 49 | fi |
50 | ]) |