| Submitter | Xiaofeng Yan |
|---|---|
| Date | Nov. 24, 2011, 3:06 a.m. |
| Message ID | <20d46c74e1c1de68ca86b5b7eded5ae66a142e85.1322102636.git.xiaofeng.yan@windriver.com> |
| Download | mbox | patch |
| Permalink | /patch/15351/ |
| State | New |
| Headers | show |
Comments
Op 24 nov. 2011, om 04:06 heeft Xiaofeng Yan het volgende geschreven: > From: Xiaofeng Yan <xiaofeng.yan@windriver.com> > > gtk run over x11 at current OE-core. If gtk want to run over directfb, then \ > the configuration related to x11 should be disabled and directfb should be enabled. Apart from this patch is messing with PACKAGES as well, I still don't believe it's true that x11 must be disabled for directfb to work > > [YOCTO #1674] > > Signed-off-by: Xiaofeng Yan <xiaofeng.yan@windriver.com> > --- > meta/recipes-gnome/gtk+/gtk+.inc | 20 ++++++++++++++++---- > 1 files changed, 16 insertions(+), 4 deletions(-) > > diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc > index 0e5c45c..926f7dd 100644 > --- a/meta/recipes-gnome/gtk+/gtk+.inc > +++ b/meta/recipes-gnome/gtk+/gtk+.inc > @@ -9,13 +9,20 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" > LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" > > SECTION = "libs" > -DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ > - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ > - libxdamage libxrender libxcomposite cairo gdk-pixbuf" > +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" > + > +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ > + libgcrypt cairo gdk-pixbuf" > + > +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ > + ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" > + > +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" > +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" > > inherit autotools pkgconfig > > -PACKAGES += "libgail" > +PACKAGES += "libgail gtk-demo" > > FILES_${PN} = "${bindir}/gtk-update-icon-cache \ > ${bindir}/gtk-query-immodules-2.0 \ > @@ -40,6 +47,11 @@ FILES_${PN}-dbg += " \ > ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ > ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" > > +FILES_gtk-demo = " \ > + ${datadir}/gtk-2.0/demo/* \ > + ${bindir}/gtk-demo \ > + " > + > FILES_libgail = " \ > ${libdir}/gtk-2.0/modules/libgail.so \ > ${libdir}/gtk-2.0/modules/libferret.so \ > -- > 1.7.0.4 > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
On 2011?11?24? 14:38, Koen Kooi wrote: > Op 24 nov. 2011, om 04:06 heeft Xiaofeng Yan het volgende geschreven: > >> From: Xiaofeng Yan<xiaofeng.yan@windriver.com> >> >> gtk run over x11 at current OE-core. If gtk want to run over directfb, then \ >> the configuration related to x11 should be disabled and directfb should be enabled. > Apart from this patch is messing with PACKAGES as well, I still don't believe it's true that x11 must be disabled for directfb to work > > As what I explained yesterday, One main goal of this image is to remove the stuff related to x11 because I want to build an image only based on directfb and run gtk over directfb. you know, directfb as a graphic library is enough in many embedded development. It has many advantages in embedded field like digital television, set-top box, ... Of course, it has its defect in other aspect. So x11 is not needed in this image. I just don't want to let user to take too much time for building an image including directfb with no x11 during developing product. >> [YOCTO #1674] >> >> Signed-off-by: Xiaofeng Yan<xiaofeng.yan@windriver.com> >> --- >> meta/recipes-gnome/gtk+/gtk+.inc | 20 ++++++++++++++++---- >> 1 files changed, 16 insertions(+), 4 deletions(-) >> >> diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc >> index 0e5c45c..926f7dd 100644 >> --- a/meta/recipes-gnome/gtk+/gtk+.inc >> +++ b/meta/recipes-gnome/gtk+/gtk+.inc >> @@ -9,13 +9,20 @@ LICENSE = "LGPLv2& LGPLv2+& LGPLv2.1+" >> LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" >> >> SECTION = "libs" >> -DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ >> - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ >> - libxdamage libxrender libxcomposite cairo gdk-pixbuf" >> +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" >> + >> +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ >> + libgcrypt cairo gdk-pixbuf" >> + >> +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ >> + ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" >> + >> +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" >> +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" >> >> inherit autotools pkgconfig >> >> -PACKAGES += "libgail" >> +PACKAGES += "libgail gtk-demo" >> >> FILES_${PN} = "${bindir}/gtk-update-icon-cache \ >> ${bindir}/gtk-query-immodules-2.0 \ >> @@ -40,6 +47,11 @@ FILES_${PN}-dbg += " \ >> ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ >> ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" >> >> +FILES_gtk-demo = " \ >> + ${datadir}/gtk-2.0/demo/* \ >> + ${bindir}/gtk-demo \ >> + " >> + >> FILES_libgail = " \ >> ${libdir}/gtk-2.0/modules/libgail.so \ >> ${libdir}/gtk-2.0/modules/libferret.so \ >> -- >> 1.7.0.4 >> >> >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core > > > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Op 24 nov. 2011, om 08:28 heeft Xiaofeng Yan het volgende geschreven: > On 2011?11?24? 14:38, Koen Kooi wrote: >> Op 24 nov. 2011, om 04:06 heeft Xiaofeng Yan het volgende geschreven: >> >> >>> From: Xiaofeng Yan <xiaofeng.yan@windriver.com> >>> >>> >>> gtk run over x11 at current OE-core. If gtk want to run over directfb, then \ >>> the configuration related to x11 should be disabled and directfb should be enabled. >>> >> Apart from this patch is messing with PACKAGES as well, I still don't believe it's true that x11 must be disabled for directfb to work >> >> >> > As what I explained yesterday, One main goal of this image is to remove the stuff related to x11 because I want to build an image only based on directfb and run gtk over directfb. And you can do that perfectly well without disabling x11. > you know, directfb as a graphic library is enough in many embedded development. It has many advantages in embedded field like digital television, set-top box, ... Of course, it has its defect in other aspect. So x11 is not needed in this image. I just don't want to let user to take too much time for building an image including directfb with no x11 during developing product. I still don't see a decent reason for disabling x11 for directfb
On Thu, 2011-11-24 at 07:38 +0100, Koen Kooi wrote: > Op 24 nov. 2011, om 04:06 heeft Xiaofeng Yan het volgende geschreven: > > > From: Xiaofeng Yan <xiaofeng.yan@windriver.com> > > > > gtk run over x11 at current OE-core. If gtk want to run over directfb, then \ > > the configuration related to x11 should be disabled and directfb should be enabled. > > Apart from this patch is messing with PACKAGES as well, I still don't believe it's true that x11 must be disabled for directfb to work [...] > +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ > + ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" > + > +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" > +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" If you're using a version of GTK+ which expects the "--with-gdktarget" option then I think it is true that X11 and directfb are exclusive since you can only have one backend enabled at a time. There's nothing you can do in the recipe that will help with this, though it would be nice if you got a sensible diagnostic rather than one of the options just being silently ignored. With newer versions (3.0 and later, I think) there are separate --enable-FOO-backend options for the different backends and you can turn on as many as you want at the same time. In those versions I don't think --with-gdktarget will do anything useful at all so this patch won't work. p.
Patch
diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc index 0e5c45c..926f7dd 100644 --- a/meta/recipes-gnome/gtk+/gtk+.inc +++ b/meta/recipes-gnome/gtk+/gtk+.inc @@ -9,13 +9,20 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+" LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" SECTION = "libs" -DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \ - gtk-doc-native docbook-utils-native libxrandr libgcrypt \ - libxdamage libxrender libxcomposite cairo gdk-pixbuf" +X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite" + +DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \ + libgcrypt cairo gdk-pixbuf" + +PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}" + +PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}" +PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" inherit autotools pkgconfig -PACKAGES += "libgail" +PACKAGES += "libgail gtk-demo" FILES_${PN} = "${bindir}/gtk-update-icon-cache \ ${bindir}/gtk-query-immodules-2.0 \ @@ -40,6 +47,11 @@ FILES_${PN}-dbg += " \ ${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \ ${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*" +FILES_gtk-demo = " \ + ${datadir}/gtk-2.0/demo/* \ + ${bindir}/gtk-demo \ + " + FILES_libgail = " \ ${libdir}/gtk-2.0/modules/libgail.so \ ${libdir}/gtk-2.0/modules/libferret.so \