aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/pulseaudio
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-09-09 21:08:12 +0200
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-09-09 21:10:00 +0200
commit976ab4b4587d548c0483a274058c5359cb72bf1b (patch)
tree7ad1f5dc14e43e845259ffd1e47ee7ec007d388e /recipes/pulseaudio
parent40385480d7434ffec488de56b05fa1a5a3382e05 (diff)
downloadopenembedded-976ab4b4587d548c0483a274058c5359cb72bf1b.tar.gz
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@gmail.com>
Diffstat (limited to 'recipes/pulseaudio')
-rw-r--r--recipes/pulseaudio/pulseaudio-0.9.21/armv4+v5asm.patch57
-rw-r--r--recipes/pulseaudio/pulseaudio.inc2
-rw-r--r--recipes/pulseaudio/pulseaudio_0.9.21.bb3
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 0000000000..b5ecae9d27
--- /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 a73303851c..138c0b6491 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 8be0ea2d0f..4fcd189d20 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() {