I have been intrigued with Chrome since it was announced, coming from a background that includes using ancient Netscape as a platform, and missing those days.

Seeing Chrome as a throwback to those times, and how fast the javascript and apps have been on it excited me greatly. And with WebGL being worked on in WebKit, makes it even more so (although O3D is Googles 3D imp, there are issues assigned to implement WebGL into Chromium builds).

I am a Mac geek to the bone, and not having the latest builds (and having to run virtualized) was lame for the most part, so I wanted to start getting into the builds myself.

Grabbing the Chromium code and building it is really easy, and poking around the code to see how things are working under the hood in a modern browser is pretty fun.

I thought I would just outline how easy it was to get the codebase up and running here - as a reference. I put a cron in place to grab this every other day and build it at night so that I don't have to worry about it manually, although this can cause bad builds to happen.

Setup: Mac Pro Dual-Core Xeon - 8GB - OS X 10.5.6
Dir: ~/Documents/Projects/Chromium/
  • Installed 'depot_tools' - set of scripts to manage checkouts and code reviews:
    svn co http://src.chromium.org/svn/trunk/tools/depot_tools
    gclient is a main component of this.
    ~/Documents/Projects/Chromium/depot_tools
  • Added 'depot_tools' to path (in .tcshrc or .profile)
  • Grab the codebase.
    Downloaded the tarball initially - which contains the svn info needed.
    This enabled quicker access to the source instead of initial svn co.
    http://build.chromium.org/buildbot/a...m_tarball.html
  • Decompressed the tarball - and move the 'src' dir to the trunk, as well as the .gclient files (for gclient setup that was used in the tarball for easy syncing/updating).
  • Get the platform specific files - forcing a sync:
    cd ~/Documents/Projects/Chromium/trunk
    gclient sync --force
    This created the xcodeproj files needed to build.
  • Build from command line:
    cd ~/Documents/Projects/Chromium/trunk/src/build
    % xcodebuild -project all.xcodeproj -activeconfiguration -target All

    (or from XCode itself - opening the 'all.xcodeproj' in XCode and building the 'All' target)
  • Output is located in
    ~/Documents/Projects/Chromium/trunk/src/xcodebuild/Debug/Chromium.app
  • To update code from the repo:
    cd into dir containing the 'src' dir:
    cd ~/Documents/Projects/Chromium/trunk
    gclient sync


More...