PHP-EXT-SOURCE-R3.ECLASS

章节: eclass-manpages (5)
更新时间: 2024 年 11 月
索引 返回主内容

名称

php-ext-source-r3.eclass - 编译并安装独立的 PHP 扩展。

描述

用于编译和安装独立 PHP 扩展的统一接口。

支持的 EAPIS

7 8

函数

php-ext-source-r3_src_prepare
运行默认的 src_prepare() 以支持 PATCHES/eapply_user()(可选),并为每个 PHP 槽复制源代码,初始化环境,并调用 php-ext-source-r3_phpize()。
php-ext-source-r3_phpize
受 PHP_EXT_SKIP_PHPIZE 影响,此函数运行 phpize 和 autoreconf,以避免警告。
php-ext-source-r3_src_configure
处理 PHP 扩展(模块)的标准配置。
php-ext-source-r3_src_compile
编译标准独立 PHP 扩展。
php-ext-source-r3_src_install
安装标准独立 PHP 扩展。使用 einstalldocs() 支持 DOCS 变量/数组。
php-ext-source-r3_src_test
运行独立 PHP 扩展附带的测试。Phpize 将生成一个 run-tests.php 文件,由 `make test` 执行。我们只需要强制测试套件在非交互模式下运行。
php_get_slots
获取 ebuild 的 USE_PHP 和用户的 PHP_TARGETS 中包含的 PHP 槽列表。
php_init_slot_env <slot>
接受一个槽名称,并初始化一些全局变量,使其值对应于该槽。例如,它设置了 "php" 和 "phpize" 二进制文件的路径,这些路径在每个槽中都不同。此函数旨在在循环遍历从 php_get_slots() 获得的槽列表时调用。

调用此函数将更改工作目录到给定槽的临时构建目录。

php-ext-source-r3_createinifiles
为每个启用的槽和 SAPI 构建 INI 文件。
php-ext-source-r3_addtoinifiles <设置或节名称> [设置值] [消息]
向此扩展安装的每个 php.ini 文件添加设置。您也可以添加新的 [节] - 请参阅下面的示例。

Add some settings for the extension:

php-ext-source-r3_addtoinifiles "zend_optimizer.optimization_level" "15"
php-ext-source-r3_addtoinifiles "zend_optimizer.enable_loader" "0"
php-ext-source-r3_addtoinifiles "zend_optimizer.disable_licensing" "0"

Adding values to a section in php.ini file installed by the extension:

php-ext-source-r3_addtoinifiles "[Debugger]"
php-ext-source-r3_addtoinifiles "debugger.enabled" "on"
php-ext-source-r3_addtoinifiles "debugger.profiler_enabled" "on"

ECLASS 变量

PHP_EXT_NAME (必需) (在继承之前设置)
扩展名称。必须设置此项,否则 eclass 会停止。仅由 php-ext-pecl-r3.eclass 自动设置,因此除非您的 ebuild 继承了该 eclass,否则您必须在继承之前手动设置此项。
PHP_EXT_INI = "yes"
控制是否为扩展添加一行到 php.ini。默认为 "yes",大多数情况下不应该更改。
PHP_EXT_ZENDEXT = "no"
控制扩展是否为 ZendEngine 扩展。默认为 "no"。如果您不知道这是什么,则不需要它。
USE_PHP (必需)
列出扩展兼容的 PHP 槽。例如
USE_PHP="php5-6 php7-0"
PHP_EXT_OPTIONAL_USE
如果设置,则此 eclass 添加的所有依赖项都将以 USE=${PHP_EXT_OPTIONAL_USE} 为条件。当 ebuild 必须无条件地继承此 eclass,但仅在(例如)用户使用 USE=php 时真正使用它时,需要使用此项。
PHP_EXT_S = "${S}"
PHP 扩展的临时构建目录在源包中的相对位置。这对捆绑 PHP 扩展的软件包很有用。默认为 ${S}。
PHP_EXT_SAPIS = "apache2 cli cgi fpm embed phpdbg"
我们将为其安装此扩展的 SAPI 列表。以前称为 PHPSAPILIST。默认情况下包括树中当前使用的所有 SAPI。
PHP_INI_NAME ?= ${PHP_EXT_NAME}
保存的 ini 文件的可选文件名,不包括 ini 扩展名。这允许对扩展进行排序,以便一个扩展在另一个扩展之前或之后加载。默认为 PHP_EXT_NAME。例如(生成 40-foo.ini 文件)
PHP_INI_NAME="40-foo"
PHP_EXT_NEEDED_USE (在继承之前设置)
要附加到每个作为有效 USE 依赖项字符串选择的 PHP 目标的 USE 标志列表。该值应该对所有目标有效,因此可能需要 USE 默认值。例如
PHP_EXT_NEEDED_USE="mysql?,pdo,pcre(+)"

PHP 依赖项将导致

php_targets_php7-0? ( dev-lang/php:7.0[mysql?,pdo,pcre(+)] )
PHP_EXT_SKIP_PHPIZE
默认情况下,我们在 php-ext-source-r3_src_prepare() 中运行 "phpize"。如果不想运行 phpize(以及之后必要的 autoreconf),请在您的 ebuild 中设置 PHP_EXT_SKIP_PHPIZE="yes"。
PHP_EXT_SKIP_PATCHES
默认情况下,我们对 PHP_EXT_S 运行 default_src_prepare。如果要自己应用补丁,请在您的 ebuild 中设置 PHP_EXT_SKIP_PATCHES="yes"。
PHP_EXT_ECONF_ARGS
在 ebuild 中设置此项以将额外的配置选项传递给 econf。以前称为 my_conf。支持字符串或 --flag=value 参数数组。

维护者

Gentoo PHP 团队 <[email protected]>

报告 Bug

请通过 https://bugs.gentoo.org/ 报告 Bug。

文件

php-ext-source-r3.eclass

另请参阅

ebuild(5)
https://gitweb.gentoo.org/repo/gentoo.git/log/eclass/php-ext-source-r3.eclass


索引

名称
描述
支持的 EAPIS
函数
ECLASS 变量
维护者
报告 Bug
文件
另请参阅

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