Git, the D package manager
Paolo Invernizzi via Digitalmars-d
digitalmars-d at puremagic.com
Wed Feb 4 04:23:21 PST 2015
On Tuesday, 3 February 2015 at 21:04:46 UTC, H. S. Teoh wrote:
>
> In addition to an overhaul of the core algorithm, tup also has
> some
> clever tricks, like wrapping libc of executed commands, so that
> all
> *actual* inputs to the compiler (and other build commands) are
> included
> in the dependency graph -- if the compiler reads
> /usr/include/stdio.h,
> for example, tup will know that the source file depends on
> stdio.h --
> and this *without* needing to scan the source file manually or
> asking
> the user to specify such tedious things.
There's more, using this trick, it also check the output of the
compiler: orphans or unspecified targets are not allowed.
In this way, it has the complete graph of what is generated by
the build process, and, literally, there's no need for a clean,
ever.
If you modify a target file, tup will warn you that it will be
overwritten; if you add a build rule that will output a new file,
overwriting something that already exists, it will refuse to run,
and will ask you to remove the current file, and so on...
We are using it a lot, here at work, and we are really enjoying
it: we've a D tool that emits tup rules, for the chronicle... ;-)
---
P
More information about the Digitalmars-d
mailing list