diff options
Diffstat (limited to 'meta/recipes-multimedia/libmad')
4 files changed, 147 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch new file mode 100644 index 0000000000..636b27a928 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch | |||
@@ -0,0 +1,68 @@ | |||
1 | Here is a patch for adding pkg-config support to libmad. | ||
2 | It would make life a bit easier for distro maintainers if this was applied. | ||
3 | In case you didn't know, pkg-config is a tool for providing LDFLAGS and | ||
4 | CFLAGS for packages using shared libraries. It's on freedesktop.org. | ||
5 | Debian has already been distributing the pkg-config file mad.pc with | ||
6 | libmad for some time, and people developing on debian (notably xmms2 | ||
7 | developers) have started relying on this support being present, causing | ||
8 | some confusion for people installing from source and on some BSDs which | ||
9 | do not provide mad.pc (google: pkgconfig libmad). | ||
10 | |||
11 | EMH | ||
12 | |||
13 | --h31gzZEtNLTqOjlF | ||
14 | Content-Type: text/plain; charset=us-ascii | ||
15 | Content-Disposition: attachment; filename="libmad-0.15.1b-pkgconfig.patch" | ||
16 | |||
17 | diff -Naur libmad-0.15.1b.old/configure.ac libmad-0.15.1b/configure.ac | ||
18 | --- libmad-0.15.1b.old/configure.ac 2004-01-23 10:41:32.000000000 +0100 | ||
19 | +++ libmad-0.15.1b/configure.ac 2004-08-07 02:25:24.633462168 +0200 | ||
20 | @@ -429,5 +429,5 @@ | ||
21 | dnl AC_SUBST(LTLIBOBJS) | ||
22 | |||
23 | AC_CONFIG_FILES([Makefile msvc++/Makefile \ | ||
24 | - libmad.list]) | ||
25 | + libmad.list mad.pc]) | ||
26 | AC_OUTPUT | ||
27 | diff -Naur libmad-0.15.1b.old/mad.pc.in libmad-0.15.1b/mad.pc.in | ||
28 | --- libmad-0.15.1b.old/mad.pc.in 1970-01-01 01:00:00.000000000 +0100 | ||
29 | +++ libmad-0.15.1b/mad.pc.in 2004-08-07 02:04:59.617692872 +0200 | ||
30 | @@ -0,0 +1,14 @@ | ||
31 | +# libmad pkg-config source file | ||
32 | + | ||
33 | +prefix=@prefix@ | ||
34 | +exec_prefix=@exec_prefix@ | ||
35 | +libdir=@libdir@ | ||
36 | +includedir=@includedir@ | ||
37 | + | ||
38 | +Name: mad | ||
39 | +Description: MPEG Audio Decoder | ||
40 | +Version: @VERSION@ | ||
41 | +Requires: | ||
42 | +Conflicts: | ||
43 | +Libs: -L${libdir} -lmad -lm | ||
44 | +Cflags: -I${includedir} | ||
45 | diff -Naur libmad-0.15.1b.old/Makefile.am libmad-0.15.1b/Makefile.am | ||
46 | --- libmad-0.15.1b.old/Makefile.am 2004-02-17 03:02:03.000000000 +0100 | ||
47 | +++ libmad-0.15.1b/Makefile.am 2004-08-07 02:03:19.859858368 +0200 | ||
48 | @@ -24,6 +24,9 @@ | ||
49 | SUBDIRS = | ||
50 | DIST_SUBDIRS = msvc++ | ||
51 | |||
52 | +pkgconfigdir = $(libdir)/pkgconfig | ||
53 | +pkgconfig_DATA = mad.pc | ||
54 | + | ||
55 | lib_LTLIBRARIES = libmad.la | ||
56 | include_HEADERS = mad.h | ||
57 | |||
58 | @@ -34,7 +37,8 @@ | ||
59 | minimad_LDADD = libmad.la | ||
60 | |||
61 | EXTRA_DIST = mad.h.sed \ | ||
62 | - CHANGES COPYRIGHT CREDITS README TODO VERSION | ||
63 | + CHANGES COPYRIGHT CREDITS README TODO VERSION \ | ||
64 | + mad.pc.in | ||
65 | |||
66 | exported_headers = version.h fixed.h bit.h timer.h stream.h frame.h \ | ||
67 | synth.h decoder.h | ||
68 | |||
diff --git a/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch new file mode 100644 index 0000000000..785a8a22db --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | gcc 4.4 did this: The MIPS port no longer recognizes the h asm constraint. It was necessary to remove this constraint in order to avoid generating unpredictable code sequences. | ||
2 | |||
3 | so the libmad build with gcc-4.5.0 was failing. | ||
4 | |||
5 | Found a solution here: | ||
6 | |||
7 | http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html | ||
8 | |||
9 | 2010/07/29 | ||
10 | Nitin A Kamble <nitin.a.kamble@intel.com> | ||
11 | |||
12 | Index: libmad-0.15.1b/fixed.h | ||
13 | =================================================================== | ||
14 | --- libmad-0.15.1b.orig/fixed.h | ||
15 | +++ libmad-0.15.1b/fixed.h | ||
16 | @@ -297,6 +297,15 @@ mad_fixed_t mad_f_mul_inline(mad_fixed_t | ||
17 | |||
18 | /* --- MIPS ---------------------------------------------------------------- */ | ||
19 | |||
20 | +# elif defined(FPM_MIPS) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) | ||
21 | + typedef unsigned int u64_di_t __attribute__ ((mode (DI))); | ||
22 | +# define MAD_F_MLX(hi, lo, x, y) \ | ||
23 | + do { \ | ||
24 | + u64_di_t __ll = (u64_di_t) (x) * (y); \ | ||
25 | + hi = __ll >> 32; \ | ||
26 | + lo = __ll; \ | ||
27 | + } while (0) | ||
28 | + | ||
29 | # elif defined(FPM_MIPS) | ||
30 | |||
31 | /* | ||
diff --git a/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch new file mode 100644 index 0000000000..d4dab7556d --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad/no-force-mem.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | This option no longer exists in gcc 3.4.1 | ||
2 | |||
3 | RP - 18/07/2008 | ||
4 | |||
5 | Index: libmad-0.15.1b/configure.ac | ||
6 | =================================================================== | ||
7 | --- libmad-0.15.1b.orig/configure.ac 2008-07-18 15:45:30.000000000 +0100 | ||
8 | +++ libmad-0.15.1b/configure.ac 2008-07-18 15:45:37.000000000 +0100 | ||
9 | @@ -140,7 +140,6 @@ | ||
10 | case "$optimize" in | ||
11 | -O|"-O "*) | ||
12 | optimize="-O" | ||
13 | - optimize="$optimize -fforce-mem" | ||
14 | optimize="$optimize -fforce-addr" | ||
15 | : #x optimize="$optimize -finline-functions" | ||
16 | : #- optimize="$optimize -fstrength-reduce" | ||
diff --git a/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb new file mode 100644 index 0000000000..acc9df5501 --- /dev/null +++ b/meta/recipes-multimedia/libmad/libmad_0.15.1b.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | DESCRIPTION = "MPEG Audio Decoder Library" | ||
2 | HOMEPAGE = "http://sourceforge.net/projects/mad/" | ||
3 | BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
6 | file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \ | ||
7 | file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454" | ||
8 | SECTION = "libs" | ||
9 | PRIORITY = "optional" | ||
10 | DEPENDS = "libid3tag" | ||
11 | PR = "r2" | ||
12 | |||
13 | SRC_URI = "${SOURCEFORGE_MIRROR}/mad/libmad-${PV}.tar.gz \ | ||
14 | file://no-force-mem.patch \ | ||
15 | file://add-pkgconfig.patch \ | ||
16 | file://fix_for_mips_with_gcc-4.5.0.patch" | ||
17 | |||
18 | S = "${WORKDIR}/libmad-${PV}" | ||
19 | |||
20 | inherit autotools pkgconfig | ||
21 | |||
22 | EXTRA_OECONF = "-enable-speed --enable-shared" | ||
23 | # The ASO's don't take any account of thumb... | ||
24 | EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default" | ||
25 | EXTRA_OECONF_append_arm = " --enable-fpm=arm" | ||
26 | |||
27 | do_configure_prepend () { | ||
28 | # damn picky automake... | ||
29 | touch NEWS AUTHORS ChangeLog | ||
30 | } | ||
31 | |||
32 | ARM_INSTRUCTION_SET = "arm" | ||