[meta-freescale] [meta-fsl-arm][PATCH 8/8] gpu-viv-bin-mx6q: Respect X11, DirectFB, FrameBuffer distro features

Otavio Salvador otavio at ossystems.com.br
Sat Mar 23 06:39:54 PDT 2013


As we cannot allow concurrent build of applications targetting
different backends we use the distro features to package the need
libraries for the backend. Currently it does:

 X11 support, if 'x11' feature is enabled
 DirectFB support, if 'x11' is not enabled AND 'directfb is enabled
 FrameBuffer, fallback

As 1.1.0 version of the Vivante libraries are build against DirectFB
1.4 we cannot support it for now, so we explicitly disable it for this
version so it is easy to add it back when new version, supporting
newer DirectFB, is released.

Change-Id: Ia8973b8107155b8a5f7fadc50d2290c1d5f28363
Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          | 25 ++++++++++++++--------
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_1.1.0.bb     |  4 ++++
 2 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
index ce23f2e..e8e491e 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc
@@ -41,8 +41,8 @@ PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	${@base_contains("DISTRO_FEATURES", "directfb", "${GPU_DFBLIBS}", "", d)} \
 	"
 
-KEEP_XLIBS = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
-KEEP_DFBLIBS = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
+USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}"
+USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}"
 
 # Inhibit warnings about files being stripped.
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
@@ -69,19 +69,26 @@ do_install () {
     rm -r ${D}${includedir}/GL
     cp -axr ${S}/opt ${D}
 
-    if [ "${KEEP_XLIBS}" = "no" ]; then
-        rm ${D}${libdir}/*-x11.so
-    fi
-    if [ "${KEEP_DFBLIBS}" = "no" ]; then
-        rm ${D}${libdir}/*-dfb.so
-    fi
-
     # FIXME: Drop default library as we need to explicit link to one
     #        of supported backends
     rm ${D}${libdir}/libEGL.so \
        ${D}${libdir}/libGAL.so \
        ${D}${libdir}/libVIVANTE.so
 
+    if [ "${USE_X11}" = "yes" ]; then
+        find ${D}${libdir} -name '*-dfb.so' -exec rm '{}' ';'
+        find ${D}${libdir} -name '*-fb.so' -exec rm '{}' ';'
+    else
+        if [ "${USE_DFB}" = "yes" ]; then
+            find ${D}${libdir} -name '*-x11.so' -exec rm '{}' ';'
+            find ${D}${libdir} -name '*-fb.so' -exec rm '{}' ';'
+        else
+            # Regular framebuffer
+            find ${D}${libdir} -name '*-x11.so' -exec rm '{}' ';'
+            find ${D}${libdir} -name '*-dfb.so' -exec rm '{}' ';'
+        fi
+    fi
+
     find ${D}${libdir} -type f -exec chmod 644 {} \;
     find ${D}${includedir} -type f -exec chmod 644 {} \;
 }
diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_1.1.0.bb b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_1.1.0.bb
index 3de9555..994c11c 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_1.1.0.bb
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_1.1.0.bb
@@ -8,3 +8,7 @@ include gpu-viv-bin-mx6q.inc
 
 SRC_URI[md5sum] = "60f4ba65f557fc63fde6dacfeef205a8"
 SRC_URI[sha256sum] = "4238b72a6dad2d075d159bb1e86fb68bbed7c27894ce82c546a8e7c58ae5d683"
+
+# FIXME: 1.1.0 BSP release uses DirectFB 1.4 and Yocto has 1.6 so
+# disable it for now
+USE_DFB = "no"
-- 
1.8.1




More information about the meta-freescale mailing list