qt5wayland: add fix from upstream to compile without QtQuick

Compiling qt5wayland fails if you do not have the QtQuick module:

==
.obj/qwaylandquickhardwarelayer.o: In function `QWaylandQuickHardwareLayer::classBegin()':
qwaylandquickhardwarelayer.cpp:(.text+0x170): undefined reference to `QWaylandQuickItem::staticMetaObject'
.obj/qwaylandquickhardwarelayer.o: In function `non-virtual thunk to QWaylandQuickHardwareLayer::classBegin()':
qwaylandquickhardwarelayer.cpp:(.text+0x1cc): undefined reference to `QWaylandQuickItem::staticMetaObject'
.obj/qwaylandquickhardwarelayer.o: In function `QWaylandQuickHardwareLayer::disableSceneGraphPainting()':
qwaylandquickhardwarelayer.cpp:(.text+0x1e0): undefined reference to `QWaylandQuickItem::setPaintEnabled(bool)'
.obj/qwaylandquickhardwarelayer.o: In function `QWaylandQuickHardwareLayerPrivate::layerIntegration()':
qwaylandquickhardwarelayer.cpp:(.text+0x22c): undefined reference to `QtWayland::HardwareLayerIntegrationFactory::keys(QString const&)'
qwaylandquickhardwarelayer.cpp:(.text+0x408): undefined reference to `QtWayland::HardwareLayerIntegrationFactory::create(QString const&, QStringList const&, QString const&)'
qwaylandquickhardwarelayer.cpp:(.text+0x890): undefined reference to `QtWayland::HardwareLayerIntegrationFactory::create(QString const&, QStringList const&, QString const&)'
collect2: error: ld returned 1 exit status
Makefile:375: recipe for target '../../lib/libQt5WaylandCompositor.so.5.11.1' failed
make[4]: *** [../../lib/libQt5WaylandCompositor.so.5.11.1] Error 1
==

Fix taken from upstream's git:
http://code.qt.io/cgit/qt/qtwayland.git/commit/?id=2c48ee65e8c3b894caec214641723d0777fc60b8

No longer depends on declarative after applying either.

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This commit is contained in:
Floris Bos 2018-08-06 02:36:53 +02:00 committed by Thomas Petazzoni
parent 107f3800f7
commit 7dbb356c40
3 changed files with 74 additions and 4 deletions

View File

@ -0,0 +1,69 @@
From 2c48ee65e8c3b894caec214641723d0777fc60b8 Mon Sep 17 00:00:00 2001
From: Alexander Schlarb <alexander@ninetailed.ninja>
Date: Sun, 29 Jul 2018 21:27:28 +0200
Subject: Fix compilation of QtWayland without QtQuick
Change-Id: I0baf542f89274f48bf7d02121a07d64f0f3a001b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
---
src/compositor/compositor_api/compositor_api.pri | 10 +++++-----
.../hardware_integration/qwlhardwarelayerintegration_p.h | 1 -
2 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
index e5df0f1f..4a0c0aa6 100644
--- a/src/compositor/compositor_api/compositor_api.pri
+++ b/src/compositor/compositor_api/compositor_api.pri
@@ -27,7 +27,6 @@ HEADERS += \
compositor_api/qwaylandresource.h \
compositor_api/qwaylandsurfacegrabber.h \
compositor_api/qwaylandoutputmode_p.h \
- compositor_api/qwaylandquickhardwarelayer_p.h \
SOURCES += \
compositor_api/qwaylandcompositor.cpp \
@@ -44,8 +43,7 @@ SOURCES += \
compositor_api/qwaylanddestroylistener.cpp \
compositor_api/qwaylandview.cpp \
compositor_api/qwaylandresource.cpp \
- compositor_api/qwaylandsurfacegrabber.cpp \
- compositor_api/qwaylandquickhardwarelayer.cpp
+ compositor_api/qwaylandsurfacegrabber.cpp
qtConfig(im) {
HEADERS += \
@@ -71,14 +69,16 @@ qtHaveModule(quick):qtConfig(opengl) {
compositor_api/qwaylandquickcompositor.cpp \
compositor_api/qwaylandquicksurface.cpp \
compositor_api/qwaylandquickoutput.cpp \
- compositor_api/qwaylandquickitem.cpp
+ compositor_api/qwaylandquickitem.cpp \
+ compositor_api/qwaylandquickhardwarelayer.cpp
HEADERS += \
compositor_api/qwaylandquickcompositor.h \
compositor_api/qwaylandquicksurface.h \
compositor_api/qwaylandquickoutput.h \
compositor_api/qwaylandquickitem.h \
- compositor_api/qwaylandquickitem_p.h
+ compositor_api/qwaylandquickitem_p.h \
+ compositor_api/qwaylandquickhardwarelayer_p.h
QT += qml qml-private quick quick-private
}
diff --git a/src/compositor/hardware_integration/qwlhardwarelayerintegration_p.h b/src/compositor/hardware_integration/qwlhardwarelayerintegration_p.h
index 02de8e8b..1e5fb1a1 100644
--- a/src/compositor/hardware_integration/qwlhardwarelayerintegration_p.h
+++ b/src/compositor/hardware_integration/qwlhardwarelayerintegration_p.h
@@ -54,7 +54,6 @@
#include <QtWaylandCompositor/qtwaylandcompositorglobal.h>
#include <QObject>
-#include <QQmlParserStatus>
QT_BEGIN_NAMESPACE
--
cgit v1.1-6-g87c4

View File

@ -1,12 +1,9 @@
comment "qt5wayland needs an OpenGL-capable backend"
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
config BR2_PACKAGE_QT5WAYLAND
bool "qt5wayland"
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
select BR2_PACKAGE_QT5DECLARATIVE
select BR2_PACKAGE_WAYLAND
help
Qt is a cross-platform application and UI framework for

View File

@ -7,9 +7,13 @@
QT5WAYLAND_VERSION = $(QT5_VERSION)
QT5WAYLAND_SITE = $(QT5_SITE)
QT5WAYLAND_SOURCE = qtwayland-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5WAYLAND_VERSION).tar.xz
QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland
QT5WAYLAND_DEPENDENCIES = qt5base wayland
QT5WAYLAND_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
QT5WAYLAND_DEPENDENCIES += qt5declarative
endif
ifeq ($(BR2_PACKAGE_LIBXKBCOMMON),y)
QT5WAYLAND_DEPENDENCIES += libxkbcommon
endif