Button: A fast, correct, and elegantly simple build system.

Fool via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Jun 14 03:47:58 PDT 2016


On Sunday, 12 June 2016 at 22:59:15 UTC, Jason White wrote:
> - "system1: Dependency on system information" (Because tasks 
> with no dependencies are only run once. This could be changed 
> easily enough, but I don't see the point.)

Switching the compiler version seems to be a valid use case. You 
might have other means to detect this, though.


> - "secondary: Secondary target" (I think this is incorrect 
> behavior and not a feature.)
> - "intermediate: Intermediate target" (Same reason as 
> "secondary". If this is really needed, it should be 
> encapsulated inside a single task.)

A possible use case is creating object files first and packing 
them into a library as a second step. Then single object files 
are of not much interest anymore. Imagine, you want to distribute 
a build to several development machines such that their local 
build environments are convinced that the build is up to date. If 
object files can be treated as secondary or intermediate targets 
you can save lots of unnecessary network traffic and storage.

> I should probably make a pull request to add it to the shootout.

It might help advertising. :-)


More information about the Digitalmars-d-announce mailing list