From beb08481d01a07a8b10938b1078a5e298b1c2912 Mon Sep 17 00:00:00 2001 From: Marcel Raad Date: Mon, 10 Jul 2017 14:56:11 +0200 Subject: 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 --- include/curl/system.h | 3 --- lib/curl_setup.h | 14 +++++++++++--- winbuild/MakefileBuild.vc | 2 +- 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 # include # include 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 # ifdef HAVE_WINSOCK2_H # include 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) -- cgit v1.2.3