Reported by Eli Zaretskii <eliz@gnu.org>.
* lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
__need_ssize_t, or __need_time_t is defined, just include the system's
<sys/types.h>.
* lib/locale.in.h: On mingw, when __need_locale_t is defined, just
include the system's <locale.h>.
+2018-05-13 Bruno Haible <bruno@clisp.org>
+
+ Support selective inclusion mechanism of recent mingw.org header files.
+ Reported by Eli Zaretskii <eliz@gnu.org>.
+ * lib/sys_types.in.h: On mingw, when __need_off_t, __need___off64_t,
+ __need_ssize_t, or __need_time_t is defined, just include the system's
+ <sys/types.h>.
+ * lib/locale.in.h: On mingw, when __need_locale_t is defined, just
+ include the system's <locale.h>.
+
2018-05-13 Bruno Haible <bruno@clisp.org>
Avoid compilation error due to 'mmap' on Android.
#endif
@PRAGMA_COLUMNS@
-#ifdef _GL_ALREADY_INCLUDING_LOCALE_H
+#if (defined _WIN32 && !defined __CYGWIN__ && defined __need_locale_t) \
+ || defined _GL_ALREADY_INCLUDING_LOCALE_H
-/* Special invocation conventions to handle Solaris header files
- (through Solaris 10) when combined with gettext's libintl.h. */
+/* Special invocation convention:
+ - Inside mingw header files,
+ - To handle Solaris header files (through Solaris 10) when combined
+ with gettext's libintl.h. */
#@INCLUDE_NEXT@ @NEXT_LOCALE_H@
#endif
#endif /* _@GUARD_PREFIX@_LOCALE_H */
-#endif /* ! _GL_ALREADY_INCLUDING_LOCALE_H */
#endif /* _@GUARD_PREFIX@_LOCALE_H */
+#endif /* !(__need_locale_t || _GL_ALREADY_INCLUDING_LOCALE_H) */
#endif
@PRAGMA_COLUMNS@
+#if defined _WIN32 && !defined __CYGWIN__ \
+ && (defined __need_off_t || defined __need___off64_t \
+ || defined __need_ssize_t || defined __need_time_t)
+
+/* Special invocation convention inside mingw header files. */
+
+#@INCLUDE_NEXT@ @NEXT_SYS_TYPES_H@
+
+#else
+/* Normal invocation convention. */
+
#ifndef _@GUARD_PREFIX@_SYS_TYPES_H
/* The include_next requires a split double-inclusion guard. */
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
#endif /* _@GUARD_PREFIX@_SYS_TYPES_H */
+#endif /* __need_XXX */