summaryrefslogblamecommitdiffstats
path: root/package/php/php.mk
blob: 195d4669e777717b64948f39111189a31574ce6a (plain) (tree)
1
2
3
4
5
6
7
8
9




                                                             
              


                                                                     
                

                
                               

                                
                                    
    
                                   



                                                  
                                    
    
                                  
                                                      
                                           
                                               
             

     

                                     

     


















                                                        





                                                      

                                                     

                      







































                                                         
 







                                           



                                          
                                       
     

                                           
     







                                                                                 
                





                                              
                                            








                                             
                                              




                                           

                                   
                                  
         
                


                                             
                


                                                                                                        
                



                                                                    
                                                                     



                                                                            
                                                                         

                                             
                                                               




                                                                         
                                

                                                                          












                                                             
#############################################################
#
# php
#
#############################################################
PHP_VER:=5.2.5
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=
PHP_CONFIGURE = $(ENABLE_DEBUG)

ifneq ($(BR2_PACKAGE_PHP_CLI),y)
	PHP_CONFIGURE+=--disable-cli
else
	PHP_CONFIGURE+=--enable-cli
	PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php
endif

ifneq ($(BR2_PACKAGE_PHP_CGI),y)
	PHP_CONFIGURE+=--disable-cgi
else
	PHP_CONFIGURE=--enable-cgi
	PHP_TARGET_DEPS+=$(TARGET_DIR)/usr/bin/php-cgi
	ifeq ($(BR2_PACKAGE_PHP_FASTCGI),y)
		PHP_CONFIGURE+=--enable-fastcgi
	endif
endif

ifneq ($(BR2_INET_IPV6),y)
	PHP_CONFIGURE+=--disable-ipv6
endif

### Extensions 
ifeq ($(BR2_PACKAGE_PHP_EXT_SOCKETS),y)
	PHP_CONFIGURE+=--enable-sockets
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_POSIX),y)
	PHP_CONFIGURE+=--enable-posix
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SPL),y)
	PHP_CONFIGURE+=--enable-spl
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SESSION),y)
	PHP_CONFIGURE+=--enable-session
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_OPENSSL),y)
	PHP_CONFIGURE+=--with-openssl=$(STAGING_DIR)/usr
	PHP_DEPS+=openssl
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y)
	PHP_CONFIGURE+=--enable-libxml \
		--with-libxml-dir=${STAGING_DIR}/usr \
		 --enable-xml \
		 --enable-xmlreader \
		 --enable-xmlwriter
	PHP_DEPS+=libxml2
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_ZLIB),y)
	PHP_CONFIGURE+=--with-zlib=$(STAGING_DIR)/usr
	PHP_DEPS+=zlib
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_EXIF),y)
	PHP_CONFIGURE+=--enable-exif
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_FTP),y)
	PHP_CONFIGURE+=--enable-ftp
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_GETTEXT),y)
	PHP_CONFIGURE+=--with-gettext=$(STAGING_DIR)/usr
	PHP_DEPS+=gettext
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y)
	PHP_CONFIGURE+=--with-gmp=$(STAGING_DIR)/usr
	PHP_DEPS+=libgmp
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_JSON),y)
	PHP_CONFIGURE+=--enable-json
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_READLINE),y)
	PHP_CONFIGURE+=--with-readline=$(STAGING_DIR)/usr
	PHP_DEPS+=readline
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_NCURSES),y)
	PHP_CONFIGURE+=--with-ncurses=$(STATING_DIR)/usr
	PHP_DEPS+=ncurses
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVMSG),y)
	PHP_CONFIGURE+=--enable-sysvmsg
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSEM),y)
	PHP_CONFIGURE+=--enable-sysvsem
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSHM),y)
	PHP_CONFIGURE+=--enable-sysvshm
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y)
	PHP_CONFIGURE+=--enable-zip
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_FILTER),y)
	PHP_CONFIGURE+=--enable-filter
endif

### Database extensions
ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y)
	PHP_CONFIGURE+=--with-sql
ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE_UTF8),y)
	PHP_CONFIGURE+=--enable-sqlite-utf8
endif
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_PDO),y)
ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_SQLITE),y)
	PHP_CONFIGURE+=--with-pdo-sqlite
endif
ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_MYSQL),y)
	PHP_CONFIGURE+=--with-pdo-mysql
endif
else
	PHP_CONFIGURE+=--without-pdo-sqlite
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)/.configured: $(PHP_DIR)/.unpacked
	(cd $(PHP_DIR); rm -rf config.cache; \
		$(TARGET_CONFIGURE_OPTS) \
		$(TARGET_CONFIGURE_ARGS) \
		CC=$(TARGET_CC) \
		./configure $(DISABLE_NLS) \
		--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 \
		--with-config-file-path=/etc \
		--datadir=/usr/share/misc \
		--localstatedir=/var \
		--mandir=/usr/man \
		--infodir=/usr/info \
		--disable-all \
		--with-pcre-regex \
		--without-pear \
		$(PHP_CONFIGURE) \
	)
	touch $@

$(PHP_DIR)/.built: $(PHP_DIR)/.configured
	$(MAKE) CC=$(TARGET_CC) -C $(PHP_DIR)
	touch $@

$(PHP_DIR)/.staged: $(PHP_DIR)/.built
	$(MAKE) DESTDIR=$(STAGING_DIR) INSTALL_ROOT=$(STAGING_DIR) CC=$(TARGET_CC) -C $(PHP_DIR) install
	touch $@

$(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
	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(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
	$(STRIPCMD) $(STRIP_STRIP_UNNEEDED) $(TARGET_DIR)/usr/bin/php-cgi

$(TARGET_DIR)/etc/php.ini: $(PHP_DIR)/.staged
	cp -f $(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
	rm -f $(PHP_TARGET_DEPS)
	rm -f $(STAGING_DIR)/usr/bin/php* $(STAGING_DIR)/usr/man/man1/php*
	rm -rf $(STAGING_DIR)/usr/include/php
	-$(MAKE) -C $(PHP_DIR) clean

php-dirclean:
	rm -rf $(PHP_DIR)

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(strip $(BR2_PACKAGE_PHP)),y)
TARGETS+=php
endif