/node

Enable Node.js to use Chakra as its JavaScript engine.

Primary LanguageJavaScriptOtherNOASSERTION

Evented I/O for javascript.

Node.js uses the V8 JavaScript engine by default. This GitHub fork enables Node.js to optionally use the Chakra JavaScript engine on Windows 10, allowing Node.js to run on Windows on ARM. Our goal is to merge back into master after stabilizing this code, fixing key gaps and responding to early community feedback.

To build:

Prerequisites (Windows with Chakra):

* Windows 10 (latest)
* Python 2.6 or 2.7
* Visual Studio 2015 (RC or later)
* Windows 10 Tools (Bundled in Visual Studio 2015, or install separately.)

Windows with Chakra:

vcbuild chakra nosign [x86|x64|arm]

To build native addon modules with Chakra:

Assume [local_repo] is the dir of your local clone of this repo. Add your build of node.exe to the front of PATH:

set path=[local_repo]\release;%path%

To build a native addon module with bundled node-gyp:

node.exe [local_repo]\deps\npm\node_modules\node-gyp\bin\node-gyp.js rebuild --nodedir=[local_repo] --msvs_version=2015

To install a native addon module with bundled npm:

node.exe [local_repo]\deps\npm\bin\npm-cli.js install [native_addon] --nodedir=[local_repo] --msvs_version=2015

Prerequisites (Unix only):

* GCC 4.2 or newer
* G++ 4.2 or newer
* Python 2.6 or 2.7
* GNU Make 3.81 or newer
* libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:

./configure
make
make install

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Prerequisites (Windows only):

* Python 2.6 or 2.7
* Visual Studio 2010 or 2012

Windows:

vcbuild nosign

You can download pre-built binaries for various operating systems from http://nodejs.org/download/. The Windows and OS X installers will prompt you for the location in which to install. The tarballs are self-contained; you can extract them to a local directory with:

tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz

Or system-wide with:

cd /usr/local && tar --strip-components 1 -xzf \
                    /path/to/node-<version>-<platform>-<arch>.tar.gz

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

Intl (ECMA-402) support:

Intl support is not enabled by default.

"small" (English only) support

This option will build with "small" (English only) support, but the full Intl (ECMA-402) APIs. With --download=all it will download the ICU library as needed.

Unix/Macintosh:

./configure --with-intl=small-icu --download=all

Windows:

vcbuild small-icu download-all

The small-icu mode builds with English-only data. You can add full data at runtime.

Note: more docs are on the wiki.

Build with full ICU support (all locales supported by ICU):

With the --download=all, this may download ICU if you don't have an ICU in deps/icu.

Unix/Macintosh:

./configure --with-intl=full-icu --download=all

Windows:

vcbuild full-icu download-all

Build with no Intl support :-(

The Intl object will not be available. This is the default at present, so this option is not normally needed.

Unix/Macintosh:

./configure --with-intl=none

Windows:

vcbuild intl-none

Use existing installed ICU (Unix/Macintosh only):

pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu

Build with a specific ICU:

You can find other ICU releases at the ICU homepage. Download the file named something like icu4c-**##.#**-src.tgz (or .zip).

Unix/Macintosh: from an already-unpacked ICU

./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu

Unix/Macintosh: from a local ICU tarball

./configure --with-intl=[small-icu,full-icu] --with-icu-source=/path/to/icu.tgz

Unix/Macintosh: from a tarball URL

./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz

Windows: first unpack latest ICU to deps/icu icu4c-##.#-src.tgz (or .zip) as deps/icu (You'll have: deps/icu/source/...)

vcbuild full-icu

Resources for Newcomers