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...





Reply via email to