On 21.03.2009 19:50, grauzone wrote:
Christopher Wright wrote:
grauzone wrote:
PS: another thing that possibly would bring a speed gain would be to
make dsss compile the whole project in one run, instead of invoking a
new dmd process for each source file. How do I need to change the
rebuild configuration to achieve this?
oneatatime = [yes|no]
You want 'no'. This will occasionally produce issues with ModuleInfo not
being defined with some dmd versions, I think. Or something like that.
Yes, this causes random linker errors.
Those errors shouldn't happen if you compile one file at a time, I
believe. On the other hand, dsss' incremental compilation feature never
seems to work for me.
What I need is to make dsss completely recompile the project, even if
only a single source file was modified. This way, no errors should
occur, and it would still be faster than with oneatatime=yes.
(Damn that crappy support for incremental compilation.)
I use bud, which builds everything with a single run of dmd, but uses
incremental compilation. If I get linker errors, I just run my cleanup
script and try again. Or add -full to bud's command line.