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 歸檔的 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 架構的 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 架構分類的 Sysroot 程式庫檔案群組。這些檔案會新增至 cc_toolchain 的連結器檔案。值應為指向 filegroup 的標籤,涵蓋 C++ 連結動作沙箱中必須顯示的所有程式庫。請參閱預設值範例。 字串字典 選用 {"aarch64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-aarch64", "x86_64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-x86_64", "riscv64": "@fuchsia_sdk//:fuchsia-sysroot-libraries-riscv64"}
extra_target_compatible_with 工具鍊必須符合的額外平台限制值清單 (選用)。這只適用於 Fuchsia 樹狀結構內建構作業,該作業也會使用無法依賴 SDK sysroot 的其他 Fuchsia 專用工具鍊,產生 Fuchsia 二進位檔。 標籤清單 選用 []
rules_fuchsia_root_label 紫紅色工作區規則的根標籤,例如:@fuchsia_sdk 標籤 選用 "@fuchsia_sdk"
cipd_ensure_file 這是用來下載 Clang 的 cipd 確保檔案。 標籤 選用 None
cipd_bin 用於下載 SDK 的 cipd 二進位檔 標籤 選用 None

環境變數

這項存放區規則依據下列環境變數:

  • LOCAL_FUCHSIA_PLATFORM_BUILD* LOCAL_FUCHSIA_CLANG_VERSION_FILE