+
+# Determines the libraries needed to get the floorl() function.
+# Sets FLOORL_LIBM.
+AC_DEFUN([gl_FUNC_FLOORL_LIBS],
+[
+ gl_CACHE_VAL_SILENT([gl_cv_func_floorl_libm], [
+ gl_cv_func_floorl_libm=?
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+ long double (*funcptr) (long double) = floorl;
+ long double x;]],
+ [[x = funcptr (x) + floorl(x);]])],
+ [gl_cv_func_floorl_libm=])
+ if test "$gl_cv_func_floorl_libm" = "?"; then
+ save_LIBS="$LIBS"
+ LIBS="$LIBS -lm"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#ifndef __NO_MATH_INLINES
+ # define __NO_MATH_INLINES 1 /* for glibc */
+ #endif
+ #include <math.h>
+ long double (*funcptr) (long double) = floorl;
+ long double x;]],
+ [[x = funcptr (x) + floorl(x);]])],
+ [gl_cv_func_floorl_libm="-lm"])
+ LIBS="$save_LIBS"
+ fi
+ ])
+ FLOORL_LIBM="$gl_cv_func_floorl_libm"
+])