diff options
author | Bruno Haible <bruno@clisp.org> | 2010-01-18 01:27:33 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2010-01-19 02:59:13 +0100 |
commit | 73e329f11142c2804e42825e1590041d68dbb6e9 (patch) | |
tree | 3576045450dd7e0c54caf80d8d55842e6632879f /m4/sinl.m4 | |
parent | 438ba4dda6cffac43a76642edbde5eb3504001d9 (diff) | |
download | gnulib-73e329f11142c2804e42825e1590041d68dbb6e9.tar.gz |
New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
Diffstat (limited to 'm4/sinl.m4')
-rw-r--r-- | m4/sinl.m4 | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/m4/sinl.m4 b/m4/sinl.m4 new file mode 100644 index 0000000000..12393264b6 --- /dev/null +++ b/m4/sinl.m4 @@ -0,0 +1,63 @@ +# sinl.m4 serial 1 +dnl Copyright (C) 2010 Free Software Foundation, Inc. +dnl This file is free software; the Free Software Foundation +dnl gives unlimited permission to copy and/or distribute it, +dnl with or without modifications, as long as this notice is preserved. + +AC_DEFUN([gl_FUNC_SINL], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + dnl Persuade glibc <math.h> to declare sinl(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + + SINL_LIBM= + AC_CACHE_CHECK([whether sinl() can be used without linking with libm], + [gl_cv_func_sinl_no_libm], + [ + AC_TRY_LINK([#ifndef __NO_MATH_INLINES + # define __NO_MATH_INLINES 1 /* for glibc */ + #endif + #include <math.h> + long double x;], + [return sinl (x) > 0.4;], + [gl_cv_func_sinl_no_libm=yes], + [gl_cv_func_sinl_no_libm=no]) + ]) + if test $gl_cv_func_sinl_no_libm = no; then + AC_CACHE_CHECK([whether sinl() can be used with libm], + [gl_cv_func_sinl_in_libm], + [ + save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([#ifndef __NO_MATH_INLINES + # define __NO_MATH_INLINES 1 /* for glibc */ + #endif + #include <math.h> + long double x;], + [return sinl (x) > 0.4;], + [gl_cv_func_sinl_in_libm=yes], + [gl_cv_func_sinl_in_libm=no]) + LIBS="$save_LIBS" + ]) + if test $gl_cv_func_sinl_in_libm = yes; then + SINL_LIBM=-lm + fi + fi + if test $gl_cv_func_sinl_no_libm = yes \ + || test $gl_cv_func_sinl_in_libm = yes; then + dnl Also check whether it's declared. + dnl MacOS X 10.3 has sinl() in libc but doesn't declare it in <math.h>. + AC_CHECK_DECL([sinl], , [HAVE_DECL_SINL=0], [#include <math.h>]) + else + HAVE_DECL_SINL=0 + HAVE_SINL=0 + AC_LIBOBJ([sinl]) + AC_LIBOBJ([sincosl]) + AC_LIBOBJ([trigl]) + AC_REQUIRE([gl_FUNC_ISNANL]) + AC_REQUIRE([gl_FUNC_FLOOR]) + AC_REQUIRE([gl_FUNC_FLOORL]) + SINL_LIBM="$ISNANL_LIBM $FLOOR_LIBM $FLOORL_LIBM" + fi + AC_SUBST([SINL_LIBM]) +]) |