summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorLaszlo Agocs <laszlo.agocs@qt.io>2016-08-04 12:22:05 +0200
committerLaszlo Agocs <laszlo.agocs@qt.io>2016-08-10 11:24:23 +0000
commite694ced803589b3504b6bdb2fc8bf97bc891c794 (patch)
tree23abe407a6122d128d299e1a283c33e98cc0211f /mkspecs
parentc35fef9d3b8bb77a7f303e3cd62c86cd00e57f5b (diff)
Add X11 support for the DRIVE CX
The spec, added in 5.7.0, simply defined WIN_INTERFACE_CUSTOM, leading to the generic, non-X11 typedefs for the EGL native types. This is fine for the typical embedded use, but is not what is wanted when targeting xcb, and leads to disabling EGL-on-X support. Therefore, move the define into a comon header and let the individual libs decide by defining or not defining QT_EGL_NO_X11. This sets both MESA_EGL_NO_X11_HEADERS and WIN_INTERFACE_CUSTOM in qt_egl_p.h. This way Qt builds supporting all three of eglfs (DRM+EGLDevice), wayland, and xcb (EGL) can be generated out of the box. [ChangeLog][Platform Specific Changes][Linux] xcb with EGL and OpenGL ES, as well as eglfs with the eglfs_x11 backend, are now supported on DRIVE CX boards when using the linux-drive-cx-g++ device spec. Done-with: Louai Al-Khanji <louai.al-khanji@qt.io> Task-number: QTBUG-55140 Change-Id: I6f186d16612e170995e3bca1214bcabad59af08e Reviewed-by: Andy Nichols <andy.nichols@qt.io>
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/devices/linux-drive-cx-g++/qmake.conf9
1 files changed, 8 insertions, 1 deletions
diff --git a/mkspecs/devices/linux-drive-cx-g++/qmake.conf b/mkspecs/devices/linux-drive-cx-g++/qmake.conf
index c8e85e449c..985f8626ad 100644
--- a/mkspecs/devices/linux-drive-cx-g++/qmake.conf
+++ b/mkspecs/devices/linux-drive-cx-g++/qmake.conf
@@ -10,6 +10,10 @@
# -no-gcc-sysroot \
# -opengl es2
+# Note: This enables eglfs and wayland only. To enable xcb (with EGL
+# support) as well, add -qt-xcb and fix the SDK's X11 headers. See
+# QTBUG-55140.
+
include(../common/linux_device_pre.conf)
isEmpty(VIBRANTE_SDK_TOPDIR):error("You must pass -device-option VIBRANTE_SDK_TOPDIR=/path/to/sdk")
@@ -31,7 +35,10 @@ QMAKE_LFLAGS += \
-Wl,-rpath-link,$$[QT_SYSROOT]/lib/aarch64-linux-gnu
DISTRO_OPTS += aarch64
-COMPILER_FLAGS += -mtune=cortex-a57.cortex-a53 -march=armv8-a -DWIN_INTERFACE_CUSTOM
+
+# Do not define WIN_INTERFACE_CUSTOM here. It is suitable for drm and
+# wayland, but not X11. Leave it to qt_egl_p.h instead.
+COMPILER_FLAGS += -mtune=cortex-a57.cortex-a53 -march=armv8-a
EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice