Notes on Chromium
Shared library build on Linux
The normal Linux Chromium build statically links lots of libraries (including Webkit), which takes a long time to link, even with GNU gold. The shared library build creates lots of .so libraries instead, which reduces link time.
env GYP_DEFINES='library=shared_library' ./build/gyp_chromium -f make env LD_LIBRARY_PATH=$(pwd)/out/Debug/lib.host make out/Debug/chrome -j6 env LD_LIBRARY_PATH=$(pwd)/out/Debug/lib.target ./out/Debug/chrome
Non-srcdir Gyp builds
Autoconf supports "non-sourcedir builds", where the build directory is separate from the source directory, by running $srcdir/configure && make from the build directory. This allows the source directory to be read-only (though this falls down if you need to run autogen.sh). It allows multiple builds with different options to coexist.
A similar arrangement is just about possible with Gyp:
$ $srcdir/build/gyp_chromium --generator-output=$builddir --depth=. -f make -D target_arch=ia32 -D library=shared_library $ cd $builddir $ make out/Debug/chromium
The --depth=. argument is a workaround. See http://code.google.com/p/chromium/issues/detail?id=36541.
Debugging output
Use --enable-logging --log-level=0. See How to enable logging.
Set CHROME_IPC_LOGGING=1
Note that Chromium does not warn about unrecognised options and cannot list available options. See this bug.
