加载特定版本的 clang。
必须设置 cipd_tag 或 local_archive。
如果设置了 cipd_tag,则可以选择设置 sha256,以验证下载的文件并允许 Bazel 缓存该文件。
如果未设置 cipd_tag,则必须将 local_archive 设置为核心 IDK 归档文件的路径。
属性
| 名称 | 说明 | 类型 | 强制 | 默认 |
|---|---|---|---|---|
| 名称 | 此代码库的唯一名称。 | 名称 | 必需 | - |
| repo_mapping | 仅在 WORKSPACE 上下文中:从本地代码库名称到全局代码库名称的字典。这样,您就可以控制此代码库的依赖项的工作区依赖项解析。例如,条目 "@foo": "@bar" 声明,每当此代码库依赖于 @foo(例如依赖于 @foo//some:target)时,它实际上应在全局声明的 @bar (@bar//some:target) 中解析该依赖项。MODULE.bazel 上下文(在模块扩展程序的实现函数中调用代码库规则时)不支持此属性。 |
String Dict | 可选 | - |
| cipd_tag | 要加载的版本的 CIPD 标记。 | String | 可选 | "" |
| sha256 | Clang 归档的可选 SHA-256 哈希。有效键为 linux | String Dict | 可选 | {} |
| local_archive | 本地 clang 归档文件。 | String | 可选 | "" |
| local_path | 本地 clang 安装路径、完整标签或相对于工作区目录的路径 | String | 可选 | "" |
| from_workspace | 指向包含 clang 安装的 bazel 外部工作区的任何标签。 | 标签 | 可选 | None |
| local_version_file | 此 clang 安装的版本文件的相对于工作区的路径(可选)。 | 标签 | 可选 | None |
| sysroot_paths | sysroot 路径(按 Bazel 架构,相对于 execroot) | String Dict | 可选 | {"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++ 编译操作沙盒中的所有头文件。如需查看示例,请参阅默认值。 | String Dict | 可选 | {"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 的链接器文件中。值应为指向文件组的标签,这些文件组涵盖必须出现在 C++ 链接操作沙盒中的所有库。如需查看示例,请参阅默认值。 | String Dict | 可选 | {"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 树内 build,该 build 还会使用无法依赖 SDK sysroot 的其他 Fuchsia 专用工具链生成 Fuchsia 二进制文件。 | 标签列表 | 可选 | [] |
| cipd_ensure_file | 用于下载 clang 的 cipd ensure 文件。 | 标签 | 可选 | None |
| cipd_bin | 将用于提取 cipd_ensure_file 的 cipd 二进制文件。 |
标签 | 可选 | None |
环境变量
此代码库规则依赖于以下环境变量:
LOCAL_FUCHSIA_PLATFORM_BUILD*LOCAL_FUCHSIA_CLANG_VERSION_FILE