From 51b46f451fd9bd01f794fa29b59baa73bc94ab49 Mon Sep 17 00:00:00 2001 From: Yang Tse Date: Fri, 20 Feb 2009 11:30:11 +0000 Subject: Do not halt compilation when using VS2008 to build a Windows 2000 target --- lib/config-win32.h | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) (limited to 'lib/config-win32.h') diff --git a/lib/config-win32.h b/lib/config-win32.h index c33137bfb..6e37a3c75 100644 --- a/lib/config-win32.h +++ b/lib/config-win32.h @@ -403,17 +403,33 @@ # endif #endif -/* VS2008 does not support Windows build targets prior to WinXP, so, if no - build target has been defined we will target WinXP. */ +/* Officially, Microsoft's Windows SDK versions 6.X do not support Windows + 2000 as a supported build target. VS2008 default installations provide an + embedded Windows SDK v6.0A along with the claim that Windows 2000 is a + valid build target for VS2008. Popular belief is that binaries built using + Windows SDK versions 6.X and Windows 2000 as a build target are functional */ +#if defined(_MSC_VER) && (_MSC_VER >= 1500) +# define VS2008_MINIMUM_TARGET 0x0500 +#endif + +/* When no build target is specified VS2008 default build target is Windows + Vista, which leaves out even Winsows XP. If no build target has been given + for VS2008 we will target the minimum Officially supported build target, + which happens to be Windows XP. */ +#if defined(_MSC_VER) && (_MSC_VER >= 1500) +# define VS2008_DEFAULT_TARGET 0x0501 +#endif + +/* VS2008 default target settings and minimum build target check */ #if defined(_MSC_VER) && (_MSC_VER >= 1500) # ifndef _WIN32_WINNT -# define _WIN32_WINNT 0x0501 +# define _WIN32_WINNT VS2008_DEFAULT_TARGET # endif # ifndef WINVER -# define WINVER 0x0501 +# define WINVER VS2008_DEFAULT_TARGET # endif -# if (_WIN32_WINNT < 0x0501) || (WINVER < 0x0501) -# error VS2008 does not support Windows build targets prior to WinXP +# if (_WIN32_WINNT < VS2008_MINIMUM_TARGET) || (WINVER < VS2008_MINIMUM_TARGET) +# error VS2008 does not support Windows build targets prior to Windows 2000 # endif #endif -- cgit v1.2.3