qt5base: fix build issue with mesa3d w/out xcb
The mesa's EGL/eglplatform.h header includes X11 headers unless the flag
MESA_EGL_NO_X11_HEADERS is defined[1].
A build issue happens when mesa3d is selected as then OpenGL EGL backend
but the XCB library is not selected. For instance, with this defconfig:
BR2_arm=y
BR2_cortex_a9=y
BR2_ARM_FPU_VFPV3D16=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_INIT_NONE=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5BASE_OPENGL_LIB=y
BR2_PACKAGE_QT5BASE_LINUXFB=y
BR2_PACKAGE_QT5BASE_EGLFS=y
BR2_PACKAGE_QT5WEBKIT=y
Also the odroid-mali EGL backend suffers the same problem.
This commit backports the patch from the Gerrit of Qt which is in
review[5]. It extends the QMAKE_CXXFLAGS with cflags contained in the
egl.pc file.
In this situation, the define MESA_EGL_NO_X11_HEADERS is given to the
compiler that prevent from including the missing X headers.
The issues QTBUG-61712[3] and QTBUG-66233[4] are opened in the Qt
tracker.
Fixes
http://autobuild.buildroot.net/results/8781a561ae1a89e4d70ddaba65d8817eabe3ce69
[1]: 79ee1b2ff0/include/EGL/eglplatform.h (L109-L125)
[2]: https://codereview.qt-project.org/#/c/198906/
[3]: https://bugreports.qt.io/browse/QTBUG-61712
[4]: https://bugreports.qt.io/browse/QTBUG-66233
Cc: Julien CORJON <corjon.j@ecagroup.com>
Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This commit is contained in:
parent
256bb383fb
commit
d515ca8dd8
@ -0,0 +1,37 @@
|
||||
From d69bd3fd52502c7eb2799397fea14afe350e2cbf Mon Sep 17 00:00:00 2001
|
||||
From: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
Date: Mon, 27 Mar 2017 15:33:35 +0800
|
||||
Subject: [PATCH] qtbase: Fix build error when using EGL
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
A build error was occurring due to missing EGL configuration.
|
||||
|
||||
Fixed by adding the necessary ties to the EGL pkg-config.
|
||||
|
||||
Task-number: QTBUG-61712
|
||||
Change-Id: I87190ea39392b4604c563cf9d89edb85068d85fc
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
|
||||
---
|
||||
mkspecs/features/egl.prf | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
|
||||
index 9fa0c9e219..85d5852ba6 100644
|
||||
--- a/mkspecs/features/egl.prf
|
||||
+++ b/mkspecs/features/egl.prf
|
||||
@@ -1,3 +1,9 @@
|
||||
+# egl headers need a definition
|
||||
+PKG_CONFIG = $$pkgConfigExecutable()
|
||||
+PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl)
|
||||
+PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*)
|
||||
+QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS
|
||||
+
|
||||
INCLUDEPATH += $$QMAKE_INCDIR_EGL
|
||||
LIBS_PRIVATE += $$QMAKE_LIBS_EGL
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL
|
||||
--
|
||||
2.16.1
|
||||
|
@ -0,0 +1,37 @@
|
||||
From c11299086b7718332e2b4fbc37ce6f6ff427c5ba Mon Sep 17 00:00:00 2001
|
||||
From: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
Date: Mon, 27 Mar 2017 15:33:35 +0800
|
||||
Subject: [PATCH] qtbase: Fix build error when using EGL
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
A build error was occurring due to missing EGL configuration.
|
||||
|
||||
Fixed by adding the necessary ties to the EGL pkg-config.
|
||||
|
||||
Task-number: QTBUG-61712
|
||||
Change-Id: I87190ea39392b4604c563cf9d89edb85068d85fc
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
|
||||
---
|
||||
mkspecs/features/egl.prf | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
|
||||
index 9fa0c9e219..85d5852ba6 100644
|
||||
--- a/mkspecs/features/egl.prf
|
||||
+++ b/mkspecs/features/egl.prf
|
||||
@@ -1,3 +1,9 @@
|
||||
+# egl headers need a definition
|
||||
+PKG_CONFIG = $$pkgConfigExecutable()
|
||||
+PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl)
|
||||
+PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*)
|
||||
+QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS
|
||||
+
|
||||
INCLUDEPATH += $$QMAKE_INCDIR_EGL
|
||||
LIBS_PRIVATE += $$QMAKE_LIBS_EGL
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL
|
||||
--
|
||||
2.16.1
|
||||
|
Loading…
Reference in New Issue
Block a user