comment "libgtk4 needs a toolchain w/ wchar, threads, C++, gcc >= 4.9"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
		!BR2_TOOLCHAIN_HAS_THREADS

comment "libgtk4 needs an OpenGL(ES) EGL backend"
	depends on BR2_USE_MMU
	depends on BR2_TOOLCHAIN_HAS_SYNC_4
	depends on !BR2_PACKAGE_HAS_LIBEGL

config BR2_PACKAGE_LIBGTK4
	bool "libgtk4"
	depends on BR2_USE_WCHAR # glib2
	depends on BR2_TOOLCHAIN_HAS_THREADS # glib2
	depends on BR2_USE_MMU # glib2
	depends on BR2_INSTALL_LIBSTDCPP # pango
	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango -> harfbuzz
	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango -> harfbuzz
	# Even in the case of X11/OpenGL, libgtk4 needs epoxy built
	# with EGL support, see
	# https://gitlab.gnome.org/GNOME/gtk/-/issues/6866.
	depends on BR2_PACKAGE_HAS_LIBEGL
	select BR2_PACKAGE_CAIRO
	select BR2_PACKAGE_GDK_PIXBUF
	select BR2_PACKAGE_GRAPHENE
	select BR2_PACKAGE_LIBEPOXY
	select BR2_PACKAGE_LIBGLIB2
	select BR2_PACKAGE_PANGO
	select BR2_PACKAGE_TIFF
	# At least one backend is required
	select BR2_PACKAGE_LIBGTK4_BROADWAY if \
		!(BR2_PACKAGE_LIBGTK4_X11 || BR2_PACKAGE_LIBGTK4_WAYLAND)
	help
	  The GTK version 4 graphical user interface library

	  https://www.gtk.org/

if BR2_PACKAGE_LIBGTK4

config BR2_PACKAGE_LIBGTK4_BROADWAY
	bool "Broadway GDK backend"
	default y
	  help
	  This enables the Broadway backend for GDK, which provides
	  support for displaying GTK+ applications in a web browser,
	  using HTML5 and web sockets.

	  For example, to run gtk4-demo on a target which IP address is
	  192.168.0.1 and use it from a web browser, execute the
	  following commands:

	  $ broadwayd -a 192.168.0.1 -p 8080 :2 &
	  $ export GDK_BACKEND=broadway
	  $ export BROADWAY_DISPLAY=:2
	  $ gtk4-demo

	  Then open a web browser at address http://192.168.0.1:8080.
	  Javascript and web sockets should be enabled.

config BR2_PACKAGE_LIBGTK4_WAYLAND
	bool "Wayland GDK backend"
	default y
	select BR2_PACKAGE_WAYLAND
	select BR2_PACKAGE_WAYLAND_PROTOCOLS
	select BR2_PACKAGE_LIBXKBCOMMON
	help
	  This enables the Wayland backend for GDK.

comment "X11 GDK backend needs an OpenGL provider"
	depends on !BR2_PACKAGE_HAS_LIBGL

config BR2_PACKAGE_LIBGTK4_X11
	bool "X11 GDK backend"
	default y
	depends on BR2_PACKAGE_XORG7
	depends on BR2_PACKAGE_HAS_LIBGL
	select BR2_PACKAGE_XLIB_LIBXCURSOR
	select BR2_PACKAGE_XLIB_LIBXI
	select BR2_PACKAGE_XLIB_LIBXINERAMA
	help
	  This enables the X11 backend for GDK.

config BR2_PACKAGE_LIBGTK4_GSTREAMER
	bool "gstreamer support"
	select BR2_PACKAGE_GSTREAMER1
	select BR2_PACKAGE_GST1_PLUGINS_BASE
	select BR2_PACKAGE_GST1_PLUGINS_BASE_LIB_OPENGL
	select BR2_PACKAGE_GST1_PLUGINS_BAD
	help
	  Enable gstreamer support.

config BR2_PACKAGE_LIBGTK4_DEMO
	bool "Install libgtk4 demo/example programs"
	select BR2_PACKAGE_SHARED_MIME_INFO
	select BR2_PACKAGE_HICOLOR_ICON_THEME
	help
	  The GTK source base contains demo/exmaple programs.
	  This option allows to install them to the target.

endif
