Re: When to drop src/tools/msvc support

Поиск
Список
Период
Сортировка
От Dave Page
Тема Re: When to drop src/tools/msvc support
Дата
Msg-id CA+OCxowuUyHTbNYOKhghrsb7icQiuFOBpxiDYnFrECU86wd2pA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: When to drop src/tools/msvc support  (Andrew Dunstan <andrew@dunslane.net>)
Ответы Re: When to drop src/tools/msvc support  ("Jonathan S. Katz" <jkatz@postgresql.org>)
Список pgsql-hackers


On Tue, 11 Apr 2023 at 11:58, Andrew Dunstan <andrew@dunslane.net> wrote:


On 2023-04-11 Tu 04:05, Dave Page wrote:


On Tue, 11 Apr 2023 at 08:09, Magnus Hagander <magnus@hagander.net> wrote:
On Tue, Apr 11, 2023 at 12:27 AM Andres Freund <andres@anarazel.de> wrote:
>
> Hi,
>
> On 2023-04-10 19:55:35 +0100, Dave Page wrote:
> > Projects other than the EDB installers use the MSVC build system - e.g.
> > pgAdmin uses it’s own builds of libpq and other tools (psql, pg_dump etc)
> > that are pretty heavily baked into a fully automated build system (even the
> > build servers and all their requirements are baked into Ansible).
> >
> > Changing that lot would be non-trivial, though certainly possible, and I
> > suspect we’re not the only ones doing that sort of thing.
>
> Do you have a link to the code for that, if it's open? Just to get an
> impression for how hard it'd be to switch over?


The pgadmin docs/readme refers to
https://github.com/pgadmin-org/pgadmin4/tree/master/pkg/win32

It clearly doesn't have the full automation stuff, but appears to have
the parts about building the postgres dependency.

Yeah, that's essentially the manual process, though I haven't tested it in a while. The Ansible stuff is not currently public. I suspect (or rather, hope) that we can pull in all the additional packages required using Chocolatey which shouldn't be too onerous.

Probably my main concern is that the Meson build can use the same version of the VC++ compiler that we use (v14), which is carefully matched for compatibility with all the various components, just in case anything passes CRT pointers around. Python is the one thing we don't build ourselves on Windows and the process will build modules like gssapi and psycopg (which links with libpq of course), so we're basically following what they use.



For meson you just need to to "pip install meson ninja" in your python distro and you should be good to go (they will be installed in python's Scripts directory). Don't use chocolatey to install meson/ninja - I ran into issues doing that.

AFAICT meson will use whatever version of VC you have installed, although I have only been testing with VC2019.

OK, that sounds easy enough then (famous last words!)

Thanks! 

--

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

Предыдущее
От: Andrew Dunstan
Дата:
Сообщение: Re: fairywren exiting in ecpg
Следующее
От: "Jonathan S. Katz"
Дата:
Сообщение: Re: When to drop src/tools/msvc support