From c9639ae2acb5554c7b61cda2b4251b4e22223d8b Mon Sep 17 00:00:00 2001
From: Paul Fertser <fercerpav@gmail.com>
Date: Tue, 20 Jan 2015 20:09:02 +0300
Subject: [PATCH] configure: define WIN32_LEAN_AND_MEAN early to make it
 effective

This macro makes windows builds faster and helps with the old "#define
interface struct" issue as the word "interface" is part of libusb-0.1
API. However, defining it in replacements.h is too late, as windows.h
gets included by that time from somewhere else.

This solution is provided by Ray Donnelly from the MSYS2 team.

Change-Id: I376a5fb3d106786515d7e1ba44dbd751e4dcdb1b
Signed-off-by: Paul Fertser <fercerpav@gmail.com>
Reviewed-on: http://openocd.zylin.com/2486
Tested-by: jenkins
Reviewed-by: Xiaofan <xiaofanc@gmail.com>
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
---
 configure.ac              | 4 ++++
 src/helper/replacements.h | 1 -
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/configure.ac b/configure.ac
index ce2863381..36058466b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -623,6 +623,10 @@ case $host in
     ;;
 esac
 
+if test $is_win32 = yes; then
+    AC_DEFINE([WIN32_LEAN_AND_MEAN], [1], [1 to exclude old conflicting definitions when building on Windows])
+fi
+
 if test $build_parport = yes; then
   build_bitbang=yes
   AC_DEFINE([BUILD_PARPORT], [1], [1 if you want parport.])
diff --git a/src/helper/replacements.h b/src/helper/replacements.h
index 565fe9dca..277660228 100644
--- a/src/helper/replacements.h
+++ b/src/helper/replacements.h
@@ -135,7 +135,6 @@ static inline unsigned usleep(unsigned int usecs)
 /* Windows specific */
 #ifdef _WIN32
 
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #include <time.h>
 
-- 
GitLab