This repository contains the code shared across all projects, including code
for tools as well as runtime library code. The code in this repository is
written in a variety of languages and is designed to be quickly and easily
integrated into projects. This code is also (generally) cross-platform.
For the most part, code is divided into pairs of a single header and source
file which are entirely standalone and have no dependencies on other libraries.
The main exceptions to this rule are libraries where an external library is
being used (dlmalloc for example) or some source code is being used which has
not been placed into the public domain. The idea is that it is as easy as
possible to pull code out of this project and get another project up and
Generally speaking, everything is dependent on the following files, found in
the 'common' subdirectory:
common_config.hpp (generated by CMake; can be removed easily)
common_inttypes.h (needed for Microsoft Visual C/C++ only)
common_stdint.h (needed for Microsoft Visual C/C++ 2008 and older only)
All C and C++ code should be cross-platform and buildable with gcc-based
toolsets as well as with recent versions of Microsoft Visual C++ (2010 & above).
The repository uses Mercurial for source control, and bitbucket.org for project
hosting. A good Mercurial tutorial is available from Joel on Software at:
A BitBucket tutorial is available at:
All of the code in this repository is placed in the public domain, except where
explicitly noted. See the file UNLICENSE located in this directory for complete