Re: Proposal: common explicit lists for installed headers - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Proposal: common explicit lists for installed headers
Date
Msg-id 1910768.1773533329@sss.pgh.pa.us
Whole thread Raw
In response to Proposal: common explicit lists for installed headers  (Zsolt Parragi <zsolt.parragi@percona.com>)
Responses Re: Proposal: common explicit lists for installed headers
List pgsql-hackers
Zsolt Parragi <zsolt.parragi@percona.com> writes:
> What if, instead of the current completely different ways we handle
> installed headers in the make and meson builds, we used a common list
> as the source of truth, explicitly listing all files that need to be
> installed?

While I agree that it's not great that the two build systems do this
differently, I think you've chosen the worst-common-denominator
solution.  There is nothing to like about an explicit list of
installed files.  It requires useless make-work from patch
authors and committers, and there is a 100% gold-plated certainty
that we will sometimes forget to add some new header to the list.
We won't notice such omissions until some end user complains,
maybe years later.

What we really want is "install everything named like include/.../*.h".
I don't know if it's possible to make meson do that, though.

There was some discussion recently of using "git ls-files" for
a similar purpose, could that help?  At least for me,
    git ls-files 'src/include/*.h'
seems to produce a pretty usable list of server headers.  You'd
also need to account for generated headers, but the build systems
necessarily know about all of those.

            Regards, tom lane



pgsql-hackers by date:

Previous
From: Jeff Davis
Date:
Subject: Re: [19] CREATE SUBSCRIPTION ... SERVER
Next
From: Alexandre Felipe
Date:
Subject: Re: Addressing buffer private reference count scalability issue