855d5ec2c7bc7a828825565a31921b7832bddac4
[gnulib.git] / m4 / logb.m4
1 # logb.m4 serial 2
2 dnl Copyright (C) 2010-2011 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.
6
7 AC_DEFUN([gl_FUNC_LOGB],
8 [
9   AC_REQUIRE([gl_MATH_H_DEFAULTS])
10   dnl Test whether logb() is declared.
11   AC_CHECK_DECLS([logb], , , [#include <math.h>])
12   if test "$ac_cv_have_decl_logb" != yes; then
13     HAVE_DECL_LOGB=0
14   fi
15   dnl Test whether logb() can be used without libm.
16   LOGB_LIBM=?
17   AC_LINK_IFELSE(
18     [AC_LANG_PROGRAM(
19        [[#ifndef __NO_MATH_INLINES
20          # define __NO_MATH_INLINES 1 /* for glibc */
21          #endif
22          #include <math.h>
23          extern double logb (double x);
24          double x;]],
25        [[x = logb(x);]])],
26     [LOGB_LIBM=])
27   if test "$LOGB_LIBM" = "?"; then
28     save_LIBS="$LIBS"
29     LIBS="$LIBS -lm"
30     AC_LINK_IFELSE(
31       [AC_LANG_PROGRAM(
32          [[#ifndef __NO_MATH_INLINES
33            # define __NO_MATH_INLINES 1 /* for glibc */
34            #endif
35            #include <math.h>
36            extern double logb (double x);
37            double x;]],
38          [[x = logb(x);]])],
39       [LOGB_LIBM="-lm"])
40     LIBS="$save_LIBS"
41   fi
42   if test "$LOGB_LIBM" = "?"; then
43     LOGB_LIBM=
44   fi
45   AC_SUBST([LOGB_LIBM])
46 ])