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

Jason White via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue May 31 21:34:23 PDT 2016


On Tuesday, 31 May 2016 at 14:28:02 UTC, Dicebot wrote:
> Can it be built from just plain dmd/phobos install available? 
> One of major concernc behind discussion that resulted in Atila 
> reggae effort is that propagating additional third-party 
> dependencies is very damaging for build systems. Right now 
> Button seems to fail rather hard on this front (i.e. Lua for 
> build description + uncertain amount of build dependencies for 
> Button itself).

Building it only requires dmd+phobos+dub.

Why is having dependencies so damaging for build systems? Does it 
really matter with a package manager like Dub? If there is 
another thread that answers these questions, please point me to 
it.

The two dependencies Button itself has could easily be moved into 
the same project. I kept them separate because they can be useful 
for others. These are the command-line parser and IO stream 
libraries.

As for the dependency on Lua, it is statically linked into a 
separate executable (called "button-lua") and building it is 
dead-simple (just run make). Using the Lua build description 
generator is actually optional, it's just that writing build 
descriptions in JSON would be horribly tedious.


More information about the Digitalmars-d-announce mailing list