qt 6.5.1 original

This commit is contained in:
kleuter
2023-10-29 23:33:08 +01:00
parent 71d22ab6b0
commit 85d238dfda
21202 changed files with 5499099 additions and 0 deletions

View File

@ -0,0 +1,7 @@
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QMAKE_CFLAGS += $$COMPILER_FLAGS
QMAKE_CXXFLAGS += $$COMPILER_FLAGS
QMAKE_LFLAGS += $$LINKER_FLAGS

View File

@ -0,0 +1,27 @@
QT_QPA_DEFAULT_PLATFORM = bsdfb
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../freebsd-clang/qmake.conf)
load(device_config)
# modifications to g++-unix.conf
QMAKE_CC = $${CROSS_COMPILE}cc
QMAKE_CXX = $${CROSS_COMPILE}c++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
# Do not set QMAKE_INCDIR to system include here
# it messes up system include order. --sysroot is
# sufficient. See link for details:
# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=213217
QMAKE_LIBDIR_POST = $$[QT_SYSROOT]/usr/lib

View File

@ -0,0 +1,9 @@
contains(DISTRO_OPTS, hard-float) {
COMPILER_FLAGS += -mfloat-abi=hard
LINKER_FLAGS += -mfloat-abi=hard
} else: !contains(DISTRO_OPTS, aarch64) {
COMPILER_FLAGS += -mfloat-abi=softfp
LINKER_FLAGS += -mfloat-abi=softfp
}
include(linux_device_post.conf)

View File

@ -0,0 +1,17 @@
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
contains(DISTRO_OPTS, deb-multi-arch) {
QMAKE_RPATHLINKDIR_POST += \
$$[QT_SYSROOT]/usr/lib/$${GCC_MACHINE_DUMP} \
$$[QT_SYSROOT]/lib/$${GCC_MACHINE_DUMP}
}
contains(DISTRO_OPTS, boot2qt) {
QMAKE_PLATFORM += boot2qt
}
QMAKE_CFLAGS += $$COMPILER_FLAGS
QMAKE_CXXFLAGS += $$COMPILER_FLAGS
QMAKE_LFLAGS += $$LINKER_FLAGS

View File

@ -0,0 +1,32 @@
QT_QPA_DEFAULT_PLATFORM = eglfs
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
!load(device_config) {
error(Could not successfully load device configuration)
}
# modifications to g++-unix.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
# modifications to gcc-base.conf
QMAKE_AR_LTCG = $${CROSS_COMPILE}gcc-ar cqs
QMAKE_NM_LTCG = $${CROSS_COMPILE}gcc-nm -P
contains(DISTRO_OPTS, deb-multi-arch): \
QMAKE_PKG_CONFIG = $${CROSS_COMPILE}pkg-config

View File

@ -0,0 +1,9 @@
#
# Generic qmake configuration for cross-compiling with clang
#
# A minimal configure line could look something like this:
# ./configure -device freebsd-generic-clang -device-option CROSS_COMPILE=/usr/armv6-freebsd/usr/bin/
include(../common/freebsd_device_pre.conf)
include(../common/freebsd_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../common/bsd/qplatformdefs.h"

View File

@ -0,0 +1,25 @@
# qmake configuration for the Raspberry Pi and Raspberry Pi 2
include(../common/freebsd_device_pre.conf)
QT_QPA_DEFAULT_PLATFORM = eglfs
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_brcm
QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/usr/local/lib
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/usr/local/include \
$$[QT_SYSROOT]/usr/local/include/interface/vcos/pthreads \
$$[QT_SYSROOT]/usr/local/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENGL_ES2 = $${QMAKE_LIBS_EGL}
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
include(../common/freebsd_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../freebsd-generic-clang/qplatformdefs.h"

View File

@ -0,0 +1,47 @@
#
# qmake configuration for INTEGRITY Qualcomm SA8155P ADP
#
load(device_config)
include(../../common/ghs-integrity-armv8.conf)
QMAKE_CFLAGS = --signed_fields --no_commons --diag_suppress=1,82,228,236,381,611,961,997,1795,1931,1974,3148 --defer_parse_function_templates --exceptions
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS --no_implicit_include --link_once_templates -non_shared --new_outside_of_constructor --c++17
QMAKE_LFLAGS += --thread_local_storage --exceptions
QT_QPA_DEFAULT_PLATFORM = eglfs
EGLFS_DEVICE_INTEGRATION = eglfs_openwfd
qc_multimedia_inc_directory = $$(QC_MULTIMEDIA_INC_DIR)
isEmpty(qc_multimedia_inc_directory): \
error("This makespec requires the environment variable QC_MULTIMEDIA_INC_DIR to be set.")
QMAKE_INCDIR += $$(QC_MULTIMEDIA_INC_DIR)
QMAKE_LIBS_EGL += -lESXEGL_Adreno -lESXGLESv2_Adreno -ladreno_utils -lGSLUser -lOSUser -lpanel -livfs -lposix -lpmem -ltzbsp -lpaged_alloc -lglnext-llvm -lopenwfd -lplanedef -llogger -lnet -lsocket -lrfs_client -lshm_client -lmmosalrfs -lmmosalfile -lOSAbstraction
QMAKE_LIBS_OPENGL_ES2 += $${QMAKE_LIBS_EGL}
QMAKE_CFLAGS += -DINTEGRITY
QMAKE_CXXFLAGS += -DINTEGRITY
QMAKE_CFLAGS += -bigswitch
QMAKE_CXXFLAGS += -bigswitch
QMAKE_LFLAGS += -bigswitch
dirs = $$(GL_INC_DIR)
isEmpty(dirs): \
error("This makespec requires the environment variable GL_INC_DIR to be set.")
QMAKE_INCDIR_EGL = $$split(dirs, $$QMAKE_DIRLIST_SEP)
QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_EGL
dirs = $$(GL_LIB_DIR)
isEmpty(dirs): \
error("This makespec requires the environment variable GL_LIB_DIR to be set.")
QMAKE_LIBDIR_EGL = $$split(dirs, $$QMAKE_DIRLIST_SEP)
QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_EGL
load(qt_config)

View File

@ -0,0 +1,9 @@
// Copyright (C) 2020 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
#include "../../common/integrity/qplatformdefs.h"
#endif // QPLATFORMDEFS_H

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,9 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
#include "../../common/integrity/qplatformdefs.h"
#endif // QPLATFORMDEFS_H

View File

@ -0,0 +1,59 @@
#
# qmake configuration for INTEGRITY Qualcomm s820 Snapdragon MSM8996AU
#
load(device_config)
include(../../common/ghs-integrity-armv8.conf)
QT_QPA_DEFAULT_PLATFORM = eglfs
EGLFS_DEVICE_INTEGRATION = eglfs_openwfd
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")
qclibs_directory = $$(QCLIBS_DIR)
isEmpty(qclibs_directory): \
error("This qmakespec requires $QCLIBS_DIR to be set")
qc_multimedia_inc_directory = $$(QC_MULTIMEDIA_INC_DIR)
isEmpty(qc_multimedia_inc_directory): \
error("This qmakespec requires $QC_MULTIMEDIA_INC_DIR to be set")
gl_inc_directory = $$(GL_INC_DIR)
isEmpty(gl_inc_directory): \
error("This qmakespec requires $GL_INC_DIR to be set")
gl_lib_directory = $$(GL_LIB_DIR)
isEmpty(gl_lib_directory): \
error("This qmakespec requires $GL_LIB_DIR to be set")
QMAKE_INCDIR += $$(QC_MULTIMEDIA_INC_DIR)
QMAKE_LIBS_EGL += -lESXEGL_Adreno -lESXGLESv2_Adreno -ladreno_utils -lGSLUser -lOSUser -lpanel -livfs -lposix -lpmem -ltzbsp -lpaged_alloc -lglnext-llvm -lopenwfd -lplanedef -lmmosallibrary
QMAKE_LIBS_OPENGL_ES2 += $${QMAKE_LIBS_EGL}
QMAKE_CFLAGS += -DINTEGRITY
QMAKE_CXXFLAGS += -DINTEGRITY
QMAKE_CFLAGS += -bigswitch
QMAKE_CXXFLAGS += -bigswitch
QMAKE_LFLAGS += -bigswitch
# OpenGL libraries have a dependency on libEGL
QMAKE_INCDIR_EGL = $$(GL_INC_DIR)
QMAKE_LIBDIR_EGL = $$(GL_LIB_DIR)
QMAKE_LIBDIR_EGL += $$(QCLIBS_DIR)/base
QMAKE_LIBDIR_EGL += $$(QCLIBS_DIR)/multimedia/display
QMAKE_INCDIR_OPENGL_ES2 = $$(GL_INC_DIR)
QMAKE_LIBDIR_OPENGL_ES2 = $$(GL_LIB_DIR)
QMAKE_LIBDIR_OPENGL_ES2 += $$(QCLIBS_DIR)/base
QMAKE_LIBDIR_OPENGL_ES2 += $$(QCLIBS_DIR)/multimedia/display
load(qt_config)

View File

@ -0,0 +1,9 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPLATFORMDEFS_H
#define QPLATFORMDEFS_H
#include "../../common/integrity/qplatformdefs.h"
#endif // QPLATFORMDEFS_H

View File

@ -0,0 +1,58 @@
#
# qmake configuration for the Archos gen8 tablets (70 and 101)
# with the SDE (Software Developer Edition) firmware
# http://www.archos.com/support/support_tech/updates_dev.html
#
# OpenEmbedded platform build system for Qt5 available at:
# http://github.com/KDAB/OpenEmbedded-Archos
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QT_QPA_DEFAULT_PLATFORM = eglfs
# modifications to g++.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp
#modifications to gcc-base.conf
QMAKE_CFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS_RELEASE += -O3
QMAKE_LIBS += -lrt -lpthread -ldl
# Extra stuff (OpenGL, DirectFB, ...)
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_EGL = $$[QT_SYSROOT]/usr/lib
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBDIR_OPENVG = $${QMAKE_LIBDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}
QMAKE_LIBS_OPENVG = -lOpenVG $${QMAKE_LIBS_EGL}
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,60 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "private/qeglfshooks_p.h"
#include <EGL/fbdev_window.h>
#include <stdio.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <linux/fb.h>
QT_BEGIN_NAMESPACE
class QEglFS8726MHooks : public QEglFSHooks
{
public:
virtual QSize screenSize() const;
virtual EGLNativeWindowType createNativeWindow(QPlatformWindow *window, const QSize &size, const QSurfaceFormat &format);
virtual void destroyNativeWindow(EGLNativeWindowType window);
};
QSize QEglFS8726MHooks::screenSize() const
{
int fd = open("/dev/fb0", O_RDONLY);
if (fd == -1) {
qFatal("Failed to open fb to detect screen resolution!");
}
struct fb_var_screeninfo vinfo;
if (ioctl(fd, FBIOGET_VSCREENINFO, &vinfo) == -1) {
qFatal("Could not get variable screen info");
}
close(fd);
return QSize(vinfo.xres, vinfo.yres);
}
EGLNativeWindowType QEglFS8726MHooks::createNativeWindow(QPlatformWindow *window, const QSize &size, const QSurfaceFormat &format)
{
Q_UNUSED(window);
Q_UNUSED(format);
fbdev_window *window = new fbdev_window;
window->width = size.width();
window->height = size.height();
return window;
}
void QEglFS8726MHooks::destroyNativeWindow(EGLNativeWindowType window)
{
delete window;
}
QEglFS8726MHooks eglFS8726MHooks;
QEglFSHooks *platformHooks = &eglFS8726MHooks;
QT_END_NAMESPACE

View File

@ -0,0 +1,36 @@
#
# qmake configuration for linux-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_CFLAGS += -mfloat-abi=softfp -mfpu=neon -mcpu=cortex-a9
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
EGLFS_PLATFORM_HOOKS_SOURCES = $$PWD/qeglfshooks_8726m.cpp
QT_QPA_DEFAULT_PLATFORM = eglfs
load(qt_config)

View File

@ -0,0 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,9 @@
#
# Generic qmake configuration for building with g++ on arm devices.
#
# A minimal configure line could look something like this:
# ./configure -device arm-generic-g++ -device-option CROSS_COMPILE=arm-linux-gnueabi-
include(../common/linux_device_pre.conf)
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,46 @@
#
# qmake configuration for linux-arm-hisilicon-hix5hd2-g++ using the arm-linux-gnueabihf-g++ crosscompiler
#
# A typical configure line looks like this:
# <path-to-qt-src>/configure -opensource -confirm-license -release -make libs -make examples -optimized-qmake
# -platform linux-g++-64 -device linux-arm-hisilicon-hix5hd2-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
# -opengl es2 -no-qml-debug -no-directfb -no-kms -no-xcb -no-alsa -qt-zlib -qt-libjpeg -qt-libpng
# -no-icu -no-nis -sysroot <path-to-rootfs> -extprefix <path-to-targetinstall> -hostprefix <path-to-hostinstall>
# -prefix <path-to-prefix>
#
# such as
# ./configure -opensource -confirm-license -release -make libs -make examples -optimized-qmake
# -platform linux-g++-64 -device linux-arm-hisilicon-hix5hd2-g++ -device-option CROSS_COMPILE=arm-linux-gnueabihf-
# -opengl es2 -no-qml-debug -no-directfb -no-kms -no-xcb -no-alsa -qt-zlib -qt-libjpeg -qt-libpng
# -no-icu -no-nis -sysroot /home/abc/project/sysbase
# -extprefix /home/abc/project/sysbase/qt_install
# -hostprefix /home/abc/project/qtdir/qtbase_hostinstall
# -prefix /home/abc/project/sysbase/qt_install
include(../common/linux_device_pre.conf)
QMAKE_INCDIR_POST += /usr/arm-linux-gnueabihf/include
QMAKE_LIBDIR_POST += /usr/arm-linux-gnueabihf/lib
QMAKE_LIBS += -lrt
QMAKE_INCDIR_EGL += $$[QT_SYSROOT]/egl/include
QMAKE_LIBDIR_EGL += $$[QT_SYSROOT]/egl/lib
QMAKE_INCDIR_OPENGL_ES2 += $$QMAKE_INCDIR_EGL
QMAKE_LIBDIR_OPENGL_ES2 += $$QMAKE_LIBDIR_EGL
QMAKE_LIBS_EGL += -lMali
QMAKE_LIBS_OPENGL_ES2 += $$QMAKE_LIBS_EGL
QMAKE_LIBS_OPENVG += $$QMAKE_LIBS_EGL
DISTRO_OPTS += hard-float
QMAKE_CFLAGS +=-march=armv7-a -mcpu=cortex-a9 -mfpu=vfpv3-d16
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_mali
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,68 @@
#
# qmake configuration for building with arm-linux-uclibcgnueabi-g++
#
# http://wiki.qt.io/Shiner
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
isEmpty(TRIDENT_SHINER_SDK_BUILDTREE): \
error("TRIDENT_SHINER_SDK_BUILDTREE needs to be set via -device-option TRIDENT_SHINER_SDK_BUILDTREE=<path>")
isEmpty(TRIDENT_SHINER_SDK_BUILDSPEC): \
error("TRIDENT_SHINER_SDK_BUILDSPEC needs to be set via -device-option TRIDENT_SHINER_SDK_BUILDSPEC=<build spec>")
isEmpty(TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2): \
error("TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2 needs to be set via -device-option TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2=<path>")
isEmpty(TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2): \
error("TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2 needs to be set via -device-option TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2=<path>")
deviceSanityCheckCompiler()
}
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${CROSS_COMPILE}g++
QMAKE_LINK_SHLIB = $${CROSS_COMPILE}g++
#
# Usage configure options "-sysroot <sysroot path>" with "--prefix=<qt installation path>" results into installation of Qt at "<sysroot path><qt installation path>".
# Trident Shiner SDK expects all libs to be in "Application file system" which is not <sysroot path>
#
# Because of this fact not using "-sysroot <sysroot path>" and hence following code is required
#
QMAKE_CFLAGS += --sysroot=$${TRIDENT_SHINER_SDK_BUILDTREE}/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/
QMAKE_CXXFLAGS += --sysroot=$${TRIDENT_SHINER_SDK_BUILDTREE}/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/
QMAKE_LFLAGS += --sysroot=$${TRIDENT_SHINER_SDK_BUILDTREE}/open_source_archive/linux/toolchains/gcc-4.5.2_uclibc/
QMAKE_CFLAGS = -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_INCDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/include
QMAKE_LIBDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generic_apps/usr/lib
QMAKE_LIBDIR_POST += $${TRIDENT_SHINER_SDK_BUILDTREE}/target/output/objs/$${TRIDENT_SHINER_SDK_BUILDSPEC}/comps/generated/lib/armgnu_linux_el_cortex-a9
QMAKE_INCDIR_EGL = $${TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2}
QMAKE_LIBDIR_EGL = $${TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2}
QMAKE_INCDIR_OPENGL_ES2 = $${TRIDENT_SHINER_SDK_INCDIR_EGL_OPENGL_ES2}
QMAKE_LIBDIR_OPENGL_ES2 = $${TRIDENT_SHINER_SDK_LIBDIR_EGL_OPENGL_ES2}
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um -lusc
QMAKE_LIBS_OPENGL_ES2 = $$QMAKE_LIBS_EGL -lGLESv2 -lGLES_CM
QT_QPA_DEFAULT_PLATFORM = eglfs
load(qt_config)

View File

@ -0,0 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,58 @@
#
# qmake configuration for the BeagleBoard and BeagleBoard xM boards
# http://beagleboard.org/
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
QT_QPA_DEFAULT_PLATFORM = eglfs
# modifications to g++.conf
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
COMPILER_FLAGS = -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb
#modifications to gcc-base.conf
QMAKE_CFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS += $${COMPILER_FLAGS}
QMAKE_CXXFLAGS_RELEASE += -O3
QMAKE_LIBS += -lrt -lpthread -ldl
# Extra stuff (OpenGL, DirectFB, ...)
QMAKE_INCDIR_EGL =
QMAKE_LIBDIR_EGL =
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_LIBDIR_OPENGL_ES2 = $${QMAKE_LIBDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBDIR_OPENVG = $${QMAKE_LIBDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lsrv_um
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}
QMAKE_LIBS_OPENVG = -lOpenVG $${QMAKE_LIBS_EGL}
DISTRO_OPTS += hard-float
# No need for any special EGL device integration.
# Prioritize the default, compiled-in integration over any plugins.
EGLFS_DEVICE_INTEGRATION = none
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,17 @@
#
# qmake configuration for the NXP Colibri VFxx boards
#
include(../common/linux_device_pre.conf)
VFXX_CFLAGS = -march=armv7-a -mtune=cortex-a5 -mfpu=neon
QMAKE_CFLAGS += $$VFXX_CFLAGS
QMAKE_CXXFLAGS += $$VFXX_CFLAGS
QT_QPA_DEFAULT_PLATFORM = linuxfb
DISTRO_OPTS += hard-float
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,52 @@
#
# 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 \
# -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)
QMAKE_INCDIR_POST += \
$${VIBRANTE_SDK_TOPDIR}/include \
$$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_POST += \
$${VIBRANTE_SDK_TOPDIR}/lib-target \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu
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
DISTRO_OPTS += aarch64
# 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
include(../common/linux_arm_device_post.conf)
# 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()
}
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,29 @@
#
# qmake configuration for the Qt Simulator for Embedded Linux
# (cross-compile for the x86-based Yocto image + use a custom EGL/GLES implementation)
#
# Example configure command:
#
# ./configure \
# -prefix /usr/local/qt5 \
# -hostprefix /usr/local/qt5-host \
# -extprefix $PWD/../qt5 \
# -device emu \
# -device-option CROSS_COMPILE=$QT/Boot2Qt/emulator/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/i586-poky-linux/i586-poky-linux- \
# -sysroot $QT/Boot2Qt/emulator/toolchain/sysroots/i586-poky-linux \
# -nomake examples -nomake tests -v \
# -release -force-debug-info \
# -opengl es2
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL = -lQtGlesStreamClient
QMAKE_LIBS_OPENGL_ES2 = $$QMAKE_LIBS_EGL
QMAKE_LIBS_OPENGL_ES2_DEBUG = $$QMAKE_LIBS_EGL
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_emu
include(../common/linux_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,9 @@
#
# Generic qmake configuration for building with g++ on generic devices.
#
# A minimal configure line could look something like this:
# ./configure -device linux-generic-g++ -device-option CROSS_COMPILE=mipsel-linux-gnu-
include(../common/linux_device_pre.conf)
include(../common/linux_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,29 @@
#
# qmake configuration for the Freescale iMX53 board
#
# This mkspec is based and tested on the Yocto Project's Poky Distribution
# with libEGL.so from Freescale without the X11 dependency.
#
# This mkspec is tested with a framebuffer (eglfs) configuration
#
# A typical configure line looks like:
#
# export PATH=/opt/imx53qsb/x86_64-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi:$PATH
#
# ./configure -prefix /usr/local/qt5-imx53 -hostprefix /opt/imx53qsb/x86_64-linux/usr/local/qt5-imx53 -release -device linux-imx53qsb-g++
# -opensource -confirm-license -device-option CROSS_COMPILE=arm-poky-linux-gnueabi- -sysroot /opt/imx53qsb/sysroot
# -eglfs -no-pch -opengl es2 -no-xcb -silent
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL
IMX5_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1 -Wno-psabi
QMAKE_CFLAGS += $$IMX5_CFLAGS
QMAKE_CXXFLAGS += $$IMX5_CFLAGS
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,39 @@
#
# qmake configuration for the Freescale iMX6 boards (single, dual and quad)
#
# The configuration below is set up for running with EGL on the framebuffer via
# the eglfs platform plugin and its eglfs_viv backend.
# Wayland is also fully functional out of the box. However, when writing Wayland
# *compositors* with Qt, the eglfs backend will have to be switched to
# eglfs_viv_wl by setting the QT_QPA_EGLFS_INTEGRATION environment variable.
#
# Below is an example configure line that assumes the SDK is in
# $HOME/imx6/toolchain. On device Qt is expected to be placed under
# /usr/local/qt5 whereas on the host 'make install' will copy the host tools and
# the target libraries to $HOME/imx6/qt5.
#
# ./configure -prefix /usr/local/qt5 -extprefix $HOME/imx6/qt5 -device linux-imx6-g++ \
# -device-option CROSS_COMPILE=$HOME/imx6/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- \
# -sysroot $HOME/imx6/toolchain/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi \
# -nomake examples -nomake tests -v
#
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
IMX6_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1 -DEGL_API_FB=1
QMAKE_CFLAGS += $$IMX6_CFLAGS
QMAKE_CXXFLAGS += $$IMX6_CFLAGS
DISTRO_OPTS += hard-float
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_viv
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,17 @@
#
# qmake configuration for the NXP iMX7 boards (single, dual and quad)
#
include(../common/linux_device_pre.conf)
IMX7_CFLAGS = -march=armv7-a -mfpu=neon -DLINUX=1
QMAKE_CFLAGS += $$IMX7_CFLAGS
QMAKE_CXXFLAGS += $$IMX7_CFLAGS
DISTRO_OPTS += hard-float
QT_QPA_DEFAULT_PLATFORM = linuxfb
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,41 @@
#
# qmake configuration for the NXP i.MX8 based boards (64-bit)
#
# The configuration below is set up for running with the fbdev-style
# Vivante graphics stack. (so eglfs with the eglfs_viv backend, no
# direct drm use via eglfs_kms)
# Wayland should also be functional. However, when writing Wayland
# *compositors* with Qt, the eglfs backend will have to be switched to
# eglfs_viv_wl by setting the QT_QPA_EGLFS_INTEGRATION environment
# variable.
#
# Below is an example configure line that assumes there is an AArch64
# toolchain and sysroot available in $HOME/imx8. On device Qt is
# expected to be placed under /usr/local/qt514 whereas on the host
# 'make install' will copy the host tools and the target libraries to
# $HOME/imx8/qt5.
#
# ./configure -release -opengl es2 -device linux-imx8-g++ \
# -device-option CROSS_COMPILE=~/imx8/toolchain/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux- \
# -sysroot ~/imx8/sysroot \
# -opensource -confirm-license -make libs -prefix /usr/local/qt514 -extprefix ~/imx8/qt5 -v
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL -lGAL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL -lGAL
IMX8_CFLAGS = -march=armv8-a -mtune=cortex-a72.cortex-a53 -DLINUX=1 -DEGL_API_FB=1
QMAKE_CFLAGS += $$IMX8_CFLAGS
QMAKE_CXXFLAGS += $$IMX8_CFLAGS
DISTRO_OPTS += aarch64
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_viv
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,34 @@
#
# qmake configuration for the Jetson TK1 boards running Linux For Tegra
#
# Note that this environment has been tested with X11 only.
#
# A typical configure line might look like:
# configure \
# -device linux-jetson-tk1-g++ \
# -device-option CROSS_COMPILE=/opt/nvidia/toolchains/tegra-4.8.1-nv/usr/bin/arm-cortex_a15-linux-gnueabi/arm-cortex_a15-linux-gnueabi- \
# -sysroot /opt/nvidia/l4t/targetfs
include(../common/linux_device_pre.conf)
QMAKE_INCDIR_POST += \
$$[QT_SYSROOT]/usr/include \
$$[QT_SYSROOT]/usr/include/arm-linux-gnueabihf
QMAKE_LIBDIR_POST += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/lib/arm-linux-gnueabihf \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf
QMAKE_RPATHLINKDIR_POST += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \
$$[QT_SYSROOT]/lib/arm-linux-gnueabihf
DISTRO_OPTS += hard-float
COMPILER_FLAGS += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4
EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,47 @@
#
# qmake configuration for the Jetson TK1 Pro boards running Vibrante Linux
#
# This environment supports eglfs (via DRM, EGLDevice, and EGLStream),
# Wayland (requires an EGLStream-capable compositor), and X11 (untested).
#
# A typical configure line might look like:
# configure \
# -device jetson-tk1-pro \
# -device-option VIBRANTE_SDK_TOPDIR=/opt/nvidia/vibrante-vcm30t124-linux
# -device-option CROSS_COMPILE=/opt/nvidia/toolchains/tegra-4.8.1-nv/usr/bin/arm-cortex_a15-linux-gnueabi/arm-cortex_a15-linux-gnueabi- \
# -sysroot /opt/nvidia/vibrante-vcm30t124-linux/targetfs \
# -no-gcc-sysroot
include(../common/linux_device_pre.conf)
QMAKE_INCDIR_POST += \
$${VIBRANTE_SDK_TOPDIR}/include \
$$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_POST += \
$${VIBRANTE_SDK_TOPDIR}/lib-target \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/lib/arm-linux-gnueabihf \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf
QMAKE_RPATHLINKDIR_POST += \
$${VIBRANTE_SDK_TOPDIR}/lib-target \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \
$$[QT_SYSROOT]/lib/arm-linux-gnueabihf
DISTRO_OPTS += hard-float
COMPILER_FLAGS += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4 -DWIN_INTERFACE_CUSTOM
EGLFS_DEVICE_INTEGRATION = eglfs_kms_egldevice
include(../common/linux_arm_device_post.conf)
# 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()
}
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,51 @@
#
# qmake configuration for Jetson TX1 boards running 64-bit Linux For Tegra
# (tested with R24.2, sample root filesystem)
#
# Note that this environment has been tested with X11 only.
#
# A typical configure line might look like the following:
#
# configure \
# -device linux-jetson-tx1-g++ \
# -device-option CROSS_COMPILE=/opt/gcc-linaro-5.3.1-2016.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- \
# -sysroot /opt/Linux_for_Tegra/rootfs
#
# Note that this builds for GLX + OpenGL. To use EGL + OpenGL ES instead, pass
# -opengl es2 and ensure the rootfs has the headers (rootfs/usr/include/EGL,
# GLES2, GLES3), which may not be the case out of the box.
#
# Check the configure output carefully, some features may be disabled due to the
# rootfs not having the necessary dev files.
#
# If getting cryptic linker errors from static libs like libm.a, check that the
# symlinks libm.so, libz.so, etc. under rootfs/usr/lib/aarch64-linux-gnu are not
# broken. If they are, due to using absolute paths, change them so that they are
# relative to rootfs.
include(../common/linux_device_pre.conf)
QMAKE_INCDIR_POST += \
$$[QT_SYSROOT]/usr/include \
$$[QT_SYSROOT]/usr/include/aarch64-linux-gnu
QMAKE_LIBDIR_POST += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu
QMAKE_RPATHLINKDIR_POST += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu \
$$[QT_SYSROOT]/usr/lib/aarch64-linux-gnu/tegra \
$$[QT_SYSROOT]/lib/aarch64-linux-gnu
DISTRO_OPTS += aarch64
COMPILER_FLAGS += -mtune=cortex-a57.cortex-a53 -march=armv8-a
# When configured with -opengl es2, eglfs will be functional with its
# dummy fullscreen X11 backend, in addition to xcb.
EGLFS_DEVICE_INTEGRATION = eglfs_x11
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,36 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qdirectfbeglhooks.h"
#include "qdirectfbconvenience.h"
#include "default_directfb.h"
QT_BEGIN_NAMESPACE
// Exported to the directfb plugin
QDirectFBEGLHooks platform_hook;
static void *dbpl_handle;
void QDirectFBEGLHooks::platformInit()
{
DBPL_RegisterDirectFBDisplayPlatform(&dbpl_handle, QDirectFbConvenience::dfbInterface());
}
void QDirectFBEGLHooks::platformDestroy()
{
DBPL_UnregisterDirectFBDisplayPlatform(dbpl_handle);
dbpl_handle = 0;
}
bool QDirectFBEGLHooks::hasCapability(QPlatformIntegration::Capability cap) const
{
switch (cap) {
case QPlatformIntegration::ThreadedOpenGL:
return true;
default:
return false;
}
}
QT_END_NAMESPACE

View File

@ -0,0 +1,68 @@
#
# qmake configuration for linux-mipsel-broadcom-97425-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
isEmpty(B_REFSW_DEBUG): \
error("B_REFSW_DEBUG needs to be set via -device-option B_REFSW_DEBUG=(y|n)")
isEmpty(BRCM_ROCKFORD_PATH): \
error("BRCM_ROCKFORD_PATH needs to be set via -device-option BRCM_ROCKFORD_PATH=<path>")
isEmpty(BRCM_APPLIBS_PATH): \
error("BRCM_APPLIBS_PATH needs to be set via -device-option BRCM_APPLIBS_PATH=<path>")
deviceSanityCheckCompiler()
}
# Modify the defaults we loaded above
CROSS_COMPILE = mipsel-linux-
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
#TODO: Clean Qt to work with uclibc not calling itself GLIBC.
#QMAKE_CFLAGS += -D__FORCE_NOGLIBC
#QMAKE_CXXFLAGS += -D__FORCE_NOGLIBC
BRCM_PLATFORM = 97425
# Figure the kind of directfb build used.
BRCM_BUILD_TYPE = debug
contains(B_REFSW_DEBUG, [Nn]) {
BRCM_BUILD_TYPE = release
}
QMAKE_INCDIR_OPENGL_ES2 = $${BRCM_ROCKFORD_PATH}/middleware/v3d/interface/khronos/include
QMAKE_LIBDIR_OPENGL_ES2 = $${BRCM_ROCKFORD_PATH}/middleware/v3d/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE}
QMAKE_LIBS_OPENGL_ES2 = -lv3ddriver -lrt
QMAKE_LIBS_EGL =
QMAKE_INCDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
QMAKE_LIBDIR_POST += $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
QMAKE_RPATHLINKDIR_POST += $$QMAKE_LIBDIR_OPENGL_ES2 $${BRCM_APPLIBS_PATH}/opensource/zlib/zlib-1.2.3
# DirectFB platform hooks for this hardware
QT_CONFIG += directfb_egl egl
DIRECTFB_PLATFORM_HOOKS_SOURCES = $$PWD/qdirectfbeglhooks_bcm97425.cpp
DIRECTFB_PLATFORM_HOOKS_INCLUDEPATH = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb
DIRECTFB_PLATFORM_HOOKS_LIBS = -ldbpl
DIRECTFB_PLATFORM_HOOKS_LIBDIR = $${BRCM_ROCKFORD_PATH}/middleware/platform/directfb/lib_$${BRCM_PLATFORM}_$${BRCM_BUILD_TYPE}
QT_QPA_DEFAULT_PLATFORM = directfbegl
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,21 @@
#
# qmake configuration for building with mips-mti-linux-gnu-g++
# build for CI20 targets X11
#
CROSS_COMPILE = mips-mti-linux-gnu-
include(../common/linux_device_pre.conf)
QMAKE_CFLAGS = -EL -march=mips32r2
QMAKE_CXXFLAGS = $${QMAKE_CFLAGS}
QMAKE_LFLAGS = -EL
QT_QPA_DEFAULT_PLATFORM = xcb
QMAKE_LIBS_EGL = -lEGL -lIMGegl -lusc
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 $${QMAKE_LIBS_EGL}
include(../common/linux_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,20 @@
#
# qmake configuration for the Intel NUC DE3815TYKE targeting EGL/GLES either via KMS (eglfs) or Wayland
#
# Verified with a core-image-weston image produced by Yocto.
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
NUC_CFLAGS = -m64
QMAKE_CFLAGS += $$NUC_CFLAGS
QMAKE_CXXFLAGS += $$NUC_CFLAGS
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,17 @@
#
# qmake configuration for linux-odroid-xu3-g++ using the arm-linux-gnueabihf-g++ crosscompiler
#
include(../common/linux_device_pre.conf)
DISTRO_OPTS += hard-float
QMAKE_CFLAGS += -mcpu=cortex-a15 -mfpu=neon-vfpv4 -marm
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_mali
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,52 @@
# qmake configuration for:
# - Raspberry PI
# - Raspberry PI Zero
# http://wiki.qt.io/RaspberryPi
include(../common/linux_device_pre.conf)
QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/opt/vc/include \
$$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \
$$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
QMAKE_INCDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/include
QMAKE_LIBDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBS_BCM_HOST = -lbcm_host
contains(DISTRO, squeeze) {
#Debian Squeeze: Legacy everything
QMAKE_LIBS_OPENGL_ES2 = -lGLESv2 -lEGL
} else:contains(DISTRO, arch) {
#On principle: no wizardry required
} else {
#This is not strictly necessary
DISTRO_OPTS += deb-multi-arch
DISTRO_OPTS += hard-float
}
QMAKE_CFLAGS += \
-marm \
-mfpu=vfp \
-mtune=arm1176jzf-s \
-march=armv6zk \
-mabi=aapcs-linux
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_brcm
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,35 @@
# qmake configuration for the Raspberry Pi 2
include(../common/linux_device_pre.conf)
QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_OPENGL_ES2 = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_INCDIR_EGL = $$[QT_SYSROOT]/opt/vc/include \
$$[QT_SYSROOT]/opt/vc/include/interface/vcos/pthreads \
$$[QT_SYSROOT]/opt/vc/include/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_INCDIR_OPENVG = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_EGL = -lEGL -lGLESv2
QMAKE_LIBS_OPENVG = -lEGL -lOpenVG -lGLESv2
QMAKE_INCDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/include
QMAKE_LIBDIR_BCM_HOST = $$[QT_SYSROOT]/opt/vc/lib
QMAKE_LIBS_BCM_HOST = -lbcm_host
QMAKE_CFLAGS += -march=armv7-a -marm -mthumb-interwork -mfpu=neon-vfpv4 -mtune=cortex-a7 -mabi=aapcs-linux
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_brcm
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,48 @@
# qmake configuration for the Raspberry Pi 3 using the Broadcom graphics stack
include(../common/linux_device_pre.conf)
# For modern Yocto-based sysroots that have the proper include and lib
# setup in egl.pc we will pull the necessary arguments from
# there. However, to support Raspbian and older stuff that has /opt/vc
# and possibly no pkg-config, have some static values as well:
# I consider it a bug that this is required, but our EGL config.test _requires_ it
QMAKE_RPATHLINKDIR_POST += $$[QT_SYSROOT]/opt/vc/lib
VC_LIBRARY_PATH = /opt/vc/lib
VC_INCLUDE_PATH = =/opt/vc/include
VC_LINK_LINE = -L=$${VC_LIBRARY_PATH}
QMAKE_LIBDIR_OPENGL_ES2 = =$${VC_LIBRARY_PATH}
QMAKE_LIBDIR_EGL = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_LIBDIR_OPENVG = $$QMAKE_LIBDIR_OPENGL_ES2
QMAKE_INCDIR_EGL = \
$${VC_INCLUDE_PATH} \
$${VC_INCLUDE_PATH}/interface/vcos/pthreads \
$${VC_INCLUDE_PATH}/interface/vmcs_host/linux
QMAKE_INCDIR_OPENGL_ES2 = $${QMAKE_INCDIR_EGL}
QMAKE_LIBS_OPENGL_ES2 = $${VC_LINK_LINE} -lGLESv2
# The official opt vc EGL references GLESv2 symbols: need to link it
QMAKE_LIBS_EGL = $${VC_LINK_LINE} -lEGL -lGLESv2
QMAKE_LIBDIR_BCM_HOST = =$$VC_LIBRARY_PATH
QMAKE_INCDIR_BCM_HOST = $$VC_INCLUDE_PATH
QMAKE_LIBS_BCM_HOST = -lbcm_host
QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
EGLFS_DEVICE_INTEGRATION= eglfs_brcm
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,44 @@
# qmake configuration for the Raspberry Pi 3 (32-bit) using the
# *experimental* VC4 driver for Mesa and DRM.
#
# This should allow accelerated EGL and OpenGL with eglfs via
# KMS/DRM/GBM (instead of the Broadcom-specific backend), under X11
# with xcb, and also enables (Qt)Wayland via the standard wayland-egl
# path. See https://dri.freedesktop.org/wiki/VC4
#
# Note that this is not the same as the default, Broadcom proprietary
# driver. Some functionality and extensions may therefore be missing,
# in particular when it comes to accelerated multimedia (video,
# camera).
#
# At the time of writing Raspbian has to be switched explicitly to the
# experimental VC4 driver. To do this, run raspi-config and enable it
# in Advanced Options -> GL Driver.
#
# Example configure command below. We disable using the GNU gold
# linker as it apparently has issues with ARMv8. In the configure
# output check that "EGLFS GBM .......... yes" is present, otherwise
# eglfs will not be functional.
#
# ./configure -release -opengl es2 -device linux-rasp-pi3-vc4-g++ \
# -device-option CROSS_COMPILE=~/raspbian/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf- \
# -sysroot ~/raspbian/sysroot \
# -prefix /usr/local/qt5pi -extprefix ~/raspbian/qt5pi -hostprefix ~/raspbian/qt5 \
# -v -nomake examples -nomake tests -no-use-gold-linker
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a53 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,25 @@
#
# Generic qmake configuration for building with g++ on Raspberry Pi 4 (64-bit).
#
# Tested with Raspberry Pi OS 64-bit and aarch64 gcc compiler from Debian package repository
#
# A minimal configure line could look something like this:
# ./configure -release -opengl es2 -device linux-rasp-pi4-aarch64 -device-option CROSS_COMPILE=aarch64-linux-gnu- -sysroot ~/rpi-sysroot -prefix /usr/local/qt6 -extprefix $HOME/qt-raspi
DISTRO_OPTS += deb-multi-arch
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_CFLAGS += -march=armv8-a
QMAKE_CXXFLAGS += $$QMAKE_CFLAGS
EGLFS_DEVICE_INTEGRATION = eglfs_kms
LINKER_FLAGS += -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed
include(../common/linux_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,8 @@
/****************************************************************************
**
** Copyright (C) 2022 The Qt Company Ltd.
** SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
**
****************************************************************************/
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,40 @@
# qmake configuration for the Raspberry Pi 4 (32-bit) using the Mesa V3D
# graphics stack. (not the Broadcom stack)
#
# This supports accelerated OpenGL both for X11 and DRM/KMS. Perhaps
# Wayland too.
#
# Tested with a sysroot created from Raspbian Buster and a gcc 7.4
# toolchain from Linaro.
#
# Example configure command line, assuming installation to
# /usr/local/qt5pi on device and ~/rpi/qt5 on the host:
#
# ./configure -release -opengl es2 -device linux-rasp-pi4-v3d-g++ -device-option CROSS_COMPILE=~/rpi/gcc-linaro-7.4.1-2019.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf- \
# -sysroot ~/rpi/sysroot -opensource -confirm-license -make libs -prefix /usr/local/qt5pi -extprefix ~/rpi/qt5 -v
#
# Check the configure output carefully. EGLFS, EGLFS GBM, and EGL on X11
# should all be 'yes'. Otherwise something is wrong.
#
# If getting linker errors like "undefined reference to `_dl_stack_flags'" check the
# symlinks in the sysroot, they were probably not adjusted
# correctly. F.ex. sysroot/usr/lib/arm-linux-gnueabihf/libpthread.so must point to
# sysroot/lib/arm-linux-gnueabihf/libpthread.so.0. If it is a broken link instead, bad
# things will happen.
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_CFLAGS = -march=armv8-a -mtune=cortex-a72 -mfpu=crypto-neon-fp-armv8
QMAKE_CXXFLAGS = $$QMAKE_CFLAGS
DISTRO_OPTS += hard-float
DISTRO_OPTS += deb-multi-arch
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,31 @@
#
# qmake configuration for the Renesas R-Car H2 (Lager)
#
# Both eglfs and wayland should be functional, via DRM/KMS.
#
# Below is an example configure line that assumes the SDK is in
# $HOME/rcar/toolchain. 'make install' will copy the host tools to qt5-host and
# the target contents to qt5. The latter is what should be deployed to
# /usr/local/qt5 on the target device.
#
# ./configure -prefix /usr/local/qt5 -extprefix $HOME/rcar/qt5 -hostprefix $HOME/rcar/qt5-host \
# -device rcar-h2 \
# -device-option CROSS_COMPILE=$HOME/rcar/toolchain/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi- \
# -sysroot $HOME/rcar/toolchain/sysroots/cortexa15hf-neon-poky-linux-gnueabi \
# -nomake examples -nomake tests -v
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL
DISTRO_OPTS += hard-float
COMPILER_FLAGS += -mtune=cortex-a15 -march=armv7-a -mfpu=neon-vfpv4
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,17 @@
#
# qmake configuration for the Renesas R-Car M3
#
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
DISTRO_OPTS += aarch64
COMPILER_FLAGS += -march=armv8-a -mtune=cortex-a57.cortex-a53
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2017 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,35 @@
#
# qmake configuration for linux-g++ using the sh4-linux-g++ crosscompiler
#
# http://wiki.qt.io/ST7108
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_LIBS_EGL += -lMali
QT_QPA_DEFAULT_PLATFORM = eglfs
load(qt_config)

View File

@ -0,0 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,47 @@
#
# qmake configuration for linux-g++ using the sh4-linux-g++ crosscompiler
#
# http://wiki.qt.io/ST7540
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_INCDIR_EGL += $$[QT_SYSROOT]/root/modules/include/
QMAKE_LIBDIR_EGL += $$[QT_SYSROOT]/root/modules/
#
# The EGL library used for ST7540 is based on DirectFB so it has to be linked with
# 1. libdirectfb.so 2. libfusion.so 3. libdirect.so
#
QMAKE_LIBS_EGL += -lMali -ldirectfb -lfusion -ldirect
QMAKE_INCDIR_OPENGL_ES2 += $$QMAKE_INCDIR_EGL
QMAKE_LIBDIR_OPENGL_ES2 += $$QMAKE_LIBDIR_EGL
QMAKE_LIBS_OPENGL_ES2 += $$QMAKE_LIBS_EGL
QT_QPA_DEFAULT_PLATFORM = eglfs
load(qt_config)

View File

@ -0,0 +1,5 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,34 @@
#
# qmake configuration for ST Ericsson's Snowball
# http://wiki.qt.io/Snowball
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../../common/linux.conf)
include(../../common/gcc-base-unix.conf)
include(../../common/g++-unix.conf)
load(device_config)
defineTest(qtConfSanitizeMkspec) {
deviceSanityCheckCompiler()
}
QMAKE_CC = $${CROSS_COMPILE}gcc
QMAKE_CXX = $${CROSS_COMPILE}g++
QMAKE_LINK = $${QMAKE_CXX}
QMAKE_LINK_SHLIB = $${QMAKE_CXX}
# modifications to linux.conf
QMAKE_AR = $${CROSS_COMPILE}ar cqs
QMAKE_OBJCOPY = $${CROSS_COMPILE}objcopy
QMAKE_NM = $${CROSS_COMPILE}nm -P
QMAKE_STRIP = $${CROSS_COMPILE}strip
QMAKE_RPATHLINKDIR_POST += \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabihf \
$$[QT_SYSROOT]/lib/arm-linux-gnueabihf
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,30 @@
#
# qmake configuration for the Tegra2 boards.
#
# This mkspec is based and tested on the TrimSlice using "Ubuntu Natty (11.04) - l4t.r15.01"-release.
# It might work with other boards and releases as well.
# A typical configure line looks like this:
# <path-to-qt-src>/configure -opensource -confirm-license -make libs -prefix /usr/local/Qt-5.0.0/Qt5-tegra2
# -device tegra2 -device-option CROSS_COMPILE=<path-to-crosstoolchain>/bin/arm-none-linux-gnueabi- \
# -sysroot <path-to-rootfs>
include(../common/linux_device_pre.conf)
QMAKE_INCDIR_POST += $$[QT_SYSROOT]/usr/include
QMAKE_LIBDIR_POST += $$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/lib/arm-linux-gnueabi \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi
QMAKE_RPATHLINKDIR_POST += \
$$[QT_SYSROOT]/usr/lib \
$$[QT_SYSROOT]/usr/lib/arm-linux-gnueabi \
$$[QT_SYSROOT]/lib/arm-linux-gnueabi
TEGRA2_CFLAGS = -mtune=cortex-a9 -march=armv7-a -mhard-float -mfloat-abi=softfp -mfpu=vfpv3-d16
QMAKE_CFLAGS += $$TEGRA2_CFLAGS
QMAKE_CXXFLAGS += $$TEGRA2_CFLAGS
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"

View File

@ -0,0 +1,20 @@
#
# qmake configuration for the Asus Tinkerboard (Rockchip RK3288, Cortex-A17, Mali-T764)
#
# This configuration targets eglfs via DRM/KMS and Wayland.
include(../common/linux_device_pre.conf)
QMAKE_LIBS_EGL += -lEGL
QMAKE_LIBS_OPENGL_ES2 += -lGLESv2 -lEGL
QMAKE_LIBS_OPENVG += -lOpenVG -lEGL
DISTRO_OPTS += hard-float
COMPILER_FLAGS += -mtune=cortex-a17 -march=armv7-a -mfpu=neon-vfpv4
# Preferred eglfs backend
EGLFS_DEVICE_INTEGRATION = eglfs_kms
include(../common/linux_arm_device_post.conf)
load(qt_config)

View File

@ -0,0 +1,4 @@
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "../../linux-g++/qplatformdefs.h"