Update Gnulib to v0.0-5158-g7d06b32; remove `strcase' and `version-etc-fsf'.
[bpt/guile.git] / m4 / stdio_h.m4
CommitLineData
dd7d0148 1# stdio_h.m4 serial 36
49114fd4 2dnl Copyright (C) 2007-2011 Free Software Foundation, Inc.
c4b681fd
LC
3dnl This file is free software; the Free Software Foundation
4dnl gives unlimited permission to copy and/or distribute it,
5dnl with or without modifications, as long as this notice is preserved.
6
7AC_DEFUN([gl_STDIO_H],
8[
9 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
61cd9dc9 10 AC_REQUIRE([AC_C_INLINE])
49114fd4 11 gl_NEXT_HEADERS([stdio.h])
dd7d0148
LC
12
13 dnl No need to create extra modules for these functions. Everyone who uses
14 dnl <stdio.h> likely needs them.
15 GNULIB_FSCANF=1
16 GNULIB_SCANF=1
17 GNULIB_VFSCANF=1
18 GNULIB_VSCANF=1
19 GNULIB_FGETC=1
20 GNULIB_GETC=1
21 GNULIB_GETCHAR=1
22 GNULIB_FGETS=1
23 GNULIB_GETS=1
24 GNULIB_FREAD=1
25 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-read.c"
26 dnl "expected source file, required through AC_LIBSOURCES, not found". It is
27 dnl also an optimization, to avoid performing a configure check whose result
28 dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
29 dnl or GNULIB_NONBLOCKING redundant.
30 m4_ifdef([gl_NONBLOCKING_IO], [
31 gl_NONBLOCKING_IO
32 if test $gl_cv_have_nonblocking != yes; then
33 REPLACE_STDIO_READ_FUNCS=1
34 AC_LIBOBJ([stdio-read])
35 fi
36 ])
37
c4b681fd
LC
38 dnl No need to create extra modules for these functions. Everyone who uses
39 dnl <stdio.h> likely needs them.
40 GNULIB_FPRINTF=1
41 GNULIB_PRINTF=1
42 GNULIB_VFPRINTF=1
43 GNULIB_VPRINTF=1
44 GNULIB_FPUTC=1
45 GNULIB_PUTC=1
46 GNULIB_PUTCHAR=1
47 GNULIB_FPUTS=1
48 GNULIB_PUTS=1
49 GNULIB_FWRITE=1
dd7d0148
LC
50 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
51 dnl "expected source file, required through AC_LIBSOURCES, not found". It is
52 dnl also an optimization, to avoid performing a configure check whose result
53 dnl is not used. But it does not make the test of GNULIB_STDIO_H_SIGPIPE or
54 dnl GNULIB_SIGPIPE redundant.
c4b681fd
LC
55 m4_ifdef([gl_SIGNAL_SIGPIPE], [
56 gl_SIGNAL_SIGPIPE
57 if test $gl_cv_header_signal_h_SIGPIPE != yes; then
58 REPLACE_STDIO_WRITE_FUNCS=1
59 AC_LIBOBJ([stdio-write])
60 fi
61 ])
dd7d0148
LC
62 dnl This ifdef is necessary to avoid an error "missing file lib/stdio-write.c"
63 dnl "expected source file, required through AC_LIBSOURCES, not found". It is
64 dnl also an optimization, to avoid performing a configure check whose result
65 dnl is not used. But it does not make the test of GNULIB_STDIO_H_NONBLOCKING
66 dnl or GNULIB_NONBLOCKING redundant.
67 m4_ifdef([gl_NONBLOCKING_IO], [
68 gl_NONBLOCKING_IO
69 if test $gl_cv_have_nonblocking != yes; then
70 REPLACE_STDIO_WRITE_FUNCS=1
71 AC_LIBOBJ([stdio-write])
72 fi
73 ])
61cd9dc9
LC
74
75 dnl Check for declarations of anything we want to poison if the
76 dnl corresponding gnulib module is not in use, and which is not
77 dnl guaranteed by C89.
78 gl_WARN_ON_USE_PREPARE([[#include <stdio.h>
79 ]], [dprintf fpurge fseeko ftello getdelim getline popen renameat
a927b6c1 80 snprintf tmpfile vdprintf vsnprintf])
c4b681fd
LC
81])
82
83AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
84[
85 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
86 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
a927b6c1 87 gl_MODULE_INDICATOR_SET_VARIABLE([$1])
f4c79b3c 88 dnl Define it also as a C macro, for the benefit of the unit tests.
a927b6c1 89 gl_MODULE_INDICATOR_FOR_TESTS([$1])
c4b681fd
LC
90])
91
92AC_DEFUN([gl_STDIO_H_DEFAULTS],
93[
c4b681fd 94 GNULIB_DPRINTF=0; AC_SUBST([GNULIB_DPRINTF])
8912421c
LC
95 GNULIB_FCLOSE=0; AC_SUBST([GNULIB_FCLOSE])
96 GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
dd7d0148
LC
97 GNULIB_FGETC=0; AC_SUBST([GNULIB_FGETC])
98 GNULIB_FGETS=0; AC_SUBST([GNULIB_FGETS])
c4b681fd 99 GNULIB_FOPEN=0; AC_SUBST([GNULIB_FOPEN])
8912421c
LC
100 GNULIB_FPRINTF=0; AC_SUBST([GNULIB_FPRINTF])
101 GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
102 GNULIB_FPURGE=0; AC_SUBST([GNULIB_FPURGE])
103 GNULIB_FPUTC=0; AC_SUBST([GNULIB_FPUTC])
104 GNULIB_FPUTS=0; AC_SUBST([GNULIB_FPUTS])
dd7d0148 105 GNULIB_FREAD=0; AC_SUBST([GNULIB_FREAD])
c4b681fd 106 GNULIB_FREOPEN=0; AC_SUBST([GNULIB_FREOPEN])
dd7d0148 107 GNULIB_FSCANF=0; AC_SUBST([GNULIB_FSCANF])
c4b681fd
LC
108 GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
109 GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
110 GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
111 GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
c4b681fd 112 GNULIB_FWRITE=0; AC_SUBST([GNULIB_FWRITE])
dd7d0148
LC
113 GNULIB_GETC=0; AC_SUBST([GNULIB_GETC])
114 GNULIB_GETCHAR=0; AC_SUBST([GNULIB_GETCHAR])
c4b681fd
LC
115 GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
116 GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
dd7d0148 117 GNULIB_GETS=0; AC_SUBST([GNULIB_GETS])
8912421c
LC
118 GNULIB_OBSTACK_PRINTF=0; AC_SUBST([GNULIB_OBSTACK_PRINTF])
119 GNULIB_OBSTACK_PRINTF_POSIX=0; AC_SUBST([GNULIB_OBSTACK_PRINTF_POSIX])
c4b681fd 120 GNULIB_PERROR=0; AC_SUBST([GNULIB_PERROR])
8912421c
LC
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])
dd7d0148 130 GNULIB_SCANF=0; AC_SUBST([GNULIB_SCANF])
8912421c
LC
131 GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
132 GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
dd7d0148 133 GNULIB_STDIO_H_NONBLOCKING=0; AC_SUBST([GNULIB_STDIO_H_NONBLOCKING])
c4b681fd 134 GNULIB_STDIO_H_SIGPIPE=0; AC_SUBST([GNULIB_STDIO_H_SIGPIPE])
a927b6c1 135 GNULIB_TMPFILE=0; AC_SUBST([GNULIB_TMPFILE])
8912421c 136 GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
dd7d0148
LC
137 GNULIB_VFSCANF=0; AC_SUBST([GNULIB_VFSCANF])
138 GNULIB_VSCANF=0; AC_SUBST([GNULIB_VSCANF])
8912421c
LC
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])
c4b681fd 146 dnl Assume proper GNU behavior unless another module says otherwise.
8912421c 147 HAVE_DECL_FPURGE=1; AC_SUBST([HAVE_DECL_FPURGE])
ab4d62ad
LC
148 HAVE_DECL_FSEEKO=1; AC_SUBST([HAVE_DECL_FSEEKO])
149 HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO])
8912421c
LC
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])
c4b681fd 153 HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
c4b681fd 154 HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
c4b681fd 155 HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF])
a927b6c1
LC
156 HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
157 HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
8912421c 158 HAVE_RENAMEAT=1; AC_SUBST([HAVE_RENAMEAT])
c4b681fd 159 HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
8912421c
LC
160 HAVE_VDPRINTF=1; AC_SUBST([HAVE_VDPRINTF])
161 REPLACE_DPRINTF=0; AC_SUBST([REPLACE_DPRINTF])
162 REPLACE_FCLOSE=0; AC_SUBST([REPLACE_FCLOSE])
163 REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
c4b681fd 164 REPLACE_FOPEN=0; AC_SUBST([REPLACE_FOPEN])
8912421c
LC
165 REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
166 REPLACE_FPURGE=0; AC_SUBST([REPLACE_FPURGE])
c4b681fd 167 REPLACE_FREOPEN=0; AC_SUBST([REPLACE_FREOPEN])
c4b681fd 168 REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK])
8912421c 169 REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO])
c4b681fd 170 REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL])
8912421c 171 REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO])
61cd9dc9 172 REPLACE_GETDELIM=0; AC_SUBST([REPLACE_GETDELIM])
c4b681fd 173 REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE])
8912421c 174 REPLACE_OBSTACK_PRINTF=0; AC_SUBST([REPLACE_OBSTACK_PRINTF])
c4b681fd 175 REPLACE_PERROR=0; AC_SUBST([REPLACE_PERROR])
8912421c
LC
176 REPLACE_POPEN=0; AC_SUBST([REPLACE_POPEN])
177 REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF])
178 REPLACE_REMOVE=0; AC_SUBST([REPLACE_REMOVE])
179 REPLACE_RENAME=0; AC_SUBST([REPLACE_RENAME])
180 REPLACE_RENAMEAT=0; AC_SUBST([REPLACE_RENAMEAT])
181 REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
182 REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
dd7d0148 183 REPLACE_STDIO_READ_FUNCS=0; AC_SUBST([REPLACE_STDIO_READ_FUNCS])
8912421c 184 REPLACE_STDIO_WRITE_FUNCS=0; AC_SUBST([REPLACE_STDIO_WRITE_FUNCS])
a927b6c1 185 REPLACE_TMPFILE=0; AC_SUBST([REPLACE_TMPFILE])
8912421c
LC
186 REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
187 REPLACE_VDPRINTF=0; AC_SUBST([REPLACE_VDPRINTF])
188 REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
189 REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF])
190 REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
191 REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])
c4b681fd 192])