Changeset View
Changeset View
Standalone View
Standalone View
Mk/Uses/php.mk
Show All 10 Lines | |||||
# - zend : Use to build, install and register a Zend extension. | # - zend : Use to build, install and register a Zend extension. | ||||
# - build : Set PHP also as a build dependency. | # - build : Set PHP also as a build dependency. | ||||
# - cli : Want the CLI version of PHP. | # - cli : Want the CLI version of PHP. | ||||
# - cgi : Want the CGI version of PHP. | # - cgi : Want the CGI version of PHP. | ||||
# - mod : Want the Apache Module for PHP. | # - mod : Want the Apache Module for PHP. | ||||
# - web : Want the Apache Module or the CGI version of PHP. | # - web : Want the Apache Module or the CGI version of PHP. | ||||
# - embed : Want the embedded library version of PHP. | # - embed : Want the embedded library version of PHP. | ||||
# - pecl : Fetches from PECL. | # - pecl : Fetches from PECL. | ||||
# - flavors : Generates flavors for supported versions. | |||||
# (implied by phpize,ext,zend,pecl) | |||||
# - noflavors: Prevents generation of flavor. | |||||
# - optsuffix: Adds a -phpXY PKGNAMESUFFIX when the current php is not | |||||
# the default one. | |||||
# | # | ||||
# If the port requires a predefined set of PHP extensions, they can be | # If the port requires a predefined set of PHP extensions, they can be | ||||
# listed in this way: | # listed in this way: | ||||
# | # | ||||
# USE_PHP= ext1 ext2 ext3 | # USE_PHP= ext1 ext2 ext3 | ||||
# | # | ||||
# PHP and Zend extensions built with :ext and :zend are automatically enabled | # PHP and Zend extensions built with :ext and :zend are automatically enabled | ||||
# when the port is installed. Each port creates a PHP_EXT_INI_FILE file and | # when the port is installed. Each port creates a PHP_EXT_INI_FILE file and | ||||
Show All 11 Lines | |||||
# For example: | # For example: | ||||
# | # | ||||
# USES= php:ext | # USES= php:ext | ||||
# USE_PHP= xml wddx | # USE_PHP= xml wddx | ||||
# PHP_MOD_PRIO= 40 | # PHP_MOD_PRIO= 40 | ||||
# | # | ||||
# The port can set these options in its Makefile before bsd.port.pre.mk: | # The port can set these options in its Makefile before bsd.port.pre.mk: | ||||
# | # | ||||
# DEFAULT_PHP_VER=N - Use PHP version N if PHP is not yet installed. | |||||
# IGNORE_WITH_PHP=N - The port doesn't work with PHP version N. | # IGNORE_WITH_PHP=N - The port doesn't work with PHP version N. | ||||
# | # | ||||
# You may combine multiple WANT_PHP_* knobs. | # You may combine multiple WANT_PHP_* knobs. | ||||
# Don't specify any WANT_PHP_* knob if your port will work with every PHP SAPI. | # Don't specify any WANT_PHP_* knob if your port will work with every PHP SAPI. | ||||
# | # | ||||
# If you are building PHP-based ports in poudriere(8) with ZTS enabled, | # If you are building PHP-based ports in poudriere(8) with ZTS enabled, | ||||
# add WITH_MPM=event to /etc/make.conf to prevent build failures. | # add WITH_MPM=event to /etc/make.conf to prevent build failures. | ||||
.if !defined(_INCLUDE_USES_PHP_MK) | .if !defined(_INCLUDE_USES_PHP_MK) | ||||
PHP_Include_MAINTAINER= ale@FreeBSD.org | PHP_Include_MAINTAINER= ale@FreeBSD.org | ||||
_INCLUDE_USES_PHP_MK= yes | _INCLUDE_USES_PHP_MK= yes | ||||
. if defined(DEFAULT_PHP_VER) | |||||
WARNING+= "DEFAULT_PHP_VER is defined, consider using DEFAULT_VERSIONS=php=${DEFAULT_PHP_VER} instead" | |||||
. endif | |||||
. if defined(USE_PHPIZE) && empty(php_ARGS:Mphpize) | . if defined(USE_PHPIZE) && empty(php_ARGS:Mphpize) | ||||
php_ARGS+= phpize | php_ARGS+= phpize | ||||
. endif | . endif | ||||
. if defined(WANT_PHP_CLI) && empty(php_ARGS:Mcli) | . if defined(WANT_PHP_CLI) && empty(php_ARGS:Mcli) | ||||
php_ARGS+= cli | php_ARGS+= cli | ||||
. endif | . endif | ||||
. if defined(WANT_PHP_CGI) && empty(php_ARGS:Mcgi) | . if defined(WANT_PHP_CGI) && empty(php_ARGS:Mcgi) | ||||
php_ARGS+= cgi | php_ARGS+= cgi | ||||
. endif | . endif | ||||
. if defined(WANT_PHP_MOD) && empty(php_ARGS:Mmod) | . if defined(WANT_PHP_MOD) && empty(php_ARGS:Mmod) | ||||
php_ARGS+= mod | php_ARGS+= mod | ||||
. endif | . endif | ||||
. if defined(WANT_PHP_WEB) && empty(php_ARGS:Mweb) | . if defined(WANT_PHP_WEB) && empty(php_ARGS:Mweb) | ||||
php_ARGS+= web | php_ARGS+= web | ||||
. endif | . endif | ||||
. if defined(WANT_PHP_EMB) && empty(php_ARGS:Membed) | . if defined(WANT_PHP_EMB) && empty(php_ARGS:Membed) | ||||
php_ARGS+= embed | php_ARGS+= embed | ||||
. endif | . endif | ||||
. if ${php_ARGS:Mbuild} && ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} ) | . if ${php_ARGS:Mbuild} && ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} ) | ||||
DEV_WARNING+= "USES=php:build is included in USES=php:phpize, USES=php:ext, and USES=php:zend, so it is not needed" | DEV_WARNING+= "USES=php:build is included in USES=php:phpize, USES=php:ext, and USES=php:zend, so it is not needed" | ||||
. endif | . endif | ||||
. if ${php_ARGS:Mflavors} && ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} || ${php_ARGS:Mpecl} ) | |||||
DEV_WARNINGS+= "USES=php:flavors is included in phpize, ext, zend and pecl, so it is not needed." | |||||
. endif | |||||
. if ${php_ARGS:Mphpize} && ( ${php_ARGS:Mext} || ${php_ARGS:Mzend} ) | . if ${php_ARGS:Mphpize} && ( ${php_ARGS:Mext} || ${php_ARGS:Mzend} ) | ||||
DEV_WARNING+= "USES=php:phpize is included in USES=php:ext and USES=php:zend, so it is not needed" | DEV_WARNING+= "USES=php:phpize is included in USES=php:ext and USES=php:zend, so it is not needed" | ||||
. endif | . endif | ||||
. if ${php_ARGS:Mext} && ${php_ARGS:Mzend} | . if ${php_ARGS:Mext} && ${php_ARGS:Mzend} | ||||
DEV_WARNING+= "USES=php:ext is included in USES=php:zend, so it is not needed" | DEV_WARNING+= "USES=php:ext is included in USES=php:zend, so it is not needed" | ||||
. endif | . endif | ||||
. if ${php_ARGS:Mext} && ${php_ARGS:Mpecl} | . if ${php_ARGS:Mext} && ${php_ARGS:Mpecl} | ||||
DEV_WARNING+= "USES=php:ext is included in USES=php:pecl, so it is not needed" | DEV_WARNING+= "USES=php:ext is included in USES=php:pecl, so it is not needed" | ||||
. endif | . endif | ||||
. if ( ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} || ${php_ARGS:Mpecl} ) && !${php_ARGS:Mnoflavors} | |||||
php_ARGS+= flavors | |||||
. endif | |||||
. if ${php_ARGS:Mnoflavors} && ${php_ARGS:Mflavors} | |||||
php_ARGS:= ${php_ARGS:Nflavors} | |||||
. endif | |||||
. if ${php_ARGS:Mpecl} | . if ${php_ARGS:Mpecl} | ||||
php_ARGS+= ext | php_ARGS+= ext | ||||
EXTRACT_SUFX= .tgz | EXTRACT_SUFX= .tgz | ||||
MASTER_SITES= http://pecl.php.net/get/ | MASTER_SITES= http://pecl.php.net/get/ | ||||
PKGNAMEPREFIX= pecl- | PKGNAMEPREFIX= pecl- | ||||
DIST_SUBDIR= PECL | DIST_SUBDIR= PECL | ||||
tz: I don't understand the new conditional. Why is it used here? | |||||
Done Inline ActionsBecause if a pecl port USE_GITHUB to fetch their distfile, they can still USES=php:pecl to get the right suffix and DIST_SUBDIR. mat: Because if a pecl port USE_GITHUB to fetch their distfile, they can still USES=php:pecl to get… | |||||
. endif | . endif | ||||
PHPBASE?= ${LOCALBASE} | PHPBASE?= ${LOCALBASE} | ||||
. if exists(${PHPBASE}/etc/php.conf) | |||||
_ALL_PHP_VERSIONS= 56 70 71 72 | |||||
DEFAULT_PHP_VER?= ${PHP_DEFAULT:S/.//} | |||||
_ALL_FLAVOR_VERSIONS= ${DEFAULT_PHP_VER} ${_ALL_PHP_VERSIONS:N${DEFAULT_PHP_VER}} | |||||
. if ${php_ARGS:Mflavors} | |||||
. if empty(FLAVORS) | |||||
. if defined(IGNORE_WITH_PHP) | |||||
. for _v in ${_ALL_FLAVOR_VERSIONS} | |||||
. if empty(IGNORE_WITH_PHP:M${_v}) | |||||
FLAVORS+= php${_v} | |||||
. endif | |||||
. endfor | |||||
. else | |||||
FLAVORS= ${_ALL_FLAVOR_VERSIONS:S/^/php/} | |||||
. endif | |||||
. endif | |||||
. if empty(FLAVOR) | |||||
FLAVOR= ${FLAVORS:[1]} | |||||
. endif | |||||
. if ${php_ARGS:Moptsuffix} && ${FLAVOR} != ${FLAVORS:[1]} | |||||
PKGNAMESUFFIX= ${PHP_PKGNAMESUFFIX} | |||||
. endif | |||||
. endif | |||||
. if ${FLAVOR:Mphp[0-9][0-9]} | |||||
PHP_VER= ${FLAVOR:S/^php//} | |||||
. endif | |||||
. if exists(${PHPBASE}/etc/php.conf) && !defined(PHP_VER) | |||||
.include "${PHPBASE}/etc/php.conf" | .include "${PHPBASE}/etc/php.conf" | ||||
. if !defined(PHP_EXT_DIR) | . if !defined(PHP_EXT_DIR) | ||||
PHP_EXT_DIR!= ${PHPBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${PHPBASE}/lib/php/\(.*\),\1,p' | PHP_EXT_DIR!= ${PHPBASE}/bin/php-config --extension-dir | ${SED} -ne 's,^${PHPBASE}/lib/php/\(.*\),\1,p' | ||||
. endif | . endif | ||||
. else | . else | ||||
DEFAULT_PHP_VER?= ${PHP_DEFAULT:S/.//} | |||||
# When adding a version, please keep the comment in | # When adding a version, please keep the comment in | ||||
# Mk/bsd.default-versions.mk in sync. | # Mk/bsd.default-versions.mk in sync. | ||||
PHP_VER?= ${DEFAULT_PHP_VER} | PHP_VER?= ${DEFAULT_PHP_VER} | ||||
. if ${PHP_VER} == 72 | . if ${PHP_VER} == 72 | ||||
PHP_EXT_DIR= 20170718 | PHP_EXT_DIR= 20170718 | ||||
PHP_EXT_INC= pcre spl | PHP_EXT_INC= pcre spl | ||||
. elif ${PHP_VER} == 71 | . elif ${PHP_VER} == 71 | ||||
PHP_EXT_DIR= 20160303 | PHP_EXT_DIR= 20160303 | ||||
PHP_EXT_INC= pcre spl | PHP_EXT_INC= pcre spl | ||||
. elif ${PHP_VER} == 70 | . elif ${PHP_VER} == 70 | ||||
PHP_EXT_DIR= 20151012 | PHP_EXT_DIR= 20151012 | ||||
PHP_EXT_INC= pcre spl | PHP_EXT_INC= pcre spl | ||||
. elif ${PHP_VER} == 56 | . elif ${PHP_VER} == 56 | ||||
PHP_EXT_DIR= 20131226 | PHP_EXT_DIR= 20131226 | ||||
PHP_EXT_INC= pcre spl | PHP_EXT_INC= pcre spl | ||||
. else | . else | ||||
# (rene) default to DEFAULT_VERSIONS | # (rene) default to DEFAULT_VERSIONS | ||||
PHP_EXT_DIR= 20131226 | PHP_EXT_DIR= 20131226 | ||||
PHP_EXT_INC= pcre spl | PHP_EXT_INC= pcre spl | ||||
. endif | . endif | ||||
HTTPD?= ${LOCALBASE}/sbin/httpd | HTTPD?= ${LOCALBASE}/sbin/httpd | ||||
Done Inline ActionsWhat is WRT? Also "dark magic" is not a helpful documentation tz: What is WRT? Also "dark magic" is not a helpful documentation | |||||
Done Inline ActionsFor the log: i'm insisting that "dark magic" is not a helpful documentation at all. tz: For the log: i'm insisting that "dark magic" is not a helpful documentation at all. | |||||
. if exists(${HTTPD}) | . if exists(${HTTPD}) | ||||
APACHE_THR!= ${HTTPD} -V | ${AWK} '/threaded/ {print $2}' | APACHE_THR!= ${HTTPD} -V | ${AWK} '/threaded/ {print $2}' | ||||
. if ${APACHE_THR:Myes} | . if ${APACHE_THR:Myes} | ||||
PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | ||||
. endif | . endif | ||||
. elif defined(APACHE_PORT) && (${APACHE_PORT:M*worker*} != "" || ${APACHE_PORT:M*event*} != "") | . elif defined(APACHE_PORT) && (${APACHE_PORT:M*worker*} != "" || ${APACHE_PORT:M*event*} != "") | ||||
PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | ||||
. elif defined(WITH_MPM) && (${WITH_MPM} == "worker" || ${WITH_MPM} == "event") | . elif defined(WITH_MPM) && (${WITH_MPM} == "worker" || ${WITH_MPM} == "event") | ||||
PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts | ||||
. endif | . endif | ||||
. if defined(WITH_DEBUG) | . if defined(WITH_DEBUG) | ||||
PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug | PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug | ||||
. endif | . endif | ||||
PHP_SAPI?= "" | PHP_SAPI?= "" | ||||
. endif # .if exists(${PHPBASE}/etc/php.conf) | . endif # .if exists(${PHPBASE}/etc/php.conf) && !${PHP_VER} | ||||
PHP_EXT_INC?= "" | PHP_EXT_INC?= "" | ||||
PHP_PKGNAMEPREFIX= php${PHP_VER}- | |||||
PHP_PKGNAMESUFFIX= -php${PHP_VER} | |||||
. if defined(IGNORE_WITH_PHP) | . if defined(IGNORE_WITH_PHP) | ||||
. for VER in ${IGNORE_WITH_PHP} | . for VER in ${IGNORE_WITH_PHP} | ||||
. if ${PHP_VER} == "${VER}" | . if ${PHP_VER} == "${VER}" | ||||
_IGNORE_PHP_SET= | _IGNORE_PHP_SET= | ||||
IGNORE= cannot be installed: doesn't work with lang/php${PHP_VER} port\ | IGNORE= cannot be installed: doesn't work with lang/php${PHP_VER} port\ | ||||
(doesn't support PHP ${IGNORE_WITH_PHP:C/^([57])/\1./}) | (doesn't support PHP ${IGNORE_WITH_PHP:C/^([57])/\1./}) | ||||
. endif | . endif | ||||
. endfor | . endfor | ||||
▲ Show 20 Lines • Show All 53 Lines • ▼ Show 20 Lines | |||||
SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR} | SUB_LIST+= PHP_EXT_DIR=${PHP_EXT_DIR} | ||||
. if ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} | . if ${php_ARGS:Mphpize} || ${php_ARGS:Mext} || ${php_ARGS:Mzend} | ||||
BUILD_DEPENDS+= ${PHPBASE}/bin/phpize:${PHP_PORT} \ | BUILD_DEPENDS+= ${PHPBASE}/bin/phpize:${PHP_PORT} \ | ||||
autoconf>0:devel/autoconf | autoconf>0:devel/autoconf | ||||
GNU_CONFIGURE= yes | GNU_CONFIGURE= yes | ||||
CONFIGURE_ARGS+=--with-php-config=${PHPBASE}/bin/php-config | CONFIGURE_ARGS+=--with-php-config=${PHPBASE}/bin/php-config | ||||
configure-message: phpize-message do-phpize | _USES_configure+= 190:phpize-message 250:do-phpize | ||||
phpize-message: | phpize-message: | ||||
@${ECHO_MSG} "===> PHPizing for ${PKGNAME}" | @${ECHO_MSG} "===> PHPizing for ${PKGNAME}" | ||||
do-phpize: | do-phpize: | ||||
@(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${PHPBASE}/bin/phpize) | @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${PHPBASE}/bin/phpize) | ||||
. endif | . endif | ||||
▲ Show 20 Lines • Show All 195 Lines • Show Last 20 Lines |
I don't understand the new conditional. Why is it used here?