diff options
Diffstat (limited to 'gl/m4/stdio_h.m4')
| -rw-r--r-- | gl/m4/stdio_h.m4 | 52 |
1 files changed, 48 insertions, 4 deletions
diff --git a/gl/m4/stdio_h.m4 b/gl/m4/stdio_h.m4 index 94271e11..71d86180 100644 --- a/gl/m4/stdio_h.m4 +++ b/gl/m4/stdio_h.m4 | |||
| @@ -1,12 +1,24 @@ | |||
| 1 | # stdio_h.m4 serial 59 | 1 | # stdio_h.m4 |
| 2 | dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. | 2 | # serial 75 |
| 3 | dnl Copyright (C) 2007-2025 Free Software Foundation, Inc. | ||
| 3 | dnl This file is free software; the Free Software Foundation | 4 | dnl This file is free software; the Free Software Foundation |
| 4 | dnl gives unlimited permission to copy and/or distribute it, | 5 | dnl gives unlimited permission to copy and/or distribute it, |
| 5 | dnl with or without modifications, as long as this notice is preserved. | 6 | dnl with or without modifications, as long as this notice is preserved. |
| 7 | dnl This file is offered as-is, without any warranty. | ||
| 6 | 8 | ||
| 7 | AC_DEFUN_ONCE([gl_STDIO_H], | 9 | AC_DEFUN([gl_STDIO_H_EARLY], |
| 8 | [ | 10 | [ |
| 9 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | 11 | dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because |
| 12 | dnl the results of several configure tests depend on it: The tests | ||
| 13 | dnl - checking whether snprintf returns a byte count as in C99... | ||
| 14 | dnl - checking whether snprintf truncates the result as in C99... | ||
| 15 | dnl - checking whether printf supports the 'F' directive... | ||
| 16 | dnl - checking whether printf supports the grouping flag... | ||
| 17 | dnl - checking whether printf supports the zero flag correctly... | ||
| 18 | dnl - checking whether printf supports infinite 'double' arguments... | ||
| 19 | dnl - checking whether printf supports large precisions... | ||
| 20 | dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if | ||
| 21 | dnl __USE_MINGW_ANSI_STDIO is not set. | ||
| 10 | AH_VERBATIM([MINGW_ANSI_STDIO], | 22 | AH_VERBATIM([MINGW_ANSI_STDIO], |
| 11 | [/* Use GNU style printf and scanf. */ | 23 | [/* Use GNU style printf and scanf. */ |
| 12 | #ifndef __USE_MINGW_ANSI_STDIO | 24 | #ifndef __USE_MINGW_ANSI_STDIO |
| @@ -14,6 +26,11 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
| 14 | #endif | 26 | #endif |
| 15 | ]) | 27 | ]) |
| 16 | AC_DEFINE([__USE_MINGW_ANSI_STDIO]) | 28 | AC_DEFINE([__USE_MINGW_ANSI_STDIO]) |
| 29 | ]) | ||
| 30 | |||
| 31 | AC_DEFUN_ONCE([gl_STDIO_H], | ||
| 32 | [ | ||
| 33 | AC_REQUIRE([gl_STDIO_H_DEFAULTS]) | ||
| 17 | gl_NEXT_HEADERS([stdio.h]) | 34 | gl_NEXT_HEADERS([stdio.h]) |
| 18 | 35 | ||
| 19 | dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and | 36 | dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and |
| @@ -40,6 +57,9 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
| 40 | attribute "__gnu_printf__" instead of "__printf__"]) | 57 | attribute "__gnu_printf__" instead of "__printf__"]) |
| 41 | fi | 58 | fi |
| 42 | 59 | ||
| 60 | dnl For defining _PRINTF_NAN_LEN_MAX. | ||
| 61 | gl_MUSL_LIBC | ||
| 62 | |||
| 43 | dnl This ifdef is an optimization, to avoid performing a configure check whose | 63 | dnl This ifdef is an optimization, to avoid performing a configure check whose |
| 44 | dnl result is not used. But it does not make the test of | 64 | dnl result is not used. But it does not make the test of |
| 45 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. | 65 | dnl GNULIB_STDIO_H_NONBLOCKING or GNULIB_NONBLOCKING redundant. |
| @@ -82,6 +102,16 @@ AC_DEFUN_ONCE([gl_STDIO_H], | |||
| 82 | if test $ac_cv_have_decl_fcloseall = no; then | 102 | if test $ac_cv_have_decl_fcloseall = no; then |
| 83 | HAVE_DECL_FCLOSEALL=0 | 103 | HAVE_DECL_FCLOSEALL=0 |
| 84 | fi | 104 | fi |
| 105 | |||
| 106 | AC_CHECK_DECLS_ONCE([getw]) | ||
| 107 | if test $ac_cv_have_decl_getw = no; then | ||
| 108 | HAVE_DECL_GETW=0 | ||
| 109 | fi | ||
| 110 | |||
| 111 | AC_CHECK_DECLS_ONCE([putw]) | ||
| 112 | if test $ac_cv_have_decl_putw = no; then | ||
| 113 | HAVE_DECL_PUTW=0 | ||
| 114 | fi | ||
| 85 | ]) | 115 | ]) |
| 86 | 116 | ||
| 87 | # gl_STDIO_MODULE_INDICATOR([modulename]) | 117 | # gl_STDIO_MODULE_INDICATOR([modulename]) |
| @@ -104,6 +134,7 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], | |||
| 104 | [ | 134 | [ |
| 105 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [ | 135 | m4_defun(GL_MODULE_INDICATOR_PREFIX[_STDIO_H_MODULE_INDICATOR_DEFAULTS], [ |
| 106 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) | 136 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DPRINTF]) |
| 137 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_DZPRINTF]) | ||
| 107 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) | 138 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FCLOSE]) |
| 108 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) | 139 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FDOPEN]) |
| 109 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) | 140 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FFLUSH]) |
| @@ -124,12 +155,14 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], | |||
| 124 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) | 155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELL]) |
| 125 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) | 156 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FTELLO]) |
| 126 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) | 157 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FWRITE]) |
| 158 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_FZPRINTF]) | ||
| 127 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) | 159 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETC]) |
| 128 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) | 160 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETCHAR]) |
| 129 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) | 161 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETDELIM]) |
| 130 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) | 162 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_GETLINE]) |
| 131 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) | 163 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF]) |
| 132 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) | 164 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_PRINTF_POSIX]) |
| 165 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_OBSTACK_ZPRINTF]) | ||
| 133 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) | 166 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PCLOSE]) |
| 134 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) | 167 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_PERROR]) |
| 135 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) | 168 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_POPEN]) |
| @@ -143,20 +176,29 @@ AC_DEFUN([gl_STDIO_H_REQUIRE_DEFAULTS], | |||
| 143 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) | 176 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_RENAMEAT]) |
| 144 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) | 177 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SCANF]) |
| 145 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) | 178 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNPRINTF]) |
| 179 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SNZPRINTF]) | ||
| 146 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) | 180 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SPRINTF_POSIX]) |
| 147 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) | 181 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_NONBLOCKING]) |
| 148 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) | 182 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_STDIO_H_SIGPIPE]) |
| 183 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_SZPRINTF]) | ||
| 149 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) | 184 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_TMPFILE]) |
| 150 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) | 185 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASPRINTF]) |
| 186 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VASZPRINTF]) | ||
| 151 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) | 187 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFSCANF]) |
| 152 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) | 188 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSCANF]) |
| 153 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) | 189 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDPRINTF]) |
| 190 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VDZPRINTF]) | ||
| 154 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) | 191 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF]) |
| 155 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) | 192 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFPRINTF_POSIX]) |
| 193 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VFZPRINTF]) | ||
| 156 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) | 194 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF]) |
| 157 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) | 195 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VPRINTF_POSIX]) |
| 158 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) | 196 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNPRINTF]) |
| 197 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSNZPRINTF]) | ||
| 159 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) | 198 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSPRINTF_POSIX]) |
| 199 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VSZPRINTF]) | ||
| 200 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_VZPRINTF]) | ||
| 201 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_ZPRINTF]) | ||
| 160 | dnl Support Microsoft deprecated alias function names by default. | 202 | dnl Support Microsoft deprecated alias function names by default. |
| 161 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) | 203 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FCLOSEALL], [1]) |
| 162 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) | 204 | gl_MODULE_INDICATOR_INIT_VARIABLE([GNULIB_MDA_FDOPEN], [1]) |
| @@ -178,7 +220,9 @@ AC_DEFUN([gl_STDIO_H_DEFAULTS], | |||
| 178 | HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) | 220 | HAVE_DECL_FTELLO=1; AC_SUBST([HAVE_DECL_FTELLO]) |
| 179 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) | 221 | HAVE_DECL_GETDELIM=1; AC_SUBST([HAVE_DECL_GETDELIM]) |
| 180 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) | 222 | HAVE_DECL_GETLINE=1; AC_SUBST([HAVE_DECL_GETLINE]) |
| 223 | HAVE_DECL_GETW=1; AC_SUBST([HAVE_DECL_GETW]) | ||
| 181 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) | 224 | HAVE_DECL_OBSTACK_PRINTF=1; AC_SUBST([HAVE_DECL_OBSTACK_PRINTF]) |
| 225 | HAVE_DECL_PUTW=1; AC_SUBST([HAVE_DECL_PUTW]) | ||
| 182 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) | 226 | HAVE_DECL_SNPRINTF=1; AC_SUBST([HAVE_DECL_SNPRINTF]) |
| 183 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) | 227 | HAVE_DECL_VSNPRINTF=1; AC_SUBST([HAVE_DECL_VSNPRINTF]) |
| 184 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) | 228 | HAVE_DPRINTF=1; AC_SUBST([HAVE_DPRINTF]) |
