Quick Start

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

Download 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.