diff options
Diffstat (limited to 'recipes-qt/qt5/qtbase')
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 - |