php: update to 7.0.12
[openadk.git] / package / php / Makefile
blob25b6f678fbb8b42dcae11e91e966e47cc2d779b8
1 # This file is part of the OpenADK project. OpenADK is copyrighted
2 # material, please see the LICENCE file in the top-level directory.
4 include $(ADK_TOPDIR)/rules.mk
6 PKG_NAME:= php
7 PKG_VERSION:= 7.0.12
8 PKG_RELEASE:= 1
9 PKG_HASH:= f3d6c49e1c242e5995dec15e503fde996c327eb86cd7ec45c690e93c971b83ff
10 PKG_DESCR:= php language interpreter
11 PKG_SECTION:= dev/lang
12 PKG_NEEDS:= threads
13 PHP_URL:= http://www.php.net/
14 PKG_SITES:= http://de.php.net/distributions/
16 PKG_SUBPKGS:= PHP PHP_CLI PHP_CGI PHP_FPM
17 PKGSD_PHP_CGI:= php for fastcgi usage
18 PKGSN_PHP_CGI:= php
19 PKGSD_PHP_FPM:= php for fastcgi process manager usage
20 PKGSN_PHP_FPM:= php
21 PKGSD_PHP_CLI:= php cli
22 PKGSN_PHP_CLI:= php
24 PKG_FLAVOURS_PHP:= MOD_BZ2 MOD_CURL MOD_FTP MOD_GD MOD_GMP MOD_MYSQL
25 PKG_FLAVOURS_PHP+= MOD_SSL MOD_SESSION MOD_SNMP MOD_SQLITE
26 PKG_FLAVOURS_PHP+= MOD_SOCKETS MOD_XML MOD_SIMPLEXML MOD_ZLIB MOD_JSON
27 PKG_FLAVOURS_PHP+= MOD_LDAP MOD_PCNTL
29 PKGFD_MOD_BZ2:= bzip2 support
30 PKGFB_MOD_BZ2:= bzip2
31 PKGFS_MOD_BZ2:= bzip2
32 PKGFD_MOD_CURL:= curl support
33 PKGFB_MOD_CURL:= curl
34 PKGFS_MOD_CURL:= libcurl
35 PKGFD_MOD_FTP:= ftp support
36 PKGFD_MOD_GD:= gd support
37 PKGFB_MOD_GD:= libgd libpng libjpeg-turbo libXpm
38 PKGFS_MOD_GD:= libgd libpng libjpeg-turbo libxpm
39 PKGFD_MOD_GMP:= gmp support
40 PKGFB_MOD_GMP:= gmp
41 PKGFS_MOD_GMP:= libgmp
42 PKGFD_MOD_JSON:= json support
43 PKGFD_MOD_LDAP:= ldap support
44 PKGFB_MOD_LDAP:= openldap
45 PKGFS_MOD_LDAP:= libopenldap
46 PKGFD_MOD_MYSQL:= mysql support
47 PKGFS_MOD_MYSQL:= libmysqlclient
48 PKGFB_MOD_MYSQL:= mysql
49 PKGFD_MOD_SSL:= ssl support
50 PKGFB_MOD_SSL:= libressl
51 PKGFS_MOD_SSL:= libressl
52 PKGFD_MOD_PCNTL:= process control support
53 PKGFD_MOD_SESSION:= session support
54 PKGFD_MOD_SNMP:= snmp support
55 PKGFB_MOD_SNMP:= net-snmp
56 PKGFS_MOD_SNMP:= libnetsnmp
57 PKGFD_MOD_SQLITE:= sqlite support
58 PKGFB_MOD_SQLITE:= sqlite
59 PKGFS_MOD_SQLITE:= libsqlite
60 PKGFD_MOD_SOCKETS:= socket support
61 PKGFD_MOD_XML:= xml support
62 PKGFB_MOD_XML:= expat
63 PKGFS_MOD_XML:= libexpat
64 PKGFD_MOD_SIMPLEXML:= simple xml support
65 PKGFB_MOD_SIMPLEXML:= libxml2
66 PKGFS_MOD_SIMPLEXML:= libxml2
67 PKGFD_MOD_ZLIB:= zlib support
68 PKGFB_MOD_ZLIB:= zlib
69 PKGFS_MOD_ZLIB:= zlib
71 include $(ADK_TOPDIR)/mk/package.mk
73 $(eval $(call PKG_template,PHP,php,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
74 $(eval $(call PKG_template,PHP_CLI,php-cli,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_CLI},${PKG_SECTION}))
75 $(eval $(call PKG_template,PHP_CGI,php-cgi,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_CGI},${PKG_SECTION}))
76 $(eval $(call PKG_template,PHP_FPM,php-fpm,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_FPM},${PKG_SECTION}))
78 define PKG_mod_template
80 INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
82 ${2}-install:
83 ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/php
84 for m in ${2}; do \
85 ${INSTALL_DATA} $(WRKBUILD)/modules/$$$${m}.so $$(IDIR_$(1))/usr/lib/php ;\
86 done
87 endef
89 PKG_CONFIGURE_OPTS:= \
90 --with-config-file-path=/etc \
91 --enable-cli \
92 --enable-cgi \
93 --enable-fpm \
94 --enable-opcache=no \
95 --disable-hash \
96 --disable-mbstring \
97 --disable-mbregex \
98 --disable-phar \
99 --disable-short-tags \
100 --disable-ctype \
101 --disable-soap \
102 --disable-fileinfo \
103 --disable-tokenizer \
104 --disable-filter \
105 --disable-xmlreader \
106 --disable-xmlwriter \
107 --disable-dom \
108 --without-pear \
109 --without-gettext \
110 --without-pgsql \
111 --without-iconv \
112 --with-pcre-regex=no \
113 --with-kerberos=no
115 ifneq ($(ADK_PACKAGE_PHP_MOD_BZ2),)
116 PKG_CONFIGURE_OPTS+= --with-bz2=shared,"$(STAGING_TARGET_DIR)/usr"
117 else
118 PKG_CONFIGURE_OPTS+= --without-bz2
119 endif
120 ifneq ($(ADK_PACKAGE_PHP_MOD_CURL),)
121 PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_TARGET_DIR)/usr"
122 else
123 PKG_CONFIGURE_OPTS+= --without-curl
124 endif
125 ifneq ($(ADK_PACKAGE_PHP_MOD_FTP),)
126 PKG_CONFIGURE_OPTS+= --enable-ftp=shared
127 else
128 PKG_CONFIGURE_OPTS+= --disable-ftp
129 endif
130 ifneq ($(ADK_PACKAGE_PHP_MOD_GD),)
131 PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_TARGET_DIR)/usr" \
132 --with-png-dir="$(STAGING_TARGET_DIR)/usr" \
133 --with-jpeg-dir="$(STAGING_TARGET_DIR)/usr" \
134 --without-freetype-dir \
135 --without-t1lib \
136 --enable-gd-native-ttf \
137 --disable-gd-jis-conv
138 else
139 PKG_CONFIGURE_OPTS+= --without-gd
140 endif
141 ifneq ($(ADK_PACKAGE_PHP_MOD_GMP),)
142 PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_TARGET_DIR)/usr"
143 else
144 PKG_CONFIGURE_OPTS+= --without-gmp
145 endif
146 ifneq ($(ADK_PACKAGE_PHP_MOD_JSON),)
147 PKG_CONFIGURE_OPTS+= --enable-json=shared,"$(STAGING_TARGET_DIR)/usr"
148 else
149 PKG_CONFIGURE_OPTS+= --disable-json
150 endif
151 ifneq ($(ADK_PACKAGE_PHP_MOD_LDAP),)
152 PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_TARGET_DIR)/usr" \
153 --with-ldap-sasl="$(STAGING_TARGET_DIR)/usr"
154 else
155 PKG_CONFIGURE_OPTS+= --without-ldap
156 endif
157 ifneq ($(ADK_PACKAGE_PHP_MOD_MYSQL),)
158 PKG_CONFIGURE_OPTS+= --with-pdo-mysql=shared,"$(STAGING_TARGET_DIR)/usr"
159 else
160 PKG_CONFIGURE_OPTS+= --without-pdo-mysql
161 endif
162 ifneq ($(ADK_PACKAGE_PHP_MOD_OPENSSL),)
163 PKG_CONFIGURE_OPTS+= --with-openssl=shared,"$(STAGING_TARGET_DIR)/usr" \
164 --with-openssl-dir="$(STAGING_TARGET_DIR)/usr"
165 else
166 PKG_CONFIGURE_OPTS+= --without-openssl
167 endif
168 ifneq ($(ADK_PACKAGE_PHP_MOD_PCNTL),)
169 PKG_CONFIGURE_OPTS+= --enable-pcntl
170 else
171 PKG_CONFIGURE_OPTS+= --disable-pcntl
172 endif
173 ifneq ($(ADK_PACKAGE_PHP_MOD_SESSION),)
174 PKG_CONFIGURE_OPTS+= --enable-session=shared
175 else
176 PKG_CONFIGURE_OPTS+= --disable-session
177 endif
178 ifneq ($(ADK_PACKAGE_PHP_MOD_SNMP),)
179 PKG_CONFIGURE_OPTS+= --with-snmp=shared,"$(STAGING_TARGET_DIR)/usr"
180 CONFIGURE_ENV+= LIBS="-lnetsnmpmibs"
181 else
182 PKG_CONFIGURE_OPTS+= --without-snmp
183 endif
184 ifneq ($(ADK_PACKAGE_PHP_MOD_SQLITE),)
185 PKG_CONFIGURE_OPTS+= --with-sqlite3="$(STAGING_TARGET_DIR)/usr"
186 PKG_CONFIGURE_OPTS+= --with-pdo-sqlite=shared,"$(STAGING_TARGET_DIR)/usr"
187 PKG_CONFIGURE_OPTS+= --enable-pdo=shared
188 else
189 PKG_CONFIGURE_OPTS+= --without-sqlite3 --without-pdo-sqlite
190 endif
191 ifneq ($(ADK_PACKAGE_PHP_MOD_SOCKETS),)
192 PKG_CONFIGURE_OPTS+= --enable-sockets=shared
193 else
194 PKG_CONFIGURE_OPTS+= --enable-sockets=no
195 endif
196 ifneq ($(ADK_PACKAGE_PHP_MOD_XML),)
197 PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_TARGET_DIR)/usr" \
198 --with-libexpat-dir="$(STAGING_TARGET_DIR)/usr"
199 else
200 PKG_CONFIGURE_OPTS+= --disable-xml
201 endif
202 ifneq ($(ADK_PACKAGE_PHP_MOD_SIMPLEXML),)
203 PKG_CONFIGURE_OPTS+= --enable-simplexml=shared --enable-libxml --with-libxml-dir="$(STAGING_TARGET_DIR)/usr"
204 else
205 PKG_CONFIGURE_OPTS+= --disable-simplexml --disable-libxml
206 endif
207 ifneq ($(ADK_PACKAGE_PHP_MOD_ZLIB),)
208 PKG_CONFIGURE_OPTS+= --with-zlib=shared,"$(STAGING_TARGET_DIR)/usr"
209 else
210 PKG_CONFIGURE_OPTS+= --without-zlib
211 endif
213 $(eval $(call PKG_template,PHP_MOD_BZ2,php-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
214 $(eval $(call PKG_template,PHP_MOD_CURL,php-mod-curl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
215 $(eval $(call PKG_template,PHP_MOD_FTP,php-mod-ftp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
216 $(eval $(call PKG_template,PHP_MOD_GD,php-mod-gd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
217 $(eval $(call PKG_template,PHP_MOD_GMP,php-mod-gmp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
218 $(eval $(call PKG_template,PHP_MOD_JSON,php-mod-json,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
219 $(eval $(call PKG_template,PHP_MOD_LDAP,php-mod-ldap,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
220 $(eval $(call PKG_template,PHP_MOD_MYSQL,php-mod-mysql,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
221 $(eval $(call PKG_template,PHP_MOD_OPENSSL,php-mod-openssl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
222 $(eval $(call PKG_template,PHP_MOD_SESSION,php-mod-session,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
223 $(eval $(call PKG_template,PHP_MOD_SNMP,php-mod-snmp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
224 $(eval $(call PKG_template,PHP_MOD_SOCKETS,php-mod-sockets,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
225 $(eval $(call PKG_template,PHP_MOD_SQLITE,php-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
226 $(eval $(call PKG_template,PHP_MOD_XML,php-mod-xml,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
227 $(eval $(call PKG_template,PHP_MOD_SIMPLEXML,php-mod-simplexml,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
228 $(eval $(call PKG_template,PHP_MOD_ZLIB,php-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
230 $(eval $(call PKG_mod_template,PHP_MOD_BZ2,bz2))
231 $(eval $(call PKG_mod_template,PHP_MOD_CURL,curl))
232 $(eval $(call PKG_mod_template,PHP_MOD_FTP,ftp))
233 $(eval $(call PKG_mod_template,PHP_MOD_GD,gd))
234 $(eval $(call PKG_mod_template,PHP_MOD_GMP,gmp))
235 $(eval $(call PKG_mod_template,PHP_MOD_JSON,json))
236 $(eval $(call PKG_mod_template,PHP_MOD_LDAP,ldap))
237 $(eval $(call PKG_mod_template,PHP_MOD_MYSQL,pdo_mysql))
238 $(eval $(call PKG_mod_template,PHP_MOD_OPENSSL,openssl))
239 $(eval $(call PKG_mod_template,PHP_MOD_SESSION,session))
240 $(eval $(call PKG_mod_template,PHP_MOD_SOCKETS,sockets))
241 $(eval $(call PKG_mod_template,PHP_MOD_SNMP,snmp))
242 $(eval $(call PKG_mod_template,PHP_MOD_SQLITE,pdo pdo_sqlite))
243 $(eval $(call PKG_mod_template,PHP_MOD_XML,xml))
244 $(eval $(call PKG_mod_template,PHP_MOD_SIMPLEXML,simplexml))
245 $(eval $(call PKG_mod_template,PHP_MOD_ZLIB,zlib))
247 INSTALL_STYLE:= manual
248 TARGET_LDFLAGS+= -L$(STAGING_TARGET_DIR)/usr/lib/mysql
249 CONFIGURE_ENV+= LIBS="-ldl"
250 CONFIGURE_ARGS+= $(PKG_CONFIGURE_OPTS)
252 do-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
253 ${INSTALL_DIR} $(IDIR_PHP)/etc
254 ${INSTALL_DATA} ./files/php.ini $(IDIR_PHP)/etc
255 ${INSTALL_DIR} $(IDIR_PHP_CLI)/usr/bin
256 ${INSTALL_BIN} $(WRKBUILD)/sapi/cli/php \
257 $(IDIR_PHP_CLI)/usr/bin
258 ${INSTALL_DIR} $(IDIR_PHP_CGI)/usr/bin
259 ${INSTALL_BIN} $(WRKBUILD)/sapi/cgi/php-cgi \
260 $(IDIR_PHP_CGI)/usr/bin
261 ${INSTALL_DIR} $(IDIR_PHP_FPM)/etc
262 $(CP) ./files/php-fpm.conf $(IDIR_PHP_FPM)/etc
263 ${INSTALL_DIR} $(IDIR_PHP_FPM)/usr/bin
264 ${INSTALL_BIN} $(WRKBUILD)/sapi/fpm/php-fpm \
265 $(IDIR_PHP_FPM)/usr/bin/php
267 include ${ADK_TOPDIR}/mk/pkg-bottom.mk