Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 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
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
34 changes: 12 additions & 22 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,10 @@ build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17
build --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py

# Enable warnings and treat them as errors
# Import central S-CORE toolchain configuration
import %workspace%/score.bazelrc/score_toolchain.bazelrc

# Treat warnings as errors, except in external code
build --copt=-Wall
build --copt=-Wextra
build --copt=-Werror
Expand All @@ -46,33 +49,24 @@ import %workspace%/quality/coverage/coverage.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
build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu_miri

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 @@ -81,13 +75,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 @@ -98,9 +88,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
150 changes: 117 additions & 33 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -32,18 +32,25 @@ bazel_dep(name = "google_benchmark", version = "1.9.5", dev_dependency = True)

bazel_dep(name = "score_docs_as_code", version = "8.1.0")

bazel_dep(name = "score_bazel_platforms", version = "1.1.0", dev_dependency = True)
bazel_dep(name = "score_tooling", version = "2.2.1", 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)
bazel_dep(name = "score_process_description", version = "2.1.2", dev_dependency = True)
bazel_dep(name = "score_platform", version = "0.7.1", dev_dependency = True)

## Configure the C++ toolchain
###############################################################################
#
# 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)

## Linux Toolchains
gcc.toolchain(
name = "score_gcc_x86_64_toolchain",
target_cpu = "x86_64",
Expand All @@ -58,34 +65,135 @@ gcc.toolchain(
use_default_package = True,
version = "12.2.0",
)

## Elektobit Toolchains
gcc.toolchain(
name = "score_qcc_x86_64_toolchain",
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.0.4", 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.4",
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.4",
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",
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",
Comment thread
MaciejKaszynski marked this conversation as resolved.
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 @@ -109,30 +217,6 @@ git_override(
remote = "https://github.com/eclipse-score/qnx_unit_tests.git",
)

bazel_dep(name = "score_rules_imagefs", version = "0.0.4", 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