With the way things are currently emitted, every backend that wants to process compilation needs its own sauce to correlate per-file flags, per-directory flags, global flags, defines, local includes, etc. Both CompileDB and FasterMake would need essentially the same kind of code to handle those, as well as hypothetical ninja or tup backends. It's an awful lot of duplication, so I think everything should be done on the emitter end. This work may be further split in smaller bugs.
Could you expand on this? What specifically should change, and what should things in the new design look like?
You need to log in before you can comment on or make changes to this bug.