wiki:BuildingGtk

Version 40 (modified by Martin Robinson, 14 years ago) (diff)

--

Building WebKitGTK+

Dependencies

Following is a list of Debian packages necessary for building WebKitGTK+. Although the names of the packages are probably different in non-Debian-based distributions, it should be fairly easy to find the alternative names. This list should be kept up to date.

  • autoconf
  • automake
  • autotools-dev
  • bison (>= 2.4.1)
  • flex
  • gperf
  • gtk-doc-tools
  • libenchant-dev
  • libgail-dev (>= 1.8)
  • libgeoclue-dev
  • libglib2.0-dev (>= 2.21.3)
  • libgstreamer-plugins-base0.10-dev
  • libgtk2.0-dev (>= 2.10)
  • libicu-dev
  • libjpeg62-dev
  • libpango1.0-dev (>= 1.16)
  • libpng12-dev
  • libsoup2.4-dev (>= 2.28.2)
  • libsqlite3-dev
  • libtool
  • libxslt-dev
  • libxt-dev

Getting the source

To get the WebKitGTK+ source, please follow the instructions on the WebKit page. Many WebKit developer also use git to interact with the repository and many of the developer tools have strong support for git. http://trac.webkit.org/wiki/UsingGitWithWebKit contains many tips for using git with WebKit.

Launching the build

Once you have successfully checked the source out of the repository, simply run:

$ WebKitTools/Scripts/build-webkit --gtk

This will build WebKit in the directory WebKitBuild/Release. Once the build finishes, you can run a simple demo browser by executing:

$ WebKitTools/Scripts/run-launcher --gtk

To build a debug build of WebKitGTK+ (which will contain debugging symbols useful for generating stack traces), you can pass the <tt>--debug</tt> argument to build-webkit:

$ WebKitTools/Scripts/build-webkit --gtk --debug

To install the WebKit GTK+ library, simply change into the Release directory and issue

$ make install 

The configure script also supports the different features WebKit/GTK+ provide (e.g., SVG filters and animation features, HTML5 Video element support, etc..). Simply issuing

$ ./configure --help

on the command-line should give you a brief overview of what can be configured. Although you can build with these features enabled, it doesn't mean that the functionality is complete, let alone working properly. Feel free to submit a bug at http://bugs.webkit.org if you find something that is not working.