This patch installs wayland GPU libs if the DISTRO_FEATURES contains wayland variable. If both X11 and wayland are present in DISTRO_FEATURES then wayland is picked as the default backend.
Signed-off-by: Abhijit Potnis <[email protected]> --- .../gpu-viv-bin-mx6q/gpu-viv-bin-mx6q.inc | 41 ++++++++++++++++---- .../gpu-viv-bin-mx6q/gc_wayland_protocol.pc | 10 +++++ .../gpu-viv-bin-mx6q/wayland-egl.pc | 10 +++++ .../gpu-viv-bin-mx6q/wayland-viv.pc | 10 +++++ 4 files changed, 63 insertions(+), 8 deletions(-) create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc create mode 100644 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc 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 3354854..1c96347 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 @@ -7,9 +7,9 @@ SECTION = "libs" LICENSE = "Proprietary" LIC_FILES_CHKSUM = "file://usr/include/gc_vdk.h;endline=11;md5=19f5925343fa3da65596eeaa4ddb5fd3" DEPENDS += "${@base_contains('DISTRO_FEATURES', 'x11', 'virtual/libx11 libxdamage libxext libxfixes', '', d)} mesa" -PROVIDES += "virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2" +PROVIDES += "virtual/wayland-egl virtual/libgl virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2" -INC_PR = "r5" +INC_PR = "r6" inherit fsl-eula-unpack @@ -23,6 +23,9 @@ SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \ file://glesv1_cm_x11.pc \ file://glesv2.pc \ file://glesv2_x11.pc \ + file://gc_wayland_protocol.pc \ + file://wayland-egl.pc \ + file://wayland-viv.pc \ " PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \ @@ -37,10 +40,14 @@ PACKAGES =+ "libclc-mx6 libclc-mx6-dev libclc-mx6-dbg \ libgal-mx6 libgal-mx6-dev libgal-mx6-dbg \ libvivante-mx6 libvivante-mx6-dev libvivante-mx6-dbg \ libvivante-dri-mx6 \ + libwayland-viv-mx6 libwayland-viv-mx6-dev libwayland-viv-mx6-dbg \ + libgc_wayland_protocol-mx6 libgc_wayland_protocol-mx6-dev libgc_wayland_protocol-mx6-dbg \ + libwayland-egl-mx6-dev \ " USE_X11 = "${@base_contains("DISTRO_FEATURES", "x11", "yes", "no", d)}" USE_DFB = "${@base_contains("DISTRO_FEATURES", "directfb", "yes", "no", d)}" +USE_WL = "${@base_contains("DISTRO_FEATURES", "wayland", "yes", "no", d)}" # Inhibit warnings about files being stripped. INHIBIT_PACKAGE_DEBUG_SPLIT = "1" @@ -67,13 +74,19 @@ do_install () { cp -axr ${S}/opt ${D} install -d ${D}${libdir}/pkgconfig + +#If both X11 and Wayland are set in DISTRO_FEATURES then use Wayland as base window system + if [ "${USE_WL}" = "yes" ]; then + backend=wl - # FIXME: Remove Wayland contents - rm -r ${D}${includedir}/wayland-viv - find ${D}${libdir} -name '*-wl.so' -exec rm '{}' ';' - rm ${D}${libdir}/*wayland*.so* + install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/egl.pc + install -m 0644 ${WORKDIR}/glesv1_cm.pc ${D}${libdir}/pkgconfig/glesv1_cm.pc + install -m 0644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig/glesv2.pc + install -m 0644 ${WORKDIR}/gc_wayland_protocol.pc ${D}${libdir}/pkgconfig/gc_wayland_protocol.pc + install -m 0644 ${WORKDIR}/wayland-egl.pc ${D}${libdir}/pkgconfig/wayland-egl.pc + install -m 0644 ${WORKDIR}/wayland-viv.pc ${D}${libdir}/pkgconfig/wayland-viv.pc - if [ "${USE_X11}" = "yes" ]; then + elif [ "${USE_X11}" = "yes" ]; then cp -r ${S}/usr/lib/dri ${D}${libdir} backend=x11 @@ -100,7 +113,7 @@ do_install () { mv ${D}${libdir}/libGAL-${backend}.so ${D}${libdir}/libGAL.so mv ${D}${libdir}/libVIVANTE-${backend}.so ${D}${libdir}/libVIVANTE.so - for backend in x11 fb dfb; do + for backend in wl x11 fb dfb; do find ${D}${libdir} -name "*-$backend.so" -exec rm '{}' ';' done @@ -165,5 +178,17 @@ FILES_libvivante-mx6-dbg = "${libdir}/.debug/libVIVANTE${SOLIBS}" FILES_libvivante-dri-mx6 = "${libdir}/dri/vivante_dri.so" +INSANE_SKIP_libwayland-viv-mx6 += "dev-so" +FILES_libwayland-viv-mx6 = "${libdir}/libwayland-viv${REALSOLIBS} ${libdir}/libwayland-viv${SOLIBS}" +FILES_libwayland-viv-mx6-dev = "${libdir})/libwayland-viv${SOLIBSDEV} ${libdir}/pkgconfig/wayland-viv.pc " +FILES_libwayland-viv-mx6-dbg = "${libdir}/.debug/libwayland-viv${SOLIBS}" + +INSANE_SKIP_libgc_wayland_protocol-mx6 += "dev-so" +FILES_libgc_wayland_protocol-mx6 = "${libdir}/libgc_wayland_protocol${REALSOLIBS} ${libdir}/libgc_wayland_protocol${SOLIBS}" +FILES_libgc_wayland_protocol-mx6-dev = "${libdir}/libgc_wayland_protocol${SOLIBSDEV} ${libdir}/pkgconfig/gc_wayland_protocol.pc" +FILES_libgc_wayland_protocol-mx6-dbg = "${libdir}/libgc_wayland_protocol${SOLIBS}" + +FILES_libwayland-egl-mx6-dev = "${libdir}/pkgconfig/wayland-egl.pc" + PACKAGE_ARCH = "${MACHINE_ARCH}" COMPATIBLE_MACHINE = "(mx6)" diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc new file mode 100644 index 0000000..66ef31c --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/gc_wayland_protocol.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: wayland-egl +Description: Vivante Wayland Protocol Extension Library +Version: 0.1 +Cflags: -I${includedir} +Libs: -L${libdir} -lwayland-egl diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc new file mode 100644 index 0000000..afaeb13 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-egl.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: wayland-egl +Description: Bind the driver EGL to the Wayland API +Version: 0.1 +Libs: -L${libdir} -lEGL +Cflags: -I${includedir} diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc new file mode 100644 index 0000000..3fdedd0 --- /dev/null +++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/wayland-viv.pc @@ -0,0 +1,10 @@ +prefix=/usr +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include + +Name: Wayland Vivante Lib +Description: Wayland server side library for Vivante's EGL driver +Version: 0.1 +Cflags: -I${includedir}/wayland-viv +Libs: -L${libdir} -lwayland-viv -- 1.7.9.5 _______________________________________________ meta-freescale mailing list [email protected] https://lists.yoctoproject.org/listinfo/meta-freescale
