-
Notifications
You must be signed in to change notification settings - Fork 25
Expand file tree
/
Copy path.bazelrc
More file actions
119 lines (101 loc) · 6.17 KB
/
Copy path.bazelrc
File metadata and controls
119 lines (101 loc) · 6.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# *******************************************************************************
# Copyright (c) 2026 Contributors to the Eclipse Foundation
#
# See the NOTICE file(s) distributed with this work for additional
# information regarding copyright ownership.
#
# This program and the accompanying materials are made available under the
# terms of the Apache License Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
# *******************************************************************************
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build
build --java_language_version=17
build --tool_java_language_version=17
build --java_runtime_version=remotejdk_17
build --tool_java_runtime_version=remotejdk_17
build --credential_helper=*.qnx.com=%workspace%/scripts/internal/qnx_creds.py
# Common test flags for all platforms
test --test_output=errors
test --@score_baselibs//score/json:base_library=nlohmann
test --cxxopt=-Wno-deprecated-declarations
# Coverage configuration for C++
coverage --features=coverage
coverage --combined_report=lcov
coverage --cache_test_results=no
coverage --test_tag_filters=-no-coverage
# 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 integration tests on localhost
build:host --define config=host
# Target configuration for CPU:x86-64|OS:Linux build (do not use it in case of system toolchains!)
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-posix
build:x86_64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_unknown_linux_gnu
build:x86_64-linux --define config=x86_64-linux
# Target configuration for CPU:AArch64|OS:Linux build (do not use it in case of system toolchains!)
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-posix
build:arm64-linux --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_linux_gnu
build:arm64-linux --copt=-mno-outline-atomics
build:arm64-linux --linkopt=-latomic
# Target configuration for CPU:x86-64|OS:QNX build (do not use it in case of system toolchains!)
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-posix
build:x86_64-qnx --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_x86_64_pc_nto_qnx800
# Target configuration for CPU:AArch64|OS:QNX build (do not use it in case of system toolchains!)
build:arm64-qnx --config=stub
build:arm64-qnx --config=toolchain_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-posix
build:arm64-qnx --extra_toolchains=@score_toolchains_rust//toolchains/ferrocene:ferrocene_aarch64_unknown_nto_qnx800
# Ferrocene Rust coverage config
build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Cinstrument-coverage
build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Clink-dead-code
build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Ccodegen-units=1
build:ferrocene-coverage --@rules_rust//rust/settings:extra_rustc_flag=-Cdebuginfo=2
build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cinstrument-coverage
build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Clink-dead-code
build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Ccodegen-units=1
build:ferrocene-coverage --@rules_rust//rust/settings:extra_exec_rustc_flag=-Cdebuginfo=2
test:ferrocene-coverage --run_under=@score_tooling//coverage:llvm_profile_wrapper
build:ferrocene-coverage --remote_download_all
# to be removed
build:build_qnx8 --config=arm64-qnx
## default is a stdout logger which looks like dlt logs
## uncomment below to use score::mw::log instead of the stdout logger
# build --cxxopt=-DLC_LOG_SCORE_MW_LOG
# ==============================================================================
# Sanitizer configurations — powered by score_cpp_policies runtime infrastructure
# (wrapper, suppression files, env templates)
# ==============================================================================
# Minimal debug info (-g1) for sanitizer stack traces; stripping disabled
build:with_debug_symbols --copt=-g1
build:with_debug_symbols --strip=never
# AddressSanitizer + UndefinedBehaviorSanitizer + LeakSanitizer (recommended)
build:asan_ubsan_lsan --config=with_debug_symbols
build:asan_ubsan_lsan --copt=-fsanitize=undefined,address,leak
build:asan_ubsan_lsan --linkopt=-fsanitize=undefined,address,leak
build:asan_ubsan_lsan --platform_suffix=asan_ubsan_lsan
build:asan_ubsan_lsan --@score_cpp_policies//sanitizers/flags:sanitizer=asan_ubsan_lsan
test:asan_ubsan_lsan --run_under=@score_cpp_policies//sanitizers:wrapper
test:asan_ubsan_lsan --test_tag_filters=-no-asan,-no-lsan,-no-ubsan
test:asan_ubsan_lsan --build_tests_only
# Convenience aliases (all resolve to asan_ubsan_lsan)
build:asan --config=asan_ubsan_lsan
build:ubsan --config=asan_ubsan_lsan
build:lsan --config=asan_ubsan_lsan