title: Build liquidsoap from source

h3. Building liquidsoap from source

h4. Dependencies

You can choose which features you want to enable when building liquidsoap.
If you use the -full tarball, each shipped feature can be enabled/disabled using the <code>PACKAGE</code> file.

Here are liquidsoap's dependencies (all OCaml libraries are distributed by Savonet, except when linked):

* "ocamlfind":http://www.ocaml-programming.de/programming/findlib.html
* ocaml-dtools
* ocaml-duppy (>= 0.1.2)
* "ocaml-pcre":http://www.ocaml.info/home/ocaml_sources.html

And also optional dependencies:

* ocaml-ogg
* ocaml-vorbis
* ocaml-shout
* ocaml-mad for mp3 decoding
* ocaml-lame for mp3 encoding
* ocaml-faac for AAC encoding
* ocaml-faad for AAC stream decoding
* ocaml-taglib for MP3 audio tag reading
* ocaml-magic for file type detection
* ocaml-xmlplaylist for XML-based playlist formats
* ocaml-soundtouch for soundtouch audio effects
* ocaml-lastfm and ocaml-xmllight for lastfm protocol support
* "camomile":http://camomile.sourceforge.net/ for detecting metadata encodings and re-encoding them to utf8
* ocaml-alsa for ALSA input/output
* ocaml-ao for AO I/O
* ocaml-portaudio for Portaudio I/O
* ocaml-bjack for Jack output/input
* ocaml-ladspa for LADSPA plugins
* "ocaml-xmllight":http://tech.motion-twin.com/xmllight.html
* "libortp":http://www.linphone.org/ for experimental RTP input/output

Runtime dependencies include:
* "wget":http://www.gnu.org/software/wget/ for downloading remote files (http, https, ftp)
* ufetch (provided by ocaml-fetch) for downloading remote files (smb, http, ftp)
* "festival":http://www.cstr.ed.ac.uk/projects/festival/ for speech synthesis (say)

And other that you'll find on the project page, or in liquidsoap-full tarball.

h4. Building the source

From every sub-project's directory you can build and install the package using <code>./bootstrap</code>, <code>./configure</code>, <code>make</code> and optionally <code>make install</code>.

From the toplevel savonet directory you can also directly build a vanilla liquidsoap. It's fast and doesn't require you to install the libraries. The steps to follow are simple:
%%
# Edit PACKAGES to choose which feature you want
./configure
make
# To install liquidsoap,
# you'll usually need to type the following as root
make install
%%
