* [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.