diff --git a/doc/api/_toc.md b/doc/api/_toc.md index 2527ad84e2e360..7a3aba16220f2b 100644 --- a/doc/api/_toc.md +++ b/doc/api/_toc.md @@ -2,6 +2,7 @@ @// point at the new location. * [About these Docs](documentation.html) * [Usage & Example](synopsis.html) +* [Guides](guides/index.html)
diff --git a/doc/guides/_toc.md b/doc/guides/_toc.md new file mode 100644 index 00000000000000..0972174a2b2b4a --- /dev/null +++ b/doc/guides/_toc.md @@ -0,0 +1,11 @@ +* [About the Guides](guides/about.html) + + + +* [Compilation](guides/compilation.md) + * [Compile Node with Ninja](guides/compilation/building-node-with-ninja.html) + + + +* [GitHub Repo & Issue Tracker](https://github.com/nodejs/node) +* [Mailing List](http://groups.google.com/group/nodejs) diff --git a/doc/guides/about.md b/doc/guides/about.md new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/doc/guides/compilation/building-node-with-ninja.md b/doc/guides/compilation/building-node-with-ninja.md new file mode 100644 index 00000000000000..550effa976a468 --- /dev/null +++ b/doc/guides/compilation/building-node-with-ninja.md @@ -0,0 +1,39 @@ +# Building Node with Ninja + +The purpose of this guide is to show how to build Node.js using [Ninja][], as doing so can be significantly quicker than using `make`. Please see [Ninja's site][Ninja] for installation instructions (unix only). + +To build Node with ninja, there are 4 steps that must be taken: + +1. Configure the project's OS-based build rules via `./configure` as usual. +2. Use `tools/gyp_node.py -f ninja` to produce Ninja-buildable `gyp` output. +3. Run `ninja -C out/Release` to produce a compiled release binary. +4. Lastly, make symlink to `./node` using `ln -fs out/Release/node node`. + +When running `ninja -C out/Release` you will see output similar to the following if the build has succeeded: +``` +ninja: Entering directory `out/Release` +[4/4] LINK node, POSTBUILDS +``` + +The bottom line will change while building, showing the progress as `[finished/total]` build steps. +This is useful output that `make` does not produce and is one of the benefits of using Ninja. +Also, Ninja will likely compile much faster than even `make -j8` (or `-j