Patchwork [1/1] qt4: fix qt4-native build failure on SLED-11

login
register
mail settings
Submitter wenzong.fan@windriver.com
Date Aug. 1, 2012, 11:50 a.m.
Message ID <f0327f027aad26e2b31f4eca789e20b24881b50f.1343821674.git.wenzong.fan@windriver.com>
Download mbox | patch
Permalink /patch/33499/
State New
Headers show

Comments

wenzong.fan@windriver.com - Aug. 1, 2012, 11:50 a.m.
From: Wenzong Fan <wenzong.fan@windriver.com>

This issue is that with C++ compiler process an old version of kernel
header file, coincidently that file has a variable named 'new':

* 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h';
* '/usr/include/linux/vt.h' has below code on SLED-11.x:
    + unsigned int new;

On mostly hosts it has been changed to: new -> newev.

[YOCTO #2845]

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
 meta/recipes-qt/qt4/files/fix_qkbdtty_qws.patch |   26 +++++++++++++++++++++++
 meta/recipes-qt/qt4/qt4-native.inc              |    6 ++++--
 2 files changed, 30 insertions(+), 2 deletions(-)
 create mode 100644 meta/recipes-qt/qt4/files/fix_qkbdtty_qws.patch
Paul Eggleton - Aug. 1, 2012, 12:36 p.m.
On Wednesday 01 August 2012 19:50:02 wenzong.fan@windriver.com wrote:
> From: Wenzong Fan <wenzong.fan@windriver.com>
> 
> This issue is that with C++ compiler process an old version of kernel
> header file, coincidently that file has a variable named 'new':
> 
> * 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h';
> * '/usr/include/linux/vt.h' has below code on SLED-11.x:
>     + unsigned int new;
> 
> On mostly hosts it has been changed to: new -> newev.
> 
> [YOCTO #2845]
> 
> Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>

Could you please add the description and signed-off-by to the inner patch as 
well?

Thanks,
Paul
wenzong.fan@windriver.com - Aug. 2, 2012, 1:45 a.m.
On 08/01/2012 08:36 PM, Paul Eggleton wrote:
> On Wednesday 01 August 2012 19:50:02 wenzong.fan@windriver.com wrote:
>> From: Wenzong Fan<wenzong.fan@windriver.com>
>>
>> This issue is that with C++ compiler process an old version of kernel
>> header file, coincidently that file has a variable named 'new':
>>
>> * 'embedded/qkbdtty_qws.cpp' include 'linux/vt.h';
>> * '/usr/include/linux/vt.h' has below code on SLED-11.x:
>>      + unsigned int new;
>>
>> On mostly hosts it has been changed to: new ->  newev.
>>
>> [YOCTO #2845]
>>
>> Signed-off-by: Wenzong Fan<wenzong.fan@windriver.com>
>
> Could you please add the description and signed-off-by to the inner patch as
> well?

Ok, I have added those infos and sent patch v2.

Thanks
Wenzong

>
> Thanks,
> Paul
>

Patch

diff --git a/meta/recipes-qt/qt4/files/fix_qkbdtty_qws.patch b/meta/recipes-qt/qt4/files/fix_qkbdtty_qws.patch
new file mode 100644
index 0000000..d8f647f
--- /dev/null
+++ b/meta/recipes-qt/qt4/files/fix_qkbdtty_qws.patch
@@ -0,0 +1,26 @@ 
+Upstream-Status: Pending
+=======================================
+diff --git a/src/gui/embedded/qkbdtty_qws.cpp b/src/gui/embedded/qkbdtty_qws.cpp
+--- a/src/gui/embedded/qkbdtty_qws.cpp	2012-07-27 13:16:58.420198350 +0800
++++ b/src/gui/embedded/qkbdtty_qws.cpp	2012-07-27 13:24:43.924191127 +0800
+@@ -54,8 +54,20 @@
+ 
+ #if defined Q_OS_LINUX
+ #  include <linux/kd.h>
++
++/* Workaround kernel headers using "new" as variable name. The problem
++ is specific to SLED-11, other distros use "newev" rather than "new" */
++#ifdef __cplusplus
++#warning "workaround kernel headers using new as variable name on SLED 11"
++#define new newev
++#endif
++
+ #  include <linux/vt.h> //TODO: move vt handling somewhere else (QLinuxFbScreen?)
+ 
++#ifdef __cplusplus
++#undef new
++#endif
++
+ #  include "qscreen_qws.h"
+ #  include "qwindowsystem_qws.h"
+ #  include "qapplication.h"
diff --git a/meta/recipes-qt/qt4/qt4-native.inc b/meta/recipes-qt/qt4/qt4-native.inc
index 70adec4..90ea63c 100644
--- a/meta/recipes-qt/qt4/qt4-native.inc
+++ b/meta/recipes-qt/qt4/qt4-native.inc
@@ -9,14 +9,16 @@  LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=fbc093901857fcd118f065f900982c24 \
                     file://LICENSE.GPL3;md5=babc5b6b77441da277f5c06b2e547720 \
                     file://LGPL_EXCEPTION.txt;md5=411080a56ff917a5a1aa08c98acae354"
 
-INC_PR = "r14"
+INC_PR = "r15"
 
 inherit native
 
 SRC_URI = "http://get.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${PV}.tar.gz \
            file://qt-config.patch \
            file://g++.conf \
-           file://linux.conf"
+           file://linux.conf \
+           file://fix_qkbdtty_qws.patch \
+	"
 S = "${WORKDIR}/qt-everywhere-opensource-src-${PV}"
 
 EXTRA_OECONF = "-prefix ${prefix} \