1# stdio_h.m4 serial 6 2dnl Copyright (C) 2007 Free Software Foundation, Inc. 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]) 10 gl_ABSOLUTE_HEADER([stdio.h]) 11 ABSOLUTE_STDIO_H=\"$gl_cv_absolute_stdio_h\" 12 AC_SUBST([ABSOLUTE_STDIO_H]) 13]) 14 15AC_DEFUN([gl_STDIO_MODULE_INDICATOR], 16[ 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 20]) 21 22AC_DEFUN([gl_STDIO_H_DEFAULTS], 23[ 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]) 58]) 59 60dnl Code shared by fseeko and ftello. Determine if large files are supported, 61dnl but stdin does not start as a large file by default. 62AC_DEFUN([gl_STDIN_LARGE_OFFSET], 63 [ 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 72 a runtime test. */ 73 size_t s; 74 if (asnprintf (NULL, &s, "")) 75 return 0; 76#endif])], 77 [gl_cv_var_stdin_large_offset=yes], 78 [gl_cv_var_stdin_large_offset=no])]) 79]) 80