Re: Meson build updates

From: "Tristan Partin" <tristan(at)neon(dot)tech>
To: "Andres Freund" <andres(at)anarazel(dot)de>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Meson build updates
Date: 2023-06-12 18:48:57
Message-ID: CTAW8GBWEJ7F.129Y59WDVDNMW@gonk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Mon Jun 12, 2023 at 12:20 PM CDT, Andres Freund wrote:
> Hi,
>
> On 2023-06-12 11:54:42 -0500, Tristan Partin wrote:
> > On Fri Jun 9, 2023 at 1:36 PM CDT, Andres Freund wrote:
> > > The biggest change to make them more usable would be to properly reconfigure
> > > when the contents of machine file change. IIRC configure is rerun, but the
> > > changes aren't taken into account.
> >
> > I could not reproduce this. Perhaps you were testing with an older Meson
> > where that was the case
> >
> > # meson.build
> > project('mytest')
> >
> > myprog = find_program('myprog')
> > message(myprog.full_path())
> >
> > test('dummy', find_program('echo'), args: [myprog.full_path()])
> >
> > # file.ini
> > [binaries]
> > myprog = '/usr/bin/python3'
> >
> > # CLI
> > meson setup build
> > meson test -C build
> > sed -i 's/python3/python2/' file.ini
> > meson test -C build
>
> It's possible that it doesn't happen in all contexts. I just reproduced the
> problem I had, changing
>
> [binaries]
> llvm-config = '/usr/bin/llvm-config-13'
>
> to
>
> [binaries]
> llvm-config = '/usr/bin/llvm-config-14'
>
> does not change which version is used in an existing build tree, but does
> change what's used in a new build tree.
>
> Same with e.g. changing the C compiler version in a machine file. That also
> only takes effect in a new tree.
>
>
> This is with meson HEAD, updated earlier today.

Mind opening a Meson issue if one doesn't exist already?

> > > In the end, I also just don't see a meaningful benefit in forcing the use of
> > > machine files.
> >
> > I think it is best to use patterns tools want you to use.
>
> Sometimes. I'd perhaps have a different view if we weren't migrating from
> autoconf, where overwriting binaries was trivially possible...

I'll see what I can advocate for, regardless. The following things seem
relevant. Might be useful to track in your meta issue on your fork.

https://github.com/mesonbuild/meson/issues/7755
https://github.com/mesonbuild/meson/pull/11561
https://github.com/mesonbuild/meson/issues/6180
https://github.com/mesonbuild/meson/issues/11294

Attached you will find a v3 with the offending commits removed. I did
leave the overrides in since you didn't mention it in your last email.

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

Attachment Content-Type Size
v3-0001-Remove-triple-quoted-strings.patch text/x-patch 1.8 KB
v3-0002-Use-consistent-casing-in-Meson-option-description.patch text/x-patch 8.3 KB
v3-0003-Use-consistent-Meson-option-description-formats.patch text/x-patch 4.2 KB
v3-0004-Attach-colon-to-keyword-argument.patch text/x-patch 10.4 KB
v3-0005-Use-the-not_found_dep-constant.patch text/x-patch 877 bytes
v3-0006-Remove-old-comment.patch text/x-patch 834 bytes
v3-0007-Tie-adding-C-support-to-the-llvm-Meson-option.patch text/x-patch 1.3 KB
v3-0008-Mention-the-correct-way-to-disable-readline-suppo.patch text/x-patch 965 bytes
v3-0009-Remove-return-code-check.patch text/x-patch 942 bytes
v3-0010-Fix-some-grammar-usage-in-Meson-comments.patch text/x-patch 1.4 KB
v3-0011-Pass-feature-option-through-to-required-kwarg.patch text/x-patch 1.6 KB
v3-0012-Make-finding-pkg-config-python3-more-robust.patch text/x-patch 1.5 KB
v3-0013-Make-some-Meson-style-more-consistent-with-surrou.patch text/x-patch 3.7 KB
v3-0014-Use-a-better-error-message-in-an-impossible-case.patch text/x-patch 928 bytes
v3-0015-Add-Meson-overrides.patch text/x-patch 12.2 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Andres Freund 2023-06-12 19:24:30 Re: Let's make PostgreSQL multi-threaded
Previous Message kaido vaikla 2023-06-12 18:03:24 query_id, pg_stat_activity, extended query protocol