1comment "libgtk3 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
2	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
3	depends on BR2_USE_MMU
4	depends on BR2_TOOLCHAIN_HAS_SYNC_4
5	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
6		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
7		!BR2_TOOLCHAIN_HAS_THREADS
8
9comment "libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend"
10	depends on BR2_USE_MMU
11	depends on BR2_TOOLCHAIN_HAS_SYNC_4
12	depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND && \
13		!BR2_PACKAGE_HAS_LIBGL
14
15config BR2_PACKAGE_LIBGTK3
16	bool "libgtk3"
17	depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS # host-libgtk3 -> host-librsvg
18	depends on BR2_USE_WCHAR # glib2
19	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
20	depends on BR2_USE_MMU # glib2
21	depends on BR2_INSTALL_LIBSTDCPP # pango
22	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
23	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz
24	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
25		BR2_PACKAGE_HAS_LIBGL
26	select BR2_PACKAGE_AT_SPI2_CORE
27	select BR2_PACKAGE_CAIRO
28	select BR2_PACKAGE_CAIRO_PS
29	select BR2_PACKAGE_CAIRO_PDF
30	select BR2_PACKAGE_CAIRO_SVG
31	select BR2_PACKAGE_LIBEPOXY
32	select BR2_PACKAGE_LIBGLIB2
33	select BR2_PACKAGE_PANGO
34	select BR2_PACKAGE_GDK_PIXBUF
35	# At least one backend is required
36	select BR2_PACKAGE_LIBGTK3_BROADWAY if \
37		!(BR2_PACKAGE_LIBGTK3_X11 || BR2_PACKAGE_LIBGTK3_WAYLAND)
38	help
39	  The GTK+ version 3 graphical user interface library
40
41	  https://www.gtk.org/
42
43if BR2_PACKAGE_LIBGTK3
44
45config BR2_PACKAGE_LIBGTK3_BROADWAY
46	bool "Broadway GDK backend"
47	default y
48	  help
49	  This enables the Broadway backend for GDK, which provides
50	  support for displaying GTK+ applications in a web browser,
51	  using HTML5 and web sockets.
52
53	  For example, to run gtk3-demo on a target which IP address is
54	  192.168.0.1 and use it from a web browser, execute the
55	  following commands:
56
57	  $ broadwayd -a 192.168.0.1 -p 8080 :2 &
58	  $ export GDK_BACKEND=broadway
59	  $ export BROADWAY_DISPLAY=:2
60	  $ gtk3-demo
61
62	  Then open a web browser at address http://192.168.0.1:8080.
63	  Javascript and web sockets should be enabled.
64
65comment "Wayland GDK backend needs an OpenGL EGL backend provided by mesa3d w/ headers >= 3.17"
66	depends on !BR2_PACKAGE_MESA3D_OPENGL_EGL || \
67		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
68
69config BR2_PACKAGE_LIBGTK3_WAYLAND
70	bool "Wayland GDK backend"
71	default y
72	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
73	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
74	select BR2_PACKAGE_WAYLAND
75	select BR2_PACKAGE_WAYLAND_PROTOCOLS
76	select BR2_PACKAGE_LIBXKBCOMMON
77	help
78	  This enables the Wayland backend for GDK.
79
80comment "X11 GDK backend needs an OpenGL provider"
81	depends on !BR2_PACKAGE_HAS_LIBGL
82
83config BR2_PACKAGE_LIBGTK3_X11
84	bool "X11 GDK backend"
85	default y
86	depends on BR2_PACKAGE_XORG7
87	depends on BR2_PACKAGE_HAS_LIBGL
88	select BR2_PACKAGE_FONTCONFIG
89	select BR2_PACKAGE_XLIB_LIBX11
90	select BR2_PACKAGE_XLIB_LIBXEXT
91	select BR2_PACKAGE_XLIB_LIBXRANDR
92	select BR2_PACKAGE_XLIB_LIBXRENDER
93	select BR2_PACKAGE_XLIB_LIBXI
94	help
95	  This enables the X11 backend for GDK.
96
97config BR2_PACKAGE_LIBGTK3_DEMO
98	bool "Install libgtk3 demo program"
99	select BR2_PACKAGE_SHARED_MIME_INFO
100	select BR2_PACKAGE_HICOLOR_ICON_THEME
101	help
102	  The GTK+ source base contains a demo program. This
103	  option allows to install this program to the target.
104
105config BR2_PACKAGE_LIBGTK3_TESTS
106	bool "Install libgtk3 tests"
107	help
108	  The GTK+ source base contains tests. This option
109	  allows to install them to the target.
110
111endif
112