Skip to content

feat(toolchain): centralize S-CORE toolchain configurations and compiler warning policies - #180

Merged
RolandJentschETAS merged 12 commits into
eclipse-score:mainfrom
bgsw-contrib:feature/S-CORE_global_toolchain_configuration
Sep 30, 2026
Merged

RolandJentschETAS merged 12 commits into
eclipse-score:mainfrom
bgsw-contrib:feature/S-CORE_global_toolchain_configuration

Conversation

@srinivasugithub

@srinivasugithub srinivasugithub commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

Description

This PR centralizes, configures, and standardizes the Eclipse S-CORE Baselibs toolchain configurations and compiler warning policies across the workspace.

Key Changes:

  1. S-CORE Compiler Warning Policies:

    • Declared score_cpp_policies centrally as a development dependency in MODULE.bazel.
    • Defined compiler-warning features from score_cpp_policies and injected them into the standard Linux GCC and QNX QCC toolchains.
    • Downgraded redundant-decls compiler check to warning-only via --cxxopt=-Wno-error=redundant-decls in score_toolchain.bazelrc to prevent compilation failures with third-party headers (such as flatbuffers' grpc generator).
  2. QNX SDP and IFS Toolchain Support:

    • Standardized on QNX SDP version 8.0.4 for QNX toolchains in MODULE.bazel.
    • Centralized the QNX IFS (Image File System) toolchains (score_qnx_x86_64_ifs_toolchain and score_qnx_aarch64_ifs_toolchain) under the QNX Toolchains block to resolve downstream dependency issues.
  3. Multi-Architecture and CPU Configurations:

    • Added standard GCC Linux aarch64-linux toolchain declarations and target configuration profiles.
    • Added score_qcc_aarch64_toolchain_pkg to QNX use_repo block to provide ARM64 sysroot support centrally.
    • Added standard x86_64-linux target configuration alias mapping to score-linux-x86_64 in .bazelrc.
    • Fixed copy-paste target configuration typos in score_toolchain.bazelrc under QNX configurations.
  4. Lockfile & Bzlmod Resolution:

    • Fully synchronized MODULE.bazel.lock transitive dependency map with all metadata upgrades (including updates for aspect_rules_lint, rules_cc, rules_nodejs, etc.).

srinivasugithub and others added 7 commits August 26, 2026 14:59
- Fix copy-paste typo in score_toolchain.bazelrc where score-autosd-aarch64 was mistakenly used under the x86_64 target configuration.
- Add score_qcc_aarch64_toolchain_pkg to QNX use_repo block to provide the ARM64 QNX target sysroot package centrally.
- Add standard GCC Linux aarch64-linux toolchain declaration and standard score-linux-aarch64 configuration profile.
- Declare 'score_rules_imagefs' centrally in MODULE.bazel under QNX Toolchains block.
- Define 'score_qnx_x86_64_ifs_toolchain' and 'score_qnx_aarch64_ifs_toolchain' centrally to prevent downstream dependency resolution issues when leveraging 'score_toolchain.bazelrc'.
- Format workspace BUILD files using Buildifier.
- Update MODULE.bazel.lock transitive dependency map.
- Update sdp_version to "8.0.4" for QNX toolchains in MODULE.bazel.
- Update MODULE.bazel.lock transitive dependency map.
… support

- Declare score_cpp_policies as dev dependency in MODULE.bazel.
- Define compiler-warning features from score_cpp_policies and inject them into standard Linux GCC and QNX QCC toolchains.
- Add target configuration alias for CPU:x86-64|OS:Linux to .bazelrc, referencing score-linux-x86_64 centrally.

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
…zelrc

Add --cxxopt=-Wno-error=redundant-decls to our common compiler flags. This prevents third-party headers/compilers (such as flatbuffers' grpc generator) from breaking our builds with unused redundant declarations under the new score_cpp_policies warnings.

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
…tadata

Update lockfile with resolved dependency and toolchain registry changes, including aspect_rules_lint, rules_cc, and rules_nodejs.

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
@github-actions

github-actions Bot commented Sep 18, 2026 •

Copy link
Copy Markdown
Contributor

License Check Results

🚀 The license check job ran with the Bazel command:

bazel run --lockfile_mode=error //:license-check

Status: ⚠️ Needs Review

Click to expand output
[License Check Output]
Extracting Bazel installation...
Starting local Bazel server (8.7.0) and connecting to it...
INFO: Invocation ID: 1243fb86-8526-4af9-90d1-676ab602347f
Computing main repo mapping: 
Computing main repo mapping: 
WARNING: For repository 'aspect_rules_lint', the root module requires module version aspect_rules_lint@2.3.0, but got aspect_rules_lint@2.5.0 in the resolved dependency graph. Please update the version in your MODULE.bazel or set --check_direct_dependencies=off
Loading: 
Loading: 0 packages loaded
Loading: 0 packages loaded
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Loading: 0 packages loaded
    currently loading: 
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)
Analyzing: target //:license-check (1 packages loaded, 0 targets configured)

Analyzing: target //:license-check (46 packages loaded, 10 targets configured)

Analyzing: target //:license-check (92 packages loaded, 291 targets configured)

Analyzing: target //:license-check (155 packages loaded, 3943 targets configured)

Analyzing: target //:license-check (162 packages loaded, 5547 targets configured)

Analyzing: target //:license-check (162 packages loaded, 5547 targets configured)

Analyzing: target //:license-check (165 packages loaded, 8390 targets configured)

Analyzing: target //:license-check (169 packages loaded, 10283 targets configured)

Analyzing: target //:license-check (169 packages loaded, 10283 targets configured)

Analyzing: target //:license-check (170 packages loaded, 10403 targets configured)

INFO: Analyzed target //:license-check (171 packages loaded, 11982 targets configured).
[9 / 16] Creating runfiles tree bazel-out/k8-opt-exec-ST-d57f47055a04/bin/external/score_tooling+/dash/tool/formatters/dash_format_converter.runfiles [for tool]; 0s local ... (2 actions, 1 running)
INFO: From Generating Dash formatted dependency file ...:
INFO: Successfully converted 2 packages from Cargo.lock to bazel-out/k8-fastbuild/bin/formatted.txt
[14 / 16] JavaToolchainCompileBootClasspath external/rules_java+/toolchains/platformclasspath.jar; 0s disk-cache, processwrapper-sandbox
INFO: Found 1 target...
Target //:license.check.license_check up-to-date:
  bazel-bin/license.check.license_check
  bazel-bin/license.check.license_check.jar
INFO: Elapsed time: 221.149s, Critical Path: 2.44s
INFO: 16 processes: 12 internal, 3 processwrapper-sandbox, 1 worker.
INFO: Build completed successfully, 16 total actions
INFO: Running command line: bazel-bin/license.check.license_check ./formatted.txt <args omitted>
usage: org.eclipse.dash.licenses.cli.Main [-batch <int>] [-cd <url>]
       [-confidence <int>] [-ef <url>] [-excludeSources <sources>] [-help] [-lic
       <url>] [-project <shortname>] [-repo <url>] [-review] [-summary <file>]
       [-timeout <seconds>] [-token <token>]

@srinivasugithub srinivasugithub changed the title build(bzlmod): update MODULE.bazel.lock feat(toolchain): centralize S-CORE toolchain configurations and compiler warning policies Sep 18, 2026
…figuration

- Resolve conflicts in:
  - BUILD
  - MODULE.bazel
  - MODULE.bazel.lock
  - score/component_example/BUILD

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
@github-actions

Copy link
Copy Markdown
Contributor

Documentation preview for this pull request is available at:
pr-180: https://eclipse-score.github.io/module_template/pr-180/

Comment thread score.bazelrc/score_toolchain.bazelrc Outdated
Comment thread .bazelrc Outdated
Comment thread MODULE.bazel
@AlexanderLanin AlexanderLanin moved this from In Progress to in review in INF - Infrastructure Community Sep 22, 2026
…sions

Remove x86_64-linux target configuration alias from .bazelrc in favor of score-linux-x86_64, and exclude compiler warning suppressions from score_toolchain.bazelrc per PR review feedback.

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
…figuration

- Resolve conflicts in:
  - MODULE.bazel

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
srinivasugithub and others added 2 commits September 29, 2026 04:53
…figuration

- Resolve merge conflict in:
  - MODULE.bazel.lock
- Update dependencies to upstream versions:
  - score_bazel_cpp_toolchains to v1.0.4
- Recompute module extension digests for score_cpp_policies compiler warnings

Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>

@AlexanderLanin AlexanderLanin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

requesting merge

@RolandJentschETAS
RolandJentschETAS merged commit 8bf7d0d into eclipse-score:main Sep 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

5 participants