On Tuesday, 13 August 2013 at 16:11:44 UTC, H. S. Teoh wrote:

There's no need to maintain any makefiles once the D build tool is usable.

On this note, I've often wondered why D compilers (or dmd, at least) don't just try to infer the necessary files to compile/link for a project based on the modules it imports. Obviously this breaks down once you need to express linkage with external libraries; but figuring out as much as possible automatically would be neat.

e.g.
Say the top of smallProj.d has:
import common.func;
import common.data;

...and you have a common/ directory with func.d and data.d, it seems the compiler could accept:
dmd smallProj.d
...as a shorthand for:
dmd common/func.d common/data.d smallProj.d

Given that it doesn't work this way, I'm guessing there's some aspect I've missed that throws it into the same sort of hellscape of agony as every other build system in the world, but I can't figure out what it might be...

-Wyatt

Reply via email to