Imported Upstream version 2.6.0
[debian/amanda] / config / gnulib / vasnprintf.m4
1 # vasnprintf.m4 serial 20
2 dnl Copyright (C) 2002-2004, 2006-2007 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_VASNPRINTF],
8 [
9   AC_REQUIRE([gl_EOVERFLOW])
10   AC_CHECK_FUNCS_ONCE([vasnprintf])
11   if test $ac_cv_func_vasnprintf = no; then
12     gl_REPLACE_VASNPRINTF
13   fi
14 ])
15
16 AC_DEFUN([gl_REPLACE_VASNPRINTF],
17 [
18   AC_CHECK_FUNCS_ONCE([vasnprintf])
19   AC_LIBOBJ([vasnprintf])
20   AC_LIBOBJ([printf-args])
21   AC_LIBOBJ([printf-parse])
22   AC_LIBOBJ([asnprintf])
23   if test $ac_cv_func_vasnprintf = yes; then
24     AC_DEFINE([REPLACE_VASNPRINTF], 1,
25       [Define if vasnprintf exists but is overridden by gnulib.])
26   fi
27   gl_PREREQ_PRINTF_ARGS
28   gl_PREREQ_PRINTF_PARSE
29   gl_PREREQ_VASNPRINTF
30   gl_PREREQ_ASNPRINTF
31 ])
32
33 # Prequisites of lib/printf-args.h, lib/printf-args.c.
34 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
35 [
36   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
37   AC_REQUIRE([gt_TYPE_WCHAR_T])
38   AC_REQUIRE([gt_TYPE_WINT_T])
39 ])
40
41 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
42 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
43 [
44   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
45   AC_REQUIRE([gt_TYPE_WCHAR_T])
46   AC_REQUIRE([gt_TYPE_WINT_T])
47   AC_REQUIRE([AC_TYPE_SIZE_T])
48   AC_CHECK_TYPES(ptrdiff_t)
49   AC_REQUIRE([gt_AC_TYPE_INTMAX_T])
50 ])
51
52 # Prerequisites of lib/vasnprintf.c.
53 AC_DEFUN([gl_PREREQ_VASNPRINTF],
54 [
55   AC_REQUIRE([AC_FUNC_ALLOCA])
56   AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
57   AC_REQUIRE([gt_TYPE_WCHAR_T])
58   AC_REQUIRE([gt_TYPE_WINT_T])
59   AC_CHECK_FUNCS(snprintf wcslen)
60   dnl Use the _snprintf function only if it is declared (because on NetBSD it
61   dnl is defined as a weak alias of snprintf; we prefer to use the latter).
62   AC_CHECK_DECLS([_snprintf], , , [#include <stdio.h>])
63 ])
64
65 # Extra prerequisites of lib/vasnprintf.c for supporting 'long double'
66 # arguments.
67 AC_DEFUN([gl_PREREQ_VASNPRINTF_LONG_DOUBLE],
68 [
69   AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
70   case "$gl_cv_func_printf_long_double" in
71     *yes)
72       ;;
73     *)
74       AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1,
75         [Define if the vasnprintf implementation needs special code for
76          'long double' arguments.])
77       ;;
78   esac
79 ])
80
81 # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double'
82 # arguments.
83 AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE],
84 [
85   AC_REQUIRE([gl_PRINTF_INFINITE])
86   case "$gl_cv_func_printf_infinite" in
87     *yes)
88       ;;
89     *)
90       AC_DEFINE([NEED_PRINTF_INFINITE_DOUBLE], 1,
91         [Define if the vasnprintf implementation needs special code for
92          infinite 'double' arguments.])
93       ;;
94   esac
95 ])
96
97 # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'long double'
98 # arguments.
99 AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE],
100 [
101   AC_REQUIRE([gl_PRINTF_INFINITE_LONG_DOUBLE])
102   dnl There is no need to set NEED_PRINTF_INFINITE_LONG_DOUBLE if
103   dnl NEED_PRINTF_LONG_DOUBLE is already set.
104   AC_REQUIRE([gl_PREREQ_VASNPRINTF_LONG_DOUBLE])
105   case "$gl_cv_func_printf_long_double" in
106     *yes)
107       case "$gl_cv_func_printf_infinite_long_double" in
108         *yes)
109           ;;
110         *)
111           AC_DEFINE([NEED_PRINTF_INFINITE_LONG_DOUBLE], 1,
112             [Define if the vasnprintf implementation needs special code for
113              infinite 'long double' arguments.])
114           ;;
115       esac
116       ;;
117   esac
118 ])
119
120 # Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive.
121 AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A],
122 [
123   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
124   case "$gl_cv_func_printf_directive_a" in
125     *yes)
126       ;;
127     *)
128       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
129         [Define if the vasnprintf implementation needs special code for
130          the 'a' and 'A' directives.])
131       AC_CHECK_FUNCS([nl_langinfo])
132       ;;
133   esac
134 ])
135
136 # Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive.
137 AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F],
138 [
139   AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
140   case "$gl_cv_func_printf_directive_f" in
141     *yes)
142       ;;
143     *)
144       AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1,
145         [Define if the vasnprintf implementation needs special code for
146          the 'F' directive.])
147       ;;
148   esac
149 ])
150
151 # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag.
152 AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING],
153 [
154   AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
155   case "$gl_cv_func_printf_flag_grouping" in
156     *yes)
157       ;;
158     *)
159       AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], 1,
160         [Define if the vasnprintf implementation needs special code for the
161          ' flag.])
162       ;;
163   esac
164 ])
165
166 # Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag.
167 AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO],
168 [
169   AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
170   case "$gl_cv_func_printf_flag_zero" in
171     *yes)
172       ;;
173     *)
174       AC_DEFINE([NEED_PRINTF_FLAG_ZERO], 1,
175         [Define if the vasnprintf implementation needs special code for the
176          0 flag.])
177       ;;
178   esac
179 ])
180
181 # Prerequisites of lib/vasnprintf.c including all extras for POSIX compliance.
182 AC_DEFUN([gl_PREREQ_VASNPRINTF_WITH_EXTRAS],
183 [
184   AC_REQUIRE([gl_PREREQ_VASNPRINTF])
185   gl_PREREQ_VASNPRINTF_LONG_DOUBLE
186   gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE
187   gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE
188   gl_PREREQ_VASNPRINTF_DIRECTIVE_A
189   gl_PREREQ_VASNPRINTF_DIRECTIVE_F
190   gl_PREREQ_VASNPRINTF_FLAG_GROUPING
191   gl_PREREQ_VASNPRINTF_FLAG_ZERO
192 ])
193
194 # Prerequisites of lib/asnprintf.c.
195 AC_DEFUN([gl_PREREQ_ASNPRINTF],
196 [
197 ])