Skip to content

Commit a60702e

Browse files
committed
v1.7.0
2 parents 484c163 + 06b0e56 commit a60702e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

73 files changed

+1537
-823
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ TAGS
77
/build
88
/build.ninja
99
/ninja
10+
/ninja.bootstrap
1011
/build_log_perftest
1112
/canon_perftest
1213
/depfile_parser_perftest

.travis.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
sudo: false
12
language: cpp
23
compiler:
34
- gcc

HACKING.md

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,25 @@
22

33
`./configure.py` generates the `build.ninja` files used to build
44
ninja. It accepts various flags to adjust build parameters.
5+
Run './configure.py --help' for more configuration options.
56

67
The primary build target of interest is `ninja`, but when hacking on
7-
Ninja your changes should be testable so it's more useful to build
8-
and run `ninja_test` when developing.
8+
Ninja your changes should be testable so it's more useful to build and
9+
run `ninja_test` when developing.
10+
11+
### Bootstrapping
12+
13+
Ninja is built using itself. To bootstrap the first binary, run the
14+
configure script as `./configure.py --bootstrap`. This first compiles
15+
all non-test source files together, then re-builds Ninja using itself.
16+
You should end up with a `ninja` binary (or `ninja.exe`) in the source root.
17+
18+
#### Windows
19+
20+
On Windows, you'll need to install Python to run `configure.py`, and
21+
run everything under a Visual Studio Tools Command Prompt (or after
22+
running `vcvarsall` in a normal command prompt). See below if you
23+
want to use mingw or some other compiler instead of Visual Studio.
924

1025
### Adjusting build flags
1126

@@ -38,11 +53,11 @@ obvious exceptions (fixing typos in comments don't need tests).
3853

3954
I am very wary of changes that increase the complexity of Ninja (in
4055
particular, new build file syntax or command-line flags) or increase
41-
the maintenance burden of Ninja. Ninja is already successfully in use
56+
the maintenance burden of Ninja. Ninja is already successfully used
4257
by hundreds of developers for large projects and it already achieves
4358
(most of) the goals I set out for it to do. It's probably best to
44-
discuss new feature ideas on the mailing list before I shoot down your
45-
patch.
59+
discuss new feature ideas on the [mailing list](https://groups.google.com/forum/#!forum/ninja-build)
60+
before I shoot down your patch.
4661

4762
## Testing
4863

@@ -59,7 +74,7 @@ build "all" before committing to verify the other source still works!
5974
## Testing performance impact of changes
6075

6176
If you have a Chrome build handy, it's a good test case. Otherwise,
62-
[the github downoads page](https://github.com/martine/ninja/downloads)
77+
[the github downoads page](https://github.com/ninja-build/ninja/releases)
6378
has a copy of the Chrome build files (and depfiles). You can untar
6479
that, then run
6580

@@ -176,7 +191,7 @@ root directory:
176191
./ninja_test
177192
gcov build/*.o
178193

179-
Look at the generated `.gcov` files directly, or use your favorit gcov viewer.
194+
Look at the generated `.gcov` files directly, or use your favorite gcov viewer.
180195

181196
### Using afl-fuzz
182197

README

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
Ninja is a small build system with a focus on speed.
2-
http://martine.github.com/ninja/
2+
https://ninja-build.org/
33

4-
See the manual -- http://martine.github.com/ninja/manual.html or
4+
See the manual -- https://ninja-build.org/manual.html or
55
doc/manual.asciidoc included in the distribution -- for background
66
and more details.
77

8-
To build, run ./configure.py --bootstrap. It first compiles all non-test
9-
source files together, then re-builds Ninja using itself. You should
10-
end up with a 'ninja' binary in the source root.
11-
12-
Run './configure.py --help' for more configuration options.
8+
Binaries for Linux, Mac, and Windows are available at
9+
https://github.com/ninja-build/ninja/releases
1310
Run './ninja -h' for Ninja help.
1411

15-
Installation is not necessary because the only required file is is the
12+
To build your own binary, on many platforms it should be sufficient to
13+
just run `./configure.py --bootstrap`; for more details see HACKING.md.
14+
(Also read that before making changes to Ninja, as it has advice.)
15+
16+
Installation is not necessary because the only required file is the
1617
resulting ninja binary. However, to enable features like Bash
1718
completion and Emacs and Vim editing modes, some files in misc/ must be
1819
copied to appropriate locations.

RELEASING

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,14 @@ Push new release branch:
1717

1818
Release on github:
1919
1. https://github.com/blog/1547-release-your-software
20-
Add binaries to https://github.com/martine/ninja/releases
20+
Add binaries to https://github.com/ninja-build/ninja/releases
2121

2222
Make announcement on mailing list:
2323
1. copy old mail
2424

2525
Update website:
2626
1. Make sure your ninja checkout is on the v1.5.0 tag
27-
2. Clone https://github.com/martine/martine.github.io
27+
2. Clone https://github.com/ninja-build/ninja-build.github.io
2828
3. In that repo, `cd ninja && ./update-docs.sh`
2929
4. Update index.html with newest version and link to release notes
3030
5. git commit -m 'run update-docs.sh, 1.5.0 release'

0 commit comments

Comments
 (0)