Meson build updates

Tristan Partin <tristan@neon.tech>

From: "Tristan Partin" <tristan@neon.tech>
To: <pgsql-hackers@postgresql.org>
Date: 2023-05-18T15:36:59Z
Lists: pgsql-hackers

Attachments

Hi,

I took some time to look at the Meson build for Postgres. I contribute
some of the time to Meson, itself. Within this patchset you will find
pretty small changes. Most of the commits are attempting to create more
consistency with the surrounding code. I think there is more that can be
done to improve the build a bit like including subprojects for optional
dependencies like lz4, zstd, etc.

While I was reading through the code, I also noticed a few XXX/FIXMEs. I
don't mind taking a look at those in the future, but I think I need more
context for almost all of them since I am brand new to Postgres
development. Since I also have _some_ sway in the Meson community, I can
help get more attention to Meson issues that benefit Postgres. I
currently note 3 Meson issues that are commented in the code for
instance. If anyone ever has any problems or questions about Meson or
specifically the Meson build of Postgres, I am more than happy to
receive an email to see if I can help out.

Highlighting the biggest changes in this patchset:

- Add Meson overrides
- Remove Meson program options for specifying paths

Everything but the last patch could most likely be backported to
previous maintained releases including Meson, though the patchset is
initially targeting the master branch.

-- 
Tristan Partin
Neon (https://neon.tech)

Commits

  1. meson: Make detection of python more robust

  2. meson: Pass more feature option through to required kwargs

  3. meson: Tie adding C++ support to the llvm Meson option

  4. meson: Fix intl misspelling

  5. meson: Use a better error message in an impossible case

  6. meson: Make some Meson style more consistent with surrounding code

  7. meson: Fix some grammar usage in Meson comments

  8. meson: Mention the correct way to disable readline support

  9. meson: Remove old comment

  10. meson: Use the not_found_dep constant

  11. meson: Attach colon to keyword argument

  12. meson: Use consistent Meson option description formats

  13. meson: Use consistent casing in Meson option descriptions

  14. meson: Remove triple-quoted strings