Commit | Line | Data |
---|---|---|
acf89cab JM |
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 | ]) |