New module 'sprintf-posix'.
[gnulib.git] / m4 / sprintf-posix.m4
1 # sprintf-posix.m4 serial 1
2 dnl Copyright (C) 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_SPRINTF_POSIX],
8 [
9   AC_REQUIRE([gl_EOVERFLOW])
10   AC_REQUIRE([gl_PRINTF_SIZES_C99])
11   AC_REQUIRE([gl_PRINTF_DIRECTIVE_A])
12   AC_REQUIRE([gl_PRINTF_DIRECTIVE_N])
13   AC_REQUIRE([gl_PRINTF_POSITIONS])
14   if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
15      && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
16      && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
17      && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null; then
18     : # sprintf exists and is already POSIX compliant.
19   else
20     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
21       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
22         [Define if the vasnprintf implementation needs special code for
23          the 'a' and 'A' directives.])
24     fi
25     gl_REPLACE_VASNPRINTF
26     gl_REPLACE_SPRINTF
27   fi
28 ])
29
30 AC_DEFUN([gl_REPLACE_SPRINTF],
31 [
32   AC_REQUIRE([gl_STDIO_H_DEFAULTS])
33   AC_LIBOBJ([sprintf])
34   REPLACE_SPRINTF=1
35   gl_PREREQ_SPRINTF
36 ])
37
38 AC_DEFUN([gl_PREREQ_SPRINTF], [:])