Make Windows 10 the minimal runtime requirement for WIN32
authorMichael Paquier <michael@paquier.xyz>
Thu, 7 Jul 2022 04:25:45 +0000 (13:25 +0900)
committerMichael Paquier <michael@paquier.xyz>
Thu, 7 Jul 2022 04:25:45 +0000 (13:25 +0900)
commit495ed0ef2d72a6a74def296e042022479d5d07bd
tree5a28086ee3887217ed767d4949b3a6bdb19a4b2d
parentd547f7cf5efc531be8587641a5682cc46b37bc81
Make Windows 10 the minimal runtime requirement for WIN32

This commit bumps the runtime value of _WIN32_WINNT to be 0x0A00 for any
builds on Windows.  Hence, this makes Windows 10 the minimal requirement
when running PostgreSQL under WIN32, be it for builds of Cygwin, MinGW
or Visual Studio.

The previous minimal runtime version was either Windows Vista when
building with at least Visual Studio 2015 or Windows XP for the rest.

Windows 10 is the most modern version supported by Microsoft, and per
discussion, as we don't have buildfarm members that run older versions
anymore, this is the minimal supported version that suits better for our
needs.  This will actually make easier the development of some patches,
two being async I/O and large page handling by avoiding a lot of
compatibility gotchas, on platforms that have most likely few users
anyway.

It is possible to remove MIN_WINNT in win32.h and the macros
IsWindowsXXXOrGreater() that were used in the code at runtime to check
which version of Windows was getting used.  The change in pg_locale.c
comes from Juan.  Note that all my tests passed, and that the CI is
green.  The buildfarm will quickly tell if this needs more adjustments.

Author: Michael Paquier, Juan José Santamaría Flecha
Reviewed-by: Thomas Munro
Discussion: https://postgr.es/m/Yo7tHKD8VCkeNi71@paquier.xyz
doc/src/sgml/install-windows.sgml
doc/src/sgml/installation.sgml
src/backend/main/main.c
src/backend/utils/adt/pg_locale.c
src/bin/pg_ctl/pg_ctl.c
src/include/port/win32.h