Re: Reduce the number of special cases to build contrib modules on windows
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: David Rowley <dgrowleyml@gmail.com>
Cc: Alvaro Herrera <alvherre@alvh.no-ip.org>, Andres Freund <andres@anarazel.de>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2020-11-11T00:44:46Z
Lists: pgsql-hackers
On Wed, Nov 11, 2020 at 11:01:57AM +1300, David Rowley wrote: > I'm still working through some small differences in some of the > .vcxproj files. I've been comparing these by copying *.vcxproj out to > another directory with patched and unpatched then diffing the > directory. See attached txt file with those diffs. Here's a summary of > some of them: Thanks. It would be good to not have those diffs if not necessary. > 1. There are a few places that libpq gets linked where it previously did not. It seems to me that your patch is doing the right thing for adminpack and that its Makefile has no need to include a reference to libpq source path, no? For dblink and postgres_fdw, the duplication comes from PG_CPPFLAGS. It does not matter much in practice, but it would be nice to not have unnecessary data in the project files. One thing that could be done is to make Project.pm more aware of the uniqueness of the elements included. But, do we really need -I$(libpq_srcdir) there anyway? From what I can see, we have all the paths in -I we'd actually need with or without USE_PGXS. > 2. REFINT_VERBOSE gets defined in a few more places than it did > previously. This makes it closer to what happens on Linux anyway, if > you look at the Make output from contrib/spi/Makefile you'll see > -DREFINT_VERBOSE in there for autoinc. Indeed. > 3. LOWER_NODE gets defined in ltree now where it wasn't before. It's > defined on Linux. Unsure why it wasn't before on Windows. Your patch is grabbing the value of PG_CPPFLAGS from ltree's Makefile, which is fine. We may be able to remove this flag and rely on pg_tolower() instead in the long run? I am not sure about FLG_CANLOOKSIGN() though. -- Michael
Commits
-
Remove some special cases from MSVC build scripts
- 76ad24400d73 15.0 landed
-
Adjust MSVC build scripts to parse Makefiles for defines
- 245de48455da 15.0 landed
-
Don't duplicate references and libraries in MSVC scripts
- 15f16ec6511c 15.0 landed
-
Make the includes field an array in MSVC build scripts
- 33d74c5d00e4 15.0 landed
-
Use the AddFile function consistently in MSVC build scripts
- ed1884a2fede 15.0 landed
-
Remove seemingly unneeded include directory in MSVC scripts
- 4b763ff642e1 15.0 landed