xref: /OK3568_Linux_fs/buildroot/package/weston/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1comment "weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0"
2	depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS || \
3		!BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0 || BR2_STATIC_LIBS || \
4		!BR2_ENABLE_LOCALE
5
6config BR2_PACKAGE_WESTON
7	bool "weston"
8	depends on BR2_PACKAGE_HAS_UDEV
9	depends on !BR2_STATIC_LIBS # wayland
10	depends on BR2_TOOLCHAIN_HAS_THREADS # wayland
11	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0
12	select BR2_PACKAGE_WAYLAND
13	select BR2_PACKAGE_WAYLAND_PROTOCOLS
14	select BR2_PACKAGE_LIBXKBCOMMON
15	select BR2_PACKAGE_CAIRO
16	select BR2_PACKAGE_CAIRO_PNG
17	select BR2_PACKAGE_LIBPNG
18	select BR2_PACKAGE_JPEG
19	select BR2_PACKAGE_LIBINPUT
20	select BR2_PACKAGE_LIBDRM
21	# Runtime dependency
22	select BR2_PACKAGE_XKEYBOARD_CONFIG
23	select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL
24	select BR2_PACKAGE_SEATD if !BR2_PACKAGE_DBUS || !BR2_PACKAGE_SYSTEMD
25	help
26	  Weston is the reference implementation of a Wayland
27	  compositor, and a useful compositor in its own right.
28	  Weston has various backends that lets it run on Linux kernel
29	  modesetting and evdev input as well as under X11.
30
31	  http://wayland.freedesktop.org/
32
33if BR2_PACKAGE_WESTON
34
35choice
36	prompt "default compositor"
37
38config BR2_PACKAGE_WESTON_DEFAULT_DRM
39	bool "drm"
40	select BR2_PACKAGE_WESTON_DRM
41
42config BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
43	bool "headless"
44	select BR2_PACKAGE_WESTON_HEADLESS
45
46config BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
47	bool "wayland (nested)"
48	select BR2_PACKAGE_WESTON_WAYLAND
49
50config BR2_PACKAGE_WESTON_DEFAULT_X11
51	bool "X11 (nested)"
52	depends on BR2_PACKAGE_XORG7
53	select BR2_PACKAGE_WESTON_X11
54
55comment "X11 (nested) backend needs X.org"
56	depends on !BR2_PACKAGE_XORG7
57
58endchoice
59
60config BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR
61	string
62	default "drm"      if BR2_PACKAGE_WESTON_DEFAULT_DRM
63	default "headless" if BR2_PACKAGE_WESTON_DEFAULT_HEADLESS
64	default "wayland"  if BR2_PACKAGE_WESTON_DEFAULT_WAYLAND
65	default "x11"      if BR2_PACKAGE_WESTON_DEFAULT_X11
66
67config BR2_PACKAGE_WESTON_DRM
68	bool "DRM compositor"
69
70config BR2_PACKAGE_WESTON_VNC
71	bool "VNC compositor"
72	select BR2_PACKAGE_NEATVNC
73
74# FreeRDP needs threads and !static, already the case for weston
75config BR2_PACKAGE_WESTON_RDP
76	bool "RDP compositor"
77	depends on BR2_USE_MMU # freerdp, libglib2
78	depends on BR2_TOOLCHAIN_HAS_SYNC_4
79	depends on BR2_USE_WCHAR # freerdp
80	depends on BR2_INSTALL_LIBSTDCPP # freerdp
81	select BR2_PACKAGE_FREERDP
82	help
83	  This enables the RDP backend, which allows accessing weston
84	  through the network with any RDP-compliant client.
85
86	  Please note that one must pass those options to weston for RDP
87	  to be functional:
88	    --rdp-tls-cert=/path/to/server.crt
89	    --rdp-tls-key=/path/to/server.key
90
91	  By default, Buildroot installs such files in
92	  /etc/freerdp/server/ so you may want to change them in a
93	  post-build script or a rootfs overlay.
94
95comment "RDP compositor needs a toolchain w/ wchar, C++"
96	depends on BR2_USE_MMU
97	depends on BR2_TOOLCHAIN_HAS_SYNC_4
98	depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP
99
100config BR2_PACKAGE_WESTON_HEADLESS
101	bool "headless (testing) compositor"
102
103config BR2_PACKAGE_WESTON_WAYLAND
104	bool "Wayland (nested) compositor"
105
106config BR2_PACKAGE_WESTON_X11
107	bool "X11 (nested) compositor"
108	depends on BR2_PACKAGE_XORG7
109	select BR2_PACKAGE_LIBXCB
110	select BR2_PACKAGE_XLIB_LIBX11
111
112comment "X11 (nested) compositor needs X.org enabled"
113	depends on !BR2_PACKAGE_XORG7
114
115config BR2_PACKAGE_WESTON_XWAYLAND
116	bool "XWayland support"
117	depends on BR2_PACKAGE_LIBEPOXY
118	depends on BR2_PACKAGE_XORG7 # xwayland
119	depends on BR2_USE_MMU # xwayland
120	depends on !BR2_STATIC_LIBS # xwayland
121	depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland
122	depends on !BR2_RISCV_32 # xwayland -> xlib_libxshmfence
123	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence
124	select BR2_PACKAGE_CAIRO
125	select BR2_PACKAGE_LIBXCB
126	select BR2_PACKAGE_XLIB_LIBX11
127	select BR2_PACKAGE_XLIB_LIBXCURSOR
128	select BR2_PACKAGE_XWAYLAND
129
130comment "XWayland support needs libepoxy and X.org enabled"
131	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
132
133comment "XWayland support needs a toolchain w/ threads, dynamic library"
134	depends on BR2_USE_MMU
135	depends on !BR2_RISCV_32
136	depends on BR2_TOOLCHAIN_HAS_SYNC_4
137	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
138
139# Weston needs at least one shell; this can be one of the bundled ones,
140# below, of from a third-party package, which should then select this.
141config BR2_PACKAGE_WESTON_HAS_SHELL
142	bool
143
144config BR2_PACKAGE_WESTON_SHELL_DESKTOP
145	bool "desktop shell"
146	default y
147
148config BR2_PACKAGE_WESTON_SHELL_FULLSCREEN
149	bool "fullscreen shell"
150	default y
151	select BR2_PACKAGE_WESTON_HAS_SHELL
152
153config BR2_PACKAGE_WESTON_SHELL_IVI
154	bool "ivi shell"
155	default y
156	select BR2_PACKAGE_WESTON_HAS_SHELL
157
158config BR2_PACKAGE_WESTON_SHELL_KIOSK
159	bool "kiosk shell"
160	default y
161	select BR2_PACKAGE_WESTON_HAS_SHELL
162
163config BR2_PACKAGE_WESTON_DEMO_CLIENTS
164	bool "demo clients"
165	depends on BR2_USE_MMU # pango
166	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # pango
167	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # pango
168	depends on BR2_INSTALL_LIBSTDCPP # pango
169	depends on BR2_TOOLCHAIN_HAS_THREADS # pango
170	depends on BR2_USE_WCHAR # pango
171	depends on BR2_PACKAGE_HAS_LIBGLES
172	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
173	select BR2_PACKAGE_PANGO
174	help
175	  This enables the installation of Weston's demo clients.
176
177comment "demo clients needs an OpenGL ES provider, an OpenEGL-capable Wayland backend and a toolchain w/ wchar, threads, C++, gcc >= 4.9"
178	depends on BR2_USE_MMU
179	depends on BR2_TOOLCHAIN_HAS_SYNC_4
180	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS || \
181		!BR2_USE_WCHAR || !BR2_PACKAGE_HAS_LIBGLES || \
182		!BR2_PACKAGE_HAS_LIBEGL_WAYLAND || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
183
184config BR2_PACKAGE_WESTON_DEFAULT_PIXMAN
185	bool "Use pixman-renderer by default"
186	default y if BR2_PACKAGE_MESA3D_OPENGL_EGL || !BR2_PACKAGE_HAS_LIBEGL
187
188endif
189