I'm just another tup user, but I think I can answer your question.

The key thing to understand is that performing a build, with 'tup', needn't
involve parsing any Tupfiles at all. These files must of course be parsed
the *first* time. But from that point on, unless they change or the listed
entries of their local directory change, tup can continue updating the
outputs of that directory based on updates to the existing inputs using
nothing but the database, and, as you observe, the cached initial result of
the globbing.

For larger builds, this distinction of re-parsing vs. re-performing build
steps becomes obvious from the console output. Re-parsing is the first
pass, indicated by a yellow progress bar, whereas the second pass--the
build proper--is indicated with a second green progess bar. Incremental
builds will for the most part only include the second pass, since fuse can
reliably inform tup that no re-parse is required.

I hope that's helpful/accurate, it's just what I've gathered from waiting
on a many incremental builds over the last few years.

On Sat, 30 Sept 2023, 6:07 am Peter Jaspers, <[email protected]>
wrote:

> Hi,
>
>
> From the EXAMPLE section in the tup manual:
> The foreach :-rule will generate a command to compile each file. First tup
> will parse the input section, and use the glob operation on the database
> since a '*' is present. This glob matches foo.c and bar.c.
>
> To my understanding, for this to work, tup must populate the database
> with a file node for each file found in the directory *before *it starts
> parsing the tupfile. Or does tup only create nodes for files that match the
> glob pattern? In the latter case why then perform a glob operation on the
> database?
>
>
>
> Peter
>
>
>
>
>
> --
> --
> tup-users mailing list
> email: [email protected]
> unsubscribe: [email protected]
> options: http://groups.google.com/group/tup-users?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "tup-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/tup-users/02686f7a-d99f-4102-aaf9-5dff08ffe750n%40googlegroups.com
> <https://groups.google.com/d/msgid/tup-users/02686f7a-d99f-4102-aaf9-5dff08ffe750n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
-- 
tup-users mailing list
email: [email protected]
unsubscribe: [email protected]
options: http://groups.google.com/group/tup-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"tup-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/tup-users/CAJPRqRsWFEU%2Bpo-QwS7iw1UA3mcsocprmoTT3T3m7TST%2BYXqZA%40mail.gmail.com.

Reply via email to