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

ChromiumNotes (last edited 2010-02-24 16:28:54 by MarkSeaborn)