Re: [PATCH 3/8] meson: improve summary of auto-detected features
- From
Justin Tobler <jltobler@gmail.com>
- Date
- Jul 8, 2025, 19:56 UTC
- Message-ID
- <apzpu3ydbiyfxckqewqfsgjqm2kwpisj3gx4q5cb73ntsldxqy@vfzpgnu57rl6>
- In-Reply-To
- <20250703-b4-pks-meson-cleanups-v1-3-2804c2932abe@pks.im>
On 25/07/03 11:28AM, Patrick Steinhardt wrote:
Show 9 quoted lines
> The summary of auto-detected features prints a boolean for every option > to tell the user whether or not the feature has been auto-enabled or > not. This summary can be improved though, as in some cases this boolean > is derived from a dependency. So if we pass in the dependency directly, > then Meson knows to both print a boolean and, if the dependency was > found, it also prints a version number. > > Adapt the code accordingly and enable `bool_yn` so that actual booleans > are formatted similarly to dependencies. Before this change:
Ok so without `bool_yn` enabled, only the dependencies listed directly would say YES/NO and not match the other entries.
Show 26 quoted lines
> Auto-detected features > benchmarks : true > curl : true > expat : true > gettext : true > gitweb : true > iconv : true > pcre2 : true > perl : true > python : true > > And after this change, we now see the version numbers as expected: > > Auto-detected features > benchmarks : YES > curl : YES 8.14.1 > expat : YES 2.7.1 > gettext : YES > gitweb : YES > iconv : YES > pcre2 : YES 10.44 > perl : YES > python : YES > > Note that this change also enables colorization of the boolean options, > green for "YES" and red for "NO".
Ok, it looks like colorization it not an explicit option, but comes automatically with the `bool_yn` and dependency change. Nice.
Show 28 quoted lines
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
> meson.build | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/meson.build b/meson.build
> index 4e41c3007bb..4f22d72641e 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -2193,15 +2193,15 @@ meson.add_dist_script(
>
> summary({
> 'benchmarks': get_option('tests') and perl.found() and time.found(),
> - 'curl': curl.found(),
> - 'expat': expat.found(),
> - 'gettext': intl.found(),
> + 'curl': curl,
> + 'expat': expat,
> + 'gettext': intl,
> 'gitweb': gitweb_option.allowed(),
> - 'iconv': iconv.found(),
> - 'pcre2': pcre2.found(),
> + 'iconv': iconv,
> + 'pcre2': pcre2,
> 'perl': perl_features_enabled,
> 'python': target_python.found(),
> -}, section: 'Auto-detected features')
> +}, section: 'Auto-detected features', bool_yn: true)Looks good!
-Justin