aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.php.mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk/bsd.php.mk')
-rw-r--r--Mk/bsd.php.mk165
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