2 # Copyright (C) 2006-2010 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
14 PKG_SOURCE:=php-$(PKG_VERSION).tar.bz2
15 PKG_SOURCE_URL:=http://www.php.net/distributions/
16 PKG_MD5SUM:=2e3b2a0e27f10cb84fd00e5ecd7a1880
17 PKG_BUILD_DIR:=$(BUILD_DIR)/php-$(PKG_VERSION)
19 include $(INCLUDE_DIR)/package.mk
21 define Package/php4/Default
25 TITLE:=PHP4 Hypertext preprocessor
26 DEPENDS:=@!TARGET_ixp4xx
27 URL:=http://www.php.net/
30 define Package/php4/Default/description
31 PHP is a widely-used general-purpose scripting language that is especially
32 suited for Web development and can be embedded into HTML.
36 $(call Package/php4/Default)
37 DEPENDS:=+libopenssl +zlib
40 define Package/php4/description
41 $(call Package/php4/Default/description)
42 This package contains only the PHP config file. You must actually choose
43 your PHP flavour (cli, cgi or fastcgi).
46 define Package/php4-cli
47 $(call Package/php4/Default)
52 define Package/php4-cli/description
53 $(call Package/php4/Default/description)
54 This package contains the CLI version of the PHP4 interpreter.
57 define Package/php4-cgi
58 $(call Package/php4/Default)
63 define Package/php4-cgi/description
64 $(call Package/php4/Default/description)
65 This package contains the CGI version of the PHP4 interpreter.
68 define Package/php4-fastcgi
69 $(call Package/php4/Default)
74 define Package/php4-fastcgi/description
75 $(call Package/php4/Default/description)
76 This package contains the FastCGI version of the PHP4 interpreter.
79 define Package/php4-mod-curl
80 $(call Package/php4/Default)
81 DEPENDS:=php4 +libcurl
85 define Package/php4-mod-ftp
86 $(call Package/php4/Default)
91 define Package/php4-mod-gd
92 $(call Package/php4/Default)
94 TITLE:=GD graphics module
97 define Package/php4-mod-gmp
98 $(call Package/php4/Default)
103 define Package/php4-mod-ldap
104 $(call Package/php4/Default)
105 DEPENDS:=php4 +libopenldap
109 define Package/php4-mod-mysql
110 $(call Package/php4/Default)
111 DEPENDS:=php4 +libmysqlclient
115 define Package/php4-mod-openssl
116 $(call Package/php4/Default)
117 DEPENDS:=php4 +libopenssl
118 TITLE:=OpenSSL module
121 define Package/php4-mod-pcre
122 $(call Package/php4/Default)
123 DEPENDS:=php4 +libpcre
127 define Package/php4-mod-pgsql
128 $(call Package/php4/Default)
130 TITLE:=PostgreSQL module
133 define Package/php4-mod-session
134 $(call Package/php4/Default)
136 TITLE:=Session module
139 define Package/php4-mod-sockets
140 $(call Package/php4/Default)
142 TITLE:=Sockets module
145 define Package/php4-mod-xml
146 $(call Package/php4/Default)
147 DEPENDS:=php4 +libexpat
151 PKG_CONFIGURE_LIBS:= -lcrypto -lssl
152 PKG_CONFIGURE_OPTS:= \
159 --with-config-file-path=/etc \
160 --enable-magic-quotes \
161 --enable-memory-limit \
163 --disable-short-tags \
167 --enable-ftp=shared \
172 --with-openssl=shared,"$(STAGING_DIR)/usr" \
174 --with-openssl-dir="$(STAGING_DIR)/usr" \
175 --enable-session=shared \
176 --enable-sockets=shared \
177 --disable-tokenizer \
178 --with-zlib="$(STAGING_DIR)/usr" \
179 --with-zlib-dir="$(STAGING_DIR)/usr" \
182 PKG_BUILD_DEPENDS:=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libexpat
183 # force PKG_CONFIGURE_{LIBS,OPTS} below when built in the SDK
184 CONFIG_PACKAGE_php4-cli:=m
185 CONFIG_PACKAGE_php4-cgi:=m
186 CONFIG_PACKAGE_php4-fastcgi:=m
187 CONFIG_PACKAGE_php4-mod-curl:=m
188 CONFIG_PACKAGE_php4-mod-gd:=m
189 CONFIG_PACKAGE_php4-mod-gmp:=m
190 CONFIG_PACKAGE_php4-mod-ldap:=m
191 CONFIG_PACKAGE_php4-mod-mysql:=m
192 CONFIG_PACKAGE_php4-mod-pcre:=m
193 CONFIG_PACKAGE_php4-mod-pgsql:=m
194 CONFIG_PACKAGE_php4-mod-xml:=m
197 ifneq ($(CONFIG_PACKAGE_php4-mod-curl),)
198 PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_DIR)/usr"
200 PKG_CONFIGURE_OPTS+= --without-curl
202 ifneq ($(CONFIG_PACKAGE_php4-mod-gd),)
203 PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
204 --without-freetype-dir \
205 --with-jpeg-dir="$(STAGING_DIR)/usr" \
206 --with-png-dir="$(STAGING_DIR)/usr" \
210 --enable-gd-native-ttf \
211 --disable-gd-jis-conv
213 PKG_CONFIGURE_OPTS+= --without-gd
215 ifneq ($(CONFIG_PACKAGE_php4-mod-gmp),)
216 PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
218 PKG_CONFIGURE_OPTS+= --without-gmp
220 ifneq ($(CONFIG_PACKAGE_php4-mod-ldap),)
221 PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_DIR)/usr"
222 --with-ldap-sasl="$(STAGING_DIR)/usr"
224 PKG_CONFIGURE_OPTS+= --without-ldap
226 ifneq ($(CONFIG_PACKAGE_php4-mod-mysql),)
227 PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
229 PKG_CONFIGURE_OPTS+= --without-mysql
231 ifneq ($(CONFIG_PACKAGE_php4-mod-pcre),)
232 PKG_CONFIGURE_OPTS+= --with-pcre-regex=shared,"$(STAGING_DIR)/usr"
234 PKG_CONFIGURE_OPTS+= --without-pcre-regex
236 ifneq ($(CONFIG_PACKAGE_php4-mod-pgsql),)
237 PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
239 PKG_CONFIGURE_OPTS+= --without-pgsql
241 ifneq ($(CONFIG_PACKAGE_php4-mod-xml),)
242 PKG_CONFIGURE_OPTS+= --enable-xml=shared \
243 --with-expat-dir="$(STAGING_DIR)/usr"
245 PKG_CONFIGURE_OPTS+= --disable-xml
248 define Build/Configure
251 TARGET_CFLAGS += $(if $(CONFIG_BIG_ENDIAN),-DIEEE_BIG_ENDIAN,-DIEEE_LITTLE_ENDIAN) $(FPIC)
253 ifneq ($(CONFIG_PACKAGE_php4-cli),)
254 define Build/Compile/php4-cli
255 -$(MAKE) -C $(PKG_BUILD_DIR) clean
256 $(call Build/Configure/Default, \
257 $(PKG_CONFIGURE_OPTS) \
261 --enable-force-cgi-redirect \
262 --enable-discard-path \
264 LIBS="$(PKG_CONFIGURE_LIBS)" \
265 php_cv_cc_rpath="no" \
267 LD_LIBRARY_PATH="" $(MAKE) -C $(PKG_BUILD_DIR)
268 mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
272 ifneq ($(CONFIG_PACKAGE_php4-cgi),)
273 define Build/Compile/php4-cgi
274 -$(MAKE) -C $(PKG_BUILD_DIR) clean
275 $(call Build/Configure/Default, \
276 $(PKG_CONFIGURE_OPTS) \
280 --enable-force-cgi-redirect \
281 --enable-discard-path \
283 LIBS="$(PKG_CONFIGURE_LIBS)" \
284 php_cv_cc_rpath="no" \
286 LD_LIBRARY_PATH="" $(MAKE) -C $(PKG_BUILD_DIR)
287 mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-cgi
291 ifneq ($(CONFIG_PACKAGE_php4-fastcgi),)
292 define Build/Compile/php4-fastcgi
293 -$(MAKE) -C $(PKG_BUILD_DIR) clean
294 $(call Build/Configure/Default, \
295 $(PKG_CONFIGURE_OPTS) \
299 --enable-force-cgi-redirect \
300 --enable-discard-path \
302 LIBS="$(PKG_CONFIGURE_LIBS)" \
303 php_cv_cc_rpath="no" \
305 LD_LIBRARY_PATH="" $(MAKE) -C $(PKG_BUILD_DIR)
306 mv $(PKG_BUILD_DIR)/sapi/cgi/php $(PKG_BUILD_DIR)/php-fastcgi
311 $(call Build/Compile/php4-cli)
312 $(call Build/Compile/php4-cgi)
313 $(call Build/Compile/php4-fastcgi)
316 define Package/php4/conffiles
320 define Package/php4/install
321 $(INSTALL_DIR) $(1)/etc
322 $(INSTALL_DATA) ./files/php.ini $(1)/etc/
325 define Package/php4-cli/install
326 $(INSTALL_DIR) $(1)/usr/bin
327 $(CP) $(PKG_BUILD_DIR)/php-cli $(1)/usr/bin/php
330 define Package/php4-cgi/install
331 $(INSTALL_DIR) $(1)/usr/bin
332 $(CP) $(PKG_BUILD_DIR)/php-cgi $(1)/usr/bin/php
335 define Package/php4-fastcgi/install
336 $(INSTALL_DIR) $(1)/usr/sbin
337 $(CP) $(PKG_BUILD_DIR)/php-fastcgi $(1)/usr/sbin/php
338 $(INSTALL_DIR) $(1)/etc/init.d
339 $(INSTALL_BIN) ./files/php.init $(1)/etc/init.d/php
343 define Package/$(1)/install
344 [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/php
346 $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$$$$$$$${m}.so $$(1)/usr/lib/php/ ; \
350 $$(eval $$(call BuildPackage,$(1)))
353 $(eval $(call BuildPackage,php4))
354 $(eval $(call BuildPackage,php4-cli))
355 $(eval $(call BuildPackage,php4-cgi))
356 $(eval $(call BuildPackage,php4-fastcgi))
357 $(eval $(call BuildPlugin,php4-mod-curl,curl))
358 $(eval $(call BuildPlugin,php4-mod-ftp,ftp))
359 $(eval $(call BuildPlugin,php4-mod-gd,gd))
360 $(eval $(call BuildPlugin,php4-mod-gmp,gmp))
361 $(eval $(call BuildPlugin,php4-mod-ldap,ldap))
362 $(eval $(call BuildPlugin,php4-mod-mysql,mysql))
363 $(eval $(call BuildPlugin,php4-mod-openssl,openssl))
364 $(eval $(call BuildPlugin,php4-mod-pcre,pcre))
365 $(eval $(call BuildPlugin,php4-mod-pgsql,pgsql))
366 $(eval $(call BuildPlugin,php4-mod-session,session))
367 $(eval $(call BuildPlugin,php4-mod-sockets,sockets))
368 $(eval $(call BuildPlugin,php4-mod-xml,xml))