All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
@ 2015-05-06 20:15 Bernd Kuhls
  2015-07-10  9:19 ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2015-05-06 20:15 UTC (permalink / raw)
  To: buildroot

Fixes
http://autobuild.buildroot.net/results/596/596f44a26aad45c027f0f4f97d63e97a1f4fd001

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: Add missing select lines to Config.in (Thomas)

 package/x11r7/libepoxy/Config.in   |   10 ++++++++--
 package/x11r7/libepoxy/libepoxy.mk |   12 +++++++++++-
 2 files changed, 19 insertions(+), 3 deletions(-)

diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
index c4f5794..1b1ca3f 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
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XUTIL_UTIL_MACROS
 	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..fc1ede4 100644
--- a/package/x11r7/libepoxy/libepoxy.mk
+++ b/package/x11r7/libepoxy/libepoxy.mk
@@ -8,8 +8,18 @@ LIBEPOXY_VERSION = v1.2
 LIBEPOXY_SITE = $(call github,anholt,libepoxy,$(LIBEPOXY_VERSION))
 LIBEPOXY_INSTALL_STAGING = YES
 LIBEPOXY_AUTORECONF = YES
-LIBEPOXY_DEPENDENCIES = mesa3d
+LIBEPOXY_DEPENDENCIES = \
+	$(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \
+	$(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
 LIBEPOXY_LICENSE = MIT
 LIBEPOXY_LICENSE_FILES = COPYING
 
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+LIBEPOXY_CONF_ENV = \
+	CFLAGS="$(TARGET_CFLAGS) \
+		-I$(STAGING_DIR)/usr/include/IL \
+		-I$(STAGING_DIR)/usr/include/interface/vcos/pthreads \
+		-I$(STAGING_DIR)/usr/include/interface/vmcs_host/linux"
+endif
+
 $(eval $(autotools-package))
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
  2015-05-06 20:15 [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies Bernd Kuhls
@ 2015-07-10  9:19 ` Thomas Petazzoni
  2015-07-27 21:28   ` Thomas Petazzoni
  2015-07-28  8:23   ` Jérôme Pouiller
  0 siblings, 2 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-07-10  9:19 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Wed,  6 May 2015 22:15:08 +0200, Bernd Kuhls wrote:

> diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
> index c4f5794..1b1ca3f 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
> +	depends on BR2_PACKAGE_HAS_LIBEGL
> +	select BR2_PACKAGE_XLIB_LIBX11
> +	select BR2_PACKAGE_XUTIL_UTIL_MACROS

This doesn't make a lot of sense to me. Either you use EGL and you
don't X, or you have X and you don't EGL.

Can you explain a bit more what's going on here?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
  2015-07-10  9:19 ` Thomas Petazzoni
@ 2015-07-27 21:28   ` Thomas Petazzoni
  2015-07-28  8:23   ` Jérôme Pouiller
  1 sibling, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-07-27 21:28 UTC (permalink / raw)
  To: buildroot

Bernd,

If you have some time, can you get back to me about the below
questions, so that we can move forward with this patch?

Thanks,

Thomas

On Fri, 10 Jul 2015 11:19:52 +0200, Thomas Petazzoni wrote:
> Dear Bernd Kuhls,
> 
> On Wed,  6 May 2015 22:15:08 +0200, Bernd Kuhls wrote:
> 
> > diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
> > index c4f5794..1b1ca3f 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
> > +	depends on BR2_PACKAGE_HAS_LIBEGL
> > +	select BR2_PACKAGE_XLIB_LIBX11
> > +	select BR2_PACKAGE_XUTIL_UTIL_MACROS
> 
> This doesn't make a lot of sense to me. Either you use EGL and you
> don't X, or you have X and you don't EGL.
> 
> Can you explain a bit more what's going on here?
> 
> Thanks,
> 
> Thomas



-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
  2015-07-10  9:19 ` Thomas Petazzoni
  2015-07-27 21:28   ` Thomas Petazzoni
@ 2015-07-28  8:23   ` Jérôme Pouiller
  2015-07-28  9:02     ` Thomas Petazzoni
  1 sibling, 1 reply; 7+ messages in thread
From: Jérôme Pouiller @ 2015-07-28  8:23 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Friday 10 July 2015 11:19:52 Thomas Petazzoni wrote:
> Dear Bernd Kuhls,
> 
> On Wed,  6 May 2015 22:15:08 +0200, Bernd Kuhls wrote:
> 
> > diff --git a/package/x11r7/libepoxy/Config.in 
b/package/x11r7/libepoxy/Config.in
> > index c4f5794..1b1ca3f 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
> > +	depends on BR2_PACKAGE_HAS_LIBEGL
> > +	select BR2_PACKAGE_XLIB_LIBX11
> > +	select BR2_PACKAGE_XUTIL_UTIL_MACROS
> 
> This doesn't make a lot of sense to me. Either you use EGL and you
> don't X, or you have X and you don't EGL.
As far as I understand, EGL is counterpart of GLX for GLESv2. As soon as you 
want to use GLEsv2, you need EGL. Therefore, EGL is not mutually exclusive 
with Xorg.

Here is an example program that work with Xorg and use EGL:
  http://exoticorn.de/simplegl.tgz


-- 
J?r?me Pouiller, Sysmic
Embedded Linux specialist
http://www.sysmic.fr

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
  2015-07-28  8:23   ` Jérôme Pouiller
@ 2015-07-28  9:02     ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-07-28  9:02 UTC (permalink / raw)
  To: buildroot

Dear J?r?me Pouiller,

On Tue, 28 Jul 2015 10:23:23 +0200, J?r?me Pouiller wrote:

> > This doesn't make a lot of sense to me. Either you use EGL and you
> > don't X, or you have X and you don't EGL.
> As far as I understand, EGL is counterpart of GLX for GLESv2. As soon as you 
> want to use GLEsv2, you need EGL. Therefore, EGL is not mutually exclusive 
> with Xorg.
> 
> Here is an example program that work with Xorg and use EGL:
>   http://exoticorn.de/simplegl.tgz

Ah, okay. Then I indeed misunderstood this. I'll look again at Bernd's
patch then. Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
  2015-05-02 17:01 Bernd Kuhls
@ 2015-05-06 19:39 ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2015-05-06 19:39 UTC (permalink / raw)
  To: buildroot

Dear Bernd Kuhls,

On Sat,  2 May 2015 19:01:48 +0200, Bernd Kuhls wrote:

> + egl_has_extension_nocontext_LDADD = $(EPOXY) libegl_common.la $(X11_LIBS)
> diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
> index c4f5794..875ccc5 100644
> --- a/package/x11r7/libepoxy/Config.in
> +++ b/package/x11r7/libepoxy/Config.in
> @@ -1,7 +1,11 @@
>  config BR2_PACKAGE_LIBEPOXY
>  	bool "epoxy"
> -	depends on BR2_PACKAGE_MESA3D
> +	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..001d05d 100644
> --- a/package/x11r7/libepoxy/libepoxy.mk
> +++ b/package/x11r7/libepoxy/libepoxy.mk
> @@ -8,7 +8,9 @@ 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 \

So you need to select xlib_libX11 and xutil_util-macros in the
Config.in file.

Can you respin to fix this?

Thanks a lot,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies
@ 2015-05-02 17:01 Bernd Kuhls
  2015-05-06 19:39 ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Bernd Kuhls @ 2015-05-02 17:01 UTC (permalink / raw)
  To: buildroot

libepoxy depeneds on EGL, OpenGL is an optional dependency.
These packages can also be provided by other packages, not only mesa3d.
In order to avoid build errors with rpi-userland, it installs its header
files in an usual place, two upstream patches are backported.

Fixes
http://autobuild.buildroot.net/results/596/596f44a26aad45c027f0f4f97d63e97a1f4fd001

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
v2: Check for egl by using pkgconfig (Thomas)

 package/x11r7/libepoxy/0001-egl-pkgconfig.patch    |   59 ++++++++++++++++++
 .../x11r7/libepoxy/0002-Avoid-name-conflict.patch  |   64 ++++++++++++++++++++
 package/x11r7/libepoxy/Config.in                   |    8 ++-
 package/x11r7/libepoxy/libepoxy.mk                 |    4 +-
 4 files changed, 132 insertions(+), 3 deletions(-)
 create mode 100644 package/x11r7/libepoxy/0001-egl-pkgconfig.patch
 create mode 100644 package/x11r7/libepoxy/0002-Avoid-name-conflict.patch

diff --git a/package/x11r7/libepoxy/0001-egl-pkgconfig.patch b/package/x11r7/libepoxy/0001-egl-pkgconfig.patch
new file mode 100644
index 0000000..b725c28
--- /dev/null
+++ b/package/x11r7/libepoxy/0001-egl-pkgconfig.patch
@@ -0,0 +1,59 @@
+From d56f21c494b315306215c4730835a9b291360e9b Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 13 Jun 2014 14:59:37 -0700
+Subject: [PATCH] Use the EGL pkgconfig for finding eglplatform.h.
+
+We don't ever explicity link against libEGL, so no need to make use of
+EGL_LIBS.
+
+Fixes #30.
+
+Upstream status: committed
+https://github.com/anholt/libepoxy/commit/d56f21c494b315306215c4730835a9b291360e9b
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ configure.ac     | 1 +
+ src/Makefile.am  | 1 +
+ test/Makefile.am | 4 +++-
+ 3 files changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 399e351..f97c9b0 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -98,6 +98,7 @@ AC_SUBST(EPOXY_LINK_LIBS)
+ 
+ AM_CONDITIONAL(BUILD_EGL, test x$build_egl = xyes)
+ if test x$build_egl = xyes; then
++    PKG_CHECK_MODULES(EGL, [egl])
+     AC_DEFINE([BUILD_EGL], [1], [build EGL tests])
+ fi
+ 
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 8e20cd6..49c3507 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -28,6 +28,7 @@ AM_CFLAGS = \
+ 	$(CWARNFLAGS) \
+ 	$(VISIBILITY_CFLAGS) \
+ 	$(X11_CFLAGS) \
++	$(EGL_CFLAGS) \
+ 	$()
+ 
+ epoxyincludedir = $(includedir)/epoxy
+diff --git a/test/Makefile.am b/test/Makefile.am
+index ffb330e..f29baca 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -46,7 +46,9 @@ libwgl_common_la_LIBADD = $(EPOXY)
+ AM_CPPFLAGS = \
+ 	-I$(top_srcdir)/include \
+ 	-I$(top_builddir)/include \
+-	$(X11_CFLAGS)
++	$(X11_CFLAGS) \
++	$(EGL_CFLAGS) \
++	$()
+ 
+ AM_CFLAGS = $(CWARNFLAGS)
+ 
diff --git a/package/x11r7/libepoxy/0002-Avoid-name-conflict.patch b/package/x11r7/libepoxy/0002-Avoid-name-conflict.patch
new file mode 100644
index 0000000..d646253
--- /dev/null
+++ b/package/x11r7/libepoxy/0002-Avoid-name-conflict.patch
@@ -0,0 +1,64 @@
+From b2ae054b3aa0d6796b6936c7a89b8cce7cefe7ba Mon Sep 17 00:00:00 2001
+From: Eric Anholt <eric@anholt.net>
+Date: Fri, 13 Jun 2014 15:54:29 -0700
+Subject: [PATCH] Avoid name conflicts between pkgconfig's EGL_LIBS and a
+ temporary var.
+
+I felt a little uncomfortable knowing I had two things defining
+EGL_LIBS, but it worked on my system.  It failed on the travis ci
+build.
+
+Upstream status: committed
+https://github.com/anholt/libepoxy/commit/b2ae054b3aa0d6796b6936c7a89b8cce7cefe7ba
+
+This patch fixes an error created by 0001-egl-pkgconfig.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+---
+ test/Makefile.am | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/test/Makefile.am b/test/Makefile.am
+index f29baca..1892b17 100644
+--- a/test/Makefile.am
++++ b/test/Makefile.am
+@@ -22,9 +22,9 @@
+ EPOXY = $(builddir)/../src/libepoxy.la
+ 
+ check_LTLIBRARIES = \
+-	$(EGL_LIBS) \
+-	$(GLX_LIBS) \
+-	$(WGL_LIBS) \
++	$(EGL_UTIL_LIB) \
++	$(GLX_UTIL_LIB) \
++	$(WGL_UTIL_LIB) \
+ 	$()
+ 
+ libegl_common_la_SOURCES = \
+@@ -78,7 +78,7 @@ EGL_TESTS = \
+ 	egl_gles2_without_glx \
+ 	$()
+ 
+-EGL_LIBS = libegl_common.la
++EGL_UTIL_LIB = libegl_common.la
+ endif
+ 
+ if BUILD_GLX
+@@ -116,7 +116,7 @@ GLX_TESTS = \
+         $(GLX_NON_APPLE_TESTS) \
+ 	$()
+ 
+-GLX_LIBS = libglx_common.la
++GLX_UTIL_LIB = libglx_common.la
+ endif
+ 
+ if BUILD_WGL
+@@ -127,7 +127,7 @@ WGL_TESTS = \
+ 	wgl_usefontbitmaps_unicode$(EXEEXT) \
+ 	$()
+ 
+-WGL_LIBS = libwgl_common.la
++WGL_UTIL_LIB = libwgl_common.la
+ endif
+ 
+ egl_has_extension_nocontext_LDADD = $(EPOXY) libegl_common.la $(X11_LIBS)
diff --git a/package/x11r7/libepoxy/Config.in b/package/x11r7/libepoxy/Config.in
index c4f5794..875ccc5 100644
--- a/package/x11r7/libepoxy/Config.in
+++ b/package/x11r7/libepoxy/Config.in
@@ -1,7 +1,11 @@
 config BR2_PACKAGE_LIBEPOXY
 	bool "epoxy"
-	depends on BR2_PACKAGE_MESA3D
+	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..001d05d 100644
--- a/package/x11r7/libepoxy/libepoxy.mk
+++ b/package/x11r7/libepoxy/libepoxy.mk
@@ -8,7 +8,9 @@ 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 \
+	$(if $(BR2_PACKAGE_HAS_LIBEGL),libegl) \
+	$(if $(BR2_PACKAGE_HAS_LIBGL),libgl)
 LIBEPOXY_LICENSE = MIT
 LIBEPOXY_LICENSE_FILES = COPYING
 
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2015-07-28  9:02 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-06 20:15 [Buildroot] [PATCH v2 1/1] package/x11r7/libepoxy: Fix OpenGL / EGL dependencies Bernd Kuhls
2015-07-10  9:19 ` Thomas Petazzoni
2015-07-27 21:28   ` Thomas Petazzoni
2015-07-28  8:23   ` Jérôme Pouiller
2015-07-28  9:02     ` Thomas Petazzoni
  -- strict thread matches above, loose matches on Subject: below --
2015-05-02 17:01 Bernd Kuhls
2015-05-06 19:39 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.