hc
2023-11-06 e3e12f52b214121840b44c91de5b3e5af5d3eb84
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
   depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
       !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
       !BR2_ENABLE_LOCALE
 
config BR2_PACKAGE_WESTON
   bool "weston"
   depends on BR2_PACKAGE_HAS_UDEV
   depends on !BR2_STATIC_LIBS # wayland
   depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
   depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
   select BR2_PACKAGE_WAYLAND
   select BR2_PACKAGE_WAYLAND_PROTOCOLS
   select BR2_PACKAGE_LIBXKBCOMMON
   select BR2_PACKAGE_CAIRO
   select BR2_PACKAGE_CAIRO_PNG
   select BR2_PACKAGE_LIBPNG
   select BR2_PACKAGE_JPEG
   select BR2_PACKAGE_LIBINPUT
   select BR2_PACKAGE_LIBDRM
   # Runtime dependency
   select BR2_PACKAGE_XKEYBOARD_CONFIG
   select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL
   help
     Weston is the reference implementation of a Wayland
     compositor, and a useful compositor in its own right.
     Weston has various backends that lets it run on Linux kernel
     modesetting and evdev input as well as under X11.
 
     http://wayland.freedesktop.org/
 
if BR2_PACKAGE_WESTON
 
choice
   prompt "default compositor"
 
config BR2_PACKAGE_WESTON_DEFAULT_DRM
   bool "drm"
   select BR2_PACKAGE_WESTON_DRM
 
config BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
   bool "headless"
   select BR2_PACKAGE_WESTON_HEADLESS
 
config BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
   bool "wayland (nested)"
   select BR2_PACKAGE_WESTON_WAYLAND
 
config BR2_PACKAGE_WESTON_DEFAULT_X11
   bool "X11 (nested)"
   depends on BR2_PACKAGE_XORG7
   select BR2_PACKAGE_WESTON_X11
 
comment "X11 (nested) backend needs X.org"
   depends on !BR2_PACKAGE_XORG7
 
endchoice
 
config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR
   string
   default "drm"      if BR2_PACKAGE_WESTON_DEFAULT_DRM
   default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
   default "wayland"  if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
   default "x11"      if BR2_PACKAGE_WESTON_DEFAULT_X11
 
config BR2_PACKAGE_WESTON_DRM
   bool "DRM compositor"
 
# FreeRDP needs threads and !static, already the case for weston
config BR2_PACKAGE_WESTON_RDP
   bool "RDP compositor"
   depends on BR2_USE_MMU # freerdp, libglib2
   depends on BR2_TOOLCHAIN_HAS_SYNC_4
   depends on BR2_USE_WCHAR # freerdp
   depends on BR2_INSTALL_LIBSTDCPP # freerdp
   select BR2_PACKAGE_FREERDP
   help
     This enables the RDP backend, which allows accessing weston
     through the network with any RDP-compliant client.
 
     Please note that one must pass those options to weston for RDP
     to be functional:
       --rdp-tls-cert=/path/to/server.crt
       --rdp-tls-key=/path/to/server.key
 
     By default, Buildroot installs such files in
     /etc/freerdp/server/ so you may want to change them in a
     post-build script or a rootfs overlay.
 
comment "RDP compositor needs a toolchain w/ wchar, C++"
   depends on BR2_USE_MMU
   depends on BR2_TOOLCHAIN_HAS_SYNC_4
   depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
 
config BR2_PACKAGE_WESTON_HEADLESS
   bool "headless (testing) compositor"
 
config BR2_PACKAGE_WESTON_WAYLAND
   bool "Wayland (nested) compositor"
 
config BR2_PACKAGE_WESTON_X11
   bool "X11 (nested) compositor"
   depends on BR2_PACKAGE_XORG7
   select BR2_PACKAGE_LIBXCB
   select BR2_PACKAGE_XLIB_LIBX11
 
comment "X11 (nested) compositor needs X.org enabled"
   depends on !BR2_PACKAGE_XORG7
 
config BR2_PACKAGE_WESTON_XWAYLAND
   bool "XWayland support"
   depends on BR2_PACKAGE_XORG7
   depends on BR2_PACKAGE_LIBEPOXY
   select BR2_PACKAGE_CAIRO
   select BR2_PACKAGE_LIBXCB
   select BR2_PACKAGE_XLIB_LIBX11
   select BR2_PACKAGE_XLIB_LIBXCURSOR
 
comment "XWayland support needs libepoxy and X.org enabled"
   depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
 
# Weston needs at least one shell; this can be one of the bundled ones,
# below, of from a third-party package, which should then select this.
config BR2_PACKAGE_WESTON_HAS_SHELL
   bool
 
config BR2_PACKAGE_WESTON_SHELL_DESKTOP
   bool "desktop shell"
   default y
 
config BR2_PACKAGE_WESTON_SHELL_FULLSCREEN
   bool "fullscreen shell"
   default y
   select BR2_PACKAGE_WESTON_HAS_SHELL
 
config BR2_PACKAGE_WESTON_SHELL_IVI
   bool "ivi shell"
   default y
   select BR2_PACKAGE_WESTON_HAS_SHELL
 
config BR2_PACKAGE_WESTON_SHELL_KIOSK
   bool "kiosk shell"
   default y
   select BR2_PACKAGE_WESTON_HAS_SHELL
 
config BR2_PACKAGE_WESTON_DEMO_CLIENTS
   bool "demo clients"
   depends on BR2_USE_MMU # pango
   depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
   depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
   depends on BR2_INSTALL_LIBSTDCPP # pango
   depends on BR2_TOOLCHAIN_HAS_THREADS # pango
   depends on BR2_USE_WCHAR # pango
   depends on BR2_PACKAGE_HAS_LIBGLES
   depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
   select BR2_PACKAGE_PANGO
   help
     This enables the installation of Weston's demo clients.
 
comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9"
   depends on BR2_USE_MMU
   depends on BR2_TOOLCHAIN_HAS_SYNC_4
   depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
       !BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \
       !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
 
config BR2_PACKAGE_WESTON_DEFAULT_PIXMAN
   bool "Use pixman-renderer by default"
   default y if BR2_PACKAGE_MESA3D_OPENGL_EGL || !BR2_PACKAGE_HAS_LIBEGL
 
endif