From 3b4274ed3b1bf4f1bdcdd17aaaa12c85bd3f5ff7 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Sun, 13 Jul 2025 13:53:13 +0200 Subject: [PATCH] reduce scope of min/def macros --- lib/config-win32.h | 84 ++++++++++++++++++++++------------------------ 1 file changed, 41 insertions(+), 43 deletions(-) diff --git a/lib/config-win32.h b/lib/config-win32.h index 4e5f824681..9bbdfc2b97 100644 --- a/lib/config-win32.h +++ b/lib/config-win32.h @@ -300,53 +300,51 @@ /* Define some minimum and default build targets for Visual Studio */ #ifdef _MSC_VER -# define VS2008_MIN_TARGET 0x0501 /* XP */ - /* VS2008 default build target is Windows Vista (0x0600). - We override default target to be Windows XP. */ -# define VS2008_DEF_TARGET 0x0501 /* XP */ - - /* The minimum and default build targets for VS2012 are Vista and 8, - respectively, unless Update 1 is installed and the v110_xp toolset - is chosen. */ -# ifdef _USING_V110_SDK71_ -# define VS2012_MIN_TARGET 0x0501 /* XP */ -# define VS2012_DEF_TARGET 0x0501 /* XP */ -# else -# define VS2012_MIN_TARGET 0x0600 /* Vista */ -# define VS2012_DEF_TARGET 0x0602 /* 8 */ -# endif -#endif - -/* VS2008 default target settings and minimum build target check. */ -#if defined(_MSC_VER) && (_MSC_VER <= 1600) -# ifndef _WIN32_WINNT -# define _WIN32_WINNT VS2008_DEF_TARGET -# endif -# ifndef WINVER -# define WINVER VS2008_DEF_TARGET -# endif -# if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET) -# error VS2008 does not support Windows build targets prior to Windows 2000 -# endif -#endif - -/* VS2012 default target settings and minimum build target check. */ -#if defined(_MSC_VER) && (_MSC_VER >= 1700) -# ifndef _WIN32_WINNT -# define _WIN32_WINNT VS2012_DEF_TARGET -# endif -# ifndef WINVER -# define WINVER VS2012_DEF_TARGET -# endif -# if (_WIN32_WINNT < VS2012_MIN_TARGET) || (WINVER < VS2012_MIN_TARGET) + /* VS2012 default target settings and minimum build target check. */ +# if _MSC_VER >= 1700 + /* The minimum and default build targets for VS2012 are Vista and 8, + respectively, unless Update 1 is installed and the v110_xp toolset + is chosen. */ # ifdef _USING_V110_SDK71_ -# error VS2012 does not support Windows build targets prior to Windows XP +# define VS2012_MIN_TARGET 0x0501 /* XP */ +# define VS2012_DEF_TARGET 0x0501 /* XP */ # else -# error VS2012 does not support Windows build targets prior to Windows \ -Vista +# define VS2012_MIN_TARGET 0x0600 /* Vista */ +# define VS2012_DEF_TARGET 0x0602 /* 8 */ +# endif + +# ifndef _WIN32_WINNT +# define _WIN32_WINNT VS2012_DEF_TARGET +# endif +# ifndef WINVER +# define WINVER VS2012_DEF_TARGET +# endif +# if (_WIN32_WINNT < VS2012_MIN_TARGET) || (WINVER < VS2012_MIN_TARGET) +# ifdef _USING_V110_SDK71_ +# error VS2012 does not support build targets prior to Windows XP +# else +# error VS2012 does not support build targets prior to Windows Vista +# endif +# endif + /* Default target settings and minimum build target check for + VS2008 and VS2010 */ +# else +# define VS2008_MIN_TARGET 0x0501 /* XP */ + /* VS2008 default build target is Windows Vista (0x0600). + We override default target to be Windows XP. */ +# define VS2008_DEF_TARGET 0x0501 /* XP */ + +# ifndef _WIN32_WINNT +# define _WIN32_WINNT VS2008_DEF_TARGET +# endif +# ifndef WINVER +# define WINVER VS2008_DEF_TARGET +# endif +# if (_WIN32_WINNT < VS2008_MIN_TARGET) || (WINVER < VS2008_MIN_TARGET) +# error VS2008 does not support build targets prior to Windows 2000 # endif # endif -#endif +#endif /* _MSC_VER */ #endif /* UNDER_CE */