Building
This page explains how to build Gleam from source.
Building a released version vs. building from SVN
Some files are usually generated from Gleam sources as part of the build process; this generation requires some extra software (detailed below). For convenience, Gleam releases include pre-generated versions of these files, so if you are building a Gleam release you will not need the full set of build pre-requisites. Read on to know what software you will need to have pre-installed before you build Gleam, depending on the type of Gleam sources you're building from.
Getting a development snapshot from SVN
If you have a SVN client installed, you can run the following command to get a snapshot of the current development state of Gleam:
svn co https://gleamsynth.svn.sourceforge.net/svnroot/gleamsynth gleamsynth/Gleam/trunkDevelopment snapshots are more unstable than releases and might fail to build or have other problems; if you find any of this, please contact me using the link on the left bar!
Build pre-requisites
You need to have this software installed before you build Gleam from source. Please note that you don't need most of this if you just want to run Gleam; see RunningGleam for more information.
- A supported C++ compiler. GCC and Microsoft Visual C++ are known to work.
- Python 2.5 or later.
- The following are only needed if you want support for some particular feature. If you don't have them installed, Gleam should still build fine, but it will not support the corresponding feature.
- ALSA for ALSA support in GleamDrivers.
- DirectX SDK for DirectSound support in GleamDrivers.
- The following are only needed if you are building from SVN. Please note that they are needed even if you are building with Microsoft Visual C++.
- A recent version of GCC-XML. Unfortunately, there hasn't been an official release of GCC-XML since 0.6.0, which is too old, so the options are:
- Debian and other Linux distributions provide suitable GCC-XML packages; versions 0.7.0 and later of these packages are usable with Gleam.
- If your Linux distribution doesn't provide its own GCC-XML package, you could try to use the Debian package. GCC-XML's dependencies are very light so this has good chances of working. If your distribution doesn't use the .deb package format, something like alien might help.
- On Windows, you can try the setup executable provided by the pygccxml project. Look for gccxml-setup in their download page.
- Otherwise you can always build GCC-XML from source. See the GCC-XML homepage for details.
- A version of GCC supported by your version of GCC-XML. For example, GCC-XML 0.7.0 does not work with GCC 4.2 or later (I haven't tested other GCC-XML versions). If you want minimal hassle, installing GCC 4.1 could be a good idea.
- pygccxml 0.9.5 or later.
- A recent version of GCC-XML. Unfortunately, there hasn't been an official release of GCC-XML since 0.6.0, which is too old, so the options are:
Building
The basic build command is this:
python build.pyThis command is run on the top Gleam directory and should build everything. However, read on for some changes you might need to make to this command:
- If g++ points to a version of GCC that is not supported by your version of GCC-XML, you might need to modify your build command like this:
GCCXML_COMPILER=g++-4.1 python build.py
- Of course, you may need to replace g++-4.1 by the actual name of the suitable version on GCC in your system.
- If python points to a version of Python earlier than 2.5, you will need to replace it by the name of the Python 2.5 interpreter executable in your system. For example:
python2.5 build.pyAfter building, the executables are placed in the output directory.
