aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-qt/qt5/qtbase
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-qt/qt5/qtbase')
-rw-r--r--recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch314
-rw-r--r--recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch36
-rw-r--r--recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch154
-rw-r--r--recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch10
-rw-r--r--recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch154
-rw-r--r--recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch32
-rw-r--r--recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch18
-rw-r--r--recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch28
-rw-r--r--recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch95
-rw-r--r--recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch131
-rw-r--r--recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch33
11 files changed, 101 insertions, 904 deletions
diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
index b28ca8b6..df2016e1 100644
--- a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
+++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch
@@ -1,4 +1,4 @@
-From d6c75f788e15fb552eacb08359698a1342a97f20 Mon Sep 17 00:00:00 2001
+From 2784921c40d0b523c75e613e48b7fd1e90ba3ef1 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Mon, 15 Apr 2013 04:29:32 +0200
Subject: [PATCH] Add linux-oe-g++ platform
@@ -7,176 +7,53 @@ Subject: [PATCH] Add linux-oe-g++ platform
shell environment, because it's easier for qt recipes to export
*FLAGS or CC specific for given recipe
-* configure: add getQEvalMakeConf and getXQEvalMakeConf
- Allow expansion of $(...) references from qmake.conf to generate
- qmake environment from shell environment as exported by qmake5_base
-
-* configure: don't export SYSTEM_VARIABLES to .qmake.vars
- linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is
- causing issues as we need g++ to be used as linker
+* configure: extend setBootstrapVariable to convert $$(...) operator
+ to $(...) operator to work in qmake's Makefiles
* configure.prf: Allow to add extra arguments to make
sometimes we would like to add -e or define some variable and respect it from both
Makefiles used in configure tests and also Makefiles to build the application
-* OE_QMAKE_CXX in order to allow compiler version check to succeed
- which allows WebKit to be enabled.
-
-* Other variables in order to let config.tests to use our -platform
- settings
-
-* Add setBootstrapEvalVariable to bootstrap qmake with our environment
- too, this allows us to use -platform linux-oe-g++ also for native
- recipe
-
-* disable gdb_dwarf_index
- * qmake is trying to call native gdb and we don't depend on gdb-native
- (or even provide gdb-native)
- * fixes errors like this:
- /bin/sh: gdb: command not found
- /bin/sh: line 0: test: -gt: unary operator expected
- which are not fatal, but still misleading in do_configure output
-
-* add -target suffix to qmake built in qtbase configure, this way we can
- use qmake from qtbase-native, but then include qmake built for target
- in qtbase-tools package (smilarly for nativesdk-qtbase).
-
Upstream-Status: Inappropriate [embedded specific]
too OE specific, probably cannot be upstreamed
Change-Id: I0591ed5da0d61d7cf1509d420e6b293582f1863c
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
- configure | 55 ++++++++++++-------
- mkspecs/features/configure.prf | 4 +-
- mkspecs/linux-oe-g++/qmake.conf | 42 +++++++++++++++
- mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++
- 4 files changed, 181 insertions(+), 20 deletions(-)
+ configure | 2 +-
+ mkspecs/features/configure.prf | 4 ++--
+ mkspecs/features/qt_functions.prf | 2 +-
+ mkspecs/linux-oe-g++/qmake.conf | 43 ++++++++++++++++++++++++++++++++++++
+ mkspecs/linux-oe-g++/qplatformdefs.h | 1 +
+ 5 files changed, 48 insertions(+), 4 deletions(-)
create mode 100644 mkspecs/linux-oe-g++/qmake.conf
create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h
diff --git a/configure b/configure
-index 0ba0c31..052872e 100755
+index 789ba4c..59cce01 100755
--- a/configure
+++ b/configure
-@@ -333,6 +333,16 @@ getQMakeConf()
- getSingleQMakeVariable "$1" "$specvals"
- }
-
-+# OE qmake.conf is reading some variables from shell env
-+# read them from qmake.conf, replace qmake () syntax with shell and eval
-+getQEvalMakeConf()
-+{
-+ VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
-+ EVAL=`eval "echo ${VAL}"`
-+# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
-+ eval "echo ${VAL}"
-+}
-+
- getXQMakeConf()
+@@ -1624,7 +1624,7 @@ fi
+ # is where the resulting variable is written to
+ setBootstrapVariable()
{
- if [ -z "$xspecvals" ]; then
-@@ -357,6 +367,16 @@ testXConfig()
- esac
- }
-
-+# OE qmake.conf is reading some variables from shell env
-+# read them from qmake.conf, replace qmake () syntax with shell and eval
-+getXQEvalMakeConf()
-+{
-+ VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
-+ EVAL=`eval "echo ${VAL}"`
-+# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
-+ eval "echo ${VAL}"
-+}
-+
- compilerSupportsFlag()
- {
- cat >conftest.cpp <<EOF
-@@ -578,24 +598,14 @@ fi
- # initalize variables
- #-------------------------------------------------------------------------------
-
--SYSTEM_VARIABLES="AR RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
--for varname in $SYSTEM_VARIABLES; do
-+# Export all OE variables for qmake.conf from shell env to QMakeVars
-+OE_VARIABLES="AR CC CFLAGS COMPILER CXX CXXFLAGS LDFLAGS LINK QT_CONFIG STRIP"
-+for varname in $OE_VARIABLES; do
- qmakevarname="${varname}"
-- qmakecmdargs=""
-- # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
-- if [ "${varname}" = "LDFLAGS" ]; then
-- qmakevarname="LFLAGS"
-- elif [ "${varname}" = "LD" ]; then
-- qmakevarname="LINK"
-- elif [ "${varname}" = "AR" ]; then
-- # QMAKE_AR needs to be set to "/path/to/ar cqs" but the
-- # environment variable will be set to the command only so we
-- # need to append " cqs" for autoconf compatibility
-- qmakecmdargs=" cqs"
-- fi
- cmd=`echo \
--'if [ -n "\$'${varname}'" ]; then
-- QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}${qmakecmdargs}'"
-+'if [ -n "\$OE_QMAKE_'${varname}'" ]; then
-+ QMakeVar set OE_QMAKE_'${qmakevarname}' "\$OE_QMAKE_'${varname}'"
-+# echo "Exporting OE_QMAKE_'${qmakevarname}' value=\"\$OE_QMAKE_'${varname}'\"" >&2
- fi'`
- eval "$cmd"
- done
-@@ -3443,7 +3453,7 @@ if [ "$XPLATFORM_MAC" = "yes" ]; then
- [ "$CFG_GTK" = "auto" ] && CFG_GTK=no
- fi
-
--QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
-+QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX`
-
- TEST_COMPILER=$QMAKE_CONF_COMPILER
-
-@@ -3494,7 +3504,7 @@ if [ "$XPLATFORM_ANDROID" = "yes" ] ; then
- fi
- fi
-
--TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS`
-+TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS`
-
- GCC_MACHINE_DUMP=
- case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac
-@@ -3893,6 +3903,14 @@ setBootstrapVariable()
- getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
+- getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
++ getQMakeConf "$1" | sed 's:\$\$(:\$(:' | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
}
-+# OE qmake.conf is reading some variables from shell env
-+# read them from qmake.conf, replace qmake () syntax with shell and eval
-+setBootstrapEvalVariable()
-+{
-+ getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile"
-+}
-+
-+
# build qmake
- if true; then ###[ '!' -f "$outpath/bin/qmake" ];
- echo "Creating qmake..."
-@@ -3986,6 +4004,7 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
- EXEEXT=
- ;;
- esac
-+ [ "$QT_CROSS_COMPILE" = "yes" ] && EXEEXT=-target
- if [ "$BUILD_ON_MAC" = "yes" ]; then
- echo "COCOA_LFLAGS =-framework Foundation -framework CoreServices" >>"$mkfile"
- echo "CARBON_LFLAGS =-framework ApplicationServices" >>"$mkfile"
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
-index a890c7f..151630c 100644
+index f275e3a..5aa15f5 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
-@@ -71,14 +71,14 @@ defineTest(qtCompileTest) {
+@@ -37,14 +37,14 @@ defineTest(qtCompileTest) {
}
# Clean up after previous run
- exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean")
+ exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean")
- mkpath($$test_out_dir)|error("Aborting.")
+ mkpath($$test_out_dir)|error()
!isEmpty (QMAKE_QTCONF): qtconfarg = -qtconf $$QMAKE_QTCONF
@@ -186,157 +63,72 @@ index a890c7f..151630c 100644
log("yes$$escape_expand(\\n)")
msg = "test $$1 succeeded"
write_file($$QMAKE_CONFIG_LOG, msg, append)
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index 708815d..097ac49 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -67,7 +67,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+ cmd = $$eval(QT_TOOL.$${2}.binary)
+ isEmpty(cmd) {
+- cmd = $$[QT_HOST_BINS]/$$2
++ cmd = $$[QT_HOST_BINS/get]/$$2
+ exists($${cmd}.pl) {
+ $${1}_EXE = $${cmd}.pl
+ cmd = perl -w $$system_path($${cmd}.pl)
diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
new file mode 100644
-index 0000000..311ba04
+index 0000000..c1837e6
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
-@@ -0,0 +1,42 @@
+@@ -0,0 +1,43 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
+
-+MAKEFILE_GENERATOR = UNIX
++MAKEFILE_GENERATOR = UNIX
+CONFIG += incremental
+QMAKE_INCREMENTAL_STYLE = sublib
+
+include(../common/linux.conf)
+
+# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip
-+QMAKE_AR = $(OE_QMAKE_AR) cqs
-+QMAKE_STRIP = $(OE_QMAKE_STRIP)
-+QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER)
++QMAKE_AR = $$(OE_QMAKE_AR) cqs
++QMAKE_STRIP = $$(OE_QMAKE_STRIP)
++QMAKE_WAYLAND_SCANNER = $$(OE_QMAKE_WAYLAND_SCANNER)
+
+include(../common/gcc-base-unix.conf)
+
+# *FLAGS from gcc-base.conf
-+QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS)
-+QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS)
-+QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS)
++QMAKE_CFLAGS += $$(OE_QMAKE_CFLAGS)
++QMAKE_CXXFLAGS += $$(OE_QMAKE_CXXFLAGS)
++QMAKE_LFLAGS += $$(OE_QMAKE_LDFLAGS)
+
+include(../common/g++-unix.conf)
+
+# tc settings from g++-base.conf
-+QMAKE_COMPILER = $(OE_QMAKE_COMPILER) gcc
-+QMAKE_CC = $(OE_QMAKE_CC)
-+QMAKE_CXX = $(OE_QMAKE_CXX)
++QMAKE_COMPILER = $$(OE_QMAKE_COMPILER) gcc
++QMAKE_CC = $$(OE_QMAKE_CC)
++QMAKE_CXX = $$(OE_QMAKE_CXX)
+
-+QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS)
++QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$(OE_QMAKE_CFLAGS)
+
-+QMAKE_LINK = $(OE_QMAKE_LINK)
-+QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK)
-+QMAKE_LINK_C = $(OE_QMAKE_LINK)
-+QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK)
++QMAKE_LINK = $$(OE_QMAKE_LINK)
++QMAKE_LINK_SHLIB = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C = $$(OE_QMAKE_LINK)
++QMAKE_LINK_C_SHLIB = $$(OE_QMAKE_LINK)
+
+# for the SDK
-+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG)
++isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $$(OE_QMAKE_QT_CONFIG)
+
+include(../oe-device-extra.pri)
+
++load(device_config)
+load(qt_config)
diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
new file mode 100644
-index 0000000..dd12003
+index 0000000..5d22fb4
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qplatformdefs.h
-@@ -0,0 +1,100 @@
-+/****************************************************************************
-+**
-+** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies).
-+** Contact: http://www.qt-project.org/legal
-+**
-+** This file is part of the qmake spec of the Qt Toolkit.
-+**
-+** $QT_BEGIN_LICENSE:LGPL$
-+** Commercial License Usage
-+** Licensees holding valid commercial Qt licenses may use this file in
-+** accordance with the commercial license agreement provided with the
-+** Software or, alternatively, in accordance with the terms contained in
-+** a written agreement between you and Digia. For licensing terms and
-+** conditions see http://qt.digia.com/licensing. For further information
-+** use the contact form at http://qt.digia.com/contact-us.
-+**
-+** GNU Lesser General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU Lesser
-+** General Public License version 2.1 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.LGPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU Lesser General Public License version 2.1 requirements
-+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-+**
-+** In addition, as a special exception, Digia gives you certain additional
-+** rights. These rights are described in the Digia Qt LGPL Exception
-+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-+**
-+** GNU General Public License Usage
-+** Alternatively, this file may be used under the terms of the GNU
-+** General Public License version 3.0 as published by the Free Software
-+** Foundation and appearing in the file LICENSE.GPL included in the
-+** packaging of this file. Please review the following information to
-+** ensure the GNU General Public License version 3.0 requirements will be
-+** met: http://www.gnu.org/copyleft/gpl.html.
-+**
-+**
-+** $QT_END_LICENSE$
-+**
-+****************************************************************************/
-+
-+#ifndef QPLATFORMDEFS_H
-+#define QPLATFORMDEFS_H
-+
-+// Get Qt defines/settings
-+
-+#include "qglobal.h"
-+
-+// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs
-+
-+// 1) need to reset default environment if _BSD_SOURCE is defined
-+// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0
-+// 3) it seems older glibc need this to include the X/Open stuff
-+#ifndef _GNU_SOURCE
-+# define _GNU_SOURCE
-+#endif
-+
-+#include <unistd.h>
-+
-+
-+// We are hot - unistd.h should have turned on the specific APIs we requested
-+
-+#include <features.h>
-+#include <pthread.h>
-+#include <dirent.h>
-+#include <fcntl.h>
-+#include <grp.h>
-+#include <pwd.h>
-+#include <signal.h>
-+
-+#include <sys/types.h>
-+#include <sys/ioctl.h>
-+#include <sys/ipc.h>
-+#include <sys/time.h>
-+#include <sys/shm.h>
-+#include <sys/socket.h>
-+#include <sys/stat.h>
-+#include <sys/wait.h>
-+#include <netinet/in.h>
-+#ifndef QT_NO_IPV6IFNAME
-+#include <net/if.h>
-+#endif
-+
-+#define QT_USE_XOPEN_LFS_EXTENSIONS
-+#include "../common/posix/qplatformdefs.h"
-+
-+#undef QT_SOCKLEN_T
-+
-+#if defined(__GLIBC__) && (__GLIBC__ >= 2)
-+#define QT_SOCKLEN_T socklen_t
-+#else
-+#define QT_SOCKLEN_T int
-+#endif
-+
-+#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
-+#define QT_SNPRINTF ::snprintf
-+#define QT_VSNPRINTF ::vsnprintf
-+#endif
-+
-+#endif // QPLATFORMDEFS_H
+@@ -0,0 +1 @@
++#include "../linux-g++/qplatformdefs.h"
diff --git a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
deleted file mode 100644
index 699e3856..00000000
--- a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From e5f8607cfa1d2bcc798686cdf7c87ea0c6577d30 Mon Sep 17 00:00:00 2001
-From: Holger Freyther <zecke@selfish.org>
-Date: Wed, 26 Sep 2012 17:22:30 +0200
-Subject: [PATCH] qlibraryinfo: allow to set qt.conf from the outside using the
- environment
-
-Allow to set a qt.conf from the outside using the environment. This allows
-to inject new prefixes and other paths into qmake. This is needed when using
-the same qmake binary to build qt/x11 and qt/embedded
-
-Upstream-Status: Inappropriate [embedded specific]
- again very OE specific to read everything from environment (reusing the same
- qmake from sstate and replacing all configured paths in it with qt.conf from
- environment).
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/corelib/global/qlibraryinfo.cpp | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
-index 4582001..ff65ef9 100644
---- a/src/corelib/global/qlibraryinfo.cpp
-+++ b/src/corelib/global/qlibraryinfo.cpp
-@@ -163,7 +163,10 @@ void QLibrarySettings::load()
-
- QSettings *QLibraryInfoPrivate::findConfiguration()
- {
-- QString qtconfig = QStringLiteral(":/qt/etc/qt.conf");
-+ QByteArray config = getenv("QT_CONF_PATH");
-+ QString qtconfig = QFile::decodeName(config);
-+ if(!QFile::exists(qtconfig))
-+ qtconfig = QStringLiteral(":/qt/etc/qt.conf");
- if (QFile::exists(qtconfig))
- return new QSettings(qtconfig, QSettings::IniFormat);
- #ifdef QT_BUILD_QMAKE
diff --git a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch
index 381cde29..8224171a 100644
--- a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch
+++ b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch
@@ -1,165 +1,23 @@
-From c1dc6165d6a085f162ed32ef5697f645019f9ee0 Mon Sep 17 00:00:00 2001
+From 502b95b840a5f79e5a68e9bd5b10dbdc92485f1f Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 6 Apr 2013 13:15:07 +0200
Subject: [PATCH] Add -external-hostbindir option
-* when cross-compiling it's sometimes useful to use existing tools from machine
- (or in OpenEmbedded built with separate native recipe) when building for target
-
-* this way we can skip bootstraping tools we already have
-
-* qt_functions: temporary remove isEmpty check
-* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
-* isEmpty works correctly only with qmake variables (e.g. $$FOO -
- isEmpty(FOO)), but doesn't work with system properties like $$[FOO].
-
* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries
-Upstream-Status: Pending
- is a lot better for upstreaming (and it was already sort of approved by
- Oswald) but in 5.2.0 I've noticed that he added something similar for
- android builds
+Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Simon Busch <morphis@gravedo.de>
Signed-off-by: Jonathan Liu <net147@gmail.com>
-Conflicts:
- configure
-
Change-Id: Iacaa1c5531cd6dcc094891610c351673db55d7b2
---
- configure | 14 ++++++++++++++
- mkspecs/features/qt_functions.prf | 6 +++++-
- mkspecs/features/qt_tool.prf | 4 +++-
- qtbase.pro | 16 ++++++++++++++++
- src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++---
- src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++--
- src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
- 7 files changed, 44 insertions(+), 8 deletions(-)
+ src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++---
+ src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++--
+ src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +-
+ 3 files changed, 6 insertions(+), 6 deletions(-)
-diff --git a/configure b/configure
-index 052872e..1fcbb3a 100755
---- a/configure
-+++ b/configure
-@@ -834,6 +834,7 @@ QT_HOST_BINS=
- QT_HOST_LIBS=
- QT_HOST_DATA=
- QT_EXT_PREFIX=
-+QT_EXTERNAL_HOST_BINS=
-
- #flags for SQL drivers
- QT_CFLAGS_PSQL=
-@@ -953,6 +954,7 @@ while [ "$#" -gt 0 ]; do
- -testsdir| \
- -hostdatadir| \
- -hostbindir| \
-+ -external-hostbindir| \
- -hostlibdir| \
- -extprefix| \
- -sysroot| \
-@@ -1185,6 +1187,9 @@ while [ "$#" -gt 0 ]; do
- extprefix)
- QT_EXT_PREFIX="$VAL"
- ;;
-+ external-hostbindir)
-+ QT_EXTERNAL_HOST_BINS="$VAL"
-+ ;;
- pkg-config)
- if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
- CFG_PKGCONFIG="$VAL"
-@@ -2447,6 +2452,10 @@ Installation options:
- -hostdatadir <dir> . Data used by qmake will be installed to <dir>
- (default HOSTPREFIX)
-
-+ -external-hostbindir <dir> Use external host executables instead of building them
-+ (not used by defaut)
-+
-+
- Configure options:
-
- The defaults (*) are usually acceptable. A plus (+) denotes a default value
-@@ -3209,6 +3218,11 @@ fi
- # command line and environment validation
- #-------------------------------------------------------------------------------
-
-+# default is empty, don't call makeabs if it is empty
-+if [ ! -z "$QT_EXTERNAL_HOST_BINS" ]; then
-+ QT_EXTERNAL_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_EXTERNAL_HOST_BINS"`
-+fi
-+
- # update QT_CONFIG to show our current predefined configuration
- CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h
- case "$CFG_QCONFIG" in
-diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
-index 54641ce..7d7baa4 100644
---- a/mkspecs/features/qt_functions.prf
-+++ b/mkspecs/features/qt_functions.prf
-@@ -71,7 +71,11 @@ defineTest(qtHaveModule) {
- defineTest(qtPrepareTool) {
- cmd = $$eval(QT_TOOL.$${2}.binary)
- isEmpty(cmd) {
-- cmd = $$[QT_HOST_BINS]/$$2
-+ QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS]
-+ isEmpty(QT_EXTERNAL_HOST_BINS): \
-+ cmd = $$[QT_HOST_BINS]/$$2
-+ else: \
-+ cmd = $$[QT_EXTERNAL_HOST_BINS]/$$2
- exists($${cmd}.pl) {
- $${1}_EXE = $${cmd}.pl
- cmd = perl -w $$system_path($${cmd}.pl)
-diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
-index bdeb59c..b8c539f 100644
---- a/mkspecs/features/qt_tool.prf
-+++ b/mkspecs/features/qt_tool.prf
-@@ -14,10 +14,12 @@ load(qt_app)
- CONFIG += console
- DEFINES *= QT_USE_QSTRINGBUILDER
-
-+QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS]
-+
- # If we are doing a prefix build, create a "module" pri which enables
- # qtPrepareTool() to work with the non-installed build.
- # Non-bootstrapped tools always need this because of the environment setup.
--!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)) {
-+!build_pass:if(!host_build|!force_bootstrap|force_independent|!isEmpty(HOST_QT_TOOLS)):isEmpty(QT_EXTERNAL_HOST_BINS) {
- isEmpty(MODULE):MODULE = $$TARGET
-
- load(qt_build_paths)
-diff --git a/qtbase.pro b/qtbase.pro
-index 11cff9e..ec03669 100644
---- a/qtbase.pro
-+++ b/qtbase.pro
-@@ -38,6 +38,19 @@ CONFIG -= qt
-
- ### installations ####
-
-+QT_EXTERNAL_HOST_BINS = $$[QT_EXTERNAL_HOST_BINS]
-+
-+#qmake
-+qmake.path = $$[QT_HOST_BINS]
-+qmake.files = $$OUT_PWD/bin/qmake
-+!isEmpty(QT_EXTERNAL_HOST_BINS) {
-+ qmake.files = $$[QT_EXTERNAL_HOST_BINS]/qmake
-+}
-+equals(QMAKE_HOST.os, Windows) {
-+ qmake.files = $${qmake.files}.exe
-+}
-+INSTALLS += qmake
-+
- #licheck
- licheck.path = $$[QT_HOST_BINS]
- licheck.files = $$PWD/bin/$$QT_LICHECK
-@@ -51,6 +64,9 @@ INSTALLS += fixqt4headers
- #syncqt
- syncqt.path = $$[QT_HOST_BINS]
- syncqt.files = $$PWD/bin/syncqt.pl
-+!isEmpty(QT_EXTERNAL_HOST_BINS) {
-+ syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/syncqt.pl
-+}
- INSTALLS += syncqt
-
- # If we are doing a prefix build, create a "module" pri which enables
diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index a5ed8b2..0e11a1e 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
diff --git a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
index e24d4758..c105488e 100644
--- a/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
+++ b/recipes-qt/qt5/qtbase/0004-qt_module-Fix-pkgconfig-and-libtool-replacements.patch
@@ -1,4 +1,4 @@
-From d83234c35de8f52ce3bf6eb262ad8e6af467ac34 Mon Sep 17 00:00:00 2001
+From bf1498618415e7b1e57b54881b1e56d74f2cdf6b Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 23:15:37 +0200
Subject: [PATCH] qt_module: Fix pkgconfig and libtool replacements
@@ -68,7 +68,7 @@ Signed-off-by: Jonathan Liu <net147@gmail.com>
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/mkspecs/features/qt.prf b/mkspecs/features/qt.prf
-index 71e96b4..0d7535c 100644
+index 0c5f080..a6e4f09 100644
--- a/mkspecs/features/qt.prf
+++ b/mkspecs/features/qt.prf
@@ -317,6 +317,19 @@ contains(TEMPLATE, .*app) {
@@ -89,13 +89,13 @@ index 71e96b4..0d7535c 100644
+}
+
QT_PLUGIN_VERIFY = DEPLOYMENT_PLUGIN
- contains(QT_CONFIG, static) {
+ qtConfig(static) {
QT_PLUGIN_VERIFY += QTPLUGIN
diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
-index b367bc1..209cc43 100644
+index e754a17..4c1530e 100644
--- a/mkspecs/features/qt_common.prf
+++ b/mkspecs/features/qt_common.prf
-@@ -38,7 +38,7 @@ contains(TEMPLATE, .*lib) {
+@@ -37,7 +37,7 @@ contains(TEMPLATE, .*lib) {
lib_replace.replace =
} else {
lib_replace.match = $$rplbase/lib
diff --git a/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch b/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch
deleted file mode 100644
index c58b1d9a..00000000
--- a/recipes-qt/qt5/qtbase/0006-QOpenGLPaintDevice-sub-area-support.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-From f207997b59f1381cf3523521209cb435b1a73f25 Mon Sep 17 00:00:00 2001
-From: Jani Hautakangas <jani.hautakangas@ixonos.com>
-Date: Thu, 16 May 2013 09:52:07 +0300
-Subject: [PATCH] QOpenGLPaintDevice sub-area support
-
-Allows creating QOpenGLPaintDevice targetting sub-area
-of binded framebuffer.
-
-Upstream-Status: Pending
-
-Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- src/gui/opengl/qopenglpaintdevice.cpp | 11 +++++++++++
- src/gui/opengl/qopenglpaintdevice.h | 2 ++
- src/gui/opengl/qopenglpaintdevice_p.h | 1 +
- src/gui/opengl/qopenglpaintengine.cpp | 9 +++++++--
- src/gui/opengl/qopenglpaintengine_p.h | 1 +
- src/gui/opengl/qopengltextureglyphcache.cpp | 2 +-
- 6 files changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp
-index 75f09d6..17d7155 100644
---- a/src/gui/opengl/qopenglpaintdevice.cpp
-+++ b/src/gui/opengl/qopenglpaintdevice.cpp
-@@ -141,6 +141,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height)
- {
- }
-
-+QOpenGLPaintDevice::QOpenGLPaintDevice(int x, int y, int width, int height)
-+ : d_ptr(new QOpenGLPaintDevicePrivate(QSize(width, height)))
-+{
-+ d_ptr->offset = QPoint(x,y);
-+}
-+
- /*!
- \internal
- */
-@@ -222,6 +228,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const
- return d_ptr->ctx;
- }
-
-+QPoint QOpenGLPaintDevice::offset() const
-+{
-+ return d_ptr->offset;
-+}
-+
- /*!
- Returns the pixel size of the paint device.
-
-diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h
-index dffa68c..66a1e3d 100644
---- a/src/gui/opengl/qopenglpaintdevice.h
-+++ b/src/gui/opengl/qopenglpaintdevice.h
-@@ -59,12 +59,14 @@ public:
- QOpenGLPaintDevice();
- explicit QOpenGLPaintDevice(const QSize &size);
- QOpenGLPaintDevice(int width, int height);
-+ QOpenGLPaintDevice(int x, int y, int width, int height);
- virtual ~QOpenGLPaintDevice();
-
- int devType() const { return QInternal::OpenGL; }
- QPaintEngine *paintEngine() const;
-
- QOpenGLContext *context() const;
-+ QPoint offset() const;
- QSize size() const;
- void setSize(const QSize &size);
- void setDevicePixelRatio(qreal devicePixelRatio);
-diff --git a/src/gui/opengl/qopenglpaintdevice_p.h b/src/gui/opengl/qopenglpaintdevice_p.h
-index 78e6b7a..6630461 100644
---- a/src/gui/opengl/qopenglpaintdevice_p.h
-+++ b/src/gui/opengl/qopenglpaintdevice_p.h
-@@ -71,6 +71,7 @@ public:
-
- public:
- QSize size;
-+ QPoint offset;
- QOpenGLContext *ctx;
-
- qreal dpmx;
-diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
-index d93871c..be2bee9 100644
---- a/src/gui/opengl/qopenglpaintengine.cpp
-+++ b/src/gui/opengl/qopenglpaintengine.cpp
-@@ -2084,7 +2084,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev)
- for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i)
- d->vertexAttributeArraysEnabledState[i] = false;
-
-+ const QPoint offset = d->device->offset();
- const QSize sz = d->device->size();
-+ d->x = offset.x();
-+ d->y = offset.y();
- d->width = sz.width();
- d->height = sz.height();
- d->mode = BrushDrawingMode;
-@@ -2171,7 +2174,7 @@ void QOpenGL2PaintEngineEx::ensureActive()
- d->device->ensureActiveTarget();
-
- d->transferMode(BrushDrawingMode);
-- d->funcs.glViewport(0, 0, d->width, d->height);
-+ d->funcs.glViewport(d->x, d->y, d->width, d->height);
- d->needsSync = false;
- d->shaderManager->setDirty();
- d->syncGlState();
-@@ -2213,6 +2216,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
- if (bounds == QRect(0, 0, width, height)) {
- funcs.glDisable(GL_SCISSOR_TEST);
- } else {
-+ bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height());
- funcs.glEnable(GL_SCISSOR_TEST);
- setScissor(bounds);
- }
-@@ -2221,12 +2225,13 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
-
- void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect)
- {
-- const int left = rect.left();
-+ const int left = rect.left() + x;
- const int width = rect.width();
- int bottom = height - (rect.top() + rect.height());
- if (device->paintFlipped()) {
- bottom = rect.top();
- }
-+ bottom += y;
- const int height = rect.height();
-
- funcs.glScissor(left, bottom, width, height);
-diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h
-index c9f3282..7c0616b 100644
---- a/src/gui/opengl/qopenglpaintengine_p.h
-+++ b/src/gui/opengl/qopenglpaintengine_p.h
-@@ -270,6 +270,7 @@ public:
- QOpenGL2PaintEngineEx* q;
- QOpenGLEngineShaderManager* shaderManager;
- QOpenGLPaintDevice* device;
-+ int x, y;
- int width, height;
- QOpenGLContext *ctx;
- EngineMode mode;
-diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
-index 9a7b1eb..6f301f8 100644
---- a/src/gui/opengl/qopengltextureglyphcache.cpp
-+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
-@@ -403,7 +403,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
- funcs->glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo);
-
- if (pex != 0) {
-- funcs->glViewport(0, 0, pex->width, pex->height);
-+ funcs->glViewport(pex->x, pex->y, pex->width, pex->height);
- pex->updateClipScissorTest();
- } else {
- if (m_vao.isCreated()) {
diff --git a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch b/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch
deleted file mode 100644
index 4ea4061a..00000000
--- a/recipes-qt/qt5/qtbase/0007-linux-oe-g-Invert-conditional-for-defining-QT_SOCKLE.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 7ab6ff7ba20a3173c10a76814d3c9ed312c80627 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 8 Jun 2015 13:59:25 -0700
-Subject: [PATCH] linux-oe-g++: Invert conditional for defining QT_SOCKLEN_T
-
-This helps to make sure that QT_SOCKLEN_T is defined to be 'int'
-only when its glibc < 2 and not also for the libraries which may define
-it as per standards but are not glibc, e.g. musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- mkspecs/linux-oe-g++/qplatformdefs.h | 6 +++---
- 1 file changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h
-index dd12003..8623651 100644
---- a/mkspecs/linux-oe-g++/qplatformdefs.h
-+++ b/mkspecs/linux-oe-g++/qplatformdefs.h
-@@ -86,10 +86,10 @@
-
- #undef QT_SOCKLEN_T
-
--#if defined(__GLIBC__) && (__GLIBC__ >= 2)
--#define QT_SOCKLEN_T socklen_t
--#else
-+#if defined(__GLIBC__) && (__GLIBC__ < 2)
- #define QT_SOCKLEN_T int
-+#else
-+#define QT_SOCKLEN_T socklen_t
- #endif
-
- #if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500)
diff --git a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
index bac18412..6d64e6b5 100644
--- a/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
+++ b/recipes-qt/qt5/qtbase/0008-configure-paths-for-target-qmake-properly.patch
@@ -1,4 +1,4 @@
-From 0f4ab3e27938002134e8f3f9eb12cf9c50b2ab95 Mon Sep 17 00:00:00 2001
+From cc926956758bf8170c4e49c66e1066524b43f65f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Fri, 13 Nov 2015 12:36:11 +0100
Subject: [PATCH] configure paths for target qmake properly
@@ -19,11 +19,11 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/configure b/configure
-index f49a674..d30d0ca 100755
+index 8b33c5b..1df248f 100755
--- a/configure
+++ b/configure
-@@ -3792,8 +3792,13 @@ if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then
- QMAKE_CONFIG="$QMAKE_CONFIG compile_examples"
+@@ -1545,8 +1545,13 @@ if [ -z "$QT_REL_HOST_DATA" ]; then
+ fi
fi
-shortxspec=`echo $XQMAKESPEC | sed "s,^${relpath}/mkspecs/,,"`
@@ -38,7 +38,7 @@ index f49a674..d30d0ca 100755
QT_CONFIGURE_STR_OFF=0
-@@ -3826,7 +3831,11 @@ QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS
+@@ -1579,7 +1584,11 @@ QT_CONFIGURE_STRS_ALL=$QT_CONFIGURE_STRS
QT_CONFIGURE_STR_OFFSETS=
QT_CONFIGURE_STRS=
@@ -51,7 +51,7 @@ index f49a674..d30d0ca 100755
addConfStr "$QT_REL_HOST_BINS"
addConfStr "$QT_REL_HOST_LIBS"
addConfStr "$QT_REL_HOST_DATA"
-@@ -3838,6 +3847,12 @@ addConfStr "$shortspec"
+@@ -1591,6 +1600,12 @@ addConfStr "$shortspec"
#-------------------------------------------------------------------------------
[ -d "$outpath/src/corelib/global" ] || mkdir -p "$outpath/src/corelib/global"
@@ -62,9 +62,9 @@ index f49a674..d30d0ca 100755
+fi
+
cat > "$outpath/src/corelib/global/qconfig.cpp.new" <<EOF
- /* License Info */
- static const char qt_configure_licensee_str [256 + 12] = "qt_lcnsuser=$Licensee";
-@@ -3850,7 +3865,7 @@ static const char qt_configure_installation [12+11] = "qt_instdate=2
+ /* Installation date */
+ static const char qt_configure_installation [12+11] = "qt_instdate=2012-12-20";
+@@ -1599,7 +1614,7 @@ static const char qt_configure_installation [12+11] = "qt_instdate=2
static const char qt_configure_prefix_path_str [512 + 12] = "qt_prfxpath=$QT_INSTALL_PREFIX";
#ifdef QT_BUILD_QMAKE
static const char qt_configure_ext_prefix_path_str [512 + 12] = "qt_epfxpath=$QT_EXT_PREFIX";
diff --git a/recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch b/recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch
new file mode 100644
index 00000000..cb9de793
--- /dev/null
+++ b/recipes-qt/qt5/qtbase/0009-Disable-all-unknown-features-instead-of-erroring-out.patch
@@ -0,0 +1,28 @@
+From 9eb81e3bdeda4f90e5f2942400aef38b51a356bd Mon Sep 17 00:00:00 2001
+From: Samuli Piippo <samuli.piippo@qt.io>
+Date: Mon, 24 Oct 2016 09:45:18 +0300
+Subject: [PATCH] Disable all unknown features instead of erroring out
+
+Task-number: QTBUG-56656
+Change-Id: Ib884fe33cac74439f9592b145937f6b75ced8447
+---
+ mkspecs/features/qt_configure.prf | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/mkspecs/features/qt_configure.prf b/mkspecs/features/qt_configure.prf
+index e8fa0c6..0ca5670 100644
+--- a/mkspecs/features/qt_configure.prf
++++ b/mkspecs/features/qt_configure.prf
+@@ -1009,7 +1009,8 @@ defineReplace(qtConfEvaluateSingleExpression) {
+ error("Expression '$$1' is accessing field '$$var' of non-local feature $${feature}.")
+ return($$result)
+ }
+- error("Unknown feature object $${feature} in expression '$${1}'.")
++ warning("Unknown feature object $${feature} in expression '$${1}'.")
++ result = false
+ }
+ !qtConfCheckFeature($$feature): \
+ error("Expression '$$1' is accessing non-emitted feature $${feature}.")
+--
+1.9.1
+
diff --git a/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch b/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch
deleted file mode 100644
index 23d0ab38..00000000
--- a/recipes-qt/qt5/qtbase/0009-Reorder-EGL-libraries-from-pkgconfig-and-defaults.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 91b87aed0a2a96b0d6b54757ea13c75ee648a9b0 Mon Sep 17 00:00:00 2001
-From: Julien Gueytat <contact@jgueytat.fr>
-Date: Wed, 27 Apr 2016 19:24:39 +0200
-Subject: [PATCH] Reorder EGL libraries from pkgconfig and defaults:
-
-https://bugreports.qt.io/browse/QTBUG-50838
-https://bugreports.qt.io/browse/QTBUG-52739
-
-The modification is the less intrusive possible. It only swaps LIBS and QMAKE_LIBS_EGL.
-The reason behind that was that for the RaspberryPi:
- * -lEGL -GLESv2 can link
- * -lGLESv2 -lEGL can't
-
-Adding -lEGL -lGLESv2 and then -lEGL gives -lGLESv2 -lEGL ... the libraries swaped.
-
-Signed-off-by: Julien Gueytat <contact@jgueytat.fr>
----
- config.tests/qpa/egl/egl.pro | 5 ++++-
- config.tests/qpa/eglfs-brcm/eglfs-brcm.pro | 12 +++++++-----
- configure | 16 ++++++++++++++--
- 3 files changed, 25 insertions(+), 8 deletions(-)
-
-diff --git a/config.tests/qpa/egl/egl.pro b/config.tests/qpa/egl/egl.pro
-index b5396da..828b674 100644
---- a/config.tests/qpa/egl/egl.pro
-+++ b/config.tests/qpa/egl/egl.pro
-@@ -5,6 +5,9 @@ for(p, QMAKE_LIBDIR_EGL) {
- }
-
- !isEmpty(QMAKE_INCDIR_EGL): INCLUDEPATH += $$QMAKE_INCDIR_EGL
--!isEmpty(QMAKE_LIBS_EGL): LIBS += $$QMAKE_LIBS_EGL
-+
-+BACKUP_LIBS = $$LIBS
-+!isEmpty(QMAKE_LIBS_EGL): LIBS = $$QMAKE_LIBS_EGL
-+LIBS += $$BACKUP_LIBS
-
- CONFIG -= qt
-diff --git a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
-index d8b1c3e..06f7241 100644
---- a/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
-+++ b/config.tests/qpa/eglfs-brcm/eglfs-brcm.pro
-@@ -1,11 +1,13 @@
- SOURCES = eglfs-brcm.cpp
-
--CONFIG -= qt
--
--INCLUDEPATH += $$QMAKE_INCDIR_EGL
--
- for(p, QMAKE_LIBDIR_EGL) {
- LIBS += -L$$p
- }
-
--LIBS += -lEGL -lGLESv2 -lbcm_host
-+INCLUDEPATH += $$QMAKE_INCDIR_EGL
-+
-+BACKUP_LIBS = $$LIBS
-+LIBS = -lEGL -lGLESv2 -lbcm_host
-+LIBS += $$BACKUP_LIBS
-+
-+CONFIG -= qt
-diff --git a/configure b/configure
-index d30d0ca..14f348c 100755
---- a/configure
-+++ b/configure
-@@ -5891,7 +5891,9 @@ if [ "$CFG_EGL" != "no" ]; then
- QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
- QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
- QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
-- fi # detect EGL support
-+ fi
-+
-+ # detect EGL support
- if compileTest qpa/egl "EGL" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
- CFG_EGL=yes
- if compileTest qpa/egl-x11 "EGL-X11" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
-@@ -5914,8 +5916,18 @@ fi
- if [ "$CFG_EGLFS" != "no" ]; then
- if [ "$XPLATFORM_QNX" = "no" ] && [ "$CFG_OPENGL" != "no" ]; then
- CFG_EGLFS="$CFG_EGL"
-+
-+ if [ -n "$PKG_CONFIG" ] && $PKG_CONFIG --exists egl 2>/dev/null; then
-+ QMAKE_INCDIR_EGL=`$PKG_CONFIG --cflags-only-I egl 2>/dev/null | sed -e 's,^-I,,g' -e 's, -I, ,g'`
-+ QMAKE_LIBS_EGL=`$PKG_CONFIG --libs egl 2>/dev/null`
-+ QMAKE_CFLAGS_EGL=`$PKG_CONFIG --cflags egl 2>/dev/null`
-+ QMakeVar set QMAKE_INCDIR_EGL "$QMAKE_INCDIR_EGL"
-+ QMakeVar set QMAKE_LIBS_EGL "$QMAKE_LIBS_EGL"
-+ QMakeVar set QMAKE_CFLAGS_EGL "`echo " $QMAKE_CFLAGS_EGL " | sed -e 's, -I[^ ]* , ,g;s,^ ,,;s, $,,'`"
-+ fi
-+
- # Detect eglfs backends.
-- if compileTest qpa/eglfs-brcm "eglfs-brcm"; then
-+ if compileTest qpa/eglfs-brcm "eglfs-brcm" $QMAKE_CFLAGS_EGL $QMAKE_LIBS_EGL; then
- CFG_EGLFS_BRCM=yes
- else
- CFG_EGLFS_BRCM=no
diff --git a/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch b/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch
deleted file mode 100644
index 1ab8abef..00000000
--- a/recipes-qt/qt5/qtbase/0012-Add-external-hostbindir-option-for-native-sdk.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From cb66a3193b1b1b8b402548b615c3675c4adcf13a Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Sat, 6 Apr 2013 13:15:07 +0200
-Subject: [PATCH] Add -external-hostbindir option for native(sdk)
-
-* when cross-compiling it's sometimes useful to use existing tools from machine
- (or in OpenEmbedded built with separate native recipe) when building for target
-
-* this way we can skip bootstraping tools we already have
-
-* qt_functions: temporary remove isEmpty check
-* now we assume that every build will provide QT_EXTERNAL_HOST_BINS value
-* isEmpty works correctly only with qmake variables (e.g. $$FOO -
- isEmpty(FOO)), but doesn't work with system properties like $$[FOO].
-
-* cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to host binaries
-
-Upstream-Status: Pending
- is a lot better for upstreaming (and it was already sort of approved by
- Oswald) but in 5.2.0 I've noticed that he added something similar for
- android builds
-
-Change-Id: I4f6e634bf0b2cb96065ee5c38b9cd8a224c3bd37
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-Signed-off-by: Simon Busch <morphis@gravedo.de>
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
-
-Conflicts:
- tools/configure/configureapp.cpp
----
- configure | 1 +
- qmake/property.cpp | 1 +
- src/corelib/global/qlibraryinfo.cpp | 3 ++-
- src/corelib/global/qlibraryinfo.h | 1 +
- tools/configure/configureapp.cpp | 11 +++++++++++
- 5 files changed, 16 insertions(+), 1 deletion(-)
-
-diff --git a/configure b/configure
-index 14f348c..61f22e8 100755
---- a/configure
-+++ b/configure
-@@ -3839,6 +3839,7 @@ fi
- addConfStr "$QT_REL_HOST_BINS"
- addConfStr "$QT_REL_HOST_LIBS"
- addConfStr "$QT_REL_HOST_DATA"
-+addConfStr "$QT_EXTERNAL_HOST_BINS"
- addConfStr "$shortxspec"
- addConfStr "$shortspec"
-
-diff --git a/qmake/property.cpp b/qmake/property.cpp
-index 9ee08f4..e6ecf92 100644
---- a/qmake/property.cpp
-+++ b/qmake/property.cpp
-@@ -63,6 +63,7 @@ static const struct {
- { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
- { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
- { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
-+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
- { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
- { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
- };
-diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
-index ff65ef9..3726831 100644
---- a/src/corelib/global/qlibraryinfo.cpp
-+++ b/src/corelib/global/qlibraryinfo.cpp
-@@ -381,7 +381,7 @@ QLibraryInfo::isDebugBuild()
- */
-
- static const struct {
-- char key[19], value[13];
-+ char key[21], value[13];
- } qtConfEntries[] = {
- { "Prefix", "." },
- { "Documentation", "doc" }, // should be ${Data}/doc
-@@ -406,6 +406,7 @@ static const struct {
- { "HostBinaries", "bin" },
- { "HostLibraries", "lib" },
- { "HostData", "." },
-+ { "ExternalHostBinaries", "" },
- { "TargetSpec", "" },
- { "HostSpec", "" },
- { "HostPrefix", "" },
-diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
-index 362d47d..a2326e2 100644
---- a/src/corelib/global/qlibraryinfo.h
-+++ b/src/corelib/global/qlibraryinfo.h
-@@ -87,6 +87,7 @@ public:
- HostBinariesPath,
- HostLibrariesPath,
- HostDataPath,
-+ ExternalHostBinariesPath,
- TargetSpecPath,
- HostSpecPath,
- HostPrefixPath,
-diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
-index 0fa205b..2921e2b 100644
---- a/tools/configure/configureapp.cpp
-+++ b/tools/configure/configureapp.cpp
-@@ -1219,6 +1219,13 @@ void Configure::parseCmdLine()
- dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i);
- }
-
-+ else if (configCmdLine.at(i) == "-external-hostbindir") {
-+ ++i;
-+ if (i == argCount)
-+ break;
-+ dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i);
-+ }
-+
- else if (configCmdLine.at(i) == "-make-tool") {
- ++i;
- if (i == argCount)
-@@ -4171,6 +4178,9 @@ void Configure::generateQConfigCpp()
-
- if (dictionary["QT_REL_HOST_DATA"].isEmpty())
- dictionary["QT_REL_HOST_DATA"] = haveHpx ? "." : dictionary["QT_REL_INSTALL_ARCHDATA"];
-+
-+ if (dictionary["QT_EXTERNAL_HOST_BINS"].isEmpty())
-+ dictionary["QT_EXTERNAL_HOST_BINS"] = haveHpx ? "bin" : dictionary["QT_REL_INSTALL_BINS"];
-
- confStringOff = 0;
- addConfStr(0, dictionary["QT_REL_INSTALL_DOCS"]);
-@@ -4190,6 +4200,7 @@ void Configure::generateQConfigCpp()
- addConfStr(1, dictionary["QT_REL_HOST_BINS"]);
- addConfStr(1, dictionary["QT_REL_HOST_LIBS"]);
- addConfStr(1, dictionary["QT_REL_HOST_DATA"]);
-+ addConfStr(1, dictionary["QT_EXTERNAL_HOST_BINS"]);
- addConfStr(1, targSpec);
- addConfStr(1, hostSpec);
-
diff --git a/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch b/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch
deleted file mode 100644
index 7b681dce..00000000
--- a/recipes-qt/qt5/qtbase/0013-Fix-build-with-QT_NO_OPENGL.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 2e176e3d10535e4fdaa6ecc919538f66f4a2930d Mon Sep 17 00:00:00 2001
-From: Andy Nichols <andy.nichols@qt.io>
-Date: Mon, 11 Jul 2016 09:18:33 +0200
-Subject: QWidgetBackingStore: Fix build with QT_NO_OPENGL
-
-A define moved out of the #ifndef QT_NO_OPENGL scope.
-
-Change-Id: I41c943b97f165b5171581e01f3a4b2d3fb25747e
-Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
-
-Upstream-Status: Backport
-Signed-off-by: Johannes Pointner <johannes.pointner@br-automation.com>
----
- src/widgets/kernel/qwidgetbackingstore.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/widgets/kernel/qwidgetbackingstore.cpp b/src/widgets/kernel/qwidgetbackingstore.cpp
-index 32aabce..242e625 100644
---- a/src/widgets/kernel/qwidgetbackingstore.cpp
-+++ b/src/widgets/kernel/qwidgetbackingstore.cpp
-@@ -67,7 +67,9 @@ QT_BEGIN_NAMESPACE
-
- extern QRegion qt_dirtyRegion(QWidget *);
-
-+#ifndef QT_NO_OPENGL
- Q_GLOBAL_STATIC(QPlatformTextureList, qt_dummy_platformTextureList)
-+#endif
-
- /**
- * Flushes the contents of the \a backingStore into the screen area of \a widget.
---
-cgit v1.0-4-g1e03
-