On Tue, 19 Mar 2013 19:07:17 GMT, Jacob Carlborg wrote:

On Tue, 19 Mar 2013 07:25:17 +0100, Sönke Ludwig wrote:

I always thought that rdmd only accepts a single source file as the last
argument. Anyway, this is specifically about using rdmd as the build tool.

I don't know. If it can't it should be fixed or rdmd is not good enough.

It's not good enough also for a number of other reasons, and the whole concept will also be difficult to get right. For example, suppose we have some dependencies build as dynamic libraries. How should rdmd or any dependency based build tool know where it has to stop when including D modules (i.e. at the border to the dynamic library)? It also needs to support separate compile/link and single file compilation modes for larger projects as a fallback in case of linker issues. Then there is the issue of the additional compiler run to initially determine all dependencies or recompile whenever compilation failed because new dependencies were added and the issue with missing local and string imports ind dmd's .dep files.

These are all reasons why I chose to not rely on rdmd/dependency tracking (and merely included it as a fallback option), but still there are a lot of opposing voices.