Csound Csound-dev Csound-tekno Search About

Re: [Cs-dev] Manual redraft: Building Csound: all platforms

Date2008-03-29 14:39
FromMichael Gogins
SubjectRe: [Cs-dev] Manual redraft: Building Csound: all platforms
WinCVS works fine for me, and I use it almost exclusively. WinCVS used to need PuTTY which was a pain to set up, but that is no longer the case, so WinCVS is now easy to get to work although the documentation is not always obvious.

Regards,
Mike

-----Original Message-----
>From: Rory Walsh 
>Sent: Mar 29, 2008 8:53 AM
>To: Developer discussions 
>Subject: Re: [Cs-dev] Manual redraft: Building Csound: all platforms
>
>Hi Andreas, the build section now looks much more detailed thanks to 
>David and you for working on this. One thing I might add that it is 
>rather unlikely that windows users have CVS installed on their machine. 
>  I think it might also be a good idea to suggest running a simple 
>command line version of CVS rather than a GUI one. I've had no luck with 
>CVS GUIs on any platform and almost all of the instructions given for 
>CVS are command line ones.
>
>Rory.
>
>
>Andres Cabrera wrote:
>> Thanks David,
>> I've incorporated your ideas and reorganized the building section. It
>> is attached below. Comments welcome.
>> 
>> Cheers,
>> Andrés
>> 
>> On Wed, Mar 19, 2008 at 7:29 AM, DavidW  wrote:
>>> Hi Folks,
>>>
>>>  I'm attaching my first reworking of the Building Csound manual page.
>>>  The list rejected my attached rtf file so this is my attempt at a .txt
>>>
>>>  Would people who have some knowledge of the process check it out and
>>>  comment out anything that's inaccurate or add anything else you think
>>>  might be useful.
>>>  My questions are in red.
>>>
>>>  Please send your comments  to me off list and I'll incorporate. I've
>>>  contacted Anthony Kozar re info for Mac pre-OSX builds.
>>>
>>>  thanks,
>>>  David
>>>
>>>
>>>
>>> -------------------------------------------------------------------------
>>>  This SF.net email is sponsored by: Microsoft
>>>  Defy all challenges. Microsoft(R) Visual Studio 2008.
>>>  http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>>  Csound-devel mailing list
>>>  Csound-devel@lists.sourceforge.net
>>>  https://lists.sourceforge.net/lists/listinfo/csound-devel
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> Building Csound
>>> Prev   	Part I. Overview 	 Next 
>>>
>>> ------------------------------------------------------------------------
>>>
>>>
>>>     Building Csound
>>>
>>> Csound has become a complex project and can involve many dependencies. 
>>> Unless you are a Csound developer or need to develop Csound plugins, 
>>> you should try to use one of the precompiled distributions from 
>>> http://www.sourceforge.net/projects/csound. However, building from 
>>> source is probably the best option on GNU/Linux.
>>>
>>> This section focuses on the main Csound 5 build system, which uses 
>>> SCons , a Python program that replaces /make/ 
>>> for cross-platform configuration and building.
>>>
>>> When building Csound from source instead of using a precompiled 
>>> package, you first need to obtain the sources for a release of Csound 
>>> at http://www.sourceforge.net/projects/csound. The source packages 
>>> have either a zip or tar.gz extension.
>>>
>>> The latest Csound source code is available through the Concurrent 
>>> Versions System (CVS). It's likely that you'll already have CVS 
>>> installed on your machine. If not, it can be downloaded from 
>>> (http://www.cvshome.org).
>>>
>>> The Csound CVS front page is located at: 
>>> http://sourceforge.net/cvs/?group_id=81968 >> CVS>. Information about accessing the CVS repository may be found in 
>>> the SourceForge document http://sourceforge.net/docs/E04/ 
>>> . To download 
>>> Csound sources using CVS, run the following commands (from a terminal 
>>> or DOS shell):
>>>
>>>     cvs -d:pserver:anonymous@csound.cvs.sourceforge.net:/cvsroot/csound login
>>>
>>>     cvs -z3 -d:pserver:anonymous@csound.cvs.sourceforge.net:/cvsroot/csound co -P csound5
>>>   
>>>
>>> To update the Csound5 sources you already have in your csound5 
>>> directory, change to that directory, and then type:
>>>
>>>     cvs -z3 update -d
>>>   
>>>
>>> To update only a single file, change to the sources directory, and 
>>> then type:
>>>
>>>     cvs -z3 update filename
>>>   
>>>
>>>
>>>     Basic requirements to build Csound 5 on any platform
>>>
>>>     * Install libdsndfile version 1.0.13 or later from
>>>       www.mega-nerd.com/libsndfile .
>>>     * Install Python from www.python.org . In
>>>       most cases it is best to install the most recent stable version.
>>>       Python is needed for SCons to run.
>>>     * Install the SCons build system from www.scons.org
>>>       . The recommended version for SCons is
>>>       version 0.97.
>>>
>>> These are the minimum requirements for a build, but csound has many 
>>> optional components which enhance functionality and add opcodes which 
>>> may require additional libraries.
>>>
>>>
>>>     Optional configurations (ALL platforms)
>>>
>>> In most cases it is best to install the most recent stable versions of 
>>> the optional libraries.
>>>
>>>     * Real-time audio can use the cross-platform PortAudio library
>>>       (v19-devel branch) from www.portaudio.com/usingcvs.html
>>>       . Please note that
>>>       stable version 18 will not work. Csound can also use several
>>>       platform specific audio APIs like ALSA, JACK, CoreAudio and the
>>>       Windows multimedia library, see each platform notes for details.
>>>     * Real-time MIDI can use the cross-platform PortMidi library from
>>>       www.cs.cmu.edu/~music/portmusic
>>>       
>>>     * For GUI widgets, install FLTK 1.1 from www.fltk.org
>>>       . You must configure and build FLTK with
>>>       |--enable-shared --enable-threads|.
>>>     * For generating Python and Java interfaces, install the Software
>>>       Interface and Wrapper Generator (SWIG) from http://www.swig.org.
>>>     * /CsoundAC/ requires FLTK and the boost C++ template libraries
>>>       for random numbers and linear algebra, from
>>>       http://www.boost.org. /CsoundAC/ requires at least version 1.32.1.
>>>     * The fluid opcodes require the Fluidsynth library from
>>>       http://savannah.nongnu.org/download/fluid.
>>>     * The OSC opcodes require the latest version of the liblo library
>>>       from http://plugin.org.uk/liblo. On Windows, liblo requires a
>>>       Windows version of the POSIX thread library (pthreads) which is
>>>       available from http://sourceware.org/pthreads-win32; copy
>>>       libpthreadGC2.a to libpthread.a. You may also need the latest
>>>       version of autoconf from MinGW.
>>>     * The STK opcodes require STK source code from
>>>       http://ccrma.stanford.edu/software/stk, copied into
>>>       |csound5/Opcodes/stk|.
>>>     * The Loris opcodes require Loris source code from
>>>       http://sourceforge.net/projects/loris, copied into
>>>       |csound5/Opcodes/Loris|.
>>>
>>>
>>>     Windows
>>>
>>> The following is needed to build on Windows:
>>>
>>>    *
>>>
>>>       Install a compiler like gcc or Microsoft Visual Studio (there is
>>>       also support for the Intel C++ compiler). If using MinGW (gcc),
>>>       install all of the current release of MinGW using the Automated
>>>       MinGW Installer from www.mingw.org , for
>>>       example into |c:/mingw|. This should install gcc, g++, GNU
>>>       binutils, the MinGW runtime, and the win32 API. Then install the
>>>       current release of MSys.
>>>
>>>       On Windows with Microsoft Visual C++, install Microsoft Visual
>>>       C++ 2008. The free Express Edition, from
>>>       http://www.microsoft.com/express/vc/ works fine. You will need
>>>       to obtain a copy of the |dirent.h| header file for Windows, e.g.
>>>       from http://www.softagalleria.net/dirent.php. You may also need
>>>       to obtain the |bufferoverflowu.lib| library from Microsoft and
>>>       put it into the Visual C++ |lib| directory. Then, to open a
>>>       shell in which to compile Csound, use the Start menu, Programs
>>>       group, Visual C++ 9.0 Express Edition, Visual Studio Tools,
>>>       Visual Studio Command Prompt command.
>>>
>>> Optional configurations for Windows include the following:
>>>
>>>     * Real-time audio and MIDI can use the Windows multimedia library.
>>>       This module will be built automatically if the headers are found.
>>>
>>>
>>>     Linux
>>>
>>> Optional configurations for Linux include the following:
>>>
>>>     * Real-time audio on Linux can use ALSA (www.alsa-project.org
>>>       ) and JACK (www.jackaudio.org/
>>>       ) in addition to PortAudio.
>>>       Distributions usually provide the appropriate dev packages for
>>>       these systems through their repositories.
>>>
>>>
>>>     Mac OS X
>>>
>>> Optional configurations for Mac OS X include the following:
>>>
>>>     * Real-time audio can use CoreAudio (OSX builtin native audio
>>>       system) and Jack, appart from PortAudio.
>>>
>>>
>>>     Building Csound 5 with SCons
>>>
>>> When you have all the necessary packages and their sources (or -dev 
>>> packages) to support your particular requirements on your hardware 
>>> platform, execute "scons -h" to discover the current configuration 
>>> options.
>>>
>>> Building is made considerably easier if, when installing, the 
>>> downloaded headers and libraries are installed in their default 
>>> locations. To modify the default build, in particular to handle 
>>> non-standard options for third-party dependencies, such as where 
>>> headers and libraries are to be found:
>>>
>>>     * On Windows, when building with Microsoft Visual C++, modify
>>>       custom-msvc.py
>>>     * On Windows, when building with MinGW/MSys, modify custom-mingw.py
>>>     * On Linux and Mac OSX edit custom.py
>>>
>>> If you do modify this file, you should make it read-only (or otherwise 
>>> protect it) so that CVS will not overwrite it when you next update the 
>>> sourcefiles. Avoid modifying the SConstruct file.
>>>
>>> Execute scons with the optional custom variables you desire. For example:
>>>
>>> scons buildOSC=1 buildCsound5GUI=1 buildPythonOpcodes=1 useOSC=1 buildLoris=0
>>> [Note] 	Note
>>>
>>> It is important that you set the environment variable |OPCODEDIR| to 
>>> the directory where plugin libraries are installed; in the case of a 
>>> double precision build, |OPCODEDIR64| should be set instead. 
>>> Installers usually take care of this, but it is necessary when 
>>> building from source so Csound can find its plugin libraries.
>>>
>>>
>>>     Current build options
>>>
>>> *Table 4. Current SCons Build Options*
>>>
>>> Custom Variable 	Effect if set to 1
>>> buildCsoundVST 	Build CsoundVST. Needs CsoundAC, FLTK, boost, Python, 
>>> SWIG.
>>> buildCsoundAC 	Build CsoundAC. Needs FLTK, boost, Python, SWIG.
>>> buildCsound5GUI 	Build FLTK GUI frontend. Requires FLTK 1.1.7 or later.
>>> buildCSEditor 	Build the Csound syntax highlighting text editor. 
>>> Requires FLTK headers and libs.
>>> buildDSSI 	Build DSSI/LADSPA host opcodes.
>>> buildImageOpcodes 	Build image opcodes. 1 by default. Set to 0 to avoid.
>>> buildInterfaces 	Build interface library for Python, JAVA, Lua, C++, 
>>> and other languages.
>>> buildJavaWrapper 	Build Java wrapper for the interface library.
>>> buildLoris 	Build the Loris Python extension and opcodes.
>>> buildNewParser 	Enable building new parser. Requires Flex/Bison.
>>> buildOSXGUI 	Build the basic GUI frontend. OSX only.
>>> buildPDClass 	Build csoundapi~ PD class. Needs m_pd.h in the standard 
>>> places.
>>> buildPythonOpcodes 	Build Python opcodes
>>> buildRelease 	Build for release. Implies noDebug.
>>> buildSDFT 	Build SDFT code. 1 by default. Set to 0 to avoid.
>>> buildTclcsound 	Build Tclcsound frontend (cstclsh, cswish and 
>>> tclcsound dynamic module). Requires Tcl/Tk headers and libs.
>>> buildUtilities 	Build stand-alone executables for utilities that can 
>>> also be used with -U.
>>> buildVirtual 	Build Virtual MIDI keyboard. Requires FLTK 1.1.7 or 
>>> later headers and libs.
>>> buildvst4cs 	Build vst4cs plugins Requires Steinberg VST headers.
>>> buildWinsound 	Build Winsound frontend. Requires FLTK headers and libs.
>>> dynamicCsoundLibrary 	Build dynamic Csound library instead of 
>>> libcsound.a.
>>> gcc3opt 	Enable gcc 3.3.x or later optimizations for the specified CPU 
>>> architecture (e.g. pentium3); implies noDebug.
>>> gcc4opt 	Enable gcc 4.0 or later optimizations for the specified CPU 
>>> architecture (e.g. pentium3); implies noDebug.
>>> generateTags 	Generate TAGS.
>>> generatePdf 	Generate PDF documentation.
>>> install 	Enables the Install targets.
>>> Lib64 	Build for lib64 rather than lib.
>>> noDebug 	Build without debugging information.
>>> noFLTKThreads 	Disable use of a separate thread for FLTK widgets.
>>> useAltivec 	On OSX use the gcc AltiVec optmisation flags.
>>> useALSA 	ALSA for real-time audio and MIDI input and output.
>>> useCoreAudio 	use CoreAudio for real-time audio input and output.
>>> useDouble 	Use double-precision floating point for audio samples.
>>> useFLTK 	Use FLTK for graphs and widget opcodes.
>>> useGettext 	Use the GNU internationalisation/localisation scheme
>>> useGprof 	Build with profiling information (-pg).
>>> usePortAudio 	Use PortAudio for real-time audio input and output.
>>> usePortMIDI 	Build PortMidi plugin for real time MIDI input and output.
>>> useJack 	Used if you compiled PortAudio to use Jack; also builds Jack 
>>> plugin.
>>> useLrint 	Use lrint() and lrintf() for converting floating point 
>>> values to integers.
>>> useOSC 	For OSC support.
>>> useUDP 	For UDP support. 1 by default. Set to 0 to avoid.
>>> withICL 	Build with the Intel C++ Compiler (also requires Microsoft 
>>> Visual C++), Set to 0 to build with MinGW. Windows only.
>>> withMSVC 	Build with Microsoft Visual C++, or set to 0 to build with 
>>> MinGW. Windows only.
>>> Word64 	Build for 64bit computer.
>>> pythonVersion 	Set to the Python version to be used.
>>>
>>>
>>> ------------------------------------------------------------------------
>>> Prev   	Up  	 Next 
>>> TclCsound Command Reference  	Home  	 Csound Links
>>>
>>>
>>> ------------------------------------------------------------------------
>>>
>>> -------------------------------------------------------------------------
>>> Check out the new SourceForge.net Marketplace.
>>> It's the best place to buy or sell services for
>>> just about anything Open Source.
>>> http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>>>
>>> ------------------------------------------------------------------------
>>>
>>> _______________________________________________
>>> Csound-devel mailing list
>>> Csound-devel@lists.sourceforge.net
>>> https://lists.sourceforge.net/lists/listinfo/csound-devel
>
>-------------------------------------------------------------------------
>Check out the new SourceForge.net Marketplace.
>It's the best place to buy or sell services for
>just about anything Open Source.
>http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
>_______________________________________________
>Csound-devel mailing list
>Csound-devel@lists.sourceforge.net
>https://lists.sourceforge.net/lists/listinfo/csound-devel




-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Csound-devel mailing list
Csound-devel@lists.sourceforge.net
https://lists.sourceforge.net/lis