[OE-core] [PATCH] mesa: clean up PACKAGECONFIG

Zoltan Gaal z.p.gaal at gmail.com
Sun Sep 2 00:43:40 UTC 2012


I'm new to oe, and I've seen there was quite a big discussion about the 
gles support in mesa.
Now libgles-omap3 has the mentioned conflict with the mesa-dri as both 
provides virtual/egl. I think a patch like this would solve the issue:
(mesa-dri is required by xserver, and libgles-omap3 is the accelerated 
gles driver from ti, which also provides egl by nature)



diff --git a/meta/recipes-graphics/mesa/mesa-common.inc 
b/meta/recipes-graphics/mesa/mesa-common.inc
index cfe4a37..074dc5e 100644
--- a/meta/recipes-graphics/mesa/mesa-common.inc
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -17,7 +17,12 @@ PE = "2"

  DEPENDS = "libxml2-native makedepend-native flex-native bison-native"

-PROVIDES = "virtual/libgl virtual/libgles1 virtual/libgles2 virtual/egl"
+PROV_EGL = "${@base_contains('DISTRO_FEATURES', 'egl', 
'virtual/libegl', '', d)}"
+PROV_GLES = "${@base_contains('DISTRO_FEATURES', 'gles', 
'virtual/libgles1 virtual/libgles2', '', d)}"
+PROV_GLES1 = "${@base_contains('DISTRO_FEATURES', 'gles1', 
'virtual/libgles1', '', d)}"
+PROV_GLES2 = "${@base_contains('DISTRO_FEATURES', 'gles2', 
'virtual/libgles2', '', d)}"
+
+PROVIDES = "virtual/libgl ${PROV_EGL} ${PROV_GLES1} ${PROV_GLES2}"

  # for mesa-dri and mesa-xlib
  FILESEXTRAPATHS_append := "${THISDIR}/mesa:"
@@ -41,14 +46,20 @@ EXCLUDE_FROM_WORLD = "1"
  # ie mesa-dri could be empty and mesa-dri-dev RDEPENDS on it
  ALLOW_EMPTY_${PN} = "1"

-PACKAGES =+ "libegl libegl-dev libegl-dbg \
+PACK_EGL = "${@base_contains('DISTRO_FEATURES', 'egl', 'libegl 
libegl-dev libegl-dbg', '', d)}"
+PACK_GLES = "${@base_contains('DISTRO_FEATURES', 'gles', 'libgles1 
libgles1-dev libgles2 libgles2-dev', '', d)}"
+PACK_GLES1 = "${@base_contains('DISTRO_FEATURES', 'gles1', 'libgles1 
libgles1-dev', '', d)}"
+PACK_GLES2 = "${@base_contains('DISTRO_FEATURES', 'gles2', 'libgles2 
libgles2-dev', '', d)}"
+
+PACKAGES =+ "${PACK_EGL} \
               libglu libglu-dev \
               libosmesa libosmesa-dev \
               libgl libgl-dev \
               libglapi libglapi-dev \
               libgbm libgbm-dev \
-             libgles1 libgles1-dev \
-             libgles2 libgles2-dev \
+             ${PACK_GLES} \
+             ${PACK_GLES1} \
+             ${PACK_GLES2} \
              "

  FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so"





More information about the Openembedded-core mailing list