immutable: Add tests.
[gnulib.git] / m4 / sqrtf.m4
blob90d21e617e907e1639d7666d8fe1439ad388a0cb
1 # sqrtf.m4 serial 3
2 dnl Copyright (C) 2011-2021 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_SQRTF],
9   AC_REQUIRE([gl_MATH_H_DEFAULTS])
10   AC_REQUIRE([gl_FUNC_SQRT])
12   dnl Persuade glibc <math.h> to declare sqrtf().
13   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
15   dnl Test whether sqrtf() exists. Assume that sqrtf(), if it exists, is
16   dnl defined in the same library as sqrt().
17   save_LIBS="$LIBS"
18   LIBS="$LIBS $SQRT_LIBM"
19   AC_CHECK_FUNCS([sqrtf])
20   LIBS="$save_LIBS"
21   if test $ac_cv_func_sqrtf = yes; then
22     SQRTF_LIBM="$SQRT_LIBM"
23   else
24     HAVE_SQRTF=0
25     dnl If the function is declared but does not appear to exist, it may be
26     dnl defined as an inline function. In order to avoid a conflict, we have
27     dnl to define rpl_sqrtf, not sqrtf.
28     AC_CHECK_DECLS([sqrtf], [REPLACE_SQRTF=1], , [[#include <math.h>]])
29     SQRTF_LIBM="$SQRT_LIBM"
30   fi
31   AC_SUBST([SQRTF_LIBM])