Reggae v0.0.5 super alpha: A build system in D

weaselcat via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Fri Apr 3 12:01:33 PDT 2015


On Friday, 3 April 2015 at 17:55:00 UTC, Dicebot wrote:
> On Friday, 3 April 2015 at 17:25:51 UTC, Ben Boeckel wrote:
>> On Fri, Apr 03, 2015 at 17:10:31 +0000, Dicebot via 
>> Digitalmars-d-announce wrote:
>>> On Friday, 3 April 2015 at 17:03:35 UTC, Atila Neves wrote:
>>> > . Separate compilation. One file changes, only one file 
>>> > gets rebuilt
>>> 
>>> This immediately has caught my eye as huge "no" in the 
>>> description. We must ban C style separate compilation, there 
>>> is simply no way to move forward otherwise. At the very least 
>>> not endorse it in any way.
>>
>> Why? Other than the -fversion=... stuff, what is really 
>> blocking this? I
>> personally find unity builds to not be worth it, but I don't 
>> see
>> anything blocking separate compilation for D if dependencies 
>> are set up
>> properly.
>>
>> --Ben
>
> There are 2 big problems with C-style separate compilation:
>
> 1)
>
> Complicates whole-program optimization possibilities. Old 
> school object files are simply not good enough to preserve 
> information necessary to produce optimized builds and we are 
> not in position to create own metadata + linker combo to 
> circumvent that. This also applies to attribute inference which 
> has become a really important development direction to handle 
> growing attribute hell.

Not sure about other people, but I do not care about whole 
program optimization during an edit-compile-run cycle. I just 
want it to compile as fast as possible, and if I change one or 
two files I don't want to have to recompile an entire codebase.


More information about the Digitalmars-d-announce mailing list