qt5: add recipes for 5.1.0

* only rebased patches and updated SRC_URI checksum, haven't even build
  tested it yet

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Martin Jansa 2013-07-03 16:14:44 +02:00
parent ca4a0758e1
commit 902f55b957
43 changed files with 1767 additions and 1 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.0.2+git%"
# possible values now "5.0.2", "5.0.2+git%", "5.1.0%"
QT5_VERSION ?= "5.0.2"
@ -12,7 +12,9 @@ PREFERRED_VERSION_qtgraphicaleffects = "${QT5_VERSION}"
PREFERRED_VERSION_qtimageformats = "${QT5_VERSION}"
PREFERRED_VERSION_qtmultimedia = "${QT5_VERSION}"
PREFERRED_VERSION_qtquick1 = "${QT5_VERSION}"
PREFERRED_VERSION_qtsensors = "${QT5_VERSION}"
PREFERRED_VERSION_qtscript = "${QT5_VERSION}"
PREFERRED_VERSION_qtsvg = "${QT5_VERSION}"
PREFERRED_VERSION_qtwebkit = "${QT5_VERSION}"
PREFERRED_VERSION_qtxmlpatterns = "${QT5_VERSION}"
PREFERRED_VERSION_qtwayland = "${QT5_VERSION}"

View File

@ -0,0 +1,22 @@
# 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 ?= "5.1"
# less tested then 5.0.2 or git recipes
DEFAULT_PREFERENCE = "-2"
SRC_URI += " \
http://download.qt-project.org/official_releases/qt/${QT_VERSION_DIR}/${QT_VERSION}/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

@ -67,6 +67,7 @@ FILES_${PN}-qmlplugins = " \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/*.qmltypes \
${OE_QMAKE_PATH_IMPORTS}/*/*/*/qmldir \
"
FILES_${PN}-tools = " \
${OE_QMAKE_PATH_BINS}/* \
"

View File

@ -0,0 +1,304 @@
From 7244ed3ca9326f3521de8961dbe7f9759f8e8041 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/23] 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 d7c9674..45e0586 100755
--- a/configure
+++ b/configure
@@ -284,6 +284,16 @@ getQMakeConf()
getSingleQMakeVariable "$1" "$specvals"
}
+# OE qmake.conf is reading some variables from shell env
+# read them from qmake.conf, replace qmake () syntax with shell and eval
+getQEvalMakeConf()
+{
+ VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'`
+ EVAL=`eval "echo ${VAL}"`
+# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2
+ eval "echo ${VAL}"
+}
+
getXQMakeConf()
{
if [ -z "$xspecvals" ]; then
@@ -293,6 +303,16 @@ getXQMakeConf()
getSingleQMakeVariable "$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
@@ -809,6 +829,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}"
@@ -2836,7 +2868,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
@@ -2871,7 +2903,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
@@ -3909,6 +3941,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..."
@@ -3947,11 +3987,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 [ "$CFG_RELEASE_QMAKE" = "yes" ]; then
setBootstrapVariable QMAKE_CFLAGS_RELEASE
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

@ -0,0 +1,40 @@
From 28cb656a49b80364f4bfc4387849f1e9ac56fbf2 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.
Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6
Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/src.pro | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/src.pro b/src/src.pro
index b4c9602..f30ec1f 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -122,7 +122,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
contains(QT_CONFIG, opengl(es1|es2)?):SUBDIRS += src_openglextensions
src_plugins.depends += src_gui src_platformsupport
!contains(QT_CONFIG, no-widgets) {
- SUBDIRS += src_tools_uic src_widgets
+ SUBDIRS += src_widgets
src_plugins.depends += src_widgets
contains(QT_CONFIG, opengl(es1|es2)?) {
SUBDIRS += src_opengl
@@ -134,7 +134,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent
}
}
}
-SUBDIRS += src_plugins src_tools_qdoc
+SUBDIRS += src_plugins src_tools_qdoc src_tools_uic
nacl: SUBDIRS -= src_network src_testlib
--
1.8.3.2

View File

@ -0,0 +1,36 @@
From 6eb6d141309bc5a42218fbc755545ead70a88b55 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/23] 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 1eaebe5..bda2ffe 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

@ -0,0 +1,218 @@
From 253db5565b402dfc0b2abbcc813d6ac32eecef96 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/23] 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 | 12 +++++++++---
src/corelib/global/qlibraryinfo.cpp | 3 ++-
src/corelib/global/qlibraryinfo.h | 1 +
tools/configure/configureapp.cpp | 8 ++++++++
8 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/configure b/configure
index 45e0586..dbe7360 100755
--- a/configure
+++ b/configure
@@ -1038,6 +1038,7 @@ QT_HOST_PREFIX=
QT_HOST_BINS=
QT_HOST_LIBS=
QT_HOST_DATA=
+QT_EXTERNAL_HOST_BINS=
#flags for SQL drivers
QT_CFLAGS_PSQL=
@@ -1145,7 +1146,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|-hostlibdir|-qpa|-qconfig|-android-sdk|-android-ndk|-android-ndk-platform|-android-ndk-host|-android-arch|-android-toolchain-version)
+ -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|-hostlibdir|-qpa|-qconfig|-android-sdk|-android-ndk|-android-ndk-platform|-android-ndk-host|-android-arch|-android-toolchain-version|-external-hostbindir)
VAR=`echo $1 | sed "s,^-\(.*\),\1,"`
shift
VAL="$1"
@@ -1333,6 +1334,9 @@ while [ "$#" -gt 0 ]; do
hostlibdir)
QT_HOST_LIBS="$VAL"
;;
+ external-hostbindir)
+ QT_EXTERNAL_HOST_BINS="$VAL"
+ ;;
pkg-config)
if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then
CFG_PKGCONFIG="$VAL"
@@ -3190,6 +3194,11 @@ if [ "$CFG_COMPILE_EXAMPLES" = "yes" ]; then
QMAKE_CONFIG="$QMAKE_CONFIG compile_examples"
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
#-------------------------------------------------------------------------------
@@ -3358,6 +3367,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
@@ -3873,6 +3885,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = {
"qt_hbinpath=$QT_HOST_BINS",
"qt_hlibpath=$QT_HOST_LIBS",
"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 bbbb5d3..d581367 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}.binary)
isEmpty($$1) {
- $$1 = $$[QT_HOST_BINS]/$$2
+ $$1 = $$[QT_EXTERNAL_HOST_BINS]/$$2
+ isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ $$1 = $$[QT_HOST_BINS]/$$2
+ }
exists($$eval($$1).pl) {
$$1 = perl -w $$eval($$1).pl
} else: contains(QMAKE_HOST.os, Windows) {
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 9a6b963..83ef3a0 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -16,7 +16,7 @@ CONFIG += console
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
# Non-bootstrapped tools always need this because of the environment setup.
-!build_pass:if(!host_build|!force_bootstrap|force_independent) {
+!build_pass:if(!host_build|!force_bootstrap|force_independent):isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
isEmpty(MODULE):MODULE = $$TARGET
!host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, )
diff --git a/qmake/property.cpp b/qmake/property.cpp
index 4685440..93eb1d4 100644
--- a/qmake/property.cpp
+++ b/qmake/property.cpp
@@ -75,6 +75,7 @@ static const struct {
{ "QT_HOST_DATA", QLibraryInfo::HostDataPath, true },
{ "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true },
{ "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true },
+ { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true },
{ "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true },
{ "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true },
};
diff --git a/qtbase.pro b/qtbase.pro
index 6ab032e..38872b6 100644
--- a/qtbase.pro
+++ b/qtbase.pro
@@ -68,16 +68,22 @@ 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.pl
+syncqt.files = $$PWD/bin/syncqt.pl
+!isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+ syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/bin/syncqt.pl
+}
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 bda2ffe..530aea9 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
@@ -296,6 +296,7 @@ static const struct {
{ "HostBinaries", "bin" },
{ "HostLibraries", "lib" },
{ "HostData", "." },
+ { "ExternalHostBinaries", "" },
{ "TargetSpec", "" },
{ "HostSpec", "" },
#endif
diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h
index b275e01..0e6baed 100644
--- a/src/corelib/global/qlibraryinfo.h
+++ b/src/corelib/global/qlibraryinfo.h
@@ -84,6 +84,7 @@ public:
HostBinariesPath,
HostLibrariesPath,
HostDataPath,
+ ExternalHostBinariesPath,
TargetSpecPath,
HostSpecPath,
LastHostPath = HostSpecPath,
diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp
index f92fad1..8f0bd0e 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -1161,6 +1161,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)
@@ -3752,6 +3759,7 @@ void Configure::generateQConfigCpp()
<< " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl
<< " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << 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

@ -0,0 +1,51 @@
From ad252e21f737536027aebbf63217188a80d108ba 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/23] 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 | 3 +--
2 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
index d581367..2bc6533 100644
--- a/mkspecs/features/qt_functions.prf
+++ b/mkspecs/features/qt_functions.prf
@@ -194,7 +194,11 @@ defineTest(qtPrepareTool) {
$$1 = $$eval(QT_TOOL.$${2}.binary)
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
}
exists($$eval($$1).pl) {
diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf
index 83ef3a0..21c9eb7 100644
--- a/mkspecs/features/qt_tool.prf
+++ b/mkspecs/features/qt_tool.prf
@@ -15,8 +15,7 @@ CONFIG += console
# If we are doing a prefix build, create a "module" pri which enables
# qtPrepareTool() to work with the non-installed build.
-# Non-bootstrapped tools always need this because of the environment setup.
-!build_pass:if(!host_build|!force_bootstrap|force_independent):isEmpty($$[QT_EXTERNAL_HOST_BINS]) {
+!build_pass:if(!host_build|!force_bootstrap|force_independent):!exists($$[QT_EXTERNAL_HOST_BINS]) {
isEmpty(MODULE):MODULE = $$TARGET
!host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, )
--
1.8.3.2

View File

@ -0,0 +1,30 @@
From bd7521ebc01feedde14e3e5e037ebd66b994db06 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/23] 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 dbe7360..f8f0e9a 100755
--- a/configure
+++ b/configure
@@ -3963,7 +3963,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

@ -0,0 +1,29 @@
From 00997b0cf46d6b6c362c48ee31f886c553a3fb4f 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/23] 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

@ -0,0 +1,29 @@
From 662115f5e837fc397533810ca659af0f66749ce4 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/23] configureapp: Prefix default LIBDIRS and INCDIRS with
SYSROOT
Upstream-Status: Pending
---
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 8f0bd0e..f7ff15c 100644
--- a/tools/configure/configureapp.cpp
+++ b/tools/configure/configureapp.cpp
@@ -3118,8 +3118,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

@ -0,0 +1,70 @@
From 1db1ad1ef3c57f531bf67be33a4cc43528864543 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/23] 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 | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf
index 53a5499..9dfc1dd 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -140,18 +140,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 = $$QMAKE_PKGCONFIG_LIBDIR
- QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace
+ 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 = "=" \
+
+ 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 = $$QMAKE_PKGCONFIG_LIBDIR
- QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace
+ QMAKE_LIBTOOL_LIBDIR = $$[QT_INSTALL_LIBS/raw]
+ QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace lafile_replace
}
unix|win32-g++* {
--
1.8.3.2

View File

@ -0,0 +1,62 @@
From 036a2be171a0bf6fea5eaa7383e19f2559a37dce 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/23] 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 9dfc1dd..5cedb8f 100644
--- a/mkspecs/features/qt_module.prf
+++ b/mkspecs/features/qt_module.prf
@@ -144,17 +144,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

@ -0,0 +1,82 @@
From c441038a17c1173c8abafd451c4083b2eccc54ab 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/23] 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 | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/mkspecs/features/wayland-scanner.prf b/mkspecs/features/wayland-scanner.prf
index 2ec064f..847d0f7 100644
--- a/mkspecs/features/wayland-scanner.prf
+++ b/mkspecs/features/wayland-scanner.prf
@@ -10,7 +10,7 @@ wayland-server-header.input = WAYLANDSERVERSOURCES
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}
@@ -18,7 +18,7 @@ wayland-client-header.input = WAYLANDCLIENTSOURCES
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}
@@ -26,7 +26,7 @@ wayland-code.input = WAYLANDCLIENTSOURCES WAYLANDSERVERSOURCES
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
qtPrepareTool(QMAKE_QTWAYLANDSCANNER, qtwaylandscanner)
@@ -37,7 +37,7 @@ qtwayland-client-header.variable_out = HEADERS
qtwayland-client-header.depends = wayland-${QMAKE_FILE_BASE}-client-protocol$${first(QMAKE_EXT_H)}
qtwayland-client-header.output = qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland-client-header.commands = $$QMAKE_QTWAYLANDSCANNER client-header ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:qtwayland-client-header.commands = @echo QtWayland client header ${QMAKE_FILE_IN} && $$qtwayland-client-header.commands
+#silent:qtwayland-client-header.commands = @echo QtWayland client header ${QMAKE_FILE_IN} && $$qtwayland-client-header.commands
QMAKE_EXTRA_COMPILERS += qtwayland-client-header
qtwayland-client-code.name = qtwayland ${QMAKE_FILE_BASE}
@@ -46,7 +46,7 @@ qtwayland-client-code.variable_out = SOURCES
qtwayland-client-code.depends = qwayland-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland-client-code.output = qwayland-${QMAKE_FILE_BASE}.cpp
qtwayland-client-code.commands = $$QMAKE_QTWAYLANDSCANNER client-code ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:qtwayland-client-code.commands = @echo QtWayland client code ${QMAKE_FILE_IN} && $$qtwayland-client-code.commands
+#silent:qtwayland-client-code.commands = @echo QtWayland client code ${QMAKE_FILE_IN} && $$qtwayland-client-code.commands
QMAKE_EXTRA_COMPILERS += qtwayland-client-code
qtwayland-server-header.name = qtwayland ${QMAKE_FILE_BASE}
@@ -55,7 +55,7 @@ qtwayland-server-header.variable_out = HEADERS
qtwayland-server-header.depends = wayland-${QMAKE_FILE_BASE}-server-protocol$${first(QMAKE_EXT_H)}
qtwayland-server-header.output = qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland-server-header.commands = $$QMAKE_QTWAYLANDSCANNER server-header ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:qtwayland-server-header.commands = @echo QtWayland server header ${QMAKE_FILE_IN} && $$qtwayland-server-header.commands
+#silent:qtwayland-server-header.commands = @echo QtWayland server header ${QMAKE_FILE_IN} && $$qtwayland-server-header.commands
QMAKE_EXTRA_COMPILERS += qtwayland-server-header
qtwayland-server-code.name = qtwayland ${QMAKE_FILE_BASE}
@@ -64,5 +64,5 @@ qtwayland-server-code.variable_out = SOURCES
qtwayland-server-code.depends = qwayland-server-${QMAKE_FILE_BASE}$${first(QMAKE_EXT_H)}
qtwayland-server-code.output = qwayland-server-${QMAKE_FILE_BASE}.cpp
qtwayland-server-code.commands = $$QMAKE_QTWAYLANDSCANNER server-code ${QMAKE_FILE_IN} > ${QMAKE_FILE_OUT}
-silent:qtwayland-server-code.commands = @echo QtWayland server code ${QMAKE_FILE_IN} && $$qtwayland-server-code.commands
+#silent:qtwayland-server-code.commands = @echo QtWayland server code ${QMAKE_FILE_IN} && $$qtwayland-server-code.commands
QMAKE_EXTRA_COMPILERS += qtwayland-server-code
--
1.8.3.2

View File

@ -0,0 +1,44 @@
From 7a24e90118a0d81d76b68d3bd0dafcad0966e49e 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/23] 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 f8f0e9a..3c80d5f 100755
--- a/configure
+++ b/configure
@@ -842,20 +842,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

@ -0,0 +1,37 @@
From b115685d8c684181a0af79e44a1d170a5a8bfd05 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/23] 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 b4569df..d189e50 100644
--- a/mkspecs/features/configure.prf
+++ b/mkspecs/features/configure.prf
@@ -57,12 +57,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

@ -0,0 +1,47 @@
From 7455bfff17483c19d7eef3ad81a95f6996ff0ce8 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/23] 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>
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 3c80d5f..50dbebf 100755
--- a/configure
+++ b/configure
@@ -902,7 +902,7 @@ CFG_SKIP_MODULES=""
CFG_COMPILE_EXAMPLES=auto
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

@ -0,0 +1,35 @@
From 6da394a759ada8c3dcc6649dbbdf89918d675ae7 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/23] 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>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.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

@ -0,0 +1,48 @@
From 94a5ed9c22ed927123df3007d426de5d19e4f692 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/23] 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 | 7 -------
1 file changed, 7 deletions(-)
diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
index 2db752c..ca1b0c7 100644
--- a/mkspecs/features/qt_example_installs.prf
+++ b/mkspecs/features/qt_example_installs.prf
@@ -92,11 +92,4 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
allfiles -= doc
!isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles")
}
-
- !equals(TEMPLATE, subdirs):!compile_examples {
- TEMPLATE = aux
- CONFIG -= have_target qt staticlib dll
- SOURCES =
- INSTALLS -= target
- }
}
--
1.8.3.2

View File

@ -0,0 +1,154 @@
From 41a9c47ca820502d98039273f7465605464cdf9c 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/23] QOpenGLPaintDevice sub-area support
Allows creating QOpenGLPaintDevice targetting sub-area
of binded framebuffer.
Upstream-Status: Pending
Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/gui/opengl/qopenglpaintdevice.cpp | 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 f0e7e49..fe9a30c 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;
@@ -159,6 +160,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.
*/
@@ -228,6 +235,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 c05571c..01eb1bc 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);
void setDevicePixelRatio(qreal devicePixelRatio);
diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp
index 0782e42..52afc60 100644
--- a/src/gui/opengl/qopenglpaintengine.cpp
+++ b/src/gui/opengl/qopenglpaintengine.cpp
@@ -1978,7 +1978,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;
@@ -2066,7 +2069,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();
@@ -2109,6 +2112,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);
}
@@ -2117,14 +2121,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 d51f0e5..0d4b38d 100644
--- a/src/gui/opengl/qopenglpaintengine_p.h
+++ b/src/gui/opengl/qopenglpaintengine_p.h
@@ -264,6 +264,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 83f4075..ec29900 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

@ -0,0 +1,49 @@
From 7c4453b5203e908f0c851c2a34231d81eb2f73c2 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/23] 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
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
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 ec29900..9bda1db 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

@ -0,0 +1,34 @@
From fb16e96ffef959e45c9cbcbef4cc4f51065f2e47 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/23] Use BGRA extension in bindTexture
Upstream-Status: Pending
Change-Id: I18aecc87c5c7d4483cabe5555da33ca6bb8580f1
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
src/gui/opengl/qopengltexturecache.cpp | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/src/gui/opengl/qopengltexturecache.cpp b/src/gui/opengl/qopengltexturecache.cpp
index 94b8288..5c8aa3c 100644
--- a/src/gui/opengl/qopengltexturecache.cpp
+++ b/src/gui/opengl/qopengltexturecache.cpp
@@ -181,11 +181,7 @@ GLuint QOpenGLTextureCache::bindTexture(QOpenGLContext *context, qint64 key, con
QImage tx = image.convertToFormat(QImage::Format_ARGB32_Premultiplied);
- // Performance could be improved by skipping qgl_byteSwapImage().
- if (m_useByteSwapImage)
- 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

@ -0,0 +1,36 @@
From 9f79c8047289b9c5bff025a46757bfd5f9bfec4b 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 50dbebf..3b511d4 100755
--- a/configure
+++ b/configure
@@ -1980,6 +1980,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

@ -0,0 +1,35 @@
From a51b5c64a33a0c8b411aa4317356c7dfcb99e452 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 3b511d4..2a0be04 100755
--- a/configure
+++ b/configure
@@ -1987,6 +1987,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

@ -0,0 +1,35 @@
From eef64dc5f4d998518c314a765bc0a9db7f6fdf9b 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 2a0be04..64fbaeb 100755
--- a/configure
+++ b/configure
@@ -1994,6 +1994,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

@ -0,0 +1,11 @@
require qt5-${PV}.inc
require ${PN}.inc
do_install_append() {
# for modules which are still using syncqt and call qtPrepareTool(QMAKE_SYNCQT, syncqt)
# e.g. qt3d, qtjsondb, qtwayland
ln -sf syncqt.pl ${D}${OE_QMAKE_PATH_QT_BINS}/syncqt
}
SRC_URI[md5sum] = "0f8d14bb4039a2996c501a376ca7dae0"
SRC_URI[sha256sum] = "1fa8c591adab9d45e4f322edea9a55a517ebf1a006dd481eace0236623adc90a"

View File

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

View File

@ -0,0 +1,46 @@
From ea698b0a2588585356d1ea5139ca6feb7110611a 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 1/3] 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 +-
tools/qmltestrunner/qmltestrunner.pro | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
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
diff --git a/tools/qmltestrunner/qmltestrunner.pro b/tools/qmltestrunner/qmltestrunner.pro
index 5184c1f..668cf17 100644
--- a/tools/qmltestrunner/qmltestrunner.pro
+++ b/tools/qmltestrunner/qmltestrunner.pro
@@ -1,5 +1,5 @@
SOURCES += main.cpp
-QT += qml qmltest
+QT += qml qmltest quick
load(qt_tool)
--
1.8.3.2

View File

@ -0,0 +1,41 @@
From 6d28b0ec1bc93fea7502fadfbc12f8198ccf9d14 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/3] 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 a6dabee..290f283 100644
--- a/src/quick/items/qquickitemview.cpp
+++ b/src/quick/items/qquickitemview.cpp
@@ -1815,7 +1815,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.3.2

View File

@ -0,0 +1,15 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI += " \
file://0001-qmltestexample-fix-link.patch \
file://0003-Fix-wrong-calculation-of-viewPort-for-transitions.patch \
"
SRC_URI[md5sum] = "604a6e3ae051a21aac0024694d55cb3b"
SRC_URI[sha256sum] = "d8849755c17fca9bb44c09c442001bc5593c24986ea616c536719414e85d90cc"
# /usr/lib/qt5/qml/QtQuick/Dialogs/images/*.png
FILES_${PN}-qmlplugins += " \
${OE_QMAKE_PATH_QML}/*/*/*/*.png \
"

View File

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

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "6dfab2e481e90ce74e89c646b91a11ca"
SRC_URI[sha256sum] = "c740442a46715e32a45f60e42fda76afd8430bf0004ee1f7147aa77cf92ed846"

View File

@ -0,0 +1,32 @@
From 973d4f0974c0b9c2504c56a2b9b8d6c709275ee4 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/2] 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

@ -0,0 +1,31 @@
From b0610cdb0c53be6da6d8f94be9af40bf50075368 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/2] 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

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "bb4a74f3cd1db59274c9f4aaca0912af"
SRC_URI[sha256sum] = "8df057d527f98b1c2aa2941ff22adaf9b9c6441ea0e6c44f91f49bbcdbab57ce"

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "bb4a74f3cd1db59274c9f4aaca0912af"
SRC_URI[sha256sum] = "8df057d527f98b1c2aa2941ff22adaf9b9c6441ea0e6c44f91f49bbcdbab57ce"

View File

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

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "0c4c7b81258dd889e020b6025f542387"
SRC_URI[sha256sum] = "51d83033c2012de9806be13434b48430401c395c0d0a58390ada290581b3fc5f"

View File

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

View File

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

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "394d33cc5d6b7aafbaae5a4f1d9e6652"
SRC_URI[sha256sum] = "50fc66ada43472e42245c18095e9eac84b496a634736cf55aac81326e4aad54a"

View File

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

View File

@ -0,0 +1,5 @@
require qt5-${PV}.inc
require ${PN}.inc
SRC_URI[md5sum] = "1d1ebc4d6efa4d05368c0c716858d314"
SRC_URI[sha256sum] = "9d06493a4387d19e561f79f79c0a9c4c333eb764d64af54dc05f13a978694537"