Building and installing Siren
-----------------------------

Siren is built and installed with the following commands.

	./configure [option=value ...]
	make
	make install

The configure script supports the following options. Default values are in
parentheses.

prefix=path (/usr/local)
	Install Siren in <path>.

bindir=path (<prefix>/bin)
	Install the binary in <path>.

mandir=path (<prefix>/man)
	Install the manual page in <path>.

plugindir=path (<prefix>/lib/siren)
	Install the plug-ins in <path>. Input plug-ins will be installed in
	"<path>/ip" and output plug-ins in "<path>/op".

debug=yes|no (no)
	Whether to build a debug version of Siren.

aac=yes|no (yes)
	Whether to build the aac input plug-in. This plug-in provides support
	for the MPEG-2/4 AAC audio format. It requires the libfaad and libmp4v2
	libraries.

ffmpeg=yes|no (yes)
	Whether to build the ffmpeg input plug-in. This plug-in provides
	support for a variety of audio formats. It requires the libavcodec,
	libavformat and libavutil libraries. For more information, see
	<https://www.ffmpeg.org/>.

flac=yes|no (yes)
	Whether to build the flac input plug-in. This plug-in provides support
	for the FLAC audio format. It requires the libFLAC library. For more
	information, see <https://www.xiph.org/flac/>.

mad=yes|no (yes)
	Whether to build the mad input plug-in. This plug-in provides support
	for the MPEG-1/2/2.5 audio layer I/II/III formats such as MP3. It
	requires the libmad and libid3tag libraries. For more information, see
	<https://www.underbit.com/products/mad/>.

mpg123=yes|no (yes)
	Whether to build the mpg123 input plug-in. This plug-in is an
	alternative to the mad input plug-in. It requires the libmpg123
	library. For more information, see <https://www.mpg123.org/>.

opus=yes|no (yes)
	Whether to build the opus input plug-in. This plug-in provides support
	for the Opus audio format. It requires the libopusfile library. For
	more information, see <https://www.opus-codec.org/>.

sndfile=yes|no (yes)
	Whether to build the sndfile input plug-in. This plug-in provides
	support for a variety of audio formats including WAVE and AIFF. It
	requires the libsndfile library. For more information, see
	<https://libsndfile.github.io/libsndfile/>.

vorbis=yes|no (yes)
	Whether to build the vorbis input plug-in. This plug-in provides
	support for the Ogg Vorbis audio format. It requires the libvorbisfile
	library. For more information, see <https://www.xiph.org/vorbis/>.

wavpack=yes|no (yes)
	Whether to build the wavpack input plug-in. This plug-in provides
	support for the WavPack audio format. It requires the libwavpack
	library. For more information, see <https://www.wavpack.com/>.

alsa=yes|no (yes)
	Whether to build the alsa output plug-in. This plug-in provides support
	for ALSA. It requires the libasound library. For more information, see
	<https://www.alsa-project.org/>.

ao=yes|no (yes)
	Whether to build the ao output plug-in. This plug-in provides support
	for libao which in turn supports a variety of audio systems. It
	requires the libao library. For more information, see
	<https://www.xiph.org/ao/>.

oss=yes|no (yes)
	Whether to build the oss output plug-in. This plug-in provides support
	for OSS. Both OSS 3 and OSS 4 are supported, but volume support is
	available only for OSS 4. For more information, see
	<http://www.opensound.com/>.

portaudio=yes|no (yes)
	Whether to build the portaudio output plug-in. This plug-in provides
	support for PortAudio which in turn supports a variety of audio
	systems. It requires the libportaudio library. For more information,
	see <http://www.portaudio.com/>.

pulse=yes|no (yes)
	Whether to build the pulse output plug-in. This plug-in provides
	support for PulseAudio. It requires the libpulse-simple library. For
	more information, see
	<https://www.freedesktop.org/wiki/Software/PulseAudio/>.

sndio=yes|no (yes)
	Whether to build the sndio output plug-in. This plug-in provides
	support for sndio. For more information, see the OpenBSD sndio(7)
	manual page and <https://sndio.org/>.

sun=yes|no (yes)
	Whether to build the sun output plug-in. This plug-in provides support
	for the SunOS audio system.

Running Siren from the source directory
---------------------------------------

To run Siren from the source directory (i.e. without installing it first), run
the following commands.

	./configure plugindir="$PWD"
	make
	./siren

Should you later wish to install Siren after all, then ensure you reconfigure
and rebuild it first so that the plugindir variable is set to a proper value.
It is perhaps safest to start from a clean source directory. Therefore, run the
following command before reconfiguring.

	make cleandir

Uninstalling Siren
------------------

Siren can be uninstalled with the following command.

	make uninstall
