| ############################################################# |
| # |
| # php |
| # |
| ############################################################# |
| |
| PHP_VERSION = 5.2.17 |
| PHP_SOURCE = php-$(PHP_VERSION).tar.bz2 |
| PHP_SITE = http://www.php.net/distributions |
| PHP_INSTALL_STAGING = YES |
| PHP_INSTALL_STAGING_OPT = INSTALL_ROOT=$(STAGING_DIR) install |
| PHP_INSTALL_TARGET_OPT = INSTALL_ROOT=$(TARGET_DIR) install |
| PHP_LIBTOOL_PATCH = NO |
| PHP_CONF_OPT = --mandir=/usr/share/man \ |
| --infodir=/usr/share/info \ |
| --disable-all \ |
| --without-pear \ |
| --with-config-file-path=/etc \ |
| --localstatedir=/var \ |
| |
| PHP_CFLAGS = $(TARGET_CFLAGS) |
| |
| ifneq ($(BR2_PACKAGE_PHP_CLI),y) |
| PHP_CONF_OPT += --disable-cli |
| else |
| PHP_CONF_OPT += --enable-cli |
| endif |
| |
| ifneq ($(BR2_PACKAGE_PHP_CGI),y) |
| PHP_CONF_OPT += --disable-cgi |
| else |
| PHP_CONF_OPT += --enable-cgi |
| ifeq ($(BR2_PACKAGE_PHP_FASTCGI),y) |
| PHP_CONF_OPT += --enable-fastcgi |
| endif |
| endif |
| |
| ### Extensions |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SOCKETS),y) |
| PHP_CONF_OPT += --enable-sockets |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_POSIX),y) |
| PHP_CONF_OPT += --enable-posix |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SPL),y) |
| PHP_CONF_OPT += --enable-spl |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SESSION),y) |
| PHP_CONF_OPT += --enable-session |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_OPENSSL),y) |
| PHP_CONF_OPT += --with-openssl=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += openssl |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y) |
| PHP_CONF_OPT += --enable-libxml \ |
| --with-libxml-dir=${STAGING_DIR}/usr \ |
| --enable-xml \ |
| --enable-xmlreader \ |
| --enable-xmlwriter |
| PHP_DEPENDENCIES += libxml2 |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SIMPLEXML),y) |
| PHP_CONF_OPT += --enable-simplexml |
| endif |
| |
| ifneq ($(BR2_PACKAGE_PHP_EXT_ZLIB)$(BR2_PACKAGE_PHP_EXT_ZIP),) |
| PHP_CONF_OPT += --with-zlib=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += zlib |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_EXIF),y) |
| PHP_CONF_OPT += --enable-exif |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_FTP),y) |
| PHP_CONF_OPT += --enable-ftp |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_GETTEXT),y) |
| PHP_CONF_OPT += --with-gettext=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += $(if $(BR2_NEEDS_GETTEXT),gettext) |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y) |
| PHP_CONF_OPT += --with-gmp=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += gmp |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_JSON),y) |
| PHP_CONF_OPT += --enable-json |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_READLINE),y) |
| PHP_CONF_OPT += --with-readline=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += readline |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_NCURSES),y) |
| PHP_CONF_OPT += --with-ncurses=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += ncurses |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PCNTL),y) |
| PHP_CONF_OPT += --enable-pcntl |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVMSG),y) |
| PHP_CONF_OPT += --enable-sysvmsg |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSEM),y) |
| PHP_CONF_OPT += --enable-sysvsem |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSHM),y) |
| PHP_CONF_OPT += --enable-sysvshm |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y) |
| PHP_CONF_OPT += --enable-zip |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_FILTER),y) |
| PHP_CONF_OPT += --enable-filter |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_CALENDAR),y) |
| PHP_CONF_OPT += --enable-calendar |
| endif |
| |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PCRE),y) |
| PHP_CONF_OPT += --with-pcre-regex |
| endif |
| |
| ### Legacy sqlite2 support |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y) |
| PHP_CONF_OPT += --with-sqlite |
| ifneq ($(BR2_LARGEFILE),y) |
| PHP_CFLAGS += -DSQLITE_DISABLE_LFS |
| endif |
| ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE_UTF8),y) |
| PHP_CONF_OPT += --enable-sqlite-utf8 |
| endif |
| endif |
| |
| ### PDO |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PDO),y) |
| PHP_CONF_OPT += --enable-pdo |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_SQLITE),y) |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_SQLITE_EXTERNAL),y) |
| PHP_CONF_OPT += --with-pdo-sqlite=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += sqlite |
| else |
| PHP_CONF_OPT += --with-pdo-sqlite |
| endif |
| PHP_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION |
| ifneq ($(BR2_LARGEFILE),y) |
| PHP_CFLAGS += -DSQLITE_DISABLE_LFS |
| endif |
| endif |
| ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_MYSQL),y) |
| PHP_CONF_OPT += --with-pdo-mysql=$(STAGING_DIR)/usr |
| PHP_DEPENDENCIES += mysql_client |
| endif |
| endif |
| |
| define PHP_INSTALL_FIXUP |
| rm -rf $(TARGET_DIR)/usr/lib/php |
| rm -f $(TARGET_DIR)/usr/bin/phpize |
| rm -f $(TARGET_DIR)/usr/bin/php-config |
| if [ ! -f $(TARGET_DIR)/etc/php.ini ]; then \ |
| $(INSTALL) -m 0755 $(BR2_PACKAGE_PHP_CONFIG) $(TARGET_DIR)/etc/php.ini; fi |
| endef |
| |
| PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FIXUP |
| |
| define PHP_UNINSTALL_STAGING_CMDS |
| rm -rf $(STAGING_DIR)/usr/include/php |
| rm -rf $(STAGING_DIR)/usr/lib/php |
| rm -f $(STAGING_DIR)/usr/bin/php* |
| rm -f $(STAGING_DIR)/usr/share/man/man1/php*.1 |
| endef |
| |
| define PHP_UNINSTALL_TARGET_CMDS |
| rm -f $(TARGET_DIR)/etc/php.ini |
| rm -f $(TARGET_DIR)/usr/bin/php* |
| endef |
| |
| PHP_CONF_ENV += CFLAGS="$(PHP_CFLAGS)" |
| |
| $(eval $(call AUTOTARGETS)) |