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