Re: [PATCH] meson: fix building mergetool docs
- From
Patrick Steinhardt <ps@pks.im>
- Date
- Feb 9, 2026, 12:32 UTC
- Message-ID
- <aYnT4XdQQ2hBEsTQ@pks.im>
- In-Reply-To
- <604c79018992dee019205741934508091cdd1e47.1770631599.git.phillip.wood@dunelm.org.uk>
On Mon, Feb 09, 2026 at 10:08:43AM +0000, Phillip Wood wrote:
Show 8 quoted lines
> From: Phillip Wood <phillip.wood@dunelm.org.uk> > > Building the documentation with meson when the build directory is > not an immediate subdirectory of the source directory prints the > following error > > [2/1349] Generating Documentation/mer... command (wrapped by meson to set env) > ../../Documentation/generate-mergetool-list.sh: line 15: ../git-mergetool--lib.sh: No such file or directory
Oh, good catch.
> The build does not fail because the failure is upstream of a pipe. Fix > the error by passing the correct source directory when meson runs > "generate-mergetool-list.sh". As that script sets $MERGE_TOOLS_DIR > we do not need to set it in the environment when running the script.
Huh.
Show 6 quoted lines
> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> > --- > We should probably change the script so that error is not ignored > as well. I also wonder if we should use something more exotic than > "build" as the meson build directory in our CI though that wont make > any difference if the script does not fail.
We probably could, I guess. And making the script more solid would definitely be a very good step regardless of whether or not we want to use a more esoteric build directory.
Show 13 quoted lines
> diff --git a/Documentation/meson.build b/Documentation/meson.build > index f02dbc20cbc..d0e557c2078 100644 > --- a/Documentation/meson.build > +++ b/Documentation/meson.build > @@ -353,13 +353,10 @@ foreach mode : [ 'diff', 'merge' ] > command: [ > shell, > '@INPUT@', > - '..', > + meson.project_source_root(), > mode, > '@OUTPUT@' > ],
Makes sense. I assume that this is the only change required to make out-of-source builds work?
> - env: [ > - 'MERGE_TOOLS_DIR=' + meson.project_source_root() / 'mergetools', > - ],
Hm. We indeed set this environment variable in the script itself. I was a bit puzzled at first because we don't export it, and it's not used directly. But we source "git-mergetool--lib.sh", which in turn uses the variable, so it shouldn't be needed to export it.
So this looks like a nice simplification to me, thanks!
Patrick