initial buildroot for linux 5.15
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
From c11299086b7718332e2b4fbc37ce6f6ff427c5ba Mon Sep 17 00:00:00 2001
|
||||
From: Yuqing Zhu <carol.zhu@nxp.com>
|
||||
Date: Mon, 27 Mar 2017 15:33:35 +0800
|
||||
Subject: [PATCH] qtbase: Fix build error when using EGL
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=utf-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
A build error was occurring due to missing EGL configuration.
|
||||
|
||||
Fixed by adding the necessary ties to the EGL pkg-config.
|
||||
|
||||
Task-number: QTBUG-61712
|
||||
Change-Id: I87190ea39392b4604c563cf9d89edb85068d85fc
|
||||
Upstream-Status: Pending
|
||||
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
|
||||
---
|
||||
mkspecs/features/egl.prf | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/mkspecs/features/egl.prf b/mkspecs/features/egl.prf
|
||||
index 9fa0c9e219..85d5852ba6 100644
|
||||
--- a/mkspecs/features/egl.prf
|
||||
+++ b/mkspecs/features/egl.prf
|
||||
@@ -1,3 +1,9 @@
|
||||
+# egl headers need a definition
|
||||
+PKG_CONFIG = $$pkgConfigExecutable()
|
||||
+PKGCONFIG_CFLAGS = $$system($$PKG_CONFIG --cflags egl)
|
||||
+PKGCONFIG_CFLAGS = $$find(PKGCONFIG_CFLAGS, ^-D.*)
|
||||
+QMAKE_CFLAGS_EGL = $$PKGCONFIG_CFLAGS
|
||||
+
|
||||
INCLUDEPATH += $$QMAKE_INCDIR_EGL
|
||||
LIBS_PRIVATE += $$QMAKE_LIBS_EGL
|
||||
QMAKE_CFLAGS += $$QMAKE_CFLAGS_EGL
|
||||
--
|
||||
2.16.1
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From a02b5e3bb41026ca6031d01942a093e9ce54edf3 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Seiderer <ps.report@gmx.net>
|
||||
Date: Tue, 21 Aug 2018 21:11:40 +0200
|
||||
Subject: [PATCH] double-conversion: enable for microblaze
|
||||
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
[Rebased for Qt5.12.0]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
[Rebased for Qt5.14.0]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
src/3rdparty/double-conversion/include/double-conversion/utils.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
index 70e697ca..2bb8e389 100644
|
||||
--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
+++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
@@ -102,6 +102,7 @@ int main(int argc, char** argv) {
|
||||
defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \
|
||||
defined(__riscv) || \
|
||||
defined(__or1k__) || defined(__arc__) || \
|
||||
+ defined(__microblaze__) || \
|
||||
defined(__EMSCRIPTEN__)
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
#elif defined(__mc68000__) || \
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From e3f63db3124caf5bde9cf688eba563f7f025662d Mon Sep 17 00:00:00 2001
|
||||
From: Peter Seiderer <ps.report@gmx.net>
|
||||
Date: Sun, 8 Mar 2020 18:08:26 +0100
|
||||
Subject: [PATCH] double-conversion: enable for nios2
|
||||
|
||||
[Upstream: https://github.com/google/double-conversion/commit/a54561be5588ac9b16d3c20760b9b554168bb8aa]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
src/3rdparty/double-conversion/include/double-conversion/utils.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
index d29de950..55ca5bf5 100644
|
||||
--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
+++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
@@ -87,6 +87,7 @@ int main(int argc, char** argv) {
|
||||
defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
|
||||
defined(__hppa__) || defined(__ia64__) || \
|
||||
defined(__mips__) || \
|
||||
+ defined(__nios2__) || \
|
||||
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
|
||||
defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
|
||||
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
From f423f160b984c47d831b10447af046bfbd6a3ba1 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Seiderer <ps.report@gmx.net>
|
||||
Date: Tue, 10 Mar 2020 09:01:31 +0100
|
||||
Subject: [PATCH] double-conversion: enable for xtensa
|
||||
|
||||
[Upstream: https://github.com/google/double-conversion/commit/a54561be5588ac9b16d3c20760b9b554168bb8aa]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
[Rebased for qtbase-everywhere-src-5.14.0]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
.../double-conversion/include/double-conversion/utils.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/3rdparty/double-conversion/include/double-conversion/utils.h b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
index 89ab1a31..001ce55f 100644
|
||||
--- a/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
+++ b/src/3rdparty/double-conversion/include/double-conversion/utils.h
|
||||
@@ -103,7 +103,7 @@ int main(int argc, char** argv) {
|
||||
defined(__AARCH64EL__) || defined(__aarch64__) || defined(__AARCH64EB__) || \
|
||||
defined(__riscv) || \
|
||||
defined(__or1k__) || defined(__arc__) || \
|
||||
- defined(__microblaze__) || \
|
||||
+ defined(__microblaze__) || defined(__XTENSA__) || \
|
||||
defined(__EMSCRIPTEN__)
|
||||
#define DOUBLE_CONVERSION_CORRECT_DOUBLE_OPERATIONS 1
|
||||
#elif defined(__mc68000__) || \
|
||||
--
|
||||
2.26.0
|
||||
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
From 0eb7058b473069a04cde60a800dfd04148c0c8b1 Mon Sep 17 00:00:00 2001
|
||||
From: Yann E. MORIN <yann.morin.1998@free.fr>
|
||||
Date: Sat, 14 Dec 2020 21:15:17 +0100
|
||||
Subject: [PATCH] plugins/eglfs/gbm: don't FTBFS when EGLNativeDisplayType is not a pointer
|
||||
|
||||
On some platforms, EGLNativeDisplayType is not a pointer, but some kind
|
||||
of integer, like an int (e.g. TI's SGX) or an unsigned int. In those
|
||||
cases, the build breaks with:
|
||||
|
||||
qeglfskmsgbmintegration.cpp: In member function ‘virtual void* QEglFSKmsGbmIntegration::createDisplay(EGLNativeDisplayType)’:
|
||||
qeglfskmsgbmintegration.cpp:83:60: error: invalid conversion from ‘EGLNativeDisplayType’ {aka ‘int’} to ‘void*’ [-fpermissive]
|
||||
83 | display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, nullptr);
|
||||
| ^~~~~~~~~~~~~
|
||||
| |
|
||||
| EGLNativeDisplayType {aka int}
|
||||
|
||||
We fix that by casting nativeDisplay to void* as expected by
|
||||
getPlatformDisplay().
|
||||
|
||||
We can do that, because usually, nativeDisplay is already a pointer, and
|
||||
thus this cast is a no-op. When it is not already a pointer, we either
|
||||
don't care because the code path will not be taken at runtime, or the
|
||||
integer really is an opaque handle to some internal, low-level memory
|
||||
management, much like a void* is an pointer to an opaque memory type...
|
||||
|
||||
It is to be noted, though, that in some ABIs (like x32), the size of a
|
||||
nativeDisplay that is not already a pointer, might be bigger than that
|
||||
of a pointer. There is not much we can do here anyway, since there would
|
||||
be no way to fit that in a void* to begin with, and the build will still
|
||||
fail for those situations. Those types of ABIs are far frome being
|
||||
widespread, the most prominent one, x32, even being retired...
|
||||
|
||||
To be noted further: a more usual solution (as suggested in QTBUG-72567
|
||||
or in Gerrit:248270) would be to first cast to a qintptr or a quintptr,
|
||||
before finally casting to a void*. However, casting to either (resp.)
|
||||
qintptr or quintptr first, risk the case that nativeDisplay is of the other
|
||||
kind of signedness, (resp.) unsigned or signed, which would also cause
|
||||
some compile-time breakage.
|
||||
|
||||
Finally, if nativeDisplay is something that is not an int-like, and that
|
||||
can't be cast into a void*, this would be hugely weird, so much so, that
|
||||
we do not even attempt to catter for that case.
|
||||
|
||||
Fixes: QTBUG-72567
|
||||
Inspired-by: https://codereview.qt-project.org/c/qt/qtbase/+/248270
|
||||
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
|
||||
---
|
||||
|
||||
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
|
||||
index d495a8d..059a580 100644
|
||||
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
|
||||
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
|
||||
@@ -80,7 +80,9 @@
|
||||
}
|
||||
|
||||
if (getPlatformDisplay) {
|
||||
- display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, nullptr);
|
||||
+ // EGLNativeDisplayType may be int on some platforms but those
|
||||
+ // won't hit this path. Have to keep it compiling nonetheless.
|
||||
+ display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, reinterpret_cast<void *>(nativeDisplay), nullptr);
|
||||
} else {
|
||||
qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, falling back to eglGetDisplay");
|
||||
display = eglGetDisplay(nativeDisplay);
|
||||
@@ -0,0 +1,53 @@
|
||||
From 9c56d4da2ff631a8c1c30475bd792f6c86bda53c Mon Sep 17 00:00:00 2001
|
||||
From: Thiago Macieira <thiago.macieira@intel.com>
|
||||
Date: Mon, 18 Jan 2021 07:40:54 -0800
|
||||
Subject: [PATCH] Fix build with GCC 11: include <limits>
|
||||
|
||||
Fixes: QTBUG-90395
|
||||
Pick-to: 6.0
|
||||
Change-Id: Iecc74d2000eb40dfbe7bfffd165b5dd3708b7a40
|
||||
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
|
||||
|
||||
[Retrieved (and backported) from:
|
||||
https://github.com/qt/qtbase/commit/9c56d4da2ff631a8c1c30475bd792f6c86bda53c]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
src/corelib/global/qendian.h | 6 ++++--
|
||||
src/corelib/global/qfloat16.h | 1 +
|
||||
2 files changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/global/qendian.h b/src/corelib/global/qendian.h
|
||||
index 99b529f17cd..c874c5e47ab 100644
|
||||
--- a/src/corelib/global/qendian.h
|
||||
+++ b/src/corelib/global/qendian.h
|
||||
@@ -1,7 +1,7 @@
|
||||
/****************************************************************************
|
||||
**
|
||||
-** Copyright (C) 2016 The Qt Company Ltd.
|
||||
-** Copyright (C) 2016 Intel Corporation.
|
||||
+** Copyright (C) 2021 The Qt Company Ltd.
|
||||
+** Copyright (C) 2021 Intel Corporation.
|
||||
** Contact: https://www.qt.io/licensing/
|
||||
**
|
||||
** This file is part of the QtCore module of the Qt Toolkit.
|
||||
@@ -44,6 +44,8 @@
|
||||
#include <QtCore/qfloat16.h>
|
||||
#include <QtCore/qglobal.h>
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
// include stdlib.h and hope that it defines __GLIBC__ for glibc-based systems
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
diff --git a/src/corelib/global/qfloat16.h b/src/corelib/global/qfloat16.h
|
||||
index e9477d2ecec..a25fac28862 100644
|
||||
--- a/src/corelib/global/qfloat16.h
|
||||
+++ b/src/corelib/global/qfloat16.h
|
||||
@@ -44,6 +44,7 @@
|
||||
|
||||
#include <QtCore/qglobal.h>
|
||||
#include <QtCore/qmetatype.h>
|
||||
+#include <limits>
|
||||
#include <string.h>
|
||||
|
||||
#if defined(QT_COMPILER_SUPPORTS_F16C) && defined(__AVX2__) && !defined(__F16C__)
|
||||
@@ -0,0 +1,61 @@
|
||||
From 86494659b2ab14edc653cd2d9260561ad4c4e4e8 Mon Sep 17 00:00:00 2001
|
||||
From: Ville Voutilainen <ville.voutilainen@qt.io>
|
||||
Date: Mon, 18 Jan 2021 09:58:17 +0200
|
||||
Subject: [PATCH] Build fixes for GCC 11
|
||||
|
||||
Task-number: QTBUG-89977
|
||||
Change-Id: Ic1b7ddbffb8a0a00f8c621d09a868f1d94a52c21
|
||||
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
[Retrieved (and backported) from:
|
||||
https://github.com/qt/qtbase/commit/813a928c7c3cf98670b6043149880ed5c955efb9]
|
||||
Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru>
|
||||
---
|
||||
src/corelib/text/qbytearraymatcher.h | 2 ++
|
||||
src/corelib/tools/qsharedpointer_impl.h | 3 ---
|
||||
src/plugins/platforms/xcb/qxcbwindow.cpp | 2 +-
|
||||
3 files changed, 3 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/corelib/text/qbytearraymatcher.h b/src/corelib/text/qbytearraymatcher.h
|
||||
index 0eedfc1d20..f5f9bef7b8 100644
|
||||
--- a/src/corelib/text/qbytearraymatcher.h
|
||||
+++ b/src/corelib/text/qbytearraymatcher.h
|
||||
@@ -42,6 +42,8 @@
|
||||
|
||||
#include <QtCore/qbytearray.h>
|
||||
|
||||
+#include <limits>
|
||||
+
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
|
||||
diff --git a/src/corelib/tools/qsharedpointer_impl.h b/src/corelib/tools/qsharedpointer_impl.h
|
||||
index 790c187cb9..4aee98af53 100644
|
||||
--- a/src/corelib/tools/qsharedpointer_impl.h
|
||||
+++ b/src/corelib/tools/qsharedpointer_impl.h
|
||||
@@ -155,9 +155,6 @@ namespace QtSharedPointer {
|
||||
#endif
|
||||
inline void checkQObjectShared(...) { }
|
||||
inline void setQObjectShared(...) { }
|
||||
-
|
||||
- inline void operator delete(void *ptr) { ::operator delete(ptr); }
|
||||
- inline void operator delete(void *, void *) { }
|
||||
};
|
||||
// sizeof(ExternalRefCountData) = 12 (32-bit) / 16 (64-bit)
|
||||
|
||||
diff --git a/src/plugins/platforms/xcb/qxcbwindow.cpp b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
index 9e7e1a5572..f0866a90ac 100644
|
||||
--- a/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
+++ b/src/plugins/platforms/xcb/qxcbwindow.cpp
|
||||
@@ -698,7 +698,7 @@ void QXcbWindow::show()
|
||||
if (isTransient(window())) {
|
||||
const QWindow *tp = window()->transientParent();
|
||||
if (tp && tp->handle())
|
||||
- transientXcbParent = static_cast<const QXcbWindow *>(tp->handle())->winId();
|
||||
+ transientXcbParent = tp->handle()->winId();
|
||||
// Default to client leader if there is no transient parent, else modal dialogs can
|
||||
// be hidden by their parents.
|
||||
if (!transientXcbParent)
|
||||
--
|
||||
2.31.1
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
From 87a869a8404047240cccaa9f101351aeb9417a26 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Fella <nicolas.fella@kdab.com>
|
||||
Date: Sun, 20 Jun 2021 17:36:41 +0200
|
||||
Subject: [PATCH] Add missing limits include
|
||||
|
||||
The code uses std::numeric_limits but is lacking the appropriate include
|
||||
|
||||
Pick-to: 5.15 6.1 6.2
|
||||
Change-Id: I41fa5ac4d8c4e06f35b5b1551ef2ad8417df80bd
|
||||
Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo@kdab.com>
|
||||
|
||||
[Upstream: https://code.qt.io/cgit/qt/qtbase.git/patch/?id=2b2b3155d9f6ba1e4f859741468fbc47db09292b]
|
||||
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
|
||||
---
|
||||
src/corelib/tools/qoffsetstringarray_p.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/corelib/tools/qoffsetstringarray_p.h b/src/corelib/tools/qoffsetstringarray_p.h
|
||||
index 4dd9e960..e26a57ff 100644
|
||||
--- a/src/corelib/tools/qoffsetstringarray_p.h
|
||||
+++ b/src/corelib/tools/qoffsetstringarray_p.h
|
||||
@@ -55,6 +55,7 @@
|
||||
|
||||
#include <tuple>
|
||||
#include <array>
|
||||
+#include <limits>
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
From 035dc537bee26e3b63a211b2835d8560439e161f Mon Sep 17 00:00:00 2001
|
||||
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
Date: Fri, 27 Aug 2021 16:28:32 +0200
|
||||
Subject: Fix build on riscv32
|
||||
|
||||
riscv32 fails to build because __NR_futex is not defined on this
|
||||
architecture:
|
||||
|
||||
In file included from thread/qmutex_linux.cpp:45,
|
||||
from thread/qmutex.cpp:804:
|
||||
thread/qfutex_p.h: In function 'int QtLinuxFutex::_q_futex(int*, int, int, quintptr, int*, int)':
|
||||
thread/qfutex_p.h:116:30: error: '__NR_futex' was not declared in this scope; did you mean '_q_futex'?
|
||||
116 | int result = syscall(__NR_futex, addr, op | FUTEX_PRIVATE_FLAG, val, val2, addr2, val3);
|
||||
| ^~~~~~~~~~
|
||||
| _q_futex
|
||||
|
||||
Pick-to: 6.1 6.2
|
||||
Fixes: QTBUG-96067
|
||||
Change-Id: Ib6a9bcc496f37e69ac39362cb0a021fccaf311f5
|
||||
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
|
||||
[Retrieved from:
|
||||
https://code.qt.io/cgit/qt/qtbase.git/commit/?id=035dc537bee26e3b63a211b2835d8560439e161f]
|
||||
---
|
||||
src/corelib/thread/qfutex_p.h | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/src/corelib/thread/qfutex_p.h b/src/corelib/thread/qfutex_p.h
|
||||
index 40482b6fc1..037207a5c0 100644
|
||||
--- a/src/corelib/thread/qfutex_p.h
|
||||
+++ b/src/corelib/thread/qfutex_p.h
|
||||
@@ -103,6 +103,11 @@ QT_END_NAMESPACE
|
||||
// if not defined in linux/futex.h
|
||||
# define FUTEX_PRIVATE_FLAG 128 // added in v2.6.22
|
||||
|
||||
+// RISC-V does not supply __NR_futex
|
||||
+# ifndef __NR_futex
|
||||
+# define __NR_futex __NR_futex_time64
|
||||
+# endif
|
||||
+
|
||||
QT_BEGIN_NAMESPACE
|
||||
namespace QtLinuxFutex {
|
||||
constexpr inline bool futexAvailable() { return true; }
|
||||
--
|
||||
cgit v1.2.1
|
||||
|
||||
@@ -0,0 +1,301 @@
|
||||
config BR2_PACKAGE_QT5BASE
|
||||
bool "qt5base"
|
||||
select BR2_PACKAGE_ZLIB
|
||||
select BR2_PACKAGE_PCRE2
|
||||
select BR2_PACKAGE_PCRE2_16
|
||||
select BR2_PACKAGE_LIBOPENSSL_ENABLE_PSK if BR2_PACKAGE_LIBOPENSSL
|
||||
help
|
||||
Qt is a cross-platform application and UI framework for
|
||||
developers using C++.
|
||||
|
||||
This package corresponds to the qt5base module, which
|
||||
contains the base Qt libraries: QtCore, QtNetwork, QtGui,
|
||||
QtWidgets, etc.
|
||||
|
||||
http://qt.io
|
||||
|
||||
if BR2_PACKAGE_QT5BASE
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS
|
||||
string "Custom configuration options"
|
||||
help
|
||||
Define custom qt5 configuration options which can be used to
|
||||
enable or disable options not managed by buildroot. These
|
||||
options are appended to the ones generated by buildroot and
|
||||
passed to qt5base during configuration.
|
||||
|
||||
E.g. to remove the Windows Vista style option, add the option
|
||||
-no-feature-style_windowsvista.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_CONFIG_FILE
|
||||
string "Config file"
|
||||
help
|
||||
Configure options allow to set which modules are being
|
||||
compiled or not in Qt, but Qt also provide a more
|
||||
fine-grained mechanism to configure which features should be
|
||||
enabled or disabled, through a header file. Examples of such
|
||||
header files can be found in src/corelib/global/qconfig-*.h
|
||||
in the Qt sources.
|
||||
|
||||
This option allows to set the path of such a configuration
|
||||
file, which Buildroot will give to Qt at compile time.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_EXAMPLES
|
||||
bool "Compile and install examples (with code)"
|
||||
select BR2_PACKAGE_QT5BASE_NETWORK
|
||||
select BR2_PACKAGE_QT5BASE_XML
|
||||
help
|
||||
If unsure, say N.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_NETWORK
|
||||
def_bool y
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_CONCURRENT
|
||||
bool "concurrent module"
|
||||
help
|
||||
This options enables the Qt5Concurrent library.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_SQL
|
||||
def_bool y
|
||||
|
||||
if BR2_PACKAGE_QT5BASE_SQL
|
||||
config BR2_PACKAGE_QT5BASE_MYSQL
|
||||
bool "MySQL Plugin"
|
||||
depends on BR2_USE_MMU # mysql
|
||||
select BR2_PACKAGE_MYSQL
|
||||
select BR2_PACKAGE_NCURSES
|
||||
select BR2_PACKAGE_READLINE
|
||||
help
|
||||
Build MySQL plugin
|
||||
If unsure, say n.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_PSQL
|
||||
bool "PostgreSQL Plugin"
|
||||
depends on BR2_USE_MMU # postgresql
|
||||
depends on !BR2_STATIC_LIBS
|
||||
depends on BR2_USE_WCHAR # postgresql
|
||||
select BR2_PACKAGE_POSTGRESQL
|
||||
help
|
||||
Build PostgreSQL plugin
|
||||
If unsure, say n.
|
||||
|
||||
comment "PostgreSQL plugin needs a toolchain w/ wchar, dynamic library"
|
||||
depends on BR2_USE_MMU
|
||||
depends on BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
||||
|
||||
choice
|
||||
prompt "SQLite 3 support"
|
||||
default BR2_PACKAGE_QT5BASE_SQLITE_NONE
|
||||
help
|
||||
Select SQLite support.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_SQLITE_NONE
|
||||
bool "No sqlite support"
|
||||
help
|
||||
Do not compile any kind of SQLite support.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_SQLITE_QT
|
||||
bool "Qt SQLite"
|
||||
help
|
||||
Use Qt bundled SQLite support.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM
|
||||
bool "System SQLite"
|
||||
select BR2_PACKAGE_SQLITE
|
||||
select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA
|
||||
help
|
||||
Use system SQLite.
|
||||
|
||||
endchoice
|
||||
|
||||
endif
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_TEST
|
||||
def_bool y
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_XML
|
||||
def_bool y
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_GUI
|
||||
bool "gui module"
|
||||
select BR2_PACKAGE_FREETYPE
|
||||
# At least one graphic backend must be enabled, so enable
|
||||
# linuxfb if nothing is enabled.
|
||||
select BR2_PACKAGE_QT5BASE_LINUXFB if \
|
||||
!BR2_PACKAGE_QT5BASE_DIRECTFB && \
|
||||
!BR2_PACKAGE_QT5BASE_XCB && \
|
||||
!BR2_PACKAGE_QT5BASE_EGLFS
|
||||
help
|
||||
This option enables the Qt5Gui library.
|
||||
|
||||
if BR2_PACKAGE_QT5BASE_GUI
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_WIDGETS
|
||||
bool "widgets module"
|
||||
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB
|
||||
help
|
||||
This option enables the Qt5Widgets library.
|
||||
|
||||
comment "OpenGL support needs an OpenGL-capable backend"
|
||||
depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_OPENGL
|
||||
bool "OpenGL support"
|
||||
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
|
||||
help
|
||||
This option enables OpenGL support.
|
||||
|
||||
if BR2_PACKAGE_QT5BASE_OPENGL
|
||||
|
||||
choice
|
||||
prompt "OpenGL API"
|
||||
help
|
||||
Select OpenGL API.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP
|
||||
bool "Desktop OpenGL"
|
||||
depends on BR2_PACKAGE_HAS_LIBGL
|
||||
help
|
||||
Use desktop OpenGL.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_OPENGL_ES2
|
||||
bool "OpenGL ES 2.0+"
|
||||
depends on BR2_PACKAGE_HAS_LIBGLES
|
||||
help
|
||||
Use OpenGL ES 2.0 and later versions.
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_OPENGL_LIB
|
||||
bool "opengl module"
|
||||
select BR2_PACKAGE_QT5BASE_WIDGETS
|
||||
help
|
||||
This option enables the Qt5OpenGL library. This library
|
||||
includes OpenGL support classes provided to ease porting
|
||||
from Qt 4.x.
|
||||
|
||||
endif
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_LINUXFB
|
||||
bool "linuxfb support"
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_DIRECTFB
|
||||
bool "directfb support"
|
||||
depends on BR2_PACKAGE_DIRECTFB
|
||||
|
||||
comment "directfb backend available if directfb is enabled"
|
||||
depends on !BR2_PACKAGE_DIRECTFB
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_XCB
|
||||
bool "X.org XCB support"
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBX11
|
||||
select BR2_PACKAGE_LIBXCB
|
||||
select BR2_PACKAGE_XCB_UTIL_IMAGE
|
||||
select BR2_PACKAGE_XCB_UTIL_KEYSYMS
|
||||
select BR2_PACKAGE_XCB_UTIL_RENDERUTIL
|
||||
select BR2_PACKAGE_XCB_UTIL_WM
|
||||
select BR2_PACKAGE_LIBXKBCOMMON
|
||||
|
||||
comment "X.org XCB backend available if X.org is enabled"
|
||||
depends on !BR2_PACKAGE_XORG7
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_EGLFS
|
||||
bool "eglfs support"
|
||||
depends on BR2_PACKAGE_HAS_LIBEGL
|
||||
depends on BR2_PACKAGE_QT5_GL_AVAILABLE
|
||||
select BR2_PACKAGE_QT5BASE_OPENGL
|
||||
|
||||
comment "eglfs backend available if OpenGL and EGL are enabled"
|
||||
depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_QT5_GL_AVAILABLE
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_DEFAULT_QPA
|
||||
string "Default graphical platform"
|
||||
help
|
||||
Choose the default platform abstraction to use for graphical
|
||||
applications (e.g xcb, linuxfb, eglfs, ...). If this is
|
||||
empty, the default for your architecture will be used
|
||||
(usually this is eglfs).
|
||||
|
||||
You can get a list of supported platforms by running a Qt
|
||||
application with the option "-platform help" on your
|
||||
target. You can choose a different platform at runtime with
|
||||
the -platform option.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
|
||||
depends on BR2_PACKAGE_QT5BASE_WIDGETS
|
||||
def_bool y
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_FONTCONFIG
|
||||
bool "fontconfig support"
|
||||
select BR2_PACKAGE_FONTCONFIG
|
||||
help
|
||||
This option enables Fontconfig and Freetype support using
|
||||
the system fontconfig and freetype2 libraries.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_HARFBUZZ
|
||||
bool "harfbuzz support"
|
||||
select BR2_PACKAGE_HARFBUZZ if \
|
||||
BR2_TOOLCHAIN_HAS_SYNC_4 && \
|
||||
BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||||
help
|
||||
This option enables HarfBuzz support (either system harfbuzz
|
||||
if the toolchain supports __sync for 4 bytes, or the qt
|
||||
provided one which avoids this dependency by using QAtomic).
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_GIF
|
||||
bool "GIF support"
|
||||
help
|
||||
This compiles and installs the plugin for GIF reading support.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_JPEG
|
||||
bool "JPEG support"
|
||||
select BR2_PACKAGE_JPEG
|
||||
help
|
||||
This option enables JPEG support using the system libjpeg
|
||||
library.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_PNG
|
||||
bool "PNG support"
|
||||
select BR2_PACKAGE_LIBPNG
|
||||
help
|
||||
This option enables PNG support using the system libpng
|
||||
library.
|
||||
|
||||
endif
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_SYSLOG
|
||||
bool "syslog support"
|
||||
help
|
||||
Logs to the standard UNIX logging mechanism.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_DBUS
|
||||
bool "DBus module"
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_USE_MMU
|
||||
select BR2_PACKAGE_DBUS
|
||||
help
|
||||
This option enables the D-Bus module.
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_ICU
|
||||
bool "Enable ICU support"
|
||||
depends on !BR2_BINFMT_FLAT # icu
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_9 # icu
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 # icu
|
||||
select BR2_PACKAGE_ICU
|
||||
help
|
||||
This option enables ICU support in Qt5. This is for example
|
||||
needed for Qt5Webkit.
|
||||
|
||||
comment "icu support needs a toolchain w/ gcc >= 4.9, host gcc >= 4.9"
|
||||
depends on !BR2_BINFMT_FLAT
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_4_9 || \
|
||||
!BR2_HOST_GCC_AT_LEAST_4_9
|
||||
|
||||
config BR2_PACKAGE_QT5BASE_TSLIB
|
||||
bool "Enable Tslib support"
|
||||
select BR2_PACKAGE_TSLIB
|
||||
help
|
||||
This options enables the Tslib plugin
|
||||
|
||||
endif
|
||||
@@ -0,0 +1,38 @@
|
||||
# Qt5 has a mechanism to support "device" profiles, so that people can
|
||||
# specify the compiler, compiler flags and so on for a specific device.
|
||||
|
||||
# We leverage this mechanism in the Buildroot packaging of qt5 to
|
||||
# simplify cross-compilation: we have our own "device" definition, which
|
||||
# allows us to easily pass the cross-compiler paths and flags from our
|
||||
# qt5.mk.
|
||||
|
||||
include(../common/linux_device_pre.conf)
|
||||
|
||||
# modifications to g++-unix.conf
|
||||
QMAKE_CC = $${CROSS_COMPILE}gcc
|
||||
QMAKE_CXX = $${CROSS_COMPILE}g++
|
||||
|
||||
# modifications to gcc-base.conf
|
||||
QMAKE_CFLAGS += $${BR_COMPILER_CFLAGS}
|
||||
QMAKE_CXXFLAGS += $${BR_COMPILER_CXXFLAGS}
|
||||
# Remove all optimisation flags, we really only want our own.
|
||||
QMAKE_CFLAGS_OPTIMIZE =
|
||||
QMAKE_CFLAGS_OPTIMIZE_DEBUG =
|
||||
QMAKE_CFLAGS_OPTIMIZE_FULL =
|
||||
QMAKE_CFLAGS_OPTIMIZE_SIZE =
|
||||
QMAKE_CFLAGS_DEBUG =
|
||||
QMAKE_CXXFLAGS_DEBUG =
|
||||
QMAKE_CFLAGS_RELEASE =
|
||||
QMAKE_CXXFLAGS_RELEASE =
|
||||
CONFIG += nostrip
|
||||
|
||||
QMAKE_LIBS += -lrt -lpthread -ldl
|
||||
QMAKE_CFLAGS_ISYSTEM =
|
||||
|
||||
# Architecture specific configuration
|
||||
include(arch.conf)
|
||||
|
||||
@EGLFS_DEVICE@
|
||||
|
||||
include(../common/linux_device_post.conf)
|
||||
load(qt_config)
|
||||
@@ -0,0 +1 @@
|
||||
#include "../../linux-g++/qplatformdefs.h"
|
||||
@@ -0,0 +1,7 @@
|
||||
[Paths]
|
||||
Prefix=/usr
|
||||
HostPrefix=@@HOST_DIR@@
|
||||
Sysroot=@@STAGING_DIR@@
|
||||
Headers=/usr/include/qt5
|
||||
Plugins=/usr/lib/qt/plugins
|
||||
Examples=/usr/lib/qt/examples
|
||||
@@ -0,0 +1,10 @@
|
||||
# Hash from: https://download.qt.io/official_releases/qt/5.15/5.15.2/submodules/qtbase-everywhere-src-5.15.2.tar.xz.sha256
|
||||
sha256 909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8 qtbase-everywhere-src-5.15.2.tar.xz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE.GPL2
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 LICENSE.GPL3
|
||||
sha256 0dbe024961f6ab5c52689cbd036c977975d0d0f6a67ff97762d96cb819dd5652 LICENSE.GPL3-EXCEPT
|
||||
sha256 88ec689407cf2df9b2eb5c45952564d51ce73c129a3bdffb15c0d2d161ad7558 LICENSE.LGPLv3
|
||||
sha256 ed8742a95cb9db653a09b050e27ccff5e67ba69c14aa2c3137f2a4e1892f6c0d LICENSE.FDL
|
||||
sha256 2a886915de4f296cdae5ed67064f86dba01d0c55286d86e8487f2a5caaf40216 src/3rdparty/harfbuzz-ng/COPYING
|
||||
@@ -0,0 +1,328 @@
|
||||
################################################################################
|
||||
#
|
||||
# qt5base
|
||||
#
|
||||
################################################################################
|
||||
|
||||
QT5BASE_VERSION = $(QT5_VERSION)
|
||||
QT5BASE_SITE = $(QT5_SITE)
|
||||
QT5BASE_SOURCE = qtbase-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5BASE_VERSION).tar.xz
|
||||
|
||||
QT5BASE_DEPENDENCIES = host-pkgconf pcre2 zlib
|
||||
QT5BASE_INSTALL_STAGING = YES
|
||||
|
||||
# A few comments:
|
||||
# * -no-pch to workaround the issue described at
|
||||
# http://comments.gmane.org/gmane.comp.lib.qt.devel/5933.
|
||||
# * -system-zlib because zlib is mandatory for Qt build, and we
|
||||
# want to use the Buildroot packaged zlib
|
||||
# * -system-pcre because pcre is mandatory to build Qt, and we
|
||||
# want to use the one packaged in Buildroot
|
||||
# * -no-feature-relocatable to work around path mismatch
|
||||
# while searching qml files and buildroot BR2_ROOTFS_MERGED_USR
|
||||
# feature enabled
|
||||
QT5BASE_CONFIGURE_OPTS += \
|
||||
-optimized-qmake \
|
||||
-no-iconv \
|
||||
-system-zlib \
|
||||
-system-pcre \
|
||||
-no-pch \
|
||||
-shared \
|
||||
-no-feature-relocatable
|
||||
|
||||
# starting from version 5.9.0, -optimize-debug is enabled by default
|
||||
# for debug builds and it overrides -O* with -Og which is not what we
|
||||
# want.
|
||||
QT5BASE_CONFIGURE_OPTS += -no-optimize-debug
|
||||
|
||||
QT5BASE_CFLAGS = $(TARGET_CFLAGS)
|
||||
QT5BASE_CXXFLAGS = $(TARGET_CXXFLAGS)
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y)
|
||||
QT5BASE_CFLAGS += -O0
|
||||
QT5BASE_CXXFLAGS += -O0
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_X86_CPU_HAS_SSE2),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sse2
|
||||
else ifeq ($(BR2_X86_CPU_HAS_SSE3),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sse3
|
||||
else ifeq ($(BR2_X86_CPU_HAS_SSSE3),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-ssse3
|
||||
else ifeq ($(BR2_X86_CPU_HAS_SSE4),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sse4.1
|
||||
else ifeq ($(BR2_X86_CPU_HAS_SSE42),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sse4.2
|
||||
else ifeq ($(BR2_X86_CPU_HAS_AVX),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-avx
|
||||
else ifeq ($(BR2_X86_CPU_HAS_AVX2),)
|
||||
QT5BASE_CONFIGURE_OPTS += -no-avx2
|
||||
else
|
||||
# no buildroot BR2_X86_CPU_HAS_AVX512 option yet for qt configure
|
||||
# option '-no-avx512'
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBDRM),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -kms
|
||||
QT5BASE_DEPENDENCIES += libdrm
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-kms
|
||||
endif
|
||||
|
||||
# Uses libgbm from mesa3d
|
||||
ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -gbm
|
||||
QT5BASE_DEPENDENCIES += mesa3d
|
||||
else ifeq ($(BR2_PACKAGE_GCNANO_BINARIES),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -gbm
|
||||
QT5BASE_DEPENDENCIES += gcnano-binaries
|
||||
else ifeq ($(BR2_PACKAGE_TI_SGX_UM),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -gbm
|
||||
QT5BASE_DEPENDENCIES += ti-sgx-um
|
||||
else ifeq ($(BR2_PACKAGE_IMX_GPU_VIV_OUTPUT_WL),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -gbm
|
||||
QT5BASE_DEPENDENCIES += imx-gpu-viv
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-gbm
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -debug
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -release
|
||||
endif
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license
|
||||
QT5BASE_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
|
||||
QT5BASE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPLv3 LICENSE.FDL
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
|
||||
QT5BASE_LICENSE += , BSD-3-Clause (examples)
|
||||
endif
|
||||
|
||||
QT5BASE_CONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_QT5BASE_CONFIG_FILE))
|
||||
|
||||
ifneq ($(QT5BASE_CONFIG_FILE),)
|
||||
QT5BASE_CONFIGURE_OPTS += -qconfig buildroot
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
|
||||
QT5BASE_DEPENDENCIES += udev
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_CUPS), y)
|
||||
QT5BASE_DEPENDENCIES += cups
|
||||
QT5BASE_CONFIGURE_OPTS += -cups
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-cups
|
||||
endif
|
||||
|
||||
# Qt5 SQL Plugins
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_SQL),y)
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_MYSQL),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -plugin-sql-mysql -mysql_config $(STAGING_DIR)/usr/bin/mysql_config
|
||||
QT5BASE_DEPENDENCIES += mysql
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sql-mysql
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_PSQL),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -plugin-sql-psql -psql_config $(STAGING_DIR)/usr/bin/pg_config
|
||||
QT5BASE_DEPENDENCIES += postgresql
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-sql-psql
|
||||
endif
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_QT),-plugin-sql-sqlite)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),-system-sqlite)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM),sqlite)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_SQLITE_NONE),-no-sql-sqlite)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_GUI),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -gui -system-freetype
|
||||
QT5BASE_DEPENDENCIES += freetype
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-gui -no-freetype
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_HARFBUZZ),y)
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_SYNC_4),y)
|
||||
# system harfbuzz in case __sync for 4 bytes is supported
|
||||
QT5BASE_CONFIGURE_OPTS += -system-harfbuzz
|
||||
QT5BASE_DEPENDENCIES += harfbuzz
|
||||
else
|
||||
# qt harfbuzz otherwise (using QAtomic instead)
|
||||
QT5BASE_CONFIGURE_OPTS += -qt-harfbuzz
|
||||
QT5BASE_LICENSE += , MIT (harfbuzz)
|
||||
QT5BASE_LICENSE_FILES += src/3rdparty/harfbuzz-ng/COPYING
|
||||
endif
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-harfbuzz
|
||||
endif
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
|
||||
# We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb
|
||||
# is to add a link against the "inuxfb" library.
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -xcb
|
||||
QT5BASE_CONFIGURE_OPTS += -xkbcommon
|
||||
|
||||
QT5BASE_DEPENDENCIES += \
|
||||
libxcb \
|
||||
xcb-util-wm \
|
||||
xcb-util-image \
|
||||
xcb-util-keysyms \
|
||||
xcb-util-renderutil \
|
||||
xlib_libX11 \
|
||||
libxkbcommon
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
|
||||
QT5BASE_DEPENDENCIES += xlib_libXext
|
||||
endif
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-xcb
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_OPENGL_DESKTOP),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -opengl desktop
|
||||
QT5BASE_DEPENDENCIES += libgl
|
||||
else ifeq ($(BR2_PACKAGE_QT5BASE_OPENGL_ES2),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -opengl es2
|
||||
QT5BASE_DEPENDENCIES += libgles
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-opengl
|
||||
endif
|
||||
|
||||
QT5BASE_DEFAULT_QPA = $(call qstrip,$(BR2_PACKAGE_QT5BASE_DEFAULT_QPA))
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(QT5BASE_DEFAULT_QPA),-qpa $(QT5BASE_DEFAULT_QPA))
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -eglfs
|
||||
QT5BASE_DEPENDENCIES += libegl
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-eglfs
|
||||
endif
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GIF),,-no-gif)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_JPEG),-system-libjpeg,-no-libjpeg)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_JPEG),jpeg)
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_PNG),-system-libpng,-no-libpng)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_PNG),libpng)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DBUS),-dbus,-no-dbus)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_DBUS),dbus)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_TSLIB),-tslib,-no-tslib)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_TSLIB),tslib)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBGLIB2),-glib,-no-glib)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBGLIB2),libglib2)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_ICU),-icu,-no-icu)
|
||||
QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu)
|
||||
|
||||
QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_EXAMPLES),-make,-nomake) examples
|
||||
|
||||
ifeq ($(BR2_PACKAGE_LIBINPUT),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -libinput
|
||||
QT5BASE_DEPENDENCIES += libinput
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-libinput
|
||||
endif
|
||||
|
||||
# only enable gtk support if libgtk3 X11 backend is enabled
|
||||
ifeq ($(BR2_PACKAGE_LIBGTK3)$(BR2_PACKAGE_LIBGTK3_X11),yy)
|
||||
QT5BASE_CONFIGURE_OPTS += -gtk
|
||||
QT5BASE_DEPENDENCIES += libgtk3
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-gtk
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -journald
|
||||
QT5BASE_DEPENDENCIES += systemd
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-journald
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_QT5BASE_SYSLOG),y)
|
||||
QT5BASE_CONFIGURE_OPTS += -syslog
|
||||
else
|
||||
QT5BASE_CONFIGURE_OPTS += -no-syslog
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y)
|
||||
# use vivante backend
|
||||
QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_viv
|
||||
else ifeq ($(BR2_PACKAGE_SUNXI_MALI_MAINLINE),y)
|
||||
# use mali backend
|
||||
QT5BASE_EGLFS_DEVICE = EGLFS_DEVICE_INTEGRATION = eglfs_mali
|
||||
endif
|
||||
|
||||
ifneq ($(QT5BASE_CONFIG_FILE),)
|
||||
define QT5BASE_CONFIGURE_CONFIG_FILE
|
||||
cp $(QT5BASE_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h
|
||||
endef
|
||||
endif
|
||||
|
||||
QT5BASE_ARCH_CONFIG_FILE = $(@D)/mkspecs/devices/linux-buildroot-g++/arch.conf
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
|
||||
# Qt 5.8 needs atomics, which on various architectures are in -latomic
|
||||
define QT5BASE_CONFIGURE_ARCH_CONFIG
|
||||
printf '!host_build { \n LIBS += -latomic\n }' >$(QT5BASE_ARCH_CONFIG_FILE)
|
||||
endef
|
||||
endif
|
||||
|
||||
# This allows to use ccache when available
|
||||
define QT5BASE_CONFIGURE_HOSTCC
|
||||
$(SED) 's,^QMAKE_CC\s*=.*,QMAKE_CC = $(HOSTCC),' $(@D)/mkspecs/common/g++-base.conf
|
||||
$(SED) 's,^QMAKE_CXX\s*=.*,QMAKE_CXX = $(HOSTCXX),' $(@D)/mkspecs/common/g++-base.conf
|
||||
endef
|
||||
|
||||
# Must be last so can override all options set by Buildroot
|
||||
QT5BASE_CONFIGURE_OPTS += $(call qstrip,$(BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS))
|
||||
|
||||
define QT5BASE_CONFIGURE_CMDS
|
||||
mkdir -p $(@D)/mkspecs/devices/linux-buildroot-g++/
|
||||
sed 's/@EGLFS_DEVICE@/$(QT5BASE_EGLFS_DEVICE)/g' \
|
||||
$(QT5BASE_PKGDIR)/qmake.conf.in > \
|
||||
$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
|
||||
$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \
|
||||
$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
|
||||
$(QT5BASE_CONFIGURE_CONFIG_FILE)
|
||||
touch $(QT5BASE_ARCH_CONFIG_FILE)
|
||||
$(QT5BASE_CONFIGURE_ARCH_CONFIG)
|
||||
$(QT5BASE_CONFIGURE_HOSTCC)
|
||||
(cd $(@D); \
|
||||
$(TARGET_MAKE_ENV) \
|
||||
PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
|
||||
MAKEFLAGS="-j$(PARALLEL_JOBS) $(MAKEFLAGS)" \
|
||||
./configure \
|
||||
-v \
|
||||
-prefix /usr \
|
||||
-hostprefix $(HOST_DIR) \
|
||||
-headerdir /usr/include/qt5 \
|
||||
-sysroot $(STAGING_DIR) \
|
||||
-plugindir /usr/lib/qt/plugins \
|
||||
-examplesdir /usr/lib/qt/examples \
|
||||
-no-rpath \
|
||||
-nomake tests \
|
||||
-device buildroot \
|
||||
-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||
-device-option BR_COMPILER_CFLAGS="$(QT5BASE_CFLAGS)" \
|
||||
-device-option BR_COMPILER_CXXFLAGS="$(QT5BASE_CXXFLAGS)" \
|
||||
$(QT5BASE_CONFIGURE_OPTS) \
|
||||
)
|
||||
endef
|
||||
|
||||
QT5BASE_POST_INSTALL_STAGING_HOOKS += QT5_INSTALL_QT_CONF
|
||||
|
||||
$(eval $(qmake-package))
|
||||
Reference in New Issue
Block a user