From eaa4d6c22c5aeae1ef42a85a62dbedf86d546b07 Mon Sep 17 00:00:00 2001 From: Evan Martin Date: Tue, 9 Apr 2013 10:15:18 -0700 Subject: [PATCH] update some windows references in the docs Drop the timing info, it's too variable to commit to a manual. --- doc/manual.asciidoc | 41 +++++++++++------------------------------ 1 file changed, 11 insertions(+), 30 deletions(-) diff --git a/doc/manual.asciidoc b/doc/manual.asciidoc index 15359ec..0c0d761 100644 --- a/doc/manual.asciidoc +++ b/doc/manual.asciidoc @@ -136,19 +136,15 @@ but they are not part of make itself.) Using Ninja for your project ---------------------------- -Ninja currently works on Unix-like systems. It's seen the most testing -on Linux (and has the best performance there) but it runs fine on Mac -OS X and FreeBSD. Ninja has some preliminary Windows support but the -full details of the implementation -- like how to get C header -interdependencies correct and fast when using MSVC's compiler -- is -not yet complete. +Ninja currently works on Unix-like systems and Windows. It's seen the +most testing on Linux (and has the best performance there) but it runs +fine on Mac OS X and FreeBSD. If your project is small, Ninja's speed impact is likely unnoticeable. -Some build timing numbers are included below. (However, even for -small projects it sometimes turns out that Ninja's limited syntax -forces simpler build rules that result in faster builds.) Another way -to say this is that if you're happy with the edit-compile cycle time -of your project already then Ninja won't help. +(However, even for small projects it sometimes turns out that Ninja's +limited syntax forces simpler build rules that result in faster +builds.) Another way to say this is that if you're happy with the +edit-compile cycle time of your project already then Ninja won't help. There are many other build systems that are more user-friendly or featureful than Ninja itself. For some recommendations: the Ninja @@ -160,21 +156,11 @@ Ninja's benefit comes from using it in conjunction with a smarter meta-build system. http://code.google.com/p/gyp/[gyp]:: The meta-build system used to -generate build files for Google Chrome. gyp can generate Ninja files -for Linux and Mac and is used by many Chrome developers; support for -Windows is in progress. See the +generate build files for Google Chrome and related projects (v8, +node.js). gyp can generate Ninja files for all platforms supported by +Chrome. See the http://code.google.com/p/chromium/wiki/NinjaBuild[Chromium Ninja -documentation for more details]. gyp is relatively unpopular outside -of the Chrome and v8 world. - -* For Chrome (~30k source files), Ninja reduced no-op builds from - around 15 seconds to under one second. -* https://plus.google.com/108996039294665965197/posts/SfhrFAhRyyd[A - Mozilla developer compares build systems]: "While chromium's full - build is 2.15x slower than firefox's, a nop build is 78.2x faster! - That is really noticeable during development. No incremental build - of firefox can be faster than 57.9s, which means that in practice - almost all of them will be over a minute." +documentation for more details]. http://www.cmake.org/[CMake]:: A widely used meta-build system that can generate Ninja files on Linux as of CMake version 2.8.8. (There @@ -183,11 +169,6 @@ uses Ninja on Windows for their buildbots, but those platforms are not yet officially supported by CMake as the full test suite doesn't pass.) -* For building Blender, one user reported "Single file rebuild is 0.97 - sec, same on makefiles was 3.7sec." -* For building LLVM on Windows, one user reported no-op build times: - "ninja: 0.4s / MSBuild: 11s / jom: 53s". - others:: Ninja ought to fit perfectly into other meta-build software like http://industriousone.com/premake[premake]. If you do this work, please let us know! -- 2.7.4