[Python-Dev] addressing distutils inability to track file dependencies
Fri, 14 Jun 2002 22:23:17 +0200
From: "Skip Montanaro" <email@example.com>
> >> Gcc has had good dependency checking for probably ten years.
> Guido> How do you invoke this? Maybe we can use this to our advantage.
> "gcc -M" gives you all dependencies. "gcc -MM" gives you just the stuff
> included via '#include "file"' and omits the headers included via '#include
> <file>'. Programmers use <file> and "file" inconsistently enough that it's
> probably better to just use -M and eliminate the files you don't care about
> (or leave them in and have Python rebuild automatically after OS upgrades).
> There are several other variants as well. Search the GCC man page for "-M".
> It seems to me that distutils' base compiler class could provide a generic
> makedepend-like method which could be overridden in subclasses where
> specific compilers have better builtin schemes for dependency generation.
MSVC could do something similar with the /E or /P flag (preprocess
to standard out or to file). A simple python filter looking for #line
directives could then collect the dependencies.
Isn't -E and -P also available in any unixish compiler?