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

Fields

No fields configured for Task.

Projects

Status
Done
Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions