Update lang/p5-signatures to version 0.11
[dports.git] / lang / php5 / Makefile
1 # Created by: Alex Dupre <ale@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       php5
5 PORTVERSION=    5.4.39
6 PORTREVISION?=  0
7 CATEGORIES?=    lang devel www
8 MASTER_SITES=   ${MASTER_SITE_PHP}
9 MASTER_SITE_SUBDIR=     distributions
10 DISTNAME=       php-${PORTVERSION}
11
12 MAINTAINER=     ale@FreeBSD.org
13 COMMENT=        PHP Scripting Language
14
15 LICENSE=        PHP301
16
17 LATEST_LINK=    ${PKGNAMEPREFIX}${PORTNAME}${PKGNAMESUFFIX}
18
19 USES=           tar:bzip2 cpe
20 CPE_PRODUCT=    php
21 NO_OPTIONS_SORT=yes
22 .if !defined(PKGNAMESUFFIX)
23 USE_AUTOTOOLS=  autoconf
24
25 LIB_DEPENDS=    libpcre.so:${PORTSDIR}/devel/pcre
26
27 CONFIGURE_ARGS+=--with-layout=GNU \
28                 --localstatedir=/var \
29                 --with-config-file-scan-dir=${PREFIX}/etc/php \
30                 --disable-all \
31                 --enable-libxml \
32                 --enable-mysqlnd \
33                 --with-libxml-dir=${LOCALBASE} \
34                 --with-pcre-regex=${LOCALBASE} \
35                 --with-zlib-dir=/usr \
36                 --program-prefix=""
37
38 USE_GNOME=      libxml2
39
40 OPTIONS_DEFINE+=CLI CGI FPM EMBED DEBUG DTRACE IPV6 MAILHEAD LINKTHR ZTS
41 OPTIONS_DEFAULT=CLI CGI FPM IPV6 LINKTHR
42 OPTIONS_SUB=    yes
43
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
54
55 CONFLICTS=      php53-5* php55-5* php56-5*
56
57 DESTDIRNAME=    INSTALL_ROOT
58
59 .include <bsd.port.pre.mk>
60
61 PATCH_DIST_STRIP=       -p1
62
63 PATCH_SITES+=   ${MASTER_SITE_LOCAL}
64 PATCH_SITE_SUBDIR=      ale
65
66 .if ${PORT_OPTIONS:MMAILHEAD}
67 PATCHFILES+=    php-5.4.x-mail-header.patch:mail
68 PATCH_SITES+=   http://choon.net/opensource/php/:mail
69 .endif
70
71 .if ${PORT_OPTIONS:MCLI}
72 PHP_SAPI+=      cli
73 .else
74 CONFIGURE_ARGS+=--disable-cli
75 .endif
76
77 .if ${PORT_OPTIONS:MCGI}
78 PHP_SAPI+=      cgi
79 .else
80 CONFIGURE_ARGS+=--disable-cgi
81 .endif
82
83 .if ${PORT_OPTIONS:MFPM}
84 PHP_SAPI+=      fpm
85 USE_RC_SUBR+=   php-fpm
86 CONFIGURE_ARGS+=--enable-fpm \
87                 --with-fpm-user=${WWWOWN} \
88                 --with-fpm-group=${WWWGRP}
89 .endif
90
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
94 .endif
95
96 .if defined(PKGNAMEPREFIX)
97 USE_PHP=        yes
98 PHP_DEFAULT=    5.4
99 IGNORE_WITH_PHP=53 55
100 USE_APACHE=     22+
101 .include "${PORTSDIR}/Mk/bsd.apache.mk"
102 .if ${PORT_OPTIONS:MAP2FILTER}
103 CONFIGURE_ARGS+=--with-apxs2filter=${APXS}
104 .else
105 CONFIGURE_ARGS+=--with-apxs2=${APXS}
106 .endif
107 PLIST=          ${PKGDIR}/pkg-plist.mod
108 PKGMESSAGE=     ${PKGDIR}/pkg-message.mod
109 MODULENAME=     libphp5
110 SHORTMODNAME=   php5
111 WARNING=        "!!! If you have a threaded Apache, you must build ${PHP_PORT} with ZTS support to enable thread-safety in extensions !!!"
112 .endif
113
114 .if ${PORT_OPTIONS:MEMBED}
115 PHP_SAPI+=      embed
116 CONFIGURE_ARGS+=--enable-embed
117 .endif
118
119 .if ${PORT_OPTIONS:MCLI} || ${PORT_OPTIONS:MEMBED}
120 PLIST_SUB+=     SAPI_INC=""
121 .else
122 PLIST_SUB+=     SAPI_INC="@comment "
123 .endif
124
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
129 .endif
130
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
137 .endif
138
139 CONFIGURE_ENV+= ac_cv_pthreads_lib="" \
140                 ac_cv_pthreads_cflags="" \
141                 ac_cv_decimal_fp_supported="no" \
142                 pthreads_working="yes" \
143                 lt_cv_path_SED="sed"
144
145 .if ${PORT_OPTIONS:MLINKTHR}
146 LIBS+=          -lpthread
147 .endif
148
149 .if ${PORT_OPTIONS:MZTS}
150 CONFIGURE_ARGS+=--enable-maintainer-zts
151 .endif
152
153 .if ${PORT_OPTIONS:MDEBUG}
154 CONFIGURE_ARGS+=--enable-debug
155 .endif
156
157 .if ${PORT_OPTIONS:MDTRACE}
158 .if ${OSVERSION} < 900000
159 IGNORE=         cannot be built with DTrace support on FreeBSD < 9.x
160 .endif
161 CONFIGURE_ARGS+=--enable-dtrace
162 PLIST_SUB+=     DTRACE=""
163 .else
164 PLIST_SUB+=     DTRACE="@comment "
165 .endif
166
167 .if empty(PORT_OPTIONS:MIPV6)
168 CONFIGURE_ARGS+=--disable-ipv6
169 .endif
170
171 post-patch:
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
177 .endif
178
179 # Work around issues with newer (>=2.64) autoconf
180 pre-configure:
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
185
186 .if !defined(PKGNAMEPREFIX)
187 post-build:
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
192
193 test: build
194         @(cd ${WRKSRC} && ${MAKE} test)
195
196 post-install:
197         @${INSTALL_DATA} ${WRKSRC}/php.ini-development ${WRKSRC}/php.ini-production \
198                 ${WRKDIR}/php.conf ${STAGEDIR}/${PREFIX}/etc
199 .else
200 do-install:
201         ${MKDIR} ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
202         ${INSTALL_LIB} ${WRKSRC}/libs/${MODULENAME}.so \
203                 ${STAGEDIR}${PREFIX}/${APACHEMODDIR}
204 .endif
205
206 .else
207 .include "${MASTERDIR}/Makefile.ext"
208 .endif
209 .include <bsd.port.post.mk>