Re: Meson build updates - Mailing list pgsql-hackers

From Tristan Partin
Subject Re: Meson build updates
Date
Msg-id CTAW8GBWEJ7F.129Y59WDVDNMW@gonk
Whole thread Raw
In response to Re: Meson build updates  (Andres Freund <andres@anarazel.de>)
Responses Re: Meson build updates
List 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

pgsql-hackers by date:

Previous
From: kaido vaikla
Date:
Subject: query_id, pg_stat_activity, extended query protocol
Next
From: Andres Freund
Date:
Subject: Re: Let's make PostgreSQL multi-threaded