Add php package
authorUlf Samuelsson <ulf.samuelsson@atmel.com>
Tue, 7 Aug 2007 17:47:03 +0000 (17:47 -0000)
committerUlf Samuelsson <ulf.samuelsson@atmel.com>
Tue, 7 Aug 2007 17:47:03 +0000 (17:47 -0000)
package/Config.in
package/php/Config.in [new file with mode: 0644]
package/php/php.mk [new file with mode: 0644]

index cd37c6bacef9faae7af15e2d2ee2223039b8d463..b180962e40218a9bfb17d03f326773fffdd6e1cc 100644 (file)
@@ -367,6 +367,7 @@ source "package/microperl/Config.in"
 source "package/python/Config.in"
 source "package/ruby/Config.in"
 source "package/tcl/Config.in"
+source "package/php/Config.in"
 endif
 
 endmenu
diff --git a/package/php/Config.in b/package/php/Config.in
new file mode 100644 (file)
index 0000000..e8e861d
--- /dev/null
@@ -0,0 +1,47 @@
+config BR2_PACKAGE_PHP
+       bool "php"
+       default n
+       help
+         PHP  is a widely-used general-purpose scripting
+         language that is especially suited for Web development
+         and can be embedded into HTML.
+
+         http://www.php.net
+
+config BR2_PACKAGE_PHP_CLI
+        bool "cli interface"
+        depends on BR2_PACKAGE_PHP
+        default y
+        help
+          command line interface for php. 
+          you must have at least cli or cgi selected.
+
+config BR2_PACKAGE_PHP_CGI
+        bool "cgi interface"
+        depends on BR2_PACKAGE_PHP
+        default y
+        help
+          cgi interface for php
+          you must have at least cli or cgi selected.
+
+config BR2_PACKAGE_PHP_OPENSSL
+        bool "openssl support"
+        depends on BR2_PACKAGE_PHP && BR2_PACKAGE_OPENSSL
+        default y
+        help
+          openssl support
+
+config BR2_PACKAGE_PHP_XML2
+        bool "xml2 support"
+        depends on BR2_PACKAGE_PHP && BR2_PACKAGE_LIBXML2
+        default y
+        help
+          xml support
+
+config BR2_PACKAGE_PHP_ZLIB
+        bool "zlib support"
+        depends on BR2_PACKAGE_PHP && BR2_PACKAGE_ZLIB
+        default y
+        help
+          zlib support
+
diff --git a/package/php/php.mk b/package/php/php.mk
new file mode 100644 (file)
index 0000000..cf4422f
--- /dev/null
@@ -0,0 +1,127 @@
+#############################################################
+#
+# php
+#
+#############################################################
+PHP_VER:=5.2.3
+PHP_SOURCE:=php-$(PHP_VER).tar.bz2
+PHP_SITE:=http://us.php.net/get/${PHP_SOURCE}/from/us2.php.net/mirror
+PHP_DIR:=$(BUILD_DIR)/php-$(PHP_VER)
+PHP_CAT=bzcat
+PHP_DEPS=
+PHP_TARGET_DEPS=
+
+ifneq ($(BR2_PACKAGE_PHP_CLI),y)
+       PHP_CLI="--disable-cli"
+else
+       PHP_CLI="--enable-cli"
+       PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php
+endif
+
+ifneq ($(BR2_PACKAGE_PHP_CGI),y)
+       PHP_CGI="--disable-cgi"
+else
+       PHP_CGI="--enable-cgi"
+       PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php-cgi
+endif
+
+ifeq ($(BR2_PACKAGE_PHP_OPENSSL),y)
+       PHP_OPENSSL="--with-openssl=$(STAGING_DIR)/usr"
+       PHP_DEPS+=openssl
+endif
+
+ifeq ($(BR2_PACKAGE_PHP_XML2),y)
+       PHP_XML=--enable-libxml \
+               --with-libxml-dir=${STAGING_DIR}/usr \
+                --enable-xml \
+                --enable-xmlreader \
+                --enable-xmlwriter
+       PHP_DEPS+=libxml2
+endif
+
+ifeq ($(BR2_PACKAGE_PHP_ZLIB),y)
+       PHP_ZLIB="--with-zlib=$(STAGING_DIR)/usr"
+       PHP_DEPS+=zlib
+endif
+
+
+$(DL_DIR)/$(PHP_SOURCE):
+        $(WGET) -P $(DL_DIR) $(PHP_SITE)
+
+php-source: $(DL_DIR)/$(PHP_SOURCE)
+
+$(PHP_DIR)/.unpacked: $(DL_DIR)/$(PHP_SOURCE)
+       $(PHP_CAT) $(DL_DIR)/$(PHP_SOURCE) | tar -C $(BUILD_DIR) $(TAR_OPTIONS) -
+       touch $(PHP_DIR)/.unpacked
+
+$(PHP_DIR)/.configured: $(PHP_DIR)/.unpacked
+       (cd $(PHP_DIR); rm -rf config.cache; \
+               $(TARGET_CONFIGURE_OPTS) \
+               $(TARGET_CONFIGURE_ARGS) \
+               CC=$(TARGET_CC) \
+               ./configure \
+               --target=$(GNU_TARGET_NAME) \
+               --host=$(GNU_TARGET_NAME) \
+               --build=$(GNU_HOST_NAME) \
+               --prefix=/usr \
+               --exec-prefix=/ \
+               --bindir=/usr/bin \
+               --sbindir=/usr/sbin \
+               --libexecdir=/usr/lib \
+               --sysconfdir=/etc \
+               --datadir=/usr/share/misc \
+               --localstatedir=/var \
+               --mandir=/usr/man \
+               --infodir=/usr/info \
+               --disable-all \
+               --enable-spl \
+               --enable-session \
+               --enable-sockets \
+               --with-pcre-regex \
+               --without-pear \
+               --disable-ipv6 \
+               $(DISABLE_NLS) \
+               $(PHP_OPENSSL) \
+               $(PHP_XML) \
+               $(PHP_CLI) \
+               $(PHP_CGI) \
+               $(PHP_ZLIB) \
+       );
+       touch $(PHP_DIR)/.configured
+
+$(PHP_DIR)/.built: $(PHP_DIR)/.configured
+       $(MAKE) CC=$(TARGET_CC) -C $(PHP_DIR)
+       touch $(PHP_DIR)/.built
+
+$(PHP_DIR)/.staged: $(PHP_DIR)/.built
+       $(MAKE) DESTDIR=$(STAGING_DIR) INSTALL_ROOT=$(STAGING_DIR) CC=$(TARGET_CC) -C $(PHP_DIR) install
+       touch $(PHP_DIR)/.staged
+
+$(TARGET_DIR)/usr/bin/php: $(PHP_DIR)/.staged
+       cp -dpf $(STAGING_DIR)/usr/bin/php $(TARGET_DIR)/usr/bin/php
+       chmod 755 $(TARGET_DIR)/usr/bin/php
+
+$(TARGET_DIR)/usr/bin/php-cgi: $(PHP_DIR)/.staged
+       cp -dpf $(STAGING_DIR)/usr/bin/php-cgi $(TARGET_DIR)/usr/bin/php-cgi
+       chmod 755 $(TARGET_DIR)/usr/bin/php-cgi
+
+$(TARGET_DIR)/etc/php.ini: $(PHP_DIR)/.staged
+       cp $(PHP_DIR)/php.ini-dist $(TARGET_DIR)/etc/php.ini
+
+php: uclibc $(PHP_DEPS) $(PHP_TARGET_DEPS) $(TARGET_DIR)/etc/php.ini
+
+php-clean:
+       rm -f $(PHP_DIR)/.configured $(PHP_DIR)/.built $(PHP_DIR)/.staged
+       -$(MAKE) -C $(PHP_DIR) clean
+
+php-dirclean:
+       rm -rf $(PHP_DIR)
+
+#############################################################
+#
+# Toplevel Makefile options
+#
+#############################################################
+ifeq ($(strip $(BR2_PACKAGE_PHP)),y)
+TARGETS+=php
+endif