if BR2_PACKAGE_WESTON
+choice
+ prompt "Backend default"
+ depends on BR2_PACKAGE_WESTON_FBDEV || \
+ BR2_PACKAGE_WESTON_DRM || \
+ BR2_PACKAGE_WESTON_X11
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_FBDEV
+ bool "fbdev"
+ depends on BR2_PACKAGE_WESTON_FBDEV
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_DRM
+ bool "drm"
+ depends on BR2_PACKAGE_WESTON_DRM
+
+config BR2_PACKAGE_WESTON_DEFAULT_BACKEND_X11
+ bool "X11"
+ depends on BR2_PACKAGE_WESTON_X11
+
+endchoice
+
# Helper to make sure at least one compositor is selected.
config BR2_PACKAGE_WESTON_HAS_COMPOSITOR
bool
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_HAS_THREADS # pango
+ depends on BR2_INSTALL_LIBSTDCPP # 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++"
+ depends on BR2_USE_MMU
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS || \
+ !BR2_INSTALL_LIBSTDCPP || !BR2_PACKAGE_HAS_LIBGLES || \
+ !BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+
endif
#
################################################################################
-WESTON_VERSION = 6.0.1
+WESTON_VERSION = 8.0.0
WESTON_SITE = http://wayland.freedesktop.org/releases
WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz
WESTON_LICENSE = MIT
WESTON_LICENSE_FILES = COPYING
WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \
- libxkbcommon pixman libpng jpeg udev cairo libinput libdrm \
- $(if $(BR2_PACKAGE_WEBP),webp)
+ libxkbcommon pixman libpng jpeg udev cairo libinput libdrm
WESTON_CONF_OPTS = \
- --with-dtddir=$(STAGING_DIR)/usr/share/wayland \
- --disable-headless-compositor \
- --disable-colord \
- --disable-devdocs \
- --disable-setuid-install \
- --enable-autotools
-
-WESTON_MAKE_OPTS = \
- WAYLAND_PROTOCOLS_DATADIR=$(STAGING_DIR)/usr/share/wayland-protocols
-
-# Uses VIDIOC_EXPBUF, only available from 3.8+
-ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),)
-WESTON_CONF_OPTS += --disable-simple-dmabuf-v4l-client
+ -Dbuild.pkg_config_path=$(HOST_DIR)/lib/pkgconfig \
+ -Dremoting=false \
+ -Dbackend-headless=false \
+ -Dcolor-management-colord=false
+
+ifeq ($(BR2_PACKAGE_DBUS)$(BR2_PACKAGE_SYSTEMD),yy)
+WESTON_CONF_OPTS += -Dlauncher-logind=true
+WESTON_DEPENDENCIES += dbus systemd
+else
+WESTON_CONF_OPTS += -Dlauncher-logind=false
endif
-ifeq ($(BR2_PACKAGE_DBUS),y)
-WESTON_CONF_OPTS += --enable-dbus
-WESTON_DEPENDENCIES += dbus
+ifeq ($(BR2_PACKAGE_WEBP),y)
+WESTON_CONF_OPTS += -Dimage-webp=true
+WESTON_DEPENDENCIES += webp
else
-WESTON_CONF_OPTS += --disable-dbus
+WESTON_CONF_OPTS += -Dimage-webp=false
endif
# weston-launch must be u+s root in order to work properly
define WESTON_USERS
- - weston-launch -1 - - - - Weston launcher group
endef
-WESTON_CONF_OPTS += --enable-weston-launch
+WESTON_CONF_OPTS += -Dweston-launch=true
WESTON_DEPENDENCIES += linux-pam
else
-WESTON_CONF_OPTS += --disable-weston-launch
+WESTON_CONF_OPTS += -Dweston-launch=false
+endif
+
+# Uses VIDIOC_EXPBUF, only available from 3.8+
+ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y)
+WESTON_CONF_OPTS += -Dsimple-clients=dmabuf-v4l
+else
+WESTON_CONF_OPTS += -Dsimple-clients=
endif
ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGLES),yy)
-WESTON_CONF_OPTS += --enable-egl
+WESTON_CONF_OPTS += -Drenderer-gl=true
WESTON_DEPENDENCIES += libegl libgles
else
WESTON_CONF_OPTS += \
- --disable-egl \
- --disable-simple-dmabuf-drm-client \
- --disable-simple-egl-clients
+ -Drenderer-gl=false
endif
ifeq ($(BR2_PACKAGE_WESTON_RDP),y)
WESTON_DEPENDENCIES += freerdp
-WESTON_CONF_OPTS += --enable-rdp-compositor
+WESTON_CONF_OPTS += -Dbackend-rdp=true
else
-WESTON_CONF_OPTS += --disable-rdp-compositor
+WESTON_CONF_OPTS += -Dbackend-rdp=false
endif
ifeq ($(BR2_PACKAGE_WESTON_FBDEV),y)
-WESTON_CONF_OPTS += \
- --enable-fbdev-compositor \
- WESTON_NATIVE_BACKEND=fbdev-backend.so
+WESTON_CONF_OPTS += -Dbackend-fbdev=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_FBDEV),y)
+WESTON_CONF_OPTS += -Dbackend-default=fbdev
+endif
else
-WESTON_CONF_OPTS += --disable-fbdev-compositor
+WESTON_CONF_OPTS += -Dbackend-fbdev=false
endif
ifeq ($(BR2_PACKAGE_WESTON_DRM),y)
-WESTON_CONF_OPTS += \
- --enable-drm-compositor \
- WESTON_NATIVE_BACKEND=drm-backend.so
+WESTON_CONF_OPTS += -Dbackend-drm=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_DRM),y)
+WESTON_CONF_OPTS += -Dbackend-default=drm
+endif
else
-WESTON_CONF_OPTS += --disable-drm-compositor
+WESTON_CONF_OPTS += -Dbackend-drm=false
endif
ifeq ($(BR2_PACKAGE_WESTON_X11),y)
-WESTON_CONF_OPTS += \
- --enable-x11-compositor \
- WESTON_NATIVE_BACKEND=x11-backend.so
+WESTON_CONF_OPTS += -Dbackend-x11=true
+ifeq ($(BR2_PACKAGE_WESTON_DEFAULT_BACKEND_X11),y)
+WESTON_CONF_OPTS += -Dbackend-default=x11
+endif
WESTON_DEPENDENCIES += libxcb xlib_libX11
else
-WESTON_CONF_OPTS += --disable-x11-compositor
+WESTON_CONF_OPTS += -Dbackend-x11=false
endif
ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y)
-WESTON_CONF_OPTS += --enable-xwayland
+WESTON_CONF_OPTS += -Dxwayland=true
WESTON_DEPENDENCIES += cairo libepoxy libxcb xlib_libX11 xlib_libXcursor
else
-WESTON_CONF_OPTS += --disable-xwayland
+WESTON_CONF_OPTS += -Dxwayland=false
endif
ifeq ($(BR2_PACKAGE_LIBVA),y)
-WESTON_CONF_OPTS += --enable-vaapi-recorder
+WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=true
WESTON_DEPENDENCIES += libva
else
-WESTON_CONF_OPTS += --disable-vaapi-recorder
+WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=false
endif
ifeq ($(BR2_PACKAGE_LCMS2),y)
-WESTON_CONF_OPTS += --enable-lcms
+WESTON_CONF_OPTS += -Dcolor-management-lcms=true
WESTON_DEPENDENCIES += lcms2
else
-WESTON_CONF_OPTS += --disable-lcms
+WESTON_CONF_OPTS += -Dcolor-management-lcms=false
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
-WESTON_CONF_OPTS += --enable-systemd-login --enable-systemd-notify
+WESTON_CONF_OPTS += -Dsystemd=true
WESTON_DEPENDENCIES += systemd
else
-WESTON_CONF_OPTS += --disable-systemd-login --disable-systemd-notify
+WESTON_CONF_OPTS += -Dsystemd=false
endif
ifeq ($(BR2_PACKAGE_LIBXML2),y)
-WESTON_CONF_OPTS += --enable-junit-xml
+WESTON_CONF_OPTS += -Dtest-junit-xml=true
WESTON_DEPENDENCIES += libxml2
else
-WESTON_CONF_OPTS += --disable-junit-xml
+WESTON_CONF_OPTS += -Dtest-junit-xml=false
+endif
+
+ifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy)
+WESTON_CONF_OPTS += -Dpipewire=true
+WESTON_DEPENDENCIES += pipewire
+else
+WESTON_CONF_OPTS += -Dpipewire=false
endif
ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
-WESTON_CONF_OPTS += --enable-demo-clients-install
+WESTON_CONF_OPTS += -Ddemo-clients=true
+WESTON_DEPENDENCIES += pango
else
-WESTON_CONF_OPTS += --disable-demo-clients-install
+WESTON_CONF_OPTS += -Ddemo-clients=false
endif
-$(eval $(autotools-package))
+$(eval $(meson-package))