On Thursday, 14 August 2014 at 12:56:10 UTC, Rikki Cattermole wrote:
Dub automatically handles caching of dependencies such as vibe-d. So they are not rebuilt.

The only things that get recompiled for example is a single code unit. This is defined as being the dependency between a route file and template files (simplified).

How many D modules / object files is that?

The necessary dependencies such as vibe-d then should be added as part of the build process.

Incremental builds of things such as routes and templates are not a good idea. Same goes for data models. It could change the code unit output a little too much. Possibly even cause a corrupt binary from missing symbols ext.

That approach sounds much more high-level than what I meant, and I don't see why you'd need to abstract things to that level. I'm not familiar with how dub builds things, but inter-module dependencies are a solved problem, thanks to DMD's -v and -deps switches. Incremental compilation was implemented in older (D1-era) build tools, such as xfbuild, however has never picked up due to DMD bugs with incrementally compiling more than one object file at a time (which might very well be fixed by now).

Reply via email to