php.mk 4.6 KB

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