diff options
author | Scott Murray <scott.murray@konsulko.com> | 2017-05-14 13:59:46 -0400 |
---|---|---|
committer | Ronan Le Martret <ronan.lemartret@iot.bzh> | 2017-05-15 01:25:29 +0200 |
commit | 753029eb30a27058a981bbd2f0f9137b501c887e (patch) | |
tree | 6fe9e6c01cc6bf12f9d00dc349c2ff3c7e6f8476 | |
parent | 8156f9f9966ce41147227f070843f4d38b791231 (diff) |
[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 <scott.murray@konsulko.com>
3 files changed, 42 insertions, 9 deletions
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 |