summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libmad
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-multimedia/libmad')
-rw-r--r--meta/recipes-multimedia/libmad/libmad/add-pkgconfig.patch68
-rw-r--r--meta/recipes-multimedia/libmad/libmad/fix_for_mips_with_gcc-4.5.0.patch31
-rw-r--r--meta/recipes-multimedia/libmad/libmad/no-force-mem.patch16
-rw-r--r--meta/recipes-multimedia/libmad/libmad_0.15.1b.bb32
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 @@
1Here is a patch for adding pkg-config support to libmad.
2It would make life a bit easier for distro maintainers if this was applied.
3In case you didn't know, pkg-config is a tool for providing LDFLAGS and
4CFLAGS for packages using shared libraries. It's on freedesktop.org.
5Debian has already been distributing the pkg-config file mad.pc with
6libmad for some time, and people developing on debian (notably xmms2
7developers) have started relying on this support being present, causing
8some confusion for people installing from source and on some BSDs which
9do not provide mad.pc (google: pkgconfig libmad).
10
11EMH
12
13--h31gzZEtNLTqOjlF
14Content-Type: text/plain; charset=us-ascii
15Content-Disposition: attachment; filename="libmad-0.15.1b-pkgconfig.patch"
16
17diff -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
27diff -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}
45diff -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 @@
1gcc 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
3so the libmad build with gcc-4.5.0 was failing.
4
5Found a solution here:
6
7http://us.generation-nt.com/answer/bug-568418-libmad0-dev-mpg321-compilation-errors-mips-mipsel-architectures-help-169033451.html
8
92010/07/29
10Nitin A Kamble <nitin.a.kamble@intel.com>
11
12Index: 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 @@
1This option no longer exists in gcc 3.4.1
2
3RP - 18/07/2008
4
5Index: 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 @@
1DESCRIPTION = "MPEG Audio Decoder Library"
2HOMEPAGE = "http://sourceforge.net/projects/mad/"
3BUGTRACKER = "http://sourceforge.net/tracker/?group_id=12349&atid=112349"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
6 file://COPYRIGHT;md5=8e55eb14894e782b84488d5a239bc23d \
7 file://version.h;beginline=1;endline=8;md5=aa07311dd39288d4349f28e1de516454"
8SECTION = "libs"
9PRIORITY = "optional"
10DEPENDS = "libid3tag"
11PR = "r2"
12
13SRC_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
18S = "${WORKDIR}/libmad-${PV}"
19
20inherit autotools pkgconfig
21
22EXTRA_OECONF = "-enable-speed --enable-shared"
23# The ASO's don't take any account of thumb...
24EXTRA_OECONF_append_thumb = " --disable-aso --enable-fpm=default"
25EXTRA_OECONF_append_arm = " --enable-fpm=arm"
26
27do_configure_prepend () {
28# damn picky automake...
29 touch NEWS AUTHORS ChangeLog
30}
31
32ARM_INSTRUCTION_SET = "arm"