Add new libraries for XBMC Gotham
v5 cover Add new libraries for XBMC Gotham
Changelog:
v5: - rebased
- updated libva (Thomas)
- include only git-ready patches (X11 intel driver will follow in a seperate patch)
v4: - rebased
- removed flac version bump (Gustavo)
- removed libfs version bump https://github.com/OpenELEC/OpenELEC.tv/commit/b55859
Regards, Bernd
Bernd Kuhls (8):
libdrm: Explain dependency on xorg in Kconfig
mesa3d: Explain dependency for i965 DRI driver on xorg in Kconfig
libva: new package
libva-intel-driver: new package
ffmpeg: Add libva support
libglu: new package
libglew: new package
sdl: Add new dependency libglu for opengl support
package/mesa3d/Config.in | 4 ---- package/opengl/Config.in | 1 - package/opengl/libgl/Config.in | 6 ------ package/opengl/libgl/libgl.mk | 16 ---------------- package/vlc/vlc.mk | 4 ++-- package/x11r7/xdriver_xf86-video-ati/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-glint/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-intel/Config.in | 7 ++----- package/x11r7/xdriver_xf86-video-mach64/Config.in | 3 --- package/x11r7/xdriver_xf86-video-mga/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-openchrome/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-r128/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-savage/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-sis/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-tdfx/Config.in | 5 +---- package/x11r7/xdriver_xf86-video-vmware/Config.in | 5 +---- package/x11r7/xserver_xorg-server/Config.in | 1 + 17 files changed, 14 insertions(+), 73 deletions(-) delete mode 100644 package/opengl/libgl/Config.in delete mode 100644 package/opengl/libgl/libgl.mk
Signature · 1 line
1.7.10.4
PATCH v5 1/8 libdrm: Explain dependency on xorg in Kconfig
--- package/libdrm/Config.in | 3 +++ 1 file changed, 3 insertions(+)
package/libdrm/Config.in +3 -0
@@ -20,6 +20,9 @@ config BR2_PACKAGE_LIBDRM_INTEL help installs intel graphics driver +comment "libdrm intel driver depends on X.org" + depends on !BR2_PACKAGE_XORG7 + config BR2_PACKAGE_LIBDRM_RADEON bool "radeon" depends on BR2_i386 || BR2_x86_64
Signature · 1 line
1.7.10.4
PATCH v5 2/8 mesa3d: Explain dependency for i965 DRI driver on xorg in Kconfig
In reply to Bernd Kuhls--- package/mesa3d/Config.in | 3 +++ 1 file changed, 3 insertions(+)
package/mesa3d/Config.in +3 -0
@@ -77,6 +77,9 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 help Supports all Intel GPUs. This version is most supported by Intel. +comment "DRI i965 driver depends on X.org" + depends on !BR2_PACKAGE_XORG7 + config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON bool "DRI radeon driver" depends on BR2_i386 || BR2_x86_64
Signature · 1 line
1.7.10.4
PATCH v5 2/8 mesa3d: Explain dependency for i965 DRI driver on xorg in Kconfig
Bernd, All,
On 2014-04-04 07:18 +0200, Bernd Kuhls spake thusly:
Quoted 11 lines
Signed-off-by Bernd Kuhls <[email protected]>--- package/mesa3d/Config.in | 3 +++ 1 file changed, 3 insertions(+)package/mesa3d/Config.in +0
-0
package/mesa3d/Config.in config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 · line 81
Quoted 5 lines
package/mesa3d/Config.in +2
-0@@ -77,6 +77,9 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 help Supports all Intel GPUs. This version is most supported by Intel. +comment "DRI i965 driver depends on X.org" + depends on !BR2_PACKAGE_XORG7
This is oncorrect: the i965 driver does not have a "depends on XORG7", so the comment is wrong.
Either the driver is missing such a "depends on XORG7", or we should not add this comment.
Regards,
Yann E. MORIN.
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------'
PATCH v5 2/8 mesa3d: Explain dependency for i965 DRI driver on xorg in Kconfig
"Yann E. MORIN" <[email protected]> wrote in news:20140417213757.GB3270 at free.fr:
Quoted 11 lines
Bernd, All,
On 2014-04-04 07:18 +0200, Bernd Kuhls spake thusly:
Quoted 8 lines
package/mesa3d/Config.in +0
-0@@ -77,6 +77,9 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 help Supports all Intel GPUs. This version is most supported by Intel.
Quoted 8 lines
package/mesa3d/Config.in config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965 · line 81
Quoted 2 lines
package/mesa3d/Config.in +2
-0+comment "DRI i965 driver depends on X.org" + depends on !BR2_PACKAGE_XORG7This is oncorrect: the i965 driver does not have a "depends on XORG7", so the comment is wrong.
Either the driver is missing such a "depends on XORG7", or we should not add this comment.
Hi,
your patch
http://git.buildroot.net/buildroot/commit/package/mesa3d/Config.in?
id=c65d7e55a6a9a02f39976fb06e400eb3aefde160 superseeds my patch, closed in patchworks, thanks!
Regards, Bernd
PATCH v2 3/8 libva: new package
In reply to Bernd Kuhls---
v2: re-formatted options (Thomas)
package/Config.in | 1 + package/libva/Config.in | 12 ++++++++++++ package/libva/libva.mk | 48 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 61 insertions(+) create mode 100644 package/libva/Config.in create mode 100644 package/libva/libva.mk
package/Config.in +1 -0
@@ -593,6 +593,7 @@ source "package/libsvg/Config.in" source "package/libsvg-cairo/Config.in" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" +source "package/libva/Config.in" source "package/opencv/Config.in" source "package/opengl/Config.in" source "package/pango/Config.in"
package/libva/Config.in new file +12 -0
@@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBVA + bool "libva" + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER + help + The main motivation for VA-API (Video Acceleration API) is to enable + hardware accelerated video decode/encode at various entry-points (VLD, + IDCT, Motion Compensation etc.) for the prevailing coding standards + today (MPEG-2, MPEG-4 ASP/H.263, MPEG-4 AVC/H.264, and VC-1/VMW3). + + http://www.freedesktop.org/wiki/Software/vaapi/
package/libva/libva.mk new file +48 -0
48 lines not on this page · raw message
Signature · 1 line
1.7.10.4
PATCH v2 3/8 libva: new package
Dear Bernd Kuhls,
package/libva/Config.in line 5
Quoted 11 lines · Bernd Kuhls
package/libva/Config.in new file +5
-0@@ -0,0 +1,12 @@ +config BR2_PACKAGE_LIBVA + bool "libva" + select BR2_PACKAGE_LIBDRM + select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER + select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER
When BR2_PACKAGE_XSERVER_XORG_SERVER is enabled, the .mk file also depends on xlib_libX11, so I believe you should add a:
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER
here.
Also, you need to propagate the BR2_LARGEFILE dependency of BR2_PACKAGE_LIBDRM.
Quoted 6 lines
package/libva/libva.mk new file +0
-0
package/libva/libva.mk line 10
Quoted 10 lines
package/libva/libva.mk new file +10
-0@@ -0,0 +1,48 @@ +################################################################################ +# +# libva +# +################################################################################ + +LIBVA_VERSION = 1.3.0 +LIBVA_SOURCE = libva-$(LIBVA_VERSION).tar.bz2 +LIBVA_SITE = http://www.freedesktop.org/software/vaapi/releases/libva +LIBVA_LICENSE = MIT
You can add:
LIBVA_LICENSE_FILES = COPYING
package/libva/libva.mk line 22
Quoted 12 lines
package/libva/libva.mk new file +12
-0+LIBVA_INSTALL_STAGING = YES + +LIBVA_DEPENDENCIES = host-pkgconf libdrm + +LIBVA_CONF_OPT = \ + --enable-drm \ + --disable-dummy-driver \ + --with-drivers-path="/usr/lib/va" + +ifeq ($(BR2_PACKAGE_MESA3D),y) +LIBVA_DEPENDENCIES += mesa3d +LIBVA_CONF_OPT += --enable-glx
Are you sure that GLX support is always available as soon as mesa3d is enabled? I believe that GLX is the protocol used to do OpenGL under X.org, but Mesa3d is usable outside of X.org.
Quoted 11 lines
package/libva/libva.mk new file +11
-0+endif + +ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y) +LIBVA_DEPENDENCIES += \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXfixes +LIBVA_CONF_OPT += --enable-x11 +else +LIBVA_CONF_OPT += --disable-x11 +endif
package/libva/libva.mk line 43
Quoted 10 lines
package/libva/libva.mk new file +10
-0+ +ifeq ($(BR2_PACKAGE_WAYLAND),y) +LIBVA_DEPENDENCIES += wayland +LIBVA_CONF_OPT += --enable-wayland +else +LIBVA_CONF_OPT += --disable-wayland +endif + +ifeq ($(BR2_PACKAGE_HAS_OPENGL_EGL),y) +LIBVA_CONF_OPT += --enable-egl
This would need a:
LIBVA_DEPENDENCIES += libegl
otherwise, the egl implementation is not guaranteed to be available before libva gets built.
package/libva/libva.mk line 48
Quoted 5 lines
package/libva/libva.mk new file +5
-0+else +LIBVA_CONF_OPT += --disable-egl +endif + +$(eval $(autotools-package))
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 4/8 libva-intel-driver: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libva-intel-driver/Config.in | 13 +++++++++++++ package/libva-intel-driver/libva-intel-driver.mk | 13 +++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 package/libva-intel-driver/Config.in create mode 100644 package/libva-intel-driver/libva-intel-driver.mk
package/Config.in +1 -0
@@ -594,6 +594,7 @@ source "package/libsvg-cairo/Config.in" source "package/libsvgtiny/Config.in" source "package/libungif/Config.in" source "package/libva/Config.in" +source "package/libva-intel-driver/Config.in" source "package/opencv/Config.in" source "package/opengl/Config.in" source "package/pango/Config.in"
package/libva-intel-driver/Config.in new file +13 -0
@@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBVA_INTEL_DRIVER + bool "libva-intel-driver" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBVA + depends on BR2_PACKAGE_XORG7 + select BR2_PACKAGE_LIBDRM_INTEL + help + VA-API back-end driver for Intel graphics chips + + https://01.org/linuxgraphics/community/vaapi + +comment "libva intel driver depends on libva & X.org" + depends on !BR2_PACKAGE_LIBVA || !BR2_PACKAGE_XORG7
package/libva-intel-driver/libva-intel-driver.mk new file +13 -0
@@ -0,0 +1,13 @@ +################################################################################ +# +# libva-intel-driver +# +################################################################################ + +LIBVA_INTEL_DRIVER_VERSION = 1.3.0 +LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 +LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver +LIBVA_INTEL_DRIVER_LICENSE = MIT +LIBVA_INTEL_DRIVER_DEPENDENCIES = libva + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH v5 4/8 libva-intel-driver: new package
Dear Bernd Kuhls,
package/libva-intel-driver/Config.in line 5
Quoted 11 lines · Bernd Kuhls
package/libva-intel-driver/Config.in new file +5
-0@@ -0,0 +1,13 @@ +config BR2_PACKAGE_LIBVA_INTEL_DRIVER + bool "libva-intel-driver" + depends on BR2_i386 || BR2_x86_64 + depends on BR2_PACKAGE_LIBVA + depends on BR2_PACKAGE_XORG7
In fact, in the libva package, you should maybe use:
select BR2_PACKAGE_XLIB_<foo> if BR2_PACKAGE_XORG7
Here, I'm not sure about the dependencies. Maybe we want to:
select BR2_PACKAGE_LIBVA
select BR2_PACKAGE_LIBDRM
select BR2_PACKAGE_LIBDRM_INTEL
of course, don't forget to propagate the dependencies of libva and libdrm.
X.org can remain a "depends on".
Quoted 14 lines
package/libva-intel-driver/Config.in new file +8
-0+ select BR2_PACKAGE_LIBDRM_INTEL + help + VA-API back-end driver for Intel graphics chips + + https://01.org/linuxgraphics/community/vaapi + +comment "libva intel driver depends on libva & X.org" + depends on !BR2_PACKAGE_LIBVA || !BR2_PACKAGE_XORG7package/libva-intel-driver/libva-intel-driver.mk new file +0
-0
package/libva-intel-driver/libva-intel-driver.mk line 10
Quoted 10 lines
package/libva-intel-driver/libva-intel-driver.mk new file +10
-0@@ -0,0 +1,13 @@ +################################################################################ +# +# libva-intel-driver +# +################################################################################ + +LIBVA_INTEL_DRIVER_VERSION = 1.3.0 +LIBVA_INTEL_DRIVER_SOURCE = libva-intel-driver-$(LIBVA_INTEL_DRIVER_VERSION).tar.bz2 +LIBVA_INTEL_DRIVER_SITE = http://www.freedesktop.org/software/vaapi/releases/libva-intel-driver +LIBVA_INTEL_DRIVER_LICENSE = MIT
LIBVA_INTEL_DRIVER_LICENSE_FILES = COPYING
package/libva-intel-driver/libva-intel-driver.mk line 13
Quoted 3 lines
package/libva-intel-driver/libva-intel-driver.mk new file +3
-0+LIBVA_INTEL_DRIVER_DEPENDENCIES = libva + +$(eval $(autotools-package))
A quick inspection of configure.ac reveals that:
* There are --enable-drm, --enable-x11 and --enable-wayland options. Maybe you should use them, at least to explicitly give a --disable-<foo> for the features you don't support.
* It needs host-pkgconf
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 5/8 ffmpeg: Add libva support
In reply to Bernd Kuhls--- package/ffmpeg/ffmpeg.mk | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)
package/ffmpeg/ffmpeg.mk +7 -1
@@ -41,7 +41,6 @@ FFMPEG_CONF_OPT = \ --enable-mdct \ --enable-rdft \ --disable-crystalhd \ - --disable-vaapi \ --disable-vdpau \ --disable-dxva2 \ --enable-runtime-cpudetect \
@@ -209,6 +208,13 @@ FFMPEG_CONF_OPT += \ --enable-encoder=libvorbis endif +ifeq ($(BR2_PACKAGE_LIBVA),y) +FFMPEG_CONF_OPT += --enable-vaapi +FFMPEG_DEPENDENCIES += libva +else +FFMPEG_CONF_OPT += --disable-vaapi +endif + ifeq ($(BR2_X86_CPU_HAS_MMX),y) FFMPEG_CONF_OPT += --enable-yasm FFMPEG_DEPENDENCIES += host-yasm
Signature · 1 line
1.7.10.4
PATCH v5 6/8 libglu: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libglu/Config.in | 10 ++++++++++ package/libglu/libglu.mk | 18 ++++++++++++++++++ 3 files changed, 29 insertions(+) create mode 100644 package/libglu/Config.in create mode 100644 package/libglu/libglu.mk
package/Config.in +1 -0
@@ -584,6 +584,7 @@ source "package/libexif/Config.in" source "package/libgail/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" +source "package/libglu/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in" source "package/libqrencode/Config.in"
package/libglu/Config.in new file +10 -0
@@ -0,0 +1,10 @@ +config BR2_PACKAGE_LIBGLU + bool "libglu" + depends on BR2_PACKAGE_MESA3D + help + Mesa OpenGL Utility library + + http://cgit.freedesktop.org/mesa/glu/ + +comment "libglu depends on mesa3d" + depends on !BR2_PACKAGE_MESA3D
package/libglu/libglu.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# libglu +# +################################################################################ + +LIBGLU_VERSION = 9.0.0 +LIBGLU_SITE = http://cgit.freedesktop.org/mesa/glu/snapshot +LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz +LIBGLU_LICENSE = SGI-B-2.0 +LIBGLU_LICENSE_FILES = include/GL/glu.h +LIBGLU_INSTALL_STAGING = YES +LIBGLU_AUTORECONF = YES +LIBGLU_DEPENDENCIES = mesa3d + +LIBGLU_CONF_OPT = --disable-osmesa + +$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
PATCH v5 6/8 libglu: new package
Dear Bernd Kuhls,
Quoted 12 lines · Bernd Kuhls
package/libglu/libglu.mk new file +6
-0@@ -0,0 +1,18 @@ +################################################################################ +# +# libglu +# +################################################################################ +
package/libglu/libglu.mk line 16
Quoted 10 lines
package/libglu/libglu.mk new file +10
-0+LIBGLU_VERSION = 9.0.0 +LIBGLU_SITE = http://cgit.freedesktop.org/mesa/glu/snapshot +LIBGLU_SOURCE = glu-$(LIBGLU_VERSION).tar.gz +LIBGLU_LICENSE = SGI-B-2.0 +LIBGLU_LICENSE_FILES = include/GL/glu.h +LIBGLU_INSTALL_STAGING = YES +LIBGLU_AUTORECONF = YES +LIBGLU_DEPENDENCIES = mesa3d + +LIBGLU_CONF_OPT = --disable-osmesa
Since you're passing --disable-osmesa, libGLU is using libGL. So what makes it depend on mesa3d specifically, and not any other OpenGL compatible implementation? Maybe it needs to use BR2_PACKAGE_HAS_OPENGL instead?
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 7/8 libglew: new package
In reply to Bernd Kuhls--- package/Config.in | 1 + package/libglew/Config.in | 19 ++++++++++++++ package/libglew/libglew-0001-lib64.patch | 14 +++++++++++ package/libglew/libglew.mk | 40 ++++++++++++++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 package/libglew/Config.in create mode 100644 package/libglew/libglew-0001-lib64.patch create mode 100644 package/libglew/libglew.mk
package/Config.in +1 -0
@@ -584,6 +584,7 @@ source "package/libexif/Config.in" source "package/libgail/Config.in" source "package/libgeotiff/Config.in" source "package/libglade/Config.in" +source "package/libglew/Config.in" source "package/libglu/Config.in" source "package/libgtk2/Config.in" source "package/libpng/Config.in"
package/libglew/Config.in new file +19 -0
@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBGLEW + bool "libglew" + depends on BR2_PACKAGE_XSERVER_XORG_SERVER + depends on BR2_PACKAGE_MESA3D_DRIVER + select BR2_PACKAGE_XLIB_LIBX11 + select BR2_PACKAGE_XLIB_LIBXEXT + select BR2_PACKAGE_XLIB_LIBXI + select BR2_PACKAGE_XLIB_LIBXMU + help + The OpenGL Extension Wrangler Library (GLEW) is a cross-platform C/C++ + extension loading library. GLEW provides efficient run-time mechanisms + for determining which OpenGL extensions are supported on the target + platform. OpenGL core and extension functionality is exposed in a + single header file. + + http://glew.sourceforge.net + +comment "libglew depends on X.org server and an activated mesa3d driver" + depends on !BR2_PACKAGE_XSERVER_XORG_SERVER || !BR2_PACKAGE_MESA3D_DRIVER
package/libglew/libglew-0001-lib64.patch new file +14 -0
@@ -0,0 +1,14 @@ +diff -uNr glew-1.10.0.org/config/Makefile.linux glew-1.10.0/config/Makefile.linux +--- glew-1.10.0.org/config/Makefile.linux 2013-07-22 16:11:22.000000000 +0200 ++++ glew-1.10.0/config/Makefile.linux 2014-03-30 22:01:04.403574030 +0200 +@@ -10,8 +10,8 @@ + ARCH64 = true + endif + ifeq (${ARCH64},true) +- LDFLAGS.EXTRA = -L/usr/X11R6/lib64 -L/usr/lib64 +- LIBDIR = $(GLEW_DEST)/lib64 ++ LDFLAGS.EXTRA = -L/usr/X11R6/lib -L/usr/lib ++ LIBDIR = $(GLEW_DEST)/lib + else + LDFLAGS.EXTRA = -L/usr/X11R6/lib -L/usr/lib + LIBDIR = $(GLEW_DEST)/lib
package/libglew/libglew.mk new file +40 -0
@@ -0,0 +1,40 @@ +################################################################################ +# +# libglew +# +################################################################################ + +LIBGLEW_VERSION = 1.10.0 +LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz +LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION) +LIBGLEW_LICENSE = MIT +LIBGLEW_INSTALL_STAGING = YES +LIBGLEW_DEPENDENCIES = \ + mesa3d \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXi \ + xlib_libXmu + +define LIBGLEW_BUILD_CMDS + $(TARGET_MAKE_ENV) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="/usr" CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)" LD="$(TARGET_CC)" \ + POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)" +endef + +define LIBGLEW_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="$(STAGING_DIR)/usr" install +endef + +define LIBGLEW_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="$(TARGET_DIR)/usr" install +endef + +$(eval $(generic-package))
Signature · 1 line
1.7.10.4
PATCH v5 7/8 libglew: new package
Dear Bernd Kuhls,
package/libglew/Config.in line 3
Quoted 9 lines · Bernd Kuhls
package/libglew/Config.in new file +3
-0@@ -0,0 +1,19 @@ +config BR2_PACKAGE_LIBGLEW + bool "libglew" + depends on BR2_PACKAGE_XSERVER_XORG_SERVER
A dependency on BR2_PACKAGE_XORG7 looks more appropriate. We technically speaking don't depend on the X.org server, only on the client libraries I believe.
package/libglew/Config.in line 4
Quoted 1 line
package/libglew/Config.in new file +1
-0+ depends on BR2_PACKAGE_MESA3D_DRIVER
Why is this needed, and not only BR2_PACKAGE_MESA3D ? Also, it seems like libglew only makes sense in a context where mesa3d has GLX support, no?
Do you plan to include packages that depend on libglew? What are those packages? I'm just trying to get the big picture, and see how libglew fits in it.
package/libglew/libglew-0001-lib64.patch
Quoted 5 lines
package/libglew/libglew-0001-lib64.patch new file +0
-0
All patches need a description + Signed-off-by, but...
package/libglew/libglew-0001-lib64.patch line 11
Quoted 12 lines
package/libglew/libglew-0001-lib64.patch new file +11
-0@@ -0,0 +1,14 @@ +diff -uNr glew-1.10.0.org/config/Makefile.linux glew-1.10.0/config/Makefile.linux +--- glew-1.10.0.org/config/Makefile.linux 2013-07-22 16:11:22.000000000 +0200 ++++ glew-1.10.0/config/Makefile.linux 2014-03-30 22:01:04.403574030 +0200 +@@ -10,8 +10,8 @@ + ARCH64 = true + endif + ifeq (${ARCH64},true) +- LDFLAGS.EXTRA = -L/usr/X11R6/lib64 -L/usr/lib64 +- LIBDIR = $(GLEW_DEST)/lib64 ++ LDFLAGS.EXTRA = -L/usr/X11R6/lib -L/usr/lib ++ LIBDIR = $(GLEW_DEST)/lib
Since you're overriding LDFLAGS.EXTRA from libglew.mk, why don't you do the same with LIBDIR ? It would avoid having to patch the package.
Quoted 9 lines
package/libglew/libglew-0001-lib64.patch new file +3
-0+ else + LDFLAGS.EXTRA = -L/usr/X11R6/lib -L/usr/lib + LIBDIR = $(GLEW_DEST)/libpackage/libglew/libglew.mk new file +0
-0
package/libglew/libglew.mk line 10
Quoted 10 lines
package/libglew/libglew.mk new file +10
-0@@ -0,0 +1,40 @@ +################################################################################ +# +# libglew +# +################################################################################ + +LIBGLEW_VERSION = 1.10.0 +LIBGLEW_SOURCE = glew-$(LIBGLEW_VERSION).tgz +LIBGLEW_SITE = http://sourceforge.net/projects/glew/files/glew/$(LIBGLEW_VERSION) +LIBGLEW_LICENSE = MIT
LIBGLEW_LICENSE_FILES = LICENSE.txt
package/libglew/libglew.mk line 23
Quoted 13 lines
package/libglew/libglew.mk new file +13
-0+LIBGLEW_INSTALL_STAGING = YES +LIBGLEW_DEPENDENCIES = \ + mesa3d \ + xlib_libX11 \ + xlib_libXext \ + xlib_libXi \ + xlib_libXmu + +define LIBGLEW_BUILD_CMDS + $(TARGET_MAKE_ENV) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="/usr" CC="$(TARGET_CC)" RANLIB="$(TARGET_RANLIB)" AR="$(TARGET_AR)" LD="$(TARGET_CC)" \ + POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)"
We usually intend with one more tab the next lines of a given command. Also, you should use $(TARGET_CONFIGURE_OPTS) here as well:
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ GLEW_DEST="/usr" $(TARGET_CONFIGURE_OPTS) \ POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)"
package/libglew/libglew.mk line 30
Quoted 7 lines
package/libglew/libglew.mk new file +7
-0+endef + +define LIBGLEW_INSTALL_STAGING_CMDS + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="$(STAGING_DIR)/usr" install
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ GLEW_DEST="$(STAGING_DIR)/usr" $(TARGET_CONFIGURE_OPTS) \ install
package/libglew/libglew.mk line 37
Quoted 7 lines
package/libglew/libglew.mk new file +7
-0+endef + +define LIBGLEW_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) \ + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) \ + GLEW_DEST="$(TARGET_DIR)/usr" install
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \ GLEW_DEST="$(TARGET_DIR)/usr" $(TARGET_CONFIGURE_OPTS) \ install
package/libglew/libglew.mk line 40
Quoted 3 lines
package/libglew/libglew.mk new file +3
-0+endef + +$(eval $(generic-package))
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
PATCH v5 7/8 libglew: new package
Thomas Petazzoni
<[email protected]> wrote
in news:20140417225250.15ff2dd1 at skate:
Quoted 3 lines
Do you plan to include packages that depend on libglew? What are those packages? I'm just trying to get the big picture, and see how libglew fits in it.
Hi,
xbmc gotham depends on libglew and libglu:
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L1068
Regards, Bernd
(who is working through mail backlog after holiday ;))
PATCH v5 8/8 sdl: Add new dependency libglu for opengl support
In reply to Bernd Kuhls--- package/sdl/sdl.mk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
package/sdl/sdl.mk +5 -1
@@ -62,9 +62,12 @@ SDL_DEPENDENCIES += alsa-lib endif ifeq ($(BR2_PACKAGE_MESA3D),y) -SDL_DEPENDENCIES += mesa3d +SDL_DEPENDENCIES += libglu mesa3d +SDL_CONF_OPT += --enable-video-opengl endif +SDL_DEPENDENCIES += $(if $(BR2_PACKAGE_LIBICONV),libiconv) + SDL_CONF_OPT += --enable-pulseaudio=no \ --disable-arts \ --disable-esd \
@@ -72,6 +75,7 @@ SDL_CONF_OPT += --enable-pulseaudio=no \ --disable-video-ps3 HOST_SDL_CONF_OPT += --enable-pulseaudio=no \ + --enable-video-x11=no \ --disable-arts \ --disable-esd \ --disable-nasm \
Signature · 1 line
1.7.10.4