aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott Murray <scott.murray@konsulko.com>2017-05-14 13:59:46 -0400
committerScott Murray <scott.murray@konsulko.com>2017-05-14 13:59:46 -0400
commit95fcc70568f8c45423bfb9a0a3bf2295a647127c (patch)
treed169740fe62f3f8bf268d333cf7a07ca20b17e45
parent0e7973e70ff1ff4598dd0644a355b4042115cf6d (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>
-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
-rw-r--r--meta-rcar-gen3/recipes-graphics/wayland/wayland-kms_1.6.0.bb2
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 a7c8d39..f8326a0 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