diff options
author | gingold <gingold@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-26 08:42:52 +0000 |
---|---|---|
committer | gingold <gingold@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-03-26 08:42:52 +0000 |
commit | e564d7f548f6ccbce0a59a2008700b4f545f5234 (patch) | |
tree | 766dfd228e0597427152a908fbaa5a4fe67feb25 /config | |
parent | ab3908c1dfc72dfede3e759059f8793a2dc25c1f (diff) | |
download | gcc-e564d7f548f6ccbce0a59a2008700b4f545f5234.tar.gz |
2012-03-26 Tristan Gingold <gingold@adacore.com>
* math.m4: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185788 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'config')
-rw-r--r-- | config/ChangeLog | 4 | ||||
-rw-r--r-- | config/math.m4 | 49 |
2 files changed, 53 insertions, 0 deletions
diff --git a/config/ChangeLog b/config/ChangeLog index bfabcc0fb3c..f502696ac55 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,7 @@ +2012-03-26 Tristan Gingold <gingold@adacore.com> + + * math.m4: New file. + 2012-03-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> * weakref.m4 (GCC_CHECK_ELF_STYLE_WEAKREF): Remove diff --git a/config/math.m4 b/config/math.m4 new file mode 100644 index 00000000000..5527c25aec3 --- /dev/null +++ b/config/math.m4 @@ -0,0 +1,49 @@ +dnl GCC_CHECK_LIBM +dnl +dnl Check whether -lm is available. This is a pre-requisite for +dnl GCC_CHECK_MATH_FUNC so that it will link with -lm. +AC_DEFUN([GCC_CHECK_LIBM], +[AC_CHECK_LIB([m],[sin])]) + +dnl GCC_CHECK_MATH_HEADERS +dnl +dnl Check for math.h and complex.h. This is a pre-requisite for +dnl GCC_CHECK_MATH_FUNC so that it includes the right headers. +dnl (Some systems, such as AIX or OpenVMS may define macro for math +dnl functions). +AC_DEFUN([GCC_CHECK_MATH_HEADERS], +[AC_CHECK_HEADERS_ONCE(math.h complex.h)]) + +dnl GCC_CHECK_MATH_FUNC([name],[if-present]) +dnl +dnl Check whether math function NAME is available on the system (by compiling +dnl and linking a C program) and run if-present on success. +dnl +dnl Note that OpenVMS system insists on including complex.h before math.h +AC_DEFUN([GCC_CHECK_MATH_FUNC], +[ + AC_REQUIRE([GCC_CHECK_LIBM]) + AC_REQUIRE([GCC_CHECK_MATH_HEADERS]) + AC_CACHE_CHECK([for $1], [gcc_cv_math_func_$1], + [AC_LINK_IFELSE([ +#ifdef HAVE_COMPLEX_H +#include <complex.h> +#endif +#ifdef HAVE_MATH_H +#include <math.h> +#endif + +int (*ptr)() = (int (*)())$1; + +int +main () +{ + return 0; +} +], +[gcc_cv_math_func_$1=yes], +[gcc_cv_math_func_$1=no])]) + if test $gcc_cv_math_func_$1 = yes; then + $2 + fi +]) |