Makefile 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594
  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.1
  8. PKG_RELEASE:=1
  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_MD5SUM:=65eef256f6e7104a05361939f5e23ada
  15. PKG_HASH:=b3565b0c1441064eba204821608df1ec7367abff881286898d900c2c2a5ffe70
  16. PKG_FIXUP:=libtool autoreconf
  17. PKG_BUILD_PARALLEL:=1
  18. PKG_USE_MIPS16:=0
  19. PHP7_MODULES = \
  20. calendar ctype curl \
  21. fileinfo \
  22. dom \
  23. exif \
  24. ftp \
  25. gettext gd gmp \
  26. hash \
  27. iconv intl \
  28. json \
  29. ldap \
  30. mbstring mcrypt mysqli \
  31. opcache openssl \
  32. pcntl pdo pdo-mysql pdo-pgsql pdo-sqlite pgsql phar \
  33. session shmop simplexml soap sockets sqlite3 sysvmsg sysvsem sysvshm \
  34. tokenizer \
  35. xml xmlreader xmlwriter zip \
  36. PKG_CONFIG_DEPENDS:= \
  37. $(patsubst %,CONFIG_PACKAGE_php7-mod-%,$(PHP7_MODULES)) \
  38. CONFIG_PHP7_FILTER CONFIG_PHP7_LIBXML CONFIG_PHP7_SYSTEMTZDATA
  39. include $(INCLUDE_DIR)/package.mk
  40. include $(INCLUDE_DIR)/nls.mk
  41. define Package/php7/Default
  42. SUBMENU:=PHP
  43. SECTION:=lang
  44. CATEGORY:=Languages
  45. TITLE:=PHP7 Hypertext preprocessor
  46. URL:=http://www.php.net/
  47. DEPENDS:=php7
  48. endef
  49. define Package/php7/Default/description
  50. PHP is a widely-used general-purpose scripting language that is especially
  51. suited for Web development and can be embedded into HTML.
  52. endef
  53. define Package/php7/config
  54. config PHP7_FILTER
  55. bool "PHP7 Filter support"
  56. depends on PACKAGE_php7-cli || PACKAGE_php7-cgi
  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+= +php7-cgi
  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. CONFIGURE_ARGS+= \
  119. --enable-cli \
  120. --enable-cgi \
  121. --enable-fpm \
  122. --enable-shared \
  123. --disable-static \
  124. --disable-rpath \
  125. --disable-debug \
  126. --disable-phpdbg \
  127. --without-pear \
  128. \
  129. --with-config-file-path=/etc \
  130. --with-config-file-scan-dir=/etc/php7 \
  131. --disable-short-tags \
  132. \
  133. --with-zlib="$(STAGING_DIR)/usr" \
  134. --with-zlib-dir="$(STAGING_DIR)/usr"
  135. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-calendar),)
  136. CONFIGURE_ARGS+= --enable-calendar=shared
  137. else
  138. CONFIGURE_ARGS+= --disable-calendar
  139. endif
  140. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ctype),)
  141. CONFIGURE_ARGS+= --enable-ctype=shared
  142. else
  143. CONFIGURE_ARGS+= --disable-ctype
  144. endif
  145. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-curl),)
  146. CONFIGURE_ARGS+= --with-curl=shared,"$(STAGING_DIR)/usr"
  147. else
  148. CONFIGURE_ARGS+= --without-curl
  149. endif
  150. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-fileinfo),)
  151. CONFIGURE_ARGS+= --enable-fileinfo=shared
  152. else
  153. CONFIGURE_ARGS+= --disable-fileinfo
  154. endif
  155. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gettext),)
  156. CONFIGURE_ARGS+= --with-gettext=shared,"$(STAGING_DIR)/usr/lib/libintl-full"
  157. else
  158. CONFIGURE_ARGS+= --without-gettext
  159. endif
  160. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-dom),)
  161. CONFIGURE_ARGS+= --enable-dom=shared
  162. else
  163. CONFIGURE_ARGS+= --disable-dom
  164. endif
  165. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-exif),)
  166. CONFIGURE_ARGS+= --enable-exif=shared
  167. else
  168. CONFIGURE_ARGS+= --disable-exif
  169. endif
  170. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ftp),)
  171. CONFIGURE_ARGS+= --enable-ftp=shared
  172. else
  173. CONFIGURE_ARGS+= --disable-ftp
  174. endif
  175. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gd),)
  176. CONFIGURE_ARGS+= \
  177. --with-gd=shared \
  178. --without-freetype-dir \
  179. --with-jpeg-dir="$(STAGING_DIR)/usr" \
  180. --with-png-dir="$(STAGING_DIR)/usr" \
  181. --without-xpm-dir \
  182. --without-t1lib \
  183. --enable-gd-native-ttf \
  184. --disable-gd-jis-conv
  185. else
  186. CONFIGURE_ARGS+= --without-gd
  187. endif
  188. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-gmp),)
  189. CONFIGURE_ARGS+= --with-gmp=shared,"$(STAGING_DIR)/usr"
  190. else
  191. CONFIGURE_ARGS+= --without-gmp
  192. endif
  193. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-hash),)
  194. CONFIGURE_ARGS+= --enable-hash=shared
  195. else
  196. CONFIGURE_ARGS+= --disable-hash
  197. endif
  198. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-iconv),)
  199. CONFIGURE_ARGS+= --with-iconv=shared,"$(ICONV_PREFIX)"
  200. else
  201. CONFIGURE_ARGS+= --without-iconv
  202. endif
  203. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-intl),)
  204. CONFIGURE_ARGS+= --enable-intl=shared
  205. else
  206. CONFIGURE_ARGS+= --disable-intl
  207. endif
  208. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-json),)
  209. CONFIGURE_ARGS+= --enable-json=shared
  210. else
  211. CONFIGURE_ARGS+= --disable-json
  212. endif
  213. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-ldap),)
  214. CONFIGURE_ARGS+= \
  215. --with-ldap=shared,"$(STAGING_DIR)/usr" \
  216. --with-ldap-sasl="$(STAGING_DIR)/usr"
  217. else
  218. CONFIGURE_ARGS+= --without-ldap
  219. endif
  220. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mbstring),)
  221. CONFIGURE_ARGS+= --enable-mbstring=shared --enable-mbregex
  222. else
  223. CONFIGURE_ARGS+= --disable-mbstring
  224. endif
  225. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mcrypt),)
  226. CONFIGURE_ARGS+= --with-mcrypt=shared,"$(STAGING_DIR)/usr"
  227. else
  228. CONFIGURE_ARGS+= --without-mcrypt
  229. endif
  230. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-mysqli),)
  231. CONFIGURE_ARGS+= --with-mysqli=shared,"$(STAGING_DIR)/usr/bin/mysql_config"
  232. else
  233. CONFIGURE_ARGS+= --without-mysqli
  234. endif
  235. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-opcache),)
  236. CONFIGURE_ARGS+= --enable-opcache=shared
  237. else
  238. CONFIGURE_ARGS+= --disable-opcache
  239. endif
  240. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-openssl),)
  241. CONFIGURE_ARGS+= \
  242. --with-openssl=shared,"$(STAGING_DIR)/usr" \
  243. --with-kerberos=no \
  244. --with-openssl-dir="$(STAGING_DIR)/usr"
  245. else
  246. CONFIGURE_ARGS+= --without-openssl
  247. endif
  248. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pcntl),)
  249. CONFIGURE_ARGS+= --enable-pcntl=shared
  250. else
  251. CONFIGURE_ARGS+= --disable-pcntl
  252. endif
  253. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo),)
  254. CONFIGURE_ARGS+= --enable-pdo=shared
  255. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-mysql),)
  256. CONFIGURE_ARGS+= --with-pdo-mysql=shared,"$(STAGING_DIR)/usr"
  257. else
  258. CONFIGURE_ARGS+= --without-pdo-mysql
  259. endif
  260. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-pgsql),)
  261. CONFIGURE_ARGS+= --with-pdo-pgsql=shared,"$(STAGING_DIR)/usr"
  262. else
  263. CONFIGURE_ARGS+= --without-pdo-pgsql
  264. endif
  265. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pdo-sqlite),)
  266. CONFIGURE_ARGS+= --with-pdo-sqlite=shared,"$(STAGING_DIR)/usr"
  267. else
  268. CONFIGURE_ARGS+= --without-pdo-sqlite
  269. endif
  270. else
  271. CONFIGURE_ARGS+= --disable-pdo
  272. endif
  273. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-pgsql),)
  274. CONFIGURE_ARGS+= --with-pgsql=shared,"$(STAGING_DIR)/usr"
  275. else
  276. CONFIGURE_ARGS+= --without-pgsql
  277. endif
  278. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-phar),)
  279. CONFIGURE_ARGS+= --enable-phar=shared
  280. else
  281. CONFIGURE_ARGS+= --disable-phar
  282. endif
  283. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-session),)
  284. CONFIGURE_ARGS+= --enable-session=shared
  285. else
  286. CONFIGURE_ARGS+= --disable-session
  287. endif
  288. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-shmop),)
  289. CONFIGURE_ARGS+= --enable-shmop=shared
  290. else
  291. CONFIGURE_ARGS+= --disable-shmop
  292. endif
  293. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-simplexml),)
  294. CONFIGURE_ARGS+= --enable-simplexml=shared
  295. else
  296. CONFIGURE_ARGS+= --disable-simplexml
  297. endif
  298. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-soap),)
  299. CONFIGURE_ARGS+= --enable-soap=shared
  300. else
  301. CONFIGURE_ARGS+= --disable-soap
  302. endif
  303. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sockets),)
  304. CONFIGURE_ARGS+= --enable-sockets=shared
  305. else
  306. CONFIGURE_ARGS+= --disable-sockets
  307. endif
  308. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sqlite3),)
  309. CONFIGURE_ARGS+= --with-sqlite3=shared,"$(STAGING_DIR)/usr"
  310. else
  311. CONFIGURE_ARGS+= --without-sqlite3
  312. endif
  313. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvmsg),)
  314. CONFIGURE_ARGS+= --enable-sysvmsg=shared
  315. else
  316. CONFIGURE_ARGS+= --disable-sysvmsg
  317. endif
  318. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvsem),)
  319. CONFIGURE_ARGS+= --enable-sysvsem=shared
  320. else
  321. CONFIGURE_ARGS+= --disable-sysvsem
  322. endif
  323. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-sysvshm),)
  324. CONFIGURE_ARGS+= --enable-sysvshm=shared
  325. else
  326. CONFIGURE_ARGS+= --disable-sysvshm
  327. endif
  328. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-tokenizer),)
  329. CONFIGURE_ARGS+= --enable-tokenizer=shared
  330. else
  331. CONFIGURE_ARGS+= --disable-tokenizer
  332. endif
  333. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xml),)
  334. CONFIGURE_ARGS+= --enable-xml=shared,"$(STAGING_DIR)/usr"
  335. ifneq ($(CONFIG_PHP7_LIBXML),)
  336. CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
  337. else
  338. CONFIGURE_ARGS+= --with-libexpat-dir="$(STAGING_DIR)/usr"
  339. endif
  340. else
  341. CONFIGURE_ARGS+= --disable-xml
  342. endif
  343. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xmlreader),)
  344. CONFIGURE_ARGS+= --enable-xmlreader=shared,"$(STAGING_DIR)/usr"
  345. else
  346. CONFIGURE_ARGS+= --disable-xmlreader
  347. endif
  348. ifneq ($(SDK)$(CONFIG_PACKAGE_php7-mod-xmlwriter),)
  349. CONFIGURE_ARGS+= --enable-xmlwriter=shared,"$(STAGING_DIR)/usr"
  350. else
  351. CONFIGURE_ARGS+= --disable-xmlwriter
  352. endif
  353. ifneq ($(CONFIG_PACKAGE_php7-mod-zip),)
  354. CONFIGURE_ARGS+= --enable-zip=shared
  355. else
  356. CONFIGURE_ARGS+= --disable-zip
  357. endif
  358. ifneq ($(SDK)$(CONFIG_PHP7_FILTER),)
  359. CONFIGURE_ARGS+= --enable-filter
  360. else
  361. CONFIGURE_ARGS+= --disable-filter
  362. endif
  363. ifneq ($(SDK)$(CONFIG_PHP7_LIBXML),)
  364. CONFIGURE_ARGS+= --enable-libxml
  365. CONFIGURE_ARGS+= --with-libxml-dir="$(STAGING_DIR)/usr/include/libxml2"
  366. else
  367. CONFIGURE_ARGS+= --disable-libxml
  368. endif
  369. #ifneq ($(CONFIG_PHP7_SYSTEMTZDATA),)
  370. # CONFIGURE_ARGS+= --with-system-tzdata
  371. #else
  372. # CONFIGURE_ARGS+= --without-system-tzdata
  373. #endif
  374. CONFIGURE_VARS+= \
  375. ac_cv_c_bigendian_php=$(if $(CONFIG_BIG_ENDIAN),yes,no) \
  376. php_cv_cc_rpath="no" \
  377. iconv_impl_name="gnu_libiconv" \
  378. ac_cv_php_xml2_config_path="$(STAGING_DIR)/host/bin/xml2-config" \
  379. define Package/php7/conffiles
  380. /etc/php.ini
  381. endef
  382. define Package/php7/install
  383. $(INSTALL_DIR) $(1)/etc
  384. $(INSTALL_DATA) ./files/php.ini $(1)/etc/
  385. endef
  386. define Package/php7-cli/install
  387. $(INSTALL_DIR) $(1)/usr/bin
  388. $(CP) $(PKG_BUILD_DIR)/sapi/cli/php $(1)/usr/bin/php-cli
  389. endef
  390. define Package/php7-cgi/install
  391. $(INSTALL_DIR) $(1)/usr/bin
  392. $(CP) $(PKG_BUILD_DIR)/sapi/cgi/php-cgi $(1)/usr/bin/php-cgi
  393. ln -sf php-cgi $(1)/usr/bin/php-fcgi
  394. endef
  395. define Package/php7-fastcgi/install
  396. $(INSTALL_DIR) $(1)/etc/config
  397. $(INSTALL_DATA) ./files/php7-fastcgi.config $(1)/etc/config/php7-fastcgi
  398. $(INSTALL_DIR) $(1)/etc/init.d
  399. $(INSTALL_BIN) ./files/php7-fastcgi.init $(1)/etc/init.d/php7-fastcgi
  400. endef
  401. define Package/php7-fpm/install
  402. $(INSTALL_DIR) $(1)/usr/bin
  403. $(INSTALL_BIN) $(PKG_BUILD_DIR)/sapi/fpm/php-fpm $(1)/usr/bin/php-fpm
  404. $(INSTALL_DIR) $(1)/etc
  405. $(INSTALL_DATA) ./files/php7-fpm.conf $(1)/etc/php7-fpm.conf
  406. $(INSTALL_DIR) $(1)/etc/config
  407. $(INSTALL_DATA) ./files/php7-fpm.config $(1)/etc/config/php7-fpm
  408. $(INSTALL_DIR) $(1)/etc/php7-fpm.d
  409. $(INSTALL_DATA) ./files/php7-fpm-www.conf $(1)/etc/php7-fpm.d/www.conf
  410. $(INSTALL_DIR) $(1)/etc/init.d
  411. $(INSTALL_BIN) ./files/php7-fpm.init $(1)/etc/init.d/php7-fpm
  412. endef
  413. define Build/Prepare
  414. $(call Build/Prepare/Default)
  415. ( cd $(PKG_BUILD_DIR); touch configure.in; ./buildconf --force )
  416. endef
  417. define Build/InstallDev
  418. rm -rf $(PKG_BUILD_DIR)/staging
  419. make -C $(PKG_BUILD_DIR) install INSTALL_ROOT=$(PKG_BUILD_DIR)/staging
  420. rm -rf $(PKG_BUILD_DIR)/staging/usr/{share,man,sbin}
  421. rm -f $(PKG_BUILD_DIR)/staging/usr/bin/{php,php-cgi,php-cli}
  422. mv $(PKG_BUILD_DIR)/staging/usr/bin/phpize $(PKG_BUILD_DIR)/staging/usr/bin/phpize7
  423. mv $(PKG_BUILD_DIR)/staging/usr/bin/php-config $(PKG_BUILD_DIR)/staging/usr/bin/php7-config
  424. mv $(PKG_BUILD_DIR)/staging/usr/include/php $(PKG_BUILD_DIR)/staging/usr/include/php7
  425. mv $(PKG_BUILD_DIR)/staging/usr/lib/php $(PKG_BUILD_DIR)/staging/usr/lib/php7
  426. $(CP) $(PKG_BUILD_DIR)/staging/usr $(STAGING_DIR)/
  427. sed -i -e "s#prefix='/usr'#prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize7
  428. sed -i -e "s#exec_prefix=\"\`eval echo /usr\`\"#exec_prefix='$(STAGING_DIR)/usr'#" $(STAGING_DIR)/usr/bin/phpize7
  429. sed -i -e "s#/include\`/php\"#/include\`/php7\"#" $(STAGING_DIR)/usr/bin/phpize7
  430. sed -i -e "s#/lib/php\`/build\"#/lib/php7\`/build\"#" $(STAGING_DIR)/usr/bin/phpize7
  431. sed -i -e "s#prefix=\"/usr\"#prefix=\"$(STAGING_DIR)/usr\"#" $(STAGING_DIR)/usr/bin/php7-config
  432. sed -i -e "s#/include/php\"#/include/php7\"#" $(STAGING_DIR)/usr/bin/php7-config
  433. endef
  434. define BuildModule
  435. define Package/php7-mod-$(1)
  436. $(call Package/php7/Default)
  437. ifneq ($(3),)
  438. DEPENDS+=$(3)
  439. endif
  440. TITLE:=$(2) shared module
  441. endef
  442. define Package/php7-mod-$(1)/install
  443. $(INSTALL_DIR) $$(1)/usr/lib/php
  444. $(INSTALL_BIN) $(PKG_BUILD_DIR)/modules/$(subst -,_,$(1)).so $$(1)/usr/lib/php/
  445. $(INSTALL_DIR) $$(1)/etc/php7
  446. ifeq ($(5),zend)
  447. echo "zend_extension=/usr/lib/php/$(subst -,_,$(1)).so" > $$(1)/etc/php7/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
  448. else
  449. echo "extension=$(subst -,_,$(1)).so" > $$(1)/etc/php7/$(if $(4),$(4),20)_$(subst -,_,$(1)).ini
  450. endif
  451. endef
  452. $$(eval $$(call BuildPackage,php7-mod-$(1)))
  453. endef
  454. $(eval $(call BuildPackage,php7))
  455. $(eval $(call BuildPackage,php7-cgi))
  456. $(eval $(call BuildPackage,php7-cli))
  457. $(eval $(call BuildPackage,php7-fastcgi))
  458. $(eval $(call BuildPackage,php7-fpm))
  459. #$(eval $(call BuildModule,NAME,TITLE[,PKG DEPENDS]))
  460. $(eval $(call BuildModule,calendar,Calendar))
  461. $(eval $(call BuildModule,ctype,Ctype))
  462. $(eval $(call BuildModule,curl,cURL,+PACKAGE_php7-mod-curl:libcurl))
  463. $(eval $(call BuildModule,dom,DOM,+@PHP7_LIBXML +PACKAGE_php7-mod-dom:libxml2))
  464. $(eval $(call BuildModule,exif,EXIF))
  465. $(eval $(call BuildModule,fileinfo,Fileinfo))
  466. $(eval $(call BuildModule,ftp,FTP,+PACKAGE_php7-mod-ftp:libopenssl))
  467. $(eval $(call BuildModule,gd,GD graphics,+PACKAGE_php7-mod-gd:libjpeg +PACKAGE_php7-mod-gd:libpng))
  468. $(eval $(call BuildModule,gettext,Gettext,+PACKAGE_php7-mod-gettext:libintl-full))
  469. $(eval $(call BuildModule,gmp,GMP,+PACKAGE_php7-mod-gmp:libgmp))
  470. $(eval $(call BuildModule,hash,Hash))
  471. $(eval $(call BuildModule,iconv,iConv,$(ICONV_DEPENDS)))
  472. $(eval $(call BuildModule,intl,Internationalization Functions,+PACKAGE_php7-mod-intl:icu))
  473. $(eval $(call BuildModule,json,JSON))
  474. $(eval $(call BuildModule,ldap,LDAP,+PACKAGE_php7-mod-ldap:libopenldap +PACKAGE_php7-mod-ldap:libsasl2))
  475. $(eval $(call BuildModule,mbstring,MBString))
  476. $(eval $(call BuildModule,mcrypt,Mcrypt,+PACKAGE_php7-mod-mcrypt:libmcrypt +PACKAGE_php7-mod-mcrypt:libltdl))
  477. $(eval $(call BuildModule,mysqli,MySQL Improved Extension,+PACKAGE_php7-mod-mysqli:libmysqlclient))
  478. $(eval $(call BuildModule,opcache,OPcache,,,zend))
  479. $(eval $(call BuildModule,openssl,OpenSSL,+PACKAGE_php7-mod-openssl:libopenssl))
  480. $(eval $(call BuildModule,pcntl,PCNTL))
  481. $(eval $(call BuildModule,pdo,PHP Data Objects))
  482. $(eval $(call BuildModule,pdo-mysql,PDO driver for MySQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-mysql:libmysqlclient))
  483. $(eval $(call BuildModule,pdo-pgsql,PDO driver for PostgreSQL,+php7-mod-pdo +PACKAGE_php7-mod-pdo-pgsql:libpq))
  484. $(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))
  485. $(eval $(call BuildModule,pgsql,PostgreSQL,+PACKAGE_php7-mod-pgsql:libpq))
  486. $(eval $(call BuildModule,phar,Phar Archives,+php7-mod-hash))
  487. $(eval $(call BuildModule,session,Session))
  488. $(eval $(call BuildModule,shmop,Shared Memory))
  489. $(eval $(call BuildModule,simplexml,SimpleXML,+@PHP7_LIBXML +PACKAGE_php7-mod-simplexml:libxml2))
  490. $(eval $(call BuildModule,soap,SOAP,+@PHP7_LIBXML +PACKAGE_php7-mod-soap:libxml2))
  491. $(eval $(call BuildModule,sockets,Sockets))
  492. $(eval $(call BuildModule,sqlite3,SQLite3,+PACKAGE_php7-mod-sqlite3:libsqlite3))
  493. $(eval $(call BuildModule,sysvmsg,System V messages))
  494. $(eval $(call BuildModule,sysvsem,System V shared memory))
  495. $(eval $(call BuildModule,sysvshm,System V semaphore))
  496. $(eval $(call BuildModule,tokenizer,Tokenizer))
  497. $(eval $(call BuildModule,xml,XML,+PHP7_LIBXML:libxml2 +!PHP7_LIBXML:libexpat))
  498. $(eval $(call BuildModule,xmlreader,XMLReader,+@PHP7_LIBXML +PACKAGE_php7-mod-xmlreader:libxml2))
  499. $(eval $(call BuildModule,xmlwriter,XMLWriter,+@PHP7_LIBXML +PACKAGE_php7-mod-xmlwriter:libxml2))
  500. $(eval $(call BuildModule,zip,ZIP,+PACKAGE_php7-mod-zip:zlib))