glob: merge from glibc with Zanella glob changes
[gnulib.git] / m4 / check-math-lib.m4
blob8241eedc33781c507d6e06dc0644c860d468889e
1 # check-math-lib.m4 serial 4
2 dnl Copyright (C) 2007, 2009-2017 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 dnl
7 dnl gl_CHECK_MATH_LIB (VARIABLE, EXPRESSION [, EXTRA-CODE])
8 dnl
9 dnl Sets the shell VARIABLE according to the libraries needed by EXPRESSION
10 dnl to compile and link: to the empty string if no extra libraries are needed,
11 dnl to "-lm" if -lm is needed, or to "missing" if it does not compile and
12 dnl link either way.
13 dnl
14 dnl Example: gl_CHECK_MATH_LIB([ROUNDF_LIBM], [x = roundf (x);])
15 AC_DEFUN([gl_CHECK_MATH_LIB], [
16   save_LIBS=$LIBS
17   $1=missing
18   for libm in "" "-lm"; do
19     LIBS="$save_LIBS $libm"
20     AC_LINK_IFELSE([AC_LANG_PROGRAM([[
21          #ifndef __NO_MATH_INLINES
22          # define __NO_MATH_INLINES 1 /* for glibc */
23          #endif
24          #include <math.h>
25          $3
26          double x;]],
27       [$2])],
28       [$1=$libm
29 break])
30   done
31   LIBS=$save_LIBS