Patchwork [meta-fsl-arm,1/3] mesa-dri: Don't build EGL, GL ES and GL ES2 librarioes

login
register
mail settings
Submitter Otavio Salvador
Date March 19, 2013, 6:48 p.m.
Message ID <1363718898-21132-1-git-send-email-otavio@ossystems.com.br>
Download mbox | patch
Permalink /patch/46475/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

Otavio Salvador - March 19, 2013, 6:48 p.m.
The Vivante and AMD GPU drivers provide GPU specific libraries so we
cannot build the same here or we'll end conflicting.

Change-Id: I96e485a3e113612dfbb5902583fa71044bb0d035
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 recipes-graphics/mesa/mesa-dri_9.0.2.bbappend | 41 +++++++++++++++++++++++----
 1 file changed, 36 insertions(+), 5 deletions(-)

Patch

diff --git a/recipes-graphics/mesa/mesa-dri_9.0.2.bbappend b/recipes-graphics/mesa/mesa-dri_9.0.2.bbappend
index 74738ff..fe7685a 100644
--- a/recipes-graphics/mesa/mesa-dri_9.0.2.bbappend
+++ b/recipes-graphics/mesa/mesa-dri_9.0.2.bbappend
@@ -1,7 +1,38 @@ 
-PRINC := "${@int(PRINC) + 1}"
+PRINC := "${@int(PRINC) + 3}"
 
-PROVIDES_mx5 = "virtual/libgl"
-PROVIDES_mx6 = "virtual/libgl"
+# FIXME: We may need to disable EGL, GL ES1 and GL ES2
+python __anonymous () {
+    import re
 
-PACKAGE_ARCH_mx5 = "${MACHINE_ARCH}"
-PACKAGE_ARCH_mx6 = "${MACHINE_ARCH}"
+    # SoC families to work on
+    families = ['mx5', 'mx6']
+    cur_soc_families = d.getVar('SOC_FAMILY', True)
+    if cur_soc_families and \
+        any(map(lambda x: x in cur_soc_families.split(':'), families)):
+        # Remove egl gles1 and gles2 configure options
+        extra_oeconf = d.getVar('EXTRA_OECONF', True).split()
+        take_out = ['--enable-egl', '--enable-gles1', '--enable-gles2']
+        put_in = ['--disable-egl', '--disable-gles1', '--disable-gles2']
+        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 itens from provides
+        provides = d.getVar('PROVIDES', True)
+        take_out = ['virtual/libgles1', 'virtual/libgles2', 'virtual/egl']
+        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'))
+}