diff options
| author | Martin Jansa <Martin.Jansa@gmail.com> | 2013-11-02 19:06:14 +0100 |
|---|---|---|
| committer | Martin Jansa <Martin.Jansa@gmail.com> | 2014-01-12 15:01:37 +0100 |
| commit | c908fe4ebd5a04813be0b83c173fae182bb22728 (patch) | |
| tree | ac8f089c2dce89598cf96532eac24cfb33567e4b /recipes-qt/qt5/qtbase | |
| parent | 775d77e482f1ea203c78003cccd2547075fd720f (diff) | |
| download | meta-qt5-c908fe4ebd5a04813be0b83c173fae182bb22728.tar.gz | |
qt5: upgrade to 5.2.0
* drop 0027-Fix-misaligned-selection-region-with-text-when-cente.patch
resolved in upstream commit 5d8a882c11201a29475c5ea71cfb76c9de6573f5
* drop 0020-Use-BGRA-extension-in-bindTexture.patch
resolved in upstream commit e1325cf26e146b68725cc1a0a02b274ce3dfbe5c
* drop 0008-wayland-scanner-disable-silent-rules.patch
resolved upstream in:
commit 2ff2a7c32d76b9e58b800f12469f112cfdb6ad3c
Author: Jan Arne Petersen <jan.petersen@kdab.com>
Date: Fri Jul 19 14:35:19 2013 +0200
Fix wayland-scanner to work with CONFIG+=silent
* squash to match more with structure of
https://github.com/meta-qt5/qtbase/tree/stable
* qtmodules: bump SRCREVs for 5.2.0 tags
now all modules using qt5-git should be newer than any 5.1.* version
* qtbase: fix paths in packageconfig *.pc files
include- and lib-paths contained build-sysroot paths
* qtwebkit: Explicitly add ICU libraries to LIBS
fails to build without this
* qtjsbackend: remove for git versions
Found in [1]:
Qt Qml is now using its own built-in Javascript engine and does not depend on
V8 anymore. As such the QtJSBackend shared library has disappeared.
[1] http://blog.qt.digia.com/blog/2013/09/30/qt-5-2-alpha-available/
* qt5: Upgrade 5.1.1 recipes to 5.2.0 to match git recipes
qtjsbackend is now completely gone
it allows to share more .patch files and configuration in .inc again
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'recipes-qt/qt5/qtbase')
17 files changed, 1322 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch new file mode 100644 index 00000000..0976c343 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0001-Add-linux-oe-g-platform.patch | |||
| @@ -0,0 +1,304 @@ | |||
| 1 | From f4fd2da9b29db23638ad07bd35f093f793241526 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Mon, 15 Apr 2013 04:29:32 +0200 | ||
| 4 | Subject: [PATCH 01/14] Add linux-oe-g++ platform | ||
| 5 | |||
| 6 | * This qmake.conf unlike other platforms reads most variables from | ||
| 7 | shell environment, because it's easier for qt recipes to export | ||
| 8 | *FLAGS or CC specific for given recipe | ||
| 9 | |||
| 10 | * configure: add getQEvalMakeConf and getXQEvalMakeConf | ||
| 11 | Allow expansion of $(...) references from qmake.conf to generate | ||
| 12 | qmake environment from shell environment as exported by qmake5_base | ||
| 13 | |||
| 14 | * OE_QMAKE_CXX in order to allow compiler version check to succeed | ||
| 15 | which allows WebKit to be enabled. | ||
| 16 | |||
| 17 | * Other variables in order to let config.tests to use our -platform | ||
| 18 | settings | ||
| 19 | |||
| 20 | * Add setBootstrapEvalVariable to bootstrap qmake with our environment | ||
| 21 | too, this allows us to use -platform linux-oe-g++ also for native | ||
| 22 | recipe | ||
| 23 | |||
| 24 | * disable gdb_dwarf_index | ||
| 25 | * qmake is trying to call native gdb and we don't depend on gdb-native | ||
| 26 | (or even provide gdb-native) | ||
| 27 | * fixes errors like this: | ||
| 28 | /bin/sh: gdb: command not found | ||
| 29 | /bin/sh: line 0: test: -gt: unary operator expected | ||
| 30 | which are not fatal, but still misleading in do_configure output | ||
| 31 | |||
| 32 | Upstream-Status: Pending | ||
| 33 | |||
| 34 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 35 | --- | ||
| 36 | configure | 54 ++++++++++++++++--- | ||
| 37 | mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++ | ||
| 38 | mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++ | ||
| 39 | 3 files changed, 187 insertions(+), 7 deletions(-) | ||
| 40 | create mode 100644 mkspecs/linux-oe-g++/qmake.conf | ||
| 41 | create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h | ||
| 42 | |||
| 43 | diff --git a/configure b/configure | ||
| 44 | index a330dd6..1b328ae 100755 | ||
| 45 | --- a/configure | ||
| 46 | +++ b/configure | ||
| 47 | @@ -324,6 +324,16 @@ getQMakeConf() | ||
| 48 | getSingleQMakeVariable "$1" "$specvals" | ||
| 49 | } | ||
| 50 | |||
| 51 | +# OE qmake.conf is reading some variables from shell env | ||
| 52 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
| 53 | +getQEvalMakeConf() | ||
| 54 | +{ | ||
| 55 | + VAL=`getQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` | ||
| 56 | + EVAL=`eval "echo ${VAL}"` | ||
| 57 | +# echo "Running getQEvalMakeConf: var='$1', val='`getQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 | ||
| 58 | + eval "echo ${VAL}" | ||
| 59 | +} | ||
| 60 | + | ||
| 61 | getXQMakeConf() | ||
| 62 | { | ||
| 63 | if [ -z "$xspecvals" ]; then | ||
| 64 | @@ -333,6 +343,16 @@ getXQMakeConf() | ||
| 65 | getSingleQMakeVariable "$1" "$xspecvals" | ||
| 66 | } | ||
| 67 | |||
| 68 | +# OE qmake.conf is reading some variables from shell env | ||
| 69 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
| 70 | +getXQEvalMakeConf() | ||
| 71 | +{ | ||
| 72 | + VAL=`getXQMakeConf "$1" | sed -n 's/$[(]\([0-9a-zA-Z_]*\)[)]/$\1/pg'` | ||
| 73 | + EVAL=`eval "echo ${VAL}"` | ||
| 74 | +# echo "Running getXQEvalMakeConf: var='$1', val='`getXQMakeConf \"$1\"`, val-sed='$VAL', eval='$EVAL'" >&2 | ||
| 75 | + eval "echo ${VAL}" | ||
| 76 | +} | ||
| 77 | + | ||
| 78 | compilerSupportsFlag() | ||
| 79 | { | ||
| 80 | cat >conftest.cpp <<EOF | ||
| 81 | @@ -548,6 +568,18 @@ fi | ||
| 82 | # initalize variables | ||
| 83 | #------------------------------------------------------------------------------- | ||
| 84 | |||
| 85 | +# Export all OE variables for qmake.conf from shell env to QMakeVars | ||
| 86 | +OE_VARIABLES="AR CC CFLAGS COMPILER CXX CXXFLAGS LDFLAGS LINK QT_CONFIG STRIP" | ||
| 87 | +for varname in $OE_VARIABLES; do | ||
| 88 | + qmakevarname="${varname}" | ||
| 89 | + cmd=`echo \ | ||
| 90 | +'if [ -n "\$OE_QMAKE_'${varname}'" ]; then | ||
| 91 | + QMakeVar set OE_QMAKE_'${qmakevarname}' "\$OE_QMAKE_'${varname}'" | ||
| 92 | +# echo "Exporting OE_QMAKE_'${qmakevarname}' value=\"\$OE_QMAKE_'${varname}'\"" >&2 | ||
| 93 | +fi'` | ||
| 94 | + eval "$cmd" | ||
| 95 | +done | ||
| 96 | + | ||
| 97 | SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS" | ||
| 98 | for varname in $SYSTEM_VARIABLES; do | ||
| 99 | qmakevarname="${varname}" | ||
| 100 | @@ -3344,7 +3376,7 @@ if [ "$XPLATFORM_MAC" = "yes" ] && [ "$CFG_QGTKSTYLE" = "auto" ]; then | ||
| 101 | CFG_QGTKSTYLE=no | ||
| 102 | fi | ||
| 103 | |||
| 104 | -QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX` | ||
| 105 | +QMAKE_CONF_COMPILER=`getXQEvalMakeConf QMAKE_CXX` | ||
| 106 | |||
| 107 | TEST_COMPILER=$QMAKE_CONF_COMPILER | ||
| 108 | |||
| 109 | @@ -3379,7 +3411,7 @@ if [ "$XPLATFORM_SYMBIAN_SBSV2" = "no" ]; then | ||
| 110 | exit 1 | ||
| 111 | fi | ||
| 112 | fi | ||
| 113 | -TEST_COMPILER_CXXFLAGS=`getXQMakeConf QMAKE_CXXFLAGS` | ||
| 114 | +TEST_COMPILER_CXXFLAGS=`getXQEvalMakeConf QMAKE_CXXFLAGS` | ||
| 115 | |||
| 116 | GCC_MACHINE_DUMP= | ||
| 117 | case "$TEST_COMPILER" in *g++) GCC_MACHINE_DUMP=$($TEST_COMPILER -dumpmachine);; esac | ||
| 118 | @@ -3860,6 +3892,14 @@ setBootstrapVariable() | ||
| 119 | getQMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" | ||
| 120 | } | ||
| 121 | |||
| 122 | +# OE qmake.conf is reading some variables from shell env | ||
| 123 | +# read them from qmake.conf, replace qmake () syntax with shell and eval | ||
| 124 | +setBootstrapEvalVariable() | ||
| 125 | +{ | ||
| 126 | + getQEvalMakeConf "$1" | echo ${2-$1} = `if [ -n "$3" ]; then sed "$3"; else cat; fi` >> "$mkfile" | ||
| 127 | +} | ||
| 128 | + | ||
| 129 | + | ||
| 130 | # build qmake | ||
| 131 | if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
| 132 | echo "Creating qmake..." | ||
| 133 | @@ -3898,11 +3938,11 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
| 134 | fi | ||
| 135 | |||
| 136 | [ "$CFG_SILENT" = "yes" ] && CC_TRANSFORM='s,^,\@,' || CC_TRANSFORM= | ||
| 137 | - setBootstrapVariable QMAKE_CC CC "$CC_TRANSFORM" | ||
| 138 | - setBootstrapVariable QMAKE_CXX CXX "$CC_TRANSFORM" | ||
| 139 | - setBootstrapVariable QMAKE_CFLAGS | ||
| 140 | - setBootstrapVariable QMAKE_CXXFLAGS | ||
| 141 | - setBootstrapVariable QMAKE_LFLAGS | ||
| 142 | + setBootstrapEvalVariable QMAKE_CC CC "$CC_TRANSFORM" | ||
| 143 | + setBootstrapEvalVariable QMAKE_CXX CXX "$CC_TRANSFORM" | ||
| 144 | + setBootstrapEvalVariable QMAKE_CFLAGS | ||
| 145 | + setBootstrapEvalVariable QMAKE_CXXFLAGS | ||
| 146 | + setBootstrapEvalVariable QMAKE_LFLAGS | ||
| 147 | |||
| 148 | if [ "$CFG_RELEASE_QMAKE" = "yes" ]; then | ||
| 149 | setBootstrapVariable QMAKE_CFLAGS_RELEASE | ||
| 150 | diff --git a/mkspecs/linux-oe-g++/qmake.conf b/mkspecs/linux-oe-g++/qmake.conf | ||
| 151 | new file mode 100644 | ||
| 152 | index 0000000..ca26b10 | ||
| 153 | --- /dev/null | ||
| 154 | +++ b/mkspecs/linux-oe-g++/qmake.conf | ||
| 155 | @@ -0,0 +1,40 @@ | ||
| 156 | +# | ||
| 157 | +# qmake configuration for linux-g++ with modifications for building with OpenEmbedded | ||
| 158 | +# | ||
| 159 | + | ||
| 160 | +MAKEFILE_GENERATOR = UNIX | ||
| 161 | +CONFIG += incremental | ||
| 162 | +QMAKE_INCREMENTAL_STYLE = sublib | ||
| 163 | + | ||
| 164 | +include(../common/linux.conf) | ||
| 165 | + | ||
| 166 | +# QMAKE_<TOOL> (moc, uic, rcc) are gone, overwrite only ar and strip | ||
| 167 | +QMAKE_AR = $(OE_QMAKE_AR) cqs | ||
| 168 | +QMAKE_STRIP = $(OE_QMAKE_STRIP) | ||
| 169 | +QMAKE_WAYLAND_SCANNER = $(OE_QMAKE_WAYLAND_SCANNER) | ||
| 170 | + | ||
| 171 | +include(../common/gcc-base-unix.conf) | ||
| 172 | + | ||
| 173 | +# *FLAGS from gcc-base.conf | ||
| 174 | +QMAKE_CFLAGS += $(OE_QMAKE_CFLAGS) | ||
| 175 | +QMAKE_CXXFLAGS += $(OE_QMAKE_CXXFLAGS) | ||
| 176 | +QMAKE_LFLAGS += $(OE_QMAKE_LDFLAGS) | ||
| 177 | + | ||
| 178 | +include(../common/g++-unix.conf) | ||
| 179 | + | ||
| 180 | +# tc settings from g++-base.conf | ||
| 181 | +QMAKE_COMPILER = $(OE_QMAKE_COMPILER) | ||
| 182 | +QMAKE_CC = $(OE_QMAKE_CC) | ||
| 183 | +QMAKE_CXX = $(OE_QMAKE_CXX) | ||
| 184 | + | ||
| 185 | +QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $(OE_QMAKE_CFLAGS) | ||
| 186 | + | ||
| 187 | +QMAKE_LINK = $(OE_QMAKE_LINK) | ||
| 188 | +QMAKE_LINK_SHLIB = $(OE_QMAKE_LINK) | ||
| 189 | +QMAKE_LINK_C = $(OE_QMAKE_LINK) | ||
| 190 | +QMAKE_LINK_C_SHLIB = $(OE_QMAKE_LINK) | ||
| 191 | + | ||
| 192 | +# for the SDK | ||
| 193 | +isEmpty(QMAKE_QT_CONFIG):QMAKE_QT_CONFIG = $(OE_QMAKE_QT_CONFIG) | ||
| 194 | + | ||
| 195 | +load(qt_config) | ||
| 196 | diff --git a/mkspecs/linux-oe-g++/qplatformdefs.h b/mkspecs/linux-oe-g++/qplatformdefs.h | ||
| 197 | new file mode 100644 | ||
| 198 | index 0000000..dd12003 | ||
| 199 | --- /dev/null | ||
| 200 | +++ b/mkspecs/linux-oe-g++/qplatformdefs.h | ||
| 201 | @@ -0,0 +1,100 @@ | ||
| 202 | +/**************************************************************************** | ||
| 203 | +** | ||
| 204 | +** Copyright (C) 2012 Digia Plc and/or its subsidiary(-ies). | ||
| 205 | +** Contact: http://www.qt-project.org/legal | ||
| 206 | +** | ||
| 207 | +** This file is part of the qmake spec of the Qt Toolkit. | ||
| 208 | +** | ||
| 209 | +** $QT_BEGIN_LICENSE:LGPL$ | ||
| 210 | +** Commercial License Usage | ||
| 211 | +** Licensees holding valid commercial Qt licenses may use this file in | ||
| 212 | +** accordance with the commercial license agreement provided with the | ||
| 213 | +** Software or, alternatively, in accordance with the terms contained in | ||
| 214 | +** a written agreement between you and Digia. For licensing terms and | ||
| 215 | +** conditions see http://qt.digia.com/licensing. For further information | ||
| 216 | +** use the contact form at http://qt.digia.com/contact-us. | ||
| 217 | +** | ||
| 218 | +** GNU Lesser General Public License Usage | ||
| 219 | +** Alternatively, this file may be used under the terms of the GNU Lesser | ||
| 220 | +** General Public License version 2.1 as published by the Free Software | ||
| 221 | +** Foundation and appearing in the file LICENSE.LGPL included in the | ||
| 222 | +** packaging of this file. Please review the following information to | ||
| 223 | +** ensure the GNU Lesser General Public License version 2.1 requirements | ||
| 224 | +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. | ||
| 225 | +** | ||
| 226 | +** In addition, as a special exception, Digia gives you certain additional | ||
| 227 | +** rights. These rights are described in the Digia Qt LGPL Exception | ||
| 228 | +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. | ||
| 229 | +** | ||
| 230 | +** GNU General Public License Usage | ||
| 231 | +** Alternatively, this file may be used under the terms of the GNU | ||
| 232 | +** General Public License version 3.0 as published by the Free Software | ||
| 233 | +** Foundation and appearing in the file LICENSE.GPL included in the | ||
| 234 | +** packaging of this file. Please review the following information to | ||
| 235 | +** ensure the GNU General Public License version 3.0 requirements will be | ||
| 236 | +** met: http://www.gnu.org/copyleft/gpl.html. | ||
| 237 | +** | ||
| 238 | +** | ||
| 239 | +** $QT_END_LICENSE$ | ||
| 240 | +** | ||
| 241 | +****************************************************************************/ | ||
| 242 | + | ||
| 243 | +#ifndef QPLATFORMDEFS_H | ||
| 244 | +#define QPLATFORMDEFS_H | ||
| 245 | + | ||
| 246 | +// Get Qt defines/settings | ||
| 247 | + | ||
| 248 | +#include "qglobal.h" | ||
| 249 | + | ||
| 250 | +// Set any POSIX/XOPEN defines at the top of this file to turn on specific APIs | ||
| 251 | + | ||
| 252 | +// 1) need to reset default environment if _BSD_SOURCE is defined | ||
| 253 | +// 2) need to specify POSIX thread interfaces explicitly in glibc 2.0 | ||
| 254 | +// 3) it seems older glibc need this to include the X/Open stuff | ||
| 255 | +#ifndef _GNU_SOURCE | ||
| 256 | +# define _GNU_SOURCE | ||
| 257 | +#endif | ||
| 258 | + | ||
| 259 | +#include <unistd.h> | ||
| 260 | + | ||
| 261 | + | ||
| 262 | +// We are hot - unistd.h should have turned on the specific APIs we requested | ||
| 263 | + | ||
| 264 | +#include <features.h> | ||
| 265 | +#include <pthread.h> | ||
| 266 | +#include <dirent.h> | ||
| 267 | +#include <fcntl.h> | ||
| 268 | +#include <grp.h> | ||
| 269 | +#include <pwd.h> | ||
| 270 | +#include <signal.h> | ||
| 271 | + | ||
| 272 | +#include <sys/types.h> | ||
| 273 | +#include <sys/ioctl.h> | ||
| 274 | +#include <sys/ipc.h> | ||
| 275 | +#include <sys/time.h> | ||
| 276 | +#include <sys/shm.h> | ||
| 277 | +#include <sys/socket.h> | ||
| 278 | +#include <sys/stat.h> | ||
| 279 | +#include <sys/wait.h> | ||
| 280 | +#include <netinet/in.h> | ||
| 281 | +#ifndef QT_NO_IPV6IFNAME | ||
| 282 | +#include <net/if.h> | ||
| 283 | +#endif | ||
| 284 | + | ||
| 285 | +#define QT_USE_XOPEN_LFS_EXTENSIONS | ||
| 286 | +#include "../common/posix/qplatformdefs.h" | ||
| 287 | + | ||
| 288 | +#undef QT_SOCKLEN_T | ||
| 289 | + | ||
| 290 | +#if defined(__GLIBC__) && (__GLIBC__ >= 2) | ||
| 291 | +#define QT_SOCKLEN_T socklen_t | ||
| 292 | +#else | ||
| 293 | +#define QT_SOCKLEN_T int | ||
| 294 | +#endif | ||
| 295 | + | ||
| 296 | +#if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE >= 500) | ||
| 297 | +#define QT_SNPRINTF ::snprintf | ||
| 298 | +#define QT_VSNPRINTF ::vsnprintf | ||
| 299 | +#endif | ||
| 300 | + | ||
| 301 | +#endif // QPLATFORMDEFS_H | ||
| 302 | -- | ||
| 303 | 1.8.5.2 | ||
| 304 | |||
diff --git a/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch new file mode 100644 index 00000000..afc25cc4 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0002-qlibraryinfo-allow-to-set-qt.conf-from-the-outside-u.patch | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | From c6c1e780ed6a443a0c68c3200aeea9ced76f444c Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Holger Freyther <zecke@selfish.org> | ||
| 3 | Date: Wed, 26 Sep 2012 17:22:30 +0200 | ||
| 4 | Subject: [PATCH 02/14] qlibraryinfo: allow to set qt.conf from the outside | ||
| 5 | using the environment | ||
| 6 | |||
| 7 | Allow to set a qt.conf from the outside using the environment. This allows | ||
| 8 | to inject new prefixes and other paths into qmake. This is needed when using | ||
| 9 | the same qmake binary to build qt/x11 and qt/embedded | ||
| 10 | |||
| 11 | Upstream-Status: Pending | ||
| 12 | |||
| 13 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 14 | --- | ||
| 15 | src/corelib/global/qlibraryinfo.cpp | 5 ++++- | ||
| 16 | 1 file changed, 4 insertions(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp | ||
| 19 | index 1c3b09f..c647a16 100644 | ||
| 20 | --- a/src/corelib/global/qlibraryinfo.cpp | ||
| 21 | +++ b/src/corelib/global/qlibraryinfo.cpp | ||
| 22 | @@ -149,7 +149,10 @@ QLibrarySettings::QLibrarySettings() | ||
| 23 | |||
| 24 | QSettings *QLibraryInfoPrivate::findConfiguration() | ||
| 25 | { | ||
| 26 | - QString qtconfig = QStringLiteral(":/qt/etc/qt.conf"); | ||
| 27 | + QByteArray config = getenv("QT_CONF_PATH"); | ||
| 28 | + QString qtconfig = QFile::decodeName(config); | ||
| 29 | + if(!QFile::exists(qtconfig)) | ||
| 30 | + qtconfig = QStringLiteral(":/qt/etc/qt.conf"); | ||
| 31 | #ifdef QT_BOOTSTRAPPED | ||
| 32 | if(!QFile::exists(qtconfig)) | ||
| 33 | qtconfig = qt_libraryInfoFile(); | ||
| 34 | -- | ||
| 35 | 1.8.5.2 | ||
| 36 | |||
diff --git a/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch new file mode 100644 index 00000000..3f7854fd --- /dev/null +++ b/recipes-qt/qt5/qtbase/0003-Add-external-hostbindir-option.patch | |||
| @@ -0,0 +1,228 @@ | |||
| 1 | From 21c595fd0e386bea1a2e2b19323dc517bb2c7333 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Sat, 6 Apr 2013 13:15:07 +0200 | ||
| 4 | Subject: [PATCH 03/14] Add -external-hostbindir option | ||
| 5 | |||
| 6 | * when cross-compiling it's sometimes useful to use existing tools from machine | ||
| 7 | (or in OpenEmbedded built with separate native recipe) when building for target | ||
| 8 | |||
| 9 | * this way we can skip bootstraping tools we already have | ||
| 10 | |||
| 11 | * qt_functions: temporary remove isEmpty check | ||
| 12 | * now we assume that every build will provide QT_EXTERNAL_HOST_BINS value | ||
| 13 | * isEmpty works correctly only with qmake variables (e.g. $$FOO - | ||
| 14 | isEmpty(FOO)), but doesn't work with system properties like $$[FOO]. | ||
| 15 | |||
| 16 | Upstream-Status: Pending | ||
| 17 | |||
| 18 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 19 | --- | ||
| 20 | configure | 15 +++++++++++++++ | ||
| 21 | mkspecs/features/qt_functions.prf | 9 ++++++++- | ||
| 22 | mkspecs/features/qt_tool.prf | 3 +-- | ||
| 23 | qmake/property.cpp | 1 + | ||
| 24 | qtbase.pro | 12 +++++++++--- | ||
| 25 | src/corelib/global/qlibraryinfo.cpp | 3 ++- | ||
| 26 | src/corelib/global/qlibraryinfo.h | 1 + | ||
| 27 | tools/configure/configureapp.cpp | 8 ++++++++ | ||
| 28 | 8 files changed, 45 insertions(+), 7 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/configure b/configure | ||
| 31 | index 1b328ae..46f7230 100755 | ||
| 32 | --- a/configure | ||
| 33 | +++ b/configure | ||
| 34 | @@ -785,6 +785,7 @@ QT_HOST_BINS= | ||
| 35 | QT_HOST_LIBS= | ||
| 36 | QT_HOST_DATA= | ||
| 37 | QT_EXT_PREFIX= | ||
| 38 | +QT_EXTERNAL_HOST_BINS= | ||
| 39 | |||
| 40 | #flags for SQL drivers | ||
| 41 | QT_CFLAGS_PSQL= | ||
| 42 | @@ -905,6 +906,7 @@ while [ "$#" -gt 0 ]; do | ||
| 43 | -testsdir| \ | ||
| 44 | -hostdatadir| \ | ||
| 45 | -hostbindir| \ | ||
| 46 | + -external-hostbindir| \ | ||
| 47 | -hostlibdir| \ | ||
| 48 | -extprefix| \ | ||
| 49 | -sysroot| \ | ||
| 50 | @@ -1118,6 +1120,9 @@ while [ "$#" -gt 0 ]; do | ||
| 51 | extprefix) | ||
| 52 | QT_EXT_PREFIX="$VAL" | ||
| 53 | ;; | ||
| 54 | + external-hostbindir) | ||
| 55 | + QT_EXTERNAL_HOST_BINS="$VAL" | ||
| 56 | + ;; | ||
| 57 | pkg-config) | ||
| 58 | if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then | ||
| 59 | CFG_PKGCONFIG="$VAL" | ||
| 60 | @@ -2226,6 +2231,10 @@ Installation options: | ||
| 61 | -hostdatadir <dir> . Data used by qmake will be installed to <dir> | ||
| 62 | (default HOSTPREFIX) | ||
| 63 | |||
| 64 | + -external-hostbindir <dir> Use external host executables instead of building them | ||
| 65 | + (not used by defaut) | ||
| 66 | + | ||
| 67 | + | ||
| 68 | Configure options: | ||
| 69 | |||
| 70 | The defaults (*) are usually acceptable. A plus (+) denotes a default value | ||
| 71 | @@ -3133,6 +3142,11 @@ fi | ||
| 72 | # command line and environment validation | ||
| 73 | #------------------------------------------------------------------------------- | ||
| 74 | |||
| 75 | +# default is empty, don't call makeabs if it is empty | ||
| 76 | +if [ ! -z "$QT_EXTERNAL_HOST_BINS" ]; then | ||
| 77 | + QT_EXTERNAL_HOST_BINS=`"$relpath/config.tests/unix/makeabs" "$QT_EXTERNAL_HOST_BINS"` | ||
| 78 | +fi | ||
| 79 | + | ||
| 80 | # update QT_CONFIG to show our current predefined configuration | ||
| 81 | CFG_QCONFIG_PATH=$relpath/src/corelib/global/qconfig-${CFG_QCONFIG}.h | ||
| 82 | case "$CFG_QCONFIG" in | ||
| 83 | @@ -3820,6 +3834,7 @@ static const char qt_configure_prefix_path_strs[][256 + 12] = { | ||
| 84 | "qt_hbinpath=$QT_HOST_BINS", | ||
| 85 | "qt_hlibpath=$QT_HOST_LIBS", | ||
| 86 | "qt_hdatpath=$QT_HOST_DATA", | ||
| 87 | + "qt_ebinpath=$QT_EXTERNAL_HOST_BINS", | ||
| 88 | "qt_targspec=$shortxspec", | ||
| 89 | "qt_hostspec=$shortspec", | ||
| 90 | #endif | ||
| 91 | diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf | ||
| 92 | index 1dacfed..7229845 100644 | ||
| 93 | --- a/mkspecs/features/qt_functions.prf | ||
| 94 | +++ b/mkspecs/features/qt_functions.prf | ||
| 95 | @@ -193,7 +193,14 @@ defineTest(qtAddRpathLink) { | ||
| 96 | defineTest(qtPrepareTool) { | ||
| 97 | $$1 = $$eval(QT_TOOL.$${2}.binary) | ||
| 98 | isEmpty($$1) { | ||
| 99 | - $$1 = $$[QT_HOST_BINS]/$$2 | ||
| 100 | + $$1 = $$[QT_EXTERNAL_HOST_BINS]/$$2 | ||
| 101 | + # for some reason isEmpty does not work here, FIXME before submitting upstream | ||
| 102 | + # DEBUG 1: mkspecs/features/qt_functions.prf:198: calling built-in isEmpty(/OE/oe-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/qt5) | ||
| 103 | + # DEBUG 1: mkspecs/features/qt_functions.prf:198: test function returned true | ||
| 104 | + # DEBUG 1: mkspecs/features/qt_functions.prf:198: taking 'then' branch | ||
| 105 | + !exists($$[QT_EXTERNAL_HOST_BINS]/$$2) { | ||
| 106 | + $$1 = $$[QT_HOST_BINS]/$$2 | ||
| 107 | + } | ||
| 108 | exists($$eval($$1).pl) { | ||
| 109 | $$1 = perl -w $$eval($$1).pl | ||
| 110 | } else: contains(QMAKE_HOST.os, Windows) { | ||
| 111 | diff --git a/mkspecs/features/qt_tool.prf b/mkspecs/features/qt_tool.prf | ||
| 112 | index f0864f9..50bfac8 100644 | ||
| 113 | --- a/mkspecs/features/qt_tool.prf | ||
| 114 | +++ b/mkspecs/features/qt_tool.prf | ||
| 115 | @@ -15,8 +15,7 @@ CONFIG += console | ||
| 116 | |||
| 117 | # If we are doing a prefix build, create a "module" pri which enables | ||
| 118 | # qtPrepareTool() to work with the non-installed build. | ||
| 119 | -# Non-bootstrapped tools always need this because of the environment setup. | ||
| 120 | -!build_pass:if(!host_build|!force_bootstrap|force_independent) { | ||
| 121 | +!build_pass:if(!host_build|!force_bootstrap|force_independent):!exists($$[QT_EXTERNAL_HOST_BINS]) { | ||
| 122 | isEmpty(MODULE):MODULE = $$TARGET | ||
| 123 | |||
| 124 | !host_build|!force_bootstrap: MODULE_DEPENDS = $$replace(QT, -private$, _private) | ||
| 125 | diff --git a/qmake/property.cpp b/qmake/property.cpp | ||
| 126 | index e50485c..71291ad 100644 | ||
| 127 | --- a/qmake/property.cpp | ||
| 128 | +++ b/qmake/property.cpp | ||
| 129 | @@ -75,6 +75,7 @@ static const struct { | ||
| 130 | { "QT_HOST_DATA", QLibraryInfo::HostDataPath, true }, | ||
| 131 | { "QT_HOST_BINS", QLibraryInfo::HostBinariesPath, true }, | ||
| 132 | { "QT_HOST_LIBS", QLibraryInfo::HostLibrariesPath, true }, | ||
| 133 | + { "QT_EXTERNAL_HOST_BINS", QLibraryInfo::ExternalHostBinariesPath, true }, | ||
| 134 | { "QMAKE_SPEC", QLibraryInfo::HostSpecPath, true }, | ||
| 135 | { "QMAKE_XSPEC", QLibraryInfo::TargetSpecPath, true }, | ||
| 136 | }; | ||
| 137 | diff --git a/qtbase.pro b/qtbase.pro | ||
| 138 | index 7576db7..d51af0e 100644 | ||
| 139 | --- a/qtbase.pro | ||
| 140 | +++ b/qtbase.pro | ||
| 141 | @@ -70,16 +70,22 @@ CONFIG -= qt | ||
| 142 | |||
| 143 | #qmake | ||
| 144 | qmake.path = $$[QT_HOST_BINS] | ||
| 145 | +qmake.files = $$OUT_PWD/bin/qmake | ||
| 146 | +!isEmpty($$[QT_EXTERNAL_HOST_BINS]) { | ||
| 147 | + qmake.files = $$[QT_EXTERNAL_HOST_BINS]/bin/qmake | ||
| 148 | +} | ||
| 149 | equals(QMAKE_HOST.os, Windows) { | ||
| 150 | - qmake.files = $$OUT_PWD/bin/qmake.exe | ||
| 151 | -} else { | ||
| 152 | - qmake.files = $$OUT_PWD/bin/qmake | ||
| 153 | + qmake.files = $${qmake.files}.exe | ||
| 154 | } | ||
| 155 | INSTALLS += qmake | ||
| 156 | |||
| 157 | #syncqt | ||
| 158 | syncqt.path = $$[QT_HOST_BINS] | ||
| 159 | syncqt.files = $$PWD/bin/syncqt.pl | ||
| 160 | +syncqt.files = $$PWD/bin/syncqt.pl | ||
| 161 | +!isEmpty($$[QT_EXTERNAL_HOST_BINS]) { | ||
| 162 | + syncqt.files = $$[QT_EXTERNAL_HOST_BINS]/bin/syncqt.pl | ||
| 163 | +} | ||
| 164 | INSTALLS += syncqt | ||
| 165 | |||
| 166 | # If we are doing a prefix build, create a "module" pri which enables | ||
| 167 | diff --git a/src/corelib/global/qlibraryinfo.cpp b/src/corelib/global/qlibraryinfo.cpp | ||
| 168 | index c647a16..da82913 100644 | ||
| 169 | --- a/src/corelib/global/qlibraryinfo.cpp | ||
| 170 | +++ b/src/corelib/global/qlibraryinfo.cpp | ||
| 171 | @@ -281,7 +281,7 @@ QLibraryInfo::isDebugBuild() | ||
| 172 | */ | ||
| 173 | |||
| 174 | static const struct { | ||
| 175 | - char key[19], value[13]; | ||
| 176 | + char key[21], value[13]; | ||
| 177 | } qtConfEntries[] = { | ||
| 178 | { "Prefix", "." }, | ||
| 179 | { "Documentation", "doc" }, // should be ${Data}/doc | ||
| 180 | @@ -307,6 +307,7 @@ static const struct { | ||
| 181 | { "HostBinaries", "bin" }, | ||
| 182 | { "HostLibraries", "lib" }, | ||
| 183 | { "HostData", "." }, | ||
| 184 | + { "ExternalHostBinaries", "" }, | ||
| 185 | { "TargetSpec", "" }, | ||
| 186 | { "HostSpec", "" }, | ||
| 187 | #endif | ||
| 188 | diff --git a/src/corelib/global/qlibraryinfo.h b/src/corelib/global/qlibraryinfo.h | ||
| 189 | index 17864b5..a14bc0f 100644 | ||
| 190 | --- a/src/corelib/global/qlibraryinfo.h | ||
| 191 | +++ b/src/corelib/global/qlibraryinfo.h | ||
| 192 | @@ -84,6 +84,7 @@ public: | ||
| 193 | HostBinariesPath, | ||
| 194 | HostLibrariesPath, | ||
| 195 | HostDataPath, | ||
| 196 | + ExternalHostBinariesPath, | ||
| 197 | TargetSpecPath, | ||
| 198 | HostSpecPath, | ||
| 199 | LastHostPath = HostSpecPath, | ||
| 200 | diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp | ||
| 201 | index e2fef2c..ab475c3 100644 | ||
| 202 | --- a/tools/configure/configureapp.cpp | ||
| 203 | +++ b/tools/configure/configureapp.cpp | ||
| 204 | @@ -1186,6 +1186,13 @@ void Configure::parseCmdLine() | ||
| 205 | dictionary[ "QT_EXT_PREFIX" ] = configCmdLine.at(i); | ||
| 206 | } | ||
| 207 | |||
| 208 | + else if (configCmdLine.at(i) == "-external-hostbindir") { | ||
| 209 | + ++i; | ||
| 210 | + if (i == argCount) | ||
| 211 | + break; | ||
| 212 | + dictionary[ "QT_EXTERNAL_HOST_BINS" ] = configCmdLine.at(i); | ||
| 213 | + } | ||
| 214 | + | ||
| 215 | else if (configCmdLine.at(i) == "-make-tool") { | ||
| 216 | ++i; | ||
| 217 | if (i == argCount) | ||
| 218 | @@ -3852,6 +3859,7 @@ void Configure::generateQConfigCpp() | ||
| 219 | << " \"qt_hbinpath=" << formatPath(dictionary["QT_HOST_BINS"]) << "\"," << endl | ||
| 220 | << " \"qt_hlibpath=" << formatPath(dictionary["QT_HOST_LIBS"]) << "\"," << endl | ||
| 221 | << " \"qt_hdatpath=" << formatPath(dictionary["QT_HOST_DATA"]) << "\"," << endl | ||
| 222 | + << " \"qt_ebinpath=" << formatPath(dictionary["QT_EXTERNAL_HOST_BINS"]) << "\"," << endl | ||
| 223 | << " \"qt_targspec=" << targSpec << "\"," << endl | ||
| 224 | << " \"qt_hostspec=" << hostSpec << "\"," << endl | ||
| 225 | << "#endif" << endl | ||
| 226 | -- | ||
| 227 | 1.8.5.2 | ||
| 228 | |||
diff --git a/recipes-qt/qt5/qtbase/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch b/recipes-qt/qt5/qtbase/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch new file mode 100644 index 00000000..71a45969 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0004-configureapp-Prefix-default-LIBDIRS-and-INCDIRS-with.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From 925a8c67fef4bfa56bdc3c1c7cd87e21defc3d94 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Sat, 27 Apr 2013 22:33:33 +0200 | ||
| 4 | Subject: [PATCH 04/14] configureapp: Prefix default LIBDIRS and INCDIRS with | ||
| 5 | SYSROOT | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | --- | ||
| 9 | tools/configure/configureapp.cpp | 4 ++-- | ||
| 10 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 11 | |||
| 12 | diff --git a/tools/configure/configureapp.cpp b/tools/configure/configureapp.cpp | ||
| 13 | index ab475c3..68cd43d 100644 | ||
| 14 | --- a/tools/configure/configureapp.cpp | ||
| 15 | +++ b/tools/configure/configureapp.cpp | ||
| 16 | @@ -3213,8 +3213,8 @@ void Configure::generateQConfigPri() | ||
| 17 | configStream << " QT_ARCH = " << dictionary["QT_ARCH"] << endl; | ||
| 18 | if (dictionary.contains("XQMAKESPEC") && !dictionary["XQMAKESPEC"].startsWith("wince")) { | ||
| 19 | // FIXME: add detection | ||
| 20 | - configStream << " QMAKE_DEFAULT_LIBDIRS = /lib /usr/lib" << endl; | ||
| 21 | - configStream << " QMAKE_DEFAULT_INCDIRS = /usr/include /usr/local/include" << endl; | ||
| 22 | + configStream << " QMAKE_DEFAULT_LIBDIRS = $$[QT_SYSROOT]/lib $$[QT_SYSROOT]/usr/lib" << endl; | ||
| 23 | + configStream << " QMAKE_DEFAULT_INCDIRS = $$[QT_SYSROOT]/usr/include $$[QT_SYSROOT]/usr/local/include" << endl; | ||
| 24 | } | ||
| 25 | configStream << "}" << endl; | ||
| 26 | if (dictionary["QT_EDITION"].contains("OPENSOURCE")) | ||
| 27 | -- | ||
| 28 | 1.8.5.2 | ||
| 29 | |||
diff --git a/recipes-qt/qt5/qtbase/0005-qt_module-Fix-pkgconfig-replacement.patch b/recipes-qt/qt5/qtbase/0005-qt_module-Fix-pkgconfig-replacement.patch new file mode 100644 index 00000000..f85fb33b --- /dev/null +++ b/recipes-qt/qt5/qtbase/0005-qt_module-Fix-pkgconfig-replacement.patch | |||
| @@ -0,0 +1,117 @@ | |||
| 1 | From 33bbb10c66df59abfad9f4576462f63dfb500149 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Sat, 27 Apr 2013 23:15:37 +0200 | ||
| 4 | Subject: [PATCH 05/14] qt_module: Fix pkgconfig replacement | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | * in situation like this: | ||
| 10 | QT_SYSROOT:/OE/oe-core/tmp-eglibc/sysroots/qemuarm | ||
| 11 | QT_INSTALL_LIBS:/OE/oe-core/tmp-eglibc/sysroots/qemuarm/usr/lib | ||
| 12 | QT_INSTALL_LIBS/raw:/usr/lib | ||
| 13 | QT_INSTALL_LIBS/get:/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib | ||
| 14 | |||
| 15 | I don't want the replacement like this: | ||
| 16 | sed | ||
| 17 | -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/include,/usr/include/qt5,g" | ||
| 18 | -e "s,/OE/oe-core/tmp-eglibc/work/armv5te-oe-linux-gnueabi/qtbase/5.0.0-r0.0/build/lib,/usr/lib,g" | ||
| 19 | "../../lib/pkgconfig/Qt5Core.pc" | ||
| 20 | >"/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" | ||
| 21 | because that way I'll end with -L/usr/lib in .pc file which is | ||
| 22 | cross-compile unfriendly, keeping ${libdir}/${includedir} works better | ||
| 23 | in my case | ||
| 24 | |||
| 25 | * qt_module: Fix paths in .prl files | ||
| 26 | * qmake does not prefix them with QT_SYSROOT when using them | ||
| 27 | so e.g. when building qtdeclarative we get -L/usr/lib to LINKAGE | ||
| 28 | variable, which is unsafe for cross-compilation | ||
| 29 | * writting QT_SYSROOT in .prl files is dangerous for sstate when | ||
| 30 | builds are in different directories, so we need | ||
| 31 | SSTATE_SCAN_FILES += "*.pri *.prl" | ||
| 32 | to make them relocateble | ||
| 33 | |||
| 34 | * fix paths in packageconfig files | ||
| 35 | This reverts parts of: | ||
| 36 | enable path replacement in installed prl files on all platforms | ||
| 37 | Task-number: QTBUG-33794 | ||
| 38 | Change-Id: Id0d38715673b8a1c0c034e9c15783eb255c4315b | ||
| 39 | Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> | ||
| 40 | |||
| 41 | Upstream-Status: Pending | ||
| 42 | |||
| 43 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 44 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
| 45 | --- | ||
| 46 | mkspecs/features/qt_module.prf | 43 ++++++++++++++++++++++++++++++------------ | ||
| 47 | 1 file changed, 31 insertions(+), 12 deletions(-) | ||
| 48 | |||
| 49 | diff --git a/mkspecs/features/qt_module.prf b/mkspecs/features/qt_module.prf | ||
| 50 | index 11509ee..2f95684 100644 | ||
| 51 | --- a/mkspecs/features/qt_module.prf | ||
| 52 | +++ b/mkspecs/features/qt_module.prf | ||
| 53 | @@ -135,30 +135,49 @@ load(qt_installs) | ||
| 54 | rplbase = $$dirname(_QMAKE_SUPER_CACHE_)/[^/][^/]* | ||
| 55 | else: \ | ||
| 56 | rplbase = $$MODULE_BASE_OUTDIR | ||
| 57 | -include_replace.match = $$rplbase/include | ||
| 58 | -include_replace.replace = $$[QT_INSTALL_HEADERS/raw] | ||
| 59 | -include_replace.CONFIG = path | ||
| 60 | -lib_replace.match = $$rplbase/lib | ||
| 61 | -host_build: \ | ||
| 62 | - lib_replace.replace = $$[QT_HOST_LIBS] | ||
| 63 | -else: \ | ||
| 64 | +pkgconfig_include_replace.match = $$rplbase/include | ||
| 65 | +pkgconfig_include_replace.replace = "\$$\\{includedir}" | ||
| 66 | +pkgconfig_lib_replace.match = $$rplbase/lib | ||
| 67 | +pkgconfig_lib_replace.replace = "\$$\\{libdir}" | ||
| 68 | +!exists($$[QT_SYSROOT]) { | ||
| 69 | + include_replace.match = $$rplbase/include | ||
| 70 | + include_replace.replace = $$[QT_INSTALL_HEADERS/raw] | ||
| 71 | + include_replace.CONFIG = path | ||
| 72 | + lib_replace.match = $$rplbase/lib | ||
| 73 | lib_replace.replace = $$[QT_INSTALL_LIBS/raw] | ||
| 74 | -lib_replace.CONFIG = path | ||
| 75 | + lib_replace.CONFIG = path | ||
| 76 | + lafile_replace.match = $$rplbase | ||
| 77 | + lafile_replace.replace = "$$[QT_INSTALL_PREFIX/raw]" | ||
| 78 | +} else { | ||
| 79 | + # include_replace and lib_replace are duplicate, but we don't want to | ||
| 80 | + # make QMAKE_PKGCONFIG_INSTALL_REPLACE, QMAKE_PRL_INSTALL_REPLACE conditional | ||
| 81 | + include_replace.match = $$rplbase | ||
| 82 | + include_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw] | ||
| 83 | + include_replace.CONFIG = path | ||
| 84 | + lib_replace.match = $$rplbase | ||
| 85 | + lib_replace.replace = $$[QT_SYSROOT]$$[QT_INSTALL_PREFIX/raw] | ||
| 86 | + lib_replace.CONFIG = path | ||
| 87 | + lafile_replace.match = $$rplbase | ||
| 88 | + lafile_replace.replace = "=$$[QT_INSTALL_PREFIX/raw]" | ||
| 89 | +} | ||
| 90 | QMAKE_PRL_INSTALL_REPLACE += include_replace lib_replace | ||
| 91 | |||
| 92 | unix|win32-g++* { | ||
| 93 | CONFIG += create_pc | ||
| 94 | - QMAKE_PKGCONFIG_LIBDIR = $$lib_replace.replace | ||
| 95 | - QMAKE_PKGCONFIG_INCDIR = $$include_replace.replace | ||
| 96 | + host_build: \ | ||
| 97 | + QMAKE_PKGCONFIG_LIBDIR = $$[QT_HOST_LIBS] | ||
| 98 | + else: \ | ||
| 99 | + QMAKE_PKGCONFIG_LIBDIR = $$[QT_INSTALL_LIBS/raw] | ||
| 100 | + QMAKE_PKGCONFIG_INCDIR = $$[QT_INSTALL_HEADERS/raw] | ||
| 101 | QMAKE_PKGCONFIG_CFLAGS = -I${includedir}/$$MODULE_INCNAME | ||
| 102 | QMAKE_PKGCONFIG_DESTDIR = pkgconfig | ||
| 103 | - QMAKE_PKGCONFIG_INSTALL_REPLACE += include_replace lib_replace | ||
| 104 | + QMAKE_PKGCONFIG_INSTALL_REPLACE += pkgconfig_include_replace pkgconfig_lib_replace | ||
| 105 | } | ||
| 106 | |||
| 107 | unix { | ||
| 108 | CONFIG += create_libtool explicitlib | ||
| 109 | QMAKE_LIBTOOL_LIBDIR = $$lib_replace.replace | ||
| 110 | - QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace | ||
| 111 | + QMAKE_LIBTOOL_INSTALL_REPLACE += include_replace lib_replace lafile_replace | ||
| 112 | } | ||
| 113 | |||
| 114 | unix|win32-g++* { | ||
| 115 | -- | ||
| 116 | 1.8.5.2 | ||
| 117 | |||
diff --git a/recipes-qt/qt5/qtbase/0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch b/recipes-qt/qt5/qtbase/0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch new file mode 100644 index 00000000..82e028d7 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0006-configure-don-t-export-SYSTEM_VARIABLES-to-.qmake.va.patch | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | From ce1afee66a6310f362644e71d17f8d1eb3f848da Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Wed, 8 May 2013 23:54:35 +0200 | ||
| 4 | Subject: [PATCH 06/14] configure: don't export SYSTEM_VARIABLES to .qmake.vars | ||
| 5 | |||
| 6 | * linux-oe-g++ should handle this correctly and exporting LD as QMAKE_LINK is | ||
| 7 | causing issues as we need g++ to be used as linker | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 12 | --- | ||
| 13 | configure | 14 -------------- | ||
| 14 | 1 file changed, 14 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/configure b/configure | ||
| 17 | index 46f7230..96c56c8 100755 | ||
| 18 | --- a/configure | ||
| 19 | +++ b/configure | ||
| 20 | @@ -581,20 +581,6 @@ fi'` | ||
| 21 | done | ||
| 22 | |||
| 23 | SYSTEM_VARIABLES="RANLIB STRIP OBJDUMP LD CC CXX CFLAGS CXXFLAGS LDFLAGS" | ||
| 24 | -for varname in $SYSTEM_VARIABLES; do | ||
| 25 | - qmakevarname="${varname}" | ||
| 26 | - # use LDFLAGS for autoconf compat, but qmake uses QMAKE_LFLAGS | ||
| 27 | - if [ "${varname}" = "LDFLAGS" ]; then | ||
| 28 | - qmakevarname="LFLAGS" | ||
| 29 | - elif [ "${varname}" = "LD" ]; then | ||
| 30 | - qmakevarname="LINK" | ||
| 31 | - fi | ||
| 32 | - cmd=`echo \ | ||
| 33 | -'if [ -n "\$'${varname}'" ]; then | ||
| 34 | - QMakeVar set QMAKE_'${qmakevarname}' "\$'${varname}'" | ||
| 35 | -fi'` | ||
| 36 | - eval "$cmd" | ||
| 37 | -done | ||
| 38 | # Use CC/CXX to run config.tests | ||
| 39 | mkdir -p "$outpath/config.tests" | ||
| 40 | rm -f "$outpath/config.tests/.qmake.cache" | ||
| 41 | -- | ||
| 42 | 1.8.5.2 | ||
| 43 | |||
diff --git a/recipes-qt/qt5/qtbase/0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch b/recipes-qt/qt5/qtbase/0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch new file mode 100644 index 00000000..b2b5ef9c --- /dev/null +++ b/recipes-qt/qt5/qtbase/0007-configure.prf-Allow-to-add-extra-arguments-to-make.patch | |||
| @@ -0,0 +1,37 @@ | |||
| 1 | From 7846422a1d4ca37583fbbd10d768e34ddf84d233 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Thu, 9 May 2013 10:06:50 +0200 | ||
| 4 | Subject: [PATCH 07/14] configure.prf: Allow to add extra arguments to make | ||
| 5 | |||
| 6 | * sometimes we would like to add -e or define some variable and respect it from both | ||
| 7 | Makefiles used in configure tests and also Makefiles to build the application | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 12 | --- | ||
| 13 | mkspecs/features/configure.prf | 4 ++-- | ||
| 14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/mkspecs/features/configure.prf b/mkspecs/features/configure.prf | ||
| 17 | index 39144e7..de48b07 100644 | ||
| 18 | --- a/mkspecs/features/configure.prf | ||
| 19 | +++ b/mkspecs/features/configure.prf | ||
| 20 | @@ -54,12 +54,12 @@ defineTest(qtCompileTest) { | ||
| 21 | qmake_configs = "\"CONFIG -= qt debug_and_release app_bundle lib_bundle\"" | ||
| 22 | |||
| 23 | # Clean up after previous run | ||
| 24 | - exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE distclean") | ||
| 25 | + exists($$test_out_dir/Makefile):qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS) distclean") | ||
| 26 | |||
| 27 | mkpath($$test_out_dir)|error("Aborting.") | ||
| 28 | |||
| 29 | qtRunLoggedCommand("$$test_cmd_base $$system_quote($$system_path($$QMAKE_QMAKE)) $$qmake_configs $$shell_quote($$test_dir)") { | ||
| 30 | - qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE") { | ||
| 31 | + qtRunLoggedCommand("$$test_cmd_base $$QMAKE_MAKE $$(QMAKE_MAKE_ARGS)") { | ||
| 32 | log("yes$$escape_expand(\\n)") | ||
| 33 | msg = "test $$1 succeeded" | ||
| 34 | write_file($$QMAKE_CONFIG_LOG, msg, append) | ||
| 35 | -- | ||
| 36 | 1.8.5.2 | ||
| 37 | |||
diff --git a/recipes-qt/qt5/qtbase/0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch b/recipes-qt/qt5/qtbase/0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch new file mode 100644 index 00000000..eea0c343 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0008-configure-make-pulseaudio-alsa-freetype-a-configurab.patch | |||
| @@ -0,0 +1,49 @@ | |||
| 1 | From 9bb1bbebd644c243413650defa08a99eb4678a87 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
| 3 | Date: Tue, 28 Feb 2012 15:10:24 +0000 | ||
| 4 | Subject: [PATCH 08/14] configure: make pulseaudio, alsa, freetype a | ||
| 5 | configurable option | ||
| 6 | |||
| 7 | Upstream-Status: Pending | ||
| 8 | |||
| 9 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
| 10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 11 | --- | ||
| 12 | configure | 21 +++++++++++++++++++++ | ||
| 13 | 1 file changed, 21 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/configure b/configure | ||
| 16 | index 96c56c8..b3854aa 100755 | ||
| 17 | --- a/configure | ||
| 18 | +++ b/configure | ||
| 19 | @@ -1801,6 +1801,27 @@ while [ "$#" -gt 0 ]; do | ||
| 20 | UNKNOWN_OPT=yes | ||
| 21 | fi | ||
| 22 | ;; | ||
| 23 | + pulseaudio) | ||
| 24 | + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then | ||
| 25 | + CFG_PULSEAUDIO="$VAL" | ||
| 26 | + else | ||
| 27 | + UNKNOWN_OPT=yes | ||
| 28 | + fi | ||
| 29 | + ;; | ||
| 30 | + alsa) | ||
| 31 | + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then | ||
| 32 | + CFG_ALSA="$VAL" | ||
| 33 | + else | ||
| 34 | + UNKNOWN_OPT=yes | ||
| 35 | + fi | ||
| 36 | + ;; | ||
| 37 | + freetype) | ||
| 38 | + if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ] || [ "$VAL" = "system" ]; then | ||
| 39 | + CFG_LIBFREETYPE="$VAL" | ||
| 40 | + else | ||
| 41 | + UNKNOWN_OPT=yes | ||
| 42 | + fi | ||
| 43 | + ;; | ||
| 44 | gtkstyle) | ||
| 45 | if [ "$VAL" = "yes" ] || [ "$VAL" = "no" ]; then | ||
| 46 | CFG_QGTKSTYLE="$VAL" | ||
| 47 | -- | ||
| 48 | 1.8.5.2 | ||
| 49 | |||
diff --git a/recipes-qt/qt5/qtbase/0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch b/recipes-qt/qt5/qtbase/0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch new file mode 100644 index 00000000..b35597b7 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0009-cmake-Use-OE_QMAKE_PATH_EXTERNAL_HOST_BINS-to-determ.patch | |||
| @@ -0,0 +1,85 @@ | |||
| 1 | From b70eabc4050a5e7621511403dcbf7a650b3ef9fc Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Simon Busch <morphis@gravedo.de> | ||
| 3 | Date: Mon, 22 Jul 2013 21:09:41 +0000 | ||
| 4 | Subject: [PATCH 09/14] cmake: Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to | ||
| 5 | determine path to host binaries | ||
| 6 | |||
| 7 | Upstream-Status: Inappropiate (configuration) | ||
| 8 | |||
| 9 | Signed-off-by: Simon Busch <morphis@gravedo.de> | ||
| 10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 11 | --- | ||
| 12 | src/corelib/Qt5CoreConfigExtras.cmake.in | 6 +++--- | ||
| 13 | src/dbus/Qt5DBusConfigExtras.cmake.in | 4 ++-- | ||
| 14 | src/widgets/Qt5WidgetsConfigExtras.cmake.in | 2 +- | ||
| 15 | 3 files changed, 6 insertions(+), 6 deletions(-) | ||
| 16 | |||
| 17 | diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in | ||
| 18 | index 1e00c74..a99b5bf 100644 | ||
| 19 | --- a/src/corelib/Qt5CoreConfigExtras.cmake.in | ||
| 20 | +++ b/src/corelib/Qt5CoreConfigExtras.cmake.in | ||
| 21 | @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qmake) | ||
| 22 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 23 | set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") | ||
| 24 | !!ELSE | ||
| 25 | - set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\") | ||
| 26 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qmake$$CMAKE_BIN_SUFFIX\") | ||
| 27 | !!ENDIF | ||
| 28 | _qt5_Core_check_file_exists(${imported_location}) | ||
| 29 | |||
| 30 | @@ -20,7 +20,7 @@ if (NOT TARGET Qt5::moc) | ||
| 31 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 32 | set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") | ||
| 33 | !!ELSE | ||
| 34 | - set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\") | ||
| 35 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/moc$$CMAKE_BIN_SUFFIX\") | ||
| 36 | !!ENDIF | ||
| 37 | _qt5_Core_check_file_exists(${imported_location}) | ||
| 38 | |||
| 39 | @@ -37,7 +37,7 @@ if (NOT TARGET Qt5::rcc) | ||
| 40 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 41 | set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") | ||
| 42 | !!ELSE | ||
| 43 | - set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\") | ||
| 44 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/rcc$$CMAKE_BIN_SUFFIX\") | ||
| 45 | !!ENDIF | ||
| 46 | _qt5_Core_check_file_exists(${imported_location}) | ||
| 47 | |||
| 48 | diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in | ||
| 49 | index 1d94715..301af8f 100644 | ||
| 50 | --- a/src/dbus/Qt5DBusConfigExtras.cmake.in | ||
| 51 | +++ b/src/dbus/Qt5DBusConfigExtras.cmake.in | ||
| 52 | @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml) | ||
| 53 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 54 | set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") | ||
| 55 | !!ELSE | ||
| 56 | - set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") | ||
| 57 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\") | ||
| 58 | !!ENDIF | ||
| 59 | _qt5_DBus_check_file_exists(${imported_location}) | ||
| 60 | |||
| 61 | @@ -20,7 +20,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp) | ||
| 62 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 63 | set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") | ||
| 64 | !!ELSE | ||
| 65 | - set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") | ||
| 66 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\") | ||
| 67 | !!ENDIF | ||
| 68 | _qt5_DBus_check_file_exists(${imported_location}) | ||
| 69 | |||
| 70 | diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in | ||
| 71 | index e5650ff..16ff007 100644 | ||
| 72 | --- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in | ||
| 73 | +++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in | ||
| 74 | @@ -5,7 +5,7 @@ if (NOT TARGET Qt5::uic) | ||
| 75 | !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE) | ||
| 76 | set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") | ||
| 77 | !!ELSE | ||
| 78 | - set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\") | ||
| 79 | + set(imported_location \"${OE_QMAKE_PATH_EXTERNAL_HOST_BINS}/uic$$CMAKE_BIN_SUFFIX\") | ||
| 80 | !!ENDIF | ||
| 81 | _qt5_Widgets_check_file_exists(${imported_location}) | ||
| 82 | |||
| 83 | -- | ||
| 84 | 1.8.5.2 | ||
| 85 | |||
diff --git a/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch b/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch new file mode 100644 index 00000000..91370f17 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0010-Always-build-uic.patch | |||
| @@ -0,0 +1,38 @@ | |||
| 1 | From 1ea3afc37eba9ea4b1bee3916abd1bcf6abf97ba Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 3 | Date: Sat, 16 Nov 2013 00:32:30 +0100 | ||
| 4 | Subject: [PATCH 10/12] Always build uic | ||
| 5 | |||
| 6 | Even if we are not building gui or widgets. This tool is needed later | ||
| 7 | as a native tool when compiling the target. | ||
| 8 | |||
| 9 | Change-Id: I257668ac28c22b192e7ec7736e6c23fa3be6bab6 | ||
| 10 | Signed-off-by: Mikko Levonmaa <mikko.levonmaa@palm.com> | ||
| 11 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 12 | --- | ||
| 13 | src/src.pro | 4 ++-- | ||
| 14 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
| 15 | |||
| 16 | diff --git a/src/src.pro b/src/src.pro | ||
| 17 | index b7887a6..8801544 100644 | ||
| 18 | --- a/src/src.pro | ||
| 19 | +++ b/src/src.pro | ||
| 20 | @@ -145,7 +145,7 @@ contains(QT_CONFIG, concurrent):SUBDIRS += src_concurrent | ||
| 21 | } | ||
| 22 | } | ||
| 23 | } | ||
| 24 | -SUBDIRS += src_plugins src_tools_qdoc | ||
| 25 | +SUBDIRS += src_plugins src_tools_qdoc src_tools_uic | ||
| 26 | |||
| 27 | nacl: SUBDIRS -= src_network src_testlib | ||
| 28 | |||
| 29 | @@ -156,4 +156,4 @@ TR_EXCLUDE = \ | ||
| 30 | src_tools_bootstrap_dbus src_tools_qdbusxml2cpp src_tools_qdbuscpp2xml | ||
| 31 | |||
| 32 | sub-tools.depends = $$TOOLS | ||
| 33 | -QMAKE_EXTRA_TARGETS = sub-tools | ||
| 34 | \ No newline at end of file | ||
| 35 | +QMAKE_EXTRA_TARGETS = sub-tools | ||
| 36 | -- | ||
| 37 | 1.8.5.2 | ||
| 38 | |||
diff --git a/recipes-qt/qt5/qtbase/0010-qmake-is-already-built-in-qtbase-native.patch b/recipes-qt/qt5/qtbase/0010-qmake-is-already-built-in-qtbase-native.patch new file mode 100644 index 00000000..1b1d85e3 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0010-qmake-is-already-built-in-qtbase-native.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | From 96a18197ac6d9960fd00654acffd6a81bafa0320 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Michael Krelin <hacker@klever.net> | ||
| 3 | Date: Mon, 29 Oct 2012 20:07:49 -0700 | ||
| 4 | Subject: [PATCH 10/14] qmake is already built in qtbase-native | ||
| 5 | |||
| 6 | Ported from OE by: Yu Ke <ke.yu@intel.com> | ||
| 7 | Upstream-Status: Inappropriate [configuration] | ||
| 8 | |||
| 9 | Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com> | ||
| 10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 11 | --- | ||
| 12 | configure | 2 +- | ||
| 13 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 14 | |||
| 15 | diff --git a/configure b/configure | ||
| 16 | index b3854aa..15c89c7 100755 | ||
| 17 | --- a/configure | ||
| 18 | +++ b/configure | ||
| 19 | @@ -3923,7 +3923,7 @@ setBootstrapEvalVariable() | ||
| 20 | |||
| 21 | |||
| 22 | # build qmake | ||
| 23 | -if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
| 24 | +if false; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
| 25 | echo "Creating qmake..." | ||
| 26 | |||
| 27 | mkdir -p "$outpath/qmake" || exit | ||
| 28 | -- | ||
| 29 | 1.8.5.2 | ||
| 30 | |||
diff --git a/recipes-qt/qt5/qtbase/0011-Allow-building-a-separate-qmake-for-the-target.patch b/recipes-qt/qt5/qtbase/0011-Allow-building-a-separate-qmake-for-the-target.patch new file mode 100644 index 00000000..65b65aa7 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0011-Allow-building-a-separate-qmake-for-the-target.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | From 69c6d0ccc6097da0479fddc905dd8aa69cb1d0e2 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
| 3 | Date: Mon, 29 Oct 2012 20:26:36 -0700 | ||
| 4 | Subject: [PATCH 11/14] Allow building a separate qmake for the target | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate [config] | ||
| 7 | |||
| 8 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
| 9 | Signed-off-by: Mikko Levonmaa <mikko.levonmaa@gmail.com> | ||
| 10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 11 | --- | ||
| 12 | qmake/qmake.pro | 2 ++ | ||
| 13 | 1 file changed, 2 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/qmake/qmake.pro b/qmake/qmake.pro | ||
| 16 | index 89d6ea5..7c605b9 100644 | ||
| 17 | --- a/qmake/qmake.pro | ||
| 18 | +++ b/qmake/qmake.pro | ||
| 19 | @@ -8,6 +8,8 @@ CONFIG -= qt | ||
| 20 | DEFINES += \ | ||
| 21 | QT_BUILD_QMAKE \ | ||
| 22 | PROEVALUATOR_FULL | ||
| 23 | +DESTDIR = ../bin/ | ||
| 24 | +TARGET = qmake | ||
| 25 | |||
| 26 | VPATH += \ | ||
| 27 | ../src/corelib/global \ | ||
| 28 | -- | ||
| 29 | 1.8.5.2 | ||
| 30 | |||
diff --git a/recipes-qt/qt5/qtbase/0011-configure-preserve-built-qmake-and-swap-with-native-.patch b/recipes-qt/qt5/qtbase/0011-configure-preserve-built-qmake-and-swap-with-native-.patch new file mode 100644 index 00000000..9335610d --- /dev/null +++ b/recipes-qt/qt5/qtbase/0011-configure-preserve-built-qmake-and-swap-with-native-.patch | |||
| @@ -0,0 +1,30 @@ | |||
| 1 | From 6f42a9e1422f3aba3e2bddb8ef6d470841224ab1 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Denys Dmytriyenko <denys@ti.com> | ||
| 3 | Date: Mon, 11 Nov 2013 20:22:34 -0500 | ||
| 4 | Subject: [PATCH 11/12] configure: preserve built qmake and swap with native | ||
| 5 | one | ||
| 6 | |||
| 7 | Let configure script build the real qmake, but right after it's built, swap | ||
| 8 | it with a native qmake for further internal use, preserving the real one. | ||
| 9 | |||
| 10 | Signed-off-by: Denys Dmytriyenko <denys@ti.com> | ||
| 11 | --- | ||
| 12 | configure | 2 ++ | ||
| 13 | 1 file changed, 2 insertions(+) | ||
| 14 | |||
| 15 | diff --git a/configure b/configure | ||
| 16 | index b3854aa..20836a6 100755 | ||
| 17 | --- a/configure | ||
| 18 | +++ b/configure | ||
| 19 | @@ -4067,6 +4067,8 @@ if true; then ###[ '!' -f "$outpath/bin/qmake" ]; | ||
| 20 | |||
| 21 | (cd "$outpath/qmake"; "$MAKE") || exit 2 | ||
| 22 | fi # Build qmake | ||
| 23 | +mv "$outpath/bin/qmake" "$outpath/bin/qmake-real" | ||
| 24 | +mv "$outpath/bin/qmake-native" "$outpath/bin/qmake" | ||
| 25 | |||
| 26 | echo "Running configuration tests..." | ||
| 27 | |||
| 28 | -- | ||
| 29 | 1.8.5.2 | ||
| 30 | |||
diff --git a/recipes-qt/qt5/qtbase/0012-configure-bump-path-length-from-256-to-512-character.patch b/recipes-qt/qt5/qtbase/0012-configure-bump-path-length-from-256-to-512-character.patch new file mode 100644 index 00000000..d235797d --- /dev/null +++ b/recipes-qt/qt5/qtbase/0012-configure-bump-path-length-from-256-to-512-character.patch | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | From f9db024119ab11177629311101313cfee0fbcbc8 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Denys Dmytriyenko <denys@ti.com> | ||
| 3 | Date: Mon, 11 Nov 2013 20:27:30 -0500 | ||
| 4 | Subject: [PATCH 12/12] configure: bump path length from 256 to 512 characters | ||
| 5 | |||
| 6 | Increase the path length that gets hardcoded into generated config.cpp file | ||
| 7 | from 256 to 512 characters, as nativesdk path can be quite long. | ||
| 8 | |||
| 9 | Signed-off-by: Denys Dmytriyenko <denys@ti.com> | ||
| 10 | --- | ||
| 11 | configure | 2 +- | ||
| 12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
| 13 | |||
| 14 | diff --git a/configure b/configure | ||
| 15 | index 20836a6..50661f4 100755 | ||
| 16 | --- a/configure | ||
| 17 | +++ b/configure | ||
| 18 | @@ -3805,7 +3805,7 @@ static const char qt_configure_licensed_products_str [256 + 12] = "qt_lcnsprod=$ | ||
| 19 | static const char qt_configure_installation [12+11] = "qt_instdate=`date +%Y-%m-%d`"; | ||
| 20 | |||
| 21 | /* Installation Info */ | ||
| 22 | -static const char qt_configure_prefix_path_strs[][256 + 12] = { | ||
| 23 | +static const char qt_configure_prefix_path_strs[][512 + 12] = { | ||
| 24 | #ifndef QT_BUILD_QMAKE | ||
| 25 | "qt_prfxpath=$QT_SYSROOT_PREFIX", | ||
| 26 | "qt_docspath=$QT_SYSROOT_DOCS", | ||
| 27 | -- | ||
| 28 | 1.8.5.2 | ||
| 29 | |||
diff --git a/recipes-qt/qt5/qtbase/0012-qtbase-allow-build-of-examples.patch b/recipes-qt/qt5/qtbase/0012-qtbase-allow-build-of-examples.patch new file mode 100644 index 00000000..591be8e5 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0012-qtbase-allow-build-of-examples.patch | |||
| @@ -0,0 +1,48 @@ | |||
| 1 | From 962bbe70b1f87afa820bd4cee49fcccfb6190341 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com> | ||
| 3 | Date: Sat, 25 May 2013 17:34:32 +0200 | ||
| 4 | Subject: [PATCH 12/14] qtbase: allow build of examples | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | this revert the following commit : | ||
| 10 | |||
| 11 | commit 2b397f985e4ef6ae5c0571a928bb1320fb048c61 | ||
| 12 | Author: Oswald Buddenhagen <oswald.buddenhagen@digia.com> | ||
| 13 | Date: Fri Dec 21 19:36:12 2012 +0100 | ||
| 14 | |||
| 15 | do not actually build examples in production builds | ||
| 16 | |||
| 17 | -developer-build enables an actual build of examples, based on the | ||
| 18 | assumption that developers want to test it (it can be still disabled | ||
| 19 | with -nomake examples). regular users otoh want only the examples | ||
| 20 | sources installed. | ||
| 21 | |||
| 22 | Change-Id: Ifc6a108099929175a3960480802b271a758fdd38 | ||
| 23 | Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com> | ||
| 24 | |||
| 25 | Signed-off-by: Eric Bénard <eric@eukrea.com> | ||
| 26 | --- | ||
| 27 | mkspecs/features/qt_example_installs.prf | 7 ------- | ||
| 28 | 1 file changed, 7 deletions(-) | ||
| 29 | |||
| 30 | diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf | ||
| 31 | index 2db752c..ca1b0c7 100644 | ||
| 32 | --- a/mkspecs/features/qt_example_installs.prf | ||
| 33 | +++ b/mkspecs/features/qt_example_installs.prf | ||
| 34 | @@ -92,11 +92,4 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples) | ||
| 35 | allfiles -= doc | ||
| 36 | !isEmpty(allfiles): warning("remaining files in $$_PRO_FILE_PWD_: $$allfiles") | ||
| 37 | } | ||
| 38 | - | ||
| 39 | - !equals(TEMPLATE, subdirs):!compile_examples { | ||
| 40 | - TEMPLATE = aux | ||
| 41 | - CONFIG -= have_target qt staticlib dll | ||
| 42 | - SOURCES = | ||
| 43 | - INSTALLS -= target | ||
| 44 | - } | ||
| 45 | } | ||
| 46 | -- | ||
| 47 | 1.8.5.2 | ||
| 48 | |||
diff --git a/recipes-qt/qt5/qtbase/0013-QOpenGLPaintDevice-sub-area-support.patch b/recipes-qt/qt5/qtbase/0013-QOpenGLPaintDevice-sub-area-support.patch new file mode 100644 index 00000000..9bef55af --- /dev/null +++ b/recipes-qt/qt5/qtbase/0013-QOpenGLPaintDevice-sub-area-support.patch | |||
| @@ -0,0 +1,154 @@ | |||
| 1 | From 4a169ec0dffdb2dc501533a4bca3648ba3a220bf Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Jani Hautakangas <jani.hautakangas@ixonos.com> | ||
| 3 | Date: Thu, 16 May 2013 09:52:07 +0300 | ||
| 4 | Subject: [PATCH 13/14] QOpenGLPaintDevice sub-area support | ||
| 5 | |||
| 6 | Allows creating QOpenGLPaintDevice targetting sub-area | ||
| 7 | of binded framebuffer. | ||
| 8 | |||
| 9 | Upstream-Status: Pending | ||
| 10 | |||
| 11 | Change-Id: Ida2f079aa1ac0b87d36b54129e226399dbcdda80 | ||
| 12 | |||
| 13 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 14 | --- | ||
| 15 | src/gui/opengl/qopenglpaintdevice.cpp | 12 ++++++++++++ | ||
| 16 | src/gui/opengl/qopenglpaintdevice.h | 2 ++ | ||
| 17 | src/gui/opengl/qopenglpaintengine.cpp | 10 +++++++--- | ||
| 18 | src/gui/opengl/qopenglpaintengine_p.h | 1 + | ||
| 19 | src/gui/opengl/qopengltextureglyphcache.cpp | 2 +- | ||
| 20 | 5 files changed, 23 insertions(+), 4 deletions(-) | ||
| 21 | |||
| 22 | diff --git a/src/gui/opengl/qopenglpaintdevice.cpp b/src/gui/opengl/qopenglpaintdevice.cpp | ||
| 23 | index fa392d1..5df1762 100644 | ||
| 24 | --- a/src/gui/opengl/qopenglpaintdevice.cpp | ||
| 25 | +++ b/src/gui/opengl/qopenglpaintdevice.cpp | ||
| 26 | @@ -111,6 +111,7 @@ class QOpenGLPaintDevicePrivate | ||
| 27 | public: | ||
| 28 | QOpenGLPaintDevicePrivate(const QSize &size); | ||
| 29 | |||
| 30 | + QPoint offset; | ||
| 31 | QSize size; | ||
| 32 | QOpenGLContext *ctx; | ||
| 33 | |||
| 34 | @@ -159,6 +160,12 @@ QOpenGLPaintDevice::QOpenGLPaintDevice(int width, int height) | ||
| 35 | { | ||
| 36 | } | ||
| 37 | |||
| 38 | +QOpenGLPaintDevice::QOpenGLPaintDevice(int x, int y, int width, int height) | ||
| 39 | + : d_ptr(new QOpenGLPaintDevicePrivate(QSize(width, height))) | ||
| 40 | +{ | ||
| 41 | + d_ptr->offset = QPoint(x,y); | ||
| 42 | +} | ||
| 43 | + | ||
| 44 | /*! | ||
| 45 | Destroys the QOpenGLPaintDevice. | ||
| 46 | */ | ||
| 47 | @@ -228,6 +235,11 @@ QOpenGLContext *QOpenGLPaintDevice::context() const | ||
| 48 | return d_ptr->ctx; | ||
| 49 | } | ||
| 50 | |||
| 51 | +QPoint QOpenGLPaintDevice::offset() const | ||
| 52 | +{ | ||
| 53 | + return d_ptr->offset; | ||
| 54 | +} | ||
| 55 | + | ||
| 56 | /*! | ||
| 57 | Returns the pixel size of the paint device. | ||
| 58 | |||
| 59 | diff --git a/src/gui/opengl/qopenglpaintdevice.h b/src/gui/opengl/qopenglpaintdevice.h | ||
| 60 | index c05571c..01eb1bc 100644 | ||
| 61 | --- a/src/gui/opengl/qopenglpaintdevice.h | ||
| 62 | +++ b/src/gui/opengl/qopenglpaintdevice.h | ||
| 63 | @@ -62,12 +62,14 @@ public: | ||
| 64 | QOpenGLPaintDevice(); | ||
| 65 | explicit QOpenGLPaintDevice(const QSize &size); | ||
| 66 | QOpenGLPaintDevice(int width, int height); | ||
| 67 | + QOpenGLPaintDevice(int x, int y, int width, int height); | ||
| 68 | virtual ~QOpenGLPaintDevice(); | ||
| 69 | |||
| 70 | int devType() const { return QInternal::OpenGL; } | ||
| 71 | QPaintEngine *paintEngine() const; | ||
| 72 | |||
| 73 | QOpenGLContext *context() const; | ||
| 74 | + QPoint offset() const; | ||
| 75 | QSize size() const; | ||
| 76 | void setSize(const QSize &size); | ||
| 77 | void setDevicePixelRatio(qreal devicePixelRatio); | ||
| 78 | diff --git a/src/gui/opengl/qopenglpaintengine.cpp b/src/gui/opengl/qopenglpaintengine.cpp | ||
| 79 | index 0513551..f6aeb15 100644 | ||
| 80 | --- a/src/gui/opengl/qopenglpaintengine.cpp | ||
| 81 | +++ b/src/gui/opengl/qopenglpaintengine.cpp | ||
| 82 | @@ -1985,7 +1985,10 @@ bool QOpenGL2PaintEngineEx::begin(QPaintDevice *pdev) | ||
| 83 | for (int i = 0; i < QT_GL_VERTEX_ARRAY_TRACKED_COUNT; ++i) | ||
| 84 | d->vertexAttributeArraysEnabledState[i] = false; | ||
| 85 | |||
| 86 | + const QPoint offset = d->device->offset(); | ||
| 87 | const QSize sz = d->device->size(); | ||
| 88 | + d->x = offset.x(); | ||
| 89 | + d->y = offset.y(); | ||
| 90 | d->width = sz.width(); | ||
| 91 | d->height = sz.height(); | ||
| 92 | d->mode = BrushDrawingMode; | ||
| 93 | @@ -2073,7 +2076,7 @@ void QOpenGL2PaintEngineEx::ensureActive() | ||
| 94 | d->device->ensureActiveTarget(); | ||
| 95 | |||
| 96 | d->transferMode(BrushDrawingMode); | ||
| 97 | - glViewport(0, 0, d->width, d->height); | ||
| 98 | + glViewport(d->x, d->y, d->width, d->height); | ||
| 99 | d->needsSync = false; | ||
| 100 | d->lastMaskTextureUsed = 0; | ||
| 101 | d->shaderManager->setDirty(); | ||
| 102 | @@ -2116,6 +2119,7 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() | ||
| 103 | if (bounds == QRect(0, 0, width, height)) { | ||
| 104 | glDisable(GL_SCISSOR_TEST); | ||
| 105 | } else { | ||
| 106 | + bounds = QRect(bounds.x(), bounds.y(), bounds.width(), bounds.height()); | ||
| 107 | glEnable(GL_SCISSOR_TEST); | ||
| 108 | setScissor(bounds); | ||
| 109 | } | ||
| 110 | @@ -2124,14 +2128,14 @@ void QOpenGL2PaintEngineExPrivate::updateClipScissorTest() | ||
| 111 | |||
| 112 | void QOpenGL2PaintEngineExPrivate::setScissor(const QRect &rect) | ||
| 113 | { | ||
| 114 | - const int left = rect.left(); | ||
| 115 | + const int left = rect.left() + x; | ||
| 116 | const int width = rect.width(); | ||
| 117 | int bottom = height - (rect.top() + rect.height()); | ||
| 118 | if (device->paintFlipped()) { | ||
| 119 | bottom = rect.top(); | ||
| 120 | } | ||
| 121 | + bottom += y; | ||
| 122 | const int height = rect.height(); | ||
| 123 | - | ||
| 124 | glScissor(left, bottom, width, height); | ||
| 125 | } | ||
| 126 | |||
| 127 | diff --git a/src/gui/opengl/qopenglpaintengine_p.h b/src/gui/opengl/qopenglpaintengine_p.h | ||
| 128 | index d51f0e5..0d4b38d 100644 | ||
| 129 | --- a/src/gui/opengl/qopenglpaintengine_p.h | ||
| 130 | +++ b/src/gui/opengl/qopenglpaintengine_p.h | ||
| 131 | @@ -264,6 +264,7 @@ public: | ||
| 132 | QOpenGL2PaintEngineEx* q; | ||
| 133 | QOpenGLEngineShaderManager* shaderManager; | ||
| 134 | QOpenGLPaintDevice* device; | ||
| 135 | + int x, y; | ||
| 136 | int width, height; | ||
| 137 | QOpenGLContext *ctx; | ||
| 138 | EngineMode mode; | ||
| 139 | diff --git a/src/gui/opengl/qopengltextureglyphcache.cpp b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
| 140 | index 3b62d1d..a5d1f7e 100644 | ||
| 141 | --- a/src/gui/opengl/qopengltextureglyphcache.cpp | ||
| 142 | +++ b/src/gui/opengl/qopengltextureglyphcache.cpp | ||
| 143 | @@ -273,7 +273,7 @@ void QOpenGLTextureGlyphCache::resizeTextureData(int width, int height) | ||
| 144 | funcs.glBindFramebuffer(GL_FRAMEBUFFER, (GLuint)oldFbo); | ||
| 145 | |||
| 146 | if (pex != 0) { | ||
| 147 | - glViewport(0, 0, pex->width, pex->height); | ||
| 148 | + glViewport(pex->x, pex->y, pex->width, pex->height); | ||
| 149 | pex->updateClipScissorTest(); | ||
| 150 | } else { | ||
| 151 | m_blitProgram->disableAttributeArray(int(QT_VERTEX_COORDS_ATTR)); | ||
| 152 | -- | ||
| 153 | 1.8.5.2 | ||
| 154 | |||
diff --git a/recipes-qt/qt5/qtbase/0014-enables-tslib-device-to-be-read-from-env-variable.patch b/recipes-qt/qt5/qtbase/0014-enables-tslib-device-to-be-read-from-env-variable.patch new file mode 100644 index 00000000..5b5d18f0 --- /dev/null +++ b/recipes-qt/qt5/qtbase/0014-enables-tslib-device-to-be-read-from-env-variable.patch | |||
| @@ -0,0 +1,35 @@ | |||
| 1 | From 2af1da07715288bf7fc7308e2d11aef3171c9590 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com> | ||
| 3 | Date: Mon, 27 May 2013 18:32:37 +0200 | ||
| 4 | Subject: [PATCH 14/14] enables tslib device to be read from env variable | ||
| 5 | MIME-Version: 1.0 | ||
| 6 | Content-Type: text/plain; charset=UTF-8 | ||
| 7 | Content-Transfer-Encoding: 8bit | ||
| 8 | |||
| 9 | from : | ||
| 10 | https://github.com/prabindh/qt-configs/blob/master/qt5_1.0_Feb13/tslib.patch | ||
| 11 | |||
| 12 | Signed-off-by: Eric Bénard <eric@eukrea.com> | ||
| 13 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
| 14 | --- | ||
| 15 | src/plugins/generic/tslib/qtslib.cpp | 4 +++- | ||
| 16 | 1 file changed, 3 insertions(+), 1 deletion(-) | ||
| 17 | |||
| 18 | diff --git a/src/plugins/generic/tslib/qtslib.cpp b/src/plugins/generic/tslib/qtslib.cpp | ||
| 19 | index 6986fd5..2ed4a69 100644 | ||
| 20 | --- a/src/plugins/generic/tslib/qtslib.cpp | ||
| 21 | +++ b/src/plugins/generic/tslib/qtslib.cpp | ||
| 22 | @@ -64,7 +64,9 @@ QTsLibMouseHandler::QTsLibMouseHandler(const QString &key, | ||
| 23 | qDebug() << "QTsLibMouseHandler" << key << specification; | ||
| 24 | setObjectName(QLatin1String("TSLib Mouse Handler")); | ||
| 25 | |||
| 26 | - QByteArray device = "/dev/input/event1"; | ||
| 27 | + QByteArray device = qgetenv("TSLIB_TSDEVICE"); | ||
| 28 | + if(device.isEmpty()) | ||
| 29 | + device = "/dev/input/event1"; | ||
| 30 | if (specification.startsWith("/dev/")) | ||
| 31 | device = specification.toLocal8Bit(); | ||
| 32 | |||
| 33 | -- | ||
| 34 | 1.8.5.2 | ||
| 35 | |||
