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