Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2013-11-24 16:13:36 +0400
committerCorinna Vinschen <corinna@vinschen.de>2013-11-24 16:13:36 +0400
commitd2a88d97928e1baf89d251706b2cc6bda57a9528 (patch)
treebca8527a43486efdd3e90a0cab2e27c8ce387fa0 /winsup/cygwin/winlean.h
parent6958a5e8f1eee53ef3f4935daf62ff0cee8d8dc8 (diff)
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>
Diffstat (limited to 'winsup/cygwin/winlean.h')
-rw-r--r--winsup/cygwin/winlean.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/winsup/cygwin/winlean.h b/winsup/cygwin/winlean.h
index 8a4c2aeb2..c50cf747a 100644
--- a/winsup/cygwin/winlean.h
+++ b/winsup/cygwin/winlean.h
@@ -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