Check out the source code

Use --no-history if you don't need repo history and want a faster checkout. Expect a checkout to take at least 30 minutes on fast connections, and many hours on slower connections.

Post-sync hooks

Some platform-specific pages (linked above) may have extra instructions. In particular, on Ubuntu Linux run:

./build/install-build-deps.sh

Optional:install API keys which allow your build to use certain Google services. This isn't necessary for most development and testing purposes.

Run hooks to fetch everything needed for your build setup.

gclient runhooks

Update the checkout

To sync to newer versions of the code (not necessary the first time), run the following in your src/ directory:

git rebase-update
gclient sync

The first command updates the primary Chromium source repository and rebases your local development branches on top of tip-of-tree. The second command updates all of the dependencies specified in the DEPS file. See also "More help managing your checkout" below.

Building

Build Chromium (the "chrome" target) with Ninja using the command:

ninja -C out/Default chrome

List all GN targets by running gn ls out/Default from the command line. To compile one, pass to Ninja the GN label with no preceding "//" (so for //ui/display:display_unittests use ninja -C out/Default ui/display:display_unittests).

Running

You can run chrome with (substituting "Default" with your build directory):