4c13d20c24
This rule process the entire target's source files at once, and so whoever wrote this rule in the first place (PulkoMandy?) probably assumed without even testing that "cc -E" would create multiple outputs for multiple inputs. It doesn't, though: it just outputs them in sequence on the command line the same way it does when the files are piped in through "cat". This also has other advantages (e.g. preprocess errors caused by the compiler assuming it was C not C++ code and so not defining __cplusplus, local includes are now resolved properly, etc.) Doing it this way does exposes other problems like the one fixed in the previous commit (headers with no context defined, which worked previously only because they used the context of the preceding `cat`'ed file.) We now also remove the .pre file after collecting the catkeys. |
||
---|---|---|
.. | ||
config_headers | ||
jam | ||
scripts |