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


索引

名称
描述
支持的 EAPIS
传递提供的 ECLASSES
函数
ECLASS 变量
作者
维护者
报告错误
文件
另请参见

本文件由 man2html 使用手册页创建。
时间:2024 年 11 月 12 日格林尼治标准时间 03:27:00