2016-01-28 12:44:10 +00:00
|
|
|
#
|
|
|
|
# qmake configuration for 64-bit Tegra X1 boards, like the DRIVE CX, using Vibrante Linux
|
|
|
|
#
|
|
|
|
# A typical configure line might look like:
|
|
|
|
# configure \
|
|
|
|
# -device drive-cx \
|
|
|
|
# -device-option VIBRANTE_SDK_TOPDIR=/opt/nvidia/vibrante-t186ref-linux
|
|
|
|
# -device-option CROSS_COMPILE=/opt/nvidia/toolchains/tegra-4.9-nv/usr/bin/aarch64-gnu-linux/aarch64-gnu-linux- \
|
|
|
|
# -sysroot /opt/nvidia/vibrante-t186ref-linux/targetfs \
|
2016-08-05 11:22:06 +00:00
|
|
|
# -no-gcc-sysroot \
|
|
|
|
# -opengl es2
|
2016-01-28 12:44:10 +00:00
|
|
|
|
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>
2016-08-04 10:22:05 +00:00
|
|
|
# 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.
|
|
|
|
|
2016-01-28 12:44:10 +00:00
|
|
|
include(../common/linux_device_pre.conf)
|
|
|
|
|
2017-05-16 15:28:22 +00:00
|
|
|
QMAKE_INCDIR_POST += \
|
2016-01-28 12:44:10 +00:00
|
|
|
$${VIBRANTE_SDK_TOPDIR}/include \
|
|
|
|
$$[QT_SYSROOT]/usr/include
|
|
|
|
|
2017-05-16 15:28:22 +00:00
|
|
|
QMAKE_LIBDIR_POST += \
|
2016-01-28 12:44:10 +00:00
|
|
|
$${VIBRANTE_SDK_TOPDIR}/lib-target \
|
|
|
|
$$[QT_SYSROOT]/usr/lib \
|
|
|
|
$$[QT_SYSROOT]/lib/aarch64-linux-gnu \
|
|
|
|
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu
|
|
|
|
|
2017-05-16 16:06:24 +00:00
|
|
|
QMAKE_RPATHLINKDIR_POST += \
|
|
|
|
$${VIBRANTE_SDK_TOPDIR}/lib-target \
|
|
|
|
$$[QT_SYSROOT]/usr/lib \
|
|
|
|
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \
|
|
|
|
$$[QT_SYSROOT]/lib/aarch64-linux-gnu
|
2016-01-28 12:44:10 +00:00
|
|
|
|
|
|
|
DISTRO_OPTS += aarch64
|
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>
2016-08-04 10:22:05 +00:00
|
|
|
|
|
|
|
# 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
|
2016-01-28 12:44:10 +00:00
|
|
|
|
|
|
|
EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
|
|
|
|
|
|
|
|
include(../common/linux_arm_device_post.conf)
|
2017-01-20 08:47:13 +00:00
|
|
|
|
|
|
|
# override the default from linux_arm_device_post.conf
|
|
|
|
defineTest(qtConfSanitizeMkspec) {
|
|
|
|
isEmpty(VIBRANTE_SDK_TOPDIR): \
|
|
|
|
error("You must pass -device-option VIBRANTE_SDK_TOPDIR=/path/to/sdk")
|
|
|
|
deviceSanityCheckCompiler()
|
|
|
|
}
|
|
|
|
|
2016-01-28 12:44:10 +00:00
|
|
|
load(qt_config)
|