build: integrate central S-CORE toolchain configuration - #502
srinivasugithub wants to merge 23 commits into
Conversation
License Check Results🚀 The license check job ran with the Bazel command: bazel run --lockfile_mode=error //:license-checkStatus: Click to expand output |
Integrates the S-CORE toolchain configuration from the eclipse-score/module_template repository into the score_lifecycle project. - Adopts the S-CORE Toolchains block unchanged in MODULE.bazel. - Adds score.bazelrc/score_toolchain.bazelrc unchanged from module_template. - Imports the central score_toolchain.bazelrc file via try-import in .bazelrc. - Refactors and simplifies .bazelrc profiles to leverage the central profiles (score-linux-x86_64, score-qnx-x86_64), removing redundant configurations. - Isolates repository-specific additions separate in MODULE.bazel and .bazelrc. - Adds TOOLCHAIN_INTEGRATION_REPORT.md detailing findings, differences, and candidates for future central standardizations.
ecca209 to
f767441
Compare
Signed-off-by: srinivasugithub <skd1cob@bosch.com>
|
Fixes #448 |
accept and agree the changes Co-authored-by: Daniel Thwaites <danth@danth.me> Signed-off-by: srinivasugithub <skd1cob@bosch.com>
3c20e08 to
e977602
Compare
e977602 to
bbe0482
Compare
389d0ab to
c65df73
Compare
Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
b83d44e to
5397b5c
Compare
Remove score_itf patch override and hedron_compile_commands to match upstream and fix Bazel loading errors on CI. Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
Align MODULE.bazel dependency versions (score_docs_as_code, score_platform, score_rules_imagefs) and dev_dependency declarations to match upstream main and fix CI build/verification check failures. Signed-off-by: Srinivasu K <srinivasu.kandukuri@in.bosch.com>
| build:x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix | ||
| build:x86_64-linux --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0 | ||
| build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu | ||
| build:x86_64-linux --config=score-linux-x86_64 |
There was a problem hiding this comment.
Here it's x86_64-linux and in the provided common config it's score-linux-x86_64?!
Personally I don't have strong feelings, but I like the latter. We should align the naming (after this PR has landed).
There was a problem hiding this comment.
I prefer the former, but nevertheless we should use name from the common config so that it is the same between modules.
| build:x86_64-linux --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0 | ||
| build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu | ||
| build:x86_64-linux --config=score-linux-x86_64 | ||
| build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu_miri |
There was a problem hiding this comment.
This needs to be added to the common bazelrc (after this initial PR)?
There was a problem hiding this comment.
yes, i will create PR for module template
| test:unit-tests-x86_64-qnx --//config:unit_mode=qemu | ||
|
|
||
| # Target configuration for CPU:AArch64|OS:QNX build (do not use it in case of system toolchains!) | ||
| # Target configuration for CPU:AArch64|OS:QNX build (repository-specific addition) |
There was a problem hiding this comment.
This needs to be added to the common bazelrc (after this initial PR)?
There was a problem hiding this comment.
yes, i will create PR for module template repo
| # Compiler-warning features are owned by score_cpp_policies | ||
| _WARNING_ENABLED_FEATURES = [ | ||
| "@score_cpp_policies//warnings/gcc/features:minimal_warnings", | ||
| "@score_cpp_policies//warnings/gcc/features:warnings_as_errors", |
There was a problem hiding this comment.
How are the compiler warnings from @score_cpp_policies now handled?
📥 S-CORE Toolchain Configuration Integration
This PR integrates the central S-CORE toolchain configuration from the reference
eclipse-score/module_templaterepository into thescore_lifecyclerepository.Our integration ensures that all central toolchains and configurations are adopted 100% unchanged and are elegantly separated from repository-specific additions and overrides.
🌟 Key Changes
MODULE.bazelAlignment:score_gcc_aarch64_toolchainseparately under a clearly defined "Repository-specific toolchain additions" section.score_qcc_aarch64_toolchain_pkginside our repository-specific section ofMODULE.bazel.Imported Central
.bazelrcConfiguration:score.bazelrc/score_toolchain.bazelrcexactly matching the reference file..bazelrcviatry-import.Optimized
.bazelrcprofiles:x86_64-linuxto cleanly inherit from--config=score-linux-x86_64.x86_64-qnxto cleanly inherit from--config=score-qnx-x86_64.toolchain_commonblock.arm64-linuxandarm64-qnxas separate repository-specific additions (inheriting from_score_common).📊 Configuration Comparison & Gaps Identified
MODULE.bazelMODULE.bazelMODULE.bazel🔮 Identified Candidates for Future Centralization
We identified these repository-specific components that could be candidates for future S-CORE integration into
module_template:ASAN,TSAN,UBSAN, andLSANsetup is robust and general enough to be centralized.🧪 Verification Done
//examples/cpp_lifecycle_appusing--config=x86_64-linuxon host.//score/launch_manager/src/daemon/src/common:identifier_hash_UTwith--config=x86_64-linux.