Ensure that all three build methods install the same set of files.

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 6be5b76d66cadbea715defa109963939ea866922
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 2026-02-16T20:20:15Z
Ensure that all three build methods install the same set of files.

syscache_info.h was installed into $installdir/include/server/catalog
if you use a non-VPATH autoconf build, but not if you use a VPATH
build or meson.  That happened because the makefiles blindly install
src/include/catalog/*.h, and in a non-VPATH build the generated
header files would be swept up in that.  While it's hard to conjure
a reason to need syscache_info.h outside of backend build, it's
also hard to get the makefiles to skip syscache_info.h, so let's
go the other way and install it in the other two cases too.

Another problem, new in v19, was that meson builds install a copy of
src/include/catalog/README, while autoconf builds do not.  The issue
here is that that file is new and wasn't added to meson.build's
exclusion list.

While it's clearly a bug if different build methods don't install
the same set of files, I doubt anyone would thank us for changing
the behavior in released branches.  Hence, fix in master only.

Author: Tom Lane <tgl@sss.pgh.pa.us>
Reviewed-by: Andres Freund <andres@anarazel.de>
Discussion: https://postgr.es/m/946828.1771185367@sss.pgh.pa.us

Files

PathChange+/−
src/include/catalog/Makefile modified +2 −1
src/include/catalog/meson.build modified +1 −1
src/include/meson.build modified +1 −0

Discussion