OLD | NEW |
1 # Ninja Build | 1 # Ninja Build |
2 | 2 |
3 Ninja is a build system written with the specific goal of improving the | 3 Ninja is a build system written with the specific goal of improving the |
4 edit-compile cycle time. It is used by default everywhere except when building | 4 edit-compile cycle time. It is used by default everywhere except when building |
5 for iOS. | 5 for iOS. |
6 | 6 |
7 Ninja behaves very similar to Make -- the major feature is that it starts | 7 Ninja behaves very similar to Make -- the major feature is that it starts |
8 building files nearly instantly. (It has a number of minor user interface | 8 building files nearly instantly. (It has a number of minor user interface |
9 improvements to make as well.) | 9 improvements to make as well.) |
10 | 10 |
11 Read more about Ninja at [the Ninja home page](https://ninja-build.org/). | 11 Read more about Ninja at [the Ninja home page](https://ninja-build.org/). |
12 | 12 |
13 ## Using it | 13 ## Using it |
14 | 14 |
15 ### Configure your system to use Ninja | 15 ### Configure your system to use Ninja |
16 | 16 |
17 #### Install | 17 #### Install |
18 | 18 |
19 Ninja is included in `depot_tools` as well as `gyp`, so there's nothing to | 19 Ninja is included in `depot_tools` so there's nothing to install. |
20 install. | |
21 | 20 |
22 ## Build instructions | 21 ## Build instructions |
23 | 22 |
24 To build Chrome: | 23 To build Chrome: |
25 | 24 |
26 cd /path/to/chrome/src | 25 cd /path/to/chrome/src |
27 ninja -C out/Debug chrome | 26 ninja -C out/Debug chrome |
28 | 27 |
29 Specify `out/Release` for a release build. I recommend setting up an alias so | 28 Specify `out/Release` for a release build. I recommend setting up an alias so |
30 that you don't need to type out that build directory path. | 29 that you don't need to type out that build directory path. |
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 You can write a specific build config to a specific output directory via the | 93 You can write a specific build config to a specific output directory via the |
95 `-G` flags to gyp. Here's an example from jamesr: | 94 `-G` flags to gyp. Here's an example from jamesr: |
96 `build/gyp_chromium -Gconfig=Release -Goutput_dir=out_profiling -Dprofiling=1 | 95 `build/gyp_chromium -Gconfig=Release -Goutput_dir=out_profiling -Dprofiling=1 |
97 -Dlinux_fpic=0` | 96 -Dlinux_fpic=0` |
98 | 97 |
99 ## Bugs | 98 ## Bugs |
100 | 99 |
101 If you encounter any problems, please file a bug at http://crbug.com/new with | 100 If you encounter any problems, please file a bug at http://crbug.com/new with |
102 label `ninja` and cc `thakis@` or `scottmg@`. Assume that it is a bug in Ninja | 101 label `ninja` and cc `thakis@` or `scottmg@`. Assume that it is a bug in Ninja |
103 before you bother anyone about e.g. link problems. | 102 before you bother anyone about e.g. link problems. |
OLD | NEW |