Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
3 changes: 3 additions & 0 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ test --test_output=errors
common --registry=https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/
common --registry=https://bcr.bazel.build

# Import toolchain bazelrc file
try-import %workspace%/score.bazelrc/score_toolchain.bazelrc

# Import custom user settings
# Can be used to enable e.g. sanitizers or other features without modifying the main .bazelrc
try-import %workspace%/user.bazelrc
169 changes: 137 additions & 32 deletions MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -14,41 +14,9 @@ module(
name = "cpp_rust_template_repository",
)

bazel_dep(name = "rules_python", version = "1.8.3", dev_dependency = True)

# Python 3.12: Required for testing infrastructure and code generation tools
PYTHON_VERSION = "3.12"

python = use_extension(
"@rules_python//python/extensions:python.bzl",
"python",
dev_dependency = True,
)
python.toolchain(
is_default = True,
python_version = PYTHON_VERSION,
)

pip = use_extension(
"@rules_python//python/extensions:pip.bzl",
"pip",
dev_dependency = True,
)
pip.parse(
envsubst = ["PIP_INDEX_URL"],
extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],
hub_name = "module_template_docs_hub_env",
python_version = PYTHON_VERSION,
requirements_lock = "@score_docs_as_code//src:requirements.txt",
)
use_repo(pip, "module_template_docs_hub_env")

# Add GoogleTest dependency
bazel_dep(name = "googletest", version = "1.17.0.bcr.2", dev_dependency = True)

# Rust rules for Bazel
bazel_dep(name = "rules_rust", version = "0.70.0")

# C/C++ rules for Bazel
bazel_dep(name = "rules_cc", version = "0.2.18")

Expand Down Expand Up @@ -84,3 +52,140 @@ single_version_override(
module_name = "grpc-java",
version = "1.70.0",
)

###############################################################################
#
# S-CORE Toolchains (DO NOT MODIFY)
#
###############################################################################
bazel_dep(name = "score_bazel_cpp_toolchains", version = "0.5.2")
bazel_dep(name = "score_bazel_platforms", version = "0.1.2")

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

## Linux Toolchains
gcc.toolchain(
name = "score_gcc_x86_64_toolchain",
target_cpu = "x86_64",
target_os = "linux",
use_default_package = True,
version = "12.2.0",
)

## Elektobit Toolchains
gcc.toolchain(
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 = "linux",
use_default_package = True,
)
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_x86_64_toolchain",
)

# Rust Toolchains
bazel_dep(name = "rules_rust", version = "0.68.1-score")

bazel_dep(name = "score_toolchains_rust", version = "0.8.0", dev_dependency = True)

ferrocene = use_extension(
"@score_toolchains_rust//extensions:ferrocene_toolchain_ext.bzl",
"ferrocene_toolchain_ext",
)
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
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.0",
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.0",
target_cpu = "x86_64",
target_os = "qnx",
use_default_package = True,
version = "12.2.0",
)
use_repo(
qcc,
"score_qcc_aarch64_toolchain",
"score_qcc_x86_64_toolchain",
"score_qcc_x86_64_toolchain_pkg",
)

# Python Toolchains
bazel_dep(name = "rules_python", version = "1.8.3")
bazel_dep(name = "aspect_rules_py", version = "1.5.2")

PYTHON_VERSION = "3.12"

python = use_extension("@rules_python//python/extensions:python.bzl", "python", dev_dependency = True)
python.toolchain(
configure_coverage_tool = True,
is_default = True,
python_version = PYTHON_VERSION,
)

pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip", dev_dependency = True)
pip.parse(
envsubst = ["PIP_INDEX_URL"],
extra_pip_args = ["--index-url=${PIP_INDEX_URL:-https://pypi.org/simple/}"],
hub_name = "module_template_docs_hub_env",
python_version = PYTHON_VERSION,
requirements_lock = "@score_docs_as_code//src:requirements.txt",
)
use_repo(pip, "module_template_docs_hub_env")
Loading
Loading