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]:
|
||
---|---|---|
.. | ||
qt5base | ||
qt5canvas3d | ||
qt5charts | ||
qt5connectivity | ||
qt5declarative | ||
qt5enginio | ||
qt5graphicaleffects | ||
qt5imageformats | ||
qt5location | ||
qt5multimedia | ||
qt5quickcontrols | ||
qt5quickcontrols2 | ||
qt5script | ||
qt5scxml | ||
qt5sensors | ||
qt5serialbus | ||
qt5serialport | ||
qt5svg | ||
qt5tools | ||
qt5virtualkeyboard | ||
qt5wayland | ||
qt5webchannel | ||
qt5webengine | ||
qt5webkit | ||
qt5webkit-examples | ||
qt5websockets | ||
qt5x11extras | ||
qt5xmlpatterns | ||
qt53d | ||
Config.in | ||
qt5.mk |