Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
f767441
build: integrate central S-CORE toolchain configuration
srinivasugithub Aug 21, 2026
b49da28
Merge branch 'main' into feature/S-CORE_global_toolchain_configuration
srinivasugithub Aug 21, 2026
3170058
build: fix QNX aarch64 toolchain package visibility in MODULE.bazel
srinivasugithub Aug 21, 2026
24646a0
build: remove build report output
srinivasugithub Aug 21, 2026
f9b52bb
build(bazelrc): update central configurations
srinivasugithub Aug 24, 2026
0525d37
build: resolve S-CORE global toolchain PR feedback
srinivasugithub Aug 26, 2026
b254360
build: adopt central toolchains and update templates
srinivasugithub Aug 31, 2026
3b09136
Merge branch 'origin/main' into feature/S-CORE_global_toolchain_confiโ€ฆ
srinivasugithub Aug 31, 2026
eefef53
Merge branch 'main' into feature/S-CORE_global_toolchain_configuration
srinivasugithub Aug 31, 2026
c4d5c9b
fix(lockfile): sync MODULE.bazel.lock after main merge
srinivasugithub Aug 31, 2026
870b77b
build: adopt central S-CORE toolchain configuration
srinivasugithub Aug 31, 2026
911b78a
fix(bazelrc): restore default private registry priority first
srinivasugithub Aug 31, 2026
d1e16c6
Merge branch 'main' into feature/S-CORE_global_toolchain_configuration
srinivasugithub Aug 31, 2026
dd6892c
fix(test_helper): suppress GTest verbose banner on stdout
srinivasugithub Sep 1, 2026
cdfe919
Merge branch 'upstream/main' into feature/S-CORE_global_toolchain_conโ€ฆ
srinivasugithub Sep 1, 2026
8f335ea
fix(build): align coverage configuration and tidy MODULE.bazel
srinivasugithub Sep 3, 2026
3c20e08
build: revert QNX imagefs sdp_version to 8.0.0
kandukurisrinivasu Sep 16, 2026
874ca35
Merge remote-tracking branch 'upstream/main' into pr/502
kandukurisrinivasu Sep 17, 2026
5397b5c
fix(test_helper): restore GTest verbose banner suppression
kandukurisrinivasu Sep 17, 2026
138e229
build: remove deleted patch overrides from MODULE.bazel
kandukurisrinivasu Sep 17, 2026
be92934
Merge branch 'main' into feature/S-CORE_global_toolchain_configuration
srinivasugithub Sep 17, 2026
81b62fc
build: align and update MODULE.bazel dependencies with main
kandukurisrinivasu Sep 17, 2026
2fb13e7
build: specify imagefs toolchain type
kandukurisrinivasu Sep 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 11 additions & 21 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17
build --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py

# Import central S-CORE toolchain configuration
import %workspace%/score.bazelrc/score_toolchain.bazelrc

# Disable warnings for external code
build --per_file_copt=external/.*@-w

Expand All @@ -40,33 +43,24 @@ import %workspace%/quality/sanitizer/sanitizer.bazelrc


# Common Lifecycle Toolchain flags for build (do not use it in case of system toolchains!)
build:toolchain_common --incompatible_strict_action_env
build:toolchain_common --host_platform=@score_bazel_platforms//:x86_64-linux
## Ferrocene must be common compiler for HOST. To ensure metadata compatibility for proc macro crate
build:toolchain_common --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
build:stub --@score_baselibs//score/mw/log/flags:KRemote_Logging=False
build:stub --@score_baselibs//score/json:base_library=nlohmann

# Target configuration for running tests on localhost
build:host --//config:integration_mode=host
build:host --//config:unit_mode=host

# Target configuration for CPU:x86-64|OS:Linux build (do not use it in case of system toolchains!)
# Target configuration for CPU:x86-64|OS:Linux build (leveraging central configuration)
build:x86_64-linux --config=stub
build:x86_64-linux --config=toolchain_common
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

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.

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).

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.

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_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu_miri

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.

This needs to be added to the common bazelrc (after this initial PR)?


test:x86_64-linux --//config:integration_mode=docker
test:x86_64-linux --//config:unit_mode=host

# Target configuration for CPU:AArch64|OS:Linux build (do not use it in case of system toolchains!)
# Target configuration for CPU:AArch64|OS:Linux build (repository-specific addition leveraging central configuration)
build:arm64-linux --config=stub
build:arm64-linux --config=toolchain_common
build:arm64-linux --platforms=@score_bazel_platforms//:aarch64-linux-gcc_12.2.0-posix
build:arm64-linux --extra_toolchains=@score_gcc_aarch64_toolchain//:aarch64-linux-gcc_12.2.0
build:arm64-linux --config=score-linux-aarch64
build:arm64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu
build:arm64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu_miri
build:arm64-linux --copt=-mno-outline-atomics
Expand All @@ -75,13 +69,9 @@ build:arm64-linux --linkopt=-latomic
test:arm64-linux --//config:integration_mode=docker
test:arm64-linux --//config:unit_mode=host

# Target configuration for CPU:x86-64|OS:QNX build (do not use it in case of system toolchains!)
# Target configuration for CPU:x86-64|OS:QNX build (leveraging central configuration)
build:x86_64-qnx --config=stub
build:x86_64-qnx --config=toolchain_common
build:x86_64-qnx --platforms=@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix
build:x86_64-qnx --extra_toolchains=@score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0
build:x86_64-qnx --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_pc_nto_qnx800
build:x86_64-qnx --extra_toolchains=@score_qnx_x86_64_ifs_toolchain//:ifs-x86_64-qnx-sdp_8.0.0
build:x86_64-qnx --config=score-qnx-x86_64

test:x86_64-qnx --//config:integration_mode=qemu
test:x86_64-qnx --//config:unit_mode=skip
Expand All @@ -92,9 +82,9 @@ test:unit-tests-x86_64-qnx --run_under=@score_qnx_unit_tests//src:run_under_qnx
test:unit-tests-x86_64-qnx --//config:integration_mode=skip
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)
build:arm64-qnx --config=stub
build:arm64-qnx --config=toolchain_common
build:arm64-qnx --config=_score_common
build:arm64-qnx --incompatible_strict_action_env
build:arm64-qnx --platforms=@score_bazel_platforms//:aarch64-qnx-sdp_8.0.0-posix
build:arm64-qnx --extra_toolchains=@score_qcc_aarch64_toolchain//:aarch64-qnx-sdp_8.0.0
Expand Down
173 changes: 119 additions & 54 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -34,80 +34,169 @@ bazel_dep(name = "google_benchmark", version = "1.9.5", dev_dependency = True)

bazel_dep(name = "score_docs_as_code", version = "8.1.2")
bazel_dep(name = "score_tooling", version = "2.2.1")
bazel_dep(name = "score_process_description", version = "2.1.2")
bazel_dep(name = "score_platform", version = "0.7.2")

bazel_dep(name = "score_bazel_platforms", version = "1.1.0", dev_dependency = True)
bazel_dep(name = "score_rust_policies", version = "0.0.5", dev_dependency = True)
bazel_dep(name = "score_cpp_policies", version = "0.1.1", dev_dependency = True)
bazel_dep(name = "score_devcontainer", version = "1.11.0", dev_dependency = True)

## Configure the C++ toolchain
bazel_dep(name = "score_process_description", version = "2.1.2")
bazel_dep(name = "score_platform", version = "0.7.2")

###############################################################################
#
# S-CORE Toolchains (DO NOT MODIFY)
#
###############################################################################
bazel_dep(name = "score_bazel_cpp_toolchains", version = "1.0.3", dev_dependency = True)
bazel_dep(name = "score_bazel_platforms", version = "1.1.0", dev_dependency = True)

# GCC Toolchains
gcc = use_extension("@score_bazel_cpp_toolchains//extensions:gcc.bzl", "gcc", dev_dependency = True)

# 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",
]

_WARNING_KNOWN_FEATURES = [
"@score_cpp_policies//warnings/gcc/features:strict_warnings",
"@score_cpp_policies//warnings/gcc/features:all_wall_warnings",
]

## Linux Toolchains
gcc.toolchain(
name = "score_gcc_x86_64_toolchain",
extra_enabled_features = _WARNING_ENABLED_FEATURES,
extra_known_features = _WARNING_KNOWN_FEATURES,
target_cpu = "x86_64",
target_os = "linux",
use_default_package = True,
version = "12.2.0",
)
gcc.toolchain(
name = "score_gcc_aarch64_toolchain",
extra_enabled_features = _WARNING_ENABLED_FEATURES,
extra_known_features = _WARNING_KNOWN_FEATURES,
target_cpu = "aarch64",
target_os = "linux",
use_default_package = True,
version = "12.2.0",
)

## Elektobit Toolchains
gcc.toolchain(
name = "score_qcc_x86_64_toolchain",
extra_enabled_features = _WARNING_ENABLED_FEATURES,
extra_known_features = _WARNING_KNOWN_FEATURES,
sdp_version = "8.0.4",
name = "score_ebclfsa_toolchain",
runtime_ecosystem = "ebclfsa",
sdk_version = "0.1.0",
target_cpu = "aarch64",
target_os = "linux",
use_default_package = True,
)

## AutoSD10 Toolchains
gcc.toolchain(
name = "score_autosd10_x86_64_toolchain",
runtime_ecosystem = "autosd10",
target_cpu = "x86_64",
target_os = "qnx",
target_os = "linux",
use_default_package = True,
version = "12.2.0",
)
gcc.toolchain(
name = "score_autosd10_aarch64_toolchain",
runtime_ecosystem = "autosd10",
target_cpu = "aarch64",
target_os = "linux",
use_default_package = True,
)
use_repo(
gcc,
"score_autosd10_aarch64_toolchain",
"score_autosd10_x86_64_toolchain",
"score_ebclfsa_toolchain",
"score_gcc_aarch64_toolchain",
"score_gcc_x86_64_toolchain",
)

# Rust Toolchains
bazel_dep(name = "score_toolchains_rust", version = "0.10.0", dev_dependency = True)

ferrocene = use_extension(
"@score_toolchains_rust//extensions:ferrocene_toolchain_ext.bzl",
"ferrocene_toolchain_ext",
dev_dependency = True,
)
ferrocene.toolchain(
name = "ferrocene_aarch64_ebclfsa",
coverage_tools_sha256 = "497958e925bc94833ea226d68f6d5ba38bd890f571c73e230141d2923e30dd94",
coverage_tools_strip_prefix = "779fbed05ae9e9fe2a04137929d99cc9b3d516fd/x86_64-unknown-linux-gnu",
coverage_tools_url = "https://github.com/eclipse-score/ferrocene_toolchain_builder/releases/download/1.0.1/coverage-tools-779fbed05ae9e9fe2a04137929d99cc9b3d516fd-x86_64-unknown-linux-gnu.tar.gz",
exec_triple = "x86_64-unknown-linux-gnu",
extra_rustc_flags = [
"-Clink-arg=-Wl,--no-as-needed",
"-Clink-arg=-lstdc++",
"-Clink-arg=-static-libstdc++",
"-Clink-arg=-static",
"-Clink-arg=-lm",
"-Clink-arg=-lc",
],
sha256 = "b1f1eb1146bf595fe1f4a65d5793b7039b37d2cb6d395d1c3100fa7d0377b6c9",
target_compatible_with = [
"@platforms//cpu:aarch64",
"@platforms//os:linux",
],
target_triple = "aarch64-unknown-linux-gnu",
url = "https://github.com/eclipse-score/ferrocene_toolchain_builder/releases/download/1.0.1/ferrocene-779fbed05ae9e9fe2a04137929d99cc9b3d516fd-aarch64-unknown-linux-gnu.tar.gz",
)
use_repo(
ferrocene,
"ferrocene_aarch64_ebclfsa",
)

# QNX Toolchains
bazel_dep(name = "score_rules_imagefs", version = "0.1.0", dev_dependency = True)

imagefs = use_extension("@score_rules_imagefs//extensions:imagefs.bzl", "imagefs", dev_dependency = True)
imagefs.toolchain(
name = "score_qnx_x86_64_ifs_toolchain",
sdp_to_import = "@score_qcc_x86_64_toolchain_pkg",
sdp_version = "8.0.0",
target_cpu = "x86_64",
target_os = "qnx",
type = "ifs",
)
imagefs.toolchain(
name = "score_qnx_aarch64_ifs_toolchain",
sdp_to_import = "@score_qcc_aarch64_toolchain_pkg",
sdp_version = "8.0.0",
target_cpu = "aarch64",
target_os = "qnx",
type = "ifs",
)
use_repo(imagefs, "score_qnx_aarch64_ifs_toolchain", "score_qnx_x86_64_ifs_toolchain")

qcc = use_extension("@score_bazel_cpp_toolchains//extensions:gcc.bzl", "gcc", dev_dependency = True)
qcc.toolchain(
name = "score_qcc_aarch64_toolchain",
extra_enabled_features = _WARNING_ENABLED_FEATURES,
extra_known_features = _WARNING_KNOWN_FEATURES,
sdp_version = "8.0.4",
target_cpu = "aarch64",
target_os = "qnx",
use_default_package = True,
version = "12.2.0",
)
qcc.toolchain(
name = "score_qcc_x86_64_toolchain",
sdp_version = "8.0.4",
target_cpu = "x86_64",
target_os = "qnx",
use_default_package = True,
version = "12.2.0",
)
use_repo(
gcc,
"score_gcc_aarch64_toolchain",
"score_gcc_x86_64_toolchain",
qcc,
"score_qcc_aarch64_toolchain",
"score_qcc_aarch64_toolchain_pkg",
"score_qcc_x86_64_toolchain",
"score_qcc_x86_64_toolchain_pkg",
)

###############################################################################
#
# Repository-specific Toolchains & Testing Configurations
#
###############################################################################
# LLVM toolchain (used for clang-format, clang-tidy and LLVM source-based coverage)
bazel_dep(name = "toolchains_llvm", version = "1.8.0", dev_dependency = True)
git_override(
module_name = "toolchains_llvm",
commit = "332d6856cf41452acbd0ee2636e00232c251dd65",
remote = "https://github.com/bazel-contrib/toolchains_llvm.git",
)

llvm = use_extension("@toolchains_llvm//toolchain/extensions:llvm.bzl", "llvm", dev_dependency = True)
llvm.toolchain(
Expand All @@ -131,30 +220,6 @@ git_override(
remote = "https://github.com/eclipse-score/qnx_unit_tests.git",
)

bazel_dep(name = "score_rules_imagefs", version = "0.1.0", dev_dependency = True)

imagefs = use_extension("@score_rules_imagefs//extensions:imagefs.bzl", "imagefs", dev_dependency = True)
imagefs.toolchain(
name = "score_qnx_x86_64_ifs_toolchain",
sdp_to_import = "@score_qcc_x86_64_toolchain_pkg",
sdp_version = "8.0.0",
target_cpu = "x86_64",
target_os = "qnx",
type = "ifs",
)
imagefs.toolchain(
name = "score_qnx_aarch64_ifs_toolchain",
sdp_to_import = "@score_qcc_aarch64_toolchain_pkg",
sdp_version = "8.0.0",
target_cpu = "aarch64",
target_os = "qnx",
type = "ifs",
)
use_repo(imagefs, "score_qnx_aarch64_ifs_toolchain", "score_qnx_x86_64_ifs_toolchain")

## Rust Toolchain
bazel_dep(name = "score_toolchains_rust", version = "0.10.0", dev_dependency = True)

# S-CORE crates
bazel_dep(name = "score_crates", version = "0.0.10")
git_override(
Expand Down
Loading
Loading