summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb
diff options
context:
space:
mode:
authorTanu Kaskinen <tanu.kaskinen@linux.intel.com>2015-07-09 13:43:13 +0300
committerRichard Purdie <richard.purdie@linuxfoundation.org>2015-07-16 14:51:14 +0100
commit28b7bccd226c4d9040ef0d8199a29e74f2da72b1 (patch)
treee84d2df8b88e36396d0943fd43b21f07a478d30d /meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb
parent6be698b7270f73f40d38713ecf13f12aec0ced61 (diff)
downloadopenembedded-core-contrib-28b7bccd226c4d9040ef0d8199a29e74f2da72b1.tar.gz
speexdsp: initial recipe
speexdsp was split off from speex in 1.2rc2, so we need a separate recipe for speexdsp when before we can upgrade speex. The speex recipe has so far used the --enable-fixed-point configure option unconditionally, but I believe that was a mistake, so I dropped that. The option is still enabled if TARGET_FPU is set to "soft". Commit e8f707f16a38d85535593a32efff6dcbf4ddb203 added the TARGET_FPU check, and I think that commit should have removed --enable-fixed-point from the static configure options, like it removed --disable-float-api. The NEON code caused a build failure on qemuarm64. As a workaround, I disabled NEON optimizations when building for aarch64. I added a patch that fixes a build failure in alsa-plugins. Compiling alsa-plugins against the new speexdsp version without the patch resulted in this error: In file included from .../usr/include/speex/speexdsp_types.h:122:0, from .../usr/include/speex/speex_preprocess.h:46, from .../alsa-plugins-1.0.29/speex/pcm_speex.c:23: .../usr/include/speex/speexdsp_config_types.h:13:9: error: unknown type name 'uint16_t' typedef uint16_t spx_uint16_t; ^ (From OE-Core rev: bb826645d188e5ea78718f3ad4b2e420eec3b354) Signed-off-by: Tanu Kaskinen <tanu.kaskinen@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb')
-rw-r--r--meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb39
1 files changed, 39 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb b/meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb
new file mode 100644
index 0000000000..6b1acedbef
--- /dev/null
+++ b/meta/recipes-multimedia/speex/speexdsp_1.2rc3.bb
@@ -0,0 +1,39 @@
+SUMMARY = "A patent-free DSP library"
+DESCRIPTION = "SpeexDSP is a patent-free, Open Source/Free Software DSP library."
+HOMEPAGE = "http://www.speex.org"
+SECTION = "libs"
+LICENSE = "BSD"
+LIC_FILES_CHKSUM = "file://COPYING;md5=314649d8ba9dd7045dfb6683f298d0a8"
+
+SRC_URI = "http://downloads.xiph.org/releases/speex/speexdsp-${PV}.tar.gz \
+ file://0001-Don-t-rely-on-HAVE_STDINT_H-et-al.-being-defined.patch"
+
+SRC_URI[md5sum] = "70d9d31184f7eb761192fd1ef0b73333"
+SRC_URI[sha256sum] = "4ae688600039f5d224bdf2e222d2fbde65608447e4c2f681585e4dca6df692f1"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "\
+ --disable-examples \
+ ${@bb.utils.contains('TARGET_FPU', 'soft', '--enable-fixed-point --disable-float-api', '', d)} \
+"
+
+# Workaround for a build failure when building with MACHINE=qemuarm64. I think
+# aarch64 is supposed to support NEON just fine, but building for qemuarm64
+# fails in NEON code:
+#
+# .../speexdsp-1.2rc3/libspeexdsp/resample_neon.h:148:5: error: impossible constraint in 'asm'
+# asm volatile (" cmp %[len], #0\n"
+# ^
+#
+# I sent an email about the issue to speex-dev. At the time of writing there
+# are no responses yet:
+# http://thread.gmane.org/gmane.comp.audio.compression.speex.devel/7360
+EXTRA_OECONF += "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', '--disable-neon', '', d)}"
+
+# speexdsp was split off from speex in 1.2rc2. Older versions of speex can't
+# be installed together with speexdsp, since they contain overlapping files.
+RCONFLICTS_${PN} = "speex (< 1.2rc2)"
+RCONFLICTS_${PN}-dbg = "speex-dbg (< 1.2rc2)"
+RCONFLICTS_${PN}-dev = "speex-dev (< 1.2rc2)"
+RCONFLICTS_${PN}-staticdev = "speex-staticdev (< 1.2rc2)"