summaryrefslogtreecommitdiffstats
path: root/meta/recipes-multimedia/libmad
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-multimedia/libmad
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadpoky-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
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=&quot;libmad-0.15.1b-pkgconfig.patch&quot;
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"