Patchwork [meta-fsl-arm,v4,4/9] gpu-viv-bin-mx6q: group libs based on backend

login
register
mail settings
Submitter Otavio Salvador
Date Feb. 12, 2013, 9:58 p.m.
Message ID <1360706330-12665-5-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/44551/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Otavio Salvador - Feb. 12, 2013, 9:58 p.m.
From: Adrian Alonso <aalonso00@gmail.com>

* Group GPU libs based on backend
* Add GPU libs to packages depending on DISTRO_FEATURES
* Bump PR

Change-Id: I08aaee593cc18cb7cf6f3f0ef9a3aff046d87edd
Signed-off-by: Adrian Alonso <aalonso00@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc          | 71 ++++++++++++++--------
 1 file changed, 46 insertions(+), 25 deletions(-)

Patch

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 3105a60..7c52810 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
@@ -5,9 +5,9 @@  DESCRIPTION = "GPU driver and apps for imx6"
 SECTION = "libs"
 LICENSE = "Proprietary"
 LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=c831981a5cbb2673318b77fb2f07014c"
-PROVIDES += "virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 libvivante-dri-mx6"
+PROVIDES += "virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2 virtual/dri"
 
-INC_PR = "r3"
+INC_PR = "r5"
 
 inherit fsl-eula-unpack
 
@@ -16,13 +16,18 @@  SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
            file://gc_hal_eglplatform-remove-xlib-undefs.patch \
           "
 
-PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
-	libegl-fb-mx6 libegl-fb-mx6-dev libegl-fb-mx6-dbg \
-	libegl-x11-mx6 libegl-x11-mx6-dev libegl-x11-mx6-dbg \
-	libegl-common-mx6 libegl-common-mx6-dev libegl-common-mx6-dbg \
-	libgal-fb-mx6 libgal-fb-mx6-dev libgal-fb-mx6-dbg \
+GPU_XLIBS = "libegl-x11-mx6 libegl-x11-mx6-dev libegl-x11-mx6-dbg \
 	libgal-x11-mx6 libgal-x11-mx6-dev libgal-x11-mx6-dbg \
-	libgal-common-mx6 libgal-common-mx6-dev libgal-common-mx6-dbg \
+	libvivante-x11-mx6 libvivante-x11-mx6-dev libvivante-x11-mx6-dbg \
+	libvivante-dri-mx6 libvivante-dri-mx6-dev libvivante-dri-mx6-dbg \
+	"
+
+GPU_DFBLIBS = "libegl-dfb-mx6 libegl-dfb-mx6-dev libegl-dfb-mx6-dbg \
+	libgal-dfb-mx6 libgal-dfb-mx6-dev libgal-dfb-mx6-dbg \
+	libvivante-dfb-mx6 libvivante-dfb-mx6-dev libvivante-dfb-mx6-dbg \
+	"
+
+PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	libgles-mx6 libgles-mx6-dev libgles-mx6-dbg \
 	libgles2-mx6 libgles2-mx6-dev libgles2-mx6-dbg \
 	libgl-mx6 libgl-mx6-dev libgl-mx6-dbg \
@@ -30,12 +35,16 @@  PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \
 	libopencl-mx6 libopencl-mx6-dev libopencl-mx6-dbg \
 	libopenvg-mx6 libopenvg-mx6-dev libopenvg-mx6-dbg \
 	libvdk-mx6 libvdk-mx6-dev libvdk-mx6-dbg \
-	libvivante-x11-mx6 libvivante-x11-mx6-dev libvivante-x11-mx6-dbg \
+	libegl-fb-mx6 libegl-fb-mx6-dev libegl-fb-mx6-dbg \
+	libgal-fb-mx6 libgal-fb-mx6-dev libgal-fb-mx6-dbg \
 	libvivante-fb-mx6 libvivante-fb-mx6-dev libvivante-fb-mx6-dbg \
-	libvivante-dri-mx6 libvivante-dri-mx6-dev libvivante-dri-mx6-dbg \
-	libvivante-common-mx6 libvivante-common-mx6-dev libvivante-common-mx6-dbg \
+	${@base_contains("DISTRO_FEATURES", "x11", "${GPU_XLIBS}", "", d)} \
+	${@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)}"
+
 # Inhibit warnings about files being stripped.
 INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
 
@@ -53,15 +62,22 @@  python __anonymous() {
 }
 
 do_install () {
-    install -d ${D}${libdir}/dri
+    install -d ${D}${libdir}
     install -d ${D}${includedir}
 
-    cp -rP ${S}/usr/lib/* ${D}${libdir}
-    cp -rP ${S}/usr/include/* ${D}${includedir}
-    cp -rP ${S}/opt ${D}
+    cp ${S}/usr/lib/*.so ${D}${libdir}
+    cp -axr ${S}/usr/include/* ${D}${includedir}
+    cp -axr ${S}/opt ${D}
 
-    find ${D}${libdir} -type f -exec chmod 644 {} \;
-    find ${D}${includedir} -type f -exec chmod 644 {} \;
+    if [ "${KEEP_XLIBS}" = "no" ]; then
+        rm ${D}${libdir}/*-x11.so
+    else
+        install -d ${D}${libdir}/dri
+        cp -ax ${S}/usr/lib/dri/* ${D}${libdir}/dri
+    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
@@ -69,9 +85,8 @@  do_install () {
        ${D}${libdir}/libGAL.so \
        ${D}${libdir}/libVIVANTE.so
 
-    # FIXME: Drop directfb backport as 1.4 version is not supported in Yocto
-    rm -r ${D}${libdir}/directfb-1.4-0 \
-          ${D}${libdir}/*-dfb.so
+    find ${D}${libdir} -type f -exec chmod 644 {} \;
+    find ${D}${includedir} -type f -exec chmod 644 {} \;
 }
 
 S = "${WORKDIR}/${PN}-${PV}"
@@ -85,8 +100,6 @@  FILES_libclc-mx6 = "${libdir}/libCLC${SOLIBS}"
 FILES_libclc-mx6-dev = "${includedir}/CL ${libdir}/libCLC${SOLIBSDEV}"
 FILES_libclc-mx6-dbg = "${libdir}/.debug/libCLC${SOLIBS}"
 
-FILES_libegl-common-mx6-dev = "${includedir}/EGL ${libdir}/libEGL${SOLIBSDEV}"
-
 FILES_libegl-fb-mx6 = "${libdir}/libEGL-fb${SOLIBS}"
 FILES_libegl-fb-mx6-dev = "${libdir}/libEGL-fb${SOLIBSDEV}"
 FILES_libegl-fb-mx6-dbg = "${libdir}/.debug/libEGL-fb${SOLIBS}"
@@ -95,7 +108,9 @@  FILES_libegl-x11-mx6 = "${libdir}/libEGL-x11${SOLIBS}"
 FILES_libegl-x11-mx6-dev = "${libdir}/libEGL-x11${SOLIBSDEV}"
 FILES_libegl-x11-mx6-dbg = "${libdir}/.debug/libEGL-x11${SOLIBS}"
 
-FILES_libgal-common-mx6-dev = "${includedir}/HAL ${libdir}/libGAL${SOLIBSDEV}"
+FILES_libegl-dfb-mx6 = "${libdir}/libEGL-dfb${SOLIBS}"
+FILES_libegl-dfb-mx6-dev = "${libdir}/libEGL-dfb${SOLIBSDEV}"
+FILES_libegl-dfb-mx6-dbg = "${libdir}/.debug/libEGL-dfb${SOLIBS}"
 
 FILES_libgal-fb-mx6 = "${libdir}/libGAL-fb${SOLIBS}"
 FILES_libgal-fb-mx6-dev = "${libdir}/libGAL-fb${SOLIBSDEV}"
@@ -105,6 +120,10 @@  FILES_libgal-x11-mx6 = "${libdir}/libGAL-x11${SOLIBS}"
 FILES_libgal-x11-mx6-dev = "${libdir}/libGAL-x11${SOLIBSDEV}"
 FILES_libgal-x11-mx6-dbg = "${libdir}/.debug/libGAL-x11${SOLIBS}"
 
+FILES_libgal-dfb-mx6 = "${libdir}/libGAL-dfb${SOLIBS}"
+FILES_libgal-dfb-mx6-dev = "${libdir}/libGAL-dfb${SOLIBSDEV}"
+FILES_libgal-dfb-mx6-dbg = "${libdir}/.debug/libGAL-dfb${SOLIBS}"
+
 FILES_libgles-mx6 = "${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBS}"
 FILES_libgles-mx6-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBS} ${libdir}/libGLES_*${SOLIBSDEV}"
 FILES_libgles-mx6-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS} ${libdir}/.debug/libGLES_*${SOLIBS}"
@@ -133,8 +152,6 @@  FILES_libvdk-mx6 = "${libdir}/libVDK${SOLIBS}"
 FILES_libvdk-mx6-dev = "${includedir}/*vdk.h ${libdir}/libVDK${SOLIBSDEV}"
 FILES_libvdk-mx6-dbg = "${libdir}/.debug/libVDK${SOLIBS}"
 
-FILES_libvivante-common-mx6-dev = "${includedir}/HAL ${libdir}/libVIVANTE${SOLIBSDEV}"
-
 FILES_libvivante-fb-mx6 = "${libdir}/libVIVANTE-fb${SOLIBS}"
 FILES_libvivante-fb-mx6-dev = "${libdir}/libVIVANTE-fb${SOLIBSDEV}"
 FILES_libvivante-fb-mx6-dbg = "${libdir}/.debug/libVIVANTE-fb${SOLIBS}"
@@ -143,6 +160,10 @@  FILES_libvivante-x11-mx6 = "${libdir}/libVIVANTE-x11${SOLIBS}"
 FILES_libvivante-x11-mx6-dev = "${libdir}/libVIVANTE-x11${SOLIBSDEV}"
 FILES_libvivante-x11-mx6-dbg = "${libdir}/.debug/libVIVANTE-x11${SOLIBS}"
 
+FILES_libvivante-dfb-mx6 = "${libdir}/libVIVANTE-dfb${SOLIBS}"
+FILES_libvivante-dfb-mx6-dev = "${libdir}/libVIVANTE-dfb${SOLIBSDEV}"
+FILES_libvivante-dfb-mx6-dbg = "${libdir}/.debug/libVIVANTE-dfb${SOLIBS}"
+
 FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri${SOLIBS}"
 FILES_libvivante-dri-mx6-dev = ""
 FILES_libvivante-dri-mx6-dbg = "${libdir}/dri/.debug/vivante_dri${SOLIBS}"