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
:= 4ffa3e44afc9c590e28dc0d2d31fc61f0139f8b335f11880a121b9f9b9f0634e
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
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 PKGFD_MOD_GMP
:= gmp support
39 PKGFS_MOD_GMP
:= libgmp
40 PKGFD_MOD_LDAP
:= ldap support
41 PKGFB_MOD_LDAP
:= openldap
42 PKGFS_MOD_LDAP
:= libopenldap
43 PKGFD_MOD_MARIADB
:= mariadb support
44 PKGFS_MOD_MARIADB
:= libmariadbclient
45 PKGFB_MOD_MARIADB
:= mariadb
46 PKGFD_MOD_SSL
:= ssl support
47 PKGFB_MOD_SSL
:= libressl
48 PKGFS_MOD_SSL
:= libressl
49 PKGFD_MOD_PCNTL
:= process control support
50 PKGFD_MOD_SESSION
:= session support
51 PKGFD_MOD_SNMP
:= snmp support
52 PKGFB_MOD_SNMP
:= net-snmp
53 PKGFS_MOD_SNMP
:= libnetsnmp
54 PKGFD_MOD_SQLITE
:= sqlite support
55 PKGFB_MOD_SQLITE
:= sqlite
56 PKGFS_MOD_SQLITE
:= libsqlite
57 PKGFD_MOD_SOCKETS
:= socket support
58 PKGFD_MOD_XML
:= xml support
60 PKGFS_MOD_XML
:= libexpat
61 PKGFD_MOD_SIMPLEXML
:= simple xml support
62 PKGFB_MOD_SIMPLEXML
:= libxml2
63 PKGFS_MOD_SIMPLEXML
:= libxml2
64 PKGFD_MOD_ZLIB
:= zlib support
68 include $(ADK_TOPDIR
)/mk
/package.mk
70 $(eval
$(call PKG_template
,PHP
,php
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
71 $(eval
$(call PKG_template
,PHP_CLI
,php-cli
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_CLI},${PKG_SECTION}))
72 $(eval
$(call PKG_template
,PHP_CGI
,php-cgi
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_CGI},${PKG_SECTION}))
73 $(eval
$(call PKG_template
,PHP_FPM
,php-fpm
,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_FPM},${PKG_SECTION}))
75 define PKG_mod_template
77 INSTALL_MODS_
$${ADK_PACKAGE_
${1}}+= ${2}-install
80 ${INSTALL_DIR} $$(IDIR_
$(1))/usr
/lib
/php
82 ${INSTALL_DATA} $(WRKBUILD
)/modules
/$$$${m}.so
$$(IDIR_
$(1))/usr
/lib
/php
;\
86 PKG_CONFIGURE_OPTS
:= \
87 --with-config-file-path
=/etc \
95 --disable-short-tags \
101 --disable-xmlreader \
102 --disable-xmlwriter \
110 ifneq ($(ADK_PACKAGE_PHP_MOD_BZ2
),)
111 PKG_CONFIGURE_OPTS
+= --with-bz2
=shared
,"$(STAGING_TARGET_DIR)/usr"
113 PKG_CONFIGURE_OPTS
+= --without-bz2
115 ifneq ($(ADK_PACKAGE_PHP_MOD_CURL
),)
116 PKG_CONFIGURE_OPTS
+= --with-curl
=shared
,"$(STAGING_TARGET_DIR)/usr"
118 PKG_CONFIGURE_OPTS
+= --without-curl
120 ifneq ($(ADK_PACKAGE_PHP_MOD_FTP
),)
121 PKG_CONFIGURE_OPTS
+= --enable-ftp
=shared
123 PKG_CONFIGURE_OPTS
+= --disable-ftp
125 ifneq ($(ADK_PACKAGE_PHP_MOD_GD
),)
126 PKG_CONFIGURE_OPTS
+= --enable-gd
=shared
128 PKG_CONFIGURE_OPTS
+= --disable-gd
130 ifneq ($(ADK_PACKAGE_PHP_MOD_GMP
),)
131 PKG_CONFIGURE_OPTS
+= --with-gmp
=shared
,"$(STAGING_TARGET_DIR)/usr"
133 PKG_CONFIGURE_OPTS
+= --without-gmp
135 ifneq ($(ADK_PACKAGE_PHP_MOD_LDAP
),)
136 PKG_CONFIGURE_OPTS
+= --with-ldap
=shared
,"$(STAGING_TARGET_DIR)/usr" \
137 --with-ldap-sasl
="$(STAGING_TARGET_DIR)/usr"
139 PKG_CONFIGURE_OPTS
+= --without-ldap
141 ifneq ($(ADK_PACKAGE_PHP_MOD_MARIADB
),)
142 PKG_CONFIGURE_OPTS
+= --with-pdo-mysql
=shared
,"$(STAGING_TARGET_DIR)/usr"
143 TARGET_CFLAGS
+= -I
$(STAGING_TARGET_DIR
)/usr
/include/mysql
145 PKG_CONFIGURE_OPTS
+= --without-pdo-mysql
147 ifneq ($(ADK_PACKAGE_PHP_MOD_OPENSSL
),)
148 PKG_CONFIGURE_OPTS
+= --with-openssl
=shared
,"$(STAGING_TARGET_DIR)/usr" \
149 --with-openssl-dir
="$(STAGING_TARGET_DIR)/usr"
151 PKG_CONFIGURE_OPTS
+= --without-openssl
153 ifneq ($(ADK_PACKAGE_PHP_MOD_PCNTL
),)
154 PKG_CONFIGURE_OPTS
+= --enable-pcntl
156 PKG_CONFIGURE_OPTS
+= --disable-pcntl
158 ifneq ($(ADK_PACKAGE_PHP_MOD_SESSION
),)
159 PKG_CONFIGURE_OPTS
+= --enable-session
=shared
161 PKG_CONFIGURE_OPTS
+= --disable-session
163 ifneq ($(ADK_PACKAGE_PHP_MOD_SNMP
),)
164 PKG_CONFIGURE_OPTS
+= --with-snmp
=shared
,"$(STAGING_TARGET_DIR)/usr"
165 CONFIGURE_ENV
+= LIBS
="-lnetsnmpmibs"
167 PKG_CONFIGURE_OPTS
+= --without-snmp
169 ifneq ($(ADK_PACKAGE_PHP_MOD_SQLITE
),)
170 PKG_CONFIGURE_OPTS
+= --with-sqlite3
="$(STAGING_TARGET_DIR)/usr"
171 PKG_CONFIGURE_OPTS
+= --with-pdo-sqlite
=shared
,"$(STAGING_TARGET_DIR)/usr"
172 PKG_CONFIGURE_OPTS
+= --enable-pdo
=shared
174 PKG_CONFIGURE_OPTS
+= --without-sqlite3
--without-pdo-sqlite
176 ifneq ($(ADK_PACKAGE_PHP_MOD_SOCKETS
),)
177 PKG_CONFIGURE_OPTS
+= --enable-sockets
=shared
179 PKG_CONFIGURE_OPTS
+= --enable-sockets
=no
181 ifneq ($(ADK_PACKAGE_PHP_MOD_XML
),)
182 PKG_CONFIGURE_OPTS
+= --enable-xml
=shared
,"$(STAGING_TARGET_DIR)/usr" \
183 --with-libexpat-dir
="$(STAGING_TARGET_DIR)/usr"
185 PKG_CONFIGURE_OPTS
+= --disable-xml
187 ifneq ($(ADK_PACKAGE_PHP_MOD_SIMPLEXML
),)
188 PKG_CONFIGURE_OPTS
+= --enable-simplexml
=shared
190 PKG_CONFIGURE_OPTS
+= --disable-simplexml
192 ifneq ($(ADK_PACKAGE_PHP_MOD_ZLIB
),)
193 PKG_CONFIGURE_OPTS
+= --with-zlib
=shared
,"$(STAGING_TARGET_DIR)/usr"
195 PKG_CONFIGURE_OPTS
+= --without-zlib
198 $(eval
$(call PKG_template
,PHP_MOD_BZ2
,php-mod-bz2
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
199 $(eval
$(call PKG_template
,PHP_MOD_CURL
,php-mod-curl
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
200 $(eval
$(call PKG_template
,PHP_MOD_FTP
,php-mod-ftp
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
201 $(eval
$(call PKG_template
,PHP_MOD_GD
,php-mod-gd
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
202 $(eval
$(call PKG_template
,PHP_MOD_GMP
,php-mod-gmp
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
203 $(eval
$(call PKG_template
,PHP_MOD_LDAP
,php-mod-ldap
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
204 $(eval
$(call PKG_template
,PHP_MOD_MARIADB
,php-mod-mariadb
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
205 $(eval
$(call PKG_template
,PHP_MOD_OPENSSL
,php-mod-openssl
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
206 $(eval
$(call PKG_template
,PHP_MOD_SESSION
,php-mod-session
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
207 $(eval
$(call PKG_template
,PHP_MOD_SNMP
,php-mod-snmp
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
208 $(eval
$(call PKG_template
,PHP_MOD_SOCKETS
,php-mod-sockets
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
209 $(eval
$(call PKG_template
,PHP_MOD_SQLITE
,php-mod-sqlite
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
210 $(eval
$(call PKG_template
,PHP_MOD_XML
,php-mod-xml
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
211 $(eval
$(call PKG_template
,PHP_MOD_SIMPLEXML
,php-mod-simplexml
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
212 $(eval
$(call PKG_template
,PHP_MOD_ZLIB
,php-mod-zlib
,$(PKG_VERSION
)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
214 $(eval
$(call PKG_mod_template
,PHP_MOD_BZ2
,bz2
))
215 $(eval
$(call PKG_mod_template
,PHP_MOD_CURL
,curl
))
216 $(eval
$(call PKG_mod_template
,PHP_MOD_FTP
,ftp
))
217 $(eval
$(call PKG_mod_template
,PHP_MOD_GD
,gd
))
218 $(eval
$(call PKG_mod_template
,PHP_MOD_GMP
,gmp
))
219 $(eval
$(call PKG_mod_template
,PHP_MOD_LDAP
,ldap
))
220 $(eval
$(call PKG_mod_template
,PHP_MOD_MARIADB
,pdo_mysql
))
221 $(eval
$(call PKG_mod_template
,PHP_MOD_OPENSSL
,openssl
))
222 $(eval
$(call PKG_mod_template
,PHP_MOD_SESSION
,session
))
223 $(eval
$(call PKG_mod_template
,PHP_MOD_SOCKETS
,sockets
))
224 $(eval
$(call PKG_mod_template
,PHP_MOD_SNMP
,snmp
))
225 $(eval
$(call PKG_mod_template
,PHP_MOD_SQLITE
,pdo pdo_sqlite
))
226 $(eval
$(call PKG_mod_template
,PHP_MOD_XML
,xml
))
227 $(eval
$(call PKG_mod_template
,PHP_MOD_SIMPLEXML
,simplexml
))
228 $(eval
$(call PKG_mod_template
,PHP_MOD_ZLIB
,zlib
))
230 INSTALL_STYLE
:= manual
231 TARGET_LDFLAGS
+= -L
$(STAGING_TARGET_DIR
)/usr
/lib
/mysql
232 CONFIGURE_ENV
+= LIBS
="-ldl"
233 CONFIGURE_ARGS
+= $(PKG_CONFIGURE_OPTS
)
235 do-install
: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
236 ${INSTALL_DIR} $(IDIR_PHP
)/etc
237 ${INSTALL_DATA} .
/files
/php.ini
$(IDIR_PHP
)/etc
238 ${INSTALL_DIR} $(IDIR_PHP_CLI
)/usr
/bin
239 ${INSTALL_BIN} $(WRKBUILD
)/sapi
/cli
/php \
240 $(IDIR_PHP_CLI
)/usr
/bin
241 ${INSTALL_DIR} $(IDIR_PHP_CGI
)/usr
/bin
242 ${INSTALL_BIN} $(WRKBUILD
)/sapi
/cgi
/php-cgi \
243 $(IDIR_PHP_CGI
)/usr
/bin
244 ${INSTALL_DIR} $(IDIR_PHP_FPM
)/etc
245 $(CP
) .
/files
/php-fpm.conf
$(IDIR_PHP_FPM
)/etc
246 ${INSTALL_DIR} $(IDIR_PHP_FPM
)/usr
/bin
247 ${INSTALL_BIN} $(WRKBUILD
)/sapi
/fpm
/php-fpm \
248 $(IDIR_PHP_FPM
)/usr
/bin
/php
250 include ${ADK_TOPDIR}/mk
/pkg-bottom.mk