gnulib-tool.py: Handle absolute path checks consistently.
[gnulib.git] / m4 / copysignf.m4
blobfd131e30f90e484c26bb805c8130e7fd31a14980
1 # copysignf.m4
2 # serial 4
3 dnl Copyright (C) 2011-2024 Free Software Foundation, Inc.
4 dnl This file is free software; the Free Software Foundation
5 dnl gives unlimited permission to copy and/or distribute it,
6 dnl with or without modifications, as long as this notice is preserved.
8 AC_DEFUN([gl_FUNC_COPYSIGNF],
10   AC_REQUIRE([gl_MATH_H_DEFAULTS])
11   AC_REQUIRE([AC_CANONICAL_HOST])
13   dnl Persuade glibc <math.h> to declare copysignf().
14   AC_REQUIRE([gl_USE_SYSTEM_EXTENSIONS])
16   dnl Determine COPYSIGNF_LIBM.
17   gl_MATHFUNC([copysignf], [float], [(float, float)],
18     [extern
19      #ifdef __cplusplus
20      "C"
21      #endif
22      float copysignf (float, float);
23     ])
24   if test $gl_cv_func_copysignf_no_libm = yes \
25      || test $gl_cv_func_copysignf_in_libm = yes; then
26     HAVE_COPYSIGNF=1
27     dnl Also check whether it's declared.
28     dnl IRIX 6.5 has copysignf() in libm but doesn't declare it in <math.h>.
29     AC_CHECK_DECL([copysignf], , [HAVE_DECL_COPYSIGNF=0], [[#include <math.h>]])
30   else
31     HAVE_COPYSIGNF=0
32     HAVE_DECL_COPYSIGNF=0
33     dnl On HP-UX 11.31/ia64, cc has a built-in for copysignf that redirects
34     dnl to the symbol '_copysignf', defined in libm, not libc.
35     case "$host_os" in
36       hpux*) COPYSIGNF_LIBM='-lm' ;;
37       *)     COPYSIGNF_LIBM= ;;
38     esac
39   fi
40   AC_SUBST([COPYSIGNF_LIBM])