diff options
-rw-r--r-- | mkspecs/common/ghs-integrity-armv8.conf | 27 | ||||
-rw-r--r-- | mkspecs/devices/integrity-armv8-drive-cx/qmake.conf | 39 | ||||
-rw-r--r-- | mkspecs/devices/integrity-armv8-drive-cx/qplatformdefs.h | 45 | ||||
-rw-r--r-- | src/platformsupport/eglconvenience/qt_egl_p.h | 6 |
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 |