# GN

GN is a meta-build system that generates build files for
[Ninja](https://ninja-build.org).

## Getting started

    git clone https://gn.googlesource.com/gn
    cd gn
    python build/gen.py
    ninja -C out

On Windows, it is expected that `cl.exe`, `link.exe`, and `lib.exe` can be found
in `PATH`, so you'll want to run from a Visual Studio command prompt, or
similar.

On Linux and Mac, the default compiler is `clang++`, a recent version is
expected to be found in `PATH`. This can be overridden by setting `CC`, `CXX`,
and `AR`.

## Sending patches

GN uses [Gerrit](https://www.gerritcodereview.com/) for code review. The short
version of how to patch is:

    ... edit code ...
    ninja -C out && out/gn_unittests

Then, to upload a change for review:

    git commit
    git push origin HEAD:refs/for/master  # This uploads for review.

When revising a change, use:

    git commit --amend
    git push origin HEAD:refs/for/master

which will add the new changes to the existing code review, rather than creating
a new one.

TODO: AUTHORS, CLA, etc.
