Blame m4/vsnprintf.m4

Packit Service c30d13
# vsnprintf.m4 serial 7
Packit Service c30d13
dnl Copyright (C) 2002-2004, 2007-2018 Free Software Foundation, Inc.
Packit Service c30d13
dnl This file is free software; the Free Software Foundation
Packit Service c30d13
dnl gives unlimited permission to copy and/or distribute it,
Packit Service c30d13
dnl with or without modifications, as long as this notice is preserved.
Packit Service c30d13
Packit Service c30d13
dnl Libintl 0.17 will replace vsnprintf only if it does not support %1$s,
Packit Service c30d13
dnl but defers to any gnulib vsnprintf replacements.  Therefore, gnulib
Packit Service c30d13
dnl must guarantee that the decision for replacing vsnprintf is a superset
Packit Service c30d13
dnl of the reasons checked by libintl.
Packit Service c30d13
AC_DEFUN([gl_FUNC_VSNPRINTF],
Packit Service c30d13
[
Packit Service c30d13
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit Service c30d13
  gl_cv_func_vsnprintf_usable=no
Packit Service c30d13
  AC_CHECK_FUNCS([vsnprintf])
Packit Service c30d13
  if test $ac_cv_func_vsnprintf = yes; then
Packit Service c30d13
    gl_SNPRINTF_SIZE1
Packit Service c30d13
    case "$gl_cv_func_snprintf_size1" in
Packit Service c30d13
      *yes)
Packit Service c30d13
        gl_SNPRINTF_RETVAL_C99
Packit Service c30d13
        case "$gl_cv_func_snprintf_retval_c99" in
Packit Service c30d13
          *yes)
Packit Service c30d13
            gl_PRINTF_POSITIONS
Packit Service c30d13
            case "$gl_cv_func_printf_positions" in
Packit Service c30d13
              *yes)
Packit Service c30d13
                gl_cv_func_vsnprintf_usable=yes
Packit Service c30d13
                ;;
Packit Service c30d13
            esac
Packit Service c30d13
            ;;
Packit Service c30d13
        esac
Packit Service c30d13
        ;;
Packit Service c30d13
    esac
Packit Service c30d13
  fi
Packit Service c30d13
  if test $gl_cv_func_vsnprintf_usable = no; then
Packit Service c30d13
    gl_REPLACE_VSNPRINTF
Packit Service c30d13
  fi
Packit Service c30d13
  AC_CHECK_DECLS_ONCE([vsnprintf])
Packit Service c30d13
  if test $ac_cv_have_decl_vsnprintf = no; then
Packit Service c30d13
    HAVE_DECL_VSNPRINTF=0
Packit Service c30d13
  fi
Packit Service c30d13
])
Packit Service c30d13
Packit Service c30d13
AC_DEFUN([gl_REPLACE_VSNPRINTF],
Packit Service c30d13
[
Packit Service c30d13
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit Service c30d13
  AC_LIBOBJ([vsnprintf])
Packit Service c30d13
  if test $ac_cv_func_vsnprintf = yes; then
Packit Service c30d13
    REPLACE_VSNPRINTF=1
Packit Service c30d13
  else
Packit Service c30d13
    AC_CHECK_DECLS_ONCE([vsnprintf])
Packit Service c30d13
    if test $ac_cv_have_decl_vsnprintf = yes; then
Packit Service c30d13
      dnl If the function is declared but does not appear to exist, it may be
Packit Service c30d13
      dnl defined as an inline function. In order to avoid a conflict, we have
Packit Service c30d13
      dnl to define rpl_vsnprintf, not vsnprintf.
Packit Service c30d13
      REPLACE_VSNPRINTF=1
Packit Service c30d13
    fi
Packit Service c30d13
  fi
Packit Service c30d13
  gl_PREREQ_VSNPRINTF
Packit Service c30d13
])
Packit Service c30d13
Packit Service c30d13
# Prerequisites of lib/vsnprintf.c.
Packit Service c30d13
AC_DEFUN([gl_PREREQ_VSNPRINTF], [:])