Skip to contentSkip to conversation

package/xbmc: Add support for uClibc, libva and additional packages

PATCH New Bernd Kuhls 2 participants 29 messages Jul 15, 2014 – Jul 19, 2014

lore
Share & tools
lore
#0 lore raw

v14 cover package/xbmc: Add support for uClibc, libva and additional packages

The series is compiled-tested using

BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_XBMC_AVAHI=y
BR2_PACKAGE_XBMC_DBUS=y
BR2_PACKAGE_XBMC_LIBBLURAY=y
BR2_PACKAGE_XBMC_LIBMICROHTTPD=y
BR2_PACKAGE_XBMC_LIBNFS=y
BR2_PACKAGE_XBMC_RTMPDUMP=y
BR2_PACKAGE_XBMC_LIBSHAIRPLAY=y
BR2_PACKAGE_XBMC_LIBSMBCLIENT=y
BR2_PACKAGE_XBMC_LIBTHEORA=y
BR2_PACKAGE_XBMC_LIBUSB=y
BR2_PACKAGE_XBMC_WAVPACK=y
BR2_PACKAGE_XBMC_GOOM=y
BR2_PACKAGE_XBMC_ADDON_XVDR=y
BR2_PACKAGE_XBMC_PVR_ADDONS=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_DRI_DRIVER_I965=y
BR2_PACKAGE_XORG7=y

Regards, Bernd

v13: - rebased
- bump mesa3d version to 10.2.3
- bump libva-intel-driver to 1.3.2
v13: - rebased
- lots of patches removed after they were committed
v12: - rebased (no more RC versions ;))
- bump xbmc to 13.1
- github helper produces a wrong URL
(wrong: xbmc-13.1-Gotham.tar.gz, correct: 13.1-Gotham.tar.gz), so I had to switch to _SOURCE until a fix is found
- bump mesa3d version to 10.2.1
v11: - patch series updated by Yann
- series re-ordering
- add new required gconv-related patch
- some commit logs massaging
v10: - reworked patch series based on comments by Yann
- added comment to xproto_dri3proto
- removed emtpy line from libva
- added comment to libglu
- fix libpng support in xbmc?????????s rsxs screensaver
- bump mesa3d version to 10.2-rc4
v9: - reworked patch series based on comments by Yann & Arnout:
- moved some patches before xbmc version bump for bisectability
- removed iconv patch to SDL, to be checked later
- removed rtmpdump/KSV patch from series, to be checked later
- added description to mesa3d/xorg meta package dependency
- reworked OpenGL/egl+gles logic in package/xbmc/
- bump xbmc to 13.1 Beta2
- cec needs udev to be useful
v8: - squashed "[v7 29/31] ffmpeg cross-compile" into
"[v8 16/28] Gotham bump" (Thomas)
- squashed "[v7 21/31] uclibc at arm" & "[v7 31/31] ipv6" patches into "[v8 20/28] uclibc" patch (Thomas/Yann)
- xbmc-pvr-addons: updated comment (Yann)
v7: - rebased
- bump mesa3d version to 10.2-rc3
- included v2 of "xproto_dri3proto: New package"
v6: - bump mesa3d version to 10.2-rc2
- bump libva and libva-intel-driver to 1.3.1

Bernd Kuhls (20):
package/mesa3d: Bump to version 10.2.3 package/mesa3d: Depend on xorg meta package instead of
xserver_xorg-server
package/mesa3d: add dependency xproto_presentproto package/mesa3d: Remove dependency for the libxml2 module of
host-python
mesa3d: Add dri3 support
libva: new package
libva-intel-driver: new package
ffmpeg: Add libva support
libglu: new package
sdl: Add new dependency libglu for opengl support
libglew: new package
xdriver_xf86-video-intel: Bump version to 2.99.911
xbmc: Add missing egl-related cflags
xbmc: Allow compilation with uClibc
xbmc: Add alsa support
xbmc: Add lame support
xbmc: Fix TexturePacker compile
xbmc: Add X.org/OpenGL support
xbmc: Add option for Goom screensaver
xbmc: Add VA-API support

 package/Config.in                                  |    3 +-
 package/eudev/Config.in                            |   68 +++++---------
 package/eudev/eudev.mk                             |   56 ++----------
 package/libatasmart/Config.in                      |    5 +-
 package/libcec/libcec.mk                           |    4 +-
 package/libdrm/libdrm.mk                           |    4 +-
 package/libinput/Config.in                         |    5 +-
 package/libinput/libinput.mk                       |    2 +-
 package/libudev/Config.in                          |    6 --
 package/libudev/libudev.mk                         |    7 --
 package/libusb/libusb.mk                           |    5 +-
 package/mesa3d/Config.in                           |    6 +-
 package/mesa3d/mesa3d.mk                           |    4 +-
 package/systemd/Config.in                          |   55 +++++++-----
 package/systemd/systemd.mk                         |    2 +-
 package/transmission/transmission.mk               |    4 +-
 package/vlc/vlc.mk                                 |    4 +-
 package/weston/Config.in                           |    6 +-
 package/weston/weston.mk                           |    2 +-
 package/x11r7/xdriver_xf86-input-evdev/Config.in   |    5 +-
 .../xdriver_xf86-input-evdev.mk                    |    3 +-
 .../xserver_xorg-server/xserver_xorg-server.mk     |    4 +-
 package/xbmc/Config.in                             |    6 +-
 package/xbmc/xbmc.mk                               |    2 +-
 support/scripts/gen-manual-lists.py                |   95 ++++----------------
 system/Config.in                                   |   76 +++-------------
 26 files changed, 133 insertions(+), 306 deletions(-)
 delete mode 100644 package/libudev/Config.in
 delete mode 100644 package/libudev/libudev.mk
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v14 1/20 package/mesa3d: Bump to version 10.2.3

---
 package/mesa3d/mesa3d.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
package/mesa3d/mesa3d.mk +1 -1
index ca35eb9..49bc849 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-MESA3D_VERSION = 10.2.1
+MESA3D_VERSION = 10.2.3
 MESA3D_SOURCE = MesaLib-$(MESA3D_VERSION).tar.bz2
 MESA3D_SITE = ftp://ftp.freedesktop.org/pub/mesa/$(MESA3D_VERSION)
 MESA3D_LICENSE = MIT, SGI, Khronos
Signature · 1 line
1.7.10.4
#2 lore raw

PATCH v14 2/20 package/mesa3d: Depend on xorg meta package instead of xserver_xorg-server

In reply to Bernd Kuhls

mesa3d does not depend on the xorg server as such, only on X libraries.

---
 package/mesa3d/Config.in |   22 +++++++++++-----------
 package/mesa3d/mesa3d.mk |    4 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)
package/mesa3d/Config.in +11 -11
index 87fd846..87ff76d 100644
@@ -3,13 +3,13 @@ menuconfig BR2_PACKAGE_MESA3D
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_HOST_LIBXML2_PYTHON
-	select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XSERVER_XORG_SERVER
-	select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XSERVER_XORG_SERVER
+	select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
 	depends on BR2_PACKAGE_HAS_LIBUDEV
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_LARGEFILE
@@ -62,10 +62,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
 	  This is a software opengl implementation using the Gallium3D
 	  infrastructure.
 
-comment "DRI drivers needs an X.Org server and a toolchain w/ dynamic library"
-	depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XSERVER_XORG_SERVER
+comment "DRI drivers needs X.Org and a toolchain w/ dynamic library"
+	depends on BR2_PREFER_STATIC_LIB || !BR2_PACKAGE_XORG7
 
-if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER
+if !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7
 
 comment "DRI drivers"
 
@@ -92,7 +92,7 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
 	help
 	  Legacy Radeon driver for R100 series GPUs.
 
-endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XSERVER_XORG_SERVER
+endif # !BR2_PREFER_STATIC_LIB && BR2_PACKAGE_XORG7
 
 if BR2_PACKAGE_MESA3D_DRIVER
 
package/mesa3d/mesa3d.mk +2 -2
index 49bc849..d35a124 100644
@@ -25,7 +25,7 @@ MESA3D_DEPENDENCIES = \
 	host-xutil_makedepend \
 	libdrm
 
-ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
 MESA3D_DEPENDENCIES += \
 	xproto_xf86driproto \
 	xproto_dri2proto \
@@ -100,7 +100,7 @@ ifeq ($(BR2_PACKAGE_WAYLAND),y)
 MESA3D_DEPENDENCIES += wayland
 MESA3D_EGL_PLATFORMS += wayland
 endif
-ifeq ($(BR2_PACKAGE_XSERVER_XORG_SERVER),y)
+ifeq ($(BR2_PACKAGE_XORG7),y)
 MESA3D_EGL_PLATFORMS += x11
 endif
 MESA3D_CONF_OPT += \
Signature · 1 line
1.7.10.4
#3 lore raw

PATCH v14 2/20 package/mesa3d: Depend on xorg meta package instead of xserver_xorg-server

Dear Bernd Kuhls,

Quoted 7 lines · Bernd Kuhls

mesa3d does not depend on the xorg server as such, only on X libraries.

---
 package/mesa3d/Config.in |   22 +++++++++++-----------
 package/mesa3d/mesa3d.mk |    4 ++--
 2 files changed, 13 insertions(+), 13 deletions(-)

This patch does not apply on the current Buildroot, git complains that there are some missing blobs. It generally indicates that your branch wasn't based on master, but on master + several commits that are not part of this patch series. Could you check this?

Thanks,

Thomas

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

PATCH v14 3/20 package/mesa3d: add dependency xproto_presentproto

In reply to Bernd Kuhls
---
 package/mesa3d/Config.in |    1 +
 package/mesa3d/mesa3d.mk |    1 +
 2 files changed, 2 insertions(+)
package/mesa3d/Config.in +1 -0
index 87ff76d..813e120 100644
@@ -4,6 +4,7 @@ menuconfig BR2_PACKAGE_MESA3D
 	select BR2_PACKAGE_EXPAT
 	select BR2_PACKAGE_HOST_LIBXML2_PYTHON
 	select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
package/mesa3d/mesa3d.mk +1 -0
index d35a124..f6bc5a9 100644
@@ -30,6 +30,7 @@ MESA3D_DEPENDENCIES += \
 	xproto_xf86driproto \
 	xproto_dri2proto \
 	xproto_glproto \
+	xproto_presentproto \
 	xlib_libX11 \
 	xlib_libXext \
 	xlib_libXdamage \
Signature · 1 line
1.7.10.4
#5 lore raw

PATCH v14 3/20 package/mesa3d: add dependency xproto_presentproto

Dear Bernd Kuhls,

Quoted 6 lines · Bernd Kuhls
---
 package/mesa3d/Config.in |    1 +
 package/mesa3d/mesa3d.mk |    1 +
 2 files changed, 2 insertions(+)

Please add a justification about this change in the commit log. Is it needed following the mesa3d bump? In this case, it should be part of the patch bumping mesa3d.

Bernd, a good rule of thumb is *all* patches should have a commit log. So whenever you're about to send a series, please review the commit log of your patches, and make sure all of them have a non-empty commit log.

Thanks!

Thomas

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

PATCH v14 4/20 package/mesa3d: Remove dependency for the libxml2 module of host-python

In reply to Bernd Kuhls

Remove the ugly BR2_PACKAGE_HOST_LIBXML2_PYTHON hack as well as mesa3d was the only package needing it, this is not the case anymore since:

http://cgit.freedesktop.org/mesa/mesa/commit/configure.ac?id=2de70fe23f320ce4f559e37057fe07b7af99cf5a

---
 package/libxml2/Config.in             |    3 ---
 package/libxml2/libxml2-python2.patch |   27 ---------------------------
 package/libxml2/libxml2.mk            |   16 +---------------
 package/mesa3d/Config.in              |    1 -
 package/mesa3d/mesa3d.mk              |    1 -
 5 files changed, 1 insertion(+), 47 deletions(-)
 delete mode 100644 package/libxml2/libxml2-python2.patch
package/libxml2/Config.in +0 -3
index 85694f9..ebd63fe 100644
@@ -4,6 +4,3 @@ config BR2_PACKAGE_LIBXML2
 	  XML C Parser
 
 	  http://xmlsoft.org/
-
-config BR2_PACKAGE_HOST_LIBXML2_PYTHON
-	bool
package/libxml2/libxml2-python2.patch deleted +0 -27
deleted file mode 100644
index 19195a6..0000000
@@ -1,27 +0,0 @@
-Prefer python2 binary in case python points to python3
-
-Signed-off-by: Bernd Kuhls <[email protected]>
-
-diff -uNr libxml2-2.9.1.org/configure.in libxml2-2.9.1/configure.in
---- libxml2-2.9.1.org/configure.in	2013-04-19 09:25:20.000000000 +0200
-+++ libxml2-2.9.1/configure.in	2014-04-12 14:16:26.579361068 +0200
-@@ -748,6 +748,11 @@
- PYTHON_TESTS=
- pythondir=
- if test "$with_python" != "no" ; then
-+    if test -x "$with_python/bin/python2"
-+    then
-+        echo Found python2 in $with_python/bin/python2
-+        PYTHON="$with_python/bin/python2"
-+    else
-     if test -x "$with_python/bin/python"
-     then
-         echo Found python in $with_python/bin/python
-@@ -773,6 +778,7 @@
- 	    fi
- 	fi
-     fi
-+    fi
-     if test "$PYTHON" != ""
-     then
-         PYTHON_VERSION=`$PYTHON -c "from distutils import sysconfig; print(sysconfig.get_python_version())"`
package/libxml2/libxml2.mk +1 -15
index 62f3e27..9bf4c28 100644
@@ -20,21 +20,7 @@ LIBXML2_CONF_OPT = --with-gnu-ld --without-python --without-debug --without-lzma
 
 HOST_LIBXML2_DEPENDENCIES = host-pkgconf
 
-HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma
-
-# mesa3d uses functions that are only available with debug
-ifeq ($(BR2_PACKAGE_MESA3D),y)
-HOST_LIBXML2_CONF_OPT += --with-debug
-else
-HOST_LIBXML2_CONF_OPT += --without-debug
-endif
-
-ifeq ($(BR2_PACKAGE_HOST_LIBXML2_PYTHON),y)
-HOST_LIBXML2_DEPENDENCIES += host-python
-HOST_LIBXML2_CONF_OPT += --with-python=$(HOST_DIR)/usr
-else
-HOST_LIBXML2_CONF_OPT += --without-python
-endif
+HOST_LIBXML2_CONF_OPT = --without-zlib --without-lzma --without-python
 
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 LIBXML2_DEPENDENCIES += zlib
package/mesa3d/Config.in +0 -1
index 813e120..bc6a1e6 100644
@@ -2,7 +2,6 @@ menuconfig BR2_PACKAGE_MESA3D
 	bool "mesa3d"
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_EXPAT
-	select BR2_PACKAGE_HOST_LIBXML2_PYTHON
 	select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XORG7
 	select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
package/mesa3d/mesa3d.mk +0 -1
index f6bc5a9..6282503 100644
@@ -20,7 +20,6 @@ MESA3D_DEPENDENCIES = \
 	host-bison \
 	host-flex \
 	host-gettext \
-	host-libxml2 \
 	host-python \
 	host-xutil_makedepend \
 	libdrm
Signature · 1 line
1.7.10.4
#7 lore raw

PATCH v14 5/20 mesa3d: Add dri3 support

In reply to Bernd Kuhls
---
 package/mesa3d/mesa3d.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/mesa3d/mesa3d.mk +7 -0
index 6282503..9fdb7bc 100644
@@ -24,6 +24,13 @@ MESA3D_DEPENDENCIES = \
 	host-xutil_makedepend \
 	libdrm
 
+ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
+MESA3D_DEPENDENCIES += xproto_dri3proto
+MESA3D_CONF_OPT += --enable-dri3
+else
+MESA3D_CONF_OPT += --disable-dri3
+endif
+
 ifeq ($(BR2_PACKAGE_XORG7),y)
 MESA3D_DEPENDENCIES += \
 	xproto_xf86driproto \
Signature · 1 line
1.7.10.4
#8 lore raw

PATCH v14 5/20 mesa3d: Add dri3 support

Dear Bernd Kuhls,

Quoted 10 lines · Bernd Kuhls
---
 package/mesa3d/mesa3d.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/mesa3d/mesa3d.mk +0 -0
index 6282503..9fdb7bc 100644

package/mesa3d/mesa3d.mk MESA3D_DEPENDENCIES = \ · line 32

Quoted 9 lines
package/mesa3d/mesa3d.mk +6 -0
@@ -24,6 +24,13 @@ MESA3D_DEPENDENCIES = \
 	host-xutil_makedepend \
 	libdrm
 
+ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
+MESA3D_DEPENDENCIES += xproto_dri3proto
+MESA3D_CONF_OPT += --enable-dri3
+else
+MESA3D_CONF_OPT += --disable-dri3
+endif

Why is this outside of the X.org condition? I believe DRI 3 support only makes sense when DRI is enabled, so I believe your condition here is misplaced.

Moreover, this fix is needed even for the current Mesa3D version, I've run into the following build issue:

======================================================================
configure: error: Package requirements (dri3proto >= 1.0) were not met:

Package dri3proto was not found in the pkg-config search path. Perhaps you should add the directory containing `dri3proto.pc' to the PKG_CONFIG_PATH environment variable
No package 'dri3proto' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.

Alternatively, you may set the environment variables DRI3PROTO_CFLAGS and DRI3PROTO_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make[1]: *** [/home/test/outputs/va-x86/build/mesa3d-10.2.1/.stamp_configured] Error 1
======================================================================

Could you send an updated patch series that has just the mesa3d updates, the libglu, libglew, sdl and intel driver update (i.e not with the XBMC patches) ? And in this series, please make sure each patch has a commit log, that the reason for the changes are properly explained, and that the changes are ordered properly.

Thanks!

Thomas

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

PATCH v14 6/20 libva: new package

In reply to Bernd Kuhls
---
 package/Config.in                             |    1 +
 package/libva/Config.in                       |   18 ++++++++
 package/libva/libva-0001-no_test_decode.patch |   17 ++++++++
 package/libva/libva.mk                        |   56 +++++++++++++++++++++++++
 4 files changed, 92 insertions(+)
 create mode 100644 package/libva/Config.in
 create mode 100644 package/libva/libva-0001-no_test_decode.patch
 create mode 100644 package/libva/libva.mk
package/Config.in +1 -0
index c1abf8d..f6a1c10 100644
@@ -617,6 +617,7 @@ menu "Graphics"
 	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 +18 -0
new file mode 100644
index 0000000..9d63b52
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_LIBVA
+	bool "libva"
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs
+	depends on BR2_LARGEFILE # libdrm
+	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/
+
+comment "libva needs a toolchain w/ largefile, threads"
+	depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
package/libva/libva-0001-no_test_decode.patch new file +17 -0
new file mode 100644
index 0000000..0f0d786
@@ -0,0 +1,17 @@
+mpeg2vldemo is the only file requiring cxx support. It is not needed for
+buildroot, so disable its compilation to avoid depending on cxx.
+
+Signed-off-by: Bernd Kuhls <[email protected]>
+
+diff -uNr libva-1.3.0.org/test/Makefile.am libva-1.3.0/test/Makefile.am
+--- libva-1.3.0.org/test/Makefile.am	2014-03-24 05:49:46.000000000 +0100
++++ libva-1.3.0/test/Makefile.am	2014-04-26 18:12:25.644390292 +0200
+@@ -20,7 +20,7 @@
+ # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+-SUBDIRS = common decode encode vainfo
++SUBDIRS = common encode vainfo
+ 
+ if USE_X11
+ SUBDIRS += basic putsurface
package/libva/libva.mk new file +56 -0

56 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#10 lore raw

PATCH v14 6/20 libva: new package

Dear Bernd Kuhls,

Quoted 10 lines · Bernd Kuhls
---
 package/Config.in                             |    1 +
 package/libva/Config.in                       |   18 ++++++++
 package/libva/libva-0001-no_test_decode.patch |   17 ++++++++
 package/libva/libva.mk                        |   56 +++++++++++++++++++++++++
 4 files changed, 92 insertions(+)
 create mode 100644 package/libva/Config.in
 create mode 100644 package/libva/libva-0001-no_test_decode.patch
 create mode 100644 package/libva/libva.mk

Applied, thanks.

Thomas

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

PATCH v14 7/20 libva-intel-driver: new package

In reply to Bernd Kuhls
---
 package/Config.in                                |    1 +
 package/libva-intel-driver/Config.in             |   19 ++++++++++++++
 package/libva-intel-driver/libva-intel-driver.mk |   29 ++++++++++++++++++++++
 3 files changed, 49 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
index f6a1c10..30b8ded 100644
@@ -618,6 +618,7 @@ menu "Graphics"
 	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 +19 -0
new file mode 100644
index 0000000..89a3264
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_LIBVA_INTEL_DRIVER
+	bool "libva-intel-driver"
+	select BR2_PACKAGE_LIBVA
+	select BR2_PACKAGE_LIBDRM
+	select BR2_PACKAGE_LIBDRM_INTEL
+	select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
+	depends on BR2_i386 || BR2_x86_64
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libdrm/libpthread-stubs
+	depends on BR2_LARGEFILE # libdrm
+	help
+	  VA-API back-end driver for Intel graphics chips
+
+	  https://01.org/linuxgraphics/community/vaapi
+
+comment "libva intel driver needs a toolchain w/ largefile, threads"
+	depends on !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_i386 || BR2_x86_64
package/libva-intel-driver/libva-intel-driver.mk new file +29 -0
new file mode 100644
index 0000000..48b8559
@@ -0,0 +1,29 @@
+################################################################################
+#
+# libva-intel-driver
+#
+################################################################################
+
+LIBVA_INTEL_DRIVER_VERSION = 1.3.2
+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
+LIBVA_INTEL_DRIVER_AUTORECONF = YES
+LIBVA_INTEL_DRIVER_DEPENDENCIES = host-pkgconf libdrm libva
+
+ifeq ($(BR2_PACKAGE_XORG7),y)
+LIBVA_INTEL_DRIVER_DEPENDENCIES += xlib_libX11 xlib_libXext xlib_libXfixes
+LIBVA_INTEL_DRIVER_CONF_OPT += --enable-x11
+else
+LIBVA_INTEL_DRIVER_CONF_OPT += --disable-x11
+endif
+
+ifeq ($(BR2_PACKAGE_WAYLAND),y)
+LIBVA_DEPENDENCIES += wayland
+LIBVA_INTEL_DRIVER_CONF_OPT += --enable-wayland
+else
+LIBVA_INTEL_DRIVER_CONF_OPT += --disable-wayland
+endif
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#12 lore raw

PATCH v14 7/20 libva-intel-driver: new package

Dear Bernd Kuhls,

Quoted 8 lines · Bernd Kuhls
---
 package/Config.in                                |    1 +
 package/libva-intel-driver/Config.in             |   19 ++++++++++++++
 package/libva-intel-driver/libva-intel-driver.mk |   29 ++++++++++++++++++++++
 3 files changed, 49 insertions(+)
 create mode 100644 package/libva-intel-driver/Config.in
 create mode 100644 package/libva-intel-driver/libva-intel-driver.mk

Applied, thanks.

Thomas

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

PATCH v14 7/20 libva-intel-driver: new package

In reply to Bernd Kuhls

Dear Bernd Kuhls,

Quoted 8 lines · Bernd Kuhls
---
 package/Config.in                                |    1 +
 package/libva-intel-driver/Config.in             |   19 ++++++++++++++
 package/libva-intel-driver/libva-intel-driver.mk |   29 ++++++++++++++++++++++
 3 files changed, 49 insertions(+)
 create mode 100644 package/libva-intel-driver/Config.in
 create mode 100644 package/libva-intel-driver/libva-intel-driver.mk

This package has been added, but is causing build failures in certain conditions, see:

http://autobuild.buildroot.org/results/896/896010d8a9ef978386ea1af8e21f5999a735997d/build-end.log

The error is:

In file included from i965_drv_video.c:37:0:
i965_output_wayland.h:31:26: error: unknown type name 'VADriverContextP' i965_output_wayland.h:34:31: error: unknown type name 'VADriverContextP'
CC i965_drv_video_la-i965_encoder.lo
i965_drv_video.c:5243:9: error: 'i965_output_wayland_init' undeclared here (not in a function) i965_drv_video.c:5244:9: error: 'i965_output_wayland_terminate' undeclared here (not in a function) make[4]: *** [i965_drv_video_la-i965_drv_video.lo] Error 1
make[4]: *** Waiting for unfinished jobs....

Could you have a look?

Thanks,

Thomas

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

PATCH v14 8/20 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
index 478c66a..2b73fbc 100644
@@ -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
#15 lore raw

PATCH v14 8/20 ffmpeg: Add libva support

Dear Bernd Kuhls,

Quoted 4 lines · Bernd Kuhls
---
 package/ffmpeg/ffmpeg.mk |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

Applied, thanks.

Thomas

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

PATCH v14 9/20 libglu: new package

In reply to Bernd Kuhls
---
 package/Config.in        |    1 +
 package/libglu/Config.in |   10 ++++++++++
 package/libglu/libglu.mk |   17 +++++++++++++++++
 3 files changed, 28 insertions(+)
 create mode 100644 package/libglu/Config.in
 create mode 100644 package/libglu/libglu.mk
package/Config.in +1 -0
index 30b8ded..e139dcf 100644
@@ -608,6 +608,7 @@ menu "Graphics"
 	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
new file mode 100644
index 0000000..de8e1ef
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_LIBGLU
+	bool "libglu"
+	depends on BR2_PACKAGE_HAS_LIBGL
+	help
+	  Mesa OpenGL Utility library
+
+	  http://cgit.freedesktop.org/mesa/glu/
+
+comment "libglu needs an OpenGL backend"
+	depends on !BR2_PACKAGE_HAS_LIBGL
package/libglu/libglu.mk new file +17 -0
new file mode 100644
index 0000000..038d281
@@ -0,0 +1,17 @@
+################################################################################
+#
+# 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
+# upstream does not distribute a autoconf?ed configure script
+LIBGLU_AUTORECONF = YES
+LIBGLU_DEPENDENCIES = libgl
+
+$(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#17 lore raw

PATCH v14 10/20 sdl: Add new dependency libglu for opengl support

In reply to Bernd Kuhls
---
 package/sdl/sdl.mk |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
package/sdl/sdl.mk +2 -1
index 8d0e5bd..8adc66b 100644
@@ -62,7 +62,8 @@ 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_CONF_OPT += --enable-pulseaudio=no \
Signature · 1 line
1.7.10.4
#18 lore raw

PATCH v14 11/20 libglew: new package

In reply to Bernd Kuhls
---
 package/Config.in          |    1 +
 package/libglew/Config.in  |   19 +++++++++++++++++++
 package/libglew/libglew.mk |   36 ++++++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)
 create mode 100644 package/libglew/Config.in
 create mode 100644 package/libglew/libglew.mk
package/Config.in +1 -0
index e139dcf..028d040 100644
@@ -608,6 +608,7 @@ menu "Graphics"
 	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
new file mode 100644
index 0000000..67c49d4
@@ -0,0 +1,19 @@
+config BR2_PACKAGE_LIBGLEW
+	bool "libglew"
+	depends on BR2_PACKAGE_XORG7
+	depends on BR2_PACKAGE_HAS_LIBGL
+	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 and needs an OpenGL backend"
+	depends on !BR2_PACKAGE_XORG7 || !BR2_PACKAGE_HAS_LIBGL
package/libglew/libglew.mk new file +36 -0
new file mode 100644
index 0000000..48ecf97
@@ -0,0 +1,36 @@
+################################################################################
+#
+# 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
+LIBGLEW_INSTALL_STAGING = YES
+LIBGLEW_DEPENDENCIES = libgl xlib_libX11 xlib_libXext xlib_libXi xlib_libXmu
+
+# using $TARGET_CONFIGURE_OPTS breaks compilation
+define LIBGLEW_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		GLEW_DEST="/usr" LIBDIR="/usr/lib" \
+		AR="$(TARGET_AR)" CC="$(TARGET_CC)" \
+		LD="$(TARGET_CC)" STRIP="$(TARGET_STRIP)" \
+		POPT="$(TARGET_CFLAGS)" LDFLAGS.EXTRA="$(TARGET_LDFLAGS)"
+endef
+
+define LIBGLEW_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		GLEW_DEST="$(STAGING_DIR)/usr" LIBDIR="$(STAGING_DIR)/usr/lib" \
+		$(TARGET_CONFIGURE_OPTS) install
+endef
+
+define LIBGLEW_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		GLEW_DEST="$(TARGET_DIR)/usr" LIBDIR="$(TARGET_DIR)/usr/lib" \
+		$(TARGET_CONFIGURE_OPTS) install
+endef
+
+$(eval $(generic-package))
Signature · 1 line
1.7.10.4
#19 lore raw

PATCH v14 12/20 xdriver_xf86-video-intel: Bump version to 2.99.911

In reply to Bernd Kuhls

- add necessary dependencies
- add -D_GNU_SOURCE to avoid getline compilation error

---
 package/x11r7/xdriver_xf86-video-intel/Config.in   |    5 ++--
 .../xdriver_xf86-video-intel.mk                    |   27 +++++++++++++++-----
 2 files changed, 24 insertions(+), 8 deletions(-)
package/x11r7/xdriver_xf86-video-intel/Config.in +3 -2
index 69a9e78..bba7cd1 100644
@@ -3,12 +3,13 @@ config BR2_PACKAGE_XDRIVER_XF86_VIDEO_INTEL
 	depends on (BR2_i386 || BR2_x86_64)
 	depends on BR2_PACKAGE_MESA3D
 	select BR2_PACKAGE_XPROTO_FONTSPROTO
-	select BR2_PACKAGE_XPROTO_RANDRPROTO
-	select BR2_PACKAGE_XPROTO_RENDERPROTO
 	select BR2_PACKAGE_XPROTO_XPROTO
 	select BR2_PACKAGE_XLIB_LIBPCIACCESS
 	select BR2_PACKAGE_LIBDRM
 	select BR2_PACKAGE_LIBDRM_INTEL
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE
+	select BR2_PACKAGE_XLIB_LIBXRANDR
+	select BR2_PACKAGE_XLIB_LIBXTST
 	help
 	  Intel video driver
 
package/x11r7/xdriver_xf86-video-intel/xdriver_xf86-video-intel.mk +21 -6
index 332de54..52b493f 100644
@@ -4,18 +4,18 @@
 #
 ################################################################################
 
-XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.907
+XDRIVER_XF86_VIDEO_INTEL_VERSION = 2.99.911
 XDRIVER_XF86_VIDEO_INTEL_SOURCE = xf86-video-intel-$(XDRIVER_XF86_VIDEO_INTEL_VERSION).tar.bz2
 XDRIVER_XF86_VIDEO_INTEL_SITE = http://xorg.freedesktop.org/releases/individual/driver
 XDRIVER_XF86_VIDEO_INTEL_LICENSE = MIT
 XDRIVER_XF86_VIDEO_INTEL_LICENSE_FILES = COPYING
-XDRIVER_XF86_VIDEO_INTEL_AUTORECONF = YES
+
+# this fixes a getline-related compilation in src/sna/kgem.c
+XDRIVER_XF86_VIDEO_INTEL_CONF_ENV = \
+	CFLAGS="$(TARGET_CFLAGS) -D_GNU_SOURCE"
 
 XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \
-	--enable-dri \
-	--enable-kms-only \
 	--disable-xvmc \
-	--disable-ums-only \
 	--enable-sna \
 	--disable-uxa \
 	--disable-glamor \
@@ -23,6 +23,21 @@ XDRIVER_XF86_VIDEO_INTEL_CONF_OPT = \
 	--disable-dga \
 	--disable-async-swap
 
-XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = xserver_xorg-server xproto_fontsproto xproto_randrproto xproto_renderproto xproto_xproto libdrm xlib_libpciaccess
+XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES = \
+	libdrm \
+	xlib_libXcomposite \
+	xlib_libXrandr \
+	xlib_libXtst \
+	xlib_libpciaccess \
+	xproto_fontsproto \
+	xproto_xproto \
+	xserver_xorg-server
+
+ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER_I965),y)
+XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --enable-dri
+XDRIVER_XF86_VIDEO_INTEL_DEPENDENCIES += mesa3d xproto_xf86driproto
+else
+XDRIVER_XF86_VIDEO_INTEL_CONF_OPT += --disable-dri
+endif
 
 $(eval $(autotools-package))
Signature · 1 line
1.7.10.4
#20 lore raw

PATCH v14 13/20 xbmc: Add missing egl-related cflags

In reply to Bernd Kuhls

A similar patch is used in package/qt/qt.mk.

Fixes compilation error:

In file included from /home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/egl.h:36:0,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/egl/WinSystemEGL.h:28,
from /home/br/br/output/build/xbmc-13.0-Gotham/xbmc/windowing/WindowingFactory.h:39,
from DVDPlayerVideo.cpp:23:
/home/br/br/output/host/usr/x86_64-buildroot-linux-gnu/sysroot/usr/include/EGL/eglplatform.h:118:22: fatal error: X11/Xlib.h: No such file or directory

using this defconfig

BR2_x86_64=y
BR2_x86_corei7=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
BR2_PACKAGE_XBMC=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_MESA3D_OPENGL_ES=y

---
 package/xbmc/xbmc.mk |    4 ++++
 1 file changed, 4 insertions(+)
package/xbmc/xbmc.mk +4 -0
index 45be990..f67f8e4 100644
@@ -73,6 +73,10 @@ ifeq ($(BR2_PACKAGE_DBUS),y)
 XBMC_DEPENDENCIES += dbus
 endif
 
+XBMC_CONF_ENV += \
+	CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
+	CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
+
 ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
 XBMC_DEPENDENCIES += libusb-compat
 XBMC_CONF_OPT += --enable-libusb
Signature · 1 line
1.7.10.4
#21 lore raw

PATCH v14 14/20 xbmc: Allow compilation with uClibc

In reply to Bernd Kuhls

- Add dependencies needed by xbmc on BR2_LARGEFILE, BR2_INET_IPV6 & BR2_USE_WCHAR after the removal of BR2_TOOLCHAIN_USES_GLIBC
- Add xbmc-0002-mathutil.patch to fix ARM compilation

---
 package/xbmc/Config.in                |   15 ++-
 package/xbmc/xbmc-0002-mathutil.patch |  213 +++++++++++++++++++++++++++++++++
 2 files changed, 222 insertions(+), 6 deletions(-)
 create mode 100644 package/xbmc/xbmc-0002-mathutil.patch
package/xbmc/Config.in +9 -6
index db888ac..19d3043 100644
@@ -1,11 +1,10 @@
-comment "xbmc needs an (e)glibc toolchain w/ C++, threads"
-	depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
+comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
+	depends on BR2_arm || BR2_i386 || BR2_x86_64
+	depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
 
 comment "xbmc requires an OpenGL ES and EGL backend"
+	depends on BR2_arm || BR2_i386 || BR2_x86_64
 	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
-	depends on BR2_TOOLCHAIN_USES_GLIBC
-	depends on BR2_INSTALL_LIBSTDCPP
-	depends on BR2_TOOLCHAIN_HAS_THREADS
 
 menuconfig BR2_PACKAGE_XBMC
 	bool "xbmc"
@@ -58,10 +57,14 @@ menuconfig BR2_PACKAGE_XBMC
 	select BR2_PACKAGE_TINYXML
 	select BR2_PACKAGE_YAJL
 	select BR2_PACKAGE_ZLIB
-	depends on BR2_TOOLCHAIN_USES_GLIBC
+	depends on BR2_INET_IPV6
 	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_LARGEFILE
 	depends on BR2_TOOLCHAIN_HAS_THREADS
 	depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES
+	depends on BR2_USE_MMU # python
+	depends on BR2_USE_WCHAR
+	depends on BR2_arm || BR2_i386 || BR2_x86_64
 	help
 	  XBMC is an award-winning free and open source (GPL) software
 	  media player and entertainment hub for digital media.
package/xbmc/xbmc-0002-mathutil.patch new file +213 -0

213 lines not on this page · raw message

Signature · 1 line
1.7.10.4
#23 lore raw

PATCH v14 15/20 xbmc: Add alsa support

In reply to Bernd Kuhls
---
 package/xbmc/xbmc.mk |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)
package/xbmc/xbmc.mk +7 -1
index f67f8e4..0c45d7d 100644
@@ -39,7 +39,6 @@ XBMC_CONF_ENV = \
 
 XBMC_CONF_OPT +=  \
 	--with-arch=$(BR2_ARCH) \
-	--disable-alsa \
 	--disable-crystalhd \
 	--disable-debug \
 	--disable-dvdcss \
@@ -73,6 +72,13 @@ ifeq ($(BR2_PACKAGE_DBUS),y)
 XBMC_DEPENDENCIES += dbus
 endif
 
+ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
+XBMC_DEPENDENCIES += alsa-lib
+XBMC_CONF_OPT += --enable-alsa
+else
+XBMC_CONF_OPT += --disable-alsa
+endif
+
 XBMC_CONF_ENV += \
 	CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
 	CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
Signature · 1 line
1.7.10.4
#24 lore raw

PATCH v14 16/20 xbmc: Add lame support

In reply to Bernd Kuhls
---
 package/xbmc/xbmc.mk |    7 +++++++
 1 file changed, 7 insertions(+)
package/xbmc/xbmc.mk +7 -0
index 0c45d7d..e7c9381 100644
@@ -79,6 +79,13 @@ else
 XBMC_CONF_OPT += --disable-alsa
 endif
 
+ifeq ($(BR2_PACKAGE_LAME),y)
+XBMC_DEPENDENCIES += lame
+XBMC_CONF_OPT += --enable-libmp3lame
+else
+XBMC_CONF_OPT += --disable-libmp3lame
+endif
+
 XBMC_CONF_ENV += \
 	CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
 	CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
Signature · 1 line
1.7.10.4
#25 lore raw

PATCH v14 17/20 xbmc: Fix TexturePacker compile

In reply to Bernd Kuhls

Patch description:

use_texturepacker_native=yes

is needed because we obviously need a native-compiled binary, but the xbmc build system does enable this variable only for darwin, android and raspberry-pi targets.

USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"

is also needed because USE_TEXTUREPACKER_NATIVE_ROOT="$TEXTUREPACKER_NATIVE_ROOT"
is only executed for raspberry-pi by xbmc/configure and only USE_TEXTUREPACKER_NATIVE_ROOT is used by tools/TexturePacker/Makefile.in.

To sum up, building for raspberry-pi and other archs works out-of-the-box, compiling for an Intel target, for example, fails:

In file included from SDL_anigif.cpp:23:0:
SDL_anigif.h:24:21: fatal error: SDL/SDL.h: No such file or directory compilation terminated.
XBMCTex.cpp:34:21: fatal error: SDL/SDL.h: No such file or directory

---
 package/xbmc/xbmc.mk |    2 ++
 1 file changed, 2 insertions(+)
package/xbmc/xbmc.mk +2 -0
index e7c9381..6973bf3 100644
@@ -35,6 +35,8 @@ XBMC_CONF_ENV = \
 	PYTHON_CPPFLAGS="-I$(STAGING_DIR)/usr/include/python$(PYTHON_VERSION_MAJOR)" \
 	PYTHON_SITE_PKG="$(STAGING_DIR)/usr/lib/python$(PYTHON_VERSION_MAJOR)/site-packages" \
 	PYTHON_NOVERSIONCHECK="no-check" \
+	use_texturepacker_native=yes \
+	USE_TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr" \
 	TEXTUREPACKER_NATIVE_ROOT="$(HOST_DIR)/usr"
 
 XBMC_CONF_OPT +=  \
Signature · 1 line
1.7.10.4
#26 lore raw

PATCH v14 18/20 xbmc: Add X.org/OpenGL support

In reply to Bernd Kuhls

- on ARM xbmc only supports EGL/GLES
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L695
- rsxs depends on OpenGL
https://github.com/xbmc/xbmc/blob/Gotham/configure.in#L1469
so include a compile fix, courtesy of
https://github.com/OpenELEC/OpenELEC.tv/blob/master/packages/mediacenter/xbmc/package.mk#L109

---
 package/xbmc/Config.in |   31 ++++++++++++++++++++++++++++---
 package/xbmc/xbmc.mk   |   32 ++++++++++++++++++++++++++------
 2 files changed, 54 insertions(+), 9 deletions(-)
package/xbmc/Config.in +28 -3
index 19d3043..991695f 100644
@@ -2,9 +2,26 @@ comment "xbmc needs a toolchain w/ C++, IPv6, largefile, threads, wchar"
 	depends on BR2_arm || BR2_i386 || BR2_x86_64
 	depends on !BR2_INET_IPV6 || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR
 
+config BR2_PACKAGE_XBMC_EGL_GLES
+	bool
+	default y
+	depends on BR2_PACKAGE_HAS_LIBEGL
+	depends on BR2_PACKAGE_HAS_LIBGLES
+	depends on !BR2_PACKAGE_XBMC_GL # prefer GL if available
+
+config BR2_PACKAGE_XBMC_GL
+	bool
+	default y
+	depends on BR2_PACKAGE_HAS_LIBGL
+	depends on !BR2_arm # xbmc needs egl/gles on arm
+
+comment "xbmc needs an OpenGL or an openGL ES and EGL backend"
+	depends on BR2_i386 || BR2_x86_64
+	depends on !BR2_PACKAGE_XBMC_GL && !BR2_PACKAGE_XBMC_EGL_GLES
+
 comment "xbmc requires an OpenGL ES and EGL backend"
-	depends on BR2_arm || BR2_i386 || BR2_x86_64
-	depends on !BR2_PACKAGE_HAS_LIBEGL || !BR2_PACKAGE_HAS_LIBGLES
+	depends on BR2_arm
+	depends on !BR2_PACKAGE_XBMC_EGL_GLES
 
 menuconfig BR2_PACKAGE_XBMC
 	bool "xbmc"
@@ -22,6 +39,8 @@ menuconfig BR2_PACKAGE_XBMC
 	select BR2_PACKAGE_LIBCDIO
 	select BR2_PACKAGE_LIBCURL
 	select BR2_PACKAGE_LIBFRIBIDI
+	select BR2_PACKAGE_LIBGLEW if BR2_PACKAGE_XBMC_GL
+	select BR2_PACKAGE_LIBGLU if BR2_PACKAGE_XBMC_GL
 	select BR2_PACKAGE_LIBGCRYPT
 	select BR2_PACKAGE_LIBID3TAG
 	select BR2_PACKAGE_LIBMAD
@@ -51,17 +70,23 @@ menuconfig BR2_PACKAGE_XBMC
 	select BR2_PACKAGE_PYTHON_UNICODEDATA
 	select BR2_PACKAGE_PYTHON_ZLIB
 	select BR2_PACKAGE_READLINE
+	select BR2_PACKAGE_SDL if BR2_PACKAGE_XBMC_GL
+	select BR2_PACKAGE_SDL_X11 if BR2_PACKAGE_XBMC_GL
+	select BR2_PACKAGE_SDL_IMAGE if BR2_PACKAGE_XBMC_GL
 	select BR2_PACKAGE_SQLITE
 	select BR2_PACKAGE_TAGLIB
 	select BR2_PACKAGE_TIFF
 	select BR2_PACKAGE_TINYXML
+	select BR2_PACKAGE_XLIB_XMU if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
+	select BR2_PACKAGE_XLIB_XRANDR if BR2_PACKAGE_XBMC_GL
+	select BR2_PACKAGE_XLIB_XT if BR2_PACKAGE_XBMC_GL # needed by rsxs screensaver
 	select BR2_PACKAGE_YAJL
 	select BR2_PACKAGE_ZLIB
 	depends on BR2_INET_IPV6
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_LARGEFILE
 	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_PACKAGE_HAS_LIBEGL && BR2_PACKAGE_HAS_LIBGLES
+	depends on BR2_PACKAGE_XBMC_EGL_GLES || BR2_PACKAGE_XBMC_GL
 	depends on BR2_USE_MMU # python
 	depends on BR2_USE_WCHAR
 	depends on BR2_arm || BR2_i386 || BR2_x86_64
package/xbmc/xbmc.mk +26 -6
index 6973bf3..a002a4c 100644
@@ -15,7 +15,7 @@ XBMC_LICENSE_FILES = LICENSE.GPL
 # http://wiki.xbmc.org/index.php?title=TexturePacker
 XBMC_DEPENDENCIES = host-gawk host-gettext host-gperf host-infozip host-lzo host-sdl_image host-swig
 XBMC_DEPENDENCIES += boost bzip2 expat flac fontconfig freetype jasper jpeg \
-	libass libcdio libcurl libegl libfribidi libgcrypt libgles libmad libmodplug libmpeg2 \
+	libass libcdio libcurl libfribidi libgcrypt libmad libmodplug libmpeg2 \
 	libogg libplist libpng libsamplerate libungif libvorbis libxml2 libxslt lzo ncurses \
 	openssl pcre python readline sqlite taglib tiff tinyxml yajl zlib
 
@@ -44,7 +44,6 @@ XBMC_CONF_OPT +=  \
 	--disable-crystalhd \
 	--disable-debug \
 	--disable-dvdcss \
-	--disable-gl \
 	--disable-hal \
 	--disable-joystick \
 	--disable-mysql \
@@ -52,14 +51,10 @@ XBMC_CONF_OPT +=  \
 	--disable-optical-drive \
 	--disable-projectm \
 	--disable-pulse \
-	--disable-sdl \
 	--disable-ssh \
 	--disable-vaapi \
 	--disable-vdpau \
 	--disable-vtbdecoder \
-	--disable-x11 \
-	--disable-xrandr \
-	--enable-gles \
 	--enable-optimizations
 
 ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
@@ -88,9 +83,34 @@ else
 XBMC_CONF_OPT += --disable-libmp3lame
 endif
 
+# quote from xbmc/configure.in: "GLES overwrites GL if both set to yes."
+# we choose the opposite because opengl offers more features, like libva support
+ifeq ($(BR2_PACKAGE_XBMC_GL),y)
+XBMC_DEPENDENCIES += libglew libglu libgl sdl_image xlib_libX11 xlib_libXext \
+	xlib_libXmu xlib_libXrandr xlib_libXt
+XBMC_CONF_OPT += --enable-gl --enable-sdl --enable-x11 --enable-xrandr--disable-gles
+# fix rsxs compile
+# make sure target libpng-config is used, options taken from rsxs-0.9/acinclude.m4
+XBMC_CONF_ENV += \
+	jm_cv_func_gettimeofday_clobber=no \
+	mac_cv_pkg_png=$(STAGING_DIR)/usr/bin/libpng-config \
+	mac_cv_pkg_cppflags="`$(STAGING_DIR)/usr/bin/libpng-config --I_opts --cppflags`" \
+	mac_cv_pkg_cxxflags="`$(STAGING_DIR)/usr/bin/libpng-config --ccopts`" \
+	mac_cv_pkg_ldflags="`$(STAGING_DIR)/usr/bin/libpng-config --L_opts --R_opts`" \
+	mac_cv_pkg_libs="`$(STAGING_DIR)/usr/bin/libpng-config --libs`"
+XBMC_CONF_OPT += --enable-rsxs
+else
+XBMC_CONF_OPT += --disable-gl --disable-rsxs --disable-sdl --disable-x11 --disable-xrandr
+ifeq ($(BR2_PACKAGE_XBMC_EGL_GLES),y)
+XBMC_DEPENDENCIES += libegl libgles
+XBMC_CONF_OPT += --enable-gles
 XBMC_CONF_ENV += \
 	CFLAGS="$(TARGET_CFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)" \
 	CXXFLAGS="$(TARGET_CXXFLAGS) $(shell $(PKG_CONFIG_HOST_BINARY) --cflags egl)"
+else
+XBMC_CONF_OPT += --disable-gles
+endif
+endif
 
 ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
 XBMC_DEPENDENCIES += libusb-compat
Signature · 1 line
1.7.10.4
#27 lore raw

PATCH v14 19/20 xbmc: Add option for Goom screensaver

In reply to Bernd Kuhls
---
 package/xbmc/Config.in |    9 +++++++++
 package/xbmc/xbmc.mk   |    6 ++++++
 2 files changed, 15 insertions(+)
package/xbmc/Config.in +9 -0
index 991695f..7323eb4 100644
@@ -194,6 +194,15 @@ config BR2_PACKAGE_XBMC_WAVPACK
 	  Enable WAV input support.
 	  Select this if you want to play back WV files.
 
+config BR2_PACKAGE_XBMC_GOOM
+	bool "goom screensaver"
+	depends on BR2_PACKAGE_XBMC_GL
+	help
+	  Enable goom screensaver
+
+comment "goom needs an OpenGL backend"
+	depends on !BR2_PACKAGE_XBMC_GL
+
 comment "XBMC addons"
 
 source "package/xbmc-addon-xvdr/Config.in"
package/xbmc/xbmc.mk +6 -0
index a002a4c..3637db7 100644
@@ -183,6 +183,12 @@ ifeq ($(BR2_PACKAGE_XBMC_LIBTHEORA),y)
 XBMC_DEPENDENCIES += libtheora
 endif
 
+ifeq ($(BR2_PACKAGE_XBMC_GOOM),y)
+XBMC_CONF_OPT += --enable-goom
+else
+XBMC_CONF_OPT += --disable-goom
+endif
+
 # Add HOST_DIR to PATH for codegenerator.mk to find swig
 define XBMC_BOOTSTRAP
 	cd $(@D) && PATH=$(BR_PATH) ./bootstrap
Signature · 1 line
1.7.10.4
#28 lore raw

PATCH v14 20/20 xbmc: Add VA-API support

In reply to Bernd Kuhls
---
 package/xbmc/xbmc.mk |    9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
package/xbmc/xbmc.mk +8 -1
index 3637db7..c0447c9 100644
@@ -52,7 +52,6 @@ XBMC_CONF_OPT +=  \
 	--disable-projectm \
 	--disable-pulse \
 	--disable-ssh \
-	--disable-vaapi \
 	--disable-vdpau \
 	--disable-vtbdecoder \
 	--enable-optimizations
@@ -112,6 +111,14 @@ XBMC_CONF_OPT += --disable-gles
 endif
 endif
 
+# xbmc needs libva & libva-glx
+ifeq ($(BR2_PACKAGE_LIBVA)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),yy)
+XBMC_DEPENDENCIES += mesa3d libva
+XBMC_CONF_OPT += --enable-vaapi
+else
+XBMC_CONF_OPT += --disable-vaapi
+endif
+
 ifeq ($(BR2_PACKAGE_XBMC_LIBUSB),y)
 XBMC_DEPENDENCIES += libusb-compat
 XBMC_CONF_OPT += --enable-libusb
Signature · 1 line
1.7.10.4