summaryrefslogtreecommitdiffstats
path: root/HACKING.md
diff options
context:
space:
mode:
authorNico Weber <nicolasweber@gmx.de>2015-07-01 00:00:42 (GMT)
committerNico Weber <nicolasweber@gmx.de>2015-07-01 00:00:42 (GMT)
commit184927e8a732e450cd8eb88407b12772cbbdf9e3 (patch)
treef32a613f70509bab824671bf6e6152e561585f2c /HACKING.md
parentd18eda4c3ed7d81c3f8d6d46972a0988f1ebb05e (diff)
parent53e5aed022b09d38e219b31cc9af4574cb948327 (diff)
downloadNinja-184927e8a732e450cd8eb88407b12772cbbdf9e3.zip
Ninja-184927e8a732e450cd8eb88407b12772cbbdf9e3.tar.gz
Ninja-184927e8a732e450cd8eb88407b12772cbbdf9e3.tar.bz2
Merge pull request #984 from martine/vcvars
point people at more detailed build docs if they're on Windows
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