The graphics libraries provided by userland does not include libgl. So compile
mesa with libgl support and remove gles and egl from it as these are provided
by userland.

Signed-off-by: Andrei Gherzan <and...@gherzan.ro>
---
 recipes-graphics/mesa/mesa_9.1.6.bbappend |   34 +++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)
 create mode 100644 recipes-graphics/mesa/mesa_9.1.6.bbappend

diff --git a/recipes-graphics/mesa/mesa_9.1.6.bbappend 
b/recipes-graphics/mesa/mesa_9.1.6.bbappend
new file mode 100644
index 0000000..88e5eab
--- /dev/null
+++ b/recipes-graphics/mesa/mesa_9.1.6.bbappend
@@ -0,0 +1,34 @@
+PRINC := "${@int(PRINC) + 1}"
+
+#
+# FIXME
+# We may a way to disable EGL and GL ES2, these are provided by userland 
package
+#
+python __anonymous () {
+    import re
+
+    # Remove egl and gles2 configure options
+    extra_oeconf = d.getVar('EXTRA_OECONF', True).split()
+    take_out = ['--enable-egl', '--enable-gles2', '--enable-gles1']
+    put_in = ['--disable-egl', '--disable-gles2', '--disable-gles1']
+    pattern = re.compile("--with-egl-platforms")
+    new_extra_oeconf = []
+    for i in extra_oeconf:
+        if i not in take_out and not pattern.match(i):
+            new_extra_oeconf.append(i)
+    for i in put_in:
+        new_extra_oeconf.append(i)
+    d.setVar('EXTRA_OECONF', ' '.join(new_extra_oeconf))
+
+    # Remove egl and gles2 from provides
+    provides = d.getVar('PROVIDES', True).split()
+    take_out = ['virtual/libgles2', 'virtual/egl', 'virtual/libgles1']
+    new_provides = []
+    for i in provides:
+        if i not in take_out:
+            new_provides.append(i)
+    d.setVar('PROVIDES', ' '.join(new_provides))
+
+    # We are now machine specific
+    d.setVar('PACKAGE_ARCH', d.getVar('MACHINE_ARCH'))
+}
-- 
1.7.9.5

_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to