LLVM.ORG.ECLASS
节:eclass-manpages (5)更新:2024 年 11 月
索引 返回主内容
名称
llvm.org.eclass - 用于获取和解压缩 llvm.org 项目的通用代码描述
llvm.org eclass 提供用于获取和解压缩 llvm.org 项目树部分的通用代码。它负责处理 git 检出和源代码包,使合并实时和发布 ebuild 的代码成为可能,并有效减少打包新发布版本/RC/分支所需的工作量。为了使用此 eclass,ebuild 需要声明 LLVM_COMPONENTS 然后调用 llvm.org_set_globals。如果测试需要其他组件,则需要在 LLVM_TEST_COMPONENTS 中列出它们。eclass 导出 src_unpack() 阶段的实现。
示例
inherit llvm.org LLVM_COMPONENTS=( lld ) LLVM_TEST_COMPONENTS=( llvm/utils/lit ) llvm.org_set_globals
支持的 EAPIS
7 8传递提供的 ECLASSES
git-r3函数
- llvm.org_set_globals
- 设置全局变量。此函数必须在设置 eclass 使用的 LLVM_* 变量之后调用。
- llvm.org_src_unpack
- 解压缩或检出请求的 LLVM 组件。
- llvm.org_src_prepare
- 根据继承的 eclass 调用适当的 src_prepare(cmake 或默认)。确保在顶级 ${WORKDIR} 中应用 PATCHES 和用户补丁,以便来自 llvm-project 存储库的补丁与 -p1 正确配合。
- get_lit_flags
- 以 CMake 列表形式(用分号分隔)获取运行测试的标准推荐 lit 标志。
- llvm_are_manpages_built
- 如果将从源代码构建手册页,则返回 true (0),如果将使用预安装的手册页,则返回 false (1)。
- llvm_install_manpages
- 如果可用,则安装预生成的 手册页。否则执行无操作。
ECLASS 变量
- LLVM_MAJOR = $(ver_cut 1) (由 ECLASS 生成)
- 主 LLVM 版本。
- LLVM_VERSION = $(ver_cut 1-3) (由 ECLASS 生成)
- 不带后缀或 .9999 的完整 3 部分 LLVM 版本。
- LLVM_COMPONENTS (必需)
- 无条件需要的组件列表。指定为相对于 llvm-project git 的路径的 bash 数组。自动为包发布版本转换。
指定的第一个路径用于构建默认的 S。
- LLVM_TEST_COMPONENTS
- 测试需要的额外组件列表。
- LLVM_MANPAGES
- 在通过 Sphinx 构建手册页的 ebuild 中设置为非空值。eclass 将包含对 dev-python/sphinx 的依赖项,或根据软件包版本拉取预生成的手册页包。
- LLVM_PATCHSET
- LLVM 补丁集版本。如果未设置,则不使用补丁集。
- LLVM_USE_TARGETS
- 添加 LLVM_TARGETS 标志。支持以下值
- provide - 此软件包提供 LLVM 目标。USE 标志
和 REQUIRED_USE 将被添加,但没有依赖关系。- llvm - 此软件包使用来自 LLVM 的目标。RDEPEND+DEPEND
将被添加,以匹配具有请求标志的 sys-devel/llvm 版本。
被添加。请注意,您仍然需要将启用的目标传递给构建系统,通常从 ${LLVM_TARGETS}(通过 USE_EXPAND)获取它们。
- ALL_LLVM_EXPERIMENTAL_TARGETS (由 ECLASS 生成)
- 此 LLVM 版本中可用的所有 LLVM 实验性目标的完整列表。该值取决于 ${PV}。
- ALL_LLVM_PRODUCTION_TARGETS (由 ECLASS 生成)
- 此 LLVM 版本中可用的所有 LLVM 生产就绪目标的完整列表。该值取决于 ${PV}。
- ALL_LLVM_TARGET_FLAGS (由 ECLASS 生成)
- 此 LLVM 版本中所有 LLVM 目标的 USE 标志列表。该值取决于 ${PV}。
- LLVM_SOABI (由 ECLASS 生成)
- LLVM dylib 的当前 ABI 版本,适合用作子槽。
- LIT_JOBS (用户变量)
- 同时运行的测试作业数。如果未设置,则默认为 MAKEOPTS 中的“-j”。如果未找到,则默认为 nproc。
作者
Michał Górny <[email protected]>维护者
Michał Górny <[email protected]>报告错误
请通过 https://bugs.gentoo.org/ 报告错误。文件
llvm.org.eclass另请参见
ebuild(5)https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/llvm.org.eclass
索引
本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林尼治标准时间 03:27:00