[yocto] [meta-raspberrypi][PATCH 07/11] mesa: Use libgl from mesa for raspberrypi

Andrei Gherzan andrei at gherzan.ro
Tue Aug 20 10:02:34 PDT 2013


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 <andrei at 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




More information about the yocto mailing list