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