recipes-qt5: Drop 5.0.2 version and 2nd qtwayland recipe

* this will make maintaining meta-qt5 a bit easier

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Martin Jansa 2013-08-03 15:27:50 +02:00
parent 671313d0b5
commit c67873216b
62 changed files with 29 additions and 2728 deletions

View File

@ -1,5 +1,5 @@
# Select which version you prefer by defining QT5_VERSION and including this file
# possible values now "5.0.2", "5.1.0", "5.1.0+git%"
# possible values now "5.1.0", "5.1.0+git%"
QT5_VERSION ?= "5.1.0"
@ -19,8 +19,3 @@ PREFERRED_VERSION_qttools-native = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit-examples = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
# append % only if it isn't included already
# 5.1.0+git%% won't work and it's exactly where we need to overcome DEFAULT_PREFERENCE with PREFERRED_VERSION
QT5_VERSION_WAYLAND = "${@base_contains('QT5_VERSION', '5.1.0+git%', '${QT5_VERSION}', '${QT5_VERSION}%', d)}"
PREFERRED_VERSION_qtwayland = "${QT5_VERSION_WAYLAND}"

View File

@ -1,19 +0,0 @@
# Copyright (C) 2012 O.S. Systems Software LTDA.
# Copyright (C) 2013 Martin Jansa <martin.jansa@gmail.com>
QT_VERSION ?= "${PV}"
# it's different for RC versions
QT_VERSION_DIR ?= "${QT_VERSION}"
SRC_URI += " \
http://download.qt-project.org/archive/qt/5.0/${QT_VERSION_DIR}/submodules/${QT_MODULE}-opensource-src-${QT_VERSION}.tar.xz \
"
S = "${WORKDIR}/${QT_MODULE}-opensource-src-${QT_VERSION}"
LICENSE = "GFDL-1.3 & LGPL-2.1 | GPL-3.0"
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
file://LICENSE.FDL;md5=6d9f2a9af4c8b8c3c769f6cc1b6aaf7e"

View File

@ -1,304 +0,0 @@
From d64321c240cbb949b9e55e2cd448c78bf9865c56 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 01/22] Add linux-oe-g++ platform
* This qmake.conf unlike other platforms reads most variables from
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
* 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
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 54 ++++++++++++++++---
mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++
mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++
3 files changed, 187 insertions(+), 7 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 2ea1ea4..6db4577 100755
--- a/configure
+++ b/configure
@@ -216,6 +216,16 @@ getQMakeConf()
getQMakeConf3 "$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()
{
if [ -z "$xspecvals" ]; then
@@ -224,6 +234,16 @@ getXQMakeConf()
getQMakeConf3 "$1" "$xspecvals"
}
+# 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
@@ -707,6 +727,18 @@ fi
# initalize variables
#-------------------------------------------------------------------------------
+# 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}"
+ cmd=`echo \
+'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
+
SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
for varname in $SYSTEM_VARIABLES; do
qmakevarname="${varname}"
@@ -2636,7 +2668,7 @@ if [ "$BUILD_ON_MAC" = "yes" ] && [ "$CFG_QGTKSTYLE" = "auto" ]; then
CFG_QGTKSTYLE=no
fi
-QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`
+QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX`
TEST_COMPILER=$QMAKE_CONF_COMPILER
if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
@@ -2645,7 +2677,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then
exit 1
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
@@ -3613,6 +3645,14 @@ setBootstrapVariable()
getQMakeConf "$1" | 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..."
@@ -3651,11 +3691,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ];
fi
[ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM=
- setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM"
- setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM"
- setBootstrapVariable QMAKE_CFLAGS
- setBootstrapVariable QMAKE_CXXFLAGS
- setBootstrapVariable QMAKE_LFLAGS
+ setBootstrapEvalVariable QMAKE_CC CC "$CC_TRANSFORM"
+ setBootstrapEvalVariable QMAKE_CXX CXX "$CC_TRANSFORM"
+ setBootstrapEvalVariable QMAKE_CFLAGS
+ setBootstrapEvalVariable QMAKE_CXXFLAGS
+ setBootstrapEvalVariable QMAKE_LFLAGS
if [ $QT_EDITION = "QT_EDITION_OPENSOURCE" ]; then
EXTRA_CFLAGS="$EXTRA_CFLAGS -DQMAKE_OPENSOURCE_EDITION"
diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf
new file mode 100644
index 0000000..ca26b10
--- /dev/null
+++ b/mkspecs/linux-oe-g++/qmake.conf
@@ -0,0 +1,40 @@
+#
+# qmake configuration for linux-g++ with modifications for building with OpenEmbedded
+#
+
+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)
+
+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)
+
+include(../common/g++-unix.conf)
+
+# tc settings from g++-base.conf
+QMAKE_COMPILER = $(OE_QMAKE_COMPILER)
+QMAKE_CC = $(OE_QMAKE_CC)
+QMAKE_CXX = $(OE_QMAKE_CXX)
+
+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)
+
+# for the SDK
+isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_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
--- /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
--
1.8.3.2

View File

@ -1,31 +0,0 @@
From 1092de02d1ac256a8c56fb5b5e590a4df8188acb Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 27 Nov 2012 12:46:44 -0800
Subject: [PATCH] Always build uic
Even if we are not building gui or widgets. This tool is needed later
as a native tool when compiling the target.
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
---
src/tools/tools.pro | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/tools/tools.pro b/src/tools/tools.pro
index c67d6bf..b6f3b39 100644
--- a/src/tools/tools.pro
+++ b/src/tools/tools.pro
@@ -1,8 +1,8 @@
TEMPLATE = subdirs
-TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc
+TOOLS_SUBDIRS = src_tools_bootstrap src_tools_moc src_tools_rcc src_tools_qdoc src_tools_uic
contains(QT_CONFIG, dbus): TOOLS_SUBDIRS += src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml
-!contains(QT_CONFIG, no-widgets): TOOLS_SUBDIRS += src_tools_uic
+
# Set subdir and respective target name
src_tools_bootstrap.subdir = $$PWD/bootstrap
src_tools_bootstrap.target = sub-tools-bootstrap
--
1.7.4.1

View File

@ -1,36 +0,0 @@
From 542325db6c9e9e2ffc2390b8eb1f8b16e674ca41 Mon Sep 17 00:00:00 2001
From: Holger Freyther <zecke@selfish.org>
Date: Wed, 26 Sep 2012 17:22:30 +0200
Subject: [PATCH 02/22] 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: Pending
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 5fb9640..6b40731 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -138,7 +138,10 @@ QLibrarySettings::QLibrarySettings()
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");
#ifdef QT_BOOTSTRAPPED
if(!QFile::exists(qtconfig))
qtconfig = qt_libraryInfoFile();
--
1.8.3.2

View File

@ -1,221 +0,0 @@
From 943c30aa55fbf1e330e7c987e989ddbd656e69c0 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 03/22] 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
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 15 ++++++++++++++-
mkspecs/features/qt_functions.prf | 5 ++++-
mkspecs/features/qt_tool.prf | 2 +-
qmake/property.cpp | 1 +
qtbase.pro | 15 +++++++++++----
src/corelib/global/qlibraryinfo.cpp | 3 ++-
src/corelib/global/qlibraryinfo.h | 1 +
tools/configure/configureapp.cpp | 8 ++++++++
8 files changed, 42 insertions(+), 8 deletions(-)
diff --git a/configure b/configure
index 6db4577..1ca5b4e 100755
--- a/configure
+++ b/configure
@@ -930,6 +930,7 @@ CFG_GCC_SYSROOT="yes"
QT_HOST_PREFIX=
QT_HOST_BINS=
QT_HOST_DATA=
+QT_EXTERNAL_HOST_BINS=
#flags for SQL drivers
QT_CFLAGS_PSQL=
@@ -1028,7 +1029,7 @@ while [ "$#" -gt 0 ]; do
VAL=no
;;
#Qt style options that pass an argument
- -prefix|-docdir|-headerdir|-plugindir|-importdir|-qmldir|-archdatadir|-datadir|-libdir|-bindir|-libexecdir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-skip|-platform|-xplatform|-device|-device-option|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir|-qpa|-qconfig)
+ -prefix|-docdir|-headerdir|-plugindir|-importdir|-qmldir|-archdatadir|-datadir|-libdir|-bindir|-libexecdir|-translationdir|-sysconfdir|-examplesdir|-testsdir|-depths|-make|-nomake|-skip|-platform|-xplatform|-device|-device-option|-sdk|-arch|-host-arch|-mysql_config|-sysroot|-hostdatadir|-hostbindir|-qpa|-qconfig|-external-hostbindir)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1213,6 +1214,9 @@ while [ "$#" -gt 0 ]; do
hostbindir)
QT_HOST_BINS="$VAL"
;;
+ external-hostbindir)
+ QT_EXTERNAL_HOST_BINS="$VAL"
+ ;;
pkg-config)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_PKGCONFIG="$VAL"
@@ -2941,6 +2945,11 @@ else
QT_HOST_DATA=`"$relpath/config.tests/unix/makeabs" "$QT_HOST_DATA"`
fi
+# 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
+
#-------------------------------------------------------------------------------
# help - interactive parts of the script _after_ this section please
#-------------------------------------------------------------------------------
@@ -3107,6 +3116,9 @@ 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
@@ -3584,6 +3596,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = {
"qt_hpfxpath=$QT_HOST_PREFIX",
"qt_hbinpath=$QT_HOST_BINS",
"qt_hdatpath=$QT_HOST_DATA",
+ "qt_ebinpath=$QT_EXTERNAL_HOST_BINS",
"qt_targspec=$shortxspec",
"qt_hostspec=$shortspec",
#endif
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 8cd2473..876f657 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -193,7 +193,10 @@ defineTest(qtAddRpathLink) {
defineTest(qtPrepareTool) {
$$1 = $$eval(QT_TOOL.$${2}.command)
isEmpty($$1) {
- $$1 = $$[QT_HOST_BINS]/$$2
+ $$1 = $$[QT_EXTERNAL_HOST_BINS]/$$2
+ isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ $$1 = $$[QT_HOST_BINS]/$$2
+ }
contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
exists($$eval($$1).bat) {
$$1 = $$eval($$1).bat
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 9d50856..8a636c7 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -31,7 +31,7 @@ load(qt_targets)
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
-!build_pass:force_independent {
+!build_pass:force_independent:isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
isEmpty(MODULE):MODULE = $$TARGET
diff --git a/qmake/property.cpp b/qmake/property.cpp
index c4fbcd6..c1b7a9f 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -74,6 +74,7 @@ static const struct {
{ "QT_HOST_PREFIX", QLibraryInfo::HostPrefixPath, true },
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
};
diff --git a/qtbase.pro b/qtbase.pro
index 4c41cff..997ea6d 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -68,17 +68,24 @@ CONFIG -= qt
#qmake
qmake.path = $$[QT_HOST_BINS]
+qmake.files = $$OUT_PWD/bin/qmake
+!isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ qmake.files = $$[QT_EXTERNAL_HOST_BINS]/bin/qmake
+}
equals(QMAKE_HOST.os, Windows) {
- qmake.files = $$OUT_PWD/bin/qmake.exe
-} else {
- qmake.files = $$OUT_PWD/bin/qmake
+ qmake.files = $${qmake.files}.exe
}
INSTALLS += qmake
#syncqt
syncqt.path = $$[QT_HOST_BINS]
syncqt.files = $$PWD/bin/syncqt
-equals(QMAKE_HOST.os, Windows):syncqt.files += $$PWD/bin/syncqt.bat
+!isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/bin/syncqt
+}
+equals(QMAKE_HOST.os, Windows) {
+ syncqt.files = $${syncqt.files}.bat
+}
INSTALLS += syncqt
# If we are doing a prefix build, create a "module" pri which enables
diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp
index 6b40731..139a60f 100644
--- a/src/corelib/global/qlibraryinfo.cpp
+++ b/src/corelib/global/qlibraryinfo.cpp
@@ -270,7 +270,7 @@ QLibraryInfo::isDebugBuild()
*/
static const struct {
- char key[19], value[13];
+ char key[21], value[13];
} qtConfEntries[] = {
{ "Prefix", "." },
{ "Documentation", "doc" }, // should be ${Data}/doc
@@ -295,6 +295,7 @@ static const struct {
{ "HostPrefix", "" },
{ "HostBinaries", "bin" },
{ "HostData", "." },
+ { "ExternalHostBinaries", "" },
{ "TargetSpec", "" },
{ "HostSpec", "" },
#endif
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
index 054231b..37fe529 100644
--- a/src/corelib/global/qlibraryinfo.h
+++ b/src/corelib/global/qlibraryinfo.h
@@ -85,6 +85,7 @@ public:
HostPrefixPath,
HostBinariesPath,
HostDataPath,
+ ExternalHostBinariesPath,
TargetSpecPath,
HostSpecPath,
LastHostPath = HostSpecPath,
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index 22ee456..cfc6f97 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1156,6 +1156,13 @@ void Configure::parseCmdLine()
dictionary[ "QT_HOST_DATA" ] = 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)
@@ -3657,6 +3664,7 @@ void Configure::generateQConfigCpp()
<< " \"qt_hpfxpath=" << formatPath(dictionary["QT_HOST_PREFIX"]) << "\"," << endl
<< " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
<< " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl
+ << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl
<< " \"qt_targspec=" << targSpec << "\"," << endl
<< " \"qt_hostspec=" << hostSpec << "\"," << endl
<< "#endif" << endl
--
1.8.3.2

View File

@ -1,50 +0,0 @@
From 2a3c7bb40de7ae8f060e69bdaa77522172101f00 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 17 Apr 2013 18:06:25 +0200
Subject: [PATCH 04/22] 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].
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_functions.prf | 6 +++++-
mkspecs/features/qt_tool.prf | 2 +-
2 files changed, 6 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index 876f657..0e094a8 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -194,7 +194,11 @@ defineTest(qtPrepareTool) {
$$1 = $$eval(QT_TOOL.$${2}.command)
isEmpty($$1) {
$$1 = $$[QT_EXTERNAL_HOST_BINS]/$$2
- isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ # for some reason isEmpty does not work here, FIXME before submitting upstream
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: calling built-in isEmpty(/OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/qt5)
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: test function returned true
+ # DEBUG 1: mkspecs/features/qt_functions.prf:198: taking 'then' branch
+ !exists($$[QT_EXTERNAL_HOST_BINS]/$$2) {
$$1 = $$[QT_HOST_BINS]/$$2
}
contains(QMAKE_HOST.os, Windows):!contains($$1, .*\\.(exe|bat)$) {
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 8a636c7..0dad97c 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -31,7 +31,7 @@ load(qt_targets)
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
-!build_pass:force_independent:isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+!build_pass:force_independent:!exists($$[QT_EXTERNAL_HOST_BINS]) {
isEmpty(MODULE):MODULE = $$TARGET
--
1.8.3.2

View File

@ -1,30 +0,0 @@
From 7b37f7fa8c68c1807eeb45936154a42c34cda666 Mon Sep 17 00:00:00 2001
From: Michael Krelin <hacker@klever.net>
Date: Mon, 29 Oct 2012 20:07:49 -0700
Subject: [PATCH 05/22] qmake is already built in qtbase-native
Ported from OE by: Yu Ke <ke.yu@intel.com>
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 1ca5b4e..546bed2 100755
--- a/configure
+++ b/configure
@@ -3667,7 +3667,7 @@ setBootstrapEvalVariable()
# build qmake
-if true; then ###[ '!' -f "$outpath/bin/qmake" ];
+if false; then ###[ '!' -f "$outpath/bin/qmake" ];
echo "Creating qmake..."
mkdir -p "$outpath/qmake" || exit
--
1.8.3.2

View File

@ -1,29 +0,0 @@
From 76537aca4118f5f7c336b7d17594c9644b6272b5 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Mon, 29 Oct 2012 20:26:36 -0700
Subject: [PATCH 06/22] Allow building a separate qmake for the target
Upstream-Status: Inappropriate [config]
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qmake/qmake.pro | 1 +
1 file changed, 1 insertion(+)
diff --git a/qmake/qmake.pro b/qmake/qmake.pro
index 0d92ac2..9be0e9b 100644
--- a/qmake/qmake.pro
+++ b/qmake/qmake.pro
@@ -9,6 +9,7 @@ CONFIG -= qt shared app_bundle uic
DEFINES += QT_BUILD_QMAKE QT_BOOTSTRAPPED \
PROEVALUATOR_FULL PROEVALUATOR_DEBUG
DESTDIR = ../bin/
+TARGET = qmake
OBJECTS_DIR = .
MOC_DIR = .
--
1.8.3.2

View File

@ -1,31 +0,0 @@
From a1d0c7fb8fd689af7d3616ecf5d6aaf5ffd84bc9 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 27 Apr 2013 22:33:33 +0200
Subject: [PATCH 07/22] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
tools/configure/configureapp.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index cfc6f97..d0e17fa 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3087,8 +3087,8 @@ void Configure::generateQConfigPri()
configStream << "QT_HOST_CPU_FEATURES = " << dictionary["QT_HOST_CPU_FEATURES"] << endl;
if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) {
// FIXME: add detection
- configStream << "QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl;
- configStream << "QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl;
+ configStream << "QMAKE_DEFAULT_LIBDIRS = $$[QT_SYSROOT]/lib $$[QT_SYSROOT]/usr/lib" << endl;
+ configStream << "QMAKE_DEFAULT_INCDIRS = $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/local/include" << endl;
}
if (dictionary["QT_EDITION"].contains("OPENSOURCE"))
configStream << "QT_EDITION = " << QLatin1String("OpenSource") << endl;
--
1.8.3.2

View File

@ -1,68 +0,0 @@
From 8a97079c1b17f27256a4a816e5cc85344c29ac6f 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 08/22] qt_module: Fix pkgconfig replacement
* in situation like this:
QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm
QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib
QT_INSTALL_LIBS/raw:/usr/lib
QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib
I don't want the replacement like this:
sed
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g"
-e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g"
"../../lib/pkgconfig/Qt5Core.pc"
>"/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/image/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib/pkgconfig/Qt5Core.pc"
because that way I'll end with -L/usr/lib in .pc file which is
cross-compile unfriendly, keeping ${libdir}/${includedir} works better
in my case
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 1132943..7fbfd8d 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -128,18 +128,30 @@ unix|win32-g++* {
rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]*
else: \
rplbase = $$MODULE_BASE_OUTDIR
+ pkgconfig_include_replace.match = $$rplbase/include
+ pkgconfig_include_replace.replace = "\$$\\{includedir}"
+ pkgconfig_lib_replace.match = $$rplbase/lib
+ pkgconfig_lib_replace.replace = "\$$\\{libdir}"
include_replace.match = $$rplbase/include
include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
lib_replace.match = $$rplbase/lib
lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+
+ !isEmpty(SYSROOT): \
+ rplbase = $$[SYSROOT] \
+ lafile_replace.match = $$rplbase \
+ lafile_replace.replace = "=" \
+
+ QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
}
unix {
CONFIG += create_libtool explicitlib
QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw]
- QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_LIBTOOL_INSTALL_REPLACE += lafile_replace
}
unix|win32-g++* {
--
1.8.3.2

View File

@ -1,62 +0,0 @@
From a70d48880e27586efe5f6aa195385207abf3cead Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 28 Apr 2013 12:56:55 +0200
Subject: [PATCH 09/22] qt_module: Fix paths in .prl files
* qmake does not prefix them with QT_SYSROOT when using them
so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE
variable, which is unsafe for cross-compilation
* writting QT_SYSROOT in .prl files is dangerous for sstate when
builds are in different directories, so we need
SSTATE_SCAN_FILES += "*.pri *.prl"
to make them relocateble
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/qt_module.prf | 28 +++++++++++++++++-----------
1 file changed, 17 insertions(+), 11 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 7fbfd8d..226119f 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -132,17 +132,23 @@ unix|win32-g++* {
pkgconfig_include_replace.replace = "\$$\\{includedir}"
pkgconfig_lib_replace.match = $$rplbase/lib
pkgconfig_lib_replace.replace = "\$$\\{libdir}"
- include_replace.match = $$rplbase/include
- include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
- lib_replace.match = $$rplbase/lib
- lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
- lafile_replace.match = $$rplbase
- lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
-
- !isEmpty(SYSROOT): \
- rplbase = $$[SYSROOT] \
- lafile_replace.match = $$rplbase \
- lafile_replace.replace = "=" \
+ !exists($$[QT_SYSROOT]) {
+ include_replace.match = $$rplbase/include
+ include_replace.replace = $$[QT_INSTALL_HEADERS/raw]
+ lib_replace.match = $$rplbase/lib
+ lib_replace.replace = $$[QT_INSTALL_LIBS/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "$$[QT_INSTALL_PREFIX/raw]"
+ } else {
+ # include_replace and lib_replace are duplicate, but we don't want to
+ # make QMAKE_PKGCONFIG_INSTALL_REPLACE, QMAKE_PRL_INSTALL_REPLACE conditional
+ include_replace.match = $$rplbase
+ include_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lib_replace.match = $$rplbase
+ lib_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw]
+ lafile_replace.match = $$rplbase
+ lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]"
+ }
QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace
QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace
--
1.8.3.2

View File

@ -1,46 +0,0 @@
From 505bbe468956de2fdf2f27e8905582fe438d3b35 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 5 May 2013 11:18:34 +0200
Subject: [PATCH 10/22] wayland-scanner: disable silent rules
* for some reason "$$qtwayland-server-header.commands" on second line gets expanded as -server-header.commands
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/wayland-scanner.prf | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mkspecs/features/wayland-scanner.prf b/mkspecs/features/wayland-scanner.prf
index 90e1e0f..0750849 100644
--- a/mkspecs/features/wayland-scanner.prf
+++ b/mkspecs/features/wayland-scanner.prf
@@ -10,7 +10,7 @@ wayland-server-header.variable_out = HEADERS
wayland-server-header.output = wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
wayland-server-header.commands = $$QMAKE_WAYLAND_SCANNER server-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:wayland-server-header.commands = @echo Wayland server header ${QMAKE_FILE_IN} && $$wayland-server-header.commands
+#silent:wayland-server-header.commands = @echo Wayland server header ${QMAKE_FILE_IN} && $$wayland-server-header.commands
QMAKE_EXTRA_COMPILERS += wayland-server-header
wayland-client-header.name = wayland ${QMAKE_FILE_BASE}
@@ -19,7 +19,7 @@ wayland-client-header.variable_out = HEADERS
wayland-client-header.output = wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
wayland-client-header.commands = $$QMAKE_WAYLAND_SCANNER client-header < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:wayland-client-header.commands = @echo Wayland client header ${QMAKE_FILE_IN} && $$wayland-client-header.commands
+#silent:wayland-client-header.commands = @echo Wayland client header ${QMAKE_FILE_IN} && $$wayland-client-header.commands
QMAKE_EXTRA_COMPILERS += wayland-client-header
wayland-code.name = wayland ${QMAKE_FILE_BASE}
@@ -28,5 +28,5 @@ wayland-code.variable_out = SOURCES
wayland-code.output = wayland-${QMAKE_FILE_BASE}-protocol.c
wayland-code.commands = $$QMAKE_WAYLAND_SCANNER code < ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:wayland-code.commands = @echo Wayland code header ${QMAKE_FILE_IN} && $$wayland-code.commands
+#silent:wayland-code.commands = @echo Wayland code header ${QMAKE_FILE_IN} && $$wayland-code.commands
QMAKE_EXTRA_COMPILERS += wayland-code
--
1.8.3.2

View File

@ -1,44 +0,0 @@
From a2439736a0efb80aea1746b0aada551ff63ad7e6 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Wed, 8 May 2013 23:54:35 +0200
Subject: [PATCH 11/22] 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
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/configure b/configure
index 546bed2..34074ee 100755
--- a/configure
+++ b/configure
@@ -740,20 +740,7 @@ fi'`
done
SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS"
-for varname in $SYSTEM_VARIABLES; do
- qmakevarname="${varname}"
- # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS
- if [ "${varname}" = "LDFLAGS" ]; then
- qmakevarname="LFLAGS"
- elif [ "${varname}" = "LD" ]; then
- qmakevarname="LINK"
- fi
- cmd=`echo \
-'if [ -n "\$'${varname}'" ]; then
- QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'"
-fi'`
- eval "$cmd"
-done
+
# Use CC/CXX to run config.tests
mkdir -p "$outpath/config.tests"
rm -f "$outpath/config.tests/.qmake.cache"
--
1.8.3.2

View File

@ -1,37 +0,0 @@
From dd7756dd5a3c3eb677c3bacce257c1c8bbf03098 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Thu, 9 May 2013 10:06:50 +0200
Subject: [PATCH 12/22] 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
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
mkspecs/features/configure.prf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf
index 39144e7..de48b07 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -54,12 +54,12 @@ defineTest(qtCompileTest) {
qmake_configs = "\"CONFIG -= qt debug_and_release app_bundle lib_bundle\""
# 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.")
qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qmake_configs $$shell_quote($$test_dir)") {
- qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") {
+ qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") {
log("yes$$escape_expand(\\n)")
msg = "test $$1 succeeded"
write_file($$QMAKE_CONFIG_LOG, msg, append)
--
1.8.3.2

View File

@ -1,46 +0,0 @@
From 78b716520396b5317a8b91dbca183483bea8b1d2 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 8 Jan 2013 15:58:29 -0800
Subject: [PATCH 13/22] Disable mkv8snapshot
It seems to generate code that throws SIGILL, so disabling it
Program received signal SIGILL, Illegal instruction.
0x26312c60 in ?? ()
(gdb) bt
function=..., receiver=..., argc=1978934572, args=0x7efff254,
has_pending_exception=0x7efff277, qml=...)
at ../3rdparty/v8/src/execution.cc:125
argc=1, argv=0x7efff254, pending_exception=0x7efff277,
convert_receiver=false, qml=...) at ../3rdparty/v8/src/execution.cc:194
receiver=<optimized out>, argc=<optimized out>, argv=<optimized out>,
pending_exception=0x7efff277, convert_receiver=false)
at ../3rdparty/v8/src/execution.cc:161
data=<optimized out>, exc=0x7efff277)
at ../3rdparty/v8/src/execution.cc:734
at ../3rdparty/v8/src/api.cc:4742
at qml/v8/qv8contextwrapper.cpp:155
ownership=<optimized out>) at qml/v8/qv8engine.cpp:155
parent=<optimized out>) at qml/v8/qjsengine.cpp:192
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index 34074ee..ac09bbf 100755
--- a/configure
+++ b/configure
@@ -799,7 +799,7 @@ CFG_NOBUILD_PARTS=""
CFG_SKIP_MODULES=""
CFG_RELEASE_QMAKE=no
CFG_AUDIO_BACKEND=auto
-CFG_V8SNAPSHOT=auto
+CFG_V8SNAPSHOT=no
CFG_QML_DEBUG=yes
CFG_JAVASCRIPTCORE_JIT=auto
CFG_PKGCONFIG=auto
--
1.8.3.2

View File

@ -1,34 +0,0 @@
From f8336efd143109c3478e5548360248f99b645548 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
Date: Mon, 27 May 2013 18:32:37 +0200
Subject: [PATCH 14/22] enables tslib device to be read from env variable
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
from :
https://github.com/prabindh/qt-configs/blob/master/qt5_1.0_Feb13/tslib.patch
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
src/plugins/generic/tslib/qtslib.cpp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/plugins/generic/tslib/qtslib.cpp b/src/plugins/generic/tslib/qtslib.cpp
index 6986fd5..2ed4a69 100644
--- a/src/plugins/generic/tslib/qtslib.cpp
+++ b/src/plugins/generic/tslib/qtslib.cpp
@@ -64,7 +64,9 @@ QTsLibMouseHandler::QTsLibMouseHandler(const QString &key,
qDebug() << "QTsLibMouseHandler" << key << specification;
setObjectName(QLatin1String("TSLib Mouse Handler"));
- QByteArray device = "/dev/input/event1";
+ QByteArray device = qgetenv("TSLIB_TSDEVICE");
+ if(device.isEmpty())
+ device = "/dev/input/event1";
if (specification.startsWith("/dev/"))
device = specification.toLocal8Bit();
--
1.8.3.2

View File

@ -1,49 +0,0 @@
From a21c676a69388cd8cdf0bb28184de2bee58def0e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
Date: Sat, 25 May 2013 17:34:32 +0200
Subject: [PATCH 15/22] qtbase: allow build of examples
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
this revert the following commit :
commit 2b397f985e4ef6ae5c0571a928bb1320fb048c61
Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Date: Fri Dec 21 19:36:12 2012 +0100
do not actually build examples in production builds
-developer-build enables an actual build of examples, based on the
assumption that developers want to test it (it can be still disabled
with -nomake examples). regular users otoh want only the examples
sources installed.
Change-Id: Ifc6a108099929175a3960480802b271a758fdd38
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
mkspecs/features/qt_example_installs.prf | 8 --------
1 file changed, 8 deletions(-)
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 479a16a..ca1b0c7 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -92,12 +92,4 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
allfiles -= doc
!isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
}
-
- # Do not actually build the examples in production builds with -prefix
- !equals(TEMPLATE, subdirs):prefix_build:!contains(QT_CONFIG, private_tests) {
- TEMPLATE = aux
- CONFIG -= have_target qt staticlib dll
- SOURCES =
- INSTALLS -= target
- }
}
--
1.8.3.2

View File

@ -1,72 +0,0 @@
From 665841d6c38faecbf7848c0f4bbf3b0537b6a0a1 Mon Sep 17 00:00:00 2001
From: Michael Brasser <michael.brasser@live.com>
Date: Tue, 26 Mar 2013 09:22:51 -0500
Subject: [PATCH 16/22] Allow tslib to be specified at configure time.
Change-Id: I0ebf0eeea7e6a0b8136fb805f34f04082bc58c5e
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
---
configure | 20 ++++++++++++++++++++
src/plugins/generic/generic.pro | 4 ++++
2 files changed, 24 insertions(+)
diff --git a/configure b/configure
index ac09bbf..188e941 100755
--- a/configure
+++ b/configure
@@ -829,6 +829,7 @@ CFG_KMS=auto
CFG_LIBUDEV=auto
CFG_OBSOLETE_WAYLAND=no
CFG_EVDEV=auto
+CFG_TSLIB=no
CFG_NIS=auto
CFG_CUPS=auto
CFG_ICONV=auto
@@ -1805,6 +1806,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ tslib)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_TSLIB="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
cups)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_CUPS="$VAL"
@@ -4815,6 +4823,18 @@ if [ "$CFG_EVDEV" = "no" ]; then
QMakeVar add DEFINES QT_NO_EVDEV
fi
+if [ "$CFG_TSLIB" != "no" ]; then
+ if compileTest unix/tslib "tslib"; then
+ CFG_TSLIB=yes
+ QT_CONFIG="$QT_CONFIG tslib"
+ elif [ "$CFG_TSLIB" = "yes" ]; then
+ echo "The tslib functionality test failed!"
+ exit 1
+ else
+ CFG_TSLIB=no
+ fi
+fi
+
# Check we actually have X11 :-)
if compileTest x11/xlib "XLib"; then
QT_CONFIG="$QT_CONFIG xlib"
diff --git a/src/plugins/generic/generic.pro b/src/plugins/generic/generic.pro
index 078db2f..18a8295 100644
--- a/src/plugins/generic/generic.pro
+++ b/src/plugins/generic/generic.pro
@@ -5,3 +5,7 @@ TEMPLATE = subdirs
contains(QT_CONFIG, evdev) {
SUBDIRS += evdevmouse evdevtouch evdevkeyboard evdevtablet
}
+
+contains(QT_CONFIG, tslib) {
+ SUBDIRS += tslib
+}
--
1.8.3.2

View File

@ -1,44 +0,0 @@
From 126d2c4beff40bc51a1912a752b23c178eac59b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20E=2E=20Narv=C3=A1ez?= <david.narvaez@computer.org>
Date: Sat, 23 Feb 2013 23:14:50 -0500
Subject: [PATCH 17/22] Rename qAbs Function for timeval
This decouples it from qAbs which is declared as a constexpr under
certain compilation flags and enables for qtbase to be compiled with
GCC 4.8
Change-Id: I78e02256ffc8b460ca74ae5241e77dfac4e09ba9
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Upstream-Status: Backported from stable branch
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/corelib/kernel/qtimerinfo_unix.cpp | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/corelib/kernel/qtimerinfo_unix.cpp b/src/corelib/kernel/qtimerinfo_unix.cpp
index 0eee425..7a29247 100644
--- a/src/corelib/kernel/qtimerinfo_unix.cpp
+++ b/src/corelib/kernel/qtimerinfo_unix.cpp
@@ -94,8 +94,7 @@ timeval QTimerInfoList::updateCurrentTime()
#if ((_POSIX_MONOTONIC_CLOCK-0 <= 0) && !defined(Q_OS_MAC) && !defined(Q_OS_INTEGRITY)) || defined(QT_BOOTSTRAPPED)
-template <>
-timeval qAbs(const timeval &t)
+timeval qAbsTimeval(const timeval &t)
{
timeval tmp = t;
if (tmp.tv_sec < 0) {
@@ -144,7 +143,7 @@ bool QTimerInfoList::timeChanged(timeval *delta)
timeval tickGranularity;
tickGranularity.tv_sec = 0;
tickGranularity.tv_usec = msPerTick * 1000;
- return elapsedTimeTicks < ((qAbs(*delta) - tickGranularity) * 10);
+ return elapsedTimeTicks < ((qAbsTimeval(*delta) - tickGranularity) * 10);
}
/*
--
1.8.3.2

View File

@ -1,152 +0,0 @@
From c2c17a3198c85366f34b24abc80b20f27307d751 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 18/22] QOpenGLPaintDevice sub-area support
Allows creating QOpenGLPaintDevice targetting sub-area
of binded framebuffer.
Upstream-Status: Pending
Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80
---
src/gui/opengl/qopenglpaintdevice.cpp | 12 ++++++++++++
src/gui/opengl/qopenglpaintdevice.h | 2 ++
src/gui/opengl/qopenglpaintengine.cpp | 10 +++++++---
src/gui/opengl/qopenglpaintengine_p.h | 1 +
src/gui/opengl/qopengltextureglyphcache.cpp | 2 +-
5 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp
index 0b3d9dc..5f4f1c9 100644
--- a/src/gui/opengl/qopenglpaintdevice.cpp
+++ b/src/gui/opengl/qopenglpaintdevice.cpp
@@ -111,6 +111,7 @@ class QOpenGLPaintDevicePrivate
public:
QOpenGLPaintDevicePrivate(const QSize &size);
+ QPoint offset;
QSize size;
QOpenGLContext *ctx;
@@ -158,6 +159,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);
+}
+
/*!
Destroys the QOpenGLPaintDevice.
*/
@@ -226,6 +233,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 66850c7..6f8a849 100644
--- a/src/gui/opengl/qopenglpaintdevice.h
+++ b/src/gui/opengl/qopenglpaintdevice.h
@@ -62,12 +62,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);
diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
index 9fd8a7a..df29159 100644
--- a/src/gui/opengl/qopenglpaintengine.cpp
+++ b/src/gui/opengl/qopenglpaintengine.cpp
@@ -1935,7 +1935,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;
@@ -2023,7 +2026,7 @@ void QOpenGL2PaintEngineEx::ensureActive()
d->device->ensureActiveTarget();
d->transferMode(BrushDrawingMode);
- glViewport(0, 0, d->width, d->height);
+ glViewport(d->x, d->y, d->width, d->height);
d->needsSync = false;
d->lastMaskTextureUsed = 0;
d->shaderManager->setDirty();
@@ -2066,6 +2069,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest()
if (bounds == QRect(0, 0, width, height)) {
glDisable(GL_SCISSOR_TEST);
} else {
+ bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height());
glEnable(GL_SCISSOR_TEST);
setScissor(bounds);
}
@@ -2074,14 +2078,14 @@ 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();
-
glScissor(left, bottom, width, height);
}
diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h
index 93e1b42..d84e8c7 100644
--- a/src/gui/opengl/qopenglpaintengine_p.h
+++ b/src/gui/opengl/qopenglpaintengine_p.h
@@ -261,6 +261,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 b751629..8822faf 100644
--- a/src/gui/opengl/qopengltextureglyphcache.cpp
+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
@@ -268,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo);
if (pex != 0) {
- glViewport(0, 0, pex->width, pex->height);
+ glViewport(pex->x, pex->y, pex->width, pex->height);
pex->updateClipScissorTest();
} else {
m_blitProgram->disableAttributeArray(int(QT_VERTEX_COORDS_ATTR));
--
1.8.3.2

View File

@ -1,47 +0,0 @@
From edea45b25b50932c8c072679d36e97b3cc3c1326 Mon Sep 17 00:00:00 2001
From: Valery Volgutov <valery.volgutov@lge.com>
Date: Tue, 21 May 2013 12:02:19 -0700
Subject: [PATCH 19/22] Fix FBO restoring in QOpenGLTextureGlyphCache
QOpenGLTextureGlyphCache::restoreTextureData restores FBO which
was binded before restoreTextureData call. More specifically,
it restores QOpenGLContextPrivate's current_fbo member. This works
if FBO was binded by QOpenGLFramebufferObject but not if FBO was
binded using glBindFramebufferObject and rendering done via
QOpenGLPaintDevice.
This patch fixes it by querying current FBO using
GL_FRAMEBUFFER_BINDING query and restoring it.
Upstream-Status: Backport
https://codereview.qt-project.org/#change,56608
---
src/gui/opengl/qopengltextureglyphcache.cpp | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp
index 8822faf..022356a 100644
--- a/src/gui/opengl/qopengltextureglyphcache.cpp
+++ b/src/gui/opengl/qopengltextureglyphcache.cpp
@@ -147,6 +147,9 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
return;
}
+ GLuint saveFbo;
+ glGetIntegerv(GL_FRAMEBUFFER_BINDING, &saveFbo);
+
int oldWidth = m_textureResource->m_width;
int oldHeight = m_textureResource->m_height;
@@ -265,7 +268,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height)
glDeleteTextures(1, &tmp_texture);
glDeleteTextures(1, &oldTexture);
- funcs.glBindFramebuffer(GL_FRAMEBUFFER, ctx->d_func()->current_fbo);
+ funcs.glBindFramebuffer(GL_FRAMEBUFFER, saveFbo);
if (pex != 0) {
glViewport(pex->x, pex->y, pex->width, pex->height);
--
1.8.3.2

View File

@ -1,39 +0,0 @@
From 87380175cdb88ceadeec5773d8bc40ec08c4e3d6 Mon Sep 17 00:00:00 2001
From: Jani Hautakangas <jani.hautakangas@ixonos.com>
Date: Mon, 27 May 2013 15:25:25 -0700
Subject: [PATCH 20/22] Use BGRA extension in bindTexture
Upstream-Status: Pending
Change-Id: I18aecc87c5c7d4483cabe5555da33ca6bb8580f1
---
src/gui/opengl/qopengltexturecache.cpp | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/src/gui/opengl/qopengltexturecache.cpp b/src/gui/opengl/qopengltexturecache.cpp
index fffc368..11c8b59 100644
--- a/src/gui/opengl/qopengltexturecache.cpp
+++ b/src/gui/opengl/qopengltexturecache.cpp
@@ -171,7 +171,7 @@ static inline void qgl_byteSwapImage(QImage &img)
}
}
}
-
+#include <QDebug>
GLuint QOpenGLTextureCache::bindTexture(QOpenGLContext *context, qint64 key, const QImage &image)
{
GLuint id;
@@ -180,9 +180,7 @@ GLuint QOpenGLTextureCache::bindTexture(QOpenGLContext *context, qint64 key, con
QImage tx = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
- qgl_byteSwapImage(tx);
-
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, tx.width(), tx.height(), 0, GL_RGBA, GL_UNSIGNED_BYTE, const_cast<const QImage &>(tx).bits());
+ glTexImage2D(GL_TEXTURE_2D, 0, GL_BGRA_EXT, tx.width(), tx.height(), 0, GL_BGRA_EXT, GL_UNSIGNED_BYTE, const_cast<const QImage &>(tx).bits());
int cost = tx.width() * tx.height() * 4 / 1024;
m_cache.insert(key, new QOpenGLCachedTexture(id, context), cost);
--
1.8.3.2

View File

@ -1,36 +0,0 @@
From 647c9bb3a33e8cc5093d46b1a08d38f3f2002b74 Mon Sep 17 00:00:00 2001
From: Paul Eggleton <paul.eggleton@linux.intel.com>
Date: Tue, 28 Feb 2012 15:10:24 +0000
Subject: [PATCH 21/23] configure: make pulseaudio a configurable option
Allows disabling pulseaudio support at configure time.
Upstream-Status: Pending
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/configure b/configure
index 188e941..24dcd3a 100755
--- a/configure
+++ b/configure
@@ -1848,6 +1848,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ pulseaudio)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_PULSEAUDIO="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
gtkstyle)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_QGTKSTYLE="$VAL"
--
1.8.3.2

View File

@ -1,35 +0,0 @@
From 33a0f6ff196e366eb51dc2fb937636b087f1719f Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Fri, 19 Jul 2013 23:21:28 +0200
Subject: [PATCH 22/23] configure: make alsa a configurable option
Allows disabling alsa support at configure time.
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/configure b/configure
index 24dcd3a..2f46604 100755
--- a/configure
+++ b/configure
@@ -1855,6 +1855,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ alsa)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
+ CFG_ALSA="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
gtkstyle)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_QGTKSTYLE="$VAL"
--
1.8.3.2

View File

@ -1,35 +0,0 @@
From 113e48ed082315424931407717b72a7a5c011944 Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sat, 20 Jul 2013 10:56:37 +0200
Subject: [PATCH 23/23] configure: make freetype a configurable option
Allows disabling freetype support at configure time.
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
configure | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/configure b/configure
index 2f46604..c2cf3b5 100755
--- a/configure
+++ b/configure
@@ -1862,6 +1862,13 @@ while [ "$#" -gt 0 ]; do
UNKNOWN_OPT=yes
fi
;;
+ freetype)
+ if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then
+ CFG_LIBFREETYPE="$VAL"
+ else
+ UNKNOWN_OPT=yes
+ fi
+ ;;
gtkstyle)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_QGTKSTYLE="$VAL"
--
1.8.3.2

View File

@ -1,84 +0,0 @@
From 0e6b7bcb1c02750368722d1770b0098ce9b28327 Mon Sep 17 00:00:00 2001
From: Simon Busch <morphis@gravedo.de>
Date: Mon, 22 Jul 2013 21:09:41 +0000
Subject: [PATCH] Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to determine path to
host binaries
Upstream-Status: Inappropiate (configuration)
Signed-off-by: Simon Busch <morphis@gravedo.de>
---
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/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
index 4e0fcda..925a335 100644
--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
+++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
@@ -6,7 +6,7 @@ if (NOT TARGET Qt5::qmake)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
endif()
@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
# For CMake automoc feature
@@ -32,7 +32,7 @@ if (NOT TARGET Qt5::rcc)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
endif()
diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
index 8ecf7ce..af86a88 100644
--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
+++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
@@ -6,7 +6,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
endif()
@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
endif()
diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
index d9abb45..ca17862 100644
--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
@@ -6,7 +6,7 @@ if (NOT TARGET Qt5::uic)
!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
IMPORTED_LOCATION \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\"
!!ELSE
- IMPORTED_LOCATION \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\"
+ IMPORTED_LOCATION \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\"
!!ENDIF
)
endif()
--
1.8.1.2

View File

@ -1,41 +0,0 @@
From af96c6fed931564c95037539f07e9c8e33c69529 Mon Sep 17 00:00:00 2001
From: Peter Hartmann <phartmann@blackberry.com>
Date: Thu, 25 Jul 2013 12:05:29 -0400
Subject: [PATCH] QHttpMultiPart: fix data corruption in readData method
When readData() is called repeatedly, we need to keep track which
part of the multipart message we are currently reading from.
Hereby we also need to take the boundary size into account, and not
only the size of the multipart; otherwise we would skip a not
completely read part. This would then later lead to advancing the
read pointer by negative indexes and data loss.
Upstream-Status: Backport [https://codereview.qt-project.org/#change,61698]
Signed-off-by: Jonathan Liu <net147@gmail.com>
Task-number: QTBUG-32534
Change-Id: Ibb6dff16adaf4ea67181d23d1d0c8459e33a0ed0
Reviewed-by: Jonathan Liu <net147@gmail.com>
Reviewed-by: Shane Kearns <shane.kearns@accenture.com>
---
src/network/access/qhttpmultipart.cpp | 3 +-
.../access/qnetworkreply/tst_qnetworkreply.cpp | 44 ++++++++++++++++++++++
2 files changed, 46 insertions(+), 1 deletion(-)
diff --git a/src/network/access/qhttpmultipart.cpp b/src/network/access/qhttpmultipart.cpp
index 4397ef8..5985ed9 100644
--- a/src/network/access/qhttpmultipart.cpp
+++ b/src/network/access/qhttpmultipart.cpp
@@ -497,7 +497,8 @@ qint64 QHttpMultiPartIODevice::readData(char *data, qint64 maxSize)
// skip the parts we have already read
while (index < multiPart->parts.count() &&
- readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size())
+ readPointer >= partOffsets.at(index) + multiPart->parts.at(index).d->size()
+ + multiPart->boundary.count() + 6) // 6 == 2 boundary dashes, \r\n after boundary, \r\n after multipart
index++;
// read the data
--
1.8.3.4

View File

@ -1,11 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r3"
SRC_URI += " \
file://0017-Rename-qAbs-Function-for-timeval.patch \
"
SRC_URI[md5sum] = "a4fec8ed03867c4ee4fe5a46001a11f0"
SRC_URI[sha256sum] = "31851ee2f844c100554506a9a446d4b6abb5270bca799c2a683e5f937456a9c8"

View File

@ -1,13 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r3"
SRC_URI += " \
file://0016-Allow-tslib-to-be-specified-at-configure-time.patch \
file://0017-Rename-qAbs-Function-for-timeval.patch \
file://0019-Fix-FBO-restoring-in-QOpenGLTextureGlyphCache.patch \
"
SRC_URI[md5sum] = "a4fec8ed03867c4ee4fe5a46001a11f0"
SRC_URI[sha256sum] = "31851ee2f844c100554506a9a446d4b6abb5270bca799c2a683e5f937456a9c8"

View File

@ -1,34 +0,0 @@
From e22cb54286083886be5081332de2f64ab0b78b4b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
Date: Sun, 26 May 2013 14:26:19 +0200
Subject: [PATCH] qmltestexample: fix link
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
else we get :
ld: warning: libQt5Quick.so.5, needed by libQt5QuickTest.so, not found
Upstream-Status: Inappropriate
Signed-off-by: Eric Bénard <eric@eukrea.com>
---
examples/qmltest/qmltest/qmltest.pro | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/qmltest/qmltest/qmltest.pro b/examples/qmltest/qmltest/qmltest.pro
index b5893c5..1b00e6c 100644
--- a/examples/qmltest/qmltest/qmltest.pro
+++ b/examples/qmltest/qmltest/qmltest.pro
@@ -14,7 +14,7 @@ TESTDATA += tst_basic.qml tst_item.qml
# This code exists solely for the purpose of building this example
# inside the examples/ hierarchy.
-QT += qml qmltest
+QT += qml qmltest quick
macx: CONFIG -= app_bundle
--
1.8.1.4

View File

@ -1,32 +0,0 @@
From eb11863cc40048e84cb383ae9e29b5929170a63d Mon Sep 17 00:00:00 2001
From: Guenter Schwann <guenter.schwann@canonical.com>
Date: Wed, 27 Feb 2013 15:52:03 +0100
Subject: [PATCH 2/5] Fix displacement transition bug for horizontal case
Task-number: QTBUG-29944
Upstream-Status: Backport https://codereview.qt-project.org/49226
Signed-off-by: Florian Haenel <florian.haenel@lge.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Change-Id: I23381f7a1d2c8d3c6df007b5b11c12b0db3bb1e9
---
src/quick/items/qquickitemview.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index b73fb8c..1c74288 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -2115,7 +2115,7 @@ void QQuickItemViewPrivate::prepareVisibleItemTransitions()
return;
// must call for every visible item to init or discard transitions
- QRectF viewBounds(0, position(), q->width(), q->height());
+ QRectF viewBounds(q->contentX(), q->contentY(), q->width(), q->height());
for (int i=0; i<visibleItems.count(); i++)
visibleItems[i]->prepareTransition(transitioner, viewBounds);
}
--
1.8.2.1

View File

@ -1,41 +0,0 @@
From 3dfa028b27e171cb2494b22f0346be1390310ea6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20H=C3=A4nel?= <florian.haenel@basyskom.com>
Date: Wed, 5 Jun 2013 19:23:32 +0200
Subject: [PATCH 3/5] Fix wrong calculation of viewPort for transitions
Viewport is calculated wrong for horizontal layout in a second instance
Task-number: QTBUG-29944
Task-Number: QTBUG-31546
Upstream-Status: Pending
Looks like backport of https://codereview.qt-project.org/49226 but this
one was applied in previous patch, this change looks the same but is
in different part of qquickitemview.cpp and ISN'T applied yet in dev
branch.
Signed-off-by: Florian Haenel <florian.haenel@lge.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Change-Id: I136ae4484278d14f796613505e3f38c65ec51ebe
---
src/quick/items/qquickitemview.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp
index 1c74288..b316af9 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1816,7 +1816,7 @@ void QQuickItemViewPrivate::layout()
prepareVisibleItemTransitions();
- QRectF viewBounds(0, position(), q->width(), q->height());
+ QRectF viewBounds(q->contentX(), q->contentY(), q->width(), q->height());
for (QList<FxViewItem*>::Iterator it = releasePendingTransition.begin();
it != releasePendingTransition.end(); ) {
FxViewItem *item = *it;
--
1.8.2.1

View File

@ -1,37 +0,0 @@
From adb69cabeacbe14a4439473107000d6e94d8d033 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Florian=20H=C3=A4nel?= <florian.haenel@basyskom.com>
Date: Mon, 3 Jun 2013 13:40:09 +0200
Subject: [PATCH 4/5] Fix null-pointer access in QQuickVisualDataModelPrivate
I observed null cachItem->contextData which lead to null-pointer access
on cacheItem->contextData->destroy().
Task-number: QTBUG-31439
Upstream-Status: Backport https://codereview.qt-project.org/57789
Signed-of-by: Florian Haenel <florian.haenel@lge.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Change-Id: I91f28a3ee1ac83446ecde1801a1cb7962fb883f3
---
src/quick/items/qquickvisualdatamodel.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/quick/items/qquickvisualdatamodel.cpp b/src/quick/items/qquickvisualdatamodel.cpp
index d2e50e8..a460e7f 100644
--- a/src/quick/items/qquickvisualdatamodel.cpp
+++ b/src/quick/items/qquickvisualdatamodel.cpp
@@ -817,7 +817,8 @@ void QQuickVisualDataModelPrivate::incubatorStatusChanged(QVDMIncubationTask *in
delete cacheItem->object;
cacheItem->object = 0;
cacheItem->scriptRef -= 1;
- cacheItem->contextData->destroy();
+ if (cacheItem->contextData)
+ cacheItem->contextData->destroy();
cacheItem->contextData = 0;
if (!cacheItem->isReferenced()) {
removeCacheItem(cacheItem);
--
1.8.2.1

View File

@ -1,88 +0,0 @@
From 9d85c3c5823c6f73db245d4de786d911fd96edfd Mon Sep 17 00:00:00 2001
From: Florian Haenel <florian.haenel@lge.com>
Date: Sat, 8 Jun 2013 00:34:35 +0200
Subject: [PATCH 5/5] Avoid swizzling on OpenGL ES when possible
Add support for APPLE_texture_format_BGRA8888,
IMG_texture_format_BGRA8888,
EXT_texture_format_BGRA8888 and EXT_bgra. The apple one acts
just like the desktop EXT_bgra one, so they need slightly
different handling than the ES extensions.
This change also has the benefit that we no longer have a dedicated
ES path.
Upstream-Status: Backport https://codereview.qt-project.org/46549
Signed-off-by: Florian Haenel <florian.haenel@lge.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Change-Id: I5ecb0a02c3a7bd984d6752fa87163726118b93de
---
src/quick/scenegraph/util/qsgtexture.cpp | 28 ++++++++++++++++++++++------
1 file changed, 22 insertions(+), 6 deletions(-)
diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp
index 16cc461..3d574f3 100644
--- a/src/quick/scenegraph/util/qsgtexture.cpp
+++ b/src/quick/scenegraph/util/qsgtexture.cpp
@@ -65,6 +65,10 @@
#include <QHash>
#endif
+#ifndef GL_BGRA
+#define GL_BGRA 0x80E1
+#endif
+
QT_BEGIN_NAMESPACE
inline static bool isPowerOfTwo(int x)
@@ -523,7 +527,6 @@ QSGPlainTexture::~QSGPlainTexture()
glDeleteTextures(1, &m_texture_id);
}
-#ifdef QT_OPENGL_ES
void qsg_swizzleBGRAToRGBA(QImage *image)
{
const int width = image->width();
@@ -534,7 +537,6 @@ void qsg_swizzleBGRAToRGBA(QImage *image)
p[x] = ((p[x] << 16) & 0xff0000) | ((p[x] >> 16) & 0xff) | (p[x] & 0xff00ff00);
}
}
-#endif
void QSGPlainTexture::setImage(const QImage &image)
{
@@ -621,12 +623,26 @@ void QSGPlainTexture::bind()
updateBindOptions(m_dirty_bind_options);
+ GLenum externalFormat = GL_RGBA;
+ GLenum internalFormat = GL_RGBA;
+
+ const char *extensions = (const char *) glGetString(GL_EXTENSIONS);
+ if (strstr(extensions, "GL_EXT_bgra")) {
+ externalFormat = GL_BGRA;
#ifdef QT_OPENGL_ES
- qsg_swizzleBGRAToRGBA(&tmp);
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_UNSIGNED_BYTE, tmp.constBits());
-#else
- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_BGRA, GL_UNSIGNED_BYTE, tmp.constBits());
+ internalFormat = GL_BGRA;
#endif
+ } else if (strstr(extensions, "GL_APPLE_texture_format_BGRA8888")) {
+ externalFormat = GL_BGRA;
+ } else if (strstr(extensions, "GL_EXT_texture_format_BGRA8888")
+ || strstr(extensions, "GL_IMG_texture_format_BGRA8888")) {
+ externalFormat = GL_BGRA;
+ internalFormat = GL_BGRA;
+ } else {
+ qsg_swizzleBGRAToRGBA(&tmp);
+ }
+
+ glTexImage2D(GL_TEXTURE_2D, 0, internalFormat, w, h, 0, externalFormat, GL_UNSIGNED_BYTE, tmp.constBits());
if (m_has_mipmaps) {
QOpenGLContext *ctx = QOpenGLContext::currentContext();
--
1.8.2.1

View File

@ -1,15 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI += " \
file://0001-qmltestexample-fix-link.patch \
file://0002-Fix-displacement-transition-bug-for-horizontal-case.patch \
file://0003-Fix-wrong-calculation-of-viewPort-for-transitions.patch \
file://0004-Fix-null-pointer-access-in-QQuickVisualDataModelPriv.patch \
file://0005-Avoid-swizzling-on-OpenGL-ES-when-possible.patch \
"
SRC_URI[md5sum] = "55ab45a7a17db5b202b225603a35a37c"
SRC_URI[sha256sum] = "dcfcc6c0d1913d285dd7b42dd9bc457c304f3e3074a1e0d875fff1e9a8318520"

View File

@ -1,13 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
# LICENSE files are missing in 5.0.2
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
file://${COMMON_LICENSE_DIR}/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891 \
file://${COMMON_LICENSE_DIR}/GFDL-1.3;md5=1083add59b39991c748ea70a92166959 \
"
PR = "r1"
SRC_URI[md5sum] = "3d4475a4702f7bbe8064f69e17f1e8dd"
SRC_URI[sha256sum] = "944399c5795b83b8f6b5e4ccec763ce5192f0e99b5e6d256f2b43a3165ee3016"

View File

@ -1,7 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI[md5sum] = "e397a4237f51cfef7a3b38ad29b831d7"
SRC_URI[sha256sum] = "93bd13a47002f188a8a83a5c742d396a2008a545fc22d58df442c4c070a463b7"

View File

@ -1,32 +0,0 @@
From 293e982e084661e0caf686737dcdcda9e2e3e083 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 4 Dec 2012 11:20:13 -0800
Subject: [PATCH 1/3] Install the mkv8snapshot tool to the native side
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
---
src/tools/mkv8snapshot/mkv8snapshot.pro | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/tools/mkv8snapshot/mkv8snapshot.pro b/src/tools/mkv8snapshot/mkv8snapshot.pro
index 16beb02..5e327f7 100644
--- a/src/tools/mkv8snapshot/mkv8snapshot.pro
+++ b/src/tools/mkv8snapshot/mkv8snapshot.pro
@@ -24,5 +24,10 @@ unix:LIBS += -lpthread
# We don't need to install this tool, it's only used for building v8.
# However we do have to make sure that 'make install' builds it.
-dummytarget.CONFIG = dummy_install
-INSTALLS += dummytarget
+#dummytarget.CONFIG = dummy_install
+#INSTALLS += dummytarget
+
+# Install the tool so that during target cross compilation we have access to the native side binary
+target.path = $$[QT_HOST_BINS]
+INSTALLS += target
+
--
1.8.3.2

View File

@ -1,31 +0,0 @@
From fa85676a52fb6e12e6db85ace4b6a2cfc1d5239a Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.Jansa@gmail.com>
Date: Sun, 28 Apr 2013 02:45:01 +0200
Subject: [PATCH 2/3] v8.pro: respect external-host-bindir, when set
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/v8/v8.pro | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/v8/v8.pro b/src/v8/v8.pro
index 2be6a19..d3da4e1 100644
--- a/src/v8/v8.pro
+++ b/src/v8/v8.pro
@@ -25,7 +25,10 @@ INCLUDEPATH -= $$MODULE_INCLUDES $$MODULE_INCLUDES/..
include(v8.pri)
contains(QT_CONFIG, v8snapshot) {
- mkv8snapshot.commands = ../../bin/mkv8snapshot$$qtPlatformTargetSuffix() ${QMAKE_FILE_OUT}
+ mkv8snapshot.tool=$$[QT_EXTERNAL_HOST_BINS]/mkv8snapshot$$qtPlatformTargetSuffix()
+ !exists($$mkv8snapshot.tool): \
+ mkv8snapshot.tool=../../bin/mkv8snapshot$$qtPlatformTargetSuffix()
+ mkv8snapshot.commands = $$mkv8snapshot.tool ${QMAKE_FILE_OUT}
DUMMY_FILE = v8.pro
mkv8snapshot.input = DUMMY_FILE
mkv8snapshot.output = $$V8_GENERATED_SOURCES_DIR/snapshot.cpp
--
1.8.3.2

View File

@ -1,190 +0,0 @@
From d8a3566b013ba581e638cf2b960a8488d5fc9d64 Mon Sep 17 00:00:00 2001
From: Sergio Martins <sergio.martins@kdab.com>
Date: Wed, 20 Feb 2013 22:34:46 +0000
Subject: [PATCH 3/3] [V8] Cleanup hardfp ABI detection. This work was
triggered by issue 2140.
Upstream Patch: https://chromiumcodereview.appspot.com/10713009
Task-Number: QTBUG-28890
Change-Id: Id073388fbbffa2ad9b1cea0ab42e1d6e47862a36
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
---
src/3rdparty/v8/src/platform-linux.cc | 70 ++++++++++++++++------------------
src/3rdparty/v8/src/platform-qnx.cc | 71 ++++++++++++++++-------------------
2 files changed, 65 insertions(+), 76 deletions(-)
diff --git a/src/3rdparty/v8/src/platform-linux.cc b/src/3rdparty/v8/src/platform-linux.cc
index f6db423..18f59dd 100644
--- a/src/3rdparty/v8/src/platform-linux.cc
+++ b/src/3rdparty/v8/src/platform-linux.cc
@@ -161,47 +161,41 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
}
-// Simple helper function to detect whether the C code is compiled with
-// option -mfloat-abi=hard. The register d0 is loaded with 1.0 and the register
-// pair r0, r1 is loaded with 0.0. If -mfloat-abi=hard is pased to GCC then
-// calling this will return 1.0 and otherwise 0.0.
-static void ArmUsingHardFloatHelper() {
- asm("mov r0, #0":::"r0");
-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
- // Load 0x3ff00000 into r1 using instructions available in both ARM
- // and Thumb mode.
- asm("mov r1, #3":::"r1");
- asm("mov r2, #255":::"r2");
- asm("lsl r1, r1, #8":::"r1");
- asm("orr r1, r1, r2":::"r1");
- asm("lsl r1, r1, #20":::"r1");
- // For vmov d0, r0, r1 use ARM mode.
-#ifdef __thumb__
- asm volatile(
- "@ Enter ARM Mode \n\t"
- " adr r3, 1f \n\t"
- " bx r3 \n\t"
- " .ALIGN 4 \n\t"
- " .ARM \n"
- "1: vmov d0, r0, r1 \n\t"
- "@ Enter THUMB Mode\n\t"
- " adr r3, 2f+1 \n\t"
- " bx r3 \n\t"
- " .THUMB \n"
- "2: \n\t":::"r3");
+bool OS::ArmUsingHardFloat() {
+ // GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
+ // the Floating Point ABI used (PCS stands for Procedure Call Standard).
+ // We use these as well as a couple of other defines to statically determine
+ // what FP ABI used.
+ // GCC versions 4.4 and below don't support hard-fp.
+ // GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
+ // __ARM_PCS_VFP.
+
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+#if GCC_VERSION >= 40600
+#if defined(__ARM_PCS_VFP)
+ return true;
#else
- asm("vmov d0, r0, r1");
-#endif // __thumb__
-#endif // defined(__VFP_FP__) && !defined(__SOFTFP__)
- asm("mov r1, #0":::"r1");
-}
+ return false;
+#endif
+#elif GCC_VERSION < 40500
+ return false;
-bool OS::ArmUsingHardFloat() {
- // Cast helper function from returning void to returning double.
- typedef double (*F)();
- F f = FUNCTION_CAST<F>(FUNCTION_ADDR(ArmUsingHardFloatHelper));
- return f() == 1.0;
+#else
+#if defined(__ARM_PCS_VFP)
+ return true;
+#elif defined(__ARM_PCS) || defined(__SOFTFP) || !defined(__VFP_FP__)
+ return false;
+#else
+#error "Your version of GCC does not report the FP ABI compiled for." \
+ "Please report it on this issue" \
+ "http://code.google.com/p/v8/issues/detail?id=2140"
+
+#endif
+#endif
+#undef GCC_VERSION
}
#endif // def __arm__
diff --git a/src/3rdparty/v8/src/platform-qnx.cc b/src/3rdparty/v8/src/platform-qnx.cc
index bf9f5ba..46d69b8 100644
--- a/src/3rdparty/v8/src/platform-qnx.cc
+++ b/src/3rdparty/v8/src/platform-qnx.cc
@@ -139,48 +139,43 @@ bool OS::ArmCpuHasFeature(CpuFeature feature) {
}
-// Simple helper function to detect whether the C code is compiled with
-// option -mfloat-abi=hard. The register d0 is loaded with 1.0 and the register
-// pair r0, r1 is loaded with 0.0. If -mfloat-abi=hard is pased to GCC then
-// calling this will return 1.0 and otherwise 0.0.
-static void ArmUsingHardFloatHelper() {
- asm("mov r0, #0");
-#if defined(__VFP_FP__) && !defined(__SOFTFP__)
- // Load 0x3ff00000 into r1 using instructions available in both ARM
- // and Thumb mode.
- asm("mov r1, #3");
- asm("mov r2, #255");
- asm("lsl r1, r1, #8");
- asm("orr r1, r1, r2");
- asm("lsl r1, r1, #20");
- // For vmov d0, r0, r1 use ARM mode.
-#ifdef __thumb__
- asm volatile(
- "@ Enter ARM Mode \n\t"
- " adr r3, 1f \n\t"
- " bx r3 \n\t"
- " .ALIGN 4 \n\t"
- " .ARM \n"
- "1: vmov d0, r0, r1 \n\t"
- "@ Enter THUMB Mode\n\t"
- " adr r3, 2f+1 \n\t"
- " bx r3 \n\t"
- " .THUMB \n"
- "2: \n\t");
+bool OS::ArmUsingHardFloat() {
+ // GCC versions 4.6 and above define __ARM_PCS or __ARM_PCS_VFP to specify
+ // the Floating Point ABI used (PCS stands for Procedure Call Standard).
+ // We use these as well as a couple of other defines to statically determine
+ // what FP ABI used.
+ // GCC versions 4.4 and below don't support hard-fp.
+ // GCC versions 4.5 may support hard-fp without defining __ARM_PCS or
+ // __ARM_PCS_VFP.
+
+#define GCC_VERSION (__GNUC__ * 10000 \
+ + __GNUC_MINOR__ * 100 \
+ + __GNUC_PATCHLEVEL__)
+#if GCC_VERSION >= 40600
+#if defined(__ARM_PCS_VFP)
+ return true;
#else
- asm("vmov d0, r0, r1");
-#endif // __thumb__
-#endif // defined(__VFP_FP__) && !defined(__SOFTFP__)
- asm("mov r1, #0");
-}
+ return false;
+#endif
+#elif GCC_VERSION < 40500
+ return false;
-bool OS::ArmUsingHardFloat() {
- // Cast helper function from returning void to returning double.
- typedef double (*F)();
- F f = FUNCTION_CAST<F>(FUNCTION_ADDR(ArmUsingHardFloatHelper));
- return f() == 1.0;
+#else
+#if defined(__ARM_PCS_VFP)
+ return true;
+#elif defined(__ARM_PCS) || defined(__SOFTFP) || !defined(__VFP_FP__)
+ return false;
+#else
+#error "Your version of GCC does not report the FP ABI compiled for." \
+ "Please report it on this issue" \
+ "http://code.google.com/p/v8/issues/detail?id=2140"
+
+#endif
+#endif
+#undef GCC_VERSION
}
+
#endif // def __arm__
--
1.8.3.2

View File

@ -1,7 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI[md5sum] = "610f011757755888153cb2004c04446f"
SRC_URI[sha256sum] = "65071ab9ab7d9024b7ba6d128a1c97ac09cf1b37818affb4238e4ba7d6665cc0"

View File

@ -1,11 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI += " \
file://0003-V8-Cleanup-hardfp-ABI-detection.-This-work-was-trigg.patch \
"
SRC_URI[md5sum] = "610f011757755888153cb2004c04446f"
SRC_URI[sha256sum] = "65071ab9ab7d9024b7ba6d128a1c97ac09cf1b37818affb4238e4ba7d6665cc0"

View File

@ -1,13 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
# LICENSE files are missing in 5.0.2
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
file://${COMMON_LICENSE_DIR}/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891 \
file://${COMMON_LICENSE_DIR}/GFDL-1.3;md5=1083add59b39991c748ea70a92166959 \
"
PR = "r1"
SRC_URI[md5sum] = "f0902250974440c9c63569112a67440c"
SRC_URI[sha256sum] = "fffc7bd71e6cb2853da3c90d7f9794583e7a83e4eeb6fea039a2efac53688834"

View File

@ -1,7 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI[md5sum] = "22cd03e2e2aadbc5e2ce324a3526fa8b"
SRC_URI[sha256sum] = "2a2235f4f4afd5bf8c6960efafbe89f8c443f174fb22931d48f566660cfcea9a"

View File

@ -1,7 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI[md5sum] = "929db18c2f4f66cb2ba204076f9f0c22"
SRC_URI[sha256sum] = "def1b60e5ff5513cbda27200554fb568ef822e0ee790476facfe3bcf3438598f"

View File

@ -1,13 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
# LICENSE files are missing in 5.0.2
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/LGPL-2.1;md5=1a6d268fd218675ffea8be556788b780 \
file://${COMMON_LICENSE_DIR}/GPL-3.0;md5=c79ff39f19dfec6d293b95dea7b07891 \
file://${COMMON_LICENSE_DIR}/GFDL-1.3;md5=1083add59b39991c748ea70a92166959 \
"
PR = "r1"
SRC_URI[md5sum] = "a000016afd3672540b2488c2f8e8d8b3"
SRC_URI[sha256sum] = "5983485ade365a9e809d4614cc76fb106c35d5c514e0312a9013bb25227a6521"

View File

@ -1,127 +0,0 @@
From f5d7b5cd073eb6b5a60658b9622c59a682fd828d Mon Sep 17 00:00:00 2001
From: Martin Jansa <Martin.jansa@gmail.com>
Date: Wed, 11 Sep 2013 18:30:08 +0200
Subject: [PATCH] Allow to build only lrelease + lupdate + lconvert
This is useful e.g. when cross compiling with OpenEmbedded where qtbase-native
is built without GUI support (no-png is set) and we still want to build
native lrelease + lupdate + lconvert tools.
Upstream-Status: Pending
Signed-off-by: Martin Jansa <Martin.jansa@gmail.com>
---
examples/examples.pro | 4 ++--
src/designer/src/src.pro | 14 ++++++++------
src/linguist/linguist.pro | 2 +-
src/src.pro | 10 ++++++----
tests/auto/auto.pro | 20 +++++++++++---------
5 files changed, 28 insertions(+), 22 deletions(-)
diff --git a/examples/examples.pro b/examples/examples.pro
index 4955969..8e86419 100644
--- a/examples/examples.pro
+++ b/examples/examples.pro
@@ -1,3 +1,3 @@
TEMPLATE = subdirs
-qtHaveModule(widgets): SUBDIRS += help designer linguist uitools assistant
-
+!linguistonly:qtHaveModule(widgets): SUBDIRS += help designer assistant
+qtHaveModule(widgets): SUBDIRS += linguist uitools
diff --git a/src/designer/src/src.pro b/src/designer/src/src.pro
index 64d1c37..6e6912d 100644
--- a/src/designer/src/src.pro
+++ b/src/designer/src/src.pro
@@ -1,10 +1,12 @@
TEMPLATE = subdirs
CONFIG += ordered
-SUBDIRS = \
- uitools \
- lib \
- components \
- designer
+!linguistonly {
+ SUBDIRS = \
+ lib \
+ components \
+ designer
+}
+SUBDIRS += uitools
-contains(QT_CONFIG, shared): SUBDIRS += plugins
+!linguistonly:contains(QT_CONFIG, shared): SUBDIRS += plugins
diff --git a/src/linguist/linguist.pro b/src/linguist/linguist.pro
index 04b0ab6..8c63bb4 100644
--- a/src/linguist/linguist.pro
+++ b/src/linguist/linguist.pro
@@ -3,7 +3,7 @@ SUBDIRS = \
lrelease \
lupdate \
lconvert
-!no-png:qtHaveModule(widgets): SUBDIRS += linguist
+!linguistonly:!no-png:qtHaveModule(widgets): SUBDIRS += linguist
win32:CMAKE_BIN_SUFFIX = ".exe"
diff --git a/src/src.pro b/src/src.pro
index 3799567..7deb785 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -5,10 +5,12 @@ qtHaveModule(widgets) {
no-png {
message("Some graphics-related tools are unavailable without PNG support")
} else {
- SUBDIRS = assistant \
+ !linguistonly {
+ SUBDIRS = assistant \
pixeltool \
- qtestlib \
- designer
+ qtestlib
+ }
+ SUBDIRS += designer
# unix:!mac:!embedded:!qpa:SUBDIRS += qtconfig
}
}
@@ -21,7 +23,7 @@ mac {
embedded:SUBDIRS += kmap2qmap
-qtHaveModule(dbus): SUBDIRS += qdbus
+!linguistonly:qtHaveModule(dbus): SUBDIRS += qdbus
# We don't need these command line utilities on embedded platforms.
embedded: SUBDIRS += makeqpf
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 074aa34..d38e05d 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -1,13 +1,15 @@
TEMPLATE=subdirs
-SUBDIRS=\
- linguist \
- host.pro \
- qhelpcontentmodel \
- qhelpenginecore \
- qhelpgenerator \
- qhelpindexmodel \
- qhelpprojectdata \
- cmake
+!linguistonly {
+ SUBDIRS=\
+ linguist \
+ host.pro \
+ qhelpcontentmodel \
+ qhelpenginecore \
+ qhelpgenerator \
+ qhelpindexmodel \
+ qhelpprojectdata \
+ cmake
+}
# These tests don't make sense for cross-compiled builds
cross_compile:SUBDIRS -= host.pro
--
1.7.10.4

View File

@ -1,5 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "93ddcfdb87c6a784b0a921d09eafbdad"
SRC_URI[sha256sum] = "bb9bcf38dbb429cf884d688793681257876f97a2c0fba08528393a39eec7755b"

View File

@ -1,46 +0,0 @@
From 7f97da120b5b3dde22c9d89a8da8a4f35a9f2a26 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 19 Feb 2013 11:16:05 -0800
Subject: [PATCH 1/3] xcbcommon should not be a mandatory dependency
Not all platforms that use qtwayland depend on xcbcommon to be present
for them to be functional
This change won't be needed when this commit from dev branch is merged
to stable:
commit 894adf8a447865119be7c6c4d01577d8032f4177
Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Date: Mon Apr 8 12:54:58 2013 +0200
make failure to configure wayland non-fatal for a top-level build of qt
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qtwayland.pro | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qtwayland.pro b/qtwayland.pro
index 24e104b..66dd38a 100644
--- a/qtwayland.pro
+++ b/qtwayland.pro
@@ -11,7 +11,7 @@ qtCompileTest(xcomposite)
load(qt_parts)
!config_wayland {
- error(QtWayland requires Wayland 1.0.3 or higher)
+ error("QtWayland requires Wayland 1.0.3 or higher")
}
!config_xkbcommon {
@@ -19,7 +19,7 @@ load(qt_parts)
}
!config_wayland_scanner {
- error(QtWayland requires wayland-scanner)
+ error("QtWayland requires wayland-scanner")
}
!config_wayland_egl {
--
1.8.2.1

View File

@ -1,33 +0,0 @@
From 5b7c89d211a193acfd182eb0519b658629af3193 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Fri, 1 Mar 2013 13:00:53 -0800
Subject: [PATCH 2/3] Temporarily patching this out as Qt5.0.0 does not have
qtHaveModule
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/compositor/compositor_api/compositor_api.pri | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/compositor/compositor_api/compositor_api.pri b/src/compositor/compositor_api/compositor_api.pri
index f0bbe76..e7905e5 100644
--- a/src/compositor/compositor_api/compositor_api.pri
+++ b/src/compositor/compositor_api/compositor_api.pri
@@ -12,7 +12,7 @@ SOURCES += \
QT += core-private
-qtHaveModule(quick) {
+#qtHaveModule(quick) {
SOURCES += \
compositor_api/qwaylandsurfaceitem.cpp \
compositor_api/qwaylandsurfacenode.cpp \
@@ -27,4 +27,4 @@ qtHaveModule(quick) {
QT += qml quick
QT += quick-private gui-private
-}
+#}
--
1.8.2.1

View File

@ -1,71 +0,0 @@
From 2d707f8dc9f0658d889aef4f4c5a62595598402c Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Wed, 6 Mar 2013 10:18:49 -0800
Subject: [PATCH 3/3] eglCreateImageKHR requires the context to be NULL
As per the EGL spec the context passed to that function should
be null.
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
.../wayland-egl/waylandeglintegration.cpp | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
index 73877c4..16e77fb 100644
--- a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
+++ b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
@@ -101,7 +101,6 @@ public:
PFNGLEGLIMAGETARGETTEXTURE2DOESPROC gl_egl_image_target_texture_2d;
- QPlatformNativeInterface::NativeResourceForContextFunction get_egl_context;
};
WaylandEglIntegration::WaylandEglIntegration()
@@ -121,10 +120,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
const char *extensionString = eglQueryString(d->egl_display, EGL_EXTENSIONS);
if (extensionString && strstr(extensionString, "EGL_WL_bind_wayland_display"))
{
- d->get_egl_context = nativeInterface->nativeResourceFunctionForContext("get_egl_context");
- if (!d->get_egl_context) {
- qWarning("Failed to retrieve the get_egl_context function");
- }
d->egl_bind_wayland_display =
reinterpret_cast<PFNEGLBINDWAYLANDDISPLAYWL>(eglGetProcAddress("eglBindWaylandDisplayWL"));
d->egl_unbind_wayland_display =
@@ -137,7 +132,6 @@ void WaylandEglIntegration::initializeHardware(QtWayland::Display *waylandDispla
reinterpret_cast<PFNGLEGLIMAGETARGETTEXTURE2DOESPROC>(eglGetProcAddress("glEGLImageTargetTexture2DOES"));
if (d->egl_bind_wayland_display
- && d->get_egl_context
&& d->egl_unbind_wayland_display
&& d->egl_create_image
&& d->egl_destroy_image
@@ -162,10 +156,7 @@ GLuint WaylandEglIntegration::createTextureFromBuffer(wl_buffer *buffer, QOpenGL
return 0;
}
- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
- EGLContext egl_context = d->get_egl_context(context);
-
- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
+ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
EGL_WAYLAND_BUFFER_WL,
buffer, NULL);
@@ -229,10 +220,7 @@ void *WaylandEglIntegration::lockNativeBuffer(struct wl_buffer *buffer, QOpenGLC
{
Q_D(const WaylandEglIntegration);
- QPlatformNativeInterface *nativeInterface = QGuiApplication::platformNativeInterface();
- EGLContext egl_context = d->get_egl_context(context);
-
- EGLImageKHR image = d->egl_create_image(d->egl_display, egl_context,
+ EGLImageKHR image = d->egl_create_image(d->egl_display, NULL,
EGL_WAYLAND_BUFFER_WL,
buffer, NULL);
return image;
--
1.8.2.1

View File

@ -1,33 +1,38 @@
From c8417a2b0b66c26eaa0569c19422f87598e29629 Mon Sep 17 00:00:00 2001
From 7f97da120b5b3dde22c9d89a8da8a4f35a9f2a26 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Tue, 19 Feb 2013 11:16:05 -0800
Subject: [PATCH 1/4] xcbcommon should not be a mandatory dependency
Subject: [PATCH 1/3] xcbcommon should not be a mandatory dependency
Not all platforms that use qtwayland depend on xcbcommon to be present
for them to be functional
Change-Id: I899d9314bdf772a9d5b8b7c143636f9f12c8ad1d
This change won't be needed when this commit from dev branch is merged
to stable:
commit 894adf8a447865119be7c6c4d01577d8032f4177
Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Date: Mon Apr 8 12:54:58 2013 +0200
make failure to configure wayland non-fatal for a top-level build of qt
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
qtwayland.pro | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
qtwayland.pro | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/qtwayland.pro b/qtwayland.pro
index ee0e5ac..f1a6b6f 100644
index 24e104b..66dd38a 100644
--- a/qtwayland.pro
+++ b/qtwayland.pro
@@ -11,15 +11,15 @@ qtCompileTest(xcomposite)
@@ -11,7 +11,7 @@ qtCompileTest(xcomposite)
load(qt_parts)
!config_wayland {
- error(QtWayland requires Wayland 1.0.0 or higher)
+ error("QtWayland requires Wayland 1.0.0 or higher")
- error(QtWayland requires Wayland 1.0.3 or higher)
+ error("QtWayland requires Wayland 1.0.3 or higher")
}
!config_xkbcommon {
- error(QtWayland requires xkbcommon 0.2.0 or higher)
+ warning("No xkbcommon 0.2.0 or higher found, disabling support for it")
@@ -19,7 +19,7 @@ load(qt_parts)
}
!config_wayland_scanner {

View File

@ -1,7 +1,7 @@
From ae72fc41609c15293b1027ca3f2c4d712e4ae478 Mon Sep 17 00:00:00 2001
From 5b7c89d211a193acfd182eb0519b658629af3193 Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Fri, 1 Mar 2013 13:00:53 -0800
Subject: [PATCH 2/4] Temporarily patching this out as Qt5.0.0 does not have
Subject: [PATCH 2/3] Temporarily patching this out as Qt5.0.0 does not have
qtHaveModule
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

View File

@ -1,7 +1,7 @@
From ca1f46a6192061e254deca1810d25ba423acb8de Mon Sep 17 00:00:00 2001
From 2d707f8dc9f0658d889aef4f4c5a62595598402c Mon Sep 17 00:00:00 2001
From: Mikko Levonmaa <mikko.levonmaa@palm.com>
Date: Wed, 6 Mar 2013 10:18:49 -0800
Subject: [PATCH 3/4] eglCreateImageKHR requires the context to be NULL
Subject: [PATCH 3/3] eglCreateImageKHR requires the context to be NULL
As per the EGL spec the context passed to that function should
be null.
@ -12,7 +12,7 @@ Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
index 2a923ce..2be1e4c 100644
index 73877c4..16e77fb 100644
--- a/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
+++ b/src/plugins/waylandcompositors/wayland-egl/waylandeglintegration.cpp
@@ -101,7 +101,6 @@ public:

View File

@ -1,31 +0,0 @@
From 5c70644070803b665f64c2d3212b55a4a3270765 Mon Sep 17 00:00:00 2001
From: Daniel Stone <daniel@fooishbar.org>
Date: Sun, 10 Mar 2013 11:29:38 -0700
Subject: [PATCH 4/4] EGL: Specify vec2d precision qualifier in fragment shader
GLSL does not specify a default precision qualifier here, so we have to
explicitly define it. Use highp, as it gets redefined to mediump by
QGLShaderProgram when not available.
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/plugins/platforms/qwayland-egl/qwaylandglcontext.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/plugins/platforms/qwayland-egl/qwaylandglcontext.cpp b/src/plugins/platforms/qwayland-egl/qwaylandglcontext.cpp
index 4d8017d..a0ac6d9 100644
--- a/src/plugins/platforms/qwayland-egl/qwaylandglcontext.cpp
+++ b/src/plugins/platforms/qwayland-egl/qwaylandglcontext.cpp
@@ -124,7 +124,7 @@ void QWaylandGLContext::swapBuffers(QPlatformSurface *surface)
gl_Position = position;\n\
outTexCoords = texCoords.xy;\n\
}");
- m_blitProgram->addShaderFromSourceCode(QOpenGLShader::Fragment, "varying vec2 outTexCoords;\n\
+ m_blitProgram->addShaderFromSourceCode(QOpenGLShader::Fragment, "varying highp vec2 outTexCoords;\n\
uniform sampler2D texture;\n\
void main()\n\
{\n\
--
1.8.2.1

View File

@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://${S}/src/compositor/compositor_api/qwaylandsurfacenod
# make it easier to remove by .bbappend (e.g. for building qtwayland with danny which doesn't
# have libxkbcommon in oe-core).
XKB_DEPENDS = "libxkbcommon xproto"
DEPENDS += "qtbase qtdeclarative wayland wayland-native ${XKB_DEPENDS}"
DEPENDS += "qtbase qtdeclarative wayland wayland-native qtwayland-native ${XKB_DEPENDS}"
SRC_URI += " \
file://0001-xcbcommon-should-not-be-a-mandatory-dependency.patch \

View File

@ -1,18 +0,0 @@
require qt5-git.inc
require ${PN}.inc
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${BPN}-5.1.0+git:"
DEPENDS += "qtwayland-native"
# qtwayland_git has -1 and should be default
DEFAULT_PREFERRENCE = "-2"
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
# while qtwayland_git stays compatible with 5.0.2
PV = "5.1.0+git${SRCPV}"
# newer revisions depend on newer wayland-1.1 APIs
SRCREV = "87dba733acfddecd8562e8e26ce5f994aa499fe3"
# SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"

View File

@ -1,22 +1,10 @@
require qt5-git.inc
require ${PN}.inc
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1,
# but we'll use 5.0.2+git to indicate this version is compatible with 5.0.2
PV = "5.0.2+git${SRCPV}"
# qtwayland wasn't released yet, last tag before this SRCREV is 5.0.0-beta1
# this PV is only to indicate that this recipe is compatible with qt5 5.1.0
PV = "5.1.0+git${SRCPV}"
# drop when bumping SRCREV
PR = "r2"
SRCREV = "5cb159395eccb1d96fb73a78e499eef30aacb46d"
SRC_URI += " \
file://0004-EGL-Specify-vec2d-precision-qualifier-in-fragment-sh.patch \
"
do_configure_prepend() {
# Temporary hack to get qtwayland build for Qt 5.0.2
if ! grep -q MODULE_VERSION ${S}/.qmake.conf; then
echo "MODULE_VERSION = 0.0.0" >> ${S}/.qmake.conf
fi
}
# newer revisions depend on newer wayland-1.1 APIs
SRCREV = "87dba733acfddecd8562e8e26ce5f994aa499fe3"
# SRCREV = "ede872db1cdfdc2810c2dd29edd5fb6e1cdac0f5"

View File

@ -1,8 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
# was renamed to just qtwebkit-examples in 5.1
QT_MODULE = "qtwebkit-examples-and-demos"
SRC_URI[md5sum] = "9c48df80ba9bb3587b4d6ec35daf840a"
SRC_URI[sha256sum] = "10981ae3a6775387badce33542733d63895c5a62b3b33e0973d782ec1b9174e6"

View File

@ -1,7 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
PR = "r1"
SRC_URI[md5sum] = "85aad9f287910c21c8464d7d1ea010a9"
SRC_URI[sha256sum] = "6ff4038f8db68be51661d1a6646f510b26f6ebbecbdeefb76cd8361f808768f6"

View File

@ -1,17 +0,0 @@
require qt5-${PV}.inc
require ${PN}.inc
# LICENSE.FDL is missing in 5.0.2, added a bit later:
# commit 3bc0756a63d348d3446d9581f45429c417fd9c29
# Author: Sergio Ahumada <sergio.ahumada@digia.com>
# Date: Thu Apr 18 11:38:32 2013 +0200
# Add missing LICENSE.FDL file
LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=4193e7f1d47a858f6b7c0f1ee66161de \
file://LICENSE.GPL;md5=d32239bcb673463ab874e80d47fae504 \
file://LGPL_EXCEPTION.txt;md5=0145c4d1b6f96a661c2c139dfb268fb6 \
"
PR = "r1"
SRC_URI[md5sum] = "29e6776165e43e9f3a865338121b4e1d"
SRC_URI[sha256sum] = "c05ae43fffc911ffda808deecebddd1b31916714cefc9cfd840689fc52ae20a6"