blob: d55c45642588cd5a1ae4a6b7a06387e5e87722d7 [file] [log] [blame]
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
select BR2_PACKAGE_SEATD
# 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_RDP
bool "rdp"
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
depends on BR2_PACKAGE_XORG7 # freerdp-server
select BR2_PACKAGE_WESTON_RDP
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 "rdp" if BR2_PACKAGE_WESTON_DEFAULT_RDP
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
depends on BR2_PACKAGE_XORG7 # freerdp-server
select BR2_PACKAGE_FREERDP
select BR2_PACKAGE_FREERDP_SERVER
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++, X.org"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_USE_WCHAR || !BR2_INSTALL_LIBSTDCPP || \
!BR2_PACKAGE_XORG7
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_LIBEPOXY
depends on BR2_PACKAGE_XORG7 # xwayland
depends on BR2_USE_MMU # xwayland
depends on !BR2_STATIC_LIBS # xwayland
depends on BR2_TOOLCHAIN_HAS_THREADS # xwayland
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # xwayland -> xlib_libxshmfence
select BR2_PACKAGE_CAIRO
select BR2_PACKAGE_LIBXCB
select BR2_PACKAGE_XCB_UTIL_CURSOR
select BR2_PACKAGE_XLIB_LIBX11
select BR2_PACKAGE_XLIB_LIBXCURSOR
select BR2_PACKAGE_XWAYLAND
comment "XWayland support needs libepoxy and X.org enabled"
depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
comment "XWayland support needs a toolchain w/ threads, dynamic library"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_SYNC_4
depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS
# 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_SCREENSHARE
bool "screenshare"
default y
config BR2_PACKAGE_WESTON_SIMPLE_CLIENTS
bool "simple clients"
help
Simple clients includes application such as:
damage, dmabuf-feedback, dmabuf-egl, dmabuf-v4l, egl
In the target filesystem, simple client program binaries are
prefixed with "weston-simple-".
Note: Weston has two sets of clients. See also the weston
"demo clients" option.
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
select BR2_PACKAGE_PANGO
help
This enables the installation of Weston's demo clients.
Demo clients includes application such as:
clickdot, confine, content_protection, dnd, editor,
eventdemo, flower, fullscreen, image, multi-resource,
presentation-shm, resizor, scaler, smoke, stacking,
subsurfaces, tablet, transformed...
In the target filesystem, demo client program binaries are
prefixed with "weston-".
Note: Weston has two sets of clients. See also the weston
"simple clients" option.
comment "demo clients needs an OpenGL ES/EGL provider 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 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
endif