Introduction to Ninja

Ninja is a small build system with a focus on speed.



This package was installed as a part of the base LFS system. The only reason to reinstall is to use the optional dependencies for additional support files or documentation.

This package is known to build and work properly using an LFS-8.2 platform.

Package Information

Ninja Dependencies




asciidoc-8.6.9 (to build the manual), Emacs-25.3 (to generate lisp files), Doxygen-1.8.14 (to build API documentation), and re2c (only needed to modify the build)

User Notes:

Installation of Ninja

Install Ninja by running the following commands:

python3 --bootstrap

If Emacs is installed and you wish to build lisp files:

emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el

To test the results, issue the following commands:

python3 &&
./ninja ninja_test   &&
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots

Now, as the root user:

install -vm755 ninja /usr/bin/ &&
install -vDm644 misc/ninja.vim \
                /usr/share/vim/vim80/syntax/ninja.vim &&
install -vDm644 misc/bash-completion \
                /usr/share/bash-completion/completions/ninja &&
install -vDm644 misc/zsh-completion \

If Emacs is installed, while still the root user:

install -vDm644 misc/ninja-mode.el \
install -vDm644 misc/ninja-mode.elc \

If you have asciidoc-8.6.9 installed and wish to build the HTML manual, execute the following commands (as the root user):

ninja manual &&
install -vDm644 doc/manual.html /usr/share/doc/ninja-1.8.2/manual.html

If you have Doxygen-1.8.14 installed and wish to build the API documentation, execute the following commands (as the root user):

ninja doxygen &&
install -vDm644 -t /usr/share/doc/ninja-1.8.2/ doc/doxygen/html/*

Command Explanations

emacs -Q --batch -f batch-byte-compile misc/ninja-mode.el: regenerates the emacs lisp files.


Installed Programs: ninja
Installed Library: none
Installed Directories: /usr/share/doc/ninja-1.8.2

Short Descriptions


is the Ninja build system.

Last updated on 2018-02-22 08:23:52 -0800