Skip to content

Commit

Permalink
ninja: adding to moonbase, will be a depends for chromium
Browse files Browse the repository at this point in the history
  • Loading branch information
stumbles committed Oct 2, 2014
1 parent 867bf0d commit 9902c96
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 0 deletions.
6 changes: 6 additions & 0 deletions compilers/ninja/BUILD
@@ -0,0 +1,6 @@

python bootstrap.py &&
python configure.py &&

prepare_install &&
install ninja /usr/bin/
2 changes: 2 additions & 0 deletions compilers/ninja/DEPENDS
@@ -0,0 +1,2 @@
depends Python
depends re2c
26 changes: 26 additions & 0 deletions compilers/ninja/DETAILS
@@ -0,0 +1,26 @@
MODULE=ninja
VERSION=1.5.1
SOURCE=$MODULE-$VERSION.tar.xz
SOURCE_URL=$MIRROR_URL
SOURCE_VFY=sha1:54cbca0c2517a67c30e24ebb00839a7c606c5b5d
WEB_SITE=http://martine.github.io/ninja/
ENTERED=20141002
UPDATED=20141002
SHORT="small build system with a focus on speed"

cat << EOF
Ninja is a small build system with a focus on speed. It differs from other build systems in two major
respects: it is designed to have its input files generated by a higher-level build system, and it is
designed to run builds as fast as possible.

Why yet another build system?
Where other build systems are high-level languages Ninja aims to be an assembler.

Ninja build files are human-readable but not especially convenient to write by hand. (See the generated
build file used to build Ninja itself.) These constrained build files allow Ninja to evaluate incremental
builds quickly. For the Chrome browser on Linux (the motivating project behind Ninja), Ninja is under a
second for a no-op build where the equivalent Makefiles took over ten seconds.

Ninja's low-level approach makes it perfect for embedding into more featureful build systems. Via gyp it can
build Chrome and v8 and node.js etc.; via CMake it can build LLVM and KDE and Blender etc.
EOF

0 comments on commit 9902c96

Please sign in to comment.