dud: A dub replacement

Atila Neves atila.neves at gmail.com
Thu Nov 28 13:10:44 UTC 2019


On Monday, 25 November 2019 at 15:27:10 UTC, Robert Schadek wrote:
> On Monday, 25 November 2019 at 13:14:09 UTC, Sebastiaan Koppe 
> wrote:
>> The biggest thing for me would be incremental compilation. As 
>> well as a dub build and test 'watch' mode to avoid scanning 
>> the dependencies every time.
>
> I think there are two levels to incremental compilation (IC).
>
> 1. File level IC. Meaning, if you have one file change, you 
> only recompile
> all files that depend on that directly or transitively. 
> Finally, you relink.


This is the done already by reggae. Unfortunately, since every D 
module is effectively a header, the number of files that need to 
be recompiled is usually large, despite the fact that for most 
changes the recompilation isn't actually necessary.


> For 1. my goal with dud is to do that. My first target is to 
> emit ninja files.

That isn't going to work:

https://issues.dlang.org/show_bug.cgi?id=14188

reggae wraps dmd to act in a way that ninja can use. I'd also 
suggest that writing more ninja emitting code when reggae already 
does the job might be unnecessary.

The reason I stopped working on my own dub replacement is because 
I needed to attach to "a real build system", and since I want to 
rewrite reggae from scratch by building on the "Build Systems à 
la carte" paper...







More information about the Digitalmars-d-announce mailing list