-#
-# Copyright (C) 2006,2007 OpenWrt.org
+#
+# Copyright (C) 2006-2011 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-# $Id$
include $(TOPDIR)/rules.mk
PKG_NAME:=php
-PKG_VERSION:=5.2.6
+PKG_VERSION:=5.3.6
PKG_RELEASE:=2
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.php.net/distributions/
-PKG_MD5SUM:=7380ffecebd95c6edb317ef861229ebd
+PKG_MD5SUM:=2286f5a82a6e8397955a0025c1c2ad98
+
+PKG_FIXUP:=libtool no-autoreconf
+PKG_BUILD_PARALLEL:=1
+
+PHP5_MODULES = \
+ apc \
+ ctype curl \
+ fileinfo \
+ dom \
+ exif \
+ ftp \
+ gd gmp \
+ hash \
+ iconv \
+ json \
+ ldap \
+ mbstring mcrypt mysql \
+ openssl \
+ pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql \
+ session simplexml soap sockets sqlite sqlite3 sysvmsg sysvsem sysvshm \
+ tokenizer \
+ xml xmlreader xmlwriter \
+
+PKG_CONFIG_DEPENDS:= \
+ CONFIG_PACKAGE_php5-cgi CONFIG_PACKAGE_php5-cli \
+ $(patsubst %,CONFIG_PACKAGE_php5-mod-%,$(PHP5_MODULES)) \
+ CONFIG_PHP5_FILTER CONFIG_PHP5_LIBXML
include $(INCLUDE_DIR)/package.mk
+include $(INCLUDE_DIR)/nls.mk
define Package/php5/Default
SUBMENU:=PHP
CATEGORY:=Languages
TITLE:=PHP5 Hypertext preprocessor
URL:=http://www.php.net/
+ MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
+ DEPENDS:=php5
endef
define Package/php5/Default/description
- PHP is a widely-used general-purpose scripting language that is especially
- suited for Web development and can be embedded into HTML.
+ PHP is a widely-used general-purpose scripting language that is especially
+ suited for Web development and can be embedded into HTML.
+endef
+
+define Package/php5/config
+ config PHP5_FILTER
+ bool "PHP5 Filter support"
+ depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
+
+ config PHP5_LIBXML
+ bool "PHP5 LIBXML support"
+ depends on PACKAGE_php5-cli || PACKAGE_php5-cgi
endef
define Package/php5
$(call Package/php5/Default)
- DEPENDS:=+libopenssl +zlib
+
+ DEPENDS:=+libpcre +zlib \
+ +PHP5_LIBXML:libxml2 \
+ +PACKAGE_php5-mod-apc:librt \
+ +(PACKAGE_php5-mod-sqlite3||PACKAGE_php5-mod-pdo-sqlite):libsqlite3 \
+ +(PACKAGE_php5-mod-sqlite3||PACKAGE_php5-mod-pdo-sqlite):libpthread
endef
define Package/php5/description
-$(call Package/php5/Default/description)
- This package contains only the PHP config file. You must actually choose
- your PHP flavour (cli, cgi or fastcgi).
+ $(call Package/php5/Default/description)
+ This package contains only the PHP config file. You must actually choose
+ your PHP flavour (cli, cgi or fastcgi).
endef
define Package/php5-cli
$(call Package/php5/Default)
- DEPENDS:=php5
TITLE+= (CLI)
endef
define Package/php5-cli/description
-$(call Package/php5/Default/description)
- This package contains the CLI version of the PHP5 interpreter.
+ $(call Package/php5/Default/description)
+ This package contains the CLI version of the PHP5 interpreter.
endef
define Package/php5-cgi
$(call Package/php5/Default)
- DEPENDS:=php5
- TITLE+= (CGI)
+ TITLE+= (CGI & FastCGI)
endef
define Package/php5-cgi/description
-$(call Package/php5/Default/description)
- This package contains the CGI version of the PHP5 interpreter.
+ $(call Package/php5/Default/description)
+ This package contains the CGI version of the PHP5 interpreter.
endef
define Package/php5-fastcgi
$(call Package/php5/Default)
- DEPENDS:=php5
- TITLE+= (FastCGI)
+ DEPENDS+= +php5-cgi
+ TITLE:=FastCGI startup script
endef
define Package/php5-fastcgi/description
-$(call Package/php5/Default/description)
- This package contains the FastCGI version of the PHP5 interpreter.
-endef
-
-define Package/php5-mod-curl
- $(call Package/php5/Default)
- DEPENDS:=php5 +libcurl
- TITLE:=cURL module
-endef
-
-define Package/php5-mod-ftp
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=FTP module
-endef
-
-define Package/php5-mod-gd
- $(call Package/php5/Default)
- DEPENDS:=php5 +libgd
- TITLE:=GD graphics module
-endef
-
-define Package/php5-mod-gmp
- $(call Package/php5/Default)
- DEPENDS:=php5 +libgmp
- TITLE:=GMP module
-endef
-
-define Package/php5-mod-ldap
- $(call Package/php5/Default)
- DEPENDS:=php5 +libopenldap +libsasl2
- TITLE:=LDAP module
-endef
-
-define Package/php5-mod-mysql
- $(call Package/php5/Default)
- DEPENDS:=php5 +libmysqlclient
- TITLE:=MySQL module
-endef
-
-define Package/php5-mod-openssl
- $(call Package/php5/Default)
- DEPENDS:=php5 +libopenssl
- TITLE:=OpenSSL module
-endef
-
-define Package/php5-mod-pcre
- $(call Package/php5/Default)
- DEPENDS:=php5 +libpcre
- TITLE:=PCRE module
-endef
-
-define Package/php5-mod-pgsql
- $(call Package/php5/Default)
- DEPENDS:=php5 +libpq
- TITLE:=PostgreSQL module
-endef
-
-define Package/php5-mod-session
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=Session module
-endef
-
-define Package/php5-mod-sockets
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=Sockets module
+ As FastCGI support is now a core feature the php5-fastcgi package now depends
+ on the php5-cgi package, containing just the startup script.
endef
-define Package/php5-mod-sqlite
- $(call Package/php5/Default)
- DEPENDS:=php5 +libsqlite2
- TITLE:=SQLite module
-endef
-
-define Package/php5-mod-pdo
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=PHP Data Objects module
-endef
-
-define Package/php5-mod-pdo-sqlite
- $(call Package/php5/Default)
- DEPENDS:=php5-mod-pdo +libsqlite3
- TITLE:=PHP Data Objects module - SQLite support
-endef
-
-define Package/php5-mod-xml
- $(call Package/php5/Default)
- DEPENDS:=php5 +libexpat
- TITLE:=XML module
-endef
-
-define Package/php5-mod-apc
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=APC Extension
-endef
-
-define Package/php5-mod-exif
- $(call Package/php5/Default)
- DEPENDS:=php5
- TITLE:=EXIF Extension
-endef
-
-PKG_CONFIGURE_LIBS:= -lcrypto -lssl
-PKG_CONFIGURE_OPTS:= \
+CONFIGURE_ARGS+= \
--enable-shared \
--disable-static \
--disable-rpath \
--disable-debug \
--without-pear \
- --disable-spl \
\
--with-config-file-path=/etc \
- --disable-ipv6 \
+ --with-config-file-scan-dir=/etc/php5 \
--enable-magic-quotes \
- --enable-memory-limit \
--disable-short-tags \
\
- --disable-ctype \
- --disable-dom \
- --enable-ftp=shared \
--without-gettext \
- --without-iconv \
- --disable-libxml \
- --without-libxml-dir \
- --disable-xmlreader \
- --disable-xmlwriter \
- --disable-mbstring \
- --disable-mbregex \
- --with-openssl=shared,"$(STAGING_DIR)/usr" \
- --with-kerberos=no \
- --with-openssl-dir="$(STAGING_DIR)/usr" \
- --enable-session=shared \
- --disable-simplexml \
- --disable-soap \
- --enable-sockets=shared \
- --disable-tokenizer \
--with-zlib="$(STAGING_DIR)/usr" \
--with-zlib-dir="$(STAGING_DIR)/usr" \
- --disable-filter
+ --with-pcre-regex="$(STAGING_DIR)/usr" \
+ --disable-phar
ifneq ($(SDK),)
- PKG_BUILD_DEPENDS:=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libsqlite2 libexpat
+ PKG_BUILD_DEPENDS+=libopenssl zlib libcurl libgd libgmp libopenldap libmysqlclient libpq libsqlite2 libpthread libsqlite3 libpcre libxml2
# force PKG_CONFIGURE_{LIBS,OPTS} below when built in the SDK
CONFIG_PACKAGE_php5-cli:=m
CONFIG_PACKAGE_php5-cgi:=m
CONFIG_PACKAGE_php5-mod-gmp:=m
CONFIG_PACKAGE_php5-mod-ldap:=m
CONFIG_PACKAGE_php5-mod-mysql:=m
- CONFIG_PACKAGE_php5-mod-pcre:=m
CONFIG_PACKAGE_php5-mod-pgsql:=m
CONFIG_PACKAGE_php5-mod-sqlite:=m
+ CONFIG_PACKAGE_php5-mod-sqlite3:=m
CONFIG_PACKAGE_php5-mod-xml:=m
endif
+ifneq ($(CONFIG_PACKAGE_php5-cli),)
+ CONFIGURE_ARGS+= --enable-cli
+else
+ CONFIGURE_ARGS+= --disable-cli
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-cgi),)
+ CONFIGURE_ARGS+= --enable-cgi
+else
+ CONFIGURE_ARGS+= --disable-cgi
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-apc),)
+ CONFIGURE_ARGS+= --enable-apc=shared --disable-apc-mmap --disable-apc-pthreadmutex
+ CONFIGURE_LIBS+= -lrt
+else
+ CONFIGURE_ARGS+= --disable-apc
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-ctype),)
+ CONFIGURE_ARGS+= --enable-ctype=shared
+else
+ CONFIGURE_ARGS+= --disable-ctype
+endif
+
ifneq ($(CONFIG_PACKAGE_php5-mod-curl),)
- PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_DIR)/usr"
+ CONFIGURE_ARGS+= --with-curl=shared,"$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --without-curl
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-fileinfo),)
+ CONFIGURE_ARGS+= --enable-fileinfo=shared
else
- PKG_CONFIGURE_OPTS+= --without-curl
+ CONFIGURE_ARGS+= --disable-fileinfo
endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-dom),)
+ CONFIGURE_ARGS+= --enable-dom=shared
+else
+ CONFIGURE_ARGS+= --disable-dom
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-exif),)
+ CONFIGURE_ARGS+= --enable-exif=shared
+else
+ CONFIGURE_ARGS+= --disable-exif
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-ftp),)
+ CONFIGURE_ARGS+= --enable-ftp=shared
+else
+ CONFIGURE_ARGS+= --disable-ftp
+endif
+
ifneq ($(CONFIG_PACKAGE_php5-mod-gd),)
- PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_DIR)/usr" \
+ CONFIGURE_ARGS+= \
+ --with-gd=shared,"$(STAGING_DIR)/usr" \
--without-freetype-dir \
--with-jpeg-dir="$(STAGING_DIR)/usr" \
--with-png-dir="$(STAGING_DIR)/usr" \
--without-xpm-dir \
- --without-ttf \
--without-t1lib \
--enable-gd-native-ttf \
--disable-gd-jis-conv
else
- PKG_CONFIGURE_OPTS+= --without-gd
+ CONFIGURE_ARGS+= --without-gd
endif
+
ifneq ($(CONFIG_PACKAGE_php5-mod-gmp),)
- PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
+ CONFIGURE_ARGS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --without-gmp
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-hash),)
+ CONFIGURE_ARGS+= --enable-hash=shared
else
- PKG_CONFIGURE_OPTS+= --without-gmp
+ CONFIGURE_ARGS+= --disable-hash
endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-iconv),)
+ CONFIGURE_ARGS+= --with-iconv=shared,"$(ICONV_PREFIX)"
+else
+ CONFIGURE_ARGS+= --without-iconv
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-json),)
+ CONFIGURE_ARGS+= --enable-json=shared
+else
+ CONFIGURE_ARGS+= --disable-json
+endif
+
ifneq ($(CONFIG_PACKAGE_php5-mod-ldap),)
- PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_DIR)/usr" \
+ CONFIGURE_ARGS+= \
+ --with-ldap=shared,"$(STAGING_DIR)/usr" \
--with-ldap-sasl="$(STAGING_DIR)/usr"
else
- PKG_CONFIGURE_OPTS+= --without-ldap
+ CONFIGURE_ARGS+= --without-ldap
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-mysql),)
- PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-mbstring),)
+ CONFIGURE_ARGS+= --enable-mbstring=shared --enable-mbregex
else
- PKG_CONFIGURE_OPTS+= --without-mysql
+ CONFIGURE_ARGS+= --disable-mbstring
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-pcre),)
- PKG_CONFIGURE_OPTS+= --with-pcre-regex=shared,"$(STAGING_DIR)/usr"
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-mcrypt),)
+ CONFIGURE_ARGS+= --with-mcrypt=shared,"$(STAGING_DIR)/usr"
else
- PKG_CONFIGURE_OPTS+= --without-pcre-regex
+ CONFIGURE_ARGS+= --without-mcrypt
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-pgsql),)
- PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-mysql),)
+ CONFIGURE_ARGS+= --with-mysql=shared,"$(STAGING_DIR)/usr"
else
- PKG_CONFIGURE_OPTS+= --without-pgsql
+ CONFIGURE_ARGS+= --without-mysql
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite),)
- PKG_CONFIGURE_OPTS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-openssl),)
+ CONFIGURE_ARGS+= \
+ --with-openssl=shared,"$(STAGING_DIR)/usr" \
+ --with-kerberos=no \
+ --with-openssl-dir="$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --without-openssl
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-pcntl),)
+ CONFIGURE_ARGS+= --enable-pcntl=shared
else
- PKG_CONFIGURE_OPTS+= --without-sqlite
+ CONFIGURE_ARGS+= --disable-pcntl
endif
+
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo),)
- PKG_CONFIGURE_OPTS+= --enable-pdo=shared
+ CONFIGURE_ARGS+= --enable-pdo=shared
+ ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-mysql),)
+ CONFIGURE_ARGS+= --with-pdo-mysql=shared,"$(STAGING_DIR)/usr"
+ else
+ CONFIGURE_ARGS+= --without-pdo-mysql
+ endif
+ ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-pgsql),)
+ CONFIGURE_ARGS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
+ else
+ CONFIGURE_ARGS+= --without-pdo-pgsql
+ endif
ifneq ($(CONFIG_PACKAGE_php5-mod-pdo-sqlite),)
- PKG_CONFIGURE_OPTS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
+ CONFIGURE_ARGS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
+ CONFIGURE_LIBS+= -lsqlite3 -lpthread
+ else
+ CONFIGURE_ARGS+= --without-pdo-sqlite
endif
else
- PKG_CONFIGURE_OPTS+= --disable-pdo
+ CONFIGURE_ARGS+= --disable-pdo
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-xml),)
- PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_DIR)/usr" \
- --with-libexpat-dir="$(STAGING_DIR)/usr"
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-pgsql),)
+ CONFIGURE_ARGS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
else
- PKG_CONFIGURE_OPTS+= --disable-xml
+ CONFIGURE_ARGS+= --without-pgsql
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-apc),)
- PKG_CONFIGURE_OPTS+= --enable-apc --disable-apc-mmap --disable-apc-pthreadmutex
- PKG_CONFIGURE_LIBS+= -lrt
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-session),)
+ CONFIGURE_ARGS+= --enable-session=shared
else
- PKG_CONFIGURE_OPTS+= --disable-apc
+ CONFIGURE_ARGS+= --disable-session
endif
-ifneq ($(CONFIG_PACKAGE_php5-mod-exif),)
- PKG_CONFIGURE_OPTS+= --enable-exif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-simplexml),)
+ CONFIGURE_ARGS+= --enable-simplexml=shared
else
- PKG_CONFIGURE_OPTS+= --disable-exif
+ CONFIGURE_ARGS+= --disable-simplexml
endif
-define Build/Configure
-endef
+ifneq ($(CONFIG_PACKAGE_php5-mod-soap),)
+ CONFIGURE_ARGS+= --enable-soap=shared
+else
+ CONFIGURE_ARGS+= --disable-soap
+endif
-ifneq ($(CONFIG_PACKAGE_php5-cli),)
- define Build/Compile/php5-cli
- -$(MAKE) -C $(PKG_BUILD_DIR) clean
- $(call Build/Configure/Default, \
- $(PKG_CONFIGURE_OPTS) \
- --enable-cli \
- --disable-cgi \
- --disable-fastcgi \
- --enable-force-cgi-redirect \
- --enable-discard-path \
- , \
- LIBS="$(PKG_CONFIGURE_LIBS)" \
- php_cv_cc_rpath="no" \
- )
- $(MAKE) -C $(PKG_BUILD_DIR)
- mv $(PKG_BUILD_DIR)/sapi/cli/php $(PKG_BUILD_DIR)/php-cli
- endef
+ifneq ($(CONFIG_PACKAGE_php5-mod-sockets),)
+ CONFIGURE_ARGS+= --enable-sockets=shared
+else
+ CONFIGURE_ARGS+= --disable-sockets
endif
-ifneq ($(CONFIG_PACKAGE_php5-cgi),)
- define Build/Compile/php5-cgi
- -$(MAKE) -C $(PKG_BUILD_DIR) clean
- $(call Build/Configure/Default, \
- $(PKG_CONFIGURE_OPTS) \
- --disable-cli \
- --enable-cgi \
- --disable-fastcgi \
- --enable-force-cgi-redirect \
- --enable-discard-path \
- , \
- LIBS="$(PKG_CONFIGURE_LIBS)" \
- php_cv_cc_rpath="no" \
- )
- $(MAKE) -C $(PKG_BUILD_DIR)
- mv $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(PKG_BUILD_DIR)/php-cgi
- endef
+ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite),)
+ CONFIGURE_ARGS+= --with-sqlite=shared,"$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --without-sqlite
endif
-ifneq ($(CONFIG_PACKAGE_php5-fastcgi),)
- define Build/Compile/php5-fastcgi
- -$(MAKE) -C $(PKG_BUILD_DIR) clean
- rm $(PKG_BUILD_DIR)/configure
- cd $(PKG_BUILD_DIR) && ./buildconf --force
- $(call Build/Configure/Default, \
- $(PKG_CONFIGURE_OPTS) \
- --disable-cli \
- --enable-cgi \
- --enable-fastcgi \
- --enable-force-cgi-redirect \
- --enable-discard-path \
- , \
- LIBS="$(PKG_CONFIGURE_LIBS)" \
- php_cv_cc_rpath="no" \
- )
- $(MAKE) -C $(PKG_BUILD_DIR)
- mv $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(PKG_BUILD_DIR)/php-fcgi
- endef
+ifneq ($(CONFIG_PACKAGE_php5-mod-sqlite3),)
+ CONFIGURE_ARGS+= --with-sqlite3=shared,"$(STAGING_DIR)/usr"
+ CONFIGURE_LIBS+= -lsqlite3 -lpthread
+else
+ CONFIGURE_ARGS+= --without-sqlite3
endif
-define Build/Compile
- $(call Build/Compile/php5-cli)
- $(call Build/Compile/php5-cgi)
- $(call Build/Compile/php5-fastcgi)
-endef
+ifneq ($(CONFIG_PACKAGE_php5-mod-sysvmsg),)
+ CONFIGURE_ARGS+= --enable-sysvmsg=shared
+else
+ CONFIGURE_ARGS+= --disable-sysvmsg
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-sysvsem),)
+ CONFIGURE_ARGS+= --enable-sysvsem=shared
+else
+ CONFIGURE_ARGS+= --disable-sysvsem
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-sysvshm),)
+ CONFIGURE_ARGS+= --enable-sysvshm=shared
+else
+ CONFIGURE_ARGS+= --disable-sysvshm
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-tokenizer),)
+ CONFIGURE_ARGS+= --enable-tokenizer=shared
+else
+ CONFIGURE_ARGS+= --disable-tokenizer
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-xml),)
+ CONFIGURE_ARGS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
+ ifneq ($(CONFIG_PHP5_LIBXML),)
+ CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
+ else
+ CONFIGURE_ARGS+= --with-libexpat-dir="$(STAGING_DIR)/usr"
+ endif
+else
+ CONFIGURE_ARGS+= --disable-xml
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-xmlreader),)
+ CONFIGURE_ARGS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --disable-xmlreader
+endif
+
+ifneq ($(CONFIG_PACKAGE_php5-mod-xmlwriter),)
+ CONFIGURE_ARGS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
+else
+ CONFIGURE_ARGS+= --disable-xmlwriter
+endif
+
+ifneq ($(CONFIG_PHP5_FILTER),)
+ CONFIGURE_ARGS+= --enable-filter
+else
+ CONFIGURE_ARGS+= --disable-filter
+endif
+
+ifneq ($(CONFIG_PHP5_LIBXML),)
+ CONFIGURE_ARGS+= --enable-libxml
+ CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
+else
+ CONFIGURE_ARGS+= --disable-libxml
+endif
+
+CONFIGURE_VARS+= \
+ LIBS="$(CONFIGURE_LIBS)" \
+ ac_cv_c_bigendian_php=$(if $(CONFIG_BIG_ENDIAN),yes,no) \
+ php_cv_cc_rpath="no" \
+ iconv_impl_name="gnu_libiconv" \
+ ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
define Package/php5/conffiles
/etc/php.ini
define Package/php5-cli/install
$(INSTALL_DIR) $(1)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/php-cli $(1)/usr/bin/php-cli
+ $(CP) $(PKG_BUILD_DIR)/sapi/cli/php $(1)/usr/bin/php-cli
endef
define Package/php5-cgi/install
$(INSTALL_DIR) $(1)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/php-cgi $(1)/usr/bin/php-cgi
+ $(CP) $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(1)/usr/bin/php-cgi
+ ln -sf php-cgi $(1)/usr/bin/php-fcgi
endef
define Package/php5-fastcgi/install
- $(INSTALL_DIR) $(1)/usr/bin
- $(CP) $(PKG_BUILD_DIR)/php-fcgi $(1)/usr/bin/php-fcgi
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/php.init $(1)/etc/init.d/php
endef
-define BuildPlugin
- define Package/$(1)/install
- [ -z "$(2)" ] || $(INSTALL_DIR) $$(1)/usr/lib/php
- for m in $(2); do \
- $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$$$$$$$${m}.so $$(1)/usr/lib/php/ ; \
- done
+define BuildModule
+
+ define Package/php5-mod-$(1)
+ $(call Package/php5/Default)
+
+ ifneq ($(3),)
+ DEPENDS+=$(3)
+ endif
+
+ TITLE:=$(2) shared module
+ endef
+
+ define Package/php5-mod-$(1)/install
+ $(INSTALL_DIR) $$(1)/usr/lib/php
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$(subst -,_,$(1)).so $$(1)/usr/lib/php/
+ $(INSTALL_DIR) $$(1)/etc/php5
+ echo "extension=$(subst -,_,$(1)).so" > $$(1)/etc/php5/$(subst -,_,$(1)).ini
endef
- $$(eval $$(call BuildPackage,$(1)))
+ $$(eval $$(call BuildPackage,php5-mod-$(1)))
+
endef
$(eval $(call BuildPackage,php5))
$(eval $(call BuildPackage,php5-cli))
$(eval $(call BuildPackage,php5-cgi))
$(eval $(call BuildPackage,php5-fastcgi))
-$(eval $(call BuildPlugin,php5-mod-curl,curl))
-$(eval $(call BuildPlugin,php5-mod-ftp,ftp))
-$(eval $(call BuildPlugin,php5-mod-gd,gd))
-$(eval $(call BuildPlugin,php5-mod-gmp,gmp))
-$(eval $(call BuildPlugin,php5-mod-ldap,ldap))
-$(eval $(call BuildPlugin,php5-mod-mysql,mysql))
-$(eval $(call BuildPlugin,php5-mod-openssl,openssl))
-$(eval $(call BuildPlugin,php5-mod-pcre,pcre))
-$(eval $(call BuildPlugin,php5-mod-pgsql,pgsql))
-$(eval $(call BuildPlugin,php5-mod-session,session))
-$(eval $(call BuildPlugin,php5-mod-sockets,sockets))
-$(eval $(call BuildPlugin,php5-mod-sqlite,sqlite))
-$(eval $(call BuildPlugin,php5-mod-pdo,pdo))
-$(eval $(call BuildPlugin,php5-mod-pdo-sqlite,pdo_sqlite))
-$(eval $(call BuildPlugin,php5-mod-xml,xml))
-$(eval $(call BuildPlugin,php5-mod-apc))
-$(eval $(call BuildPlugin,php5-mod-exif))
+
+#$(eval $(call BuildModule,NAME,TITLE[,PKG DEPENDS]))
+$(eval $(call BuildModule,apc,APC,+librt))
+$(eval $(call BuildModule,ctype,Ctype))
+$(eval $(call BuildModule,curl,cURL,+libcurl))
+$(eval $(call BuildModule,fileinfo,Fileinfo,+libmagic))
+$(eval $(call BuildModule,dom,DOM,@PHP5_LIBXML +libxml2))
+$(eval $(call BuildModule,exif,EXIF))
+$(eval $(call BuildModule,ftp,FTP))
+$(eval $(call BuildModule,gd,GD graphics,+libgd))
+$(eval $(call BuildModule,gmp,GMP,+libgmp))
+$(eval $(call BuildModule,hash,Hash))
+$(eval $(call BuildModule,iconv,iConv,+libiconv))
+$(eval $(call BuildModule,json,JSON))
+$(eval $(call BuildModule,ldap,LDAP,+libopenldap +libsasl2))
+$(eval $(call BuildModule,mbstring,MBString))
+$(eval $(call BuildModule,mcrypt,Mcrypt,+libmcrypt +libltdl))
+$(eval $(call BuildModule,mysql,MySQL,+libmysqlclient))
+$(eval $(call BuildModule,openssl,OpenSSL,+libopenssl))
+$(eval $(call BuildModule,pcntl,PCNTL))
+$(eval $(call BuildModule,pdo,PHP Data Objects))
+$(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,php5-mod-pdo +libmysqlclient))
+$(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,php5-mod-pdo +libpq))
+$(eval $(call BuildModule,pdo-sqlite,PDO driver for SQLite 3.x,php5-mod-pdo +libsqlite3 +libpthread))
+$(eval $(call BuildModule,pgsql,PostgreSQL,+libpq))
+$(eval $(call BuildModule,session,Session))
+$(eval $(call BuildModule,simplexml,SimpleXML,@PHP5_LIBXML +libxml2))
+$(eval $(call BuildModule,soap,SOAP,@PHP5_LIBXML +libxml2))
+$(eval $(call BuildModule,sockets,Sockets))
+$(eval $(call BuildModule,sqlite,SQLite 2.x,+libsqlite2))
+$(eval $(call BuildModule,sqlite3,SQLite3,+libsqlite3 +libpthread))
+$(eval $(call BuildModule,sysvmsg,System V messages))
+$(eval $(call BuildModule,sysvsem,System V shared memory))
+$(eval $(call BuildModule,sysvshm,System V semaphore))
+$(eval $(call BuildModule,tokenizer,Tokenizer))
+$(eval $(call BuildModule,xml,XML,+PHP5_LIBXML:libxml2 +!PHP5_LIBXML:libexpat))
+$(eval $(call BuildModule,xmlreader,XMLReader,@PHP5_LIBXML +libxml2 +libiconv))
+$(eval $(call BuildModule,xmlwriter,XMLWriter,@PHP5_LIBXML +libxml2 +libiconv))