mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
- fix typo. - replace bool to void from jerry_api_set_object_native_handle - remove invalid build precondition - remove argument from jerry_api_create_object description - add jerry_api_create_array_object description - add jerry_api_set_array_index_value description - add jerry_api_get_array_index_value description - add jerry_api_release_value description - add jerry_api_create_error description JerryScript-DCO-1.0-Signed-off-by: pius.lee pius.lee@samsung.com
101 lines
2.3 KiB
Markdown
101 lines
2.3 KiB
Markdown
---
|
|
layout: page
|
|
title: How To
|
|
permalink: /how-to/
|
|
---
|
|
|
|
* toc
|
|
{:toc}
|
|
|
|
# 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'll 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:
|
|
|
|
- `gcc` or `g++` higher than `4.8.2`
|
|
- native
|
|
- arm-none-eabi
|
|
- `cmake` higher than `2.8.12.2`
|
|
- `make` higher than `3.81`
|
|
- `bash` higher than `4.3.11`
|
|
|
|
These tools are required for development:
|
|
|
|
- `cppcheck` requires `libpcre`
|
|
- `vera++` requires `tcl`, `tk` and `boost`
|
|
|
|
{% highlight bash %}
|
|
sudo apt-get install gcc g++
|
|
sudo apt-get install gcc-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 on the system:
|
|
|
|
- `find`
|
|
- `bc`
|
|
- `awk`
|
|
- `sed`
|
|
- `sha256sum`
|
|
- `wget`
|
|
|
|
# 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 %}
|