Thread (2 messages) 2 messages, 2 authors, 2025-03-17

Re: [PATCH] meson: fix perl detection when docs are enabled, but perl bindings aren't

From: Patrick Steinhardt <hidden>
Date: 2025-03-17 14:01:20

On Sun, Mar 16, 2025 at 02:06:05AM -0400, Eli Schwartz wrote:
The `perl` variable in meson.build is assigned to a program lookup,
which may have the value "not-found object" if configuring with
`-Dperl=disabled`.

There is already a list of other cases where we do need a perl command,
even when not building perl bindings. Building documentation should be
one of those cases, but was missing from the list. Add it.

Fixes:
$ meson setup builddir/ -Ddocs=man -Dperl=disabled -Dtests=false
[...]
Documentation/meson.build:308:22: ERROR: Tried to use not-found external program in "command"
Bug: https://bugs.gentoo.org/949247
Nit: we typically don't include Bug trailers.
quoted hunk ↗ jump to hunk
Signed-off-by: Eli Schwartz <redacted>
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/meson.build b/meson.build
index efe2871c9d..c6241c7a12 100644
--- a/meson.build
+++ b/meson.build
@@ -772,7 +772,7 @@ endif
 # features. It is optional if you want to neither execute tests nor use any of
 # these optional features.
 perl_required = get_option('perl')
-if get_option('tests') or get_option('gitweb').enabled() or 'netrc' in get_option('credential_helpers')
+if get_option('tests') or get_option('gitweb').enabled() or 'netrc' in get_option('credential_helpers') or get_option('docs') != []
   perl_required = true
 endif
This change does indeed make sense. We require Perl in order to generate
command lists. Ideally we would get rid of this dependency so that it
does become possible to build documentation without Perl, as this is the
only part of the build system that requires it. But until then I'm fine
with making the requirement explicit here.

Patrick
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help