On 2013-09-02 18:13, Ross Burton wrote:

Oh, nice to see my utility here again I have to admit, this was one of the first recipes I ever wrote. Somebody mentioned concerns about it being machine-specific. I think this is the case if EGLINFO_DEVICE is set to anything other than "generic". I faced a similar situation with the GStreamer 1.0 OpenMAX plugins, and solved this with python code: https://github.com/dv1/meta-gstreamer1.0/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-omx.inc#L20
So, if EGLINFO_DEVICE is not set to generic, PACKAGE_ARCH is automatically set to MACHINE_ARCH. I would introduce this in the recipe, but do not have the time right now, unfortunately

The other concern is Wayland support. There isn't any yet.

eglinfo is a small utility for printing out information about EGL as well
as about its client APIs, OpenGL / OpenGLES 1.x / OpenGLES 2.x / OpenVG.

Recipe originally by Carlos Rafael Giani <dv@pseudoterminal.org>.

Signed-off-by: Ross Burton <ross.burton@intel.com>
---
  meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.bb  |   11 ++++++++
  meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.bb |    8 ++++++
  meta/recipes-graphics/eglinfo/eglinfo.inc        |   32 ++++++++++++++++++++++
  3 files changed, 51 insertions(+)
  create mode 100644 meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.bb
  create mode 100644 meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.bb
  create mode 100644 meta/recipes-graphics/eglinfo/eglinfo.inc

diff --git a/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.bb b/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.bb
new file mode 100644
index 0000000..65b265f
--- /dev/null
+++ b/meta/recipes-graphics/eglinfo/eglinfo-fb_1.0.bb
@@ -0,0 +1,11 @@
+EGLINFO_PLATFORM ?= "fb"
+EGLINFO_BINARY_NAME ?= "eglinfo-fb"
+
+# .bbappend files in BSP meta layers can add EGLINFO_DEVICE
+# values if necessary. eglinfo.inc contains default values for
+# the currently supported devices.
+# Consult the eglinfo README.md for details
+
+include eglinfo.inc
+
+SUMMARY += "(Framebuffer version)"
diff --git a/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.bb b/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.bb
new file mode 100644
index 0000000..18fc893
--- /dev/null
+++ b/meta/recipes-graphics/eglinfo/eglinfo-x11_1.0.bb
@@ -0,0 +1,8 @@
+EGLINFO_PLATFORM ?= "x11"
+EGLINFO_BINARY_NAME ?= "eglinfo-x11"
+
+include eglinfo.inc
+
+DEPENDS += "virtual/libx11"
+
+SUMMARY += "(X11 version)"
diff --git a/meta/recipes-graphics/eglinfo/eglinfo.inc b/meta/recipes-graphics/eglinfo/eglinfo.inc
new file mode 100644
index 0000000..d53d0ff
--- /dev/null
+++ b/meta/recipes-graphics/eglinfo/eglinfo.inc
@@ -0,0 +1,32 @@
+SUMMARY = "Utility for printing information EGL and its client APIs (OpenGL, OpenGL ES, OpenVG)"
+SECTION = "graphics"
+LICENSE = "Zlib"
+HOMEPAGE = "https://github.com/dv1/eglinfo"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=8d4f33bc3add976f7dfae85dab66f03c"
+
+DEPENDS = "virtual/egl"
+
+SRC_URI = "git://github.com/dv1/eglinfo.git;branch=master"
+SRCREV = "4a49ff59545d9b6a8222badab64115f89d3a6774"
+
+S = "${WORKDIR}/git"
+
+inherit waf
+
+# BSP layers should add .bbappend files for the -x11 and -fb .bb recipes,
+# which append the respective EGL/OpenGLES/OpenVG libraries to DEPENDS
+# not doing that here, since some platforms might not have OpenGL ES or OpenVG support
+# (in that case, the eglinfo build scripts automatically disable the relevant code paths)
+
+EGLINFO_DEVICE ?= "generic"
+EGLINFO_DEVICE_raspberrypi ?= "raspberrypi"
+EGLINFO_DEVICE_beagleboard ?= "beagleboard"
+EGLINFO_DEVICE_mx6 ?= "imx6"
+
+EXTRA_OECONF = "--platform=${EGLINFO_PLATFORM} \
+                --device=${EGLINFO_DEVICE} \
+                --sysroot ${STAGING_DIR_TARGET}"
+
+do_install_append() {
+    mv ${D}/${bindir}/eglinfo ${D}/${bindir}/${EGLINFO_BINARY_NAME}
+}