On Fri, Sep 11, 2015 at 11:42 AM, Noor, Ahsan <noor_ah...@mentor.com> wrote: > From: Noor <noor_ah...@mentor.com> > > * In Qt5.5 qeglplatformscreen.c includes qurl.h and X.h (via eglvivante.h). > X.h > define None to 0L but qurl.h set None to 0 in enum. Due to this do_compile > task > fails saying "qurl.h:131:9: error: expected identifier before numeric > constant". > This patch undefine None in qurl.h if it is define earlier. > > Signed-off-by: Noor Ahsan <noor_ah...@mentor.com> > --- > .../qtbase/fix_multiple_definition_of_None.patch | 41 > ++++++++++++++++++++ > qt5-layer/recipes-qt/qt5/qtbase_%.bbappend | 4 +- > 2 files changed, 44 insertions(+), 1 deletion(-) > > diff --git > a/qt5-layer/recipes-qt/qt5/qtbase/fix_multiple_definition_of_None.patch > b/qt5-layer/recipes-qt/qt5/qtbase/fix_multiple_definition_of_None.patch > new file mode 100644 > index 0000000..f5b2abf > --- /dev/null > +++ b/qt5-layer/recipes-qt/qt5/qtbase/fix_multiple_definition_of_None.patch > @@ -0,0 +1,41 @@ > +Workaround qeglplatformscreen.c failure in Qt5.5 due to inclusion of qurl.h > and X.h. X.h define None to 0L and qurl.h set None to 0 in enum. Due to this > following error occur. Undef None in qurl.h if it is defined. > + > +In file included from > /home/noor/SB/release_2015.12/build/tmp/sysroots/imx6qsabresd/usr/include/X11/Xlib.h:44:0, > + from > /home/noor/SB/release_2015.12/build/tmp/sysroots/imx6qsabresd/usr/include/EGL/eglvivante.h:244, > + from > /home/noor/SB/release_2015.12/build/tmp/sysroots/imx6qsabresd/usr/include/EGL/eglplatform.h:38, > + from > /home/noor/SB/release_2015.12/build/tmp/sysroots/imx6qsabresd/usr/include/EGL/egl.h:39, > + from > /home/noor/SB/release_2015.12/build/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.5.0+gitAUTOINC+2fde9f59ee-r0/git/src/platformsupport/eglconvenience/qeglplatformscreen_p.h:52, > + from > /home/noor/SB/release_2015.12/build/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.5.0+gitAUTOINC+2fde9f59ee-r0/git/src/platformsupport/eglconvenience/qeglplatformscreen.cpp:34: > +../../include/QtCore/../../../git/src/corelib/io/qurl.h:131:9: error: > expected identifier before numeric constant > + None = 0x0, > + ^ > +../../include/QtCore/../../../git/src/corelib/io/qurl.h:131:9: error: > expected '}' before numeric constant > +../../include/QtCore/../../../git/src/corelib/io/qurl.h:131:9: error: > expected unqualified-id before numeric constant > +In file included from ../../include/QtCore/qurl.h:1:0, > + from > ../../include/QtGui/../../../git/src/gui/kernel/qevent.h:48, > + from ../../include/QtGui/qevent.h:1, > + from ../../include/QtGui/QTouchEvent:1, > + from > ../../include/QtGui/5.5.0/QtGui/qpa/../../../../../../git/src/gui/kernel/qwindowsysteminterface.h:53, > + from > ../../include/QtGui/5.5.0/QtGui/qpa/qwindowsysteminterface.h:1, > + from > /home/noor/SB/release_2015.12/build/tmp/work/cortexa9hf-vfp-neon-mx6qdl-poky-linux-gnueabi/qtbase/5.5.0+gitAUTOINC+2fde9f59ee-r0/git/src/platformsupport/eglconvenience/qeglplatformscreen.cpp:37: > +../../include/QtCore/../../../git/src/corelib/io/qurl.h:163:26: error: > 'UrlFormattingOption' was not declared in this scope > + typedef QUrlTwoFlags<UrlFormattingOption, ComponentFormattingOption> > FormattingOptions; > +.... > + > + > +Upstream-Status: Inappropriate [workaround] > + > +diff --git a/src/corelib/io/qurl.h b/src/corelib/io/qurl.h > +index e6c570d..06de3af 100644 > +--- a/src/corelib/io/qurl.h > ++++ b/src/corelib/io/qurl.h > +@@ -128,6 +128,9 @@ public: > + > + // encoding / toString values > + enum UrlFormattingOption { > ++#ifdef None > ++#undef None > ++#endif > + None = 0x0, > + RemoveScheme = 0x1, > + RemovePassword = 0x2, > diff --git a/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend > b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend > index e0979bf..4ad4c5c 100644 > --- a/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend > +++ b/qt5-layer/recipes-qt/qt5/qtbase_%.bbappend > @@ -2,7 +2,9 @@ > > FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" > > -SRC_URI += "file://Force_egl_visual_ID_33.patch" > +SRC_URI += "file://Force_egl_visual_ID_33.patch \ > + file://fix_multiple_definition_of_None.patch \ > +" > > HAS_X11 = "${@base_contains('DISTRO_FEATURES', 'x11', 1, 0, d)}" > > -- > 1.7.9.5 > > -- FYI: I've sent a patch to meta-qt5 - which just changes the sequence of files included in qeglplatformscreen.cpp (QT 5.5!). Result is same but approach is more simple I think.
Andreas -- _______________________________________________ meta-freescale mailing list meta-freescale@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-freescale