aboutsummaryrefslogtreecommitdiffstats
path: root/meta-rcar-gen3/recipes-graphics/gles-module
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2017-05-14 13:59:46 -0400
committerRonan Le Martret <ronan.lemartret@iot.bzh>2017-05-15 01:25:29 +0200
commit753029eb30a27058a981bbd2f0f9137b501c887e (patch)
tree6fe9e6c01cc6bf12f9d00dc349c2ff3c7e6f8476 /meta-rcar-gen3/recipes-graphics/gles-module
parent8156f9f9966ce41147227f070843f4d38b791231 (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>
Diffstat (limited to 'meta-rcar-gen3/recipes-graphics/gles-module')
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-module-egl-headers.bb36
-rw-r--r--meta-rcar-gen3/recipes-graphics/gles-module/gles-user-module.bb13
2 files changed, 41 insertions, 8 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}