public inbox for [email protected]
help / color / mirror / Atom feedFrom: Andres Freund <[email protected]>
To: Tom Lane <[email protected]>
Cc: Robert Haas <[email protected]>
Cc: Peter Eisentraut <[email protected]>
Cc: David Rowley <[email protected]>
Cc: pgsql-hackers <[email protected]>
Subject: Re: automatically generating node support functions
Date: Mon, 11 Jul 2022 13:17:55 -0700
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<[email protected]>
<CA+TgmoagVZJdt-pyNw-UK_YzrrFPGtT4oQ1LtbCeCSuAk8y0UQ@mail.gmail.com>
<[email protected]>
Hi,
On 2022-07-11 15:54:22 -0400, Tom Lane wrote:
> Robert Haas <[email protected]> writes:
> > On Mon, Jul 11, 2022 at 1:57 PM Tom Lane <[email protected]> wrote:
> >> More generally, I'm having second thoughts about the wisdom of
> >> auto-generating the NodeTag enum at all. With the current setup,
> >> I am absolutely petrified about the risk of silent ABI breakage
> >> thanks to the enum order changing.
>
> > I think this is a valid concern, but having it be automatically
> > generated is awfully handy, so I think it would be nice to find some
> > way of preserving that.
>
> Agreed. The fundamental problem seems to be that each build toolchain
> has its own source of truth about the file processing order, but we now
> see that there had better be only one. We could make the sole source
> of truth about that be gen_node_support.pl itself, I think.
>
> We can't simply move the file list into gen_node_support.pl, because
> (a) the build system has to know about the dependencies involved
Meson has builtin support for tools like gen_node_support.pl reporting which
files they've read and then to use those as dependencies. It'd not be a lot of
effort to open-code that with make either.
Doesn't look like we have dependency handling in Solution.pm?
> (b) gen_node_support.pl wouldn't know what to do in VPATH situations.
We could easily add a --include-path argument or such. That'd be trivial to
set for all of the build solutions.
FWIW, for meson I already needed to add an option to specify the location of
output files (since scripts are called from the root of the build directory).
Greetings,
Andres Freund
view thread (80+ messages) latest in thread
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: automatically generating node support functions
In-Reply-To: <[email protected]>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox