pgsql: Generate pg_config.h from pg_config.h.in on Windows - Mailing list pgsql-committers

From Peter Eisentraut
Subject pgsql: Generate pg_config.h from pg_config.h.in on Windows
Date
Msg-id E1iiDSg-0002Bl-Pc@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Generate pg_config.h from pg_config.h.in on Windows

Previously, the Windows MSVC build generated pg_config.h from a
hard-coded pg_config.h.win32 with some ad hoc postprocessing.  The
pg_config.h.win32 file required manual maintenance and was as a result
frequently out of date.

Instead, have the MSVC build scripts emulate what configure and
config.status do: collect a list of defines and then create
pg_config.h from pg_config.h.in by changing the appropriate lines.

The previous setup was made to support old Windows build systems that
didn't have any text processing capabilities, but the current system
has Perl, so it's not a problem.  pg_config.h.win32 is removed.

In order to try to keep the Windows side of things more up to date in
the future, we now also require that all symbols found in
pg_config.h.in are defined in the MSVC build system.  So if there is a
change in configure that results in a new symbol, an update in
Solution.pm will be required.

The other headers managed by AC_CONFIG_HEADERS in configure, namely
src/include/pg_config_ext.h and
src/interfaces/ecpg/include/ecpg_config.h, get the same treatment, so
this removes even more ad hoc code in the MSVC build scripts.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://www.postgresql.org/message-id/flat/1441b834-f434-e0bf-46ed-9c4d5c29c2d4%402ndquadrant.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/8f4fb4c648ee8df00f78bee3f8099a6ae510071a

Modified Files
--------------
src/include/pg_config.h.win32     | 736 --------------------------------------
src/include/pg_config_ext.h.win32 |   7 -
src/tools/msvc/Solution.pm        | 542 ++++++++++++++++++++++------
src/tools/version_stamp.pl        |   7 -
4 files changed, 433 insertions(+), 859 deletions(-)


pgsql-committers by date:

Previous
From: Peter Eisentraut
Date:
Subject: pgsql: Disallow dropping rules on system tables by default
Next
From: Peter Eisentraut
Date:
Subject: pgsql: Clean up inconsistent backslash use in paths