2.3 KiB
| layout | title | permalink |
|---|---|---|
| page | How To | /how-to/ |
How to Get the Sources
This step should be simple:
{% highlight bash %} git clone https://github.com/Samsung/jerryscript.git cd jerryscript {% endhighlight %}
How to Setup Recommended Prerequisites
Currently, we are using Ubuntu Linux 14.04+ as our development environment, so this tutorial was written based on this assumption. Additionaly, it'd be useful to read [Prerequisites]({{ site.baseurl }}/wiki/Prerequisites) wiki page, also.
There are dependencies, that should be installed manually. The following list is required for building:
gccorg++higher than4.8.2- native
- arm-none-eabi
cmakehigher than2.8.12.2makehigher than3.81bashhigher than4.3.11
These tools are required for development:
cppcheckrequireslibpcrevera++requirestcl,tkandboost
{% highlight bash %} sudo apt-get install gcc g++ sudo apt-get install gcc-arm-none-eabi g++-arm-none-eabi sudo apt-get install cmake sudo apt-get install libpcre3 libpcre3-dev sudo apt-get install tcl8.6 tcl8.6-dev tk8.6-dev libboost-all-dev {% endhighlight %}
To make our scripts run correctly, several shell utilities should be available the system:
findbcawksedsha256sumwget
How to Build
After setting up prerequisites, let's built the engine:
{% highlight bash %} make {% endhighlight %}
Upon first build, make would try to setup prerequisites, required for further development and pre-commit testing:
- stm32f3 and stm32f4 libraries
- nuttx's headers
- cppcheck 1.66
- vera++ 1.2.1
It may take time, so go grab some coffee:
{% highlight bash %} Setting up prerequisites... (log file: ./build/prerequisites/prerequisites.log) {% endhighlight %}
How to Build Debug Version
To build debug version for Linux:
{% highlight bash %} make debug.linux {% endhighlight %}
To build debug version for Linux without LTO (Link Time Optimization):
{% highlight bash %} LTO=off make debug.linux {% endhighlight %}
How to Run Unittests
{% highlight bash %} make unittests {% endhighlight %}
How to Check the Patch
{% highlight bash %} make precommit -j {% endhighlight %}
Sometimes pre-commit testing fails, in that case you'll see message like that:
{% highlight bash %} Build failed. See ./build/bin/unittests/make.log for details. {% endhighlight %}