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
9 PKG_HASH
:= 4b2bc823e806dbf7b62fe0b92b0d14b0c6e03f88c3fc5d96278416c54ce11f6c
10 PKG_DESCR
:= php language interpreter
11 PKG_SECTION
:= dev
/lang
13 PHP_URL
:= http
://www.php.net
/
14 PKG_SITES
:= http
://de2.php.net
/distributions
/
16 PKG_SUBPKGS
:= PHP PHP_CLI PHP_CGI PHP_FPM
17 PKGSD_PHP_CGI
:= php for fastcgi usage
19 PKGSD_PHP_FPM
:= php for fastcgi process manager usage
21 PKGSD_PHP_CLI
:= php cli
24 PKG_FLAVOURS_PHP
:= MOD_BZ2 MOD_CURL MOD_FTP MOD_GD MOD_GMP MOD_MARIADB
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
32 PKGFD_MOD_CURL
:= curl support
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
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_MARIADB
:= mariadb support
47 PKGFS_MOD_MARIADB
:= libmariadb
48 PKGFB_MOD_MARIADB
:= mariadb
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
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
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
83 ${INSTALL_DIR} $$(IDIR_
$(1))/usr
/lib
/php
85 ${INSTALL_DATA} $(WRKBUILD
)/modules
/$$$${m}.so
$$(IDIR_
$(1))/usr
/lib
/php
;\
89 PKG_CONFIGURE_OPTS
:= \
90 --with-config-file-path
=/etc \
99 --disable-short-tags \
103 --disable-tokenizer \
105 --disable-xmlreader \
106 --disable-xmlwriter \
112 --with-pcre-regex
=no \
115 ifneq ($(ADK_PACKAGE_PHP_MOD_BZ2
),)
116 PKG_CONFIGURE_OPTS
+= --with-bz2
=shared
,"$(STAGING_TARGET_DIR)/usr"
118 PKG_CONFIGURE_OPTS
+= --without-bz2
120 ifneq ($(ADK_PACKAGE_PHP_MOD_CURL
),)
121 PKG_CONFIGURE_OPTS
+= --with-curl
=shared
,"$(STAGING_TARGET_DIR)/usr"
123 PKG_CONFIGURE_OPTS
+= --without-curl
125 ifneq ($(ADK_PACKAGE_PHP_MOD_FTP
),)
126 PKG_CONFIGURE_OPTS
+= --enable-ftp
=shared
128 PKG_CONFIGURE_OPTS
+= --disable-ftp
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 \
136 --enable-gd-native-ttf \
137 --disable-gd-jis-conv
139 PKG_CONFIGURE_OPTS
+= --without-gd
141 ifneq ($(ADK_PACKAGE_PHP_MOD_GMP
),)
142 PKG_CONFIGURE_OPTS
+= --with-gmp
=shared
,"$(STAGING_TARGET_DIR)/usr"
144 PKG_CONFIGURE_OPTS
+= --without-gmp
146 ifneq ($(ADK_PACKAGE_PHP_MOD_JSON
),)
147 PKG_CONFIGURE_OPTS
+= --enable-json
=shared
,"$(STAGING_TARGET_DIR)/usr"
149 PKG_CONFIGURE_OPTS
+= --disable-json
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"
155 PKG_CONFIGURE_OPTS
+= --without-ldap
157 ifneq ($(ADK_PACKAGE_PHP_MOD_MARIADB
),)
158 PKG_CONFIGURE_OPTS
+= --with-pdo-mysql
=shared
,"$(STAGING_TARGET_DIR)/usr"
160 PKG_CONFIGURE_OPTS
+= --without-pdo-mysql
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"
166 PKG_CONFIGURE_OPTS
+= --without-openssl
168 ifneq ($(ADK_PACKAGE_PHP_MOD_PCNTL
),)
169 PKG_CONFIGURE_OPTS
+= --enable-pcntl
171 PKG_CONFIGURE_OPTS
+= --disable-pcntl
173 ifneq ($(ADK_PACKAGE_PHP_MOD_SESSION
),)
174 PKG_CONFIGURE_OPTS
+= --enable-session
=shared
176 PKG_CONFIGURE_OPTS
+= --disable-session
178 ifneq ($(ADK_PACKAGE_PHP_MOD_SNMP
),)
179 PKG_CONFIGURE_OPTS
+= --with-snmp
=shared
,"$(STAGING_TARGET_DIR)/usr"
180 CONFIGURE_ENV
+= LIBS
="-lnetsnmpmibs"
182 PKG_CONFIGURE_OPTS
+= --without-snmp
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
189 PKG_CONFIGURE_OPTS
+= --without-sqlite3
--without-pdo-sqlite
191 ifneq ($(ADK_PACKAGE_PHP_MOD_SOCKETS
),)
192 PKG_CONFIGURE_OPTS
+= --enable-sockets
=shared
194 PKG_CONFIGURE_OPTS
+= --enable-sockets
=no
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"
200 PKG_CONFIGURE_OPTS
+= --disable-xml
202 ifneq ($(ADK_PACKAGE_PHP_MOD_SIMPLEXML
),)
203 PKG_CONFIGURE_OPTS
+= --enable-simplexml
=shared
--enable-libxml
--with-libxml-dir
="$(STAGING_TARGET_DIR)/usr"
205 PKG_CONFIGURE_OPTS
+= --disable-simplexml
--disable-libxml
207 ifneq ($(ADK_PACKAGE_PHP_MOD_ZLIB
),)
208 PKG_CONFIGURE_OPTS
+= --with-zlib
=shared
,"$(STAGING_TARGET_DIR)/usr"
210 PKG_CONFIGURE_OPTS
+= --without-zlib
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_MARIADB
,php-mod-mariadb
,$(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_MARIADB
,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