2 dnl Copyright (C) 2007 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 gl_CHECK_NEXT_HEADERS([stdio.h])
13 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
15 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
16 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
17 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
20 AC_DEFUN([gl_STDIO_H_DEFAULTS],
22 GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
23 GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX])
24 GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
25 GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
26 GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
27 GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX])
28 GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF])
29 GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
30 GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
31 GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
32 GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
33 GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
34 GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
35 GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
36 GNULIB_GETDELIM=0; AC_SUBST([GNULIB_GETDELIM])
37 GNULIB_GETLINE=0; AC_SUBST([GNULIB_GETLINE])
38 dnl Assume proper GNU behavior unless another module says otherwise.
39 REPLACE_FPRINTF=0; AC_SUBST([REPLACE_FPRINTF])
40 REPLACE_VFPRINTF=0; AC_SUBST([REPLACE_VFPRINTF])
41 REPLACE_PRINTF=0; AC_SUBST([REPLACE_PRINTF])
42 REPLACE_VPRINTF=0; AC_SUBST([REPLACE_VPRINTF])
43 REPLACE_SNPRINTF=0; AC_SUBST([REPLACE_SNPRINTF])
44 HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF])
45 REPLACE_VSNPRINTF=0; AC_SUBST([REPLACE_VSNPRINTF])
46 HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF])
47 REPLACE_SPRINTF=0; AC_SUBST([REPLACE_SPRINTF])
48 REPLACE_VSPRINTF=0; AC_SUBST([REPLACE_VSPRINTF])
49 HAVE_VASPRINTF=1; AC_SUBST([HAVE_VASPRINTF])
50 REPLACE_VASPRINTF=0; AC_SUBST([REPLACE_VASPRINTF])
51 HAVE_FSEEKO=1; AC_SUBST([HAVE_FSEEKO])
52 REPLACE_FSEEKO=0; AC_SUBST([REPLACE_FSEEKO])
53 REPLACE_FSEEK=0; AC_SUBST([REPLACE_FSEEK])
54 HAVE_FTELLO=1; AC_SUBST([HAVE_FTELLO])
55 REPLACE_FTELLO=0; AC_SUBST([REPLACE_FTELLO])
56 REPLACE_FTELL=0; AC_SUBST([REPLACE_FTELL])
57 REPLACE_FFLUSH=0; AC_SUBST([REPLACE_FFLUSH])
58 HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM])
59 HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE])
60 REPLACE_GETLINE=0; AC_SUBST([REPLACE_GETLINE])
63 dnl Code shared by fseeko and ftello. Determine if large files are supported,
64 dnl but stdin does not start as a large file by default.
65 AC_DEFUN([gl_STDIN_LARGE_OFFSET],
67 AC_CACHE_CHECK([whether stdin defaults to large file offsets],
68 [gl_cv_var_stdin_large_offset],
69 [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],
70 [#if defined __SL64 && defined __SCLE /* cygwin */
71 /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making
72 fseeko/ftello needlessly fail. This bug was fixed at the same time
73 that cygwin started exporting asnprintf (cygwin 1.7.0), so we use
74 that as a link-time test for cross-compiles rather than building
77 if (asnprintf (NULL, &s, ""))
80 [gl_cv_var_stdin_large_offset=yes],
81 [gl_cv_var_stdin_large_offset=no])])