What is the minimum Windows version we're targeting for Firebird 6?
Because right now, it seems to me the definitions are a bit of a mess:
- Firebird itself does _not_ define _WIN32_WINNT except in those files
mentioned below (those definitions I intend to delete or replace with an
#if that raises a preprocessor #error that the target Windows version is
too old) and in CMakeLists.txt for MinGW (where it defines 0x600
(Windows Vista/Windows Server 2008)).
That basically means that when compiling on the Microsoft tool chain, it
will target the latest version available (e.g. on my machine, 0x0A00
(Windows 10)) due to sdkddkver.h of the Windows API defining that if it
wasn't already defined), which could lead to accidentally using API
calls _not_ available on supported Windows versions (something, IIRC,
that already happened in the past).
- LibCDS currently targets 0x500 (Windows 2000) or 0x501 (Windows
XP/Windows Server 2003), while some of the code in LibCDS will choose -
I assume more efficient - different options for 0x600 (Windows
Vista/Server 2008) and 0x601 (Windows 7), though I'm not sure if those
are relevant for Firebird.
Mark