From 44480828308ad08a1b37e2d96a72ababee5f7174 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 29 Apr 2023 03:24:43 +0200 Subject: stdio: Avoid different configure results in different testdirs. * m4/stdio_h.m4 (gl_STDIO_H_EARLY): New macro, extracted from gl_STDIO_H. (gl_STDIO_H): Move the code that sets __USE_MINGW_ANSI_STDIO to gl_STDIO_H_EARLY. * modules/stdio (configure.ac-early): New section. --- ChangeLog | 9 +++++++++ m4/stdio_h.m4 | 21 ++++++++++++++++++--- modules/stdio | 3 +++ 3 files changed, 30 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6156ebc137..1ceda3c354 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2023-04-28 Bruno Haible + + stdio: Avoid different configure results in different testdirs. + * m4/stdio_h.m4 (gl_STDIO_H_EARLY): New macro, extracted from + gl_STDIO_H. + (gl_STDIO_H): Move the code that sets __USE_MINGW_ANSI_STDIO to + gl_STDIO_H_EARLY. + * modules/stdio (configure.ac-early): New section. + 2023-04-28 Bruno Haible stdbool tests: Avoid compilation error with Sun C on Solaris 10. diff --git a/m4/stdio_h.m4 b/m4/stdio_h.m4 index 342b7d1f20..dbfa0d5d61 100644 --- a/m4/stdio_h.m4 +++ b/m4/stdio_h.m4 @@ -1,12 +1,22 @@ -# stdio_h.m4 serial 62 +# stdio_h.m4 serial 63 dnl Copyright (C) 2007-2023 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. -AC_DEFUN_ONCE([gl_STDIO_H], +AC_DEFUN([gl_STDIO_H_EARLY], [ - AC_REQUIRE([gl_STDIO_H_DEFAULTS]) + dnl Defining __USE_MINGW_ANSI_STDIO to 1 must be done early, because + dnl the results of several configure tests depend on it: The tests + dnl - checking whether snprintf returns a byte count as in C99... + dnl - checking whether snprintf truncates the result as in C99... + dnl - checking whether printf supports the 'F' directive... + dnl - checking whether printf supports the grouping flag... + dnl - checking whether printf supports the zero flag correctly... + dnl - checking whether printf supports infinite 'double' arguments... + dnl - checking whether printf supports large precisions... + dnl report 'yes' if __USE_MINGW_ANSI_STDIO is 1 but 'no' if + dnl __USE_MINGW_ANSI_STDIO is not set. AH_VERBATIM([MINGW_ANSI_STDIO], [/* Use GNU style printf and scanf. */ #ifndef __USE_MINGW_ANSI_STDIO @@ -14,6 +24,11 @@ AC_DEFUN_ONCE([gl_STDIO_H], #endif ]) AC_DEFINE([__USE_MINGW_ANSI_STDIO]) +]) + +AC_DEFUN_ONCE([gl_STDIO_H], +[ + AC_REQUIRE([gl_STDIO_H_DEFAULTS]) gl_NEXT_HEADERS([stdio.h]) dnl Determine whether __USE_MINGW_ANSI_STDIO makes printf and diff --git a/modules/stdio b/modules/stdio index b4d866df9d..e7d7620788 100644 --- a/modules/stdio +++ b/modules/stdio @@ -19,6 +19,9 @@ ssize_t stddef sys_types +configure.ac-early: +gl_STDIO_H_EARLY + configure.ac: gl_STDIO_H gl_STDIO_H_REQUIRE_DEFAULTS -- cgit v1.2.1