* winlean.h: Make sure certain Windows macros are undefined again.

Add comment to explain why.
	* winsup.h: Include winlean.h from C sources as well.
	* libc/minires-os-if.c: Drop including ntdef.h.

	Fix previous ChangeLog entry.
This commit is contained in:
Corinna Vinschen
2012-07-12 11:27:28 +00:00
parent 568e72f561
commit 6902b88b0b
4 changed files with 49 additions and 5 deletions

View File

@@ -35,11 +35,48 @@ details. */
#define WINIMPM
#define WINSOCK_API_LINKAGE
/* Windows headers define a couple of annoyingly intrusive macros for the
sole purpose of inline documentation. Since they are defined without
respect for the namespace and not undef'ed anymore, they tend to collide
with otherwise innocent definitions in the application. We check if they
exist and if not, we undef them again after including the Windows headers. */
#ifndef IN
#define __undef_IN
#endif
#ifndef OUT
#define __undef_OUT
#endif
#ifndef OPTIONAL
#define __undef_OPTIONAL
#endif
#ifndef NOTHING
#define __undef_NOTHING
#endif
#ifndef CRITICAL
#define __undef_CRITICAL
#endif
#include <windows.h>
#include <wincrypt.h>
#include <lmcons.h>
#include <ntdef.h>
#ifdef __undef_IN
#undef IN
#endif
#ifdef __undef_OUT
#undef OUT
#endif
#ifdef __undef_OPTIONAL
#undef OPTIONAL
#endif
#ifdef __undef_NOTHING
#undef NOTHING
#endif
#ifdef __undef_CRITICAL
#undef CRITICAL
#endif
#undef _WINGDI_H
#undef _WINUSER_H
#undef _WINNLS_H