Changes between Version 67 and Version 68 of BuildingGtk


Ignore:
Timestamp:
Dec 3, 2011 3:19:59 AM (10 years ago)
Author:
Martin Robinson
Comment:

Reorganize things

Legend:

Unmodified
Added
Removed
Modified
  • BuildingGtk

    v67 v68  
    22
    33= Building WebKitGTK+ =
    4 
    5 == Dependencies ==
    6 
    7 WebKitGTK+ often requires very recent versions of some core packages like glib and libsoup. To ease building and getting tests to match the results in the buildbots we have a built-in jhbuild-based system that automatically builds and uses those packages. You can look at the configuration and modules file in the '''Tools/gtk''' directory, and the script that is run to update the dependencies is '''Tools/Scripts/update-webkitgtk-libs'''. Following is a list of Debian packages necessary for building WebKitGTK+.
    8 
    9  * autoconf
    10  * automake
    11  * autotools-dev
    12  * bison (>= 2.4.1)
    13  * flex
    14  * gail-3.0
    15  * gawk
    16  * gperf
    17  * gtk-doc-tools
    18  * libenchant-dev
    19  * libgail-dev
    20  * libgail-3-dev
    21  * libgeoclue-dev
    22  * libgstreamer-plugins-base0.10-dev (>= 0.10.30)
    23  * libgtk3.0-dev
    24  * libgpg-error-dev
    25  * libicu-dev
    26  * libgl1-mesa-glx
    27  * libgl1-mesa-dev
    28  * libjpeg62-dev
    29  * libpango1.0-dev (>= 1.16)
    30  * libpng12-dev
    31  * libsqlite3-dev
    32  * libtool
    33  * libxslt-dev
    34  * libxt-dev
    35 
    36 ''OS X: The code on Mac OS X should built like any Linux distribution, as long as you install the above build dependencies (in addition to an "ordinary build environment" that includes XCode Tools 2.3 or newer). [http://www.macports.org/ MacPorts] users can get the dependencies via:''
    37 {{{
    38 $ sudo port install webkit-gtk
    39 }}}
    40 
    41 If you get an error about libjpeg when the build does the configuration step, you may find the following fixes it:
    42 {{{
    43 $ export CPPFLAGS="-I/opt/local/include"
    44 $ export LDFLAGS="-L/opt/local/lib"
    45 }}}
    46 
    47 Aditional requirements may apply for running tests; see WebKitGtkLayoutTests.
    484
    495== Getting the source ==
     
    517To get the WebKitGTK+ source, please follow the instructions on the [http://webkit.org/building/checkout.html WebKit page]. Many WebKit developer also use git to interact with the repository and the WebKit developer tools have strong support for git. [http://trac.webkit.org/wiki/UsingGitWithWebKit] contains tips for using git with WebKit.
    528
    53 == Launching the build ==
     9== Dependencies ==
    5410
    55 Once you have successfully checked the source out of the repository, simply run:
     11''Note: Aditional requirements may apply for running tests; see WebKitGtkLayoutTests.''
    5612
     13    1. '''Install the base WebKitGTK+ dependencies:'''
     14{{{
     15$ apt-get install autoconf \
     16                  automake \
     17                  autotools-dev \
     18                  bison \
     19                  flex \
     20                  gail-3.0 \
     21                  gawk \
     22                  gperf \
     23                  gtk-doc-tools \
     24                  libenchant-dev \
     25                  libgail-dev \
     26                  libgail-3-dev \
     27                  libgeoclue-dev \
     28                  libgstreamer-plugins-base0.10-dev \
     29                  libgtk3.0-dev \
     30                  libicu-dev \
     31                  libgl1-mesa-glx \
     32                  libgl1-mesa-dev \
     33                  libjpeg62-dev \
     34                  libpango1.0-dev \
     35                  libpng12-dev \
     36                  libsqlite3-dev \
     37                  libtool \
     38                  libxslt-dev \
     39                  libxt-dev
     40
     41}}}
     42
     43    2. '''Install the jhbuild module dependencies:'''
     44{{{
     45$ apt-get install libgpg-error-dev
     46}}}
     47
     48   3. '''Download and build all jhbuild modules:'''
     49{{{
     50$ Tools/Scripts/update-webkitgtk-libs
     51}}}
     52
     53=== Building WebKitGTK+ ===
    5754{{{
    5855$ Tools/Scripts/build-webkit --gtk
    5956}}}
    6057
    61 This will build WebKit in the directory WebKitBuild/Release. Once the build finishes, you can run a simple demo browser by executing:
     58== Notes ==
    6259
    63 {{{
    64 $ Tools/Scripts/run-launcher --gtk
    65 }}}
     60    * JHBuild configuration and module files are stored as `Tools/gtk/jhbuildrc` and `Tools/gtk/jhbuild.modules`.
     61    * If everything builds properly tests should typically pass on your system. Please file a bug if they do not.
    6662
    67 To build a debug build of WebKitGTK+ (which will contain debugging symbols useful for generating stack traces), you can pass the `--debug` argument to build-webkit. This will build WebKit in WebKitBuild/Debug and all other scripts should take the `--debug` argument as well.
    68 
    69 {{{
    70 $ Tools/Scripts/build-webkit --gtk --debug
    71 $ Tools/Scripts/run-launcher --gtk --debug
    72 }}}
    73 
     63=== Installation ===
    7464
    7565To install the WebKit GTK+ library, simply change into the Release directory and issue
     
    8676
    8777on 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.
     78
     79=== OS X ===
     80
     81OS X: The code on Mac OS X should built like any Linux distribution, as long as you install the above build dependencies (in addition to an "ordinary build environment" that includes XCode Tools 2.3 or newer). [http://www.macports.org/ MacPorts] users can get the dependencies via:
     82{{{
     83$ sudo port install webkit-gtk
     84}}}
     85
     86If you get an error about libjpeg when the build does the configuration step, you may find the following fixes it:
     87{{{
     88$ export CPPFLAGS="-I/opt/local/include"
     89$ export LDFLAGS="-L/opt/local/lib"
     90}}}