fuchsia_clang_repository

載入特定版本的 Clang。

必須設定 cipd_tag 或 local_archive。

如果設定了 cipd_tag,就可以視需要設定 sha256,驗證已下載檔案。 並允許 Bazel 快取檔案

如未設定 cipd_tag,則必須將 local_save 設為核心 IDK 的路徑 封存檔。

屬性

名稱 說明 類型 必要 預設
name 這個存放區的專屬名稱。 名稱 必要 -
repo_mapping 僅在 WORKSPACE 上下文中:從本機存放區名稱到全域存放區名稱的字典。這可讓您控制此存放區依附元件的依附元件解析作業。

舉例來說,如果有任何時間點,這個存放區依附於 @foo (例如依附於 @foo//some:target),則該存放區應實際在全域宣告的 @bar (@bar//some:target) 中解析該依附元件。

此屬性不支援 MODULE.bazel 情境 (在模組擴充功能的實作函式中叫用存放區規則時)。
字串語音輸入 選用 -
cipd_tag 要載入版本的 CIPD 代碼。 字串 選用 ""
sha256 Clang 封存檔的選用 SHA-256 雜湊值。有效金鑰為 mac 和 linux 字串語音輸入 選用 {}
local_archive 本機 clang 封存檔。 字串 選用 ""
local_path 本機 clang 安裝目錄 (相對於工作區根目錄)。 字串 選用 ""
from_workspace 連結至含有 clang 安裝的殼層外部工作區標籤。 標籤 選用 None
local_version_file 這個 clang 安裝項目版本檔案的 Workspace 相對路徑選用路徑。 標籤 選用 None
sdk_root_label 已淘汰 - Fuchsia SDK 根標籤。例如:@fuchsia_sdk 標籤 選用 "@fuchsia_sdk"
sysroot_paths Bazel arch 的 sysroot 路徑 (相對於執行根) 字串語音輸入 選用 {"aarch64": "external/fuchsia_sdk/arch/arm64/sysroot", "x86_64": "external/fuchsia_sdk/arch/x64/sysroot", "riscv64": "external/fuchsia_sdk/arch/riscv64/sysroot"}
sysroot_headers Sysroot 標頭檔案群組 (由 Bazel arch 提供)。這些會新增至 cc_toolchain 的編譯器檔案。值應為指向檔案群組的標籤,且該檔案會涵蓋必須出現在 C++ 編譯動作沙箱中的所有標頭。範例請見預設值。 字串語音輸入 選用 {"aarch64": "@fuchsia_sdk//:fuchsia-sysroot-headers-aarch64", "x86_64": "@fuchsia_sdk//:fuchsia-sysroot-headers-x86_64", "riscv64": "@fuchsia_sdk//:fuchsia-sysroot-headers-riscv64"}
sysroot_libs Sysroot 程式庫檔案群組 (使用 Bazel arch)。這些項目會新增至 cc_toolchain 的連結器檔案中。值應為指向檔案群組的標籤,且該檔案會涵蓋必須出現在 C++ 連結動作沙箱中的所有程式庫。請參閱預設值範例。 字串語音輸入 選用 {"aarch64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-aarch64", "x86_64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-x86_64", "riscv64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-riscv64"}
rules_fuchsia_root_label Fuchsia 工作區規則根標籤。例如:@fuchsia_sdk 標籤 選用 "@fuchsia_sdk"
cipd_ensure_file 使用 cipd 確保檔案可用於下載 clang。 標籤 選用 None
cipd_bin 要用來下載 SDK 的 cipd 二進位檔 標籤 選用 None

環境變數

這個存放區規則取決於下列環境變數:

  • LOCAL_FUCHSIA_PLATFORM_BUILD* LOCAL_FUCHSIA_CLANG_VERSION_FILE