package: speex
severity: important
version: 1.2~rc1-1
tags: patch

Currently speex tries to use armv4 assembler on all arm ports. This fails to build on armhf probablly because armhf uses the thumb2 instruction set (it is possible to use
arm instructions but thumb2 is preffered on these processors.

I have attatched a patch to debian/rules which restricts the use of the armv4 assembler
to arm and armel.
diff -ur speex-1.2~rc1/debian/rules speex-1.2~rc1.new/debian/rules
--- speex-1.2~rc1/debian/rules	2011-12-10 05:44:29.000000000 +0000
+++ speex-1.2~rc1.new/debian/rules	2011-12-10 05:11:44.000000000 +0000
@@ -19,6 +19,7 @@
 DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 DEB_HOST_ARCH_CPU  ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
+DEB_HOST_ARCH  ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 
 
 objdir            = objs
@@ -28,7 +29,12 @@
 all_objs  = $(objdir) $(objdir_sse) $(objdir_fixedpoint)
 arch_objs = $(objdir)
 
-ifeq ($(DEB_HOST_ARCH_CPU),arm)
+#we want this on arm and armel but NOT armhf
+ifeq ($(DEB_HOST_ARCH),armel)
+objdir             = $(objdir_fixedpoint)
+EXTRA_CONFIG_FLAGS = --enable-arm4-asm
+endif
+ifeq ($(DEB_HOST_ARCH),arm)
 objdir             = $(objdir_fixedpoint)
 EXTRA_CONFIG_FLAGS = --enable-arm4-asm
 endif

Reply via email to