From 753029eb30a27058a981bbd2f0f9137b501c887e Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Sun, 14 May 2017 13:59:46 -0400 Subject: [COMMUNITY] gles-user-module: fix dependencies Users of gles-user-module can hit link issues since it does not have libgbm and wayland-kms in its DEPENDS, but they are required to link against the libraries it provides. To fix this, add them to DEPENDS per OpenEmbedded best practices. Doing so requires spliting the EGL headers into a separate recipe to avoid a circular dependency problem with wayland-kms. Bug-AGL: SPEC-429 Change-Id: If7c678b1dd0b222074dfb81823874f48ce790d88 Signed-off-by: Scott Murray --- .../gles-module/gles-module-egl-headers.bb | 36 ++++++++++++++++++++++ .../gles-module/gles-user-module.bb | 13 +++----- .../recipes-graphics/wayland/wayland-kms_1.6.0.bb | 2 +- 3 files changed, 42 insertions(+), 9 deletions(-) create mode 100644 meta-rcar-gen3/recipes-graphics/gles-module/gles-module-egl-headers.bb diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-module-egl-headers.bb b/meta-rcar-gen3/recipes-graphics/gles-module/gles-module-egl-headers.bb new file mode 100644 index 0000000..f4c6129 --- /dev/null +++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-module-egl-headers.bb @@ -0,0 +1,36 @@ +require include/gles-control.inc + +FILESEXTRAPATHS_prepend := "${THISDIR}/gles-user-module:" + +DESCRIPTION = "PowerVR GPU user EGL header files" +LICENSE = "CLOSED" + +PN = "gles-module-egl-headers" +PR = "r0" + +COMPATIBLE_MACHINE = "(r8a7795|r8a7796)" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}/rogue" + +SRC_URI_r8a7795 = "file://r8a7795_linux_gsx_binaries_gles3.tar.bz2" +SRC_URI_r8a7796 = "file://r8a7796_linux_gsx_binaries_gles3.tar.bz2" +SRC_URI_append = " \ + file://0001-EGL-eglext.h-Include-eglmesaext.h-to-avoid-compile-error.patch \ +" + +do_populate_lic[noexec] = "1" +do_compile[noexec] = "1" + +# The headers need headers from virtual/mesa. +do_populate_sysroot[depends] += "virtual/mesa:do_populate_sysroot" + +do_install() { + # Install header files + install -d ${D}/${includedir}/EGL + install -m 644 ${S}/${includedir}/EGL/*.h ${D}/${includedir}/EGL/ + install -d ${D}/${includedir}/KHR + install -m 644 ${S}/${includedir}/KHR/khrplatform.h ${D}/${includedir}/KHR/khrplatform.h +} + +RDEPENDS_${PN}-dev = "" diff --git a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb index c14d62e..53ebadd 100644 --- a/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb +++ b/meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb @@ -3,6 +3,11 @@ require include/gles-control.inc DESCRIPTION = "PowerVR GPU user module" LICENSE = "CLOSED" +DEPENDS = " \ + gles-module-egl-headers \ + ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libgbm wayland-kms', '', d)} \ +" + PN = "gles-user-module" PR = "r0" @@ -16,7 +21,6 @@ SRC_URI_r8a7795 = "file://r8a7795_linux_gsx_binaries_gles3.tar.bz2" SRC_URI_r8a7796 = "file://r8a7796_linux_gsx_binaries_gles3.tar.bz2" SRC_URI_append = " \ file://change-shell.patch \ - file://0001-EGL-eglext.h-Include-eglmesaext.h-to-avoid-compile-error.patch \ file://rc.pvr.service \ " @@ -29,9 +33,6 @@ SYSTEMD_SERVICE_${PN} = "rc.pvr.service" do_populate_lic[noexec] = "1" do_compile[noexec] = "1" -#The headers of gles-user-module need headers from virtual/mesa. -do_populate_sysroot[depends] += "virtual/mesa:do_populate_sysroot" - do_install() { # Install configuration files install -d ${D}/${sysconfdir}/init.d @@ -41,14 +42,10 @@ do_install() { install -m 644 ${S}/${sysconfdir}/udev/rules.d/72-pvr-seat.rules ${D}/${sysconfdir}/udev/rules.d/ # Install header files - install -d ${D}/${includedir}/EGL - install -m 644 ${S}/${includedir}/EGL/*.h ${D}/${includedir}/EGL/ install -d ${D}/${includedir}/GLES2 install -m 644 ${S}/${includedir}/GLES2/*.h ${D}/${includedir}/GLES2/ install -d ${D}/${includedir}/GLES3 install -m 644 ${S}/${includedir}/GLES3/*.h ${D}/${includedir}/GLES3/ - install -d ${D}/${includedir}/KHR - install -m 644 ${S}/${includedir}/KHR/khrplatform.h ${D}/${includedir}/KHR/khrplatform.h # Install pre-builded binaries install -d ${D}/${libdir} diff --git a/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb index 23ffcca..428be52 100644 --- a/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb +++ b/meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb @@ -11,7 +11,7 @@ SRC_URI = "git://github.com/renesas-rcar/wayland-kms.git;branch=rcar-gen3" COMPATIBLE_MACHINE = "(r8a7795|r8a7796)" S = "${WORKDIR}/git" -DEPENDS = "libdrm wayland gles-user-module" +DEPENDS = "libdrm wayland gles-module-egl-headers" inherit autotools pkgconfig -- cgit 1.2.3-korg