[webkit-qt] [heads up] Building QtWebKit for development and (distro) packaging

simon.hausmann at nokia.com simon.hausmann at nokia.com
Sat Sep 15 08:12:09 PDT 2012


In the past few days we've landed a few changes that affect the way the Qt port of WebKit is built.

TL;DR: Tools/Scripts/build-webkit is for developers only, everyone else use qmake && make to build.

For people developing:

    Tor Arne changed the default of build-webkit --qt to use the force_static_libs_as_shared trick to
    speed up the linking of the beast. It's now enabled for debug and release builds automatically on
    Linux and Mac OS X [1]. This makes using --debug much much more feasible (I just did a full debug build
    with --no-svg on my slow Laptop with 4GB of RAM running in 32-bit x86 mode and it works just fine)
    So --debug builds are back in the game of being pretty usable for development and we can now all
    enjoy running into magic ASSERTs that usually only Zalan runs into ;-)

For people packaging:

    If you build QtWebKit as part of a big build of qt5.git, then you can stop reading and move on to the next
    unread email :-). If you build it as module separately, then please change your build scripts to stop using
    Tools/Scripts/build-webkit --qt and instead build QtWebKit just like you build all the other Qt 5 modules, using
    simply qmake followed by make. (out-of-source builds are supported of course)

The differences between using build-webkit versus qmake && make are subtle, but important from a software
distribution point of view. It's only the latter approach that optimizes the build for distribution, by minimizing the
number of shared libraries to install, by combining several compilation units into one for more optimized code and
smaller binaries. In the .pro files the differences are scoped with production_build {}.


[1] Unfortunately that trick cannot be deployed on Windows easily, but on the upside MSVC at least is pretty quick
at handling debug builds, to an extend where I would argue that it's usable for light development. In fact while porting
WebKit2 to Qt/Windows I only used debug builds.

More information about the webkit-qt mailing list