From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-la0-f50.google.com (mail-la0-f50.google.com [209.85.215.50]) by mail.openembedded.org (Postfix) with ESMTP id C124062252 for ; Wed, 27 Aug 2014 12:08:49 +0000 (UTC) Received: by mail-la0-f50.google.com with SMTP id pi18so128107lab.23 for ; Wed, 27 Aug 2014 05:08:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:date:to:subject:message-id:references:mime-version :content-type:content-disposition:in-reply-to:user-agent; bh=tZe0QVGt5kfEd++9rmL/sLD7+pB3RXjUYiSTbOwKwuY=; b=ObgkCO6biTKqtve+g8vVUGqLYSVvk7OX6JFzrkoVs6/O+QNohI+VPMXYkaNG2HZB0/ rg1wPdVtfjTWaoqCtqrK8uzgekUcduP1HP8rPc75ykhHNNMF6/woWWM5z+vFD2ryr1Ug iix4+uTc7nOrMrLPhm2hyQc9VEU5I95HmhBmzgDbklML3FDJsEh/TUPJl9c/KG+K+HuM CXYQRFZ+cbLCCqX+7s9e/LuW/woRjXY2GMPZFfj8vAbSDKnXNHlD34856+Opj9GnhT5c xZlh5c2GdKfRBfn6cosGp372WgE4B7izBy7ReNItCoH+SafRX7GCmnerp9s4KKYjDky1 7RJA== X-Received: by 10.112.253.165 with SMTP id ab5mr32373076lbd.1.1409141330051; Wed, 27 Aug 2014 05:08:50 -0700 (PDT) Received: from localhost (ip-89-176-104-3.net.upcbroadband.cz. [89.176.104.3]) by mx.google.com with ESMTPSA id i2sm325573lbq.23.2014.08.27.05.08.48 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Aug 2014 05:08:48 -0700 (PDT) From: Martin Jansa X-Google-Original-From: Martin Jansa Date: Wed, 27 Aug 2014 14:08:57 +0200 To: openembedded-devel@lists.openembedded.org Message-ID: <20140827120857.GD20524@jama> References: <1408903501-5728-1-git-send-email-andrei@gherzan.ro> MIME-Version: 1.0 In-Reply-To: <1408903501-5728-1-git-send-email-andrei@gherzan.ro> User-Agent: Mutt/1.5.23 (2014-03-12) Subject: Re: [meta-multimedia][PATCH V2 1/1] xbmc: Update to v13.2 X-BeenThere: openembedded-devel@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: openembedded-devel@lists.openembedded.org List-Id: Using the OpenEmbedded metadata to build Distributions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Aug 2014 12:08:57 -0000 X-Groupsio-MsgNum: 51871 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="SfgfV7onya2wNU+g" Content-Disposition: inline --SfgfV7onya2wNU+g Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Aug 24, 2014 at 08:05:01PM +0200, Andrei Gherzan wrote: > * refactor dependencies > * remove already merged patches > * define PACKAGECONFIG for different configurations > * have above PACKAGECONFIG values activated by default > * various cleanups and refactoring > * use internal ffmpeg - there are some known issues while compiling > with external libav > * define --with-arch to be passed to internal ffmpeg configuration > script > * add support for qemuarm > * add libcec, rtmpdump to DEPENDS > * add libpulsecommon to RDEPENDS >=20 > Tested on Fedora 20 host using poky + meta-oe master: > 1. build only qemux86 > 2. build only qemuarm > 3. build and runtime test raspberrypi - (patches to come). Fails in world builds for qemux86-64 with: | [ 48%] Building CXX object CMakeFiles/projectM.dir/fftsg.cpp.o | CC libavfilter/vf_histeq.o | CC libavfilter/vf_histogram.o | CPP xbmc/utils/SortUtils.o | CPP xbmc/utils/Splash.o | depbase=3D`echo ../common.o | sed 's|[^/]*$|.deps/&|;s|\.o$||'`;\ | x86_64-oe-linux-g++ -m64 -march=3Dcore2 -mtune=3Dcore2 -msse3 -mfpmath= =3Dsse --sysroot=3D/home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemu= x86-64 -DHAVE_CONFIG_H -I. -I../.. -DPKGDATADIR=3D\"/usr/share/rsxs\" -I./= =2E. -I../../lib -D_LINUX -DXBMC -O2 -O2 -pipe -g -feliminate-unused-d= ebug-types -fvisibility-inlines-hidden -fPIC -DPIC -D_REENTRANT -D_LARGEFIL= E64_SOURCE -D_FILE_OFFSET_BITS=3D64 -g -D_DEBUG -Wall -MT ../common.o -MD -= MP -MF $depbase.Tpo -c -o ../common.o ../common.cc &&\ | mv -f $depbase.Tpo $depbase.Po | CC libavfilter/vf_hqdn3d.o | CPP xbmc/guilib/GUIListGroup.o | CPP xbmc/utils/Stopwatch.o | CPP xbmc/utils/StreamDetails.o | CC libavfilter/vf_hue.o | In file included from ../common.cc:50:0: | /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/includ= e/c++/4.9.1/ctime:70:11: error: '::gmtime' has not been declared | using ::gmtime; | ^ | /home/jenkins/oe/world/shr-core/tmp-eglibc/sysroots/qemux86-64/usr/includ= e/c++/4.9.1/ctime:71:11: error: '::localtime' has not been declared | using ::localtime; | ^ | make[5]: *** [../common.o] Error 1 | make[5]: Leaving directory `/home/jenkins/oe/world/shr-core/tmp-eglibc/wo= rk/core2-64-oe-linux/xbmc/13.2-r0/git/xbmc/screensavers/rsxs-0.9/src/euphor= ia' | make[4]: *** [all-recursive] Error 1 (this is the same error which was mentioned in PNBLACKLIST before) and qemuarm: | CC lib/vgmstream/src/coding/mpeg_decoder.o | OpenMaxVideo.cpp:59:8: error: 'PFNEGLCREATEIMAGEKHRPROC' does not name a = type | static PFNEGLCREATEIMAGEKHRPROC eglCreateImageKHR; | ^ | OpenMaxVideo.cpp:60:8: error: 'PFNEGLDESTROYIMAGEKHRPROC' does not name a= type | static PFNEGLDESTROYIMAGEKHRPROC eglDestroyImageKHR; | ^ =2E... | In file included from OpenMaxVideo.cpp:32:0: | DVDVideoCodec.h:48:7: error: forward declaration of 'class COpenMaxVideo' | class COpenMaxVideo; | ^ > Signed-off-by: Andrei Gherzan > Signed-off-by: Tim Orling > Change-Id: I538f4907a9d1dd5df31648bfb60a18cacfed9d69 > --- > ...d-ios-Add-memory-barriers-to-atomic-Add-S.patch | 118 ++++++++++-----= ----- > ...d-ios-Add-memory-barriers-to-cas-assembly.patch | 82 +++++++------- > .../0004-Support-for-novfpnoneon-platforms.patch | 104 +++++++++++++++= +++ > ...igure-cope-with-ld-is-gold-DISTRO_FEATURE.patch | 43 -------- > .../xbmc/configure.in-Avoid-running-code.patch | 32 ------ > .../recipes-mediacentre/xbmc/xbmc_13.2.bb | 119 +++++++++++++++= ++++++ > .../recipes-mediacentre/xbmc/xbmc_git.bb | 99 ---------------= -- > 7 files changed, 318 insertions(+), 279 deletions(-) > create mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-Su= pport-for-novfpnoneon-platforms.patch > delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-co= nfigure-cope-with-ld-is-gold-DISTRO_FEATURE.patch > delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc/configu= re.in-Avoid-running-code.patch > create mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc_13.2.bb > delete mode 100644 meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb >=20 > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fi= xed-ios-Add-memory-barriers-to-atomic-Add-S.patch b/meta-multimedia/recipes= -mediacentre/xbmc/xbmc/0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-= Add-S.patch > index e0a4037..d3ae75e 100644 > --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios= -Add-memory-barriers-to-atomic-Add-S.patch > +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0002-Revert-fixed-ios= -Add-memory-barriers-to-atomic-Add-S.patch > @@ -24,74 +24,68 @@ The build (OpenEmbedded `angstrom-2010.x` for `MACHIN= E =3D "beagleboard") fails wi > make[1]: *** [Atomics.o] Error 1 > make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev= /work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e= 39e9b3bb0a15bf1fe694d1/git/xbmc/threads' > make: *** [xbmc/threads/threads.a] Error 2 > ---- > - xbmc/threads/Atomics.cpp | 8 -------- > - 1 files changed, 0 insertions(+), 8 deletions(-) > =20 > -diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp > -index 5b09f18..0a98a7e 100644 > ---- a/xbmc/threads/Atomics.cpp > -+++ b/xbmc/threads/Atomics.cpp > -@@ -194,14 +194,12 @@ long AtomicIncrement(volatile long* pAddr) > - { > +Index: git/xbmc/threads/Atomics.cpp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +--- git.orig/xbmc/threads/Atomics.cpp > ++++ git/xbmc/threads/Atomics.cpp > +@@ -168,14 +166,12 @@ long AtomicIncrement(volatile long* pAdd > + #elif defined(__arm__) && !defined(__ARM_ARCH_5__) > register long val; > asm volatile ( > -- "dmb ish \n" // Memory barrier. Make su= re all memory accesses appearing before this complete before any that appea= r after > - "1: \n"=20 > - "ldrex %0, [%1] \n" // (val =3D *pAddr) > - "add %0, #1 \n" // (val +=3D 1) > - "strex r1, %0, [%1] \n" > - "cmp r1, #0 \n" > - "bne 1b \n" > -- "dmb ish \n" // Memory barrier. > - : "=3D&r" (val) > - : "r"(pAddr) > - : "r1" > -@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount) > - { > +- "dmb ish \n" // Memory barrier. Make sure all memor= y accesses appearing before this complete before any that appear after > + "1: \n"=20 > + "ldrex %0, [%1] \n" // (val =3D *pAddr) > + "add %0, #1 \n" // (val +=3D 1) > + "strex r1, %0, [%1] \n" > + "cmp r1, #0 \n" > + "bne 1b \n" > +- "dmb ish \n" // Memory barrier. > + : "=3D&r" (val) > + : "r"(pAddr) > + : "r1" > +@@ -246,14 +242,12 @@ long AtomicAdd(volatile long* pAddr, lon > + #elif defined(__arm__) && !defined(__ARM_ARCH_5__) > register long val; > asm volatile ( > -- "dmb ish \n" // Memory barrier. Make su= re all memory accesses appearing before this complete before any that appea= r after > - "1: \n"=20 > - "ldrex %0, [%1] \n" // (val =3D *pAddr) > - "add %0, %2 \n" // (val +=3D amount) > - "strex r1, %0, [%1] \n" > - "cmp r1, #0 \n" > - "bne 1b \n" > -- "dmb ish \n" // Memory barrier. > - : "=3D&r" (val) > - : "r"(pAddr), "r"(amount) > - : "r1" > -@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr) > - { > +- "dmb ish \n" // Memory barrier. Make sure all memory= accesses appearing before this complete before any that appear after > + "1: \n"=20 > + "ldrex %0, [%1] \n" // (val =3D *pAddr) > + "add %0, %2 \n" // (val +=3D amount) > + "strex r1, %0, [%1] \n" > + "cmp r1, #0 \n" > + "bne 1b \n" > +- "dmb ish \n" // Memory barrier. > + : "=3D&r" (val) > + : "r"(pAddr), "r"(amount) > + : "r1" > +@@ -324,14 +318,12 @@ long AtomicDecrement(volatile long* pAdd > + #elif defined(__arm__) > register long val; > asm volatile ( > -- "dmb ish \n" // Memory barrier. Make su= re all memory accesses appearing before this complete before any that appea= r after > - "1: \n"=20 > - "ldrex %0, [%1] \n" // (val =3D *pAddr) > - "sub %0, #1 \n" // (val -=3D 1) > - "strex r1, %0, [%1] \n" > - "cmp r1, #0 \n" > - "bne 1b \n" > -- "dmb ish \n" // Memory barrier. > - : "=3D&r" (val) > - : "r"(pAddr) > - : "r1" > -@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amo= unt) > - { > +- "dmb ish \n" // Memory barrier. Make sure all memory= accesses appearing before this complete before any that appear after > + "1: \n"=20 > + "ldrex %0, [%1] \n" // (val =3D *pAddr) > + "sub %0, #1 \n" // (val -=3D 1) > + "strex r1, %0, [%1] \n" > + "cmp r1, #0 \n" > + "bne 1b \n" > +- "dmb ish \n" // Memory barrier. > + : "=3D&r" (val) > + : "r"(pAddr) > + : "r1" > +@@ -403,14 +395,12 @@ long AtomicSubtract(volatile long* pAddr > + #elif defined(__arm__) > register long val; > asm volatile ( > -- "dmb ish \n" // Memory barrier. Make sur= e all memory accesses appearing before this complete before any that appear= after > - "1: \n"=20 > - "ldrex %0, [%1] \n" // (val =3D *pAddr) > - "sub %0, %2 \n" // (val -=3D amount) > - "strex r1, %0, [%1] \n" > - "cmp r1, #0 \n" > - "bne 1b \n" > -- "dmb ish \n" // Memory barrier. > - : "=3D&r" (val) > - : "r"(pAddr), "r"(amount) > - : "r1" > ---=20 > -1.7.2.5 > - > +- "dmb ish \n" // Memory barrier. Make sure all memory= accesses appearing before this complete before any that appear after > + "1: \n"=20 > + "ldrex %0, [%1] \n" // (val =3D *pAddr) > + "sub %0, %2 \n" // (val -=3D amount) > + "strex r1, %0, [%1] \n" > + "cmp r1, #0 \n" > + "bne 1b \n" > +- "dmb ish \n" // Memory barrier. > + : "=3D&r" (val) > + : "r"(pAddr), "r"(amount) > + : "r1" > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fi= xed-ios-Add-memory-barriers-to-cas-assembly.patch b/meta-multimedia/recipes= -mediacentre/xbmc/xbmc/0003-Revert-fixed-ios-Add-memory-barriers-to-cas-ass= embly.patch > index 629017b..f93fa9e 100644 > --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios= -Add-memory-barriers-to-cas-assembly.patch > +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0003-Revert-fixed-ios= -Add-memory-barriers-to-cas-assembly.patch > @@ -16,54 +16,50 @@ The build (OpenEmbedded `angstrom-2010.x` for `MACHIN= E =3D "beagleboard") fails wi > make[1]: *** [Atomics.o] Error 1 > make[1]: Leaving directory `/oe/build-angstrom-next/angstrom-dev= /work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d1728= 79995b50985645b77fecd2/git/xbmc/threads' > make: *** [xbmc/threads/threads.a] Error 2 > ---- > - xbmc/threads/Atomics.cpp | 33 ++++++++++++++++----------------- > - 1 files changed, 16 insertions(+), 17 deletions(-) > - > -diff --git a/xbmc/threads/Atomics.cpp b/xbmc/threads/Atomics.cpp > -index 0a98a7e..0967eb2 100644 > ---- a/xbmc/threads/Atomics.cpp > -+++ b/xbmc/threads/Atomics.cpp > -@@ -49,23 +49,22 @@ long cas(volatile long *pAddr, long expectedVal, lon= g swapVal) > - #elif defined(__arm__) > - long cas(volatile long* pAddr, long expectedVal, long swapVal) > - { > +Index: git/xbmc/threads/Atomics.cpp > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +--- git.orig/xbmc/threads/Atomics.cpp > ++++ git/xbmc/threads/Atomics.cpp > +@@ -43,24 +43,24 @@ long cas(volatile long *pAddr, long expe > + : "cc", "memory"); /* Clobbers */ > + return prev; > +=20 > +-#elif defined(__arm__) > - register long prev; > - asm volatile ( > -- "dmb ish \n" // Memory barrier. Make su= re all memory accesses appearing before this complete before any that appea= r after > -- "1: \n" > -- "ldrex %0, [%1] \n" // Load the current value = of *pAddr(%1) into prev (%0) and lock pAddr, > -- "cmp %0, %2 \n" // Verify that the current= value (%0) =3D=3D old value (%2) > -- "bne 2f \n" // Bail if the two values = are not equal [not as expected] > -- "strex r1, %3, [%1] \n" > -- "cmp r1, #0 \n" > -- "bne 1b \n" > -- "dmb ish \n" // Memory barrier. > -- "2: \n" > -- : "=3D&r" (prev) > -- : "r"(pAddr), "r"(expectedVal),"r"(swapVal) > -- : "r1" > -- ); > +- "dmb ish \n" // Memory barrier. Make sure all memor= y accesses appearing before this complete before any that appear after > +- "1: \n" > +- "ldrex %0, [%1] \n" // Load the current value of *pAddr(%1= ) into prev (%0) and lock pAddr, > +- "cmp %0, %2 \n" // Verify that the current value (%0) = =3D=3D old value (%2) > +- "bne 2f \n" // Bail if the two values are not equa= l [not as expected] > +- "strex r1, %3, [%1] \n" > +- "cmp r1, #0 \n" > +- "bne 1b \n" > +- "dmb ish \n" // Memory barrier. > +- "2: \n" > +- : "=3D&r" (prev) > +- : "r"(pAddr), "r"(expectedVal),"r"(swapVal) > +- : "r1" > +- ); > - return prev; > -+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal)); > ++//#elif defined(__arm__) > +// register long prev; > +// asm volatile ( > -+// "1: \n" > -+// "ldrex %0, [%1] \n" /* Load the current valu= e of *pAddr(%1) into prev (%0) and lock pAddr, */ > -+// "cmp %0, %2 \n" /* Verify that the curre= nt value (%0) =3D=3D old value (%2) */ > -+// "bne 2f \n" /* Bail if the two value= s are not equal [not as expected] */ > -+// "strex r1, %3, [%1] \n" > -+// "cmp r1, #0 \n" =20 > -+// "bne 1b \n" > -+// "2: " > -+// : "=3D&r" (prev) > -+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal) > -+// : "r1" > -+// ); > ++// "dmb ish \n" // Memory barrier. Make sure all mem= ory accesses appearing before this complete before any that appear after > ++// "1: \n" > ++// "ldrex %0, [%1] \n" // Load the current value of *pAddr(= %1) into prev (%0) and lock pAddr, > ++// "cmp %0, %2 \n" // Verify that the current value (%0= ) =3D=3D old value (%2) > ++// "bne 2f \n" // Bail if the two values are not eq= ual [not as expected] > ++// "strex r1, %3, [%1] \n" > ++// "cmp r1, #0 \n" > ++// "bne 1b \n" > ++// "dmb ish \n" // Memory barrier. > ++// "2: \n" > ++// : "=3D&r" (prev) > ++// : "r"(pAddr), "r"(expectedVal),"r"(swapVal) > ++// : "r1" > ++// ); > +// return prev; > - } > =20 > #elif defined(__mips__) > ---=20 > -1.7.2.5 > - > + // TODO: > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-Support-f= or-novfpnoneon-platforms.patch b/meta-multimedia/recipes-mediacentre/xbmc/x= bmc/0004-Support-for-novfpnoneon-platforms.patch > new file mode 100644 > index 0000000..b971c48 > --- /dev/null > +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-Support-for-novf= pnoneon-platforms.patch > @@ -0,0 +1,104 @@ > +From 54ce0e5fef8d8f4a374eb9df68c22781f989b52d Mon Sep 17 00:00:00 2001 > +From: Andrei Gherzan > +Date: Sun, 17 Aug 2014 14:47:36 +0200 > +Subject: [PATCH] Add support for no-Neon no-VFP platforms > + > +Signed-off-by: Andrei Gherzan > + > +Upstream-Status: Inappropriate [OE specific] > + > +--- > + configure.in | 17 +++++++++++++++++ > + m4/xbmc_arch.m4 | 3 +++ > + xbmc/utils/MathUtils.h | 6 ++++-- > + 3 files changed, 24 insertions(+), 2 deletions(-) > + > +diff --git a/configure.in b/configure.in > +index a195d00..6e2d432 100644 > +--- a/configure.in > ++++ b/configure.in > +@@ -231,6 +231,12 @@ AC_ARG_ENABLE([neon], > + [use_neon=3D$enableval], > + [use_neon=3Dno]) > +=20 > ++AC_ARG_ENABLE([vfp], > ++ [AS_HELP_STRING([--enable-vfp], > ++ [enable vfp passing to ffmpeg (default is yes)])], > ++ [use_vfp=3D$enableval], > ++ [use_vfp=3Dyes]) > ++ > + AC_ARG_ENABLE([optimizations], > + [AS_HELP_STRING([--enable-optimizations], > + [enable optimization (default is yes)])], > +@@ -750,6 +756,11 @@ case $use_platform in > + CXXFLAGS=3D"$CXXFLAGS" > + ffmpeg_target_os=3Dlinux > + ;; > ++ novfpnoneon) > ++ use_arch=3D"arm" > ++ use_neon=3Dno > ++ use_vfp=3Dno > ++ ;; > + esac > +=20 > + XBMC_SETUP_ARCH_DEFINES() > +@@ -2757,6 +2768,11 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ > + else > + ffmpg_config=3D"$ffmpg_config --disable-neon" > + fi > ++ if test "$use_vfp" =3D "yes"; then > ++ ffmpg_config=3D"$ffmpg_config --enable-vfp" > ++ else > ++ ffmpg_config=3D"$ffmpg_config --disable-vfp" > ++ fi > + else > + ffmpg_config=3D"$ffmpg_config --disable-amd3dnow" > + fi > +@@ -2815,6 +2831,7 @@ XB_CONFIG_MODULE([lib/ffmpeg], [ > + `if test "$use_arch" !=3D "no"; then echo --arch=3D$use_arch; fi`\ > + `if test "$use_cpu" !=3D "no"; then echo --cpu=3D$use_cpu; fi`\ > + `if test "$use_neon" =3D "yes"; then echo --enable-neon; else ech= o --disable-neon; fi`\ > ++ `if test "$use_vfp" =3D "yes"; then echo --enable-vfp; else echo = --disable-vfp; fi`\ > + --target-os=3D$ffmpeg_target_os \ > + --disable-muxers \ > + --enable-muxer=3Dspdif \ > +diff --git a/m4/xbmc_arch.m4 b/m4/xbmc_arch.m4 > +index 5bcdd81..f349cb2 100644 > +--- a/m4/xbmc_arch.m4 > ++++ b/m4/xbmc_arch.m4 > +@@ -47,5 +47,8 @@ case $use_platform in > + raspberry-pi) > + AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_= ARMEL -DTARGET_RASPBERRY_PI") > + ;; > ++ novfpnoneon) > ++ AC_SUBST(ARCH_DEFINES, "-DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DT= ARGET_NOVFPNONEON") > ++ ;; > + esac > + ]) > +diff --git a/xbmc/utils/MathUtils.h b/xbmc/utils/MathUtils.h > +index 96af9f4..69fd058 100644 > +--- a/xbmc/utils/MathUtils.h > ++++ b/xbmc/utils/MathUtils.h > +@@ -36,7 +36,8 @@ > + defined(__powerpc__) || \ > + (defined(TARGET_DARWIN_IOS) && defined(__llvm__)) || \ > + (defined(TARGET_ANDROID) && defined(__arm__)) || \ > +- defined(TARGET_RASPBERRY_PI) > ++ defined(TARGET_RASPBERRY_PI) || \ > ++ defined(TARGET_NOVFPNONEON) > + #define DISABLE_MATHUTILS_ASM_ROUND_INT > + #endif > +=20 > +@@ -44,7 +45,8 @@ > + defined(__powerpc__) || \ > + (defined(TARGET_DARWIN) && defined(__llvm__)) || \ > + (defined(TARGET_ANDROID) && defined(__arm__)) || \ > +- defined(TARGET_RASPBERRY_PI) > ++ defined(TARGET_RASPBERRY_PI) || \ > ++ defined(TARGET_NOVFPNONEON) > + #define DISABLE_MATHUTILS_ASM_TRUNCATE_INT > + #endif > +=20 > +--=20 > +1.9.3 > + > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure= -cope-with-ld-is-gold-DISTRO_FEATURE.patch b/meta-multimedia/recipes-mediac= entre/xbmc/xbmc/0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.patch > deleted file mode 100644 > index 345e20e..0000000 > --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/0004-configure-cope-w= ith-ld-is-gold-DISTRO_FEATURE.patch > +++ /dev/null > @@ -1,43 +0,0 @@ > -From fd8f73826240aae543a41a2bfeea0056e2fe594d Mon Sep 17 00:00:00 2001 > -From: Koen Kooi > -Date: Mon, 11 Mar 2013 11:04:29 +0100 > -Subject: [PATCH] configure: cope with ld-is-gold DISTRO_FEATURE > - > -Signed-off-by: Koen Kooi > ---- > - > -Upstream-Stature: backport > - > - configure.in | 12 +++++++----- > - 1 files changed, 7 insertions(+), 5 deletions(-) > - > -diff --git a/configure.in b/configure.in > -index ef94683..c8b459b 100755 > ---- a/configure.in > -+++ b/configure.in > -@@ -18,9 +18,14 @@ tolower(){ > - # check for library basenames > - AC_DEFUN([XB_FIND_SONAME], > - [ > -+ #set -x > - if [[ "$host_vendor" !=3D "apple" ]]; then > - AC_MSG_CHECKING([for lib$2 soname]) > - $1_FILENAME=3D$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-M 2>/= dev/null | grep "^LOAD.*$2" | awk '{V=3D2; print $V}') > -+ if [[ -z $$1_FILENAME ]]; then > -+ #try gold linker syntax > -+ $1_FILENAME=3D$($CC -nostdlib -o /dev/null $LDFLAGS -l$2 -Wl,-t 3= >&1 1>&2 2>&3 | grep "$2") > -+ fi > - if [[ ! -z $$1_FILENAME ]]; then > - $1_SONAME=3D$(objdump -p $$1_FILENAME | grep "SONAME.*$2" | awk '= {V=3D2; print $V}') > - fi > -@@ -55,6 +60,7 @@ AC_DEFUN([XB_FIND_SONAME], > - AC_MSG_RESULT([$$1_SONAME]) > - AC_SUBST($1_SONAME) > - fi > -+ #set +x > - ]) > -=20 > - # Function to push and pop libs and includes for a command > ---=20 > -1.7.7.6 > - > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-A= void-running-code.patch b/meta-multimedia/recipes-mediacentre/xbmc/xbmc/con= figure.in-Avoid-running-code.patch > deleted file mode 100644 > index 5c14059..0000000 > --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc/configure.in-Avoid-ru= nning-code.patch > +++ /dev/null > @@ -1,32 +0,0 @@ > -From cfd851660a594801a591e80dc820c65cb7bd7836 Mon Sep 17 00:00:00 2001 > -From: Otavio Salvador > -Date: Sat, 6 Oct 2012 06:40:03 -0300 > -Subject: [PATCH] configure.in: Avoid running code or we break cross-comp= ile > - > -Upstream-Status: Backport [similar change done for 12.0] > - > -Signed-off-by: Otavio Salvador > ---- > - configure.in | 6 +----- > - 1 files changed, 1 insertions(+), 5 deletions(-) > - > -diff --git a/configure.in b/configure.in > -index ef94683..d7efcb0 100755 > ---- a/configure.in > -+++ b/configure.in > -@@ -1246,11 +1246,7 @@ if test "$use_external_ffmpeg" =3D "yes"; then > - AC_DEFINE([USE_EXTERNAL_FFMPEG], [1], [Whether to use external FFmpeg= libraries.]) > -=20 > - # Disable vdpau support if external libavcodec doesn't have it > -- AC_RUN_IFELSE( > -- AC_LANG_PROGRAM([[#include ]], > -- [[avcodec_register_all(); > -- AVCodec *codec =3D avcodec_find_decoder_by_name("vc1_vdpau"); > -- return (codec) ? 0 : 1;]]),, > -+ AC_CHECK_LIB([avcodec], [ff_vdpau_vc1_decode_picture],, > - [if test "x$use_vdpau" =3D "xyes"; then > - AC_MSG_ERROR($ffmpeg_vdpau_not_supported) > - else > ---=20 > -1.7.2.5 > - > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_13.2.bb b/meta= -multimedia/recipes-mediacentre/xbmc/xbmc_13.2.bb > new file mode 100644 > index 0000000..a6e2bee > --- /dev/null > +++ b/meta-multimedia/recipes-mediacentre/xbmc/xbmc_13.2.bb > @@ -0,0 +1,119 @@ > +SUMMARY =3D "XBMC Media Center" > +DESCRIPTION =3D "XBMC is an award-winning free and open source (GPL) sof= tware \ > +media player and entertainment hub that can be installed on Linux, OSX, \ > +Windows, iOS, and Android, featuring a 10-foot user interface for use wi= th \ > +televisions and remote controls." > +HOMEPAGE =3D "http://xbmc.org/" > +LICENSE =3D "GPLv2" > +LIC_FILES_CHKSUM =3D "file://LICENSE.GPL;md5=3D6eb631b6da7fdb01508a80213= ffc35ff" > + > +DEPENDS =3D "yajl libxmu fribidi mpeg2dec curl python libmodplug libmicr= ohttpd \ > + sqlite3 libcdio libpcre boost lzo taglib libtinyxml jasper li= bass \ > + libmad jpeg libsamplerate0 libvorbis tiff libxslt libgpg-erro= r \ > + libsdl virtual/egl swig-native gperf-native unzip-native zip-= native \ > + libcec rtmpdump" > + > +DEPENDS_append_arm =3D " cmake-native" > +DEPENDS_append_x86 =3D " nasm-native" > + > +CODENAME =3D "Gotham" > +SRCREV =3D "0f3db0516711e05765d297d060563730131c2f92" > +SRC_URI =3D "git://github.com/xbmc/xbmc.git;branch=3D${CODENAME} \ > + file://0001-configure-don-t-run-python-distutils-to-find-STAG= ING.patch \ > + file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Ad= d-S.patch \ > + file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assem= bly.patch \ > + file://0004-Support-for-novfpnoneon-platforms.patch" > + > +inherit autotools-brokensep gettext python-dir > + > +S =3D "${WORKDIR}/git" > + > +# Don't activate texturepacker as it needs libsdl-image-native. Due to s= ome issues > +# with qemu we use the host's libsdl on which libsdl-image-native depend= s. > +PACKAGECONFIG ??=3D "${@base_contains('DISTRO_FEATURES', 'opengl', 'open= gl', 'opengles2', d)} \ > + sdl airplay ssh libusb libcec samba mysql avahi xrand= r x11 joystick \ > + mid rtmp libmp3lame optical-drive debug" > + > +PACKAGECONFIG[opengl] =3D "--enable-gl,--enable-gles,glew" > +PACKAGECONFIG[opengles2] =3D "--enable-gles,--enable-gl," > +PACKAGECONFIG[sdl] =3D "--enable-sdl,--disable-sdl,libsdl-mixer libsdl-i= mage" > +PACKAGECONFIG[airplay] =3D "--enable-airplay,--disable-airplay,libplist" > +PACKAGECONFIG[ssh] =3D "--enable-ssh,--disable-ssh,libssh" > +PACKAGECONFIG[libcec] =3D "--enable-libcec,--disable-libcec,libcec" > +PACKAGECONFIG[libusb] =3D "--enable-libusb,--disable-libusb,libusb" > +PACKAGECONFIG[samba] =3D "--enable-samba,--disable-samba,samba" > +PACKAGECONFIG[mysql] =3D "--enable-mysql,--disable-mysql,mysql5" > +PACKAGECONFIG[avahi] =3D "--enable-avahi,--disable-avahi,avahi" > +PACKAGECONFIG[xrandr] =3D "--enable-xrandr,--disable-xrandr,libxrandr" > +PACKAGECONFIG[x11] =3D "--enable-x11,--disable-x11," > +PACKAGECONFIG[joystick] =3D "--enable-joystick,--disable-joystick," > +PACKAGECONFIG[texturepacker] =3D "--enable-texturepacker,--disable-textu= repacker,libsdl-image-native" > +PACKAGECONFIG[mid] =3D "--enable-mid,--disable-mid," > +PACKAGECONFIG[rtmp] =3D "--enable-rtmp,--disable-rtmp,rtmpdump" > +PACKAGECONFIG[optical-drive] =3D "--enable-optical-drive,--disable-optic= al-drive,libcdio" > +PACKAGECONFIG[libmp3lame] =3D "--enable-libmp3lame,--disable-libmp3lame,= lame" > +PACKAGECONFIG[debug] =3D "--enable-debug,--disable-debug," > + > +# No neon / no VFP on ARMv4 and ARMv5 > +EXTRA_OECONF_append_armv4 =3D " --with-platform=3Dnovfpnoneon " > +EXTRA_OECONF_append_armv5 =3D " --with-platform=3Dnovfpnoneon " > + > +EXTRA_OECONF_append =3D " \ > + --enable-external-libraries \ > + --with-arch=3D${TARGET_ARCH} \ > + " > + > +FULL_OPTIMIZATION_armv7a =3D "-fexpensive-optimizations -fomit-frame-poi= nter -O4 -ffast-math" > +BUILD_OPTIMIZATION =3D "${FULL_OPTIMIZATION}" > + > +EXTRA_OECONF_append_armv7a =3D "--with-cpu=3Dcortex-a8" > + > +CACHED_CONFIGUREVARS +=3D " \ > + ac_cv_path_PYTHON=3D"${STAGING_BINDIR_NATIVE}/python-native/python" \ > +" > + > +# for python modules > +export HOST_SYS > +export BUILD_SYS > +export STAGING_LIBDIR > +export STAGING_INCDIR > +export PYTHON_DIR > + > +do_configure() { > + sh bootstrap > + oe_runconf > +} > + > +# On ARM don't run GL/X11 tests in xbmc shell wrapper as xbmc uses GLES > +do_configure_prepend_arm() { > + sed -i '/FEH.py/ s/$/ --no-test/' ${S}/tools/Linux/xbmc.sh.in > +} > + > +FILES_${PN} +=3D " \ > + ${datadir}/xsessions \ > + ${datadir}/icons" > +FILES_${PN}-dbg +=3D " \ > + ${libdir}/xbmc/.debug \ > + ${libdir}/xbmc/*/.debug \ > + ${libdir}/xbmc/*/*/.debug \ > + ${libdir}/xbmc/*/*/*/.debug \ > + " > + > +# XBMC uses some kind of dlopen() method for libcec so we need to add it= manually. > +# XBMC wrapper calls xdpyinfo. > +# OpenGL builds need glxinfo, that's in mesa-demos. > +# service.py and other python tools need a couple of additional modules. > +RRECOMMENDS_${PN}_append =3D " \ > + libcec \ > + libcurl \ > + ${@base_contains('DISTRO_FEATURES', 'x11', 'xdpyinfo', '', d)} \ > + ${@base_contains('DISTRO_FEATURES', 'opengl', 'mesa-demos', '', d)} \ > + python python-stringold python-codecs python-re python-lang python-n= etclient\ > + " > + > +RRECOMMENDS_${PN}_append_libc-glibc =3D " \ > + glibc-charmap-ibm850 glibc-charmap-utf-8 \ > + glibc-gconv-ibm85 glibc-gconv-utf-32 \ > + " > + > +RDEPENDS_${PN} =3D " libpulsecommon" > diff --git a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb b/meta-= multimedia/recipes-mediacentre/xbmc/xbmc_git.bb > deleted file mode 100644 > index 4b65152..0000000 > --- a/meta-multimedia/recipes-mediacentre/xbmc/xbmc_git.bb > +++ /dev/null > @@ -1,99 +0,0 @@ > -SUMMARY =3D "XBMC Media Center" > - > -LICENSE =3D "GPLv2" > -LIC_FILES_CHKSUM =3D "file://LICENSE.GPL;md5=3D6eb631b6da7fdb01508a80213= ffc35ff" > - > -DEPENDS =3D "libusb1 libcec libplist expat yajl gperf-native libxmu frib= idi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicro= httpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mys= ql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate= 0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib= libtinyxml libmad" > -#require recipes/egl/egl.inc > - > - > -SRCREV =3D "82388d55dae79cbb2e486e307e23202e76a43efa" > - > -# multiple issues > -PNBLACKLIST[xbmc] =3D "/usr/include/c++/ctime:70:11: error: '::gmtime' h= as not been declared" > - > -PV =3D "11.0+gitr${SRCPV}" > -PR =3D "r14" > -SRC_URI =3D "git://github.com/xbmc/xbmc.git;branch=3DEden \ > - file://0001-configure-don-t-run-python-distutils-to-find-STAG= ING.patch \ > - file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Ad= d-S.patch \ > - file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assem= bly.patch \ > - file://0004-configure-cope-with-ld-is-gold-DISTRO_FEATURE.pat= ch \ > - file://configure.in-Avoid-running-code.patch \ > -" > - > -inherit autotools gettext python-dir > - > -S =3D "${WORKDIR}/git" > - > -# breaks compilation > -CCACHE =3D "" > - > -CACHED_CONFIGUREVARS +=3D " \ > - ac_cv_path_PYTHON=3D"${STAGING_BINDIR_NATIVE}/python-native/python" \ > -" > - > -PACKAGECONFIG ??=3D "${@base_contains('DISTRO_FEATURES', 'opengl', 'open= gl', 'openglesv2', d)}" > -PACKAGECONFIG[opengl] =3D "--enable-gl,--enable-gles,glew" > -PACKAGECONFIG[openglesv2] =3D "--enable-gles,--enable-gl," > - > -EXTRA_OECONF =3D " \ > - --disable-rpath \ > - --enable-libusb \ > - --enable-airplay \ > - --disable-optical-drive \ > - --enable-external-libraries \ > - ${@base_contains('DISTRO_FEATURES', 'opengl', '--enable-gl', '--enab= le-gles', d)} \ > -" > - > -FULL_OPTIMIZATION_armv7a =3D "-fexpensive-optimizations -fomit-frame-poi= nter -O4 -ffast-math" > -BUILD_OPTIMIZATION =3D "${FULL_OPTIMIZATION}" > - > -EXTRA_OECONF_append_armv7a =3D "--cpu=3Dcortex-a8" > - > -# for python modules > -export HOST_SYS > -export BUILD_SYS > -export STAGING_LIBDIR > -export STAGING_INCDIR > -export PYTHON_DIR > - > -do_configure() { > - sh bootstrap > - oe_runconf > -} > - > -PARALLEL_MAKE =3D "" > - > -do_compile_prepend() { > - for i in $(find . -name "Makefile") ; do > - sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' $i > - done > - > - for i in $(find . -name "*.mak*" -o -name "Makefile") ; do > - sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$= (libdir):-rpath ${libdir}:g' $i > - done > -} > - > -INSANE_SKIP_${PN} =3D "rpaths" > - > -# on ARM architectures xbmc will use GLES which will make the regular wr= apper fail, so start it directly > -do_install_append_arm() { > - sed -i -e 's:Exec=3Dxbmc:Exec=3D${libdir}/xbmc/xbmc.bin:g' ${D}${dat= adir}/applications/xbmc.desktop > -} > - > -FILES_${PN} +=3D "${datadir}/xsessions ${datadir}/icons" > -FILES_${PN}-dbg +=3D "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${li= bdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug" > - > -# xbmc uses some kind of dlopen() method for libcec so we need to add it= manually > -# OpenGL builds need glxinfo, that's in mesa-demos > -RRECOMMENDS_${PN}_append =3D " libcec \ > - python \ > - python-lang \ > - python-re \ > - python-netclient \ > - libcurl \ > - xdpyinfo \ > - ${@base_contains('DISTRO_FEATURES', 'opengl= ', 'mesa-demos', '', d)} \ > -" > -RRECOMMENDS_${PN}_append_libc-glibc =3D " glibc-charmap-ibm850 glibc-gco= nv-ibm850" > --=20 > 1.9.3 >=20 > --=20 > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-devel --=20 Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com --SfgfV7onya2wNU+g Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iEYEARECAAYFAlP9ylkACgkQN1Ujt2V2gBwJywCePeuxl51mFGwCLS30oV3+sjN2 hNcAniipLrNaGX0I8Ywe3eFHwkkYMbQi =pF1c -----END PGP SIGNATURE----- --SfgfV7onya2wNU+g--