Re: Meson build updates
Tristan Partin <tristan@neon.tech>
Attachments
- v3-0001-Remove-triple-quoted-strings.patch (text/x-patch) patch v3-0001
- v3-0002-Use-consistent-casing-in-Meson-option-description.patch (text/x-patch) patch v3-0002
- v3-0003-Use-consistent-Meson-option-description-formats.patch (text/x-patch) patch v3-0003
- v3-0004-Attach-colon-to-keyword-argument.patch (text/x-patch) patch v3-0004
- v3-0005-Use-the-not_found_dep-constant.patch (text/x-patch) patch v3-0005
- v3-0006-Remove-old-comment.patch (text/x-patch) patch v3-0006
- v3-0007-Tie-adding-C-support-to-the-llvm-Meson-option.patch (text/x-patch) patch v3-0007
- v3-0008-Mention-the-correct-way-to-disable-readline-suppo.patch (text/x-patch) patch v3-0008
- v3-0009-Remove-return-code-check.patch (text/x-patch) patch v3-0009
- v3-0010-Fix-some-grammar-usage-in-Meson-comments.patch (text/x-patch) patch v3-0010
- v3-0011-Pass-feature-option-through-to-required-kwarg.patch (text/x-patch) patch v3-0011
- v3-0012-Make-finding-pkg-config-python3-more-robust.patch (text/x-patch) patch v3-0012
- v3-0013-Make-some-Meson-style-more-consistent-with-surrou.patch (text/x-patch) patch v3-0013
- v3-0014-Use-a-better-error-message-in-an-impossible-case.patch (text/x-patch) patch v3-0014
- v3-0015-Add-Meson-overrides.patch (text/x-patch) patch v3-0015
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)
Commits
-
meson: Make detection of python more robust
- c79ca0485a62 16.1 landed
- 41da94fd5c74 17.0 landed
-
meson: Pass more feature option through to required kwargs
- 5a7280d9880f 16.0 landed
- 47caa710cebe 17.0 landed
-
meson: Tie adding C++ support to the llvm Meson option
- 7fc064d9b70f 16.0 landed
- 7a7f13afee92 17.0 landed
-
meson: Fix intl misspelling
- b750e74e6ec3 16.0 landed
-
meson: Use a better error message in an impossible case
- 99e57663518b 16.0 landed
-
meson: Make some Meson style more consistent with surrounding code
- af492eb6d6c9 16.0 landed
-
meson: Fix some grammar usage in Meson comments
- 74668cbf0fcc 16.0 landed
-
meson: Mention the correct way to disable readline support
- f5159c734fe4 16.0 landed
-
meson: Remove old comment
- 45c88eecb4a6 16.0 landed
-
meson: Use the not_found_dep constant
- 38977dd2bdac 16.0 landed
-
meson: Attach colon to keyword argument
- c55d31e59c89 16.0 landed
-
meson: Use consistent Meson option description formats
- b2ec7f543f9e 16.0 landed
-
meson: Use consistent casing in Meson option descriptions
- 529449c379b9 16.0 landed
-
meson: Remove triple-quoted strings
- 559bdd58eb71 16.0 landed