Throughout, drop unnecessary explicit includes of windows header files

included by default.
	* winlean.h: Add long comment to explain why we have to define certain
	symbols.
	(_NORMALIZE_): Define.
	(_WINNLS_): Drop definition and subsequent undef.
	(_WINNETWK_): Ditto.
	(_WINSVC_): Ditto.

2013-11-23  Eric Blake  <eblake@redhat.com>
This commit is contained in:
Corinna Vinschen
2013-11-24 12:13:36 +00:00
parent 6958a5e8f1
commit d2a88d9792
21 changed files with 23 additions and 49 deletions

View File

@ -12,14 +12,18 @@ details. */
#define _WINLEAN_H 1
#define WIN32_LEAN_AND_MEAN 1
/* Mingw64 */
#define _WINNLS_
#define _WINNETWK_
#define _WINSVC_
/* The following macros have to be defined, otherwise the autoload mechanism
in autoload.cc leads to "multiple definition" errors. The macros control
the declarations of symbols in the Mingw64 w32api headers. If they are
not defined, a DECLSPEC_IMPORT will be added to the symbol declarations.
This leads to a definition of the symbols in the sources using the
autoloaded symbols, which in turn clashes with the definition in the
w32api library exporting the symbols. */
#define _ADVAPI32_
#define _DSGETDCAPI_
#define _GDI32_
#define _KERNEL32_
#define _NORMALIZE_
#define _OLE32_
#define _SHELL32_
#define _SPOOL32_
@ -75,10 +79,6 @@ details. */
#undef CRITICAL
#endif
#undef _WINNLS_
#undef _WINNETWK_
#undef _WINSVC_
/* When Terminal Services are installed, the GetWindowsDirectory function
does not return the system installation dir, but a user specific directory
instead. That's not what we have in mind when calling GetWindowsDirectory