Re: [PATCH] meson: regenerate config-list.h when Documentation changes
- From
D. Ben Knoble <ben.knoble+github@gmail.com>
- Date
- Feb 11, 2026, 19:58 UTC
- Message-ID
- <CALnO6CB2KXUKdJ2nOOGLAe2fxkj+c5yF-f34dao=p6nTAEQwfQ@mail.gmail.com>
- In-Reply-To
- <aYwzAt-dugh_acj9@pks.im>
I'm not totally sure where the discussion ended up (what's actionable isn't clear to me), but let me respond to at least this bit:
On Wed, Feb 11, 2026 at 2:43 AM Patrick Steinhardt <ps@pks.im> wrote:
Show 26 quoted lines
> > On Mon, Feb 09, 2026 at 04:50:06PM -0500, D. Ben Knoble wrote: > > > On Sat, Feb 07, 2026 at 04:59:17PM -0500, D. Ben Knoble wrote: > [snip] > > Only, things are behaving oddly. For example: > > > > λ meson setup build2 > > λ ninja -C build2 > > > > works fine, but > > > > λ ls -l build2/config* > > -rw-r--r-- 1 benknoble benknoble 17169 9 févr. 16:39 build2/config-list.h > > > > I don't see the dependency file. > > > Further, re-building seems to get stuck (I get > > similar symptoms if I add or remove a relevant config.adoc file, but let's keep > > it simple for now): > > > > λ ninja -C build2 > > ninja: Entering directory `build2' > > [1/28] Generating GIT-VERSION-FILE with a custom command (wrapped by meson to set env) > > With "stuck" you mean that it doesn't do anything, or that it doesn't > actually rebuild?
I mean, that's all the output I get, and the build seems unable to make progress without the depfile present. Maybe I'm misreading the above output, so let me try again with a different kind of change that would cause recompilation:
meson setup build2 && ninja -C build2
touch git.c
ninja -C build2Indeed, this time it definitely works ([6/6] Linking…), so I'm _probably_ misinterpreting the output.
Show 5 quoted lines
> I guess it kind of makes sense that a new file wouldn't trigger a > rebuild, even though I would have expected a removed one to trigger one. > After all, the dependency file only tracks the set of _existing_ files > so that we know when to rebuild, and of course the dependency file only > gets regenerated in case any of those files changes.
Trying this bit again, yeah, config-list.h doesn't get rebuilt if I do `touch Documentation/fooconfig.adoc` (I think make would rebuild though). And I can't tell if that's due to the weird [1/28] output or due to something else, since I can't "see" if Meson recomputed the depfile or not; with the depfile gone, it seems like there's nothing present to tell Meson (ninja) when to rebuild, which is weird to me. It seems this is expected, but it makes it difficult for me to tell what's going on here.
After `touch Documentation/config.adoc`, ninja executes 7 steps, including rebuilding the config-list.h, at which point it also knows to rebuild after touching "fooconfig.adoc" again. So maybe that's expected?
FWIW, I ran into this because the staleness in the proposed commit caused some trouble while bisecting a (spurious-due-to-staleness) test failure, too. Hopefully with the fix in place I won't need to compile twice during a bisect, ha