Clean Up How-To page
This commit is contained in:
+71
-36
@@ -4,53 +4,88 @@ title: How To
|
||||
permalink: /how-to/
|
||||
---
|
||||
|
||||
This is very simple way of compiling JerryScript. (Please add more so to guide how to build.)
|
||||
|
||||
## Get the source
|
||||
|
||||
You may know this.
|
||||
```
|
||||
# How to Get the Sources
|
||||
This step should be simple:
|
||||
{% highlight bash %}
|
||||
git clone https://github.com/Samsung/jerryscript.git
|
||||
cd jerryscript
|
||||
```
|
||||
{% endhighlight %}
|
||||
|
||||
## Building
|
||||
# How to Setup Recommended Prerequisites
|
||||
|
||||
It's based on Ubuntu Linux 14.04 LTS. You may need to read https://github.com/Samsung/jerryscript/wiki/Prerequisites before starting.
|
||||
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:
|
||||
|
||||
- `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 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:
|
||||
|
||||
- `find`
|
||||
- `bc`
|
||||
- `awk`
|
||||
- `sed`
|
||||
- `sha256sum`
|
||||
- `wget`
|
||||
|
||||
# How to Build
|
||||
|
||||
After setting up prerequisites, let's built the engine:
|
||||
{% highlight bash %}
|
||||
make
|
||||
```
|
||||
For the first time of the make, it'll prepare prerequisites with next message. It may take some time so go grab some coffee.
|
||||
```
|
||||
{% 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 %}
|
||||
|
||||
After prerequisites are prepared, make will build all supporting platforms and mods. It may also take a while.
|
||||
|
||||
If only debug version for linux for development, just do as;
|
||||
```
|
||||
## How to Build Debug Version
|
||||
To build debug version for Linux:
|
||||
{% highlight bash %}
|
||||
make debug.linux
|
||||
```
|
||||
{% endhighlight %}
|
||||
|
||||
without LTO(Link Time Optimization) and debug for linux
|
||||
```
|
||||
LTO=ff make debug.linux
|
||||
```
|
||||
To build debug version for Linux without LTO (Link Time Optimization):
|
||||
{% highlight bash %}
|
||||
LTO=off make debug.linux
|
||||
{% endhighlight %}
|
||||
|
||||
if something goes wrong, it'll show
|
||||
```
|
||||
Build failed. See ./build/bin/unittests/make.log for details.
|
||||
```
|
||||
|
||||
## Testing
|
||||
```
|
||||
# How to Run Unittests
|
||||
{% highlight bash %}
|
||||
make unittests
|
||||
```
|
||||
It should have no errors if it is ok.
|
||||
{% endhighlight %}
|
||||
|
||||
## Check before committing
|
||||
```
|
||||
# How to Check the Patch
|
||||
{% highlight bash %}
|
||||
make precommit -j
|
||||
```
|
||||
This will check any problems in your modifications. may take some time depending on your machine. This is necessary before pull requests but can omit for local commits.
|
||||
{% 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 %}
|
||||
|
||||
Reference in New Issue
Block a user