summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Raad <Marcel.Raad@teamviewer.com>2017-07-10 14:56:11 +0200
committerMarcel Raad <Marcel.Raad@teamviewer.com>2017-07-11 11:57:00 +0200
commitbeb08481d01a07a8b10938b1078a5e298b1c2912 (patch)
tree4c364e4fc65c73822597fbecedf333014dea2be0
parentc5e87fdb7a60c1c4ef158a876e730b25be7a0894 (diff)
downloadcurl-beb08481d01a07a8b10938b1078a5e298b1c2912.tar.gz
curl_setup: always define WIN32_LEAN_AND_MEAN on Windows
Make sure to always define WIN32_LEAN_AND_MEAN before including any Windows headers to avoid pulling in unnecessary headers. This avoids unnecessary macro clashes and compiler warnings. Ref: https://github.com/curl/curl/issues/1562 Closes https://github.com/curl/curl/pull/1672
-rw-r--r--include/curl/system.h3
-rw-r--r--lib/curl_setup.h14
-rw-r--r--winbuild/MakefileBuild.vc2
3 files changed, 12 insertions, 7 deletions
diff --git a/include/curl/system.h b/include/curl/system.h
index 973c73ad4..e808580eb 100644
--- a/include/curl/system.h
+++ b/include/curl/system.h
@@ -442,9 +442,6 @@
/* CURL_PULL_WS2TCPIP_H is defined above when inclusion of header file */
/* ws2tcpip.h is required here to properly make type definitions below. */
#ifdef CURL_PULL_WS2TCPIP_H
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-# endif
# include <windows.h>
# include <winsock2.h>
# include <ws2tcpip.h>
diff --git a/lib/curl_setup.h b/lib/curl_setup.h
index eb4f038dd..fc597d75d 100644
--- a/lib/curl_setup.h
+++ b/lib/curl_setup.h
@@ -31,6 +31,17 @@
#define WIN32
#endif
+#ifdef WIN32
+/*
+ * Don't include unneeded stuff in Windows headers to avoid compiler
+ * warnings and macro clashes.
+ * Make sure to define this macro before including any Windows headers.
+ */
+# ifndef WIN32_LEAN_AND_MEAN
+# define WIN32_LEAN_AND_MEAN
+# endif
+#endif
+
/*
* Include configuration script results or hand-crafted
* configuration file for platforms which lack config tool.
@@ -237,9 +248,6 @@
# if defined(_UNICODE) && !defined(UNICODE)
# define UNICODE
# endif
-# ifndef WIN32_LEAN_AND_MEAN
-# define WIN32_LEAN_AND_MEAN
-# endif
# include <windows.h>
# ifdef HAVE_WINSOCK2_H
# include <winsock2.h>
diff --git a/winbuild/MakefileBuild.vc b/winbuild/MakefileBuild.vc
index eb28efefd..1d8210b3d 100644
--- a/winbuild/MakefileBuild.vc
+++ b/winbuild/MakefileBuild.vc
@@ -60,7 +60,7 @@ CFLAGS = /I. /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUIL
!ELSE
CC_NODEBUG = $(CC) /O2 /DNDEBUG
CC_DEBUG = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd /W3
-CFLAGS = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL /DWIN32_LEAN_AND_MEAN
+CFLAGS = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL
!ENDIF
LFLAGS = /nologo /machine:$(MACHINE)