GNU/Linux

Make

Currently in order to build CCF Libraries you will need GNU make 3.80 with the following bug fixes:

  1. eval inside condition
  2. eval memory exhaustion
Your system distributor (for example Debian) should have the recent version of make with those fixes applied.

If you are unsure whether you have those bugfixes or not then you can just try building CCF and if you see some strange make-related errors then you will need to upgrade.

C++

You can use any standard-conformant C++ compiler. GNU G++ 3.3 is known to work.

Boost Libraries

In order to build CCF you will need the following libraries from Boost distribution:

  1. regex
  2. filesystem
  3. spirit parser framework

There are two commonly used ways to obtain those libraries: you can get precompiled binaries from your system distributor (for example Debian) or download source code and compile it yourself. The first approach is recommended where available and if you got precompiled binaries then you can skip the rest of this section.

If you choose to compile Boost Libraries yourself please refer to the Boost Building Instructions.

After you have successfully compiled necessary libraries in the boost distribution you need to do one more thing. Inside the boost distribution directory (e.g. boost-1.30.2) create a directory with name lib and copy (or soft link) libboost_filesystem.a and libboost_regex.a into it.

Utility Library

Another prerequisite for CCF is Utility Library. You don't need to build anything in this library. Just unpack it to some convenient place.

Building CCF

Before you can start building CCF you need to specify the location of Boost Libraries and Utility Library. There are two ways you can do this. The first way is to specify environment variables {BOOST_ROOT, BOOST_INCLUDE, BOOST_LIB} and UTILITY_ROOT. Below are some examples of how you may do that.

If you would like to use Boost/Utility from the build directory:

$ export BOOST_ROOT=~/build/boost-1.30.2
$ export UTILITY_ROOT=~/build/Utility-1.2.2

If Boost was installed in /usr/local and compiler doesn't search there by default:

$ export BOOST_LIB=/usr/local/lib
$ export BOOST_INCLUDE=/usr/local/include
$ export UTILITY_ROOT=~/build/Utility-1.2.2

If Boost was installed in let's say /usr/{include,lib} and compiler searches there by default you may leave BOOST_* uninitialized.

Alternatively, you can specify values for BOOST_* and UTILITY_* in CCF/Config.rules

Finally, you can start the build process:

$ cd CCF
$ make -f Makefile.alt

Windows

C++

VC++ 7.1 is required to build CCF on Windows. Note that neither VC++ 6 nor VC++ 7.0 are supported.

Boost Libraries

In order to build CCF you will need the following libraries from Boost distribution:

  1. regex
  2. filesystem
  3. spirit parser framework

Please refer to the Boost Building Instructions for details.

Utility Library

Another prerequisite for CCF is Utility Library. You don't need to build anything in this library. Just unpack it to some convenient place.

Building CCF

In order to build CCF with VC7.1 you will need to add Boost/Utility include and library paths to your search path. After having that done you can open VC7.1 solution file in CCF/CCF/ and proceed as usual.