commit | 1426651d48d1630b607884f099e7925503ff5e14 | [log] [tgz] |
---|---|---|
author | Nico Weber <thakis@chromium.org> | Sat Nov 17 13:06:45 2018 -0500 |
committer | Commit Bot <commit-bot@chromium.org> | Mon Nov 19 02:09:09 2018 +0000 |
tree | 9f170a7eba39471d61d92fb48c48e6cbaa778691 | |
parent | dd2f4cf07d12d9e1535d43bd854d26c8f1abd9bb [diff] |
Make regen with --dotfile and --root work. Also add a test for GetSelfInvocationCommandLine(). Also fix a bug in MakeAbsoluteFilePathRelativeIfPossible() found by the new test: It now works correctly if the two paths passed in have different slash types right after the drive letter. If handed "C:\foo" "C:/foo/f", the function used to return "..\foo\f", now it returns just "f". This also makes the exe_path in the gn regen command look nicer, and might fix a few other things. BUG=23 Change-Id: I683d6f0ef5d742686181ff11545a62c052f06605 Reviewed-on: https://gn-review.googlesource.com/c/3280 Commit-Queue: Brett Wilson <brettw@chromium.org> Reviewed-by: Brett Wilson <brettw@chromium.org>
GN is a meta-build system that generates build files for Ninja. There is documentation in docs/.
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.