php.mk 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. #############################################################
  2. #
  3. # php
  4. #
  5. #############################################################
  6. PHP_VERSION = 5.2.16
  7. PHP_SOURCE = php-$(PHP_VERSION).tar.bz2
  8. PHP_SITE = http://www.php.net/distributions
  9. PHP_INSTALL_STAGING = YES
  10. PHP_INSTALL_STAGING_OPT = INSTALL_ROOT=$(STAGING_DIR) install
  11. PHP_INSTALL_TARGET_OPT = INSTALL_ROOT=$(TARGET_DIR) install
  12. PHP_LIBTOOL_PATCH = NO
  13. PHP_DEPENDENCIES =
  14. PHP_CONF_OPT = --mandir=/usr/share/man \
  15. --infodir=/usr/share/info \
  16. --disable-all \
  17. --without-pear \
  18. --with-config-file-path=/etc \
  19. --localstatedir=/var \
  20. PHP_CFLAGS = $(TARGET_CFLAGS)
  21. ifneq ($(BR2_PACKAGE_PHP_CLI),y)
  22. PHP_CONF_OPT += --disable-cli
  23. else
  24. PHP_CONF_OPT += --enable-cli
  25. endif
  26. ifneq ($(BR2_PACKAGE_PHP_CGI),y)
  27. PHP_CONF_OPT += --disable-cgi
  28. else
  29. PHP_CONF_OPT += --enable-cgi
  30. ifeq ($(BR2_PACKAGE_PHP_FASTCGI),y)
  31. PHP_CONF_OPT += --enable-fastcgi
  32. endif
  33. endif
  34. ### Extensions
  35. ifeq ($(BR2_PACKAGE_PHP_EXT_SOCKETS),y)
  36. PHP_CONF_OPT += --enable-sockets
  37. endif
  38. ifeq ($(BR2_PACKAGE_PHP_EXT_POSIX),y)
  39. PHP_CONF_OPT += --enable-posix
  40. endif
  41. ifeq ($(BR2_PACKAGE_PHP_EXT_SPL),y)
  42. PHP_CONF_OPT += --enable-spl
  43. endif
  44. ifeq ($(BR2_PACKAGE_PHP_EXT_SESSION),y)
  45. PHP_CONF_OPT += --enable-session
  46. endif
  47. ifeq ($(BR2_PACKAGE_PHP_EXT_OPENSSL),y)
  48. PHP_CONF_OPT += --with-openssl=$(STAGING_DIR)/usr
  49. PHP_DEPENDENCIES += openssl
  50. endif
  51. ifeq ($(BR2_PACKAGE_PHP_EXT_LIBXML2),y)
  52. PHP_CONF_OPT += --enable-libxml \
  53. --with-libxml-dir=${STAGING_DIR}/usr \
  54. --enable-xml \
  55. --enable-xmlreader \
  56. --enable-xmlwriter
  57. PHP_DEPENDENCIES += libxml2
  58. endif
  59. ifeq ($(BR2_PACKAGE_PHP_EXT_SIMPLEXML),y)
  60. PHP_CONF_OPT += --enable-simplexml
  61. endif
  62. ifeq ($(BR2_PACKAGE_PHP_EXT_ZLIB),y)
  63. PHP_CONF_OPT += --with-zlib=$(STAGING_DIR)/usr
  64. PHP_DEPENDENCIES += zlib
  65. endif
  66. ifeq ($(BR2_PACKAGE_PHP_EXT_EXIF),y)
  67. PHP_CONF_OPT += --enable-exif
  68. endif
  69. ifeq ($(BR2_PACKAGE_PHP_EXT_FTP),y)
  70. PHP_CONF_OPT += --enable-ftp
  71. endif
  72. ifeq ($(BR2_PACKAGE_PHP_EXT_GETTEXT),y)
  73. PHP_CONF_OPT += --with-gettext=$(STAGING_DIR)/usr
  74. PHP_DEPENDENCIES += $(if $(BR2_NEEDS_GETTEXT),gettext)
  75. endif
  76. ifeq ($(BR2_PACKAGE_PHP_EXT_GMP),y)
  77. PHP_CONF_OPT += --with-gmp=$(STAGING_DIR)/usr
  78. PHP_DEPENDENCIES += gmp
  79. endif
  80. ifeq ($(BR2_PACKAGE_PHP_EXT_JSON),y)
  81. PHP_CONF_OPT += --enable-json
  82. endif
  83. ifeq ($(BR2_PACKAGE_PHP_EXT_READLINE),y)
  84. PHP_CONF_OPT += --with-readline=$(STAGING_DIR)/usr
  85. PHP_DEPENDENCIES += readline
  86. endif
  87. ifeq ($(BR2_PACKAGE_PHP_EXT_NCURSES),y)
  88. PHP_CONF_OPT += --with-ncurses=$(STAGING_DIR)/usr
  89. PHP_DEPENDENCIES += ncurses
  90. endif
  91. ifeq ($(BR2_PACKAGE_PHP_EXT_PCNTL),y)
  92. PHP_CONF_OPT += --enable-pcntl
  93. endif
  94. ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVMSG),y)
  95. PHP_CONF_OPT += --enable-sysvmsg
  96. endif
  97. ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSEM),y)
  98. PHP_CONF_OPT += --enable-sysvsem
  99. endif
  100. ifeq ($(BR2_PACKAGE_PHP_EXT_SYSVSHM),y)
  101. PHP_CONF_OPT += --enable-sysvshm
  102. endif
  103. ifeq ($(BR2_PACKAGE_PHP_EXT_ZIP),y)
  104. PHP_CONF_OPT += --enable-zip
  105. endif
  106. ifeq ($(BR2_PACKAGE_PHP_EXT_FILTER),y)
  107. PHP_CONF_OPT += --enable-filter
  108. endif
  109. ifeq ($(BR2_PACKAGE_PHP_EXT_CALENDAR),y)
  110. PHP_CONF_OPT += --enable-calendar
  111. endif
  112. ifeq ($(BR2_PACKAGE_PHP_EXT_PCRE),y)
  113. PHP_CONF_OPT += --with-pcre-regex
  114. endif
  115. ### Legacy sqlite2 support
  116. ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE),y)
  117. PHP_CONF_OPT += --with-sqlite
  118. ifneq ($(BR2_LARGEFILE),y)
  119. PHP_CFLAGS += -DSQLITE_DISABLE_LFS
  120. endif
  121. ifeq ($(BR2_PACKAGE_PHP_EXT_SQLITE_UTF8),y)
  122. PHP_CONF_OPT += --enable-sqlite-utf8
  123. endif
  124. endif
  125. ### PDO
  126. ifeq ($(BR2_PACKAGE_PHP_EXT_PDO),y)
  127. PHP_CONF_OPT += --enable-pdo
  128. ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_SQLITE),y)
  129. ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_SQLITE_EXTERNAL),y)
  130. PHP_CONF_OPT += --with-pdo-sqlite=$(STAGING_DIR)/usr
  131. PHP_DEPENDENCIES += sqlite
  132. else
  133. PHP_CONF_OPT += --with-pdo-sqlite
  134. endif
  135. PHP_CFLAGS += -DSQLITE_OMIT_LOAD_EXTENSION
  136. ifneq ($(BR2_LARGEFILE),y)
  137. PHP_CFLAGS += -DSQLITE_DISABLE_LFS
  138. endif
  139. endif
  140. ifeq ($(BR2_PACKAGE_PHP_EXT_PDO_MYSQL),y)
  141. PHP_CONF_OPT += --with-pdo-mysql=$(STAGING_DIR)/usr
  142. PHP_DEPENDENCIES += mysql_client
  143. endif
  144. endif
  145. define PHP_INSTALL_FIXUP
  146. rm -rf $(TARGET_DIR)/usr/lib/php
  147. rm -f $(TARGET_DIR)/usr/bin/phpize
  148. rm -f $(TARGET_DIR)/usr/bin/php-config
  149. if [ ! -f $(TARGET_DIR)/etc/php.ini ]; then \
  150. $(INSTALL) -m 0755 $(BR2_PACKAGE_PHP_CONFIG) $(TARGET_DIR)/etc/php.ini; fi
  151. endef
  152. PHP_POST_INSTALL_TARGET_HOOKS += PHP_INSTALL_FIXUP
  153. define PHP_UNINSTALL_STAGING_CMDS
  154. rm -rf $(STAGING_DIR)/usr/include/php
  155. rm -rf $(STAGING_DIR)/usr/lib/php
  156. rm -f $(STAGING_DIR)/usr/bin/php*
  157. rm -f $(STAGING_DIR)/usr/share/man/man1/php*.1
  158. endef
  159. define PHP_UNINSTALL_TARGET_CMDS
  160. rm -f $(TARGET_DIR)/etc/php.ini
  161. rm -f $(TARGET_DIR)/usr/bin/php*
  162. endef
  163. PHP_CONF_ENV += CFLAGS="$(PHP_CFLAGS)"
  164. $(eval $(call AUTOTARGETS,package,php))