Button: A fast, correct, and elegantly simple build system.
Atila Neves via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Tue May 31 03:15:14 PDT 2016
On Monday, 30 May 2016 at 19:16:50 UTC, Jason White wrote:
> I am pleased to finally announce the build system I've been
> slowly working on for over a year in my spare time:
>
> snip
> In fact, there is some experimental support for automatic
> conversion of Makefiles to Button's build description format
> using a fork of GNU Make itself:
> https://github.com/jasonwhite/button-make
I'm going to take a look at that!
> - I am aware of Reggae, another build system written in D.
> Although, I admit I haven't looked at it very closely. I am
> curious how it compares.
Since I wrote reggae, let me compare ;)
> - Correct incremental builds.
Yep.
> - Automatic dependency detection (for any build task, even
> shell scripts).
Yes for C/C++/D, no for random tasks in general, but yes if you
use the tup backend.
> - Build graph visualization using GraphViz.
Use the ninja backend, get it for free.
> - Language-independent. It can build anything.
So can reggae, but the built-in high-level rules only do C/C++/D
right now.
> - Can automatically build when an input file is modified (using
> inotify).
Nope, I never found that interesting. Possibly because I keep
saving after every edit in OCD style and I really don't want
things running automatically.
> - Recursive: It can build the build description as part of the
> build.
I'm not sure what that means. reggae copies CMake here and runs
itself when the build description changes, if that's what you
mean.
> - Lua is the primary build description language.
In reggae you can pick from D, Python, Ruby, Javascript and Lua.
Atila
More information about the Digitalmars-d-announce
mailing list