threads / discuss / 3966

Proposal: git-based dependency tracking build system

Subject: Proposal: git-based dependency tracking build system

## tl;dr

One message between Apr 26, 2006 and Apr 26, 2006.

replies: 0people: 1as markdown or json

Matt McCutchen· Apr 26, 2006, 00:13 UTC · lore
Dear git people,
I have been thinking for some time about how to write a foolproof
general-use build system that automatically tracks dependencies.  (Make
+ depcomp is decent as long as source files aren't added/removed or
generated often.  Cons is good but not general-purpose.)  I know there's
been some work on tracing the compiler to see which files it actually
opens.  Another possibility is to layer a FUSE filesystem over the build
tree and note which files in the virtual filesystem are opened; this has
the advantage of missing most of the boring files (e.g. shared libraries
that make up the compiler).

So I was thinking, why not write a build system that uses git's excellent hash-based object storage support to store the files in the virtual build tree? Hashing the files makes it easy to notice when a file is rewritten with the same contents, meaning files that depend on it don't actually have to be rebuilt. I also envision the build system automatically marking generated files as git-ignored.

Thoughts?
-- 
Matt McCutchen
hashproduct@verizon.net
http://hashproduct.metaesthetics.net/

← back to recent threads