Fix windows build and clean up use of <windows.h>

We want to globally define WIN_LEAN_AND_MEAN and WINVER to particular values so
let's do it in OS_CFLAGS.

Then, we can pepper in windows.h includes where using #includes that require it.

Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>



git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6783 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/block-raw-win32.c b/block-raw-win32.c
index 19fa80d..6387b09 100644
--- a/block-raw-win32.c
+++ b/block-raw-win32.c
@@ -25,6 +25,7 @@
 #include "qemu-timer.h"
 #include "block_int.h"
 #include <assert.h>
+#include <windows.h>
 #include <winioctl.h>
 
 //#define WIN32_AIO
diff --git a/block.c b/block.c
index 36de3b6..bd65ed3 100644
--- a/block.c
+++ b/block.c
@@ -40,6 +40,10 @@
 #endif
 #endif
 
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
 #define SECTOR_BITS 9
 #define SECTOR_SIZE (1 << SECTOR_BITS)
 
diff --git a/configure b/configure
index 22795e8..819817a 100755
--- a/configure
+++ b/configure
@@ -590,6 +590,7 @@
     oss="no"
     linux_user="no"
     bsd_user="no"
+    OS_CFLAGS="$OS_CFLAGS -DWIN32_LEAN_AND_MEAN -DWINVER=0x501"
 fi
 
 if test ! -x "$(which cgcc 2>/dev/null)"; then
diff --git a/kqemu.c b/kqemu.c
index 25f4ea7..96660b0 100644
--- a/kqemu.c
+++ b/kqemu.c
@@ -19,7 +19,6 @@
  */
 #include "config.h"
 #ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #include <winioctl.h>
 #else
diff --git a/net.c b/net.c
index 90c4b5b..c853daf 100644
--- a/net.c
+++ b/net.c
@@ -102,6 +102,7 @@
 #endif
 
 #ifdef _WIN32
+#include <windows.h>
 #include <malloc.h>
 #include <sys/timeb.h>
 #include <mmsystem.h>
diff --git a/osdep.c b/osdep.c
index a583d77..91fb39e 100644
--- a/osdep.c
+++ b/osdep.c
@@ -37,7 +37,6 @@
 #include "config-host.h"
 
 #ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #elif defined(HOST_BSD)
 #include <stdlib.h>
diff --git a/qemu-common.h b/qemu-common.h
index f8ac7e6..6848b33 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -2,12 +2,6 @@
 #ifndef QEMU_COMMON_H
 #define QEMU_COMMON_H
 
-#ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#define WINVER 0x0501  /* needed for ipv6 bits */
-#include <windows.h>
-#endif
-
 #define QEMU_NORETURN __attribute__ ((__noreturn__))
 
 /* Hack around the mess dyngen-exec.h causes: We need QEMU_NORETURN in files that
diff --git a/qemu-img.c b/qemu-img.c
index d83ffe3..2af695f 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -27,7 +27,6 @@
 #include <assert.h>
 
 #ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 #endif
 
diff --git a/qemu_socket.h b/qemu_socket.h
index c8ca07e..fc5b588 100644
--- a/qemu_socket.h
+++ b/qemu_socket.h
@@ -3,8 +3,6 @@
 #define QEMU_SOCKET_H
 
 #ifdef _WIN32
-#define WIN32_LEAN_AND_MEAN
-#define WINVER 0x0501  /* needed for ipv6 bits */
 #include <windows.h>
 #include <winsock2.h>
 #include <ws2tcpip.h>
diff --git a/savevm.c b/savevm.c
index 837a9f0..6104f62 100644
--- a/savevm.c
+++ b/savevm.c
@@ -71,6 +71,7 @@
 #endif
 
 #ifdef _WIN32
+#include <windows.h>
 #include <malloc.h>
 #include <sys/timeb.h>
 #include <mmsystem.h>
diff --git a/slirp/slirp.h b/slirp/slirp.h
index 6f8a7f6..8309fe0 100644
--- a/slirp/slirp.h
+++ b/slirp/slirp.h
@@ -29,7 +29,6 @@
 typedef uint64_t u_int64_t;
 typedef char *caddr_t;
 
-#define WIN32_LEAN_AND_MEAN
 # include <windows.h>
 # include <winsock2.h>
 # include <ws2tcpip.h>
diff --git a/sysemu.h b/sysemu.h
index 8775412..3eab34b 100644
--- a/sysemu.h
+++ b/sysemu.h
@@ -4,6 +4,10 @@
 
 #include "qemu-common.h"
 
+#ifdef _WIN32
+#include <windows.h>
+#endif
+
 /* vl.c */
 extern const char *bios_name;
 extern const char *bios_dir;
diff --git a/tap-win32.c b/tap-win32.c
index 3279644..df31fda 100644
--- a/tap-win32.c
+++ b/tap-win32.c
@@ -30,7 +30,6 @@
 #include "net.h"
 #include "sysemu.h"
 #include <stdio.h>
-#define WIN32_LEAN_AND_MEAN
 #include <windows.h>
 
 /* NOTE: PCIBus is redefined in winddk.h */
diff --git a/vl.c b/vl.c
index 06e9f73..b741700 100644
--- a/vl.c
+++ b/vl.c
@@ -103,6 +103,7 @@
 #endif
 
 #ifdef _WIN32
+#include <windows.h>
 #include <malloc.h>
 #include <sys/timeb.h>
 #include <mmsystem.h>