Blame gnulib/m4/stdio_h.m4

Packit eba2e2
# stdio_h.m4 serial 43
Packit eba2e2
dnl Copyright (C) 2007-2014 Free Software Foundation, Inc.
Packit eba2e2
dnl This file is free software; the Free Software Foundation
Packit eba2e2
dnl gives unlimited permission to copy and/or distribute it,
Packit eba2e2
dnl with or without modifications, as long as this notice is preserved.
Packit eba2e2
Packit eba2e2
AC_DEFUN([gl_STDIO_H],
Packit eba2e2
[
Packit eba2e2
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit eba2e2
  gl_NEXT_HEADERS([stdio.h])
Packit eba2e2
Packit eba2e2
  dnl No need to create extra modules for these functions. Everyone who uses
Packit eba2e2
  dnl <stdio.h> likely needs them.
Packit eba2e2
  GNULIB_FSCANF=1
Packit eba2e2
  gl_MODULE_INDICATOR([fscanf])
Packit eba2e2
  GNULIB_SCANF=1
Packit eba2e2
  gl_MODULE_INDICATOR([scanf])
Packit eba2e2
  GNULIB_FGETC=1
Packit eba2e2
  GNULIB_GETC=1
Packit eba2e2
  GNULIB_GETCHAR=1
Packit eba2e2
  GNULIB_FGETS=1
Packit eba2e2
  GNULIB_FREAD=1
Packit eba2e2
  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
Packit eba2e2
  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
Packit eba2e2
  dnl also an optimization, to avoid performing a configure check whose result
Packit eba2e2
  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
Packit eba2e2
  dnl or GNULIB_NONBLOCKING redundant.
Packit eba2e2
  m4_ifdef([gl_NONBLOCKING_IO], [
Packit eba2e2
    gl_NONBLOCKING_IO
Packit eba2e2
    if test $gl_cv_have_nonblocking != yes; then
Packit eba2e2
      REPLACE_STDIO_READ_FUNCS=1
Packit eba2e2
      AC_LIBOBJ([stdio-read])
Packit eba2e2
    fi
Packit eba2e2
  ])
Packit eba2e2
Packit eba2e2
  dnl No need to create extra modules for these functions. Everyone who uses
Packit eba2e2
  dnl <stdio.h> likely needs them.
Packit eba2e2
  GNULIB_FPRINTF=1
Packit eba2e2
  GNULIB_PRINTF=1
Packit eba2e2
  GNULIB_VFPRINTF=1
Packit eba2e2
  GNULIB_VPRINTF=1
Packit eba2e2
  GNULIB_FPUTC=1
Packit eba2e2
  GNULIB_PUTC=1
Packit eba2e2
  GNULIB_PUTCHAR=1
Packit eba2e2
  GNULIB_FPUTS=1
Packit eba2e2
  GNULIB_PUTS=1
Packit eba2e2
  GNULIB_FWRITE=1
Packit eba2e2
  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
Packit eba2e2
  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
Packit eba2e2
  dnl also an optimization, to avoid performing a configure check whose result
Packit eba2e2
  dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
Packit eba2e2
  dnl GNULIB_SIGPIPE redundant.
Packit eba2e2
  m4_ifdef([gl_SIGNAL_SIGPIPE], [
Packit eba2e2
    gl_SIGNAL_SIGPIPE
Packit eba2e2
    if test $gl_cv_header_signal_h_SIGPIPE != yes; then
Packit eba2e2
      REPLACE_STDIO_WRITE_FUNCS=1
Packit eba2e2
      AC_LIBOBJ([stdio-write])
Packit eba2e2
    fi
Packit eba2e2
  ])
Packit eba2e2
  dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
Packit eba2e2
  dnl "expected source file, required through AC_LIBSOURCES, not found". It is
Packit eba2e2
  dnl also an optimization, to avoid performing a configure check whose result
Packit eba2e2
  dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
Packit eba2e2
  dnl or GNULIB_NONBLOCKING redundant.
Packit eba2e2
  m4_ifdef([gl_NONBLOCKING_IO], [
Packit eba2e2
    gl_NONBLOCKING_IO
Packit eba2e2
    if test $gl_cv_have_nonblocking != yes; then
Packit eba2e2
      REPLACE_STDIO_WRITE_FUNCS=1
Packit eba2e2
      AC_LIBOBJ([stdio-write])
Packit eba2e2
    fi
Packit eba2e2
  ])
Packit eba2e2
Packit eba2e2
  dnl Check for declarations of anything we want to poison if the
Packit eba2e2
  dnl corresponding gnulib module is not in use, and which is not
Packit eba2e2
  dnl guaranteed by both C89 and C11.
Packit eba2e2
  gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
Packit eba2e2
    ]], [dprintf fpurge fseeko ftello getdelim getline gets pclose popen
Packit eba2e2
    renameat snprintf tmpfile vdprintf vsnprintf])
Packit eba2e2
])
Packit eba2e2
Packit eba2e2
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
Packit eba2e2
[
Packit eba2e2
  dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
Packit eba2e2
  AC_REQUIRE([gl_STDIO_H_DEFAULTS])
Packit eba2e2
  gl_MODULE_INDICATOR_SET_VARIABLE([$1])
Packit eba2e2
  dnl Define it also as a C macro, for the benefit of the unit tests.
Packit eba2e2
  gl_MODULE_INDICATOR_FOR_TESTS([$1])
Packit eba2e2
])
Packit eba2e2
Packit eba2e2
AC_DEFUN([gl_STDIO_H_DEFAULTS],
Packit eba2e2
[
Packit eba2e2
  GNULIB_DPRINTF=0;              AC_SUBST([GNULIB_DPRINTF])
Packit eba2e2
  GNULIB_FCLOSE=0;               AC_SUBST([GNULIB_FCLOSE])
Packit eba2e2
  GNULIB_FDOPEN=0;               AC_SUBST([GNULIB_FDOPEN])
Packit eba2e2
  GNULIB_FFLUSH=0;               AC_SUBST([GNULIB_FFLUSH])
Packit eba2e2
  GNULIB_FGETC=0;                AC_SUBST([GNULIB_FGETC])
Packit eba2e2
  GNULIB_FGETS=0;                AC_SUBST([GNULIB_FGETS])
Packit eba2e2
  GNULIB_FOPEN=0;                AC_SUBST([GNULIB_FOPEN])
Packit eba2e2
  GNULIB_FPRINTF=0;              AC_SUBST([GNULIB_FPRINTF])
Packit eba2e2
  GNULIB_FPRINTF_POSIX=0;        AC_SUBST([GNULIB_FPRINTF_POSIX])
Packit eba2e2
  GNULIB_FPURGE=0;               AC_SUBST([GNULIB_FPURGE])
Packit eba2e2
  GNULIB_FPUTC=0;                AC_SUBST([GNULIB_FPUTC])
Packit eba2e2
  GNULIB_FPUTS=0;                AC_SUBST([GNULIB_FPUTS])
Packit eba2e2
  GNULIB_FREAD=0;                AC_SUBST([GNULIB_FREAD])
Packit eba2e2
  GNULIB_FREOPEN=0;              AC_SUBST([GNULIB_FREOPEN])
Packit eba2e2
  GNULIB_FSCANF=0;               AC_SUBST([GNULIB_FSCANF])
Packit eba2e2
  GNULIB_FSEEK=0;                AC_SUBST([GNULIB_FSEEK])
Packit eba2e2
  GNULIB_FSEEKO=0;               AC_SUBST([GNULIB_FSEEKO])
Packit eba2e2
  GNULIB_FTELL=0;                AC_SUBST([GNULIB_FTELL])
Packit eba2e2
  GNULIB_FTELLO=0;               AC_SUBST([GNULIB_FTELLO])
Packit eba2e2
  GNULIB_FWRITE=0;               AC_SUBST([GNULIB_FWRITE])
Packit eba2e2
  GNULIB_GETC=0;                 AC_SUBST([GNULIB_GETC])
Packit eba2e2
  GNULIB_GETCHAR=0;              AC_SUBST([GNULIB_GETCHAR])
Packit eba2e2
  GNULIB_GETDELIM=0;             AC_SUBST([GNULIB_GETDELIM])
Packit eba2e2
  GNULIB_GETLINE=0;              AC_SUBST([GNULIB_GETLINE])
Packit eba2e2
  GNULIB_OBSTACK_PRINTF=0;       AC_SUBST([GNULIB_OBSTACK_PRINTF])
Packit eba2e2
  GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
Packit eba2e2
  GNULIB_PCLOSE=0;               AC_SUBST([GNULIB_PCLOSE])
Packit eba2e2
  GNULIB_PERROR=0;               AC_SUBST([GNULIB_PERROR])
Packit eba2e2
  GNULIB_POPEN=0;                AC_SUBST([GNULIB_POPEN])
Packit eba2e2
  GNULIB_PRINTF=0;               AC_SUBST([GNULIB_PRINTF])
Packit eba2e2
  GNULIB_PRINTF_POSIX=0;         AC_SUBST([GNULIB_PRINTF_POSIX])
Packit eba2e2
  GNULIB_PUTC=0;                 AC_SUBST([GNULIB_PUTC])
Packit eba2e2
  GNULIB_PUTCHAR=0;              AC_SUBST([GNULIB_PUTCHAR])
Packit eba2e2
  GNULIB_PUTS=0;                 AC_SUBST([GNULIB_PUTS])
Packit eba2e2
  GNULIB_REMOVE=0;               AC_SUBST([GNULIB_REMOVE])
Packit eba2e2
  GNULIB_RENAME=0;               AC_SUBST([GNULIB_RENAME])
Packit eba2e2
  GNULIB_RENAMEAT=0;             AC_SUBST([GNULIB_RENAMEAT])
Packit eba2e2
  GNULIB_SCANF=0;                AC_SUBST([GNULIB_SCANF])
Packit eba2e2
  GNULIB_SNPRINTF=0;             AC_SUBST([GNULIB_SNPRINTF])
Packit eba2e2
  GNULIB_SPRINTF_POSIX=0;        AC_SUBST([GNULIB_SPRINTF_POSIX])
Packit eba2e2
  GNULIB_STDIO_H_NONBLOCKING=0;  AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
Packit eba2e2
  GNULIB_STDIO_H_SIGPIPE=0;      AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
Packit eba2e2
  GNULIB_TMPFILE=0;              AC_SUBST([GNULIB_TMPFILE])
Packit eba2e2
  GNULIB_VASPRINTF=0;            AC_SUBST([GNULIB_VASPRINTF])
Packit eba2e2
  GNULIB_VFSCANF=0;              AC_SUBST([GNULIB_VFSCANF])
Packit eba2e2
  GNULIB_VSCANF=0;               AC_SUBST([GNULIB_VSCANF])
Packit eba2e2
  GNULIB_VDPRINTF=0;             AC_SUBST([GNULIB_VDPRINTF])
Packit eba2e2
  GNULIB_VFPRINTF=0;             AC_SUBST([GNULIB_VFPRINTF])
Packit eba2e2
  GNULIB_VFPRINTF_POSIX=0;       AC_SUBST([GNULIB_VFPRINTF_POSIX])
Packit eba2e2
  GNULIB_VPRINTF=0;              AC_SUBST([GNULIB_VPRINTF])
Packit eba2e2
  GNULIB_VPRINTF_POSIX=0;        AC_SUBST([GNULIB_VPRINTF_POSIX])
Packit eba2e2
  GNULIB_VSNPRINTF=0;            AC_SUBST([GNULIB_VSNPRINTF])
Packit eba2e2
  GNULIB_VSPRINTF_POSIX=0;       AC_SUBST([GNULIB_VSPRINTF_POSIX])
Packit eba2e2
  dnl Assume proper GNU behavior unless another module says otherwise.
Packit eba2e2
  HAVE_DECL_FPURGE=1;            AC_SUBST([HAVE_DECL_FPURGE])
Packit eba2e2
  HAVE_DECL_FSEEKO=1;            AC_SUBST([HAVE_DECL_FSEEKO])
Packit eba2e2
  HAVE_DECL_FTELLO=1;            AC_SUBST([HAVE_DECL_FTELLO])
Packit eba2e2
  HAVE_DECL_GETDELIM=1;          AC_SUBST([HAVE_DECL_GETDELIM])
Packit eba2e2
  HAVE_DECL_GETLINE=1;           AC_SUBST([HAVE_DECL_GETLINE])
Packit eba2e2
  HAVE_DECL_OBSTACK_PRINTF=1;    AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
Packit eba2e2
  HAVE_DECL_SNPRINTF=1;          AC_SUBST([HAVE_DECL_SNPRINTF])
Packit eba2e2
  HAVE_DECL_VSNPRINTF=1;         AC_SUBST([HAVE_DECL_VSNPRINTF])
Packit eba2e2
  HAVE_DPRINTF=1;                AC_SUBST([HAVE_DPRINTF])
Packit eba2e2
  HAVE_FSEEKO=1;                 AC_SUBST([HAVE_FSEEKO])
Packit eba2e2
  HAVE_FTELLO=1;                 AC_SUBST([HAVE_FTELLO])
Packit eba2e2
  HAVE_PCLOSE=1;                 AC_SUBST([HAVE_PCLOSE])
Packit eba2e2
  HAVE_POPEN=1;                  AC_SUBST([HAVE_POPEN])
Packit eba2e2
  HAVE_RENAMEAT=1;               AC_SUBST([HAVE_RENAMEAT])
Packit eba2e2
  HAVE_VASPRINTF=1;              AC_SUBST([HAVE_VASPRINTF])
Packit eba2e2
  HAVE_VDPRINTF=1;               AC_SUBST([HAVE_VDPRINTF])
Packit eba2e2
  REPLACE_DPRINTF=0;             AC_SUBST([REPLACE_DPRINTF])
Packit eba2e2
  REPLACE_FCLOSE=0;              AC_SUBST([REPLACE_FCLOSE])
Packit eba2e2
  REPLACE_FDOPEN=0;              AC_SUBST([REPLACE_FDOPEN])
Packit eba2e2
  REPLACE_FFLUSH=0;              AC_SUBST([REPLACE_FFLUSH])
Packit eba2e2
  REPLACE_FOPEN=0;               AC_SUBST([REPLACE_FOPEN])
Packit eba2e2
  REPLACE_FPRINTF=0;             AC_SUBST([REPLACE_FPRINTF])
Packit eba2e2
  REPLACE_FPURGE=0;              AC_SUBST([REPLACE_FPURGE])
Packit eba2e2
  REPLACE_FREOPEN=0;             AC_SUBST([REPLACE_FREOPEN])
Packit eba2e2
  REPLACE_FSEEK=0;               AC_SUBST([REPLACE_FSEEK])
Packit eba2e2
  REPLACE_FSEEKO=0;              AC_SUBST([REPLACE_FSEEKO])
Packit eba2e2
  REPLACE_FTELL=0;               AC_SUBST([REPLACE_FTELL])
Packit eba2e2
  REPLACE_FTELLO=0;              AC_SUBST([REPLACE_FTELLO])
Packit eba2e2
  REPLACE_GETDELIM=0;            AC_SUBST([REPLACE_GETDELIM])
Packit eba2e2
  REPLACE_GETLINE=0;             AC_SUBST([REPLACE_GETLINE])
Packit eba2e2
  REPLACE_OBSTACK_PRINTF=0;      AC_SUBST([REPLACE_OBSTACK_PRINTF])
Packit eba2e2
  REPLACE_PERROR=0;              AC_SUBST([REPLACE_PERROR])
Packit eba2e2
  REPLACE_POPEN=0;               AC_SUBST([REPLACE_POPEN])
Packit eba2e2
  REPLACE_PRINTF=0;              AC_SUBST([REPLACE_PRINTF])
Packit eba2e2
  REPLACE_REMOVE=0;              AC_SUBST([REPLACE_REMOVE])
Packit eba2e2
  REPLACE_RENAME=0;              AC_SUBST([REPLACE_RENAME])
Packit eba2e2
  REPLACE_RENAMEAT=0;            AC_SUBST([REPLACE_RENAMEAT])
Packit eba2e2
  REPLACE_SNPRINTF=0;            AC_SUBST([REPLACE_SNPRINTF])
Packit eba2e2
  REPLACE_SPRINTF=0;             AC_SUBST([REPLACE_SPRINTF])
Packit eba2e2
  REPLACE_STDIO_READ_FUNCS=0;    AC_SUBST([REPLACE_STDIO_READ_FUNCS])
Packit eba2e2
  REPLACE_STDIO_WRITE_FUNCS=0;   AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
Packit eba2e2
  REPLACE_TMPFILE=0;             AC_SUBST([REPLACE_TMPFILE])
Packit eba2e2
  REPLACE_VASPRINTF=0;           AC_SUBST([REPLACE_VASPRINTF])
Packit eba2e2
  REPLACE_VDPRINTF=0;            AC_SUBST([REPLACE_VDPRINTF])
Packit eba2e2
  REPLACE_VFPRINTF=0;            AC_SUBST([REPLACE_VFPRINTF])
Packit eba2e2
  REPLACE_VPRINTF=0;             AC_SUBST([REPLACE_VPRINTF])
Packit eba2e2
  REPLACE_VSNPRINTF=0;           AC_SUBST([REPLACE_VSNPRINTF])
Packit eba2e2
  REPLACE_VSPRINTF=0;            AC_SUBST([REPLACE_VSPRINTF])
Packit eba2e2
])