Libmad

From CBLFS
Jump to navigationJump to search
Download Source: http://prdownloads.sourceforge.net/mad/libmad-0.15.1b.tar.gz
Download Patch: http://svn.cross-lfs.org/svn/repos/patches/libmad/libmad-0.15.1b-fforce-2.patch

Introduction to Libmad

Libmad is a high-quality MPEG audio decoder capable of 24-bit output.

Project Homepage: http://www.underbit.com/products/mad/

Dependencies

Non-Multilib

Configure and compile the package:

patch -Np1 -i ../libmad-0.15.1b-fforce-2.patch &&
./configure --prefix=/usr &&
make

Create a pkg-config file:

cat > mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: mad
Description: MPEG audio decoder
Version: 0.15.1b

Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF

Install the package

make install &&
install -v -m644 mad.pc /usr/lib/pkgconfig

Multilib

32Bit

Configure and compile the package:

patch -Np1 -i ../libmad-0.15.1b-fforce-2.patch &&
CC="gcc ${BUILD32}" ./configure --prefix=/usr &&
make

Create a pkg-config file:

cat > mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

Name: mad
Description: MPEG audio decoder
Version: 0.15.1b

Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF

Install the package

make install &&
mv -v /usr/include/mad{,-32}.h &&
install -v -m644 mad.pc /usr/lib/pkgconfig

N32

Configure and compile the package:

patch -Np1 -i ../libmad-0.15.1b-fforce-2.patch &&
CC="gcc ${BUILDN32}" ./configure --prefix=/usr --libdir=/usr/lib32 &&
make

Create a pkg-config file:

cat > mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib32
includedir=${prefix}/include

Name: mad
Description: MPEG audio decoder
Version: 0.15.1b

Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF

Install the package

make install &&
mv -v /usr/include/mad{,-n32}.h &&
install -v -m644 mad.pc /usr/lib32/pkgconfig

64Bit

Configure and compile the package:

patch -Np1 -i ../libmad-0.15.1b-fforce-2.patch &&
CC="gcc ${BUILD64}" ./configure --prefix=/usr --libdir=/usr/lib64 &&
make

Create a pkg-config file:

cat > mad.pc << "EOF"
prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib64
includedir=${prefix}/include

Name: mad
Description: MPEG audio decoder
Version: 0.15.1b

Libs: -L${libdir} -lmad
Cflags: -I${includedir}
EOF

Install the package

make install &&
mv -v /usr/include/mad{,-64}.h &&
install -v -m644 mad.pc /usr/lib64/pkgconfig

Creating a Stub Header (Multilib Only)

Creating a Generic Stub Header

cat > /usr/include/mad.h << "EOF"
/* mad.h - Stub Header  */
#ifndef __STUB__MAD_H__
#define __STUB__MAD_H__

#if defined(__x86_64__) || \
    defined(__sparc64__) || \
    defined(__arch64__) || \
    defined(__powerpc64__) || \
    defined (__s390x__)
# include "mad-64.h"
#else
# include "mad-32.h"
#endif

#endif /* __STUB__MAD_H__ */
EOF

Creating a Stub Header For Mips

cat > /usr/include/mad.h << "EOF"
/* mad.h - Stub Header  */
#ifndef __STUB__MAD_H__
#define __STUB__MAD_H__

#include <sgidefs.h>

#if (_MIPS_SIM == _ABIO32)
# include "mad-32.h"
#elif (_MIPS_SIM == _ABIN32)
# include "mad-n32.h"
#elif (_MIPS_SIM == _ABI64)
# include "mad-64.h"
#endif

#endif /* __STUB__MAD_H__ */
EOF