diff options
Diffstat (limited to 'Mk/bsd.php.mk')
-rw-r--r-- | Mk/bsd.php.mk | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/Mk/bsd.php.mk b/Mk/bsd.php.mk new file mode 100644 index 000000000000..1b562552d5fe --- /dev/null +++ b/Mk/bsd.php.mk @@ -0,0 +1,165 @@ +# +# bsd.php.mk - Support for PHP-based ports. +# +# Created by: Alex Dupre <ale@FreeBSD.org> +# +# For FreeBSD committers: +# Please send all suggested changes to the maintainer instead of committing +# them to CVS yourself. +# +# $FreeBSD$ +# +# Adding 'USE_PHP=yes' to a port includes this Makefile after bsd.ports.pre.mk. +# +# The port can set these options in its Makefile before bsd.ports.pre.mk: +# +# USE_PHPIZE=yes - Use to build a PHP extension. +# WANT_PHP_CLI=yes - Want the CLI version of PHP. +# WANT_PHP_CGI=yes - Want the CGI version of PHP. +# WANT_PHP_MOD=yes - Want the Apache Module for PHP. +# WANT_PHP_WEB=yes - Want the Apache Module or the CGI version of PHP. +# WANT_PHP_PEAR=yes - Want the PEAR framework. +# +# You may combine multiple WANT_PHP_* knobs. +# Don't specify any WANT_PHP_* knob if your port will work with every PHP SAPI. +# + +PHP_Include_MAINTAINER= ale@FreeBSD.org + +.if exists(${LOCALBASE}/etc/php.conf) +.include "${LOCALBASE}/etc/php.conf" +.endif + +PHP_VER?= 4 +.if !defined(PHP_EXT_DIR) +PHP_EXT_DIR= 20020429 +.if exists(${LOCALBASE}/include/apache2/apr.h) +APACHE_MPM!= ${APXS} -q MPM_NAME +.if ${APACHE_MPM} == "worker" +PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts +.endif +.else +.if defined(WITH_APACHE2) && defined(WITH_MPM) && ${WITH_MPM} == "worker" +PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts +.endif +.endif +.if defined(WITH_DEBUG) +PHP_EXT_DIR:= ${PHP_EXT_DIR}-debug +.endif +.endif +.if !defined(WITHOUT_PEAR) +PHP_PEAR?= yes +.else +PHP_PEAR?= no +.endif +PHP_SAPI?= "" + +.if defined(BROKEN_WITH_PHP) +. for VER in ${BROKEN_WITH_PHP} +. if ${PHP_VER} == "${VER}" +BROKEN= "Doesn't work with PHP version : ${PHP_VER} (Doesn't support PHP ${BROKEN_WITH_PHP})" +. endif +. endfor +.endif + +.if defined(WANT_PHP_WEB) +. if defined(WANT_PHP_CGI) || defined(WANT_PHP_MOD) +check-makevars:: + @${ECHO_CMD} "If you define WANT_PHP_WEB you cannot set also WANT_PHP_CGI" + @${ECHO_CMD} "or WANT_PHP_MOD. Use only one of them." + @${FALSE} +. else +. if defined(PHP_VERSION) && ${PHP_SAPI} == "cli" +check-makevars:: + @${ECHO_CMD} "This port requires the Apache Module or the CGI version of PHP, but you have" + @${ECHO_CMD} "already installed a conflicting PHP port without them." + @${FALSE} +. else +. if defined(WANT_PHP_CLI) || defined(WANT_PHP_PEAR) +PHP_PORT?= ${PORTSDIR}/lang/php${PHP_VER} +. else +PHP_PORT?= ${PORTSDIR}/www/mod_php${PHP_VER} +PHP_PEAR?= no +. endif +. endif +. endif +.else + +.if defined(WANT_PHP_CGI) +. if defined(WANT_PHP_CLI) || defined(WANT_PHP_MOD) +check-makevars:: + @${ECHO_CMD} "The CGI version of PHP avoids the installation of other SAPIs." + @${ECHO_CMD} "Do not use WANT_PHP_CGI with other WANT_PHP_* knobs." + @${FALSE} +. else +. if defined(PHP_VERSION) && ${PHP_SAPI} != "cgi" +check-makevars:: + @${ECHO_CMD} "This port requires the CGI version of PHP, but you have already" + @${ECHO_CMD} "installed a conflicting PHP port without CGI." + @${FALSE} +. else +PHP_PORT?= ${PORTSDIR}/www/php${PHP_VER}-cgi +PHP_PEAR?= no +. endif +. endif +.else + +.if defined(WANT_PHP_CLI) && !defined(WANT_PHP_MOD) +. if defined(PHP_VERSION) && ${PHP_SAPI} != "full" && ${PHP_SAPI} != "cli" +check-makevars:: + @${ECHO_CMD} "This port requires the CLI version of PHP, but you have already" + @${ECHO_CMD} "installed a conflicting PHP port without CLI." + @${FALSE} +. else +PHP_PORT?= ${PORTSDIR}/lang/php${PHP_VER}-cli +. endif +.else + +.if !defined(WANT_PHP_CLI) && defined(WANT_PHP_MOD) +. if defined(PHP_VERSION) && (${PHP_SAPI} != "full" && ${PHP_SAPI} != "mod") +check-makevars:: + @${ECHO_CMD} "This port requires the Apache Module for PHP, but you have already" + @${ECHO_CMD} "installed a conflicting PHP port without the Apache Module." + @${FALSE} +. else +. if defined(WANT_PHP_PEAR) +PHP_PORT?= ${PORTSDIR}/lang/php${PHP_VER} +. else +PHP_PORT?= ${PORTSDIR}/www/mod_php${PHP_VER} +PHP_PEAR?= no +. endif +. endif +.else + +PHP_PORT?= ${PORTSDIR}/lang/php${PHP_VER} + +.endif + +.endif + +.endif + +.endif + +.if defined(WANT_PHP_PEAR) && ${PHP_PEAR} == "no" +BROKEN= "This port requires the PEAR framework, but you have already" \ + "installed a PHP port without PEAR" +.endif + +RUN_DEPENDS+= ${LOCALBASE}/include/php/main/php.h:${PHP_PORT} + +PLIST_SUB+= PHP_EXT_DIR=${PHP_EXT_DIR} + +.if defined(USE_PHPIZE) +BUILD_DEPENDS+= phpize:${PHP_PORT} +USE_LIBTOOL= yes +WANT_AUTOMAKE_VER= 15 +WANT_AUTOCONF_VER= 253 +CONFIGURE_ARGS+=--with-php-config=${LOCALBASE}/bin/php-config + +configure-message: phpize + +phpize: + @${ECHO_MSG} "===> PHPizing for ${DISTNAME}" + @(cd ${WRKSRC}; ${SETENV} ${SCRIPTS_ENV} ${LOCALBASE}/bin/phpize) +.endif |