Обсуждение: [PATCH] meson: Update meson to enable building postgres as a subproject
Hello all,
While working on another project which needed libpq, I tried building postgres
as a subproject to consume a recent version of libpq, and noticed it failed.
I've put together a small patch that updates build files to not use
the global source root, which allows postgres to be built as a meson subproject.
Regards,
Elliot Haisley
Вложения
Hi, On 2025-08-30 04:18:05 +0000, Elliot Haisley wrote: > While working on another project which needed libpq, I tried building postgres > as a subproject to consume a recent version of libpq, and noticed it failed. > I've put together a small patch that updates build files to not use > the global source root, which allows postgres to be built as a meson subproject. That makes sense. I however can't apply it just now, the PG 18 code is frozen until mid of the next week due to the release of 18rc1, and I think this should be backpatched. Greetings, Andres Freund
Re: [PATCH] meson: Update meson to enable building postgres as a subproject
От
"Tristan Partin"
Дата:
On Sat Aug 30, 2025 at 9:55 AM CDT, Andres Freund wrote: > Hi, > > On 2025-08-30 04:18:05 +0000, Elliot Haisley wrote: >> While working on another project which needed libpq, I tried building postgres >> as a subproject to consume a recent version of libpq, and noticed it failed. >> I've put together a small patch that updates build files to not use >> the global source root, which allows postgres to be built as a meson subproject. > > That makes sense. I however can't apply it just now, the PG 18 code is frozen > until mid of the next week due to the release of 18rc1, and I think this > should be backpatched. I also was working on a project that wanted to use libpq as a subproject and came up with this independent but similar patch. I chose to develop it against master. I think that if we aim to support this workflow that we should add a test in the tree somewhere. I am happy to develop one if someone can direct me to a place where they would like it to live. In theory, the test could even live as a meson test() in the source tree. -- Tristan Partin Databricks (https://databricks.com)
Вложения
Re: [PATCH] meson: Update meson to enable building postgres as a subproject
От
Niyaz Hazigaleyev
Дата:
I also made a similar patch here https://www.postgresql.org/message-id/F28283CF-AC9C-4930-9D84-56CD9E105504%40gmail.com.I pretty much did the same thing butI also added postgres_inc to dependency because it cannot find postgres headers inside libpq’s headers. After lookingat your patch i have few questions. Is meson.override_dependency(‘libpq’, libpq) really needed? It looks like it doesnothing. In flex cmd args you removed —build-dir and —source-dir, was that necessary? Also when I was testing ur patch I couldn’t build libpq because of the problem with include directories of dependency thatI mentioned. I attach the result patch with fix which only adds postgres_inc to libpq dependency include_directoriesto your patch. > 3 янв. 2026 г., в 07:35, Tristan Partin <tristan@partin.io> написал(а): > > On Sat Aug 30, 2025 at 9:55 AM CDT, Andres Freund wrote: >> Hi, >> >> On 2025-08-30 04:18:05 +0000, Elliot Haisley wrote: >>> While working on another project which needed libpq, I tried building postgres >>> as a subproject to consume a recent version of libpq, and noticed it failed. >>> I've put together a small patch that updates build files to not use >>> the global source root, which allows postgres to be built as a meson subproject. >> >> That makes sense. I however can't apply it just now, the PG 18 code is frozen >> until mid of the next week due to the release of 18rc1, and I think this >> should be backpatched. > > I also was working on a project that wanted to use libpq as a subproject > and came up with this independent but similar patch. I chose to develop > it against master. > > I think that if we aim to support this workflow that we should add > a test in the tree somewhere. I am happy to develop one if someone > can direct me to a place where they would like it to live. In theory, > the test could even live as a meson test() in the source tree. > > -- > Tristan Partin > Databricks (https://databricks.com) > <v1-0001-Add-subproject-support-to-the-meson-build.patch>
Вложения
Re: [PATCH] meson: Update meson to enable building postgres as a subproject
От
"Tristan Partin"
Дата:
On Mon Jan 5, 2026 at 5:50 PM CST, Niyaz Hazigaleyev wrote: > I also made a similar patch here > https://www.postgresql.org/message-id/F28283CF-AC9C-4930-9D84-56CD9E105504%40gmail.com. > I pretty much did the same thing but I also added postgres_inc to > dependency because it cannot find postgres headers inside libpq’s > headers. After looking at your patch i have few questions. Is > meson.override_dependency(‘libpq’, libpq) really needed? It looks like > it does nothing. In flex cmd args you removed —build-dir and > —source-dir, was that necessary? Also when I was testing ur patch > I couldn’t build libpq because of the problem with include directories > of dependency that I mentioned. I attach the result patch with fix > which only adds postgres_inc to libpq dependency include_directories > to your patch. I didn't have any problems with include directories, but it's possible that my system corrupted my tests, as in my system includes supplemented the missing subproject includes. I removed the args from pgflex because they aren't used. -- Tristan Partin Databricks (https://databricks.com)