diff mbox series

[meta-oe,v2,4/7] lvgl: Support both fbdev and wayland backends

Message ID 20230509024355.79006-4-marex@denx.de
State Under Review
Headers show
Series [meta-oe,v2,1/7] lvgl: Upgrade lvgl to 8.3.7 and lv-driver to 8.3.0 | expand

Commit Message

Marek Vasut May 9, 2023, 2:43 a.m. UTC
The LVGL can be operated on top of fbdev as well as on WL compositor.
Support both, which is a matter of configuring lv-drivers package per
required backend. Determine the backend from DISTRO_FEATURES, since
both 'wayland' and 'fbdev' are valid DISTRO_FEATURES. Add a bit more
sed hacking of the configuration, which enables either FBDEV or WL
backend. One notable item here is the enablement of EVDEV support,
which is required for FBDEV backend, so in case FBDEV is enabled, so
is EVDEV.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Fabio Estevam <festevam@denx.de>
Cc: Khem Raj <raj.khem@gmail.com>
Cc: Martin Jansa <martin.jansa@gmail.com>
Cc: Philippe Coval <philippe.coval.ext@huawei.com>
Cc: Philippe Coval <philippe.coval@huawei.com>
---
V2: No change
---
 meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb | 15 +++++++++++----
 meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb       |  3 ---
 2 files changed, 11 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
index d9cde497c..a0a2ee0aa 100644
--- a/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
+++ b/meta-oe/recipes-graphics/lvgl/lv-drivers_8.3.0.bb
@@ -11,12 +11,15 @@  LIC_FILES_CHKSUM = "file://LICENSE;md5=d6fc0df890c5270ef045981b516bb8f2"
 SRC_URI = "git://github.com/lvgl/lv_drivers;protocol=https;branch=release/v8.3"
 SRCREV = "71830257710f430b6d8d1c324f89f2eab52488f1"
 
-DEPENDS = "libxkbcommon lvgl wayland"
+DEPENDS = "lvgl"
 
-REQUIRED_DISTRO_FEATURES = "wayland"
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland fbdev', d)}"
+PACKAGECONFIG[fbdev] = ",,"
+PACKAGECONFIG[wayland] = ",,libxkbcommon wayland"
+LVGL_CONFIG_USE_FBDEV = "${@bb.utils.contains('PACKAGECONFIG', 'fbdev', '1', '0', d)}"
+LVGL_CONFIG_USE_WAYLAND = "${@bb.utils.contains('PACKAGECONFIG', 'wayland', '1', '0', d)}"
 
 inherit cmake
-inherit features_check
 
 S = "${WORKDIR}/git"
 
@@ -34,7 +37,11 @@  TARGET_CFLAGS += "-I${STAGING_INCDIR}/lvgl"
 do_configure:append() {
     [ -r "${S}/lv_drv_conf.h" ] \
         || sed -e "s|#if 0 .*Set it to \"1\" to enable the content.*|#if 1 // Enabled by ${PN}|g" \
-               -e "s|#  define USE_WAYLAND       0|#  define USE_WAYLAND       1|g" \
+	       \
+               -e "s|\(^#  define USE_FBDEV \).*|#  define USE_FBDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
+               -e "s|\(^#  define USE_EVDEV \).*|#  define USE_EVDEV ${LVGL_CONFIG_USE_FBDEV}|g" \
+	       \
+               -e "s|\(^#  define USE_WAYLAND \).*|#  define USE_WAYLAND ${LVGL_CONFIG_USE_WAYLAND}|g" \
 	       -e "s|\(^ *# *define *WAYLAND_HOR_RES *\).*|\1${LVGL_CONFIG_WAYLAND_HOR_RES}|g" \
  	       -e "s|\(^ *# *define *WAYLAND_VER_RES *\).*|\1${LVGL_CONFIG_WAYLAND_VER_RES}|g" \
           < "${S}/lv_drv_conf_template.h" > "${S}/lv_drv_conf.h"
diff --git a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
index a3fd7e04c..860ee7a33 100644
--- a/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
+++ b/meta-oe/recipes-graphics/lvgl/lvgl_8.3.7.bb
@@ -11,10 +11,7 @@  LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=bf1198c89ae87f043108cea62460b03a"
 SRC_URI = "git://github.com/lvgl/lvgl;protocol=https;branch=release/v8.3"
 SRCREV = "2b56e04205481daa6575bd5f7ab5df59d11676eb"
 
-REQUIRED_DISTRO_FEATURES = "wayland"
-
 inherit cmake
-inherit features_check
 
 EXTRA_OECMAKE = "-DLIB_INSTALL_DIR=${baselib}"
 S = "${WORKDIR}/git"