Makefile 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241
  1. # This file is part of the OpenADK project. OpenADK is copyrighted
  2. # material, please see the LICENCE file in the top-level directory.
  3. include $(TOPDIR)/rules.mk
  4. PKG_NAME:= php
  5. PKG_VERSION:= 5.4.7
  6. PKG_RELEASE:= 1
  7. PKG_MD5SUM:= 94661b761dcfdfdd5108e8b12e0dd4f8
  8. PKG_DESCR:= PHP language interpreter
  9. PKG_SECTION:= lang
  10. PKG_DEPENDS:= libpthread librt libgcc
  11. PHP_URL:= http://www.php.net/
  12. PKG_SITES:= http://de.php.net/distributions/
  13. PKG_MULTI:= 1
  14. PKG_SUBPKGS:= PHP PHP_CLI PHP_FASTCGI
  15. PKGSD_PHP_FASTCGI:= PHP for FastCGI usage
  16. PKGSD_PHP_CLI:= PHP CLI
  17. PKG_FLAVOURS_PHP:= MOD_BZ2 MOD_CURL MOD_FTP MOD_GD MOD_GMP MOD_MYSQL
  18. PKG_FLAVOURS_PHP+= MOD_OPENSSL MOD_PGSQL MOD_SESSION MOD_SQLITE MOD_SOCKETS MOD_XML MOD_ZLIB
  19. PKGFD_MOD_BZ2:= Bzip2 support
  20. PKGFB_MOD_BZ2:= bzip2
  21. PKGFS_MOD_BZ2:= bzip2
  22. PKGFD_MOD_CURL:= Curl support
  23. PKGFB_MOD_CURL:= curl
  24. PKGFS_MOD_CURL:= libcurl
  25. PKGFD_MOD_FTP:= FTP support
  26. PKGFD_MOD_GD:= Gd support
  27. PKGFB_MOD_GD:= libgd libpng jpeg
  28. PKGFS_MOD_GD:= libgd libpng libjpeg
  29. PKGFD_MOD_GMP:= GMP support
  30. PKGFB_MOD_GMP:= gmp
  31. PKGFS_MOD_GMP:= libgmp
  32. # segfaults php -m
  33. #PKGFD_MOD_LDAP:= LDAP support
  34. #PKGFB_MOD_LDAP:= openldap
  35. #PKGFS_MOD_LDAP:= libopenldap
  36. PKGFD_MOD_MYSQL:= MySQL support
  37. PKGFS_MOD_MYSQL:= libmysqlclient
  38. PKGFB_MOD_MYSQL:= mysql
  39. PKGFD_MOD_OPENSSL:= OpenSSL support
  40. PKGFB_MOD_OPENSSL:= openssl
  41. PKGFS_MOD_OPENSSL:= libopenssl
  42. PKGFD_MOD_PGSQL:= PGSQL support
  43. PKGFB_MOD_PGSQL:= postgresql
  44. PKGFS_MOD_PGSQL:= libpq
  45. PKGFD_MOD_SESSION:= Session support
  46. PKGFD_MOD_SQLITE:= SQlite support
  47. PKGFB_MOD_SQLITE:= sqlite
  48. PKGFS_MOD_SQLITE:= libsqlite
  49. PKGFD_MOD_SOCKETS:= Socket support
  50. PKGFD_MOD_XML:= XML support
  51. PKGFB_MOD_XML:= expat
  52. PKGFS_MOD_XML:= libexpat
  53. PKGFD_MOD_ZLIB:= ZLIB support
  54. PKGFB_MOD_ZLIB:= zlib
  55. PKGFS_MOD_ZLIB:= zlib
  56. PKG_ARCH_DEPENDS:= !cris !avr32
  57. PKG_HOST_DEPENDS:= !cygwin
  58. include $(TOPDIR)/mk/package.mk
  59. $(eval $(call PKG_template,PHP,php,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  60. $(eval $(call PKG_template,PHP_CLI,php-cli,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_CLI},${PKG_SECTION}))
  61. $(eval $(call PKG_template,PHP_FASTCGI,php-fastcgi,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKGSD_PHP_FASTCGI},${PKG_SECTION}))
  62. define PKG_mod_template
  63. INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
  64. ${2}-install:
  65. ${INSTALL_DIR} $$(IDIR_$(1))/usr/lib/php
  66. for m in ${2}; do \
  67. ${INSTALL_DATA} $(WRKBUILD)/modules/$$$${m}.so $$(IDIR_$(1))/usr/lib/php ;\
  68. done
  69. endef
  70. PKG_CONFIGURE_OPTS:= \
  71. --with-config-file-path=/etc \
  72. --enable-cli \
  73. --enable-cgi \
  74. --disable-hash \
  75. --disable-mbstring \
  76. --disable-mbregex \
  77. --disable-phar \
  78. --disable-libxml \
  79. --disable-short-tags \
  80. --disable-ctype \
  81. --disable-simplexml \
  82. --disable-soap \
  83. --disable-fileinfo \
  84. --disable-tokenizer \
  85. --disable-filter \
  86. --disable-xmlreader \
  87. --disable-xmlwriter \
  88. --disable-dom \
  89. --disable-json \
  90. --without-pear \
  91. --without-gettext \
  92. --without-iconv \
  93. --without-libxml-dir \
  94. --with-pcre-regex=no \
  95. --with-kerberos=no
  96. ifneq ($(ADK_PACKAGE_PHP_MOD_BZ2),)
  97. PKG_CONFIGURE_OPTS+= --with-bz2=shared,"$(STAGING_TARGET_DIR)/usr"
  98. else
  99. PKG_CONFIGURE_OPTS+= --without-bz2
  100. endif
  101. ifneq ($(ADK_PACKAGE_PHP_MOD_CURL),)
  102. PKG_CONFIGURE_OPTS+= --with-curl=shared,"$(STAGING_TARGET_DIR)/usr"
  103. else
  104. PKG_CONFIGURE_OPTS+= --without-curl
  105. endif
  106. ifneq ($(ADK_PACKAGE_PHP_MOD_FTP),)
  107. PKG_CONFIGURE_OPTS+= --enable-ftp=shared
  108. else
  109. PKG_CONFIGURE_OPTS+= --disable-ftp
  110. endif
  111. ifneq ($(ADK_PACKAGE_PHP_MOD_GD),)
  112. PKG_CONFIGURE_OPTS+= --with-gd=shared,"$(STAGING_TARGET_DIR)/usr" \
  113. --with-png-dir="$(STAGING_TARGET_DIR)/usr" \
  114. --with-jpeg-dir="$(STAGING_TARGET_DIR)/usr" \
  115. --without-freetype-dir \
  116. --without-xpm-dir \
  117. --without-ttf \
  118. --without-t1lib \
  119. --enable-gd-native-ttf \
  120. --disable-gd-jis-conv
  121. else
  122. PKG_CONFIGURE_OPTS+= --without-gd
  123. endif
  124. ifneq ($(ADK_PACKAGE_PHP_MOD_GMP),)
  125. PKG_CONFIGURE_OPTS+= --with-gmp=shared,"$(STAGING_TARGET_DIR)/usr"
  126. else
  127. PKG_CONFIGURE_OPTS+= --without-gmp
  128. endif
  129. #ifneq ($(ADK_PACKAGE_PHP_MOD_LDAP),)
  130. #PKG_CONFIGURE_OPTS+= --with-ldap=shared,"$(STAGING_TARGET_DIR)/usr" \
  131. # --with-ldap-sasl="$(STAGING_TARGET_DIR)/usr"
  132. #else
  133. PKG_CONFIGURE_OPTS+= --without-ldap
  134. #endif
  135. ifneq ($(ADK_PACKAGE_PHP_MOD_MYSQL),)
  136. PKG_CONFIGURE_OPTS+= --with-mysql=shared,"$(STAGING_TARGET_DIR)/usr"
  137. else
  138. PKG_CONFIGURE_OPTS+= --without-mysql
  139. endif
  140. ifneq ($(ADK_PACKAGE_PHP_MOD_OPENSSL),)
  141. PKG_CONFIGURE_OPTS+= --with-openssl=shared,"$(STAGING_TARGET_DIR)/usr" \
  142. --with-openssl-dir="$(STAGING_TARGET_DIR)/usr"
  143. else
  144. PKG_CONFIGURE_OPTS+= --without-openssl
  145. endif
  146. ifneq ($(ADK_PACKAGE_PHP_MOD_PGSQL),)
  147. PKG_CONFIGURE_OPTS+= --with-pgsql=shared,"$(STAGING_TARGET_DIR)/usr"
  148. else
  149. PKG_CONFIGURE_OPTS+= --without-pgsql
  150. endif
  151. ifneq ($(ADK_PACKAGE_PHP_MOD_SESSION),)
  152. PKG_CONFIGURE_OPTS+= --enable-session=shared
  153. else
  154. PKG_CONFIGURE_OPTS+= --without-session
  155. endif
  156. ifneq ($(ADK_PACKAGE_PHP_MOD_SQLITE),)
  157. PKG_CONFIGURE_OPTS+= --with-sqlite3="$(STAGING_TARGET_DIR)/usr"
  158. PKG_CONFIGURE_OPTS+= --with-pdo-sqlite=shared,"$(STAGING_TARGET_DIR)/usr"
  159. PKG_CONFIGURE_OPTS+= --enable-pdo=shared
  160. else
  161. PKG_CONFIGURE_OPTS+= --without-sqlite3 --without-pdo-sqlite
  162. endif
  163. ifneq ($(ADK_PACKAGE_PHP_MOD_SOCKETS),)
  164. PKG_CONFIGURE_OPTS+= --enable-sockets=shared
  165. else
  166. PKG_CONFIGURE_OPTS+= --without-sockets
  167. endif
  168. ifneq ($(ADK_PACKAGE_PHP_MOD_XML),)
  169. PKG_CONFIGURE_OPTS+= --enable-xml=shared,"$(STAGING_TARGET_DIR)/usr" \
  170. --with-libexpat-dir="$(STAGING_TARGET_DIR)/usr"
  171. else
  172. PKG_CONFIGURE_OPTS+= --disable-xml
  173. endif
  174. ifneq ($(ADK_PACKAGE_PHP_MOD_ZLIB),)
  175. PKG_CONFIGURE_OPTS+= --with-zlib=shared,"$(STAGING_TARGET_DIR)/usr"
  176. else
  177. PKG_CONFIGURE_OPTS+= --without-zlib
  178. endif
  179. $(eval $(call PKG_template,PHP_MOD_BZ2,php-mod-bz2,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  180. $(eval $(call PKG_template,PHP_MOD_CURL,php-mod-curl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  181. $(eval $(call PKG_template,PHP_MOD_FTP,php-mod-ftp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  182. $(eval $(call PKG_template,PHP_MOD_GD,php-mod-gd,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  183. $(eval $(call PKG_template,PHP_MOD_GMP,php-mod-gmp,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  184. #$(eval $(call PKG_template,PHP_MOD_LDAP,php-mod-ldap,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  185. $(eval $(call PKG_template,PHP_MOD_MYSQL,php-mod-mysql,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  186. $(eval $(call PKG_template,PHP_MOD_OPENSSL,php-mod-openssl,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  187. $(eval $(call PKG_template,PHP_MOD_PGSQL,php-mod-pgsql,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  188. $(eval $(call PKG_template,PHP_MOD_SESSION,php-mod-session,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  189. $(eval $(call PKG_template,PHP_MOD_SOCKETS,php-mod-sockets,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  190. $(eval $(call PKG_template,PHP_MOD_SQLITE,php-mod-sqlite,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  191. $(eval $(call PKG_template,PHP_MOD_XML,php-mod-xml,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  192. $(eval $(call PKG_template,PHP_MOD_ZLIB,php-mod-zlib,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
  193. $(eval $(call PKG_mod_template,PHP_MOD_BZ2,bz2))
  194. $(eval $(call PKG_mod_template,PHP_MOD_CURL,curl))
  195. $(eval $(call PKG_mod_template,PHP_MOD_FTP,ftp))
  196. $(eval $(call PKG_mod_template,PHP_MOD_GD,gd))
  197. $(eval $(call PKG_mod_template,PHP_MOD_GMP,gmp))
  198. #$(eval $(call PKG_mod_template,PHP_MOD_LDAP,ldap))
  199. $(eval $(call PKG_mod_template,PHP_MOD_MYSQL,mysql))
  200. $(eval $(call PKG_mod_template,PHP_MOD_OPENSSL,openssl))
  201. $(eval $(call PKG_mod_template,PHP_MOD_PGSQL,pgsql))
  202. $(eval $(call PKG_mod_template,PHP_MOD_SESSION,session))
  203. $(eval $(call PKG_mod_template,PHP_MOD_SOCKETS,sockets))
  204. $(eval $(call PKG_mod_template,PHP_MOD_SQLITE,pdo pdo_sqlite))
  205. $(eval $(call PKG_mod_template,PHP_MOD_XML,xml))
  206. $(eval $(call PKG_mod_template,PHP_MOD_ZLIB,zlib))
  207. INSTALL_STYLE:= manual
  208. TARGET_LDFLAGS+= -L$(STAGING_TARGET_DIR)/usr/lib/mysql
  209. CONFIGURE_ENV+= LIBS="-ldl"
  210. CONFIGURE_ARGS+= $(PKG_CONFIGURE_OPTS)
  211. do-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
  212. ${INSTALL_DIR} $(IDIR_PHP)/etc
  213. ${INSTALL_DATA} ./files/php.ini $(IDIR_PHP)/etc
  214. ${INSTALL_DIR} $(IDIR_PHP_CLI)/usr/bin
  215. #${INSTALL_DIR} $(IDIR_PHP_CLI)/etc
  216. #${INSTALL_DATA} ./files/php.ini $(IDIR_PHP_CLI)/etc
  217. ${INSTALL_BIN} $(WRKBUILD)/sapi/cli/php $(IDIR_PHP_CLI)/usr/bin/php
  218. #${INSTALL_DIR} $(IDIR_PHP_FASTCGI)/etc
  219. #${INSTALL_DATA} ./files/php.ini $(IDIR_PHP_FASTCGI)/etc
  220. ${INSTALL_DIR} $(IDIR_PHP_FASTCGI)/usr/bin
  221. ${INSTALL_BIN} $(WRKBUILD)/sapi/cgi/php-cgi \
  222. $(IDIR_PHP_FASTCGI)/usr/bin/php
  223. include ${TOPDIR}/mk/pkg-bottom.mk