diff mbox

[1/1] package/x11r7/libepoxy: fix OpenGL / EGL dependencies

Message ID 1438973409-7174-1-git-send-email-bernd.kuhls@t-online.de
State Changes Requested
Headers show

Commit Message

Bernd Kuhls Aug. 7, 2015, 6:50 p.m. UTC
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)

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 package/x11r7/libepoxy/Config.in   | 10 ++++++++--
 package/x11r7/libepoxy/libepoxy.mk |  6 +++++-
 2 files changed, 13 insertions(+), 3 deletions(-)

Comments

Thomas Petazzoni Aug. 8, 2015, 8:59 a.m. UTC | #1
Dear Bernd Kuhls,

On Fri,  7 Aug 2015 20:50:09 +0200, Bernd Kuhls wrote:
> 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)
> 
> Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>

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

> diff --git a/package/x11r7/libepoxy/libepoxy.mk b/package/x11r7/libepoxy/libepoxy.mk
> index d908893..7570226 100644
> --- a/package/x11r7/libepoxy/libepoxy.mk
> +++ b/package/x11r7/libepoxy/libepoxy.mk
> @@ -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`

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
Bernd Kuhls Aug. 8, 2015, 12:46 p.m. UTC | #2
Hi Thomas,

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

>> +# 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.

> <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
diff mbox

Patch

diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
index c4f5794..5628bf7 100644
--- a/package/x11r7/libepoxy/Config.in
+++ b/package/x11r7/libepoxy/Config.in
@@ -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
diff --git a/package/x11r7/libepoxy/libepoxy.mk b/package/x11r7/libepoxy/libepoxy.mk
index d908893..7570226 100644
--- a/package/x11r7/libepoxy/libepoxy.mk
+++ b/package/x11r7/libepoxy/libepoxy.mk
@@ -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))