Skip to contentSkip to conversation

package/x11r7/libepoxy: fix OpenGL / EGL dependencies

PATCH New Bernd Kuhls 2 participants 3 messages Aug 7, 2015 – Aug 8, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 package/x11r7/libepoxy: fix OpenGL / EGL dependencies

libepoxy depends on egl, opengl is an optional dependency

Fixes
http://autobuild.buildroot.net/results/f7e/f7e6a42f53cb4ca523d2eeefde85c44770f6011e
http://autobuild.buildroot.net/results/025/025a3d3b4d3dd4f496dcbf09f2dd279116250207

---
v3: split opengl/egl fix from version bump (Thomas)
v3: bumped to v1.3.1, switched to pkgconf for rpi support
v2: Add missing select lines to Config.in (Thomas)

---
 package/x11r7/libepoxy/Config.in   | 10 ++++++++--
 package/x11r7/libepoxy/libepoxy.mk |  6 +++++-
 2 files changed, 13 insertions(+), 3 deletions(-)
package/x11r7/libepoxy/Config.in +8 -2
index c4f5794..5628bf7 100644
@@ -1,7 +1,13 @@
 config BR2_PACKAGE_LIBEPOXY
 	bool "epoxy"
-	depends on BR2_PACKAGE_MESA3D
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XUTIL_UTIL_MACROS
+	depends on BR2_PACKAGE_HAS_LIBEGL
 	help
-	  Epoxy is a library for handling OpenGL function pointer management for you.
+	  Epoxy is a library for handling OpenGL function pointer
+	  management for you.
 
 	  https://github.com/anholt/libepoxy
+
+comment "epoxy needs an OpenGL EGL backend"
+	depends on !BR2_PACKAGE_HAS_LIBEGL
package/x11r7/libepoxy/libepoxy.mk +5 -1
index d908893..7570226 100644
@@ -8,8 +8,12 @@ LIBEPOXY_VERSION = v1.2
 LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION))
 LIBEPOXY_INSTALL_STAGING = YES
 LIBEPOXY_AUTORECONF = YES
-LIBEPOXY_DEPENDENCIES = mesa3d
+LIBEPOXY_DEPENDENCIES = xlib_libX11 xutil_util-macros libegl \
+	$(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
 LIBEPOXY_LICENSE = MIT
 LIBEPOXY_LICENSE_FILES = COPYING
 
+# needed for rpi-userland
+LIBEPOXY_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`
+
 $(eval $(autotools-package))
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 package/x11r7/libepoxy: fix OpenGL / EGL dependencies

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls

libepoxy depends on egl, opengl is an optional dependency

Fixes
http://autobuild.buildroot.net/results/f7e/f7e6a42f53cb4ca523d2eeefde85c44770f6011e
http://autobuild.buildroot.net/results/025/025a3d3b4d3dd4f496dcbf09f2dd279116250207

Quoted 6 lines

---
v3: split opengl/egl fix from version bump (Thomas)
v3: bumped to v1.3.1, switched to pkgconf for rpi support
v2: Add missing select lines to Config.in (Thomas)

Your SoB should go before the first "---", otherwise it gets removed by Git when applying your patch.

Quoted 6 lines
package/x11r7/libepoxy/libepoxy.mk +0 -0
index d908893..7570226 100644
@@ -8,8 +8,12 @@ LIBEPOXY_VERSION = v1.2
 LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION))

package/x11r7/libepoxy/libepoxy.mk LIBEPOXY_VERSION = v1.2 · line 17

Quoted 10 lines
package/x11r7/libepoxy/libepoxy.mk +4 -1
 LIBEPOXY_INSTALL_STAGING = YES
 LIBEPOXY_AUTORECONF = YES
-LIBEPOXY_DEPENDENCIES = mesa3d
+LIBEPOXY_DEPENDENCIES = xlib_libX11 xutil_util-macros libegl \
+	$(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
 LIBEPOXY_LICENSE = MIT
 LIBEPOXY_LICENSE_FILES = COPYING
 
+# needed for rpi-userland
+LIBEPOXY_CFLAGS += `$(PKG_CONFIG_HOST_BINARY) --cflags egl`

This is no-op: the package infrastructure doesn't understand <pkg>_CFLAGS. So is it really needed? If yes, then you need:

LIBEPOXY_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) $(LIBEPOXY_CFLAGS)"

Could you rework the patch accordingly? I could fix it myself, but I'd like to know whether those CFLAGS are actually needed (I believe they are since rpi-userland has headers in non-standard locations).

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH 1/1 package/x11r7/libepoxy: fix OpenGL / EGL dependencies

Hi Thomas,

Am Sat, 08 Aug 2015 10:59:57 +0200 schrieb Thomas Petazzoni:

Quoted 4 lines
Quoted 2 lines

+# needed for rpi-userland +LIBEPOXY_CFLAGS +=
$(PKG_CONFIG_HOST_BINARY) --cflags egl

This is no-op: the package infrastructure doesn't understand

oops, I did not notice because I tested the patch together with the version bump to 1.3.1 where configure.ac uses pkgconf to find the egl headers.

Quoted 7 lines

<pkg>_CFLAGS. So is it really needed? If yes, then you need:

LIBEPOXY_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) $(LIBEPOXY_CFLAGS)"

Could you rework the patch accordingly? I could fix it myself, but I'd like to know whether those CFLAGS are actually needed (I believe they are since rpi-userland has headers in non-standard locations).

The patch is needed indeed for epoxy v1.2 so I reworked the patch:
http://patchwork.ozlabs.org/patch/505313/

and removed the lines again in the bump to 1.3.1 ;)
http://patchwork.ozlabs.org/patch/505312/

Regards, Bernd