package/weston: add configuration options for weston shells

Enable selection of used weston shells. By default all available
shells are enabled to keep the old behavior. The new configuration
options enable the user to select them individually.

Signed-off-by: Martin Elshuber <martin.elshuber@theobroma-systems.com>
[yann.morin.1998@free.fr:
  - ensure at least one shell is enabled; desktop arbitrarily chosen
  - s/BR2_PACKAGE_WESTON_SHELL_SELECTED/BR2_PACKAGE_WESTON_HAS_SHELL/
  - reword associated comment
]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit is contained in:
Martin Elshuber
2021-06-16 14:42:02 +02:00
committed by Yann E. MORIN
parent 6d758f59e6
commit ffb525840c
2 changed files with 49 additions and 0 deletions

View File

@@ -20,6 +20,7 @@ config BR2_PACKAGE_WESTON
select BR2_PACKAGE_LIBDRM select BR2_PACKAGE_LIBDRM
# Runtime dependency # Runtime dependency
select BR2_PACKAGE_XKEYBOARD_CONFIG select BR2_PACKAGE_XKEYBOARD_CONFIG
select BR2_PACKAGE_WESTON_SHELL_DESKTOP if !BR2_PACKAGE_WESTON_HAS_SHELL
help help
Weston is the reference implementation of a Wayland Weston is the reference implementation of a Wayland
compositor, and a useful compositor in its own right. compositor, and a useful compositor in its own right.
@@ -119,6 +120,30 @@ config BR2_PACKAGE_WESTON_XWAYLAND
comment "XWayland support needs libepoxy and X.org enabled" comment "XWayland support needs libepoxy and X.org enabled"
depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_LIBEPOXY
# 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_DEMO_CLIENTS config BR2_PACKAGE_WESTON_DEMO_CLIENTS
bool "demo clients" bool "demo clients"
depends on BR2_USE_MMU # pango depends on BR2_USE_MMU # pango

View File

@@ -133,6 +133,30 @@ else
WESTON_CONF_OPTS += -Dtest-junit-xml=false WESTON_CONF_OPTS += -Dtest-junit-xml=false
endif 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_DEMO_CLIENTS),y) ifeq ($(BR2_PACKAGE_WESTON_DEMO_CLIENTS),y)
WESTON_CONF_OPTS += -Ddemo-clients=true WESTON_CONF_OPTS += -Ddemo-clients=true
WESTON_DEPENDENCIES += pango WESTON_DEPENDENCIES += pango