1config BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
2	bool
3	# ARM needs BLX, so v5t+, BE completely untested so disabled
4	default y if BR2_arm && !BR2_ARM_CPU_ARMV4
5	default y if BR2_aarch64 || BR2_aarch64_be
6	default y if BR2_i386 || BR2_x86_64
7	# Disabled on MIPS big endian due to sigbus
8	default y if BR2_mipsel || BR2_mips64el
9	# Disabled on PowerPC pending runtime testing
10	# RISC-V needs the g/imafd ISA.
11	default y if BR2_riscv && BR2_RISCV_ISA_RVI \
12		&& BR2_RISCV_ISA_RVM && BR2_RISCV_ISA_RVA \
13		&& BR2_RISCV_ISA_RVF && BR2_RISCV_ISA_RVD
14	# Disabled on SuperH because of segfault
15	depends on BR2_USE_MMU # libglib2
16	depends on BR2_TOOLCHAIN_HAS_SYNC_4
17	depends on BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS # libgcrypt
18
19comment "webkitgtk needs libgtk3 and a toolchain w/ C++, wchar, threads, dynamic library, gcc >= 10, host gcc >= 4.9"
20	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
21	depends on !BR2_BINFMT_FLAT
22	depends on !BR2_PACKAGE_LIBGTK3 || !BR2_INSTALL_LIBSTDCPP || \
23		!BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
24		!BR2_TOOLCHAIN_GCC_AT_LEAST_10 || \
25		!BR2_HOST_GCC_AT_LEAST_4_9
26	depends on BR2_USE_MMU
27
28config BR2_PACKAGE_WEBKITGTK
29	bool "webkitgtk"
30	depends on !BR2_STATIC_LIBS # wayland
31	depends on !BR2_BINFMT_FLAT # icu
32	depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu, host-ruby
33	depends on BR2_INSTALL_LIBSTDCPP
34	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland, icu, libsoup3
35	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_10
36	depends on BR2_USE_WCHAR # icu, libsoup3
37	depends on BR2_PACKAGE_LIBGTK3
38	depends on BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS
39	select BR2_PACKAGE_CAIRO
40	select BR2_PACKAGE_CAIRO_PNG
41	select BR2_PACKAGE_ENCHANT
42	select BR2_PACKAGE_HARFBUZZ
43	select BR2_PACKAGE_ICU
44	select BR2_PACKAGE_JPEG
45	select BR2_PACKAGE_LIBGCRYPT
46	select BR2_PACKAGE_LIBSECRET
47	select BR2_PACKAGE_LIBSOUP3
48	select BR2_PACKAGE_LIBTASN1
49	select BR2_PACKAGE_LIBXML2
50	select BR2_PACKAGE_LIBXSLT
51	select BR2_PACKAGE_OPENJPEG
52	select BR2_PACKAGE_SQLITE
53	select BR2_PACKAGE_WEBP
54	select BR2_PACKAGE_WEBP_DEMUX
55	select BR2_PACKAGE_WOFF2
56	select BR2_PACKAGE_WPEBACKEND_FDO if BR2_PACKAGE_LIBGTK3_WAYLAND
57	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_LIBGTK3_X11
58	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_LIBGTK3_X11
59	select BR2_PACKAGE_XLIB_LIBXRENDER if BR2_PACKAGE_LIBGTK3_X11
60	select BR2_PACKAGE_XLIB_LIBXT if BR2_PACKAGE_LIBGTK3_X11
61	help
62	  WebKit is an open source, standards compliant web browser
63	  engine.
64
65	  http://www.webkitgtk.org/
66
67if BR2_PACKAGE_WEBKITGTK
68
69config BR2_PACKAGE_WEBKITGTK_SANDBOX
70	bool "sandboxing support"
71	depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS # libseccomp
72	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # libseccomp
73	select BR2_PACKAGE_BUBBLEWRAP # runtime
74	select BR2_PACKAGE_XDG_DBUS_PROXY # runtime
75	select BR2_PACKAGE_LIBSECCOMP
76	help
77	  Enable sandboxing of the processes used for network operation,
78	  disk access, and Web content rendering.
79
80comment "sandboxing support needs a toolchain w/ headers >= 3.12"
81	depends on BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS
82	depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
83
84config BR2_PACKAGE_WEBKITGTK_HTTPS
85	bool "HTTPS support"
86	depends on !BR2_STATIC_LIBS # libsoup3 -> glib-networking, gnutls
87	select BR2_PACKAGE_CA_CERTIFICATES # runtime
88	select BR2_PACKAGE_LIBSOUP3_SSL
89	help
90	  Enable HTTPS protocol support.
91
92comment "webkitgtk https support needs a toolchain w/ dynamic library"
93	depends on BR2_STATIC_LIBS
94
95config BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
96	bool "multimedia support"
97	select BR2_PACKAGE_GSTREAMER1
98	select BR2_PACKAGE_GST1_PLUGINS_BAD
99	select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DEBUGUTILS
100	select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPEGTSDEMUX
101	select BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SUBENC
102	select BR2_PACKAGE_GST1_PLUGINS_BASE
103	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_ALSA
104	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_APP
105	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIOCONVERT
106	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_AUDIORESAMPLE
107	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_PLAYBACK
108	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VIDEOCONVERTSCALE
109	select BR2_PACKAGE_GST1_PLUGINS_BASE_PLUGIN_VOLUME
110	select BR2_PACKAGE_GST1_PLUGINS_GOOD
111	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUDIOFX
112	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_AUTODETECT
113	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_ISOMP4
114	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_MATROSKA
115	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_RTSP
116	select BR2_PACKAGE_GST1_PLUGINS_GOOD_PLUGIN_VPX
117	select BR2_PACKAGE_GST1_LIBAV
118	help
119	  This option pulls in all of the required dependencies
120	  to enable multimedia (video/audio) support.
121
122if BR2_PACKAGE_WEBKITGTK_MULTIMEDIA
123
124config BR2_PACKAGE_WEBKITGTK_USE_GSTREAMER_GL
125	bool "use gstreamer-gl"
126	default y
127	depends on BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL_HAS_PLATFORM
128	help
129	  Use the GStreamer GL elements for handling video content.
130	  This is recommended as it improves performance of video
131	  playback. In some target configurations incorrect rendering
132	  might be produced, and disabling this option may help.
133
134endif
135
136config BR2_PACKAGE_WEBKITGTK_WEBDRIVER
137	bool "WebDriver support"
138	help
139	  Enable support for WebDriver. This will build and install the
140	  WebKitWebDriver program in the target.
141
142endif
143