載入特定版本的 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