From: Patrick Steinhardt <ps@pks.im>
To: "D. Ben Knoble" <ben.knoble+github@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Evan Martin <evan.martin@gmail.com>,
Phillip Wood <phillip.wood123@gmail.com>
Subject: Re: [PATCH] meson: regenerate config-list.h when Documentation changes
Date: Thu, 12 Feb 2026 09:10:35 +0100 [thread overview]
Message-ID: <aY2K-_ZHyDBBh3_B@pks.im> (raw)
In-Reply-To: <CALnO6CB2KXUKdJ2nOOGLAe2fxkj+c5yF-f34dao=p6nTAEQwfQ@mail.gmail.com>
On Wed, Feb 11, 2026 at 02:58:27PM -0500, D. Ben Knoble wrote:
> 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.
> > 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
prev parent reply other threads:[~2026-02-12 8:10 UTC|newest]
Thread overview: 46+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-07 21:59 [PATCH] meson: regenerate config-list.h when Documentation changes D. Ben Knoble
2026-02-07 22:38 ` Ben Knoble
2026-02-09 15:19 ` [PATCH v2] " D. Ben Knoble
2026-02-11 23:51 ` [PATCH v3] " D. Ben Knoble
2026-02-12 8:06 ` Patrick Steinhardt
2026-02-12 10:29 ` Phillip Wood
2026-02-12 14:14 ` Phillip Wood
2026-02-12 15:56 ` Ben Knoble
2026-02-16 22:28 ` [PATCH v4] " D. Ben Knoble
2026-02-17 0:33 ` Ben Knoble
2026-02-17 7:03 ` Patrick Steinhardt
2026-02-17 13:28 ` D. Ben Knoble
2026-02-17 7:02 ` Patrick Steinhardt
2026-02-17 13:28 ` D. Ben Knoble
2026-02-17 20:24 ` Junio C Hamano
2026-02-17 9:20 ` Phillip Wood
2026-02-17 13:38 ` D. Ben Knoble
2026-02-17 15:11 ` Phillip Wood
2026-02-18 14:37 ` [PATCH v5] build: " D. Ben Knoble
2026-02-19 10:19 ` Phillip Wood
2026-02-19 13:40 ` D. Ben Knoble
2026-02-19 13:56 ` Patrick Steinhardt
2026-02-21 13:58 ` D. Ben Knoble
2026-02-19 15:10 ` Marc Branchaud
2026-02-21 13:58 ` D. Ben Knoble
2026-02-21 14:07 ` [PATCH v6] " D. Ben Knoble
2026-02-23 6:37 ` Patrick Steinhardt
2026-02-23 6:55 ` SZEDER Gábor
2026-02-23 21:41 ` Ben Knoble
2026-02-24 9:58 ` Patrick Steinhardt
2026-02-24 11:00 ` Phillip Wood
2026-02-24 14:12 ` D. Ben Knoble
2026-02-24 14:39 ` [PATCH v7] " D. Ben Knoble
2026-02-25 18:45 ` Junio C Hamano
2026-02-26 3:20 ` Ben Knoble
2026-02-09 15:25 ` [PATCH] meson: " Patrick Steinhardt
2026-02-09 21:50 ` D. Ben Knoble
2026-02-11 7:42 ` Patrick Steinhardt
2026-02-11 9:44 ` Phillip Wood
2026-02-11 10:57 ` Phillip Wood
2026-02-11 11:00 ` Patrick Steinhardt
2026-02-11 10:58 ` Patrick Steinhardt
2026-02-11 14:05 ` Phillip Wood
2026-02-11 20:15 ` D. Ben Knoble
2026-02-11 19:58 ` D. Ben Knoble
2026-02-12 8:10 ` Patrick Steinhardt [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aY2K-_ZHyDBBh3_B@pks.im \
--to=ps@pks.im \
--cc=ben.knoble+github@gmail.com \
--cc=evan.martin@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=phillip.wood123@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox