<div dir="ltr">On 16 September 2015 at 05:28, Robert Yang &lt;<a href="mailto:liezhi.yang@windriver.com">liezhi.yang@windriver.com</a>&gt; wrote:<br>&gt;<br>&gt; The gtk+2 requires whether x11 or directfb to build, so we need enable<br>&gt; either of them. The cairo can be built without x11 or directfb, but gtk+<br>&gt; requires cairo, so enable x11 or directfb for cairo, too.<br><br>What is the issue being fixed here? I can see how current config can go wrong in some situations but I&#39;m not sure if the approach &quot;if x11 is not a DISTRO_FEATURE, then automatically use direcfb&quot; is much better. Especially for cairo: I would have thought building multiple surface backends is a valid choice there?<br><div><br></div><div>Jussi</div><div><br></div><div>&gt; Signed-off-by: Robert Yang &lt;<a href="mailto:liezhi.yang@windriver.com">liezhi.yang@windriver.com</a>&gt;<br>&gt; ---<br>&gt;  meta/recipes-gnome/gtk+/gtk+.inc      |    5 ++---<br>&gt;  meta/recipes-graphics/cairo/cairo.inc |    8 ++++++--<br>&gt;  2 files changed, 8 insertions(+), 5 deletions(-)<br>&gt;<br>&gt; diff --git a/meta/recipes-gnome/gtk+/gtk+.inc b/meta/recipes-gnome/gtk+/gtk+.inc<br>&gt; index be5273d..9d697cdb 100644<br>&gt; --- a/meta/recipes-gnome/gtk+/gtk+.inc<br>&gt; +++ b/meta/recipes-gnome/gtk+/gtk+.inc<br>&gt; @@ -17,9 +17,8 @@ X11DEPENDS = &quot;virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender<br>&gt;  DEPENDS = &quot;glib-2.0 pango atk jpeg libpng gdk-pixbuf-native docbook-utils-native \<br>&gt;   cairo gdk-pixbuf&quot;<br>&gt;<br>&gt; -PACKAGECONFIG ??= &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;x11&#39;, &#39;x11&#39;, &#39;&#39;, d)} \<br>&gt; -           ${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;directfb&#39;, &#39;directfb&#39;, &#39;&#39;, d)} \<br>&gt; -&quot;<br>&gt; +# Requires x11 or directfb<br>&gt; +PACKAGECONFIG ??= &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;x11&#39;, &#39;x11&#39;, &#39;directfb&#39;, d)}&quot;<br>&gt;<br>&gt;  PACKAGECONFIG[x11] = &quot;--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}&quot;<br>&gt;  # without --with-gdktarget=directfb it will check for cairo-xlib which isn&#39;t available without X11 DISTRO_FEATURE<br>&gt; diff --git a/meta/recipes-graphics/cairo/cairo.inc b/meta/recipes-graphics/cairo/cairo.inc<br>&gt; index 1e45318..f6474bc 100644<br>&gt; --- a/meta/recipes-graphics/cairo/cairo.inc<br>&gt; +++ b/meta/recipes-graphics/cairo/cairo.inc<br>&gt; @@ -17,8 +17,12 @@ LICENSE_${PN}-perf-utils = &quot;GPLv3+&quot;<br>&gt;  X11DEPENDS = &quot;virtual/libx11 libsm libxrender libxext&quot;<br>&gt;  DEPENDS = &quot;libpng fontconfig pixman glib-2.0 zlib&quot;<br>&gt;<br>&gt; -PACKAGECONFIG ??= &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;x11&#39;, &#39;x11 xcb&#39;, &#39;&#39;, d)} \<br>&gt; -           ${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;directfb&#39;, &#39;directfb&#39;, &#39;&#39;, d)}&quot;<br>&gt; +# Build cairo-xlib or cairo-directfb for gtk+<br>&gt; +PACKAGECONFIG ??= &quot; ${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;x11&#39;, &#39;x11 xcb&#39;, &#39;directfb&#39;, d)} \<br>&gt; +                    &quot;<br>&gt; +<br>&gt; +# No directfb-native, so set PACKAGECONFIG to null when no x11<br>&gt; +PACKAGECONFIG_class-native ??= &quot;${@bb.utils.contains(&#39;DISTRO_FEATURES&#39;, &#39;x11&#39;, &#39;x11&#39;, &#39;&#39;, d)}&quot;<br>&gt;<br>&gt;  PACKAGECONFIG[x11] = &quot;--with-x=yes -enable-xlib,--with-x=no --disable-xlib,${X11DEPENDS}&quot;<br>&gt;  PACKAGECONFIG[xcb] = &quot;--enable-xcb,--disable-xcb,libxcb&quot;<br>&gt; --<br>&gt; 1.7.9.5<br>&gt;<br>&gt; --<br>&gt; _______________________________________________<br>&gt; Openembedded-core mailing list<br>&gt; <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.openembedded.org</a><br>&gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core">http://lists.openembedded.org/mailman/listinfo/openembedded-core</a></div></div>