summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mkspecs/common/ghs-integrity-armv8.conf27
-rw-r--r--mkspecs/devices/integrity-armv8-drive-cx/qmake.conf39
-rw-r--r--mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h45
-rw-r--r--src/platformsupport/eglconvenience/qt_egl_p.h6
4 files changed, 115 insertions, 2 deletions
diff --git a/mkspecs/common/ghs-integrity-armv8.conf b/mkspecs/common/ghs-integrity-armv8.conf
new file mode 100644
index 0000000000..e454cfd245
--- /dev/null
+++ b/mkspecs/common/ghs-integrity-armv8.conf
@@ -0,0 +1,27 @@
+#
+# Base qmake configuration for INTEGRITY armv8 targets
+#
+MAKEFILE_GENERATOR = UNIX
+
+QMAKE_PLATFORM = integrity
+
+include(unix.conf)
+
+include(ghs-base.conf)
+
+bsp_name = $$(INTEGRITY_BSP)
+isEmpty(bsp_name): \
+ error("This qmakespec requires $INTEGRITY_BSP to be set")
+
+os_directory = $$(INTEGRITY_DIR)
+isEmpty(os_directory): \
+ error("This qmakespec requires $INTEGRITY_DIR to be set")
+
+QMAKE_CC = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
+QMAKE_CXX = cxintarm64 -bsp $$bsp_name -os_dir $$os_directory -non_shared
+QMAKE_LINK = $$QMAKE_CXX
+QMAKE_AR = $$QMAKE_CXX -archive -o
+
+QMAKE_CFLAGS += -bigswitch
+QMAKE_CXXFLAGS += -bigswitch
+QMAKE_LFLAGS += -bigswitch
diff --git a/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf b/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf
new file mode 100644
index 0000000000..37474e9dea
--- /dev/null
+++ b/mkspecs/devices/integrity-armv8-drive-cx/qmake.conf
@@ -0,0 +1,39 @@
+#
+# qmake configuration for 64-bit Tegra X1 boards, like the DRIVE CX, using Vibrante Integrity
+#
+# A typical configure line might look like:
+# configure \
+# -device integrity-armv8-drive-cx \
+# -device-option VIBRANTE_INTEGRITY_PDK_TOPDIR=/opt/nvidia/vibrante-t186ref-integrity
+# -static \
+# -opengl es2
+
+load(device_config)
+
+include(../../common/ghs-integrity-armv8.conf)
+
+DEFINES += WIN_INTERFACE_CUSTOM
+
+QT_QPA_DEFAULT_PLATFORM = eglfs
+
+QMAKE_LIBS_EGL += -lEGL -lGLESv2 -lnvidia-glsi -lnvidia-eglcore -lnvidia-rmapi-tegra -lposix -livfs -ldrm-nvdc -lnvll -lnvdc -lnvrm -lnvrm_gpu -lnvrm_graphics -lnvos -lsocket -lnet -lnvtegrahv
+QMAKE_LIBS_OPENGL_ES2 += $${QMAKE_LIBS_EGL}
+
+EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
+
+# Vibrante Integrity PDK headers & libraries
+QMAKE_INCDIR += $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include
+QMAKE_LIBDIR += $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs
+
+# OpenGL libraries have a dependency on libEGL
+QMAKE_INCDIR_EGL = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include
+QMAKE_LIBDIR_EGL = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs
+QMAKE_INCDIR_OPENGL_ES2 = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/include
+QMAKE_LIBDIR_OPENGL_ES2 = $${VIBRANTE_INTEGRITY_PDK_TOPDIR}/libs
+
+defineTest(qtConfSanitizeMkspec) {
+ isEmpty(VIBRANTE_INTEGRITY_PDK_TOPDIR): \
+ error("You must pass -device-option VIBRANTE_INTEGRITY_PDK_TOPDIR=/path/to/pdk")
+}
+
+load(qt_config)
diff --git a/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h b/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h
new file mode 100644
index 0000000000..c8361113a0
--- /dev/null
+++ b/mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h
@@ -0,0 +1,45 @@
+/****************************************************************************
+**
+** Copyright (C) 2017 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the qmake spec of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 3 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL3 included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 3 requirements
+** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 2.0 or (at your option) the GNU General
+** Public license version 3 or any later version approved by the KDE Free
+** Qt Foundation. The licenses are as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
+** included in the packaging of this file. Please review the following
+** information to ensure the GNU General Public License requirements will
+** be met: https://www.gnu.org/licenses/gpl-2.0.html and
+** https://www.gnu.org/licenses/gpl-3.0.html.
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QPLATFORMDEFS_H
+#define QPLATFORMDEFS_H
+
+#include "../../common/integrity/qplatformdefs.h"
+
+#endif // QPLATFORMDEFS_H
diff --git a/src/platformsupport/eglconvenience/qt_egl_p.h b/src/platformsupport/eglconvenience/qt_egl_p.h
index b1495c9f9d..e2c6b0ceb6 100644
--- a/src/platformsupport/eglconvenience/qt_egl_p.h
+++ b/src/platformsupport/eglconvenience/qt_egl_p.h
@@ -53,8 +53,10 @@
#ifdef QT_EGL_NO_X11
# define MESA_EGL_NO_X11_HEADERS // MESA
-# define WIN_INTERFACE_CUSTOM // NV
-#endif // QT_EGL_NO_X11
+# if !defined(Q_OS_INTEGRITY)
+# define WIN_INTERFACE_CUSTOM // NV
+# endif // Q_OS_INTEGRITY
+#endif // QT_EGL_NO_X11
#ifdef QT_EGL_WAYLAND
# define WAYLAND // NV