
Hartmut Kaiser wrote:
One final remark. You'll have to to know, though, that the generated output of such a Wave based tool will be very specific to the environment it is used in, i.e. it will list only files 'visible' to the preprocessor. For instance in the following example the file something.h won't be listed as long as the constant BLABLA isn't defined.
#ifdef BLABLA #include <something.h> #endif
I think this particular feature makes such a tool really useful ! I'm not sure how bjam does its dependency scanning, but scons has had notorious difficulties to correctly determine header dependencies in the context of predefined macros or even such unorthodox cases as the ones provided by boost's preprocessor library. What would make such a tool even more useful than a replacement for 'gcc -M' would be if it could generate dependencies for sets of files, i.e. with the possibility of internal caching such that it doesn't have to reparse a file twice if not necessary. But that may require quite some work, for example to determine a 'state' dependent on values of all the defined macros. Regards, Stefan