Fixes [YOCTO #4850]
findings:
* meta-fsl-arm/recipes-graphics/mesa/mesa_9.1.3.bbappend is used to
delete libGL.* after compilation of mesa
* ./recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q_3.0.35-4.0.0.bb, via
gpu-viv-bin-mx6q.inc, provides its own version of libGL
* gpu-viv-bin-mx6q does not advertise "virtual/libgl" in "PROVIDES +="
* but mesa (via mesa.inc) does:
PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
* so the statement in imx-base.inc
PREFERRED_PROVIDER_virtual/libgl_mx6 ?= "gpu-viv-bin-mx6q"
does not have effect, because mesa is still the only provider
of virtual/libgl
* packages depending on virtual/libgl only get mesa, which will not contain
the libGL library
* in fact, we still use the gl headers from mesa, but the binary blob library
from gpu-viv-bin-mx6q (gpu-viv-bin-mx6q does not provide the headers),
so a package compiling against GL needs both mesa and gpu-viv-bin-mx6q
conclusion:
* so i suggest having gpu-viv-bin-mx6q depend on mesa to draw in the
gl header package, advertising "virtual/libgl" for gpu-viv-bin-mx6q
via "PROVIDES +=" and not advertising virtual/libgl for mesa via the
.bbappend file
Signed-off-by: Simon Braunschmidt <sb@emlix.com>
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)}"
-PROVIDES += "virtual/libgal-x11 virtual/egl virtual/libgles1 virtual/libgles2"
+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"
INC_PR = "r5"
# Remove itens from provides
provides = d.getVar('PROVIDES', True).split()
- take_out = ['virtual/libgles1', 'virtual/libgles2', 'virtual/egl']
+ take_out = ['virtual/libgles1', 'virtual/libgles2', 'virtual/egl', 'virtual/libgl']
new_provides = []
for i in provides:
if i not in take_out: