meson: improve summary of auto-detected features

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: 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". Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>

Patrick Steinhardt committed Jul 9, 2025 at 08:23 UTC dfc4617a5354dc8893b4453998d4307f211670bf
1 file changed +6 -6
meson.build
+6 -6
@@ -2184,15 +2184,15 @@ meson.add_dist_script(
2184
2185 summary({
2186 'benchmarks': get_option('tests') and perl.found() and time.found(),
2187 - 'curl': curl.found(),
2188 - 'expat': expat.found(),
2189 - 'gettext': intl.found(),
2187 + 'curl': curl,
2188 + 'expat': expat,
2189 + 'gettext': intl,
2190 'gitweb': gitweb_option.allowed(),
2191 - 'iconv': iconv.found(),
2192 - 'pcre2': pcre2.found(),
2191 + 'iconv': iconv,
2192 + 'pcre2': pcre2,
2193 'perl': perl_features_enabled,
2194 'python': target_python.found(),
2195 -}, section: 'Auto-detected features')
2195 +}, section: 'Auto-detected features', bool_yn: true)
2196
2197 summary({
2198 'csprng': csprng_backend,