2 dnl Copyright (C) 2007, 2009-2010 Free Software Foundation, Inc.
3 dnl This file is free software; the Free Software Foundation
4 dnl gives unlimited permission to copy and/or distribute it,
5 dnl with or without modifications, as long as this notice is preserved.
7 AC_DEFUN([gl_FUNC_ROUNDL],
9 AC_REQUIRE([gl_MATH_H_DEFAULTS])
10 dnl Persuade glibc <math.h> to declare roundl().
11 AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
12 AC_CHECK_DECLS([roundl], , , [#include <math.h>])
13 if test "$ac_cv_have_decl_roundl" = yes; then
14 gl_CHECK_MATH_LIB([ROUNDL_LIBM], [x = roundl (x);])
15 if test "$ROUNDL_LIBM" = missing; then
21 if test $HAVE_DECL_ROUNDL = 0 || test $REPLACE_ROUNDL = 1; then
23 AC_CHECK_DECLS([ceill, floorl], , , [#include <math.h>])
24 if test "$ac_cv_have_decl_floorl" = yes \
25 && test "$ac_cv_have_decl_ceill" = yes; then
28 if test "$FLOORL_LIBM" != '?' && test "$CEILL_LIBM" != '?'; then
29 AC_DEFINE([HAVE_FLOORL_AND_CEILL], [1],
30 [Define if the both the floorl() and ceill() functions exist.])
32 dnl Append $FLOORL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates.
33 case " $ROUNDL_LIBM " in
34 *" $FLOORL_LIBM "*) ;;
35 *) ROUNDL_LIBM="$ROUNDL_LIBM $FLOORL_LIBM" ;;
37 dnl Append $CEILL_LIBM to ROUNDL_LIBM, avoiding gratuitous duplicates.
38 case " $ROUNDL_LIBM " in
40 *) ROUNDL_LIBM="$ROUNDL_LIBM $CEILL_LIBM" ;;
49 AC_SUBST([ROUNDL_LIBM])