Recompiling D code
Vladimir Panteleev via Digitalmars-d-announce
digitalmars-d-announce at puremagic.com
Thu Aug 14 07:58:23 PDT 2014
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).
More information about the Digitalmars-d-announce
mailing list