1 # vasnprintf.m4 serial 17
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.
7 AC_DEFUN([gl_FUNC_VASNPRINTF],
9 AC_REQUIRE([gl_EOVERFLOW])
10 AC_CHECK_FUNCS_ONCE([vasnprintf])
11 if test $ac_cv_func_vasnprintf = no; then
16 AC_DEFUN([gl_REPLACE_VASNPRINTF],
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.])
28 gl_PREREQ_PRINTF_PARSE
33 # Prequisites of lib/printf-args.h, lib/printf-args.c.
34 AC_DEFUN([gl_PREREQ_PRINTF_ARGS],
36 AC_REQUIRE([AC_TYPE_LONG_LONG_INT])
37 AC_REQUIRE([gt_TYPE_WCHAR_T])
38 AC_REQUIRE([gt_TYPE_WINT_T])
41 # Prequisites of lib/printf-parse.h, lib/printf-parse.c.
42 AC_DEFUN([gl_PREREQ_PRINTF_PARSE],
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])
52 # Prerequisites of lib/vasnprintf.c.
53 AC_DEFUN([gl_PREREQ_VASNPRINTF],
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)
62 # Extra prerequisites of lib/vasnprintf.c for supporting infinite 'double'
64 AC_DEFUN([gl_PREREQ_VASNPRINTF_INFINITE],
66 AC_REQUIRE([gl_PRINTF_INFINITE])
67 case "$gl_cv_func_printf_infinite" in
71 AC_DEFINE([NEED_PRINTF_INFINITE], 1,
72 [Define if the vasnprintf implementation needs special code for
73 infinite 'double' arguments.])
78 # Extra prerequisites of lib/vasnprintf.c for supporting 'long double'
80 AC_DEFUN([gl_PREREQ_VASNPRINTF_LONG_DOUBLE],
82 AC_REQUIRE([gl_PRINTF_LONG_DOUBLE])
83 case "$gl_cv_func_printf_long_double" in
87 AC_DEFINE([NEED_PRINTF_LONG_DOUBLE], 1,
88 [Define if the vasnprintf implementation needs special code for
89 'long double' arguments.])
94 # Extra prerequisites of lib/vasnprintf.c for supporting the 'a' directive.
95 AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_A],
97 AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
98 case "$gl_cv_func_printf_directive_a" in
102 AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
103 [Define if the vasnprintf implementation needs special code for
104 the 'a' and 'A' directives.])
105 AC_CHECK_FUNCS([nl_langinfo])
110 # Extra prerequisites of lib/vasnprintf.c for supporting the 'F' directive.
111 AC_DEFUN([gl_PREREQ_VASNPRINTF_DIRECTIVE_F],
113 AC_REQUIRE([gl_PRINTF_DIRECTIVE_F])
114 case "$gl_cv_func_printf_directive_f" in
118 AC_DEFINE([NEED_PRINTF_DIRECTIVE_F], 1,
119 [Define if the vasnprintf implementation needs special code for
125 # Extra prerequisites of lib/vasnprintf.c for supporting the ' flag.
126 AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_GROUPING],
128 AC_REQUIRE([gl_PRINTF_FLAG_GROUPING])
129 case "$gl_cv_func_printf_flag_grouping" in
133 AC_DEFINE([NEED_PRINTF_FLAG_GROUPING], 1,
134 [Define if the vasnprintf implementation needs special code for the
140 # Extra prerequisites of lib/vasnprintf.c for supporting the 0 flag.
141 AC_DEFUN([gl_PREREQ_VASNPRINTF_FLAG_ZERO],
143 AC_REQUIRE([gl_PRINTF_FLAG_ZERO])
144 case "$gl_cv_func_printf_flag_zero" in
148 AC_DEFINE([NEED_PRINTF_FLAG_ZERO], 1,
149 [Define if the vasnprintf implementation needs special code for the
155 # Prerequisites of lib/asnprintf.c.
156 AC_DEFUN([gl_PREREQ_ASNPRINTF],