feat(toolchain): add copts and objc_copts attributes to toolchains #1564
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.
When using rules_swift with a custom (rules based) cc_toolchain, it is sometimes useful to propagate certain flags to every swift invocation. And while a cc_library() could potentially be used in implicit_deps to pass the usual options (-isystem, -iquote, -D, etc...), the CcInfo provider does not allow propagating every option.
Some options in particular (such as -Xclang -internal-externc-system) cannot currently be propagated that way, and they can nonetheless be necessary in certain environment.
So we're making the current toolchain rules a tad more flexible in this commit, by allowing the user to specify "objc_copts" (for xcode only) and "copts" at toolchain parameters. The content of these attributes is then added to the corresponding compilation actions.