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

Jason White via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Tue Jun 14 22:29:33 PDT 2016


On Tuesday, 14 June 2016 at 14:57:52 UTC, Andrei Alexandrescu 
wrote:
> On 6/12/16 8:27 PM, Walter Bright wrote:
>> On 5/30/2016 12:16 PM, Jason White wrote:
>>> Here is an example build description for DMD:
>>>
>>>     
>>> https://github.com/jasonwhite/dmd/blob/button/src/BUILD.lua
>>>
>>> I'd say that's a lot easier to read than this crusty thing:
>>>
>>>     https://github.com/dlang/dmd/blob/master/src/posix.mak
>>
>> Yes, the syntax looks nice.
>
> Cool. Difference in size is also large. Do they do the same 
> things? -- Andrei

Not quite. It doesn't download a previous version of dmd for 
bootstrapping and it doesn't handle configuration (e.g., x86 vs 
x64). About all it does is the bare minimum work necessary to 
create the dmd executable. I basically ran `make all -n` and 
converted the output because it's easier to read than the 
Makefile itself.

Building from scratch takes about 7 seconds on my machine (using 
8 cores and building in /tmp). Make takes about 5 seconds. Guess 
I need to do some optimizing. :-)


More information about the Digitalmars-d-announce mailing list