# Hacking on the GN binary itself | |
## Building GN itself | |
GN is part of the Chromium tree, in [//tools/gn/](../). If you have a | |
Chromium checkout, you already have the source and you can do `ninja -C | |
out/Debug gn` to build it. | |
To build gn using gn, run (in the root `src` directory): | |
``` | |
gn gen out/Default | |
ninja -C out/Default gn | |
``` | |
Change `out/Default` as necessary to put the build directory where you | |
want. | |
## Running GN's unit tests | |
``` | |
ninja -C out/Default gn_unittests && out/Default/gn_unittests | |
``` |