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