14ffe1fc1a7d05a04b5007ed69c4f23bfe21cc7a
[debian/gzip] / m4 / printf-frexpl.m4
1 # printf-frexpl.m4 serial 6
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.
6
7 dnl Check how to define printf_frexpl() without linking with libm.
8
9 AC_DEFUN([gl_FUNC_PRINTF_FREXPL],
10 [
11   AC_REQUIRE([gl_MATH_H_DEFAULTS])
12   dnl Subset of gl_FUNC_FREXPL_NO_LIBM.
13   AC_CACHE_CHECK([whether frexpl can be used without linking with libm],
14     [gl_cv_func_frexpl_no_libm],
15     [
16       AC_TRY_LINK([#include <math.h>
17                    long double x;
18                    int y;],
19                   [return frexpl (x, &y) < 1;],
20         [gl_cv_func_frexpl_no_libm=yes],
21         [gl_cv_func_frexpl_no_libm=no])
22     ])
23   if test $gl_cv_func_frexpl_no_libm = yes; then
24     gl_FUNC_FREXPL_WORKS
25     case "$gl_cv_func_frexpl_works" in
26       *yes) gl_func_frexpl_no_libm=yes ;;
27       *)    gl_func_frexpl_no_libm=no; REPLACE_FREXPL=1 ;;
28     esac
29   else
30     gl_func_frexpl_no_libm=no
31     dnl Set REPLACE_FREXPL here because the system may have frexpl in libm.
32     REPLACE_FREXPL=1
33   fi
34   if test $gl_func_frexpl_no_libm = yes; then
35     AC_DEFINE([HAVE_FREXPL_IN_LIBC], [1],
36       [Define if the frexpl function is available in libc.])
37     dnl Also check whether it's declared.
38     dnl MacOS X 10.3 has frexpl() in libc but doesn't declare it in <math.h>.
39     AC_CHECK_DECL([frexpl], , [HAVE_DECL_FREXPL=0], [#include <math.h>])
40   fi
41
42   AC_CACHE_CHECK([whether ldexpl can be used without linking with libm],
43     [gl_cv_func_ldexpl_no_libm],
44     [
45       AC_TRY_LINK([#include <math.h>
46                    long double x;
47                    int y;],
48                   [return ldexpl (x, y) < 1;],
49         [gl_cv_func_ldexpl_no_libm=yes],
50         [gl_cv_func_ldexpl_no_libm=no])
51     ])
52   if test $gl_cv_func_ldexpl_no_libm = yes; then
53     gl_FUNC_LDEXPL_WORKS
54     case "$gl_cv_func_ldexpl_works" in
55       *yes)
56         AC_DEFINE([HAVE_LDEXPL_IN_LIBC], [1],
57           [Define if the ldexpl function is available in libc.])
58         dnl Also check whether it's declared.
59         dnl MacOS X 10.3 has ldexpl() in libc but doesn't declare it in <math.h>.
60         AC_CHECK_DECL([ldexpl], , [HAVE_DECL_LDEXPL=0], [#include <math.h>])
61         ;;
62     esac
63   fi
64 ])