Add feature injection - #52
Merged
Merged
Conversation
Closed
10 tasks
nradakovic
marked this pull request as ready for review
April 29, 2026 08:32
nradakovic
requested review from
AlexanderLanin,
antonkri and
dcalavrezo-qorix
as code owners
April 29, 2026 08:32
nradakovic
force-pushed
the
nira_add_feature_injection
branch
2 times, most recently
from
June 23, 2026 09:56
36afac3 to
c78d5e9
Compare
Closed
10 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
Adds “feature injection” plumbing to GCC toolchain configuration so consumers can supply external cc_feature-based features (via FeatureInfo) and have them appended to the generated toolchain config.
Changes:
- Add
extra_enabled_features/extra_known_featuresattributes to the Linux and QNXcc_toolchain_configtemplates and extend the toolchainfeatureslist viaconvert_feature(...). - Thread the new attributes through the GCC module extension/repository rule generation (plus a small helper to stringify label lists).
- Update the examples to a newer
rules_ccversion and disable/remove sanitizer-related example tests.
Reviewed changes
Copilot reviewed 8 out of 9 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
| templates/qnx/cc_toolchain_config.bzl.template | Adds support for injecting external cc_feature features into the QNX toolchain config. |
| templates/linux/cc_toolchain_config.bzl.template | Adds feature injection loading + wiring, and removes previously inlined features (sanitizers/gnu11). |
| rules/gcc.bzl | Threads injected-feature labels into the generated Linux cc_toolchain_config(...) call. |
| rules/common.bzl | Adds label_list_to_string() helper used by rules/gcc.bzl. |
| extensions/gcc.bzl | Exposes injected-feature label lists on the module extension toolchain tag API. |
| examples/MODULE.bazel | Bumps rules_cc version used by the examples. |
| examples/MODULE.bazel.lock | Lockfile updates corresponding to the examples’ dependency bump and tag schema changes. |
| examples/BUILD | Comments out sanitizer-related example tests. |
| examples/tsan_test.cpp | Removes the TSAN repro test source. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
nradakovic
force-pushed
the
nira_add_feature_injection
branch
3 times, most recently
from
July 1, 2026 10:26
afddadc to
942559c
Compare
nradakovic
force-pushed
the
nira_add_feature_injection
branch
4 times, most recently
from
July 21, 2026 11:51
2c1935b to
cfacf51
Compare
Add feature injection to toolchain gcc extension. This option will allow users to add external defined features.
nradakovic
force-pushed
the
nira_add_feature_injection
branch
from
July 21, 2026 11:53
cfacf51 to
f7cb2ab
Compare
antonkri
approved these changes
Jul 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Add feature injection to toolchain gcc extension. This option will allow users to add external defined features.
resolves #45