1SUMMARY = "Opus Audio Codec"
2DESCRIPTION = "The Opus codec is designed for interactive \
3speech and audio transmission over the Internet. It is \
4designed by the IETF Codec Working Group and incorporates \
5technology from Skype's SILK codec and Xiph.Org's CELT codec."
6HOMEPAGE = "http://www.opus-codec.org/"
7SECTION = "libs/multimedia"
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM = "file://COPYING;md5=4b365c2155d66e550e1447075d6744a5"
10
11SRC_URI = "http://downloads.xiph.org/releases/opus/opus-${PV}.tar.gz"
12SRC_URI[sha256sum] = "b84610959b8d417b611aa12a22565e0a3732097c6389d19098d844543e340f85"
13
14S = "${WORKDIR}/opus-${PV}"
15
16inherit autotools pkgconfig
17
18PACKAGECONFIG ??= ""
19PACKAGECONFIG[fixed-point] = "--enable-fixed-point,,"
20PACKAGECONFIG[float-approx] = "--enable-float-approx,,"
21
22EXTRA_OECONF = " \
23    --with-NE10-includes=${STAGING_DIR_TARGET}${includedir} \
24    --with-NE10-libraries=${STAGING_DIR_TARGET}${libdir} \
25    --enable-asm \
26    --enable-intrinsics \
27    --enable-custom-modes \
28"
29
30# ne10 is available only for armv7a, armv7ve and aarch64
31DEPENDS:append:aarch64 = " ne10"
32DEPENDS:append:armv7a = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
33DEPENDS:append:armv7ve = "${@bb.utils.contains("TUNE_FEATURES","neon"," ne10","",d)}"
34
35python () {
36    if d.getVar('TARGET_FPU') in [ 'soft' ]:
37        d.appendVar('PACKAGECONFIG', ' fixed-point')
38}
39
40# Fails to build with thumb-1 (qemuarm)
41#| {standard input}: Assembler messages:
42#| {standard input}:389: Error: selected processor does not support Thumb mode `smull r5,r7,r1,r4'
43#| {standard input}:418: Error: selected processor does not support Thumb mode `smull r5,r6,r4,r1'
44#| {standard input}:448: Error: selected processor does not support Thumb mode `smull r4,r5,r1,r0'
45#| {standard input}:474: Error: selected processor does not support Thumb mode `smull r0,r4,r8,r1'
46#| {standard input}:510: Error: selected processor does not support Thumb mode `smull fp,r0,r10,r1'
47#| {standard input}:553: Error: selected processor does not support Thumb mode `smull fp,r1,r10,r3'
48#| {standard input}:741: Error: selected processor does not support Thumb mode `smull r3,r0,r6,r10'
49#| {standard input}:761: Error: selected processor does not support Thumb mode `smull fp,r2,r3,r9'
50#| {standard input}:773: Error: selected processor does not support Thumb mode `smull fp,r3,r5,r8'
51#| make[2]: *** [celt/celt.lo] Error 1
52ARM_INSTRUCTION_SET:armv5 = "arm"
53
54BBCLASSEXTEND = "native nativesdk"
55
56CVE_PRODUCT += "opus-codec:opus"
57