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:
- xcompositor - glx - xkb - wayland-egl - brcm-egl - drm-egl - libhybris-egl Signed-off-by: Otavio Salvador <[email protected]> --- Changes in v3: - Use done_config_<foo> for enable case. This is need so the test is skipped otherwise in case it fails, it may remove the feature and the support for it would not be enabled, causing a problem in determinism. Changes in v2: - Add compositor-api and enable it by default - Add xkb by default or the build fails badly (FIXME) recipes-qt/qt5/qtwayland_git.bb | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/recipes-qt/qt5/qtwayland_git.bb b/recipes-qt/qt5/qtwayland_git.bb index e36d2c0..01641c1 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+=config_wayland_compositor,CONFIG+=done_config_wayland_compositor" +PACKAGECONFIG[xcompositor] = "CONFIG+=config_xcomposite,CONFIG+=done_config_xcomposite,libxcomposite" +PACKAGECONFIG[glx] = "CONFIG+=config_glx,CONFIG+=done_config_glx,virtual/mesa" +PACKAGECONFIG[xkb] = "CONFIG+=config_xkbcommon,CONFIG+=done_config_xkbcommon,libxkbcommon xproto" +PACKAGECONFIG[wayland-egl] = "CONFIG+=config_wayland_egl,CONFIG+=done_config_wayland_egl,virtual/egl" +PACKAGECONFIG[brcm-egl] = "CONFIG+=config_brcm_egl,CONFIG+=done_config_brcm_egl,virtual/egl" +PACKAGECONFIG[drm-egl] = "CONFIG+=config_drm_egl,CONFIG+=done_config_drm_egl,libdrm virtual/egl" +PACKAGECONFIG[libhybris-egl] = "CONFIG+=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} \ -- 2.9.0 -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
