Re: VS2022: Support Visual Studio 2022 on Windows

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: Hans Buschmann <buschmann(at)nidsa(dot)net>
Cc: Daniel Gustafsson <daniel(at)yesql(dot)se>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: VS2022: Support Visual Studio 2022 on Windows
Date: 2021-11-21 01:41:17
Message-ID: YZmjvUdgNDlDMXig@paquier.xyz
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Sat, Nov 20, 2021 at 05:54:30PM +0000, Hans Buschmann wrote:
> My skills with git are minmal yet and I am working on a correct
> development platform, so sorry for any inconveniances from my side.

No need to worry here. We all learn all the time. I have been able
to apply your patch with a "patch -p2", which is fine enough. If you
want to generate cleaner diffs, you could use a "git diff" or a "git
format-patch". Folks around here rely on those commands heavily when
generating patches.

> On both platforms the build of snapshot from 19.11.2021 is
> successfull but gives the following warnings which seem not
> correlated to the proposed patch:

That's fine by me.

> Der Buildvorgang wurde erfolgreich ausgeführt.
>
> "C:\pgdev\postgresql-15devel\pgsql.sln" (Standardziel) (1) ->
> "C:\pgdev\postgresql-15devel\postgres.vcxproj" (Standardziel) (2) ->
> (ClCompile Ziel) ->
> C:\pgdev\postgresql-15devel\src\backend\access\heap\pruneheap.c(858,18): warning C4101: "htup": Unreferenzierte lokale Variable [C:\pgdev\postgresql-15devel\postgres.vcxproj]
> C:\pgdev\postgresql-15devel\src\backend\access\heap\pruneheap.c(870,11): warning C4101: "tolp": Unreferenzierte lokale Variable [C:\pgdev\postgresql-15devel\postgres.vcxproj]
>
> 2 Warnung(en)
> 0 Fehler
>
> (Meaning 2 unreferenced local variables in pruneheap.c)

Those warnings are knows. A commit from Peter G is at the origin of
that but nothing has been done about these yet:
https://www.postgresql.org/message-id/YYTTuYykpVXEfnOr@paquier.xyz

So don't worry about that :)

Glad to see that we should have nothing to do about locales this
time. I have not tested, but I think that you covering all the areas
that need a refresh here. Nice work.

+ # The version of nmake bundled in Visual Studio 2022 is greater
+ # than 14.30 and less than 14.40. And the version number is
+ # actually 17.00.
+ elsif (
+ ($visualStudioVersion ge '14.30' && $visualStudioVersion lt '14.40')
+ || $visualStudioVersion eq '17.00')
+ {
+ return new VS2022Solution(@_);
+ }
Wow, really? MSVC has not yet simplified their version numbering with
nmake.

+VC2017Project,VC2019Project or VC2022Project from MSBuildProject.pm) to it.
Nit: you should use a space when listing elements in a comma-separated
list.

- method for compressing table or WAL data. Binaries and source can be
+ method for compressing the table data. Binaries and source can be
Diff unrelated to your patch.

I'll double-check your patch later, but that looks rather good to me.
Will try to apply and back-patch, and it would be better to check the
version numbers assigned in the patch, as well.
--
Michael

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Paul A Jungwirth 2021-11-21 01:51:16 Re: SQL:2011 application time
Previous Message Michael Paquier 2021-11-21 01:28:25 Re: logical decoding/replication: new functions pg_ls_logicaldir and pg_ls_replslotdir