On 01.07.22 11:33, Andres Freund wrote:
Attached is an updated version of the meson patchset. There has been a steady
stream of incremental work over the last month, with patches from Peter
Eisentraut and Nazir Yavuz.
I tried to address the review comments Peter had downthread about the prep
patches. The one that I know is still outstanding is that there's still
different ways of passing output directories as parameters to a bunch of
scripts added, will resolve that next (some have been fixed).
Here is my rough assessment of where we are with this patch set:
08b4330ded prereq: deal with \ paths in basebackup_to_shell tests.
This still needs clarification, per my previous review.
3bf5b317d5 meson: prereq: Specify output directory for psql sql help script.
2e5ed807f8 meson: prereq: ecpg: add and use output directory argument
for parse.pl.
4e7fab01c5 meson: prereq: msvc: explicit output file for pgflex.pl
cdcd3da4c4 meson: prereq: add output path arg in generate-lwlocknames.pl
1f655486e4 meson: prereq: generate-errcodes.pl: accept output file
e834c48758 meson: prereq: unicode: allow to specify output directory.
You said you are still finalizing these. I think we can move ahead with
these once that is done.
9f4a9b1749 meson: prereq: move snowball_create.sql creation into perl file.
This looks ready, except I think it needs to be hooked into the
distprep target, since it's now a Perl script running at build time.
8951a6721e meson: prereq: Refactor dtrace postprocessing make rules
This looks ready.
bda6a45bae meson: prereq: Refactor PG_TEST_EXTRA logic in autoconf build
I understand the intention behind this, but I think it changes the
behavior in an undesirable way. Before this patch, you can go into
src/test/ssl/ and run make check manually. This was indeed the only
way to do it before PG_TEST_EXTRA. With this patch, this would now
skip all the tests unless you set PG_TEST_EXTRA, even if you run the
specific test directly.
I think this needs a different idea.
eb852cc023 meson: prereq: Can we get away with not export-all'ing libraries?
This is also at <https://commitfest.postgresql.org/38/3396/>, which
hasn't seen any activity in a while. I think this needs a resolution
one way or the other before we can proceed to the main act.
2cc276ced6 meson: prereq: add src/tools/gen_versioning_script.pl.
Note that in the make build system we can only use perl before
distprep. So it's not clear whether a script like this would help
unify the code. Of course, we could still use it with the
understanding that it will be separate.
351ac51a89 meson: prereq: remove LLVM_CONFIG from Makefile.global.in
This can be committed. AFAICT, LLVM_CONFIG is only used within
configure.
dff7b5a960 meson: prereq: regress: allow to specify director containing
expected files.
This could use a bit more explanation, but it doesn't look
controversial so far.
243f99da38 wip: split TESTDIR into two.
This one has already caused a bit of confusion, but the explanation at
https://www.postgresql.org/message-id/flat/20220601211112.td2ato4wjqf7afnv%40alap3.anarazel.de#1f250dee73cf0da29a6d2c020c3bde08
seems reasonable. But it clearly needs further work.
88dd280835 meson: Add meson based buildsystem.
1ee3073a3c meson: ci: Build both with meson and as before.
These are for later. ;-)
In the meantime, also of interest to this effort:
- If we're planning to remove the postmaster symlink in PG16, maybe we
should start a discussion on that.
- This patch is for unifying the list of languages in NLS, as
previously discussed: https://commitfest.postgresql.org/38/3737/