From 55afdec5d2821f11911e2706f6a3805341bf9692 Mon Sep 17 00:00:00 2001 From: Nikola Radakovic Date: Thu, 23 Jul 2026 11:20:16 +0200 Subject: [PATCH] Temp commit 1 --- extensions/gcc.bzl | 29 ++++++++++++++++++++++------- tests/.bazelrc | 7 +++++++ tests/MODULE.bazel | 24 ++++++++++++++++++++++++ tests/MODULE.bazel.lock | 41 ++++++++++++++++++++++++++++++++++++----- 4 files changed, 89 insertions(+), 12 deletions(-) diff --git a/extensions/gcc.bzl b/extensions/gcc.bzl index ae8b330..2260193 100644 --- a/extensions/gcc.bzl +++ b/extensions/gcc.bzl @@ -15,6 +15,7 @@ """ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +load("@bazel_tools//tools/build_defs/repo:local.bzl", "new_local_repository") load("@score_bazel_cpp_toolchains//packages:version_matrix.bzl", "VERSION_MATRIX") load("@score_bazel_cpp_toolchains//rules:common.bzl", "SDP_VERSION_MAPPING") load("@score_bazel_cpp_toolchains//rules:gcc.bzl", "gcc_toolchain") @@ -54,6 +55,11 @@ _attrs_sdp = { default = "", doc = "Url to the toolchain archive.", ), + "path": attr.string( + mandatory = False, + default = "", + doc = "Path to the local toolchain archive.", + ), } # GCC interface API for toolchain tag class @@ -188,6 +194,7 @@ def _get_packages(tags): "sha256": tag.sha256, "strip_prefix": tag.strip_prefix, "url": tag.url, + "path": tag.path, }) return packages @@ -304,6 +311,7 @@ def _create_and_link_sdp(toolchain_info): "sha256": matrix["sha256"], "strip_prefix": matrix["strip_prefix"], "url": matrix["url"], + "path": "", } def _resolve_identifier(toolchain_info): @@ -385,13 +393,20 @@ def _impl(mctx): """ toolchains, archives = _get_info(mctx) for archive_info in archives: - http_archive( - name = archive_info["name"], - urls = [archive_info["url"]], - build_file = archive_info["build_file"], - sha256 = archive_info["sha256"], - strip_prefix = archive_info["strip_prefix"], - ) + if archive_info["path"] != "": + new_local_repository( + name = archive_info["name"], + build_file = archive_info["build_file"], + path = archive_info["path"], + ) + else: + http_archive( + name = archive_info["name"], + urls = [archive_info["url"]], + build_file = archive_info["build_file"], + sha256 = archive_info["sha256"], + strip_prefix = archive_info["strip_prefix"], + ) for toolchain_info in toolchains: gcc_toolchain( diff --git a/tests/.bazelrc b/tests/.bazelrc index 5894835..bd105e2 100644 --- a/tests/.bazelrc +++ b/tests/.bazelrc @@ -89,3 +89,10 @@ build:x86_64-linux-autosd10 --extra_toolchains=@score_autosd_10_toolchain//:x86_ build:aarch64-linux-ebclfsa --config=shared build:aarch64-linux-ebclfsa --platforms=@score_bazel_platforms//:aarch64-linux-sdk_0.1.0-ebclfsa build:aarch64-linux-ebclfsa --extra_toolchains=@score_ebclfsa_toolchain//:aarch64-linux-sdk_0.1.0-ebclfsa + +# ------------------------------------------------------------------------------- +# Config dedicated to local toolchain testing CPU:x86_64 and OS:linux +# ------------------------------------------------------------------------------- +# build:x86_64-linux-local --config=shared +# build:x86_64-linux-local --host_platform=@score_bazel_platforms//:x86_64-linux-gcc_15.3.0-posix +# build:x86_64-linux-local --extra_toolchains=@score_gcc_toolchain_local//:x86_64-linux-gcc_15.3.0 diff --git a/tests/MODULE.bazel b/tests/MODULE.bazel index 11bce18..6aa618b 100644 --- a/tests/MODULE.bazel +++ b/tests/MODULE.bazel @@ -32,6 +32,12 @@ bazel_dep(name = "bazel_skylib", version = "1.9.0") # ******************************************************************************* bazel_dep(name = "platforms", version = "1.1.0") bazel_dep(name = "score_bazel_platforms", version = "0.1.2") +git_override( + name = "score_bazel_platforms", + remote = "https://github.com/eclipse-score/bazel_platforms.git", + commit = "6c45a8f2a973fe396c392f727d9dae510692eb88", +) + # ******************************************************************************* # C++ Rules for Bazel @@ -91,6 +97,22 @@ gcc.toolchain( version = "12.2.0", ) +# ******************************************************************************* +# Setting default GCC - local (CPU:x86_64|OS:Linux|V:12.2.0|ES:posix) +# ******************************************************************************* +# gcc.sdp( +# name = "gcc_local_pkg", +# build_file = "@score_bazel_cpp_toolchains//packages/linux/x86_64/gcc/12.2.0:gcc.BUILD", +# path = "", +# ) +# gcc.toolchain( +# name = "score_gcc_toolchain_local", +# target_cpu = "x86_64", +# target_os = "linux", +# sdp_to_link = "gcc_local_pkg", +# version = "15.3.0", +# ) + # ******************************************************************************* # Setting default GCC (CPU:aarch64|OS:Linux|V:12.2.0|ES:posix) # ******************************************************************************* @@ -179,6 +201,8 @@ use_repo( "score_qcc_arm_toolchain_pkg", "score_qcc_toolchain", "score_qcc_toolchain_pkg", + # "score_gcc_toolchain_local", + # "gcc_local_pkg", ) # ******************************************************************************* diff --git a/tests/MODULE.bazel.lock b/tests/MODULE.bazel.lock index 20575b0..0bd210b 100644 --- a/tests/MODULE.bazel.lock +++ b/tests/MODULE.bazel.lock @@ -536,9 +536,6 @@ "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.4.1/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.5.0/MODULE.bazel": "not found", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/rules_shell/0.6.1/MODULE.bazel": "not found", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.1/MODULE.bazel": "236e5bdff6f2d6de6f96cc4f5f4b1bf2cd6137547ce279668a2dd4c54cd4236c", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/MODULE.bazel": "d1889bf36241521c5d5c401aaf1e98242a60f9cab9d223f8190e5d7087956e83", - "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_bazel_platforms/0.1.2/source.json": "549c18a968c1ab76135ad38fd15981fcc04d377a62f20e2e5e0b5faa9de2b01d", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.2.2/MODULE.bazel": "dc36d9c35543db918c3fb5b93a8e684431f56c7c784cf2a1b90f35802a373c98", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_cr_checker/0.3.1/MODULE.bazel": "f49e037d7fbc0b2a8b2734fc6b47334e8cc8589ca7a5aa0f3ccca85cc5f79fac", "https://raw.githubusercontent.com/eclipse-score/bazel_registry/main/modules/score_dash_license_checker/0.1.1/MODULE.bazel": "76681dbd2d45b5c540869a2337174086c56c54953aab1d02cd878b59d31d13a5", @@ -1368,12 +1365,19 @@ }, "@@score_bazel_cpp_toolchains+//extensions:gcc.bzl%gcc": { "general": { - "bzlTransitiveDigest": "yw9Re6dZy5Gs5l3byDyzu4qgBXBSZQbNHWm89ygsTPA=", - "usagesDigest": "1UfIz7yPBC2LyOHghQlB2yltcJXkkGH7NQITjVhleH8=", + "bzlTransitiveDigest": "yaqPt7McFs9yX0bALwRhwb20cno0gVhEH32J82tVkAg=", + "usagesDigest": "LbKP+4YBW3A6v4GKoWW7A/l1WsgCqkGSQPw2ax11J2g=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, "envVariables": {}, "generatedRepoSpecs": { + "gcc_local_pkg": { + "repoRuleId": "@@bazel_tools//tools/build_defs/repo:local.bzl%new_local_repository", + "attributes": { + "build_file": "@@score_bazel_cpp_toolchains+//packages/linux/x86_64/gcc/12.2.0:gcc.BUILD", + "path": "/home/q483110/work/toolchains_gcc_packages/output/x86_64-unknown-linux-gnu_gcc15/x86_64-unknown-linux-gnu" + } + }, "my_toolchain_pkg": { "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", "attributes": { @@ -1516,6 +1520,33 @@ "use_base_constraints_only": false } }, + "score_gcc_toolchain_local": { + "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", + "attributes": { + "extra_compile_flags": [], + "extra_c_compile_flags": [], + "extra_cxx_compile_flags": [], + "extra_known_features": [], + "extra_enabled_features": [], + "extra_link_flags": [], + "license_info_variable": "", + "license_info_value": "", + "license_path": "/opt/score_qnx/license/licenses", + "sdk_version": "", + "sdp_version": "", + "tc_compiler_library_search_paths": [], + "tc_cpu": "x86_64", + "tc_identifier": "gcc_15.3.0", + "tc_os": "linux", + "tc_pkg_repo": "gcc_local_pkg", + "tc_system_toolchain": false, + "tc_runtime_ecosystem": "", + "gcc_version": "15.3.0", + "cc_toolchain_config": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_config.bzl.template", + "cc_toolchain_flags": "@@score_bazel_cpp_toolchains+//templates/linux:cc_toolchain_flags.bzl.template", + "use_base_constraints_only": false + } + }, "score_aarch64_gcc_toolchain": { "repoRuleId": "@@score_bazel_cpp_toolchains+//rules:gcc.bzl%gcc_toolchain", "attributes": {