Difference between revisions of "FLAC"

From CBLFS
Jump to navigationJump to search
(I updated the package description.)
(I added additional configuration options.)
Line 23: Line 23:
 
* [[Doxygen]]
 
* [[Doxygen]]
 
* [[Valgrind]]
 
* [[Valgrind]]
 +
 +
== 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 [http://en.wikipedia.org/wiki/Streaming_SIMD_Extensions SSE] support by asserting that the OS supports SSE instructions.
 +
 +
''--disable-3dnow'': Disable [http://en.wikipedia.org/wiki/3dnow 3DNOW!] optimizations.
 +
 +
''--disable-altivec'': Disable [http://en.wikipedia.org/wiki/AltiVec 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 ==
 
== Non-Multilib ==

Revision as of 20:30, 31 January 2007

Download Source: http://prdownloads.sourceforge.net/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 Home Page: 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:

LIBS=-lm ./configure --prefix=/usr &&
make 

Install the package:

make install

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

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

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 &&
make 

Install the package:

make install