git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] meson: regenerate config-list.h when Documentation changes

From
Patrick Steinhardt <ps@pks.im>
Date
Feb 12, 2026, 08:10 UTC
Message-ID
<aY2K-_ZHyDBBh3_B@pks.im>
In-Reply-To
<CALnO6CB2KXUKdJ2nOOGLAe2fxkj+c5yF-f34dao=p6nTAEQwfQ@mail.gmail.com>
On Wed, Feb 11, 2026 at 02:58:27PM -0500, D. Ben Knoble wrote:
Show 35 quoted lines
> 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:
> >
> > 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:
I think you're simply getting confused by Ninja's output.

Ninja knows to short-circuit compilation in case regenerating a target that is used as input for another target will not cause the file to change. So what the "[1/28]" says is that we're regenerating the "GIT-VERSION-FILE", and if it would change we would have to recompile a bunch of other targets. But we see that it didn't change, and as a consequence we can skip compiling remaining targets.

Show 19 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?

I assume that you simply didn't have a depfile yet initially, and because the script itself isn't part of the deps Meson didn't know to reexecute it as it changed to gain support for the depfile.

Not sure though, but from all I can see things work as expected now with the current patch that you've sent.

Patrick
Previous: D. Ben Knoble
Message 46 of 46 in “meson: regenerate config-list.h when Documentation changes”
  1. meson: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 7, 2026
  2. Ben KnobleFeb 7, 2026
  3. meson: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 9, 2026
  4. meson: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 11, 2026
  5. Patrick SteinhardtFeb 12, 2026
  6. Phillip WoodFeb 12, 2026
  7. Phillip WoodFeb 12, 2026
  8. Ben KnobleFeb 12, 2026
  9. meson: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 16, 2026
  10. Ben KnobleFeb 17, 2026
  11. Patrick SteinhardtFeb 17, 2026
  12. D. Ben KnobleFeb 17, 2026
  13. Patrick SteinhardtFeb 17, 2026
  14. D. Ben KnobleFeb 17, 2026
  15. Junio C HamanoFeb 17, 2026
  16. Phillip WoodFeb 17, 2026
  17. D. Ben KnobleFeb 17, 2026
  18. Phillip WoodFeb 17, 2026
  19. build: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 18, 2026
  20. Phillip WoodFeb 19, 2026
  21. D. Ben KnobleFeb 19, 2026
  22. Patrick SteinhardtFeb 19, 2026
  23. D. Ben KnobleFeb 21, 2026
  24. Marc BranchaudFeb 19, 2026
  25. D. Ben KnobleFeb 21, 2026
  26. build: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 21, 2026
  27. Patrick SteinhardtFeb 23, 2026
  28. SZEDER GáborFeb 23, 2026
  29. Ben KnobleFeb 23, 2026
  30. Patrick SteinhardtFeb 24, 2026
  31. Phillip WoodFeb 24, 2026
  32. D. Ben KnobleFeb 24, 2026
  33. build: regenerate config-list.h when Documentation changesD. Ben Knoble, Feb 24, 2026
  34. Junio C HamanoFeb 25, 2026
  35. Ben KnobleFeb 26, 2026
  36. Patrick SteinhardtFeb 9, 2026
  37. D. Ben KnobleFeb 9, 2026
  38. Patrick SteinhardtFeb 11, 2026
  39. Phillip WoodFeb 11, 2026
  40. Phillip WoodFeb 11, 2026
  41. Patrick SteinhardtFeb 11, 2026
  42. Patrick SteinhardtFeb 11, 2026
  43. Phillip WoodFeb 11, 2026
  44. D. Ben KnobleFeb 11, 2026
  45. D. Ben KnobleFeb 11, 2026
  46. Patrick SteinhardtFeb 12, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.