Skip to content

Implement explicit definitions for required legacy Bazel C++ features #77

Description

@nradakovic

What

Implement explicit toolchain feature definitions for every required behavior that is currently obtained implicitly from Bazel's legacy C++ feature set.

The goal is to make the toolchain configuration explicit, deterministic, and independent from Bazel's built-in legacy defaults.

Acceptance Criteria (DoD)

  • All required features identified during gap analysis are implemented explicitly in the toolchain configuration, or intentionally marked unsupported.
  • Supported Linux and QNX toolchain behavior no longer depends on Bazel implicit legacy features.
  • The explicit feature set is traceable back to the inventory and gap-analysis outputs.
  • The toolchain continues to support all intended build scenarios after the change.

How

  • Use the gap-analysis output as the implementation backlog.
  • Add explicit feature definitions to the relevant toolchain templates.
  • Keep Linux- and QNX-specific behavior separate where platform requirements differ.
  • Preserve supported behavior where that behavior is intended.
  • Where a legacy behavior is no longer desired, make that decision explicit rather than silently relying on Bazel defaults.
  • Keep changes scoped feature by feature so review and validation remain manageable.

Out of Scope

  • Comprehensive consumer documentation.
  • CI expansion not required to validate the implementation itself.
  • Long-term regression guardrails.

Metadata

Metadata

Assignees

Labels

featureNew feature requestp3Medium/Low - handle it within normal processtemplateAdd or update template toolchain configurations

Type

Projects

Status
Done
Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions