fuchsia_clang_repository

載入特定版本的 Clang。

必須設定 cipd_tag 或 local_archive 其中一個。

如果設定了 cipd_tag,您可以選擇設定 sha256,以便驗證下載的檔案,並允許 Bazel 快取該檔案。

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

屬性

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

舉例來說,如果某個項目 "@foo": "@bar" 宣告,當此存放區依附於 @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 安裝的 bazel 外部工作區。 標籤 選用 None
local_version_file 這個 Clang 安裝版本的版本檔案,相對於工作區的選用路徑。 標籤 選用 None
sdk_root_label 已淘汰 - Fuchsia SDK 根標籤。例如:@fuchsia_sdk 標籤 選用 "@fuchsia_sdk"
sysroot_paths 依 Bazel arch 而定的 sysroot 路徑 (相對於 execroot) 字串字典 選用 {"aarch64": "external/rules_fuchsia++fuchsia_sdk_ext+fuchsia_sdk/arch/arm64/sysroot", "x86_64": "external/rules_fuchsia++fuchsia_sdk_ext+fuchsia_sdk/arch/x64/sysroot", "riscv64": "external/rules_fuchsia++fuchsia_sdk_ext+fuchsia_sdk/arch/riscv64/sysroot"}
sysroot_headers 依 Bazel arch 分類的 Sysroot 標頭檔案群組。這些檔案會加入 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 依 Bazel arch 分類的 sysroot 程式庫檔案群組。這些檔案會新增至 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