diff options
Diffstat (limited to 'recipes-qt/qt5/qtbase-5.1.1/0001-Add-linux-oe-g-platform.patch')
-rw-r--r-- | recipes-qt/qt5/qtbase-5.1.1/0001-Add-linux-oe-g-platform.patch | 304 |
1 files changed, 304 insertions, 0 deletions
diff --git a/recipes-qt/qt5/qtbase-5.1.1/0001-Add-linux-oe-g-platform.patch b/recipes-qt/qt5/qtbase-5.1.1/0001-Add-linux-oe-g-platform.patch new file mode 100644 index 00000000..87c26122 --- /dev/null +++ b/recipes-qt/qt5/qtbase-5.1.1/0001-Add-linux-oe-g-platform.patch @@ -0,0 +1,304 @@ +From b91e232e603df102a1d305aceb0dbedc6ce3e89c Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Mon, 15 Apr 2013 04:29:32 +0200 +Subject: [PATCH 01/22] Add linux-oe-g++ platform + +* This qmake.conf unlike other platforms reads most variables from + shell environment, because it's easier for qt recipes to export + *FLAGS or CC specific for given recipe + +* configure: add getQEvalMakeConf and getXQEvalMakeConf + Allow expansion of $(...) references from qmake.conf to generate + qmake environment from shell environment as exported by qmake5_base + +* OE_QMAKE_CXX in order to allow compiler version check to succeed + which allows WebKit to be enabled. + +* Other variables in order to let config.tests to use our -platform + settings + +* Add setBootstrapEvalVariable to bootstrap qmake with our environment + too, this allows us to use -platform linux-oe-g++ also for native + recipe + +* disable gdb_dwarf_index + * qmake is trying to call native gdb and we don't depend on gdb-native + (or even provide gdb-native) + * fixes errors like this: + /bin/sh: gdb: command not found + /bin/sh: line 0: test: -gt: unary operator expected + which are not fatal, but still misleading in do_configure output + +Upstream-Status: Pending + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + configure | 54 ++++++++++++++++--- + mkspecs/linux-oe-g++/qmake.conf | 40 ++++++++++++++ + mkspecs/linux-oe-g++/qplatformdefs.h | 100 +++++++++++++++++++++++++++++++++++ + 3 files changed, 187 insertions(+), 7 deletions(-) + create mode 100644 mkspecs/linux-oe-g++/qmake.conf + create mode 100644 mkspecs/linux-oe-g++/qplatformdefs.h + +diff --git a/configure b/configure +index 140c7b4..397d53f 100755 +--- a/configure ++++ b/configure +@@ -291,6 +291,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 +@@ -300,6 +310,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 +@@ -816,6 +836,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}" +@@ -2894,7 +2926,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 + +@@ -2929,7 +2961,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 +@@ -3959,6 +3991,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..." +@@ -3997,11 +4037,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.1 + |