mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-05-30 00:50:00 +00:00
xbmc: add git version based on HEAD of eden branch
Runtime tested on beagleboard/angstrom Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
+31
@@ -0,0 +1,31 @@
|
|||||||
|
From 46d747f48a5e099644c37cc5e345960d714ff5d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Koen Kooi <koen@dominion.thruhere.net>
|
||||||
|
Date: Sat, 17 Dec 2011 11:38:15 +0100
|
||||||
|
Subject: [PATCH 1/4] configure: don't run python distutils to find STAGING_INCDIR/python, it is not safe for per-machine sysroots
|
||||||
|
|
||||||
|
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
|
||||||
|
---
|
||||||
|
m4/ax_python_devel.m4 | 7 +------
|
||||||
|
1 files changed, 1 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/m4/ax_python_devel.m4 b/m4/ax_python_devel.m4
|
||||||
|
index adbd207..dee70f6 100644
|
||||||
|
--- a/m4/ax_python_devel.m4
|
||||||
|
+++ b/m4/ax_python_devel.m4
|
||||||
|
@@ -151,12 +151,7 @@ $ac_distutils_result])
|
||||||
|
#
|
||||||
|
AC_MSG_CHECKING([for Python include path])
|
||||||
|
if test -z "$PYTHON_CPPFLAGS"; then
|
||||||
|
- python_path=`$PYTHON -c "import distutils.sysconfig; \
|
||||||
|
- print (distutils.sysconfig.get_python_inc ());"`
|
||||||
|
- if test -n "${python_path}"; then
|
||||||
|
- python_path="-I$python_path"
|
||||||
|
- fi
|
||||||
|
- PYTHON_CPPFLAGS=$python_path
|
||||||
|
+ PYTHON_CPPFLAGS="-I${STAGING_INCDIR}/${PYTHON_DIR}"
|
||||||
|
fi
|
||||||
|
AC_MSG_RESULT([$PYTHON_CPPFLAGS])
|
||||||
|
AC_SUBST([PYTHON_CPPFLAGS])
|
||||||
|
--
|
||||||
|
1.7.2.5
|
||||||
|
|
||||||
+97
@@ -0,0 +1,97 @@
|
|||||||
|
From 84494a538fe3b2aad64ef82673a3a2b576acb7f4 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Menzel <paulepanter@users.sourceforge.net>
|
||||||
|
Date: Sun, 14 Aug 2011 21:53:47 +0200
|
||||||
|
Subject: [PATCH 2/4] Revert "fixed:[ios] Add memory barriers to atomic Add/Subtract and Increment/Decrement functions to ensure synchronized accesses."
|
||||||
|
|
||||||
|
This reverts commit 9a10c48710df79118e39e9b3bb0a15bf1fe694d1.
|
||||||
|
|
||||||
|
The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
|
||||||
|
|
||||||
|
make -C xbmc/threads
|
||||||
|
make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
|
||||||
|
CPP Atomics.o
|
||||||
|
/tmp/ccIzTm3L.s: Assembler messages:
|
||||||
|
/tmp/ccIzTm3L.s:40: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:48: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:76: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:83: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:111: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:118: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:145: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:152: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:180: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccIzTm3L.s:187: Error: garbage following instruction -- `dmb ish'
|
||||||
|
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+9a10c48710df79118e39e9b3bb0a15bf1fe694d1/git/xbmc/threads'
|
||||||
|
make: *** [xbmc/threads/threads.a] Error 2
|
||||||
|
---
|
||||||
|
xbmc/threads/Atomics.cpp | 8 --------
|
||||||
|
1 files changed, 0 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
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)
|
||||||
|
{
|
||||||
|
register long val;
|
||||||
|
asm volatile (
|
||||||
|
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
||||||
|
"1: \n"
|
||||||
|
"ldrex %0, [%1] \n" // (val = *pAddr)
|
||||||
|
"add %0, #1 \n" // (val += 1)
|
||||||
|
"strex r1, %0, [%1] \n"
|
||||||
|
"cmp r1, #0 \n"
|
||||||
|
"bne 1b \n"
|
||||||
|
- "dmb ish \n" // Memory barrier.
|
||||||
|
: "=&r" (val)
|
||||||
|
: "r"(pAddr)
|
||||||
|
: "r1"
|
||||||
|
@@ -273,14 +271,12 @@ long AtomicAdd(volatile long* pAddr, long amount)
|
||||||
|
{
|
||||||
|
register long val;
|
||||||
|
asm volatile (
|
||||||
|
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
||||||
|
"1: \n"
|
||||||
|
"ldrex %0, [%1] \n" // (val = *pAddr)
|
||||||
|
"add %0, %2 \n" // (val += amount)
|
||||||
|
"strex r1, %0, [%1] \n"
|
||||||
|
"cmp r1, #0 \n"
|
||||||
|
"bne 1b \n"
|
||||||
|
- "dmb ish \n" // Memory barrier.
|
||||||
|
: "=&r" (val)
|
||||||
|
: "r"(pAddr), "r"(amount)
|
||||||
|
: "r1"
|
||||||
|
@@ -351,14 +347,12 @@ long AtomicDecrement(volatile long* pAddr)
|
||||||
|
{
|
||||||
|
register long val;
|
||||||
|
asm volatile (
|
||||||
|
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
||||||
|
"1: \n"
|
||||||
|
"ldrex %0, [%1] \n" // (val = *pAddr)
|
||||||
|
"sub %0, #1 \n" // (val -= 1)
|
||||||
|
"strex r1, %0, [%1] \n"
|
||||||
|
"cmp r1, #0 \n"
|
||||||
|
"bne 1b \n"
|
||||||
|
- "dmb ish \n" // Memory barrier.
|
||||||
|
: "=&r" (val)
|
||||||
|
: "r"(pAddr)
|
||||||
|
: "r1"
|
||||||
|
@@ -431,14 +425,12 @@ long AtomicSubtract(volatile long* pAddr, long amount)
|
||||||
|
{
|
||||||
|
register long val;
|
||||||
|
asm volatile (
|
||||||
|
- "dmb ish \n" // Memory barrier. Make sure all memory accesses appearing before this complete before any that appear after
|
||||||
|
"1: \n"
|
||||||
|
"ldrex %0, [%1] \n" // (val = *pAddr)
|
||||||
|
"sub %0, %2 \n" // (val -= amount)
|
||||||
|
"strex r1, %0, [%1] \n"
|
||||||
|
"cmp r1, #0 \n"
|
||||||
|
"bne 1b \n"
|
||||||
|
- "dmb ish \n" // Memory barrier.
|
||||||
|
: "=&r" (val)
|
||||||
|
: "r"(pAddr), "r"(amount)
|
||||||
|
: "r1"
|
||||||
|
--
|
||||||
|
1.7.2.5
|
||||||
|
|
||||||
+69
@@ -0,0 +1,69 @@
|
|||||||
|
From 7ed1e824d92b014aeb3c8855f807af022cd21475 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paul Menzel <paulepanter@users.sourceforge.net>
|
||||||
|
Date: Sun, 14 Aug 2011 21:55:09 +0200
|
||||||
|
Subject: [PATCH 3/4] Revert "fixed:[ios] Add memory barriers to cas() assembly to ensure alignment of memory accesses."
|
||||||
|
|
||||||
|
This reverts commit 92bab651e2253d172879995b50985645b77fecd2.
|
||||||
|
|
||||||
|
The build (OpenEmbedded `angstrom-2010.x` for `MACHINE = "beagleboard") fails with the following error.
|
||||||
|
|
||||||
|
CPP Atomics.o
|
||||||
|
make[1]: Entering directory `/oe/build-angstrom-next/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/xbmc-10.05-r11+gitr0+92bab651e2253d172879995b50985645b77fecd2/git/xbmc/windows'
|
||||||
|
CPP GUIMediaWindow.o
|
||||||
|
/tmp/ccrsywuV.s: Assembler messages:
|
||||||
|
/tmp/ccrsywuV.s:40: Error: garbage following instruction -- `dmb ish'
|
||||||
|
/tmp/ccrsywuV.s:48: Error: garbage following instruction -- `dmb ish'
|
||||||
|
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+92bab651e2253d172879995b50985645b77fecd2/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, long swapVal)
|
||||||
|
#elif defined(__arm__)
|
||||||
|
long cas(volatile long* pAddr, long expectedVal, long swapVal)
|
||||||
|
{
|
||||||
|
- register long prev;
|
||||||
|
- asm volatile (
|
||||||
|
- "dmb ish \n" // Memory barrier. Make sure all memory 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) == 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"
|
||||||
|
- : "=&r" (prev)
|
||||||
|
- : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
|
||||||
|
- : "r1"
|
||||||
|
- );
|
||||||
|
- return prev;
|
||||||
|
+ return(__sync_val_compare_and_swap(pAddr, expectedVal, swapVal));
|
||||||
|
+// register long prev;
|
||||||
|
+// asm volatile (
|
||||||
|
+// "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) == 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"
|
||||||
|
+// "2: "
|
||||||
|
+// : "=&r" (prev)
|
||||||
|
+// : "r"(pAddr), "r"(expectedVal),"r"(swapVal)
|
||||||
|
+// : "r1"
|
||||||
|
+// );
|
||||||
|
+// return prev;
|
||||||
|
}
|
||||||
|
|
||||||
|
#elif defined(__mips__)
|
||||||
|
--
|
||||||
|
1.7.2.5
|
||||||
|
|
||||||
@@ -0,0 +1,64 @@
|
|||||||
|
DESCRIPTION = "XBMC Media Center"
|
||||||
|
|
||||||
|
LICENSE = "GPLv2"
|
||||||
|
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=6eb631b6da7fdb01508a80213ffc35ff"
|
||||||
|
|
||||||
|
DEPENDS = "expat yajl gperf-native libxmu fribidi mpeg2dec ffmpeg samba fontconfig curl python libass libmodplug libmicrohttpd wavpack libmms cmake-native libsdl-image libsdl-mixer virtual/egl mysql5 sqlite3 libmms faad2 libcdio libpcre boost lzo enca avahi libsamplerate0 libxinerama libxrandr libxtst bzip2 virtual/libsdl jasper zip-native zlib"
|
||||||
|
#require recipes/egl/egl.inc
|
||||||
|
|
||||||
|
SRCREV = "379d13c8e9a0e64f1f36b3fb216e5caedb0df73e"
|
||||||
|
|
||||||
|
PV = "11.0"
|
||||||
|
PR = "r0"
|
||||||
|
PR_append = "+gitr${SRCPV}"
|
||||||
|
SRC_URI = "git://github.com/xbmc/xbmc.git;branch=eden;protocol=git \
|
||||||
|
file://0001-configure-don-t-run-python-distutils-to-find-STAGING.patch \
|
||||||
|
file://0002-Revert-fixed-ios-Add-memory-barriers-to-atomic-Add-S.patch \
|
||||||
|
file://0003-Revert-fixed-ios-Add-memory-barriers-to-cas-assembly.patch \
|
||||||
|
"
|
||||||
|
|
||||||
|
inherit autotools gettext python-dir
|
||||||
|
|
||||||
|
S = "${WORKDIR}/git"
|
||||||
|
|
||||||
|
EXTRA_OECONF = " \
|
||||||
|
--disable-rpath \
|
||||||
|
--enable-gles \
|
||||||
|
--disable-optical-drive \
|
||||||
|
--enable-external-libraries \
|
||||||
|
"
|
||||||
|
|
||||||
|
# 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 = ""
|
||||||
|
|
||||||
|
do_compile_prepend() {
|
||||||
|
|
||||||
|
sed -i -e 's:-rpath \$(libdir)::g' lib/libid3tag/libid3tag/Makefile
|
||||||
|
|
||||||
|
for i in $(find . -name "Makefile") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir):-rpath ${STAGING_LIBDIR}:g' $i
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $(find . -name "*.mak*") ; do
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir)::g' $i
|
||||||
|
done
|
||||||
|
sed -i -e 's:I/usr/include:I${STAGING_INCDIR}:g' -e 's:-rpath \$(libdir)::g' ${S}/Makefile
|
||||||
|
}
|
||||||
|
|
||||||
|
FILES_${PN} += "${datadir}/xsessions ${datadir}/icons"
|
||||||
|
FILES_${PN}-dbg += "${libdir}/xbmc/.debug ${libdir}/xbmc/*/.debug ${libdir}/xbmc/*/*/.debug ${libdir}/xbmc/*/*/*/.debug"
|
||||||
|
|
||||||
|
RRECOMMENDS_${PN}_libc-glibc += "glibc-charmap-ibm850 glibc-gconv-ibm850"
|
||||||
|
|
||||||
|
|
||||||
Reference in New Issue
Block a user