Building Museek from Sources
Before Building…
Museek uses the SConstruct build system ([www.scons.org]) for building and installing all components.
Don't try to build anything before you have scons installed on you distrib.
Required Build Dependencies
Museek depends on:
- libxml++-1.0.x or 2.6.x
Museeq (the Qt GUI) depends on:
- QT 3.2 or newer
- QSA 1.1 or newer (optional) for scripting support
The build system depends on:
- Python (including pyexpat for musetup)
- SConstruct (included with release tarballs)
- A C compiler
- A C++ compiler with access to an STL implementation that has wstring support (no MacOSX, Cygwin or FreeBSD4).
- Development packages for libxml++ and optionally QT
- Swig, for the Mucipher python bindings
Quick'n'Dirty
For the impatient and/or people with AD(H)D, just run:
scons install
Using the Build System
scons [options]... [targets]...
* Available options
The Rembember column means the option will be kept between several scons runs.
| Name | Description | Default | Remember |
| PREFIX=prefix | Install prefix, where to install Museek to | '/usr/local/' | yes |
| BINDIR=prefix | Binary directory, where to install binaries to | '$PREFIX/bin' | yes |
| DATADIR=prefix | Data directory, where to install data files | '$PREFIX/share/museek' | yes |
| MANDIR=yes/no | Man Page dictory, where to install man pages | '$PREFIX/man/man1' | yes |
| DESTDIR=prefix | Installation destination dir, useful for package builders | none | no |
| BUILDDIR=yes/no | Build to build-platform-arch subdirectory | yes | yes |
| RELEASE=yes/no | Build for release with optimizations and without debugging information (only for gcc) | no | yes |
| CFLAGS=fPIC,Wall,pipe,g,O0,O1,O2,O3,funrollloop,Os,fomit-frame-pointer | Which CCFLAGS to use. (Do not prepend the dash "-" ) | 'fPIC,Wall,pipe' | yes |
| MULOG=debug,cycle,calltrace,traffictime | Which debugging messages to include | debug | yes |
| EPOLL=yes/no | Use epoll when available (linux 2.6+) | yes | yes |
| VORBIS=yes/no | Use OGG VORBIS support when available | yes | yes |
| MUCOUS=yes/no | If pymucipher is available, install mucous | yes | yes |
| MUSEEQ=yes/no | Test for Qt, and if available, build museeq | yes | yes |
| ONLYMUSEEQ=yes/no | Only compile Mucipher and museeq | no | yes |
| QSA=yes/no | Test for QSA, and if available, build museeq with it | yes | |
| QTDIR=prefix | Directory where Qt can be found (should have an include and lib subdirectory) | auto-detect | yes |
| QT_LIB=lib | Specify which Qt library to use | 'qt' with fallback to 'qt-mt' | yes |
* Available Build Targets
| Name | Description |
| museekd | Build the museek daemon |
| Tools | Build the museek tools (only muscan for now) |
| museeq | Build the QT GUI to museekd |
| install_museekd | Install museekd |
| install_museeq | Install museeq |
| install_muscan | Install the museek file scanner, muscan |
| install_mucand | Install the file scanning daemon, muscand |
| install_tools | Install the museek tools (read: muscan & muscand) |
| install_mucipher | Install language bindings for Mucipher (cipher library) |
| install_pymuseekd | Install python bindings for Museekd, mulog, and musetup |
| install | Install all of the above |
Default targets that are built: museekd, Tools, museeq
