2
dnl Copyright (C) 2007-2012 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.
9
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
10
AC_REQUIRE([AC_C_INLINE])
11
gl_NEXT_HEADERS([stdio.h])
13
dnl No need to create extra modules for these functions. Everyone who uses
14
dnl <stdio.h> likely needs them.
23
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
24
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
25
dnl also an optimization, to avoid performing a configure check whose result
26
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
27
dnl or GNULIB_NONBLOCKING redundant.
28
m4_ifdef([gl_NONBLOCKING_IO], [
30
if test $gl_cv_have_nonblocking != yes; then
31
REPLACE_STDIO_READ_FUNCS=1
32
AC_LIBOBJ([stdio-read])
36
dnl No need to create extra modules for these functions. Everyone who uses
37
dnl <stdio.h> likely needs them.
48
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
49
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
50
dnl also an optimization, to avoid performing a configure check whose result
51
dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
52
dnl GNULIB_SIGPIPE redundant.
53
m4_ifdef([gl_SIGNAL_SIGPIPE], [
55
if test $gl_cv_header_signal_h_SIGPIPE != yes; then
56
REPLACE_STDIO_WRITE_FUNCS=1
57
AC_LIBOBJ([stdio-write])
60
dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
61
dnl "expected source file, required through AC_LIBSOURCES, not found". It is
62
dnl also an optimization, to avoid performing a configure check whose result
63
dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
64
dnl or GNULIB_NONBLOCKING redundant.
65
m4_ifdef([gl_NONBLOCKING_IO], [
67
if test $gl_cv_have_nonblocking != yes; then
68
REPLACE_STDIO_WRITE_FUNCS=1
69
AC_LIBOBJ([stdio-write])
73
dnl Check for declarations of anything we want to poison if the
74
dnl corresponding gnulib module is not in use, and which is not
75
dnl guaranteed by C89.
76
gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
77
]], [dprintf fpurge fseeko ftello getdelim getline pclose popen renameat
78
snprintf tmpfile vdprintf vsnprintf])
81
AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
83
dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
84
AC_REQUIRE([gl_STDIO_H_DEFAULTS])
85
gl_MODULE_INDICATOR_SET_VARIABLE([$1])
86
dnl Define it also as a C macro, for the benefit of the unit tests.
87
gl_MODULE_INDICATOR_FOR_TESTS([$1])
90
AC_DEFUN([gl_STDIO_H_DEFAULTS],
92
GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF])
93
GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE])
94
GNULIB_FDOPEN=0; AC_SUBST([GNULIB_FDOPEN])
95
GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
96
GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC])
97
GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS])
98
GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN])
99
GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF])
100
GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
101
GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE])
102
GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC])
103
GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS])
104
GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD])
105
GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN])
106
GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF])
107
GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
108
GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
109
GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
110
GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
111
GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE])
112
GNULIB_GETC=0; AC_SUBST([GNULIB_GETC])
113
GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
114
GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
115
GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
116
GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
117
GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
118
GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
119
GNULIB_PCLOSE=0; AC_SUBST([GNULIB_PCLOSE])
120
GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR])
121
GNULIB_POPEN=0; AC_SUBST([GNULIB_POPEN])
122
GNULIB_PRINTF=0; AC_SUBST([GNULIB_PRINTF])
123
GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX])
124
GNULIB_PUTC=0; AC_SUBST([GNULIB_PUTC])
125
GNULIB_PUTCHAR=0; AC_SUBST([GNULIB_PUTCHAR])
126
GNULIB_PUTS=0; AC_SUBST([GNULIB_PUTS])
127
GNULIB_REMOVE=0; AC_SUBST([GNULIB_REMOVE])
128
GNULIB_RENAME=0; AC_SUBST([GNULIB_RENAME])
129
GNULIB_RENAMEAT=0; AC_SUBST([GNULIB_RENAMEAT])
130
GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF])
131
GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
132
GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
133
GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
134
GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
135
GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE])
136
GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
137
GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF])
138
GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF])
139
GNULIB_VDPRINTF=0; AC_SUBST([GNULIB_VDPRINTF])
140
GNULIB_VFPRINTF=0; AC_SUBST([GNULIB_VFPRINTF])
141
GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
142
GNULIB_VPRINTF=0; AC_SUBST([GNULIB_VPRINTF])
143
GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX])
144
GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF])
145
GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
146
dnl Assume proper GNU behavior unless another module says otherwise.
147
HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE])
148
HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO])
149
HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
150
HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
151
HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
152
HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF])
153
HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
154
HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
155
HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
156
HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
157
HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
158
HAVE_PCLOSE=1; AC_SUBST([HAVE_PCLOSE])
159
HAVE_POPEN=1; AC_SUBST([HAVE_POPEN])
160
HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT])
161
HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
162
HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
163
REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF])
164
REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE])
165
REPLACE_FDOPEN=0; AC_SUBST([REPLACE_FDOPEN])
166
REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
167
REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN])
168
REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
169
REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE])
170
REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN])
171
REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK])
172
REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO])
173
REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL])
174
REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO])
175
REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM])
176
REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE])
177
REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF])
178
REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR])
179
REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN])
180
REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF])
181
REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE])
182
REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME])
183
REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT])
184
REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
185
REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
186
REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS])
187
REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
188
REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE])
189
REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
190
REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF])
191
REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
192
REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF])
193
REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
194
REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])