| OLD | NEW |
| 1 # What is GN? | 1 # What is GN? |
| 2 | 2 |
| 3 GN is a meta-build system that generates | 3 GN is a meta-build system that generates |
| 4 [NinjaBuild](https://chromium.googlesource.com/chromium/src/+/master/docs/ninja_
build.md) | 4 [NinjaBuild](https://ninja-build.org) |
| 5 files so that you can build Chromium with Ninja. | 5 files so that you can build Chromium with Ninja. |
| 6 | 6 |
| 7 ## Why did you switch from GYP? | 7 ## Why did you switch from GYP? |
| 8 | 8 |
| 9 1. We believe GN files are more readable and more maintainable than GYP files. | 9 1. We believe GN files are more readable and more maintainable than GYP files. |
| 10 2. GN is fast: | 10 2. GN is fast: |
| 11 * GN is 20x faster than GYP. | 11 * GN is 20x faster than GYP. |
| 12 * GN supports automatically re-running itself as needed by Ninja | 12 * GN supports automatically re-running itself as needed by Ninja |
| 13 as part of the build. This eliminates the need to remember to | 13 as part of the build. This eliminates the need to remember to |
| 14 re-run GN when you change a build file. | 14 re-run GN when you change a build file. |
| 15 3. GN gives us better tools for enforcing dependencies (see | 15 3. GN gives us better tools for enforcing dependencies (see |
| 16 `gn check` and the `visibility`, `public_deps`, and `data_deps` | 16 `gn check` and the `visibility`, `public_deps`, and `data_deps` |
| 17 options for some examples). | 17 options for some examples). |
| 18 4. GN gives us tools for querying the build graph; you can ask | 18 4. GN gives us tools for querying the build graph; you can ask |
| 19 "what does X depend on" and "who depends on Y", for example. | 19 "what does X depend on" and "who depends on Y", for example. |
| 20 | 20 |
| 21 ## What's the status of the GYP->GN migration? | 21 ## What's the status of the GYP->GN migration for Chromium? |
| 22 | 22 |
| 23 _As of Oct 2016:_ | 23 _As of Oct 2016:_ |
| 24 | 24 |
| 25 * All of the Chromium builds have been switched over. | 25 * All of the Chromium builds have been switched over. |
| 26 * Nearly all of the GYP files have been deleted from the Chromium repos. | 26 * Nearly all of the GYP files have been deleted from the Chromium repos. |
| 27 * You can no longer build with GYP as a result. | 27 * You can no longer build with GYP as a result. |
| 28 * There are still some GYP files in place for the "Closure Compilation" | 28 * There are still some GYP files in place for the "Closure Compilation" |
| 29 builders that need to be converted over. | 29 builders that need to be converted over. |
| 30 * Some related projects (e.g., V8, Skia) may still support GYP for their | 30 * Some related projects (e.g., V8, Skia) may still support GYP for their |
| 31 own reasons. | 31 own reasons. |
| 32 * We're still cleaning up some odds and ends like making gclient not | 32 * We're still cleaning up some odds and ends like making gclient not |
| 33 still use GYP_DEFINES. | 33 still use GYP_DEFINES. |
| 34 | 34 |
| 35 ## I want more info on GN! | 35 ## I want more info on GN! |
| 36 | 36 |
| 37 Read these links: | 37 Read these links: |
| 38 | 38 |
| 39 * [Quick start](https://chromium.googlesource.com/chromium/src/+/master/tools/
gn/docs/quick_start.md) | 39 * [Quick start](docs/quick_start.md) |
| 40 * [FAQ](https://chromium.googlesource.com/chromium/src/+/master/tools/gn/docs/
faq.md) | 40 * [FAQ](docs/faq.md) |
| 41 * [Language and operation details](https://chromium.googlesource.com/chromium/
src/+/master/tools/gn/docs/language.md) | 41 * [Language and operation details](docs/language.md) |
| 42 * [Reference](https://chromium.googlesource.com/chromium/src/+/master/tools/gn
/docs/reference.md) The built-in `gn help` documentation. | 42 * [Reference](docs/reference.md) The built-in `gn help` documentation. |
| 43 * [Style guide](https://chromium.googlesource.com/chromium/src/+/master/tools/
gn/docs/style_guide.md) | 43 * [Style guide](docs/style_guide.md) |
| 44 * [Cross compiling and toolchains](https://chromium.googlesource.com/chromium/
src/+/master/tools/gn/docs/cross_compiles.md) | 44 * [Cross compiling and toolchains](docs/cross_compiles.md) |
| 45 * [Hacking on GN itself](https://chromium.googlesource.com/chromium/src/+/mast
er/tools/gn/docs/hacking.md) | 45 * [Hacking on GN itself](docs/hacking.md) |
| 46 * [GNStandalone](https://chromium.googlesource.com/chromium/src/+/master/tools
/gn/docs/standalone.md) Standalone GN projects | 46 * [GNStandalone](docs/standalone.md) Standalone GN projects |
| 47 * [UpdateGNBinaries](https://chromium.googlesource.com/chromium/src/+/master/t
ools/gn/docs/update_binaries.md) Pushing new binaries | 47 * [UpdateGNBinaries](docs/update_binaries.md) Pushing new binaries |
| 48 * [Check](https://chromium.googlesource.com/chromium/src/+/master/tools/gn/doc
s/check.md) `gn check` command reference | 48 * [Check](docs/check.md) `gn check` command reference |
| OLD | NEW |