From: Simon McVittie Date: Fri, 25 Feb 2022 16:06:59 +0000 (+0000) Subject: build: Opt out from using mingw-w64's replacement printf(), etc. X-Git-Tag: dbus-1.12.24~15 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=58d44faa5734f7af197d446823c17bedfb7ddb8e;p=thirdparty%2Fdbus.git build: Opt out from using mingw-w64's replacement printf(), etc. The Windows code in dbus is careful to use Windows-specific equivalents of the Standard C features that are not implemented by msvcrt.dll, so we don't need to substitute a Standard C printf implementation. This avoids compiler warnings/errors when gcc expects us to be using Microsoft printf syntax (`ms_printf` attribute), but newer versions of mingw-w64 expect us to be using GNU or Standard C printf syntax (`gnu_printf` attribute) as a result of `__USE_MINGW_ANSI_STDIO` being enabled by default if not otherwise specified. Resolves: https://gitlab.freedesktop.org/dbus/dbus/-/issues/380 Signed-off-by: Simon McVittie (cherry picked from commit daf362ee61170727be0ca5dec1cf39435485ad0c) --- diff --git a/cmake/config.h.cmake b/cmake/config.h.cmake index 111918216..2fa2c0403 100644 --- a/cmake/config.h.cmake +++ b/cmake/config.h.cmake @@ -6,6 +6,14 @@ /* indicate that we are building with cmake */ #define DBUS_CMAKE 1 +/* On Windows, we expect to be using msvcrt.dll-compatible printf + * (%I64u instead of %llu) unless otherwise specified. This must be + * done near the beginning of config.h, before we have included any + * system headers that might check the value of this macro. */ +#ifndef __USE_MINGW_ANSI_STDIO +# define __USE_MINGW_ANSI_STDIO 0 +#endif + @AUTOPACKAGE_CONFIG_H_TEMPLATE@ /* diff --git a/configure.ac b/configure.ac index 3e5a64d84..b0acbde2e 100644 --- a/configure.ac +++ b/configure.ac @@ -1726,6 +1726,15 @@ AH_VERBATIM(_DARWIN_ENVIRON, #endif ]) +AH_VERBATIM([USE_MINGW_ANSI_STDIO], +[ +/* On Windows, we expect to be using msvcrt.dll-compatible printf + * (%I64u instead of %llu) unless otherwise specified */ +#ifndef __USE_MINGW_ANSI_STDIO +# define __USE_MINGW_ANSI_STDIO 0 +#endif +]) + AC_ARG_ENABLE([stats], [AS_HELP_STRING([--disable-stats], [disable bus daemon usage statistics])],