Quick Start¶

You should complete all steps in the Getting Started guide before you try to download and build the source code.

Building the Kodo Examples and Unit Tests¶

In the following, we will look at how you can build the Kodo examples and unit tests using the Waf build system.

1. Navigate to the directory where you have downloaded the Kodo source code:

cd ~/dev/kodo-c/

2. Invoke waf to configure the kodo-c library:

python waf configure


The waf configure command ensures that all tools needed by Kodo are available and prepares to build Kodo. This step will also download several libraries into a local folder called resolved_dependencies.

Note

The waf configure step might take several minutes depending on the speed of your Internet connection. This would be a good time to grab a coffee or similar while the dependencies are downloaded.

Note

You can use the --resolve_path option to specify the download location for the dependencies (if you want to change the default location).

On Linux and Mac OSX:

python waf configure --resolve_path=~/dev/resolved_dependencies


On Windows, you can also specify the resolve_path as an absolute path with a drive letter, for example:

python waf configure --resolve_path=C:\dev\resolved_dependencies


Note

If you have not configured Git-over-SSH to automatically authenticate on github.com, you might see an error when waf tries to resolve the dependencies.

In this case, you can instruct the waf tools to use the https protocol for downloading the dependencies by adding the --git-protocol=https:// option to the configure command (you will have to type your GitHub username and password):

python waf configure --git-protocol=https://

3. Invoke waf to build the library with the unit tests and examples:

python waf build

4. Run the unit tests:

python waf --run_tests


You can find the compiled library and executables in the waf build folder, which depends on your operating system:

1. Linux: ./build/linux
2. Mac OSX: ./build/darwin
3. Windows: ./build/win32

You can directly run the executables here.