1 # Created by: Alex Dupre <ale@FreeBSD.org>
7 CATEGORIES?= lang devel www
8 MASTER_SITES= ${MASTER_SITE_PHP}
9 MASTER_SITE_SUBDIR= distributions
10 DISTNAME= php-${PORTVERSION}
12 MAINTAINER= ale@FreeBSD.org
13 COMMENT= PHP Scripting Language
17 LATEST_LINK= ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
22 .if !defined(PKGNAMESUFFIX)
23 USE_AUTOTOOLS= autoconf
25 LIB_DEPENDS= libpcre.so:${PORTSDIR}/devel/pcre
27 CONFIGURE_ARGS+=--with-layout=GNU \
28 --localstatedir=/var \
29 --with-config-file-scan-dir=${PREFIX}/etc/php \
33 --with-libxml-dir=${LOCALBASE} \
34 --with-pcre-regex=${LOCALBASE} \
35 --with-zlib-dir=/usr \
40 OPTIONS_DEFINE+=CLI CGI FPM EMBED DEBUG DTRACE IPV6 MAILHEAD LINKTHR ZTS
41 OPTIONS_DEFAULT=CLI CGI FPM IPV6 LINKTHR
44 CLI_DESC= Build CLI version
45 CGI_DESC= Build CGI version
46 FPM_DESC= Build FPM version
47 EMBED_DESC= Build embedded library
48 DEBUG_DESC= Enable debug
49 DTRACE_DESC= Enable DTrace support
50 IPV6_DESC= Enable ipv6 support
51 MAILHEAD_DESC= Enable mail header patch
52 LINKTHR_DESC= Link thread lib (for threaded extensions)
53 ZTS_DESC= Force Zend Thread Safety (ZTS) build
55 CONFLICTS= php53-5* php55-5* php56-5*
57 DESTDIRNAME= INSTALL_ROOT
59 .include <bsd.port.pre.mk>
63 PATCH_SITES+= ${MASTER_SITE_LOCAL}
64 PATCH_SITE_SUBDIR= ale
66 .if ${PORT_OPTIONS:MMAILHEAD}
67 PATCHFILES+= php-5.4.x-mail-header.patch:mail
68 PATCH_SITES+= http://choon.net/opensource/php/:mail
71 .if ${PORT_OPTIONS:MCLI}
74 CONFIGURE_ARGS+=--disable-cli
77 .if ${PORT_OPTIONS:MCGI}
80 CONFIGURE_ARGS+=--disable-cgi
83 .if ${PORT_OPTIONS:MFPM}
86 CONFIGURE_ARGS+=--enable-fpm \
87 --with-fpm-user=${WWWOWN} \
88 --with-fpm-group=${WWWGRP}
91 .if defined(OPTIONS_FILE_SET) && ${OPTIONS_FILE_SET:MAPACHE}
92 IGNORE= doesn't install the Apache module anymore:\
93 update your OPTIONS and build www/mod_php5 port instead
96 .if defined(PKGNAMEPREFIX)
101 .include "${PORTSDIR}/Mk/bsd.apache.mk"
102 .if ${PORT_OPTIONS:MAP2FILTER}
103 CONFIGURE_ARGS+=--with-apxs2filter=${APXS}
105 CONFIGURE_ARGS+=--with-apxs2=${APXS}
107 PLIST= ${PKGDIR}/pkg-plist.mod
108 PKGMESSAGE= ${PKGDIR}/pkg-message.mod
111 WARNING= "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
114 .if ${PORT_OPTIONS:MEMBED}
116 CONFIGURE_ARGS+=--enable-embed
119 .if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
120 PLIST_SUB+= SAPI_INC=""
122 PLIST_SUB+= SAPI_INC="@comment "
125 .if !defined(WITH_REGEX_TYPE) || ${WITH_REGEX_TYPE} == "php"
126 CONFIGURE_ARGS+=--with-regex=php
127 .elif defined(WITH_REGEX_TYPE) && ${WITH_REGEX_TYPE} == "system"
128 CONFIGURE_ARGS+=--with-regex=system
131 .if !defined(WITH_ZEND_VM) || ${WITH_ZEND_VM} == "CALL"
132 CONFIGURE_ARGS+=--with-zend-vm=CALL
133 .elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "SWITCH"
134 CONFIGURE_ARGS+=--with-zend-vm=SWITCH
135 .elif defined(WITH_ZEND_VM) && ${WITH_ZEND_VM} == "GOTO"
136 CONFIGURE_ARGS+=--with-zend-vm=GOTO
139 CONFIGURE_ENV+= ac_cv_pthreads_lib="" \
140 ac_cv_pthreads_cflags="" \
141 ac_cv_decimal_fp_supported="no" \
142 pthreads_working="yes" \
145 .if ${PORT_OPTIONS:MLINKTHR}
149 .if ${PORT_OPTIONS:MZTS}
150 CONFIGURE_ARGS+=--enable-maintainer-zts
153 .if ${PORT_OPTIONS:MDEBUG}
154 CONFIGURE_ARGS+=--enable-debug
157 .if ${PORT_OPTIONS:MDTRACE}
158 .if ${OSVERSION} < 900000
159 IGNORE= cannot be built with DTrace support on FreeBSD < 9.x
161 CONFIGURE_ARGS+=--enable-dtrace
162 PLIST_SUB+= DTRACE=""
164 PLIST_SUB+= DTRACE="@comment "
167 .if empty(PORT_OPTIONS:MIPV6)
168 CONFIGURE_ARGS+=--disable-ipv6
172 @${TOUCH} ${WRKSRC}/ext/php_config.h
173 @${REINPLACE_CMD} "s|^\(extension_dir\)|; \1|" ${WRKSRC}/php.ini-*
174 .if ${PORT_OPTIONS:MFPM}
175 @${REINPLACE_CMD} -e "s|^;\(pid\)|\1|;s|^;\(pm\.[a-z_]*_servers\)|\1|" \
176 ${WRKSRC}/sapi/fpm/php-fpm.conf.in
179 # Work around issues with newer (>=2.64) autoconf
181 @${REINPLACE_CMD} -E 's:^((m4_)?divert)[(]([0-9]*)[)]:\1(600\3):' \
182 ${WRKSRC}/configure.in `${FIND} ${WRKSRC} -name '*.m4'`
183 @${RM} ${WRKSRC}/configure
184 @${CAT} ${WRKSRC}/acinclude.m4 ${WRKSRC}/build/libtool.m4 > ${WRKSRC}/aclocal.m4
186 .if !defined(PKGNAMEPREFIX)
188 @${ECHO_CMD} "PHP_VER=5" > ${WRKDIR}/php.conf
189 @${ECHO_CMD} "PHP_VERSION=${PORTVERSION}" >> ${WRKDIR}/php.conf
190 @${ECHO_CMD} "PHP_SAPI=${PHP_SAPI}" >> ${WRKDIR}/php.conf
191 @${ECHO_CMD} "PHP_EXT_INC=pcre spl" >> ${WRKDIR}/php.conf
194 @(cd ${WRKSRC} && ${MAKE} test)
197 @${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
198 ${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
201 ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
202 ${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
203 ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
207 .include "${MASTERDIR}/Makefile.ext"
209 .include <bsd.port.post.mk>