Installation:


If you fetched the source tree directly from CVS, you will first have
to run the autogen.sh script to unpack the scsilib and pccts libraries
and generate all the Makefiles.


1.  CONFIGURE OPTIONS

Type './configure' to run the configuration scripts. Use 'configure --help' for the list of available options, or see explanations below.

1.1.  LAME support

The toc2mp3 utility requires the mp3lame library to encode its output
audio files into the MP3 format. The following options control the way
toc2mp3 is built:

     --without-lame          Disable building of toc2mp3.
     --with-lame-include     Specifies the directory containing the lame
                             include directory.
     --with-lame-lib         Specifies the directory containing mp3lame
                             library.
     --disable-lame-test     Do not run a test program that checks for the
                             required mp3lame library version. It will be
                             assumed that the correct mp3lame library is
                             available.

1.2.  PCCTS support

Cdrdao requires PCCTS at build time to generate its TOC file parser,
but because it depends on a specific older version of it (1.33),
cdrdao includes the PCCTS 1.33 source code in its source code
distribution and will build and use it by default.

You can use the following options to use the PCCTS compiler and
libraries from an external source. We DO recommend however to use the
default version shipped with cdrdao as it works fine and has no known
bugs.

     --with-pcctsbin=dir     Specifies directory that contains the PCCTS 
                             executables (default: pccts/bin)

     --with-pcctsinc=dir     Specifies directory that contains the PCCTS
                             header and source files
                             (default: pccts/h)


1.3.  SCSI library options

Cdrdao was written to take advantage of the scsi libraries that are
part of the cdrtools project (sometimes installed as the cdrecord and
cdrecord-devel packages with some distributions). Cdrdao can be
compiled in three different modes wrt to the cdrtools libraries :

1.3.1.  Using the provided cdrtools library

Che cdrdao source distribution provides a subset of the cdrtools tree
in the scsilib directory. To select it, use :

     --with-scglib=pkg       Use cdrtools tree provided in scsilib
                             directory

1.3.2.  Using an external cdrtools package.

If you have the cdrtools development libraries installed on your
system, you can build cdrdoa against those rather than using the
scsilib directory. Note however that cdrdao requires specific header
files from cdrtools that are not installed by default. Currently, only
the RedHat/Fedora packaging of cdrtools (cdrecord-devel) provides the
sufficient headeres and libraries.

     --with-scglib=sys       Use installed cdrtools headers. Try to
                             autodetect the location of libscg.a and
                             schily/schily.h.

You can also explicitely set the location of those files with the
following options :

     --with-scglib-inc=dir   Use SCSI library include files from specified
                             directory instead from the SCSI library that
                             comes with the cdrdao package.

     --with-scglib-lib=dir   Specifies the directory that contains the SCSI
                             library.

This is the recommended way of building cdrdao. You want to use the
available cdrtools package provided by your distribution rather than
the one packaged with the cdrdao source code, as distribution usually
include patches and fixes than you want cdrdao to benefit
from. Unfortunately, it is currently somewhat tricky to build cdrdao
straight from a manually compiled cdrtools package (because cdrtools
doesn't really export an 'official' API or devel-like package).

1.3.3.  Don't use cdrtools at all

If cdrtools is not available for your operating system, you can still
build cdrdao using a simpler direct SCSI implementation provided by
cdrdao, and currently available for Linux and FreeBSD :


     --without-scglib        Use a direct SCSI implementation instead of
                             Joerg Schilling's SCSI library. This makes only
                             sense if the SCSI library does not compile for
                             some reason. Direct SCSI implementations are
                             currently available for Linux and FreeBSD.


1.4.  GCDMaster option

GCDMaster is written in C++ and therefore requires the Gnome/Gtk C++
bindings to build (libsigc++, gtkmm and libgnomeuimm). The packages
are available from www.gnome.org and gtkmm.sourceforge.net.


GCDMaster has the following configuration options :

     --with-ogg-support   Use the libogg and libvorbis libraries to add
                          Ogg Vorbis audio files support to GCDMaster.

     --with-mp3-support   Use the libmad library to add MP3 files support
                          to GCDMAster.

     --without-gcdmaster  Disable build of gcdmaster completely.


1.5.  Misc configuration options

     --with-linux-qnx-sched  Enables Linux QNX real time scheduling.
                             This will only work if your kernel is compiled
                             with the QNX scheduler.

     --without-posix-threads Do not use posix threads for ring buffer even
                             if the system supports it.


2.  BUILDING

Type 'make' to compile the package.


3.  INSTALLATION

Type 'make install' as root to install the executables and the manual
pages under '/usr/local' or whatever was specified as the installation
prefix.
