How does it work with indirect dependencies? For example, if a file includes another file, the top-level file is on the command line, but the modified file will require some knowledge of what it’s doing. bmake’s meta mode uses filemon to watch all FS accesses of child processes and so can build an accurate dependency set for every command, how does Firebuild do it?
How does it work with indirect dependencies? For example, if a file includes another file, the top-level file is on the command line, but the modified file will require some knowledge of what it’s doing. bmake’s meta mode uses filemon to watch all FS accesses of child processes and so can build an accurate dependency set for every command, how does Firebuild do it?
It captures the syscalls in the command, so any file touched during the process - whether listed directly or used indirectly - will be registered.
Interesting. Will have to try Firebuild with Doxygen documentation generation at some point.
I just fixed that use case thanks to your comment reminding me! Accelerating Doxygen needs this PR which will be in the next release/package update.
Regenerating firebuild’s own documentation with Doxygen with the fix in on an 8 core laptop accelerates really well: