[oe-commits] Frans Meulenbroeks : pulseaudio: made 0.9. 21 compile for armv4 and armv5 too
git version control
git at git.openembedded.org
Thu Sep 9 19:13:48 UTC 2010
Module: openembedded.git
Branch: org.openembedded.dev
Commit: 976ab4b4587d548c0483a274058c5359cb72bf1b
URL: http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=976ab4b4587d548c0483a274058c5359cb72bf1b
Author: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
Date: Thu Sep 9 21:08:12 2010 +0200
pulseaudio: made 0.9.21 compile for armv4 and armv5 too
there was some armv6 asm in here.
Fortunately the function with much inline asm was only
called for armv6 or higher so this is ifdef'd out for all
armv4 and armv5 variants.
Also there was a single instruction but the code also had a C
alternative so again only some defines were needed
Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks at gmail.com>
---
.../pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch | 57 ++++++++++++++++++++
recipes/pulseaudio/pulseaudio.inc | 2 +-
recipes/pulseaudio/pulseaudio_0.9.21.bb | 3 +
3 files changed, 61 insertions(+), 1 deletions(-)
diff --git a/recipes/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch b/recipes/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch
new file mode 100644
index 0000000..b5ecae9
--- /dev/null
+++ b/recipes/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch
@@ -0,0 +1,57 @@
+Index: pulseaudio-0.9.21/src/pulsecore/svolume_arm.c
+===================================================================
+--- pulseaudio-0.9.21.orig/src/pulsecore/svolume_arm.c
++++ pulseaudio-0.9.21/src/pulsecore/svolume_arm.c
+@@ -37,6 +37,14 @@
+
+ #if defined (__arm__)
+
++/*
++ the code below uses armv6 instructions; we can safely ifdef this away as the code is only
++ called if the arm architecture is v6 or higher
++*/
++#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \
++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \
++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__))
++
+ #define MOD_INC() \
+ " subs r0, r6, %2 \n\t" \
+ " addcs r0, %1 \n\t" \
+@@ -179,11 +187,15 @@ static void run_test (void) {
+ }
+ #endif
+
++#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */
+ #endif /* defined (__arm__) */
+
+
+ void pa_volume_func_init_arm (pa_cpu_arm_flag_t flags) {
+ #if defined (__arm__)
++#if (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \
++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \
++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__))
+ pa_log_info("Initialising ARM optimized functions.");
+
+ #ifdef RUN_TEST
+@@ -191,5 +203,6 @@ void pa_volume_func_init_arm (pa_cpu_arm
+ #endif
+
+ pa_set_volume_func (PA_SAMPLE_S16NE, (pa_do_volume_func_t) pa_volume_s16ne_arm);
++#endif /* (!defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) ... */
+ #endif /* defined (__arm__) */
+ }
+Index: pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h
+===================================================================
+--- pulseaudio-0.9.21.orig/src/modules/bluetooth/sbc_math.h
++++ pulseaudio-0.9.21/src/modules/bluetooth/sbc_math.h
+@@ -47,7 +47,9 @@ typedef int32_t sbc_fixed_t;
+
+ #define SBC_FIXED_0(val) { val = 0; }
+ #define MUL(a, b) ((a) * (b))
+-#ifdef __arm__
++#if (defined(__arm__) && !defined (__ARM_ARCH_4__) && !defined (__ARM_ARCH_4T__) \
++ && !defined (__ARM_ARCH_5__)&& !defined (__ARM_ARCH_5E__) && !defined (__ARM_ARCH_5T__) \
++ && !defined (__ARM_ARCH_5TE__) && !defined (__ARM_ARCH_5TEJ__))
+ #define MULA(a, b, res) ({ \
+ int tmp = res; \
+ __asm__( \
diff --git a/recipes/pulseaudio/pulseaudio.inc b/recipes/pulseaudio/pulseaudio.inc
index a733038..138c0b6 100644
--- a/recipes/pulseaudio/pulseaudio.inc
+++ b/recipes/pulseaudio/pulseaudio.inc
@@ -6,7 +6,7 @@ LICENSE = "LGPL"
DEPENDS = "bluez4 libatomics-ops liboil avahi libsamplerate0 libsndfile1 libtool hal virtual/libx11"
# optional
DEPENDS += "alsa-lib glib-2.0 dbus consolekit hal openssl"
-INC_PR = "r10"
+INC_PR = "r0"
SRC_URI = "http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-${PV}.tar.gz \
file://gcc4-compile-fix.patch \
diff --git a/recipes/pulseaudio/pulseaudio_0.9.21.bb b/recipes/pulseaudio/pulseaudio_0.9.21.bb
index 8be0ea2..4fcd189 100644
--- a/recipes/pulseaudio/pulseaudio_0.9.21.bb
+++ b/recipes/pulseaudio/pulseaudio_0.9.21.bb
@@ -1,5 +1,7 @@
require pulseaudio.inc
+PR = ${INC_PR}.1
+
DEPENDS += "gdbm speex"
DEFAULT_PREFERENCE_om-gta01 = "-1"
@@ -13,6 +15,7 @@ SRC_URI += "\
file://autoconf_version.patch \
file://tls_m4.patch \
file://configure_silent_rules.patch \
+ file://armv4+v5asm.patch \
"
do_compile_prepend() {
More information about the Openembedded-commits
mailing list