-#ifdef __MINGW32_VERSION
-# if __MINGW32_MAJOR_VERSION == 3 && __MINGW32_MINOR_VERSION < 14
-# error This mingw-runtime is too old, it has a broken vsnprintf
-# endif
-/* mingw-runtime provides the whole printf family in a c99 compliant way. */
-/* the way to enable this is to define __USE_MINGW_ANSI_STDIO, or something
- * such as _ISOC99_SOURCE; the former is done by configure.ac */
-/* This isn't done here, since some modules don't include config.h and
- * therefore this as the first include file */
-#elif defined UNDER_CE
-# error Window CE support for *printf needs fixing.
+#if !defined (HAVE_GMTIME_R) || !defined (HAVE_LOCALTIME_R)
+# include <time.h> /* time_t */
+#endif
+
+#ifndef HAVE_LLDIV
+typedef struct
+{
+ long long quot; /* Quotient. */
+ long long rem; /* Remainder. */
+} lldiv_t;
+#endif
+
+#if !defined(HAVE_GETENV) || \
+ !defined(HAVE_USELOCALE)
+# include <stddef.h> /* NULL */
+#endif
+
+#if !defined (HAVE_REWIND) || \
+ !defined (HAVE_GETDELIM)
+# include <stdio.h> /* FILE */
+#endif
+
+#if !defined (HAVE_STRLCPY) || \
+ !defined (HAVE_STRNDUP) || \
+ !defined (HAVE_STRNLEN) || \
+ !defined (HAVE_GETCWD)
+# include <stddef.h> /* size_t */
+#endif
+
+#ifndef HAVE_VASPRINTF
+# include <stdarg.h> /* va_list */
+#endif
+
+#if !defined (HAVE_GETDELIM) || \
+ !defined (HAVE_GETPID) || \
+ !defined (HAVE_SWAB)
+# include <sys/types.h> /* ssize_t, pid_t */
+#endif
+
+#ifdef __cplusplus
+extern "C" {