General build prerequisites:
sudo apt-get install autoconf automake cmake libtool libicu-dev ninja-build
Prerequisites for x86-64-to-x86 compilation:
sudo apt-get install gcc-multilib g++-multilib
sudo apt-get install libicu-dev:i386
brew install autoconf automake cmake icu4c libtool ninja pkg-config
Note: For later build steps (cmake, pkg-config) to find ICU libraries, you may
need to set the PKG_CONFIG_PATH
environment variable, as instructed by brew.
E.g.:
export PKG_CONFIG_PATH="/usr/local/opt/icu4c/lib/pkgconfig"
git clone https://github.com/Samsung/escargot.git
cd escargot
git submodule update --init third_party
cmake -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_OUTPUT=shell -GNinja
ninja
The following build options are supported when generating ninja rules using cmake.
- -DESCARGOT_HOST=[ linux | tizen_obs | darwin ]
Compile Escargot for Linux, Tizen, or macOS platform - -DESCARGOT_ARCH=[ x64 | x86 | arm | i686 | aarch64 ]
Compile Escargot for each architecture - -DESCARGOT_MODE=[ debug | release ]
Compile Escargot for either release or debug mode - -DESCARGOT_OUTPUT=[ shared_lib | static_lib | shell | shell_test | cctest ]
Define target output type - -DESCARGOT_LIBICU_SUPPORT=[ ON | OFF ]
Enable libicu library if set ON. (Optional, default = ON)
First, get benchmarks and tests:
git submodule update --init
Test run for each benchmark (Sunspider, Octane, V8, Chakracore, test262, SpiderMonkey, etc.):
tools/run-tests.py --arch=x86_64 spidermonkey test262 v8