commit | 9434c3d281eefb5c3764b5a0575feec9c59bd095 | [log] [tgz] |
---|---|---|
author | Mike Gilbert <floppymaster@gmail.com> | Sat Mar 23 14:09:44 2019 -0400 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Mar 25 20:47:33 2019 +0000 |
tree | 52b836525311bea29d8911f7af5248bd6a9b9d0a | |
parent | b199e54b23a8fb972340b5136f476851e7abeffb [diff] |
Make gen.py compatible with python3 Convert subprocess output from bytes to string using decode(). This allows a string-based regex to be used. Open last-commit-position.h using text mode instead of binary. This causes f.read() to return a string, and allows f.write() to accept a string. Use dict.items() instead of dict.iteritems(). This makes the code slightly slower under python2, but gen.py is rarely invoked anyway. Change-Id: I0eb9aec758433b0cd26fdb4647bd56337ca89f4b Reviewed-on: https://gn-review.googlesource.com/c/gn/+/4400 Reviewed-by: Dirk Pranke <dpranke@google.com> Commit-Queue: Dirk Pranke <dpranke@google.com>
GN is a meta-build system that generates build files for Ninja. There is documentation in docs/ and a presentation on it.
You can download the latest version of GN binary for Linux, macOS and Windows.
Alternatively, you can build GN from source:
git clone https://gn.googlesource.com/gn cd gn python build/gen.py ninja -C out # To run tests: out/gn_unittests
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
.
If you find a bug, you can see if it is known or report it in the bug database.
GN uses Gerrit for code review. The short version of how to patch is:
Register at https://gn-review.googlesource.com. ... edit code ... ninja -C out && out/gn_unittests
Then, to upload a change for review:
git commit git cl upload --gerrit
When revising a change, use:
git commit --amend git cl upload --gerrit
which will add the new changes to the existing code review, rather than creating a new one.
We ask that all contributors sign Google's Contributor License Agreement (either individual or corporate as appropriate, select ‘any other Google project’).
You may ask questions and follow along w/ GN‘s development on Chromium’s gn-dev@ Google Group.