Add INTEGRITY mkspec for ARMv8 Drive CX

Change-Id: I038de7a0cc9e6046aec3fc930876d43263702e90
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
This commit is contained in:
Tero Alamäki 2017-04-26 10:36:53 +03:00 committed by Tero Alamaki
parent 315f634180
commit aea4e3823d
4 changed files with 115 additions and 2 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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