On 09/16/2015 06:25 PM, Jussi Kukkonen wrote:
On 16 September 2015 at 05:28, Robert Yang <[email protected]
<mailto:[email protected]>> wrote:
 >
 > The gtk+2 requires whether x11 or directfb to build, so we need enable
 > either of them. The cairo can be built without x11 or directfb, but gtk+
 > requires cairo, so enable x11 or directfb for cairo, too.

What is the issue being fixed here? I can see how current config can go wrong in

Make the world build OK when possible, for example, when no x11 in
DISTRO_FEATURE.

some situations but I'm not sure if the approach "if x11 is not a
DISTRO_FEATURE, then automatically use direcfb" is much better. Especially for
cairo: I would have thought building multiple surface backends is a valid choice
there?

Yes, this is not a perfect solution, I don't like to pull in directfb either.
We can override PACKAGECONFIG to custom the build.

// Robert


Jussi

 > Signed-off-by: Robert Yang <[email protected]
<mailto:[email protected]>>
 > ---
 >  meta/recipes-gnome/gtk+/gtk+.inc      |    5 ++---
 >  meta/recipes-graphics/cairo/cairo.inc |    8 ++++++--
 >  2 files changed, 8 insertions(+), 5 deletions(-)
 >
 > diff --git a/meta/recipes-gnome/gtk+/gtk+.inc 
b/meta/recipes-gnome/gtk+/gtk+.inc
 > index be5273d..9d697cdb 100644
 > --- a/meta/recipes-gnome/gtk+/gtk+.inc
 > +++ b/meta/recipes-gnome/gtk+/gtk+.inc
 > @@ -17,9 +17,8 @@ X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr
libxdamage libxrender
 >  DEPENDS = "glib-2.0 pango atk jpeg libpng gdk-pixbuf-native
docbook-utils-native \
 >   cairo gdk-pixbuf"
 >
 > -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '',
d)} \
 > -           ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb',
'', d)} \
 > -"
 > +# Requires x11 or directfb
 > +PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11',
'directfb', d)}"
 >
 >  PACKAGECONFIG[x11] = "--with-x=yes
--with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
 >  # without --with-gdktarget=directfb it will check for cairo-xlib which isn't
available without X11 DISTRO_FEATURE
 > diff --git a/meta/recipes-graphics/cairo/cairo.inc
b/meta/recipes-graphics/cairo/cairo.inc
 > index 1e45318..f6474bc 100644
 > --- a/meta/recipes-graphics/cairo/cairo.inc
 > +++ b/meta/recipes-graphics/cairo/cairo.inc
 > @@ -17,8 +17,12 @@ LICENSE_${PN}-perf-utils = "GPLv3+"
 >  X11DEPENDS = "virtual/libx11 libsm libxrender libxext"
 >  DEPENDS = "libpng fontconfig pixman glib-2.0 zlib"
 >
 > -PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11 xcb',
'', d)} \
 > -           ${@bb.utils.contains('DISTRO_FEATURES', 'directfb', 'directfb',
'', d)}"
 > +# Build cairo-xlib or cairo-directfb for gtk+
 > +PACKAGECONFIG ??= " ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11
xcb', 'directfb', d)} \
 > +                    "
 > +
 > +# No directfb-native, so set PACKAGECONFIG to null when no x11
 > +PACKAGECONFIG_class-native ??= "${@bb.utils.contains('DISTRO_FEATURES',
'x11', 'x11', '', d)}"
 >
 >  PACKAGECONFIG[x11] = "--with-x=yes -enable-xlib,--with-x=no
--disable-xlib,${X11DEPENDS}"
 >  PACKAGECONFIG[xcb] = "--enable-xcb,--disable-xcb,libxcb"
 > --
 > 1.7.9.5
 >
 > --
 > _______________________________________________
 > Openembedded-core mailing list
 > [email protected]
<mailto:[email protected]>
 > http://lists.openembedded.org/mailman/listinfo/openembedded-core
--
_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to