Too many people program the same basic things over and over again, and
re-create the same bugs over and over again. The goal of the CVMLCPP
project is to eliminate this redundancy by offering high-quality
implementations of commonly needed functionality.
In more technical words...
If it is not in the STL or in
BOOST, it should be in CVMLCPP. The
implementation is intended to closely follow the design principles of
the STL.
Documentation
For the exact contents of the CVMLCPP library, see the
documentation of the most recent
release.
Download
See the Release Notes for details of the latest release.
Alternatively, you can download a source tarball from the list below.
Installation
Preparation
Installation requires a C++ compiler, gnu's make, SCons,
BOOST, and optionally the FFTW.
Download and unpack the source, then enter the created directory.
Compilation
First, edit the Makefile to specify TARGET, the installation directory. By default, the
documentation, headers and libraries are installed in /usr/local.
Before compilation, the system has to be configured to select the right compiler and compiler options.
This can be done manually by setting the evironment variables CXX, CXXFLAGS, and
LDFLAGS. To ease compilation on many different platforms, the build system has a number of
predefined configurations. The compiler can be selected by passing a parameter CNF to make on the
command line.
gcc
The gnu compiler 4.2 or later with OpenMP support.
icc
The Intel compiler with OpenMP support.
o64
The Open64 compiler with OpenMP support.
Additionally, a release-mode and a debug mode are supported. The mode can be specified by
providing a parameter MODE to make on the command line. If no MODE is given, release mode is
used.
release
Optimized for speed, no debugging symbols.
debug
With debugging symbols, optimizations switched off.
Installation
To install, append install to the same command as used to compile and execute.
Example 1: Manual configuration
$ make clean
$ export CXX=g++-mp-4.2
$ export CXXFLAGS="-I.. -Wall -O3 -march=native"
$ make
$ sudo make install
Example 2: Pre-defined configuration for Open64, in debugging mode.
$ make clean
$ make CNF=o64 MODE=debug
$ sudo make CNF=o64 MODE=debug install
Example 3: Pre-defined configuration for the system's default GCC, in release mode.
$ make clean
$ make CNF=gcc
$ sudo make CNF=gcc install
If you wish to de-install execute sudo make uninstall.
The CVMLCPP is free, open source software, available for the largest part under the
GPL, the "GNU Public License".
The OMPTL is available under the
LGPL, the "Lesser
GNU Public License". Please refer to the source files for appropriate information.
Bugs
If you find a bug in the CVMLCPP, please send a clear report, and if
possible a patch, to Fokko dot Beekhof at
unige dot ch .