You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

604 lines
18 KiB

  1. #
  2. # This is free software, licensed under the GNU General Public License v2.
  3. # See /LICENSE for more information.
  4. #
  5. include $(TOPDIR)/rules.mk
  6. PKG_NAME:=php
  7. PKG_VERSION:=7.1.9
  8. PKG_RELEASE:=3
  9. PKG_MAINTAINER:=Michael Heimpold <mhei@heimpold.de>
  10. PKG_LICENSE:=PHPv3.01
  11. PKG_LICENSE_FILES:=LICENSE
  12. PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
  13. PKG_SOURCE_URL:=http://www.php.net/distributions/
  14. PKG_HASH:=ec9ca348dd51f19a84dc5d33acfff1fba1f977300604bdac08ed46ae2c281e8c
  15. PKG_FIXUP:=libtool autoreconf
  16. PKG_BUILD_PARALLEL:=1
  17. PKG_USE_MIPS16:=0
  18. PHP7_MODULES = \
  19. calendar ctype curl \
  20. fileinfo \
  21. dom \
  22. exif \
  23. ftp \
  24. gettext gd gmp \
  25. hash \
  26. iconv intl \
  27. json \
  28. ldap \
  29. mbstring mcrypt mysqli \
  30. opcache openssl \
  31. pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql phar \
  32. session shmop simplexml snmp soap sockets sqlite3 sysvmsg sysvsem sysvshm \
  33. tokenizer \
  34. xml xmlreader xmlwriter zip \
  35. PKG_CONFIG_DEPENDS:= \
  36. $(patsubst %,CONFIG_PACKAGE_php7-mod-%,$(PHP7_MODULES)) \
  37. CONFIG_PHP7_FILTER CONFIG_PHP7_LIBXML CONFIG_PHP7_SYSTEMTZDATA
  38. include $(INCLUDE_DIR)/package.mk
  39. include $(INCLUDE_DIR)/nls.mk
  40. define Package/php7/Default
  41. SUBMENU:=PHP
  42. SECTION:=lang
  43. CATEGORY:=Languages
  44. TITLE:=PHP7 Hypertext preprocessor
  45. URL:=http://www.php.net/
  46. DEPENDS:=php7
  47. endef
  48. define Package/php7/Default/description
  49. PHP is a widely-used general-purpose scripting language that is especially
  50. suited for Web development and can be embedded into HTML.
  51. endef
  52. define Package/php7/config
  53. config PHP7_FILTER
  54. bool "PHP7 Filter support"
  55. depends on PACKAGE_php7-cli || PACKAGE_php7-cgi
  56. default y
  57. config PHP7_LIBXML
  58. bool "PHP7 LIBXML support"
  59. depends on PACKAGE_php7-cli || PACKAGE_php7-cgi
  60. config PHP7_SYSTEMTZDATA
  61. bool "Use system timezone data instead of php's built-in database"
  62. depends on PACKAGE_php7-cli || PACKAGE_php7-cgi
  63. select PACKAGE_zoneinfo-core
  64. default y
  65. help
  66. Enabling this feature automatically selects the zoneinfo-core package
  67. which contains data for UTC timezone. To use other timezones you have
  68. to install the corresponding zoneinfo-... package(s).
  69. endef
  70. define Package/php7
  71. $(call Package/php7/Default)
  72. DEPENDS:=+libpcre +zlib \
  73. +PHP7_LIBXML:libxml2
  74. endef
  75. define Package/php7/description
  76. $(call Package/php7/Default/description)
  77. This package contains only the PHP config file. You must actually choose
  78. your PHP flavour (cli, cgi or fastcgi).
  79. Please note, that installing php5 and php7 in parallel on the same target
  80. is not supported in OpenWrt/LEDE.
  81. endef
  82. define Package/php7-cli
  83. $(call Package/php7/Default)
  84. DEPENDS+= +PACKAGE_php7-mod-intl:libstdcpp
  85. TITLE+= (CLI)
  86. endef
  87. define Package/php7-cli/description
  88. $(call Package/php7/Default/description)
  89. This package contains the CLI version of the PHP7 interpreter.
  90. endef
  91. define Package/php7-cgi
  92. $(call Package/php7/Default)
  93. DEPENDS+= +PACKAGE_php7-mod-intl:libstdcpp
  94. TITLE+= (CGI & FastCGI)
  95. endef
  96. define Package/php7-cgi/description
  97. $(call Package/php7/Default/description)
  98. This package contains the CGI version of the PHP7 interpreter.
  99. endef
  100. define Package/php7-fastcgi
  101. $(call Package/php7/Default)
  102. DEPENDS+= +php7-cgi
  103. TITLE:=FastCGI startup script
  104. endef
  105. define Package/php7-fastcgi/description
  106. As FastCGI support is now a core feature the php7-fastcgi package now depends
  107. on the php7-cgi package, containing just the startup script.
  108. endef
  109. define Package/php7-fpm
  110. $(call Package/php7/Default)
  111. DEPENDS+= +PACKAGE_php7-mod-intl:libstdcpp
  112. TITLE+= (FPM)
  113. endef
  114. define Package/php7-fpm/description
  115. $(call Package/php7/Default/description)
  116. This package contains the FastCGI Process Manager of the PHP7 interpreter.
  117. endef
  118. # not everything groks --disable-nls
  119. DISABLE_NLS:=
  120. CONFIGURE_ARGS+= \
  121. --enable-cli \
  122. --enable-cgi \
  123. --enable-fpm \
  124. --enable-shared \
  125. --disable-static \
  126. --disable-rpath \
  127. --disable-debug \
  128. --disable-phpdbg \
  129. --without-pear \
  130. \
  131. --with-config-file-path=/etc \
  132. --with-config-file-scan-dir=/etc/php7 \
  133. --disable-short-tags \
  134. \
  135. --with-zlib="$(STAGING_DIR)/usr" \
  136. --with-zlib-dir="$(STAGING_DIR)/usr"
  137. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-calendar),)
  138. CONFIGURE_ARGS+= --enable-calendar=shared
  139. else
  140. CONFIGURE_ARGS+= --disable-calendar
  141. endif
  142. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ctype),)
  143. CONFIGURE_ARGS+= --enable-ctype=shared
  144. else
  145. CONFIGURE_ARGS+= --disable-ctype
  146. endif
  147. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-curl),)
  148. CONFIGURE_ARGS+= --with-curl=shared,"$(STAGING_DIR)/usr"
  149. else
  150. CONFIGURE_ARGS+= --without-curl
  151. endif
  152. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-fileinfo),)
  153. CONFIGURE_ARGS+= --enable-fileinfo=shared
  154. else
  155. CONFIGURE_ARGS+= --disable-fileinfo
  156. endif
  157. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gettext),)
  158. CONFIGURE_ARGS+= --with-gettext=shared,"$(STAGING_DIR)/usr/lib/libintl-full"
  159. else
  160. CONFIGURE_ARGS+= --without-gettext
  161. endif
  162. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-dom),)
  163. CONFIGURE_ARGS+= --enable-dom=shared
  164. else
  165. CONFIGURE_ARGS+= --disable-dom
  166. endif
  167. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-exif),)
  168. CONFIGURE_ARGS+= --enable-exif=shared
  169. else
  170. CONFIGURE_ARGS+= --disable-exif
  171. endif
  172. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ftp),)
  173. CONFIGURE_ARGS+= --enable-ftp=shared
  174. else
  175. CONFIGURE_ARGS+= --disable-ftp
  176. endif
  177. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gd),)
  178. CONFIGURE_ARGS+= \
  179. --with-gd=shared \
  180. --without-freetype-dir \
  181. --with-jpeg-dir="$(STAGING_DIR)/usr" \
  182. --with-png-dir="$(STAGING_DIR)/usr" \
  183. --without-xpm-dir \
  184. --enable-gd-native-ttf \
  185. --disable-gd-jis-conv
  186. else
  187. CONFIGURE_ARGS+= --without-gd
  188. endif
  189. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gmp),)
  190. CONFIGURE_ARGS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
  191. else
  192. CONFIGURE_ARGS+= --without-gmp
  193. endif
  194. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-hash),)
  195. CONFIGURE_ARGS+= --enable-hash=shared
  196. else
  197. CONFIGURE_ARGS+= --disable-hash
  198. endif
  199. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-iconv),)
  200. CONFIGURE_ARGS+= --with-iconv=shared,"$(ICONV_PREFIX)"
  201. else
  202. CONFIGURE_ARGS+= --without-iconv
  203. endif
  204. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-intl),)
  205. CONFIGURE_ARGS+= --enable-intl=shared
  206. TARGET_CXXFLAGS+= -std=c++0x
  207. else
  208. CONFIGURE_ARGS+= --disable-intl
  209. endif
  210. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-json),)
  211. CONFIGURE_ARGS+= --enable-json=shared
  212. else
  213. CONFIGURE_ARGS+= --disable-json
  214. endif
  215. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ldap),)
  216. CONFIGURE_ARGS+= \
  217. --with-ldap=shared,"$(STAGING_DIR)/usr" \
  218. --with-ldap-sasl="$(STAGING_DIR)/usr"
  219. else
  220. CONFIGURE_ARGS+= --without-ldap
  221. endif
  222. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mbstring),)
  223. CONFIGURE_ARGS+= --enable-mbstring=shared --enable-mbregex
  224. else
  225. CONFIGURE_ARGS+= --disable-mbstring
  226. endif
  227. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mcrypt),)
  228. CONFIGURE_ARGS+= --with-mcrypt=shared,"$(STAGING_DIR)/usr"
  229. else
  230. CONFIGURE_ARGS+= --without-mcrypt
  231. endif
  232. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mysqli),)
  233. CONFIGURE_ARGS+= --with-mysqli=shared,"$(STAGING_DIR)/usr/bin/mysql_config"
  234. else
  235. CONFIGURE_ARGS+= --without-mysqli
  236. endif
  237. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-opcache),)
  238. CONFIGURE_ARGS+= --enable-opcache=shared
  239. else
  240. CONFIGURE_ARGS+= --disable-opcache
  241. endif
  242. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-openssl)$(CONFIG_PACKAGE_php7-mod-snmp),)
  243. CONFIGURE_ARGS+= \
  244. --with-openssl=shared,"$(STAGING_DIR)/usr" \
  245. --with-kerberos=no \
  246. --with-openssl-dir="$(STAGING_DIR)/usr"
  247. else
  248. CONFIGURE_ARGS+= --without-openssl
  249. endif
  250. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pcntl),)
  251. CONFIGURE_ARGS+= --enable-pcntl=shared
  252. else
  253. CONFIGURE_ARGS+= --disable-pcntl
  254. endif
  255. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo),)
  256. CONFIGURE_ARGS+= --enable-pdo=shared
  257. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-mysql),)
  258. CONFIGURE_ARGS+= --with-pdo-mysql=shared,"$(STAGING_DIR)/usr"
  259. else
  260. CONFIGURE_ARGS+= --without-pdo-mysql
  261. endif
  262. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-pgsql),)
  263. CONFIGURE_ARGS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
  264. else
  265. CONFIGURE_ARGS+= --without-pdo-pgsql
  266. endif
  267. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-sqlite),)
  268. CONFIGURE_ARGS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
  269. else
  270. CONFIGURE_ARGS+= --without-pdo-sqlite
  271. endif
  272. else
  273. CONFIGURE_ARGS+= --disable-pdo
  274. endif
  275. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pgsql),)
  276. CONFIGURE_ARGS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
  277. else
  278. CONFIGURE_ARGS+= --without-pgsql
  279. endif
  280. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-phar),)
  281. CONFIGURE_ARGS+= --enable-phar=shared
  282. else
  283. CONFIGURE_ARGS+= --disable-phar
  284. endif
  285. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-session),)
  286. CONFIGURE_ARGS+= --enable-session=shared
  287. else
  288. CONFIGURE_ARGS+= --disable-session
  289. endif
  290. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-shmop),)
  291. CONFIGURE_ARGS+= --enable-shmop=shared
  292. else
  293. CONFIGURE_ARGS+= --disable-shmop
  294. endif
  295. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-simplexml),)
  296. CONFIGURE_ARGS+= --enable-simplexml=shared
  297. else
  298. CONFIGURE_ARGS+= --disable-simplexml
  299. endif
  300. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-snmp),)
  301. CONFIGURE_ARGS+= --with-snmp=shared,"$(STAGING_DIR)/usr"
  302. else
  303. CONFIGURE_ARGS+= --without-snmp
  304. endif
  305. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-soap),)
  306. CONFIGURE_ARGS+= --enable-soap=shared
  307. else
  308. CONFIGURE_ARGS+= --disable-soap
  309. endif
  310. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sockets),)
  311. CONFIGURE_ARGS+= --enable-sockets=shared
  312. else
  313. CONFIGURE_ARGS+= --disable-sockets
  314. endif
  315. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sqlite3),)
  316. CONFIGURE_ARGS+= --with-sqlite3=shared,"$(STAGING_DIR)/usr"
  317. else
  318. CONFIGURE_ARGS+= --without-sqlite3
  319. endif
  320. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvmsg),)
  321. CONFIGURE_ARGS+= --enable-sysvmsg=shared
  322. else
  323. CONFIGURE_ARGS+= --disable-sysvmsg
  324. endif
  325. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvsem),)
  326. CONFIGURE_ARGS+= --enable-sysvsem=shared
  327. else
  328. CONFIGURE_ARGS+= --disable-sysvsem
  329. endif
  330. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvshm),)
  331. CONFIGURE_ARGS+= --enable-sysvshm=shared
  332. else
  333. CONFIGURE_ARGS+= --disable-sysvshm
  334. endif
  335. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-tokenizer),)
  336. CONFIGURE_ARGS+= --enable-tokenizer=shared
  337. else
  338. CONFIGURE_ARGS+= --disable-tokenizer
  339. endif
  340. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xml),)
  341. CONFIGURE_ARGS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
  342. ifneq ($(CONFIG_PHP7_LIBXML),)
  343. CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
  344. else
  345. CONFIGURE_ARGS+= --with-libexpat-dir="$(STAGING_DIR)/usr"
  346. endif
  347. else
  348. CONFIGURE_ARGS+= --disable-xml
  349. endif
  350. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xmlreader),)
  351. CONFIGURE_ARGS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
  352. else
  353. CONFIGURE_ARGS+= --disable-xmlreader
  354. endif
  355. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xmlwriter),)
  356. CONFIGURE_ARGS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
  357. else
  358. CONFIGURE_ARGS+= --disable-xmlwriter
  359. endif
  360. ifneq ($(CONFIG_PACKAGE_php7-mod-zip),)
  361. CONFIGURE_ARGS+= --enable-zip=shared
  362. else
  363. CONFIGURE_ARGS+= --disable-zip
  364. endif
  365. ifneq ($(SDK)$(CONFIG_PHP7_FILTER),)
  366. CONFIGURE_ARGS+= --enable-filter
  367. else
  368. CONFIGURE_ARGS+= --disable-filter
  369. endif
  370. ifneq ($(SDK)$(CONFIG_PHP7_LIBXML),)
  371. CONFIGURE_ARGS+= --enable-libxml
  372. CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
  373. else
  374. CONFIGURE_ARGS+= --disable-libxml
  375. endif
  376. #ifneq ($(CONFIG_PHP7_SYSTEMTZDATA),)
  377. # CONFIGURE_ARGS+= --with-system-tzdata
  378. #else
  379. # CONFIGURE_ARGS+= --without-system-tzdata
  380. #endif
  381. CONFIGURE_VARS+= \
  382. ac_cv_c_bigendian_php=$(if $(CONFIG_BIG_ENDIAN),yes,no) \
  383. php_cv_cc_rpath="no" \
  384. iconv_impl_name="gnu_libiconv" \
  385. ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
  386. define Package/php7/conffiles
  387. /etc/php.ini
  388. endef
  389. define Package/php7/install
  390. $(INSTALL_DIR) $(1)/etc
  391. $(INSTALL_DATA) ./files/php.ini $(1)/etc/
  392. endef
  393. define Package/php7-cli/install
  394. $(INSTALL_DIR) $(1)/usr/bin
  395. $(CP) $(PKG_BUILD_DIR)/sapi/cli/php $(1)/usr/bin/php-cli
  396. endef
  397. define Package/php7-cgi/install
  398. $(INSTALL_DIR) $(1)/usr/bin
  399. $(CP) $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(1)/usr/bin/php-cgi
  400. ln -sf php-cgi $(1)/usr/bin/php-fcgi
  401. endef
  402. define Package/php7-fastcgi/install
  403. $(INSTALL_DIR) $(1)/etc/config
  404. $(INSTALL_DATA) ./files/php7-fastcgi.config $(1)/etc/config/php7-fastcgi
  405. $(INSTALL_DIR) $(1)/etc/init.d
  406. $(INSTALL_BIN) ./files/php7-fastcgi.init $(1)/etc/init.d/php7-fastcgi
  407. endef
  408. define Package/php7-fpm/install
  409. $(INSTALL_DIR) $(1)/usr/bin
  410. $(INSTALL_BIN) $(PKG_BUILD_DIR)/sapi/fpm/php-fpm $(1)/usr/bin/php-fpm
  411. $(INSTALL_DIR) $(1)/etc
  412. $(INSTALL_DATA) ./files/php7-fpm.conf $(1)/etc/php7-fpm.conf
  413. $(INSTALL_DIR) $(1)/etc/config
  414. $(INSTALL_DATA) ./files/php7-fpm.config $(1)/etc/config/php7-fpm
  415. $(INSTALL_DIR) $(1)/etc/php7-fpm.d
  416. $(INSTALL_DATA) ./files/php7-fpm-www.conf $(1)/etc/php7-fpm.d/www.conf
  417. $(INSTALL_DIR) $(1)/etc/init.d
  418. $(INSTALL_BIN) ./files/php7-fpm.init $(1)/etc/init.d/php7-fpm
  419. endef
  420. define Build/Prepare
  421. $(call Build/Prepare/Default)
  422. ( cd $(PKG_BUILD_DIR); touch configure.in; ./buildconf --force )
  423. endef
  424. define Build/InstallDev
  425. rm -rf $(PKG_BUILD_DIR)/staging
  426. make -C $(PKG_BUILD_DIR) install INSTALL_ROOT=$(PKG_BUILD_DIR)/staging
  427. rm -rf $(PKG_BUILD_DIR)/staging/usr/{share,man,sbin}
  428. rm -f $(PKG_BUILD_DIR)/staging/usr/bin/{php,php-cgi,php-cli}
  429. mv $(PKG_BUILD_DIR)/staging/usr/bin/phpize $(PKG_BUILD_DIR)/staging/usr/bin/phpize7
  430. mv $(PKG_BUILD_DIR)/staging/usr/bin/php-config $(PKG_BUILD_DIR)/staging/usr/bin/php7-config
  431. mv $(PKG_BUILD_DIR)/staging/usr/include/php $(PKG_BUILD_DIR)/staging/usr/include/php7
  432. mv $(PKG_BUILD_DIR)/staging/usr/lib/php $(PKG_BUILD_DIR)/staging/usr/lib/php7
  433. $(CP) $(PKG_BUILD_DIR)/staging/usr $(STAGING_DIR)/
  434. sed -i -e "s#prefix='/usr'#prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize7
  435. sed -i -e "s#exec_prefix=\"\`eval echo /usr\`\"#exec_prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize7
  436. sed -i -e "s#/include\`/php\"#/include\`/php7\"#" $(STAGING_DIR)/usr/bin/phpize7
  437. sed -i -e "s#/lib/php\`/build\"#/lib/php7\`/build\"#" $(STAGING_DIR)/usr/bin/phpize7
  438. sed -i -e "s#prefix=\"/usr\"#prefix=\"$(STAGING_DIR)/usr\"#" $(STAGING_DIR)/usr/bin/php7-config
  439. sed -i -e "s#/include/php\"#/include/php7\"#" $(STAGING_DIR)/usr/bin/php7-config
  440. endef
  441. define BuildModule
  442. define Package/php7-mod-$(1)
  443. $(call Package/php7/Default)
  444. ifneq ($(3),)
  445. DEPENDS+=$(3)
  446. endif
  447. TITLE:=$(2) shared module
  448. endef
  449. define Package/php7-mod-$(1)/install
  450. $(INSTALL_DIR) $$(1)/usr/lib/php
  451. $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$(subst -,_,$(1)).so $$(1)/usr/lib/php/
  452. $(INSTALL_DIR) $$(1)/etc/php7
  453. ifeq ($(5),zend)
  454. echo "zend_extension=/usr/lib/php/$(subst -,_,$(1)).so" > $$(1)/etc/php7/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
  455. else
  456. echo "extension=$(subst -,_,$(1)).so" > $$(1)/etc/php7/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
  457. endif
  458. endef
  459. $$(eval $$(call BuildPackage,php7-mod-$(1)))
  460. endef
  461. $(eval $(call BuildPackage,php7))
  462. $(eval $(call BuildPackage,php7-cgi))
  463. $(eval $(call BuildPackage,php7-cli))
  464. $(eval $(call BuildPackage,php7-fastcgi))
  465. $(eval $(call BuildPackage,php7-fpm))
  466. #$(eval $(call BuildModule,NAME,TITLE[,PKG DEPENDS]))
  467. $(eval $(call BuildModule,calendar,Calendar))
  468. $(eval $(call BuildModule,ctype,Ctype))
  469. $(eval $(call BuildModule,curl,cURL,+PACKAGE_php7-mod-curl:libcurl))
  470. $(eval $(call BuildModule,dom,DOM,+@PHP7_LIBXML +PACKAGE_php7-mod-dom:libxml2))
  471. $(eval $(call BuildModule,exif,EXIF))
  472. $(eval $(call BuildModule,fileinfo,Fileinfo))
  473. $(eval $(call BuildModule,ftp,FTP,+PACKAGE_php7-mod-ftp:libopenssl))
  474. $(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libjpeg +PACKAGE_php7-mod-gd:libpng))
  475. $(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php7-mod-gettext:libintl-full))
  476. $(eval $(call BuildModule,gmp,GMP,+PACKAGE_php7-mod-gmp:libgmp))
  477. $(eval $(call BuildModule,hash,Hash))
  478. $(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
  479. $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod-intl:icu))
  480. $(eval $(call BuildModule,json,JSON))
  481. $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2))
  482. $(eval $(call BuildModule,mbstring,MBString))
  483. $(eval $(call BuildModule,mcrypt,Mcrypt,+PACKAGE_php7-mod-mcrypt:libmcrypt +PACKAGE_php7-mod-mcrypt:libltdl))
  484. $(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:libmysqlclient))
  485. $(eval $(call BuildModule,opcache,OPcache,,,zend))
  486. $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php7-mod-openssl:libopenssl))
  487. $(eval $(call BuildModule,pcntl,PCNTL))
  488. $(eval $(call BuildModule,pdo,PHP Data Objects))
  489. $(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:libmysqlclient))
  490. $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-pgsql:libpq))
  491. $(eval $(call BuildModule,pdo-sqlite,PDO driver for SQLite 3.x,+php7-mod-pdo +PACKAGE_php7-mod-pdo-sqlite:libsqlite3 +PACKAGE_php7-mod-pdo-sqlite:librt))
  492. $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php7-mod-pgsql:libpq))
  493. $(eval $(call BuildModule,phar,Phar Archives,+php7-mod-hash))
  494. $(eval $(call BuildModule,session,Session))
  495. $(eval $(call BuildModule,shmop,Shared Memory))
  496. $(eval $(call BuildModule,simplexml,SimpleXML,+@PHP7_LIBXML +PACKAGE_php7-mod-simplexml:libxml2))
  497. $(eval $(call BuildModule,snmp,SNMP,+PACKAGE_php7-mod-snmp:libnetsnmp +PACKAGE_php7-mod-snmp:libopenssl))
  498. $(eval $(call BuildModule,soap,SOAP,+@PHP7_LIBXML +PACKAGE_php7-mod-soap:libxml2))
  499. $(eval $(call BuildModule,sockets,Sockets))
  500. $(eval $(call BuildModule,sqlite3,SQLite3,+PACKAGE_php7-mod-sqlite3:libsqlite3))
  501. $(eval $(call BuildModule,sysvmsg,System V messages))
  502. $(eval $(call BuildModule,sysvsem,System V shared memory))
  503. $(eval $(call BuildModule,sysvshm,System V semaphore))
  504. $(eval $(call BuildModule,tokenizer,Tokenizer))
  505. $(eval $(call BuildModule,xml,XML,+PHP7_LIBXML:libxml2 +!PHP7_LIBXML:libexpat))
  506. $(eval $(call BuildModule,xmlreader,XMLReader,+@PHP7_LIBXML +PACKAGE_php7-mod-xmlreader:libxml2))
  507. $(eval $(call BuildModule,xmlwriter,XMLWriter,+@PHP7_LIBXML +PACKAGE_php7-mod-xmlwriter:libxml2))
  508. $(eval $(call BuildModule,zip,ZIP,+PACKAGE_php7-mod-zip:zlib))