Allow commands with implicit outputs in the depslog #1236
Closed
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.
Compilers such as GCC and Clang can output auxiliary files when certain
arguments are passed. In order to add these to the build graph today, we
must turn off the depslog for these commands (deps = gcc -> deps = )
One example is '--coverage', which will output the standard .o/.d files,
but also writes a .gcno file. Then we'd like to distribute a bundle of
these files for the test systems to create the full coverage
information, so they need to be in the build graph.
This is no worse than using depfiles today, since the current depfile
code only cares about the first output. And the depslog code also only
looks at the first output. For auxiliary (implicit) outputs, this is
completely fine. For commands with multiple output that don't have a
"primary" output, the current depslog code that uses the first output
may not be correct, so I'm leaving the check in for that case.