From: Bruno Haible Date: Sun, 13 May 2018 20:20:13 +0000 (+0200) Subject: Support selective inclusion mechanism of recent mingw.org header files. X-Git-Tag: v1.0~5603 X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=01c26e100f5fff39c431c019874c3562e69ebdf1;p=gnulib.git Support selective inclusion mechanism of recent mingw.org header files. Reported by Eli Zaretskii . * 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 . * lib/locale.in.h: On mingw, when __need_locale_t is defined, just include the system's . --- diff --git a/ChangeLog b/ChangeLog index 6753aa14be..bd75aedca5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2018-05-13 Bruno Haible + + Support selective inclusion mechanism of recent mingw.org header files. + Reported by Eli Zaretskii . + * 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 + . + * lib/locale.in.h: On mingw, when __need_locale_t is defined, just + include the system's . + 2018-05-13 Bruno Haible Avoid compilation error due to 'mmap' on Android. diff --git a/lib/locale.in.h b/lib/locale.in.h index 1b27f1f765..804261dcad 100644 --- a/lib/locale.in.h +++ b/lib/locale.in.h @@ -19,10 +19,13 @@ #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@ @@ -212,5 +215,5 @@ _GL_WARN_ON_USE (duplocale, "duplocale is buggy on some glibc systems - " #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) */ diff --git a/lib/sys_types.in.h b/lib/sys_types.in.h index 0f75f4e107..440eeb38b4 100644 --- a/lib/sys_types.in.h +++ b/lib/sys_types.in.h @@ -20,6 +20,17 @@ #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. */ @@ -92,3 +103,4 @@ typedef unsigned long long int rpl_ino_t; #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ #endif /* _@GUARD_PREFIX@_SYS_TYPES_H */ +#endif /* __need_XXX */