Building

The latest Csound source code is available through the Concurrent Versions System (CVS)(http://www.cvshome.org). To download Csound sources using CVS, run the following commands:

cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/csound login

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/csound co csound5

Information about accessing the CVS repository may be found in the SourceForge document Basic Introduction to CVS and SourceForge.net (SF.net) Project CVS Services.

If you wish to become a Csound developer, first obtain a SourceForge login, and then apply to John ffitch at the http://www.sourceforge.net/projects/csound site.

Csound and CsoundVST are built using the Python package scons, not with makefiles or GNU autotools. Experience shows that scons build systems are easier to write, easier to use, and run faster than autotools build systems. The only file used to build the entire Csound system is the SConstruct file, which is a Python script run by the scons shell script.

To build Csound 5:

  1. Obtain the Csound source code from a SourceForge Csound 5 package file, or from SourceForge CVS.
  2. Install and configure the following software packages:
    1. Python (required) for running the build (also used for CsoundVST scripting), from http://www.python.org.
    2. SCons (required) for running the build, from http://www.scons.org.
    3. libsndfile (required) for reading and writing soundfiles, from http://www.mega-nerd.com/libsndfile.
    4. PortAudio for reading and writing real-time audio, from http://www.portaudio.com.
    5. FLTK version 1.1.x for displaying graphs of function tables, and for widget opcodes, from http://www.fltk.org.

If you also want to build CsoundVST, you must configure the FLTK libraries to enable threads (./configure ---enable-threads).

And you must also install and configure these additional packages:

  1. The Software Interface and Wrapper Generator (SWIG) for generating Python interfaces to CsoundVST (required for CsoundVST), from http://www.swig.org.
  2. The boost C++ template libraries for random numbers and linear algebra (required for CsoundVST), from http://www.boost.org. The CsoundVST Random class requires that boost must be later than version 1.32.1. I used the current CVS version.