diff options
author | Bruno Haible <bruno@clisp.org> | 2007-10-05 03:02:08 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2007-10-05 03:02:08 +0200 |
commit | ab044c631f6655cfacc8ea4b1383f0cb7740326f (patch) | |
tree | 8bf8f2d73d6d126d5d2841548c93d9d1439ae99a /m4/floorf.m4 | |
parent | 5f10cf252efbd67b0936436dcc3c4d4765a0086d (diff) | |
download | gnulib-ab044c631f6655cfacc8ea4b1383f0cb7740326f.tar.gz |
New module 'floorf'.
Diffstat (limited to 'm4/floorf.m4')
-rw-r--r-- | m4/floorf.m4 | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/m4/floorf.m4 b/m4/floorf.m4 new file mode 100644 index 0000000000..184c2ee54e --- /dev/null +++ b/m4/floorf.m4 @@ -0,0 +1,48 @@ +# floorf.m4 serial 1 +dnl Copyright (C) 2007 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_FLOORF], +[ + AC_REQUIRE([gl_MATH_H_DEFAULTS]) + dnl Persuade glibc <math.h> to declare floorf(). + AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS]) + dnl Test whether floorf() is declared. + AC_CHECK_DECLS([floorf], , , [#include <math.h>]) + if test "$ac_cv_have_decl_floorf" = yes; then + dnl Test whether floorf() can be used without libm. + FLOORF_LIBM=? + AC_TRY_LINK([ + #ifndef __NO_MATH_INLINES + # define __NO_MATH_INLINES 1 /* for glibc */ + #endif + #include <math.h> + float x;], + [x = floorf(x);], + [FLOORF_LIBM=]) + if test "$FLOORF_LIBM" = "?"; then + save_LIBS="$LIBS" + LIBS="$LIBS -lm" + AC_TRY_LINK([ + #ifndef __NO_MATH_INLINES + # define __NO_MATH_INLINES 1 /* for glibc */ + #endif + #include <math.h> + float x;], + [x = floorf(x);], + [FLOORF_LIBM="-lm"]) + LIBS="$save_LIBS" + fi + if test "$FLOORF_LIBM" = "?"; then + FLOORF_LIBM= + fi + else + HAVE_DECL_FLOORF=0 + AC_LIBOBJ([floorf]) + FLOORF_LIBM= + fi + AC_SUBST([HAVE_DECL_FLOORF]) + AC_SUBST([FLOORF_LIBM]) +]) |