<md>
# Build Prerequisites

## C++ Compilers

Jancy is written in C++ so obviously you will need a C++ compiler and standard C/C++ libraries. The latest Jancy was built on:

* Microsoft Visual C++ 2010 version 4.5.50938 SP1Rel
* GCC++ version 4.8.2

The above version numbers are provided for reference only. If the version of C++ compiler on your machine is higher or not too much lower, don't worry -- it will most likely compile everything just fine.

## Tools

These tools need to be available on your build computer:

* CMake
  * Windows CMake version 2.8.11
  * Linux CMake version 2.8.12.2
  * Official website: [http://www.cmake.org](http://www.cmake.org)
* Perl
  * Windows ActivePerl version 5.16.3
  * Linux Perl version 5.18.2
  * Official website: [http://www.perl.org](http://www.perl.org)
* Ragel 
  * Windows Ragel version 6.7
  * Linux Ragel version 6.8
  * Official website: [http://www.colm.net/open-source/ragel/](http://www.colm.net/open-source/ragel/)

Jancy build system relies on its own path configuration so you do not need to add to *PATH* any of these tools (except for *CMake* because it is used to initiate the whole build process).

Again, all the version numbers are provided for reference only -- they show what's installed on *our* build machine. If you already have these tools installed but versions don't match don't start upgrading/downgrading right away. With these tools, however, the probability of build failure on version mismatch is higher than with C++ compilers. If this is the case, you might need to install the proper version of the tool (either re-install it or place it side-by-side with the existing one).

## Libraries

You will also need the following libraries in order to build the full Jancy source package. 
Libraries are much more sensitive to version match/mismatch than the above prerequisites. 
So even though it's quite possible Jancy will still compile and link with different versions of these libraries it is recommended to build against exactly the same versions as we do -- not higher, not lower. 

You can either download pre-built binary packages of these libraries or build them yourself (in which case please refer to respective library build guide).

* LLVM 
  * Version 3.3
  * Official website: [http://www.llvm.org](http://www.llvm.org)
* QT 
  * Version 5.0.2 
  * Official website: [http://www.qt-project.org](http://www.qt-project.org)

QT is only required by some of the Jancy samples and tests and not necessary for building Jancy library and compiler. So if you don't want to build QT-based samples/tests, you also don't need QT itself.
  
---
Proceed to Jancy [build guide](build_guide.html)
</md>
