Merge commit '2437c7b2e8b4ab7786847ee1ce0b59e446a70fe2'
[bpt/guile.git] / m4 / snprintf.m4
1 # snprintf.m4 serial 6
2 dnl Copyright (C) 2002-2004, 2007-2013 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 Libintl 0.17 will replace snprintf only if it does not support %1$s,
8 dnl but defers to any gnulib snprintf replacements. Therefore, gnulib
9 dnl must guarantee that the decision for replacing snprintf is a superset
10 dnl of the reasons checked by libintl.
11 AC_DEFUN([gl_FUNC_SNPRINTF],
12 [
13 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
14 gl_cv_func_snprintf_usable=no
15 AC_CHECK_FUNCS([snprintf])
16 if test $ac_cv_func_snprintf = yes; then
17 gl_SNPRINTF_SIZE1
18 case "$gl_cv_func_snprintf_size1" in
19 *yes)
20 gl_SNPRINTF_RETVAL_C99
21 case "$gl_cv_func_snprintf_retval_c99" in
22 *yes)
23 gl_PRINTF_POSITIONS
24 case "$gl_cv_func_printf_positions" in
25 *yes)
26 gl_cv_func_snprintf_usable=yes
27 ;;
28 esac
29 ;;
30 esac
31 ;;
32 esac
33 fi
34 if test $gl_cv_func_snprintf_usable = no; then
35 gl_REPLACE_SNPRINTF
36 fi
37 AC_CHECK_DECLS_ONCE([snprintf])
38 if test $ac_cv_have_decl_snprintf = no; then
39 HAVE_DECL_SNPRINTF=0
40 fi
41 ])
42
43 AC_DEFUN([gl_REPLACE_SNPRINTF],
44 [
45 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
46 AC_LIBOBJ([snprintf])
47 if test $ac_cv_func_snprintf = yes; then
48 REPLACE_SNPRINTF=1
49 fi
50 gl_PREREQ_SNPRINTF
51 ])
52
53 # Prerequisites of lib/snprintf.c.
54 AC_DEFUN([gl_PREREQ_SNPRINTF], [:])