Blame m4/vsnprintf.m4

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