rdmd could collect dependencies while performing the actual compilation. Then, if the dependencies are stable (compare with the saved ones), all done in one run. Otherwise, discard the output and rebuild.

I wrote a silly tool that gathers dependencies as it compiles. Essentially, it calls dmd -v and parses the result as rdmd does. The net effect is something akin to gcc's -MF -MD combo.

It's part of the build system I keep pestering everyone about. I had to write it because Ninja depends on it for proper dependency tracking. Make needs it too, but the Makefile code I have to generate is best not looked at. Make's fault, not mine.

Atila

Reply via email to