@@ -24,6 +24,10 @@ build --tool_java_runtime_version=remotejdk_17
2424build --credential_helper="*.qnx.com=%workspace%/.github/tools/qnx_credential_helper.py"
2525build --experimental_retain_test_configuration_across_testonly # needed for QNX tests until bazel update to 8.6.0. See https://github.com/bazelbuild/bazel/pull/28115
2626
27+ # Ferrocene must be common compiler for HOST. To ensure metadata compatibility for proc macro crates!
28+ common --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0
29+ common --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
30+
2731build:_bl_stub --//score/json:base_library=nlohmann
2832build:_bl_stub --//score/memory/shared/flags:use_typedshmd=False
2933
@@ -43,13 +47,15 @@ build:bl-x86_64-linux --config=_bl_stub
4347build:bl-x86_64-linux --config=_bl_toolchain_common
4448build:bl-x86_64-linux --platforms=@score_bazel_platforms//:x86_64-linux-gcc_12.2.0-posix
4549build:bl-x86_64-linux --extra_toolchains=@score_gcc_x86_64_toolchain//:x86_64-linux-gcc_12.2.0
50+ build:bl-x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
4651test:bl-x86_64-linux --config=_bl_common
4752
4853# Target configuration for CPU:AArch64|OS:Linux build (do not use it in case of system toolchains!)
4954build:bl-aarch64-linux --config=_bl_stub
5055build:bl-aarch64-linux --config=_bl_toolchain_common
5156build:bl-aarch64-linux --platforms=@score_bazel_platforms//:aarch64-linux-gcc_12.2.0-posix
5257build:bl-aarch64-linux --extra_toolchains=@score_gcc_aarch64_toolchain//:aarch64-linux-gcc_12.2.0
58+ build:bl-aarch64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu
5359test:bl-aarch64-linux --config=_bl_common
5460test:bl-aarch64-linux --test_timeout=300
5561test:bl-aarch64-linux --run_under=//:qemu_aarch64
@@ -61,6 +67,7 @@ build:bl-x86_64-qnx --config=_bl_toolchain_common
6167build:bl-x86_64-qnx --platforms=@score_bazel_platforms//:x86_64-qnx-sdp_8.0.0-posix
6268build:bl-x86_64-qnx --extra_toolchains=@score_qcc_x86_64_toolchain//:x86_64-qnx-sdp_8.0.0
6369build:bl-x86_64-qnx --extra_toolchains=@score_qnx_x86_64_ifs_toolchain//:ifs-x86_64-qnx-sdp_8.0.0
70+ build:bl-x86_64-qnx --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_pc_nto_qnx800
6471test:bl-x86_64-qnx --config=_bl_common
6572test:bl-x86_64-qnx --run_under=@score_qnx_unit_tests//src:run_under_qnx
6673test:bl-x86_64-qnx --test_tag_filters=
@@ -73,12 +80,29 @@ build:bl-aarch64-qnx --incompatible_strict_action_env
7380build:bl-aarch64-qnx --platforms=@score_bazel_platforms//:aarch64-qnx-sdp_8.0.0-posix
7481build:bl-aarch64-qnx --extra_toolchains=@score_qcc_aarch64_toolchain//:aarch64-qnx-sdp_8.0.0
7582build:bl-aarch64-qnx --extra_toolchains=@score_qnx_aarch64_ifs_toolchain//:ifs-aarch64-qnx-sdp_8.0.0
83+ build:bl-aarch64-qnx --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_nto_qnx800
7684test:bl-aarch64-qnx --config=_bl_common
7785test:bl-aarch64-qnx --test_timeout=300
7886test:bl-aarch64-qnx --run_under=@score_qnx_unit_tests//src:run_under_qnx
7987test:bl-aarch64-qnx --test_tag_filters=
8088test:bl-aarch64-qnx --test_lang_filters=cc,rust
8189
90+ # Ferrocene Rust coverage config
91+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Cinstrument-coverage
92+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Clink-dead-code
93+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Ccodegen-units=1
94+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Cdebuginfo=2
95+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cinstrument-coverage
96+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Clink-dead-code
97+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Ccodegen-units=1
98+ build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebuginfo=2
99+ test:ferrocene-coverage --run_under=@score_tooling//coverage:llvm_profile_wrapper
100+
101+ # Clippy linting for Rust
102+ build --aspects=@score_rust_policies//clippy:linters.bzl%clippy_strict
103+ build --output_groups=+rules_lint_human
104+ build:lint --@aspect_rules_lint//lint:fail_on_violation=true
105+
82106# Coverage configuration for C++
83107coverage --features=coverage
84108coverage --combined_report=lcov
0 commit comments