New module 'vasprintf-posix'.
[gnulib.git] / m4 / vasprintf-posix.m4
1 # vasprintf-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_VASPRINTF_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   AC_CHECK_FUNCS([vasprintf])
15   if expr "$gl_cv_func_printf_sizes_c99" : ".*yes" > /dev/null \
16      && expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null \
17      && expr "$gl_cv_func_printf_directive_n" : ".*yes" > /dev/null \
18      && expr "$gl_cv_func_printf_positions" : ".*yes" > /dev/null \
19      && test $ac_cv_func_vasprintf = yes; then
20     : # vasprintf exists and is already POSIX compliant.
21   else
22     AC_CHECK_FUNCS([vasnprintf])
23     if ! expr "$gl_cv_func_printf_directive_a" : ".*yes" > /dev/null; then
24       AC_DEFINE([NEED_PRINTF_DIRECTIVE_A], 1,
25         [Define if the vasnprintf implementation needs special code for
26          the 'a' and 'A' directives.])
27     fi
28     gl_REPLACE_VASNPRINTF
29     gl_REPLACE_VASPRINTF
30   fi
31 ])