From ecf7db0bd5012162d5fff5cb25f9a07a1a6e084a Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Fri, 8 Jul 2016 13:56:10 -0300 Subject: qtwayland: Rework recipe to allow PACKAGECONFIG use The Qt Wayland uses some modules which can be enabled/disabled depending on users needs, however this must be deterministic. So we now use PACKAGECONFIG to enable/disable those features. Following options are available: - brcm-egl - compositor-api - drm-egl - glx - libhybris-egl - wayland-egl - xcompositor - xkb Signed-off-by: Otavio Salvador Acked-by: Tom Hochstein --- recipes-qt/qt5/qtwayland_git.bb | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) (limited to 'recipes-qt') diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index e36d2c0a..df42f309 100644 --- a/recipes-qt/qt5/qtwayland_git.bb +++ b/recipes-qt/qt5/qtwayland_git.bb @@ -1,6 +1,8 @@ require qt5.inc require qt5-git.inc +DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native" + # There are no LGPLv3-only licensed files in this component. LICENSE = "BSD & (LGPL-2.1 & The-Qt-Company-Qt-LGPL-Exception-1.1 | LGPL-3.0)" LIC_FILES_CHKSUM = " \ @@ -11,18 +13,25 @@ LIC_FILES_CHKSUM = " \ file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e \ " -# wayland-native is already in wayland DEPENDS, but add it here -# explicitly, because it's native wayland-scanner we're looking for -# libxkbcommon isn't mandatory make it easier to remove by .bbappend -# (e.g. for building qtwayland with danny which doesn't have libxkbcommon in oe-core). -XKB_DEPENDS = "libxkbcommon xproto" -DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native ${XKB_DEPENDS} ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'libxcomposite', '', d)}" +#FIXME: xkb should be optional; we add it here to fix the build error without it +# (https://bugreports.qt.io/browse/QTBUG-54851) +PACKAGECONFIG ?= " \ + compositor-api \ + wayland-egl \ + xkb \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'xcompositor xkb glx', '', d)} \ +" -QT_WAYLAND_CONFIG ?= "wayland-compositor" -QT_WAYLAND_DEFINES ?= "" +PACKAGECONFIG[compositor-api] = "CONFIG+=wayland-compositor" +PACKAGECONFIG[xcompositor] = "CONFIG+=config_xcomposite CONFIG+=done_config_xcomposite,CONFIG+=done_config_xcomposite,libxcomposite" +PACKAGECONFIG[glx] = "CONFIG+=config_glx CONFIG+=done_config_glx,CONFIG+=done_config_glx,virtual/mesa" +PACKAGECONFIG[xkb] = "CONFIG+=config_xkbcommon CONFIG+=done_config_xkbcommon,CONFIG+=done_config_xkbcommon,libxkbcommon xproto" +PACKAGECONFIG[wayland-egl] = "CONFIG+=config_wayland_egl CONFIG+=done_config_wayland_egl,CONFIG+=done_config_wayland_egl,virtual/egl" +PACKAGECONFIG[brcm-egl] = "CONFIG+=config_brcm_egl CONFIG+=done_config_brcm_egl,CONFIG+=done_config_brcm_egl,virtual/egl" +PACKAGECONFIG[drm-egl] = "CONFIG+=config_drm_egl_server CONFIG+=done_config_drm_egl_server,CONFIG+=done_config_drm_egl_server,libdrm virtual/egl" +PACKAGECONFIG[libhybris-egl] = "CONFIG+=config_libhybris_egl_server CONFIG+=done_config_libhybris_egl_server,CONFIG+=done_config_libhybris_egl_server,libhybris" -EXTRA_QMAKEVARS_PRE += "CONFIG+=${QT_WAYLAND_CONFIG}" -EXTRA_QMAKEVARS_PRE += "DEFINES+=${QT_WAYLAND_DEFINES}" +EXTRA_QMAKEVARS_PRE += "${PACKAGECONFIG_CONFARGS}" FILES_${PN}-plugins += " \ ${OE_QMAKE_PATH_PLUGINS}/*/*/*${SOLIBSDEV} \ -- cgit v1.2.3