On 03/03/16 15:02, Michael Paquier wrote:
Hi all,

Microsoft provides a set of VMs that one can use for testing and
Windows 10 is in the set:
https://dev.windows.com/en-us/microsoft-edge/tools/vms/windows/
I have grabbed one and installed the community version of Visual
Studio 2015 so I think that I am going to be able to compile Postgres
with VS2015 with a bit of black magic.

My goal is double:
1) As far as things have been discussed, VS2015 is making difficult
the compilation of Postgres, particularly for locales. So I'd like to
see what are the problems behind that and see if we can patch it
properly. This would facilitate the integration of cmake as well for
Windows.

The locale problem is that:
a) the MS crt headers are broken for this particular part due to unfinished refactoring, even their msvcrt sources don't compile with them, if you read them it's obvious they forgot to put one variable in the struct b) we are using somewhat legacy API there that's internally implemented as hacks over the new API (string parsing and generation and stuff is happening there) c) the non-legacy API works only on Vista+ and does not support the old locale names (which is why the legacy api that is written on top of this has to do the string parsing and generation)

To me the least bad solution for MSVC 2015 and codepage detection seemed to use the new API when possible (GetLocaleInfoEx and friends) and fall back to our old string parsing that we did pre-VC2013 when it's not, since afaics it works correctly on all the locale names that are not supported by the new API. It means that MSVC 2015 builds would be Vista+ but I honestly don't see that as big issue given Microsoft's own policy about old Windows versions.

2) src/tools/msvc stuff has support only up to VS2013. I think that it
would be nice to bump that a bit and get something for 9.5~.


Yeah, we'll also have to do something about perl 5.22 compatibility there as psed is not included in the core distribution anymore from that version and we use it to generate one header file IIRC.

So, would there be interest for a patch on the perl scripts in
src/tools/msvc or are they considered a lost cause? Having a look at
the failures could be done with the cmake work, but it seems a bit
premature to me to look at that for the moment, and having support for
VS2015 with 9.5 (support for new versions of VS won a backpatch the
last couple of years) would be a good thing I think.


+1, and I can help (at least review and testing if nothing else).

--
  Petr Jelinek                  http://www.2ndQuadrant.com/
  PostgreSQL Development, 24x7 Support, Training & Services


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to