################################################################################ # # weston # ################################################################################ WESTON_VERSION = 12.0.1 WESTON_SITE = https://gitlab.freedesktop.org/wayland/weston/-/releases/$(WESTON_VERSION)/downloads WESTON_SOURCE = weston-$(WESTON_VERSION).tar.xz WESTON_LICENSE = MIT WESTON_LICENSE_FILES = COPYING WESTON_CPE_ID_VENDOR = wayland WESTON_INSTALL_STAGING = YES WESTON_DEPENDENCIES = host-pkgconf wayland wayland-protocols \ libxkbcommon pixman libpng udev cairo libinput libdrm seatd WESTON_CONF_OPTS = \ -Ddoc=false \ -Dremoting=false \ -Dbackend-vnc=false \ -Dlauncher-libseat=true \ -Dtools=calibrator,debug,info,terminal,touch-calibrator ifeq ($(BR2_PACKAGE_WESTON_SIMPLE_CLIENTS),y) # Note: some clients are conditional, see further for the others. WESTON_SIMPLE_CLIENTS = \ damage \ im \ shm \ touch ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8),y) # dmabuf-v4l uses VIDIOC_EXPBUF, only available from 3.8+ WESTON_SIMPLE_CLIENTS += dmabuf-v4l endif endif # BR2_PACKAGE_WESTON_SIMPLE_CLIENTS ifeq ($(BR2_PACKAGE_JPEG),y) WESTON_CONF_OPTS += -Dimage-jpeg=true WESTON_DEPENDENCIES += jpeg else WESTON_CONF_OPTS += -Dimage-jpeg=false endif ifeq ($(BR2_PACKAGE_WEBP),y) WESTON_CONF_OPTS += -Dimage-webp=true WESTON_DEPENDENCIES += webp else WESTON_CONF_OPTS += -Dimage-webp=false endif ifeq ($(BR2_PACKAGE_HAS_LIBEGL_WAYLAND)$(BR2_PACKAGE_HAS_LIBGBM)$(BR2_PACKAGE_HAS_LIBGLES),yyy) WESTON_CONF_OPTS += -Drenderer-gl=true WESTON_DEPENDENCIES += libegl libgbm libgles ifeq ($(BR2_PACKAGE_WESTON_SIMPLE_CLIENTS),y) WESTON_SIMPLE_CLIENTS += dmabuf-egl dmabuf-feedback egl endif ifeq ($(BR2_PACKAGE_PIPEWIRE)$(BR2_PACKAGE_WESTON_DRM),yy) WESTON_CONF_OPTS += -Dpipewire=true -Dbackend-pipewire=true WESTON_DEPENDENCIES += pipewire else WESTON_CONF_OPTS += -Dpipewire=false -Dbackend-pipewire=false endif else WESTON_CONF_OPTS += \ -Drenderer-gl=false \ -Dpipewire=false \ -Dbackend-pipewire=false endif WESTON_CONF_OPTS += -Dsimple-clients=$(subst $(space),$(comma),$(strip $(WESTON_SIMPLE_CLIENTS))) ifeq ($(BR2_PACKAGE_WESTON_RDP),y) WESTON_DEPENDENCIES += freerdp WESTON_CONF_OPTS += -Dbackend-rdp=true else WESTON_CONF_OPTS += -Dbackend-rdp=false endif ifeq ($(BR2_PACKAGE_WESTON_DRM),y) WESTON_CONF_OPTS += -Dbackend-drm=true else WESTON_CONF_OPTS += -Dbackend-drm=false endif ifeq ($(BR2_PACKAGE_WESTON_HEADLESS),y) WESTON_CONF_OPTS += -Dbackend-headless=true else WESTON_CONF_OPTS += -Dbackend-headless=false endif ifeq ($(BR2_PACKAGE_WESTON_WAYLAND),y) WESTON_CONF_OPTS += -Dbackend-wayland=true else WESTON_CONF_OPTS += -Dbackend-wayland=false endif ifeq ($(BR2_PACKAGE_WESTON_X11),y) WESTON_CONF_OPTS += -Dbackend-x11=true WESTON_DEPENDENCIES += libxcb xlib_libX11 else WESTON_CONF_OPTS += -Dbackend-x11=false endif # We're guaranteed to have at least one backend WESTON_CONF_OPTS += -Dbackend-default=$(call qstrip,$(BR2_PACKAGE_WESTON_DEFAULT_COMPOSITOR)) ifeq ($(BR2_PACKAGE_WESTON_XWAYLAND),y) WESTON_CONF_OPTS += -Dxwayland=true WESTON_DEPENDENCIES += cairo libepoxy libxcb xcb-util-cursor xlib_libX11 xlib_libXcursor xwayland else WESTON_CONF_OPTS += -Dxwayland=false endif ifeq ($(BR2_PACKAGE_LIBVA),y) WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=true WESTON_DEPENDENCIES += libva else WESTON_CONF_OPTS += -Dbackend-drm-screencast-vaapi=false endif ifeq ($(BR2_PACKAGE_LCMS2),y) WESTON_CONF_OPTS += -Dcolor-management-lcms=true WESTON_DEPENDENCIES += lcms2 else WESTON_CONF_OPTS += -Dcolor-management-lcms=false endif ifeq ($(BR2_PACKAGE_SYSTEMD),y) WESTON_CONF_OPTS += -Dsystemd=true WESTON_DEPENDENCIES += systemd else WESTON_CONF_OPTS += -Dsystemd=false endif ifeq ($(BR2_PACKAGE_LIBXML2),y) WESTON_CONF_OPTS += -Dtest-junit-xml=true WESTON_DEPENDENCIES += libxml2 else WESTON_CONF_OPTS += -Dtest-junit-xml=false endif ifeq ($(BR2_PACKAGE_WESTON_SHELL_DESKTOP),y) WESTON_CONF_OPTS += -Dshell-desktop=true else WESTON_CONF_OPTS += -Dshell-desktop=false endif ifeq ($(BR2_PACKAGE_WESTON_SHELL_FULLSCREEN),y) WESTON_CONF_OPTS += -Dshell-fullscreen=true else WESTON_CONF_OPTS += -Dshell-fullscreen=false endif ifeq ($(BR2_PACKAGE_WESTON_SHELL_IVI),y) WESTON_CONF_OPTS += -Dshell-ivi=true else WESTON_CONF_OPTS += -Dshell-ivi=false endif ifeq ($(BR2_PACKAGE_WESTON_SHELL_KIOSK),y) WESTON_CONF_OPTS += -Dshell-kiosk=true else WESTON_CONF_OPTS += -Dshell-kiosk=false endif ifeq ($(BR2_PACKAGE_WESTON_SCREENSHARE),y) WESTON_CONF_OPTS += -Dscreenshare=true else WESTON_CONF_OPTS += -Dscreenshare=false endif ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y) WESTON_CONF_OPTS += -Ddemo-clients=true WESTON_DEPENDENCIES += pango else WESTON_CONF_OPTS += -Ddemo-clients=false endif $(eval $(meson-package))