1config BR2_PACKAGE_PHP_ARCH_SUPPORTS
2	bool
3	# see fiber_cpu in configure.ac
4	default y if BR2_aarch64 || BR2_aarch64_be
5	default y if BR2_arm || BR2_armeb
6	default y if BR2_i386 || BR2_x86_64
7	default y if BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
8	default y if BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le
9	default y if BR2_RISCV_64
10	default y if BR2_s390x
11	default y if BR2_TOOLCHAIN_HAS_UCONTEXT
12	default y if BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
13
14config BR2_PACKAGE_PHP
15	bool "php"
16	depends on BR2_PACKAGE_PHP_ARCH_SUPPORTS
17	# PHP uses -export-dynamic, which breaks with elf2flt with a
18	# message like "ld.real: section .junk LMA [...,...] overlaps
19	# section .text LMA [...,...]"
20	depends on !BR2_BINFMT_FLAT
21	depends on BR2_USE_WCHAR
22	select BR2_PACKAGE_PHP_SAPI_CGI if \
23	       !BR2_PACKAGE_PHP_SAPI_APACHE && \
24	       !BR2_PACKAGE_PHP_SAPI_CLI && \
25	       !BR2_PACKAGE_PHP_SAPI_FPM &&  \
26	       BR2_USE_MMU
27	select BR2_PACKAGE_PHP_SAPI_CLI if !BR2_USE_MMU
28	select BR2_PACKAGE_PCRE2
29	select BR2_PACKAGE_LIBUCONTEXT if \
30		BR2_PACKAGE_LIBUCONTEXT_ARCH_SUPPORTS
31	help
32	  PHP  is a widely-used general-purpose scripting
33	  language that is especially suited for Web development
34	  and can be embedded into HTML.
35
36	  http://www.php.net
37
38if BR2_PACKAGE_PHP
39
40config BR2_PACKAGE_PHP_SAPI_APACHE
41	bool "Apache interface"
42	depends on BR2_PACKAGE_APACHE
43	help
44	  Apache module
45
46config BR2_PACKAGE_PHP_SAPI_CGI
47	bool "CGI interface"
48	# CGI uses fork()
49	depends on BR2_USE_MMU
50	help
51	  Common Gateway Interface
52
53config BR2_PACKAGE_PHP_SAPI_CLI
54	bool "CLI interface"
55	help
56	  Command Line Interface
57
58config BR2_PACKAGE_PHP_SAPI_FPM
59	bool "FPM interface"
60	depends on BR2_USE_MMU
61	# "Sparc v8 and predecessors are not and will not be supported"
62	depends on !BR2_sparc
63	help
64	  PHP-FPM (FastCGI Process Manager)
65
66source "package/php/Config.ext"
67
68endif
69
70comment "php needs a toolchain w/ wchar"
71	depends on BR2_PACKAGE_PHP_ARCH_SUPPORTS
72	depends on !BR2_BINFMT_FLAT
73	depends on !BR2_USE_WCHAR
74