diff options
author | Yang Tse <yangsita@gmail.com> | 2009-02-20 11:30:11 +0000 |
---|---|---|
committer | Yang Tse <yangsita@gmail.com> | 2009-02-20 11:30:11 +0000 |
commit | 51b46f451fd9bd01f794fa29b59baa73bc94ab49 (patch) | |
tree | 20ae1eeb10b5bdc74ec101928b85f585cc7adcf3 /src | |
parent | 11f3690201e048829c100a864ac2ac01a4545ea4 (diff) |
Do not halt compilation when using VS2008 to build a Windows 2000 target
Diffstat (limited to 'src')
-rw-r--r-- | src/config-win32.h | 28 |
1 files changed, 22 insertions, 6 deletions
diff --git a/src/config-win32.h b/src/config-win32.h index 52827e42c..eb0185856 100644 --- a/src/config-win32.h +++ b/src/config-win32.h @@ -263,17 +263,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 |