iwyu: add map file to correctly and deterministicly lint includes #2837
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Firstly, add json-c include flags to some tests to get rid of the leading
json-c/
when including.Secondly, with map files, we can control how iwyu deals with facade headers (like
json.h
) and where to get certain symbols from. Add a map file and have iwyu be more deterministic about its changes.I also changed the documentation a bit, including fixing a typo (
-Xiwyu
), adding-j
, piping directly (fix_includes
would sometimes not apply all changes) etc.Note that depending on the system, some files might be compiled or not compiled (or compiled differently). E.g. on my system I had libtpms installed, so tcti-libtpms was linted additionally.