summaryrefslogtreecommitdiffstats
path: root/HACKING.md
diff options
context:
space:
mode:
authorEvan Martin <martine@danga.com>2015-06-30 22:26:20 (GMT)
committerEvan Martin <martine@danga.com>2015-06-30 22:29:15 (GMT)
commit53e5aed022b09d38e219b31cc9af4574cb948327 (patch)
treef32a613f70509bab824671bf6e6152e561585f2c /HACKING.md
parentd18eda4c3ed7d81c3f8d6d46972a0988f1ebb05e (diff)
downloadNinja-53e5aed022b09d38e219b31cc9af4574cb948327.zip
Ninja-53e5aed022b09d38e219b31cc9af4574cb948327.tar.gz
Ninja-53e5aed022b09d38e219b31cc9af4574cb948327.tar.bz2
point people at more detailed build docs if they're on Windows
It's a hard balance between "most people want to run configure --bootstrap" and "here's a massive wall of text of every detail about building". I think the balance in this change is better than it was before -- most people on Windows don't want to build their own binary. Fixes #983.
Diffstat (limited to 'HACKING.md')
-rw-r--r--HACKING.md20
1 files changed, 18 insertions, 2 deletions
diff --git a/HACKING.md b/HACKING.md
index 9c6830f..1ba520c 100644
--- a/HACKING.md
+++ b/HACKING.md
@@ -2,10 +2,26 @@
`./configure.py` generates the `build.ninja` files used to build
ninja. It accepts various flags to adjust build parameters.
+Run './configure.py --help' for more configuration options.
The primary build target of interest is `ninja`, but when hacking on
-Ninja your changes should be testable so it's more useful to build
-and run `ninja_test` when developing.
+Ninja your changes should be testable so it's more useful to build and
+run `ninja_test` when developing.
+
+### Bootstrapping
+
+Ninja is built using itself. To bootstrap the first binary, run the
+configure script as `./configure.py --bootstrap`. It This first
+compiles all non-test source files together, then re-builds Ninja
+using itself. You should end up with a `ninja' binary (or
+`ninja.exe`) in the source root.
+
+#### Windows
+
+On Windows, you'll need to install Python to run `configure.py`, and
+run everything under a Visual Studio Tools Command Prompt (or after
+running `vcvarsall` in a normal command prompt). See below if you
+want to use mingw or some other compiler instead using Visual Studio.
### Adjusting build flags