Given the three files below and compiling with the DMD command line ...
dmd test.d mod1.d mod2.d -o- -deps=test.deps
when using DMD V1, the test.deps file is created but is empty.
when using DMD V2, the test.deps file is created and contains the expected data.
----------------
// main.d
import std.stdio;
import mod1: foo;
void main() {
writefln("%d\n", foo(10));
}
----------------
// mod1.d
import mod2: bar;
int foo(int x) { return bar(x) + bar(x); }
----------------
// mod2.d
int bar(int x) { return x * x; }
----------------
Comment #1 by h3r3tic — 2009-07-07T02:50:53Z
Looks like the changes in import.c have only been applied to the D2 branch. If you copy import.c from DMD2 into DMD1 and build it, dep generation works fine.