package/kodi: add optional support for wayland
authorBernd Kuhls <bernd.kuhls@t-online.de>
Sun, 2 Feb 2020 17:33:31 +0000 (18:33 +0100)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 3 Feb 2020 10:19:34 +0000 (11:19 +0100)
For details see upstream PR 12664.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas:
 - add BR2_PACKAGE_HAS_LIBGL dependency to
   BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL
 - don't select BR2_PACKAGE_WAYLANDPP from the blind options, but
   instead from the visible options]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/kodi/Config.in
package/kodi/kodi.mk

index 40ce3bfc5902bf9c1e3c7cc7914e7cbbda0ce720..cd3bc99bf9b540554cbec06f2f2236d18033f954 100644 (file)
@@ -27,6 +27,26 @@ config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_RBPI
        depends on BR2_PACKAGE_HAS_UDEV # libinput
        select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
 
+config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL
+       bool
+       default y
+       depends on BR2_PACKAGE_HAS_LIBGL
+       depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp
+       depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp
+       depends on BR2_PACKAGE_WAYLAND # waylandpp
+       select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
+
+config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES
+       bool
+       default y
+       depends on BR2_PACKAGE_HAS_LIBGLES
+       depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND # waylandpp
+       depends on BR2_HOST_GCC_AT_LEAST_4_9 # waylandpp
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # waylandpp
+       depends on BR2_PACKAGE_WAYLAND # waylandpp
+       select BR2_PACKAGE_KODI_PLATFORM_SUPPORTS
+
 config BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
        bool
        default y
@@ -188,6 +208,19 @@ config BR2_PACKAGE_KODI_PLATFORM_RBPI
        select BR2_PACKAGE_LIBINPUT
        select BR2_PACKAGE_LIBXKBCOMMON
 
+config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL
+       bool "Wayland/OpenGL"
+       depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GL
+       select BR2_PACKAGE_LIBGLU
+       select BR2_PACKAGE_LIBXKBCOMMON
+       select BR2_PACKAGE_WAYLANDPP
+
+config BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES
+       bool "Wayland/GLES"
+       depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_WAYLAND_GLES
+       select BR2_PACKAGE_LIBXKBCOMMON
+       select BR2_PACKAGE_WAYLANDPP
+
 config BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
        bool "X11/OpenGL"
        depends on BR2_PACKAGE_KODI_PLATFORM_SUPPORTS_X11_OPENGL
@@ -241,13 +274,19 @@ config BR2_PACKAGE_KODI_LIBUSB
 
 config BR2_PACKAGE_KODI_LIBVA
        bool "va"
-       depends on BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
+       depends on \
+               BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL || \
+               BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES || \
+               BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
        select BR2_PACKAGE_LIBVA
        help
          Enable libva support.
 
-comment "libva support needs platform 'X11/OpenGL'"
-       depends on !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
+comment "libva support needs platform 'Wayland' or 'X11/OpenGL'"
+       depends on \
+               !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL && \
+               !BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES && \
+               !BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL
 
 config BR2_PACKAGE_KODI_LIBVDPAU
        bool "vdpau"
index 1036151a89e31ac798247c704dbd1eb932d6ca99..2f2a92a8899e94509749dbccbcbf6e1fa570c122 100644 (file)
@@ -174,6 +174,22 @@ KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=rbpi
 KODI_DEPENDENCIES += libinput libxkbcommon rpi-userland
 endif
 
+ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GL),y)
+KODI_CONF_OPTS += \
+       -DCORE_PLATFORM_NAME=wayland \
+       -DWAYLAND_RENDER_SYSTEM=gl
+KODI_DEPENDENCIES += libegl libgl libglu libxkbcommon waylandpp
+endif
+
+ifeq ($(BR2_PACKAGE_KODI_PLATFORM_WAYLAND_GLES),y)
+KODI_CONF_OPTS += \
+       -DCORE_PLATFORM_NAME=wayland \
+       -DWAYLAND_RENDER_SYSTEM=gles
+KODI_C_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
+KODI_CXX_FLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
+KODI_DEPENDENCIES += libegl libgles libxkbcommon waylandpp
+endif
+
 ifeq ($(BR2_PACKAGE_KODI_PLATFORM_X11_OPENGL),y)
 KODI_CONF_OPTS += -DCORE_PLATFORM_NAME=x11
 KODI_DEPENDENCIES += libegl libglu libgl xlib_libX11 xlib_libXext \