Re: VS 2015 support in src/tools/msvc

Поиск
Список
Период
Сортировка
От Petr Jelinek
Тема Re: VS 2015 support in src/tools/msvc
Дата
Msg-id 56D84960.1080607@2ndquadrant.com
обсуждение исходный текст
Ответ на VS 2015 support in src/tools/msvc  (Michael Paquier <michael.paquier@gmail.com>)
Ответы Re: VS 2015 support in src/tools/msvc  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
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



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Teodor Sigaev
Дата:
Сообщение: Re: WIP: Upper planner pathification
Следующее
От: Masahiko Sawada
Дата:
Сообщение: Re: Support for N synchronous standby servers - take 2