FLAC

From CBLFS
Revision as of 03:14, 24 October 2008 by Mungo (talk | contribs) (Non-Multilib)
Jump to navigationJump to search
Download Source: http://downloads.xiph.org/releases/flac/flac-1.3.0.tar.gz

Introduction to FLAC

FLAC stands for Free Lossless Audio Codec. It's an audio format similar to Ogg Vorbis (libvorbis) and MP3 (LAME), but lossless, meaning that audio is compressed in FLAC without any loss in quality.

Naturally, because FLAC is lossless it does not compress as well as Vorbis or MP3 (which are lossy), but unlike Vorbis and MP3, FLAC-encoded files can be safely converted into other audio codecs (including Vorbis and MP3) - precisely because no data was lost when the file was converted into FLAC in the first place. As such, even if you don't have the disk space to have your audio files in FLAC for normal use, FLAC works quite well for archiving them. That way you can convert them into whatever audio codec you may need in the future. Of course, if you do have the disk space, FLAC works as well as - or even better than - Vorbis and MP3 when it comes to audio playback.

Project Homepage: http://flac.sourceforge.net/

Dependencies

Optional

Additional Configuration Options

Test Suite Related Flags

--enable-exhaustive-tests: Enable exhaustive tesing (VERY long).

--enable-valgrind-testing: Run all tests inside Valgrind.

--disable-thorough-tests: Disable thorough (long) testing, do only basic tests.

--disable-oggtest: Do not try to compile and run a test Ogg (libogg) program.

CPU Instruction Related Flags

The following flags have to do with what instruction sets your CPU has (and thus whether the build will optimize for that instruction set). If you want to know whether a given instruction set is supported by your CPU, run cat /proc/cpuinfo and take look at the "flags" section. You will probably want to enable or disable the various instruction set optimizations based on which ones your CPU supports.

--enable-sse: Enable SSE support by asserting that the OS supports SSE instructions.

--disable-3dnow: Disable 3DNOW! optimizations.

--disable-altivec: Disable AltiVec optimizations.

Other Flags

--disable-asm-optimizations: Don't use any assembly optimization routines.

--disable-doxygen-docs: Disable API documentation building via Doxygen.

--disable-xmms-plugin: Do not build XMMS plugin.

--disable-rpath: Do not hardcode runtime library paths.

Non-Multilib

Configure and compile the package:

sed -i "33i/#include <string.h>/" examples/cpp/encode/file/main.cpp
LIBS=-lm ./configure --prefix=/usr &&
make 

Install the package:

make install &&
sed -i '/#include "config.h"/d' /usr/include/FLAC/export.h

Multilib

32Bit

Configure and compile the package:

CC="gcc ${BUILD32}" CXX="g++ ${BUILD32}" LD="ld ${LD_BUILD32}" USE_ARCH=32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" LIBS=-lm ./configure --prefix=/usr &&
make 

Install the package:

make install &&
sed -i '/#include "config.h"/d' /usr/include/FLAC/export.h

N32

Configure and compile the package:

CC="gcc ${BUILDN32}" CXX="g++ ${BUILDN32}" LD="ld ${LD_BUILDN32}" USE_ARCH=n32 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATHN32}" LIBS=-lm ./configure --prefix=/usr \
    --libdir=/usr/lib32 &&
make 

Install the package:

make install &&
sed -i '/#include "config.h"/d' /usr/include/FLAC/export.h

64Bit

Configure and compile the package:

CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" LD="ld ${LD_BUILD64}" USE_ARCH=64 \
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" LIBS=-lm ./configure --prefix=/usr \
    --libdir=/usr/lib64 --with-ogg-libraries=/usr/lib64 &&
make 

Install the package:

make install &&
sed -i '/#include "config.h"/d' /usr/include/FLAC/export.h

Contents

Installed Directories: /usr/share/doc/flac-1.3.0, /usr/include/FLAC, /usr/include/FLAC++
Installed Programs: flac, metaflac
Installed Libraries: libFLAC.{a,la,so}, libFLAC++.{a,la,so}
Retrieved from "?title=FLAC&oldid=15760"