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_ABSOLUTE_HEADER([stdio.h])
11 ABSOLUTE_STDIO_H=\"$gl_cv_absolute_stdio_h\"
12 AC_SUBST([ABSOLUTE_STDIO_H])
15 AC_DEFUN([gl_STDIO_MODULE_INDICATOR],
17 dnl Use AC_REQUIRE here, so that the default settings are expanded once only.
18 AC_REQUIRE([gl_STDIO_H_DEFAULTS])
19 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1
22 AC_DEFUN([gl_STDIO_H_DEFAULTS],
24 GNULIB_FPRINTF_POSIX=0; AC_SUBST([GNULIB_FPRINTF_POSIX])
25 GNULIB_PRINTF_POSIX=0; AC_SUBST([GNULIB_PRINTF_POSIX])
26 GNULIB_SNPRINTF=0; AC_SUBST([GNULIB_SNPRINTF])
27 GNULIB_SPRINTF_POSIX=0; AC_SUBST([GNULIB_SPRINTF_POSIX])
28 GNULIB_VFPRINTF_POSIX=0; AC_SUBST([GNULIB_VFPRINTF_POSIX])
29 GNULIB_VPRINTF_POSIX=0; AC_SUBST([GNULIB_VPRINTF_POSIX])
30 GNULIB_VSNPRINTF=0; AC_SUBST([GNULIB_VSNPRINTF])
31 GNULIB_VSPRINTF_POSIX=0; AC_SUBST([GNULIB_VSPRINTF_POSIX])
32 GNULIB_VASPRINTF=0; AC_SUBST([GNULIB_VASPRINTF])
33 GNULIB_FSEEK=0; AC_SUBST([GNULIB_FSEEK])
34 GNULIB_FSEEKO=0; AC_SUBST([GNULIB_FSEEKO])
35 GNULIB_FTELL=0; AC_SUBST([GNULIB_FTELL])
36 GNULIB_FTELLO=0; AC_SUBST([GNULIB_FTELLO])
37 GNULIB_FFLUSH=0; AC_SUBST([GNULIB_FFLUSH])
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])
60 dnl Code shared by fseeko and ftello. Determine if large files are supported,
61 dnl but stdin does not start as a large file by default.
62 AC_DEFUN([gl_STDIN_LARGE_OFFSET],
64 AC_CACHE_CHECK([whether stdin defaults to large file offsets],
65 [gl_cv_var_stdin_large_offset],
66 [AC_LINK_IFELSE([AC_LANG_PROGRAM([#include <stdio.h>],
67 [#if defined __SL64 && defined __SCLE /* cygwin */
68 /* Cygwin 1.5.24 and earlier fail to put stdin in 64-bit mode, making
69 fseeko/ftello needlessly fail. This bug was fixed at the same time
70 that cygwin started exporting asnprintf (cygwin 1.7.0), so we use
71 that as a link-time test for cross-compiles rather than building
74 if (asnprintf (NULL, &s, ""))
77 [gl_cv_var_stdin_large_offset=yes],
78 [gl_cv_var_stdin_large_offset=no])])