Changes between Version 2 and Version 3 of WebKitGTK/StartHacking


Ignore:
Timestamp:
Jun 19, 2013 5:36:41 AM (8 years ago)
Author:
Andres Gomez
Comment:

Added compiling section

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/StartHacking

    v2 v3  
    6161Before even starting to think in compiling we may want to be sure that we won't have to repeat the same huge effort shortly after. Hence, we would like to put into place some [wiki:WebKitGTK/SpeedUpBuild build speeding techniques].
    6262
    63 Summarizing, if you are working isolated with a single computer, just start using [ ccache].
     63Summarizing, if you are working isolated with a single computer, just start using [wiki:WebKitGTK/SpeedUpBuild#ccache ccache].
    6464
    65 If you are in a network in which other computers are available to help on compilation, just start using [ distcc] or some other distributed compiling software like ''icecc''.
     65If you are in a network in which other computers are available to help on compiling, just start using [wiki:WebKitGTK/SpeedUpBuild#distcc distcc] or some other distributed compiling software like ''icecc''.
     66
     67After you have your settings ready, you can just follow the instructions in BuildingGtk. Basically, you will compile and install the needed dependencies with ''jhbuild'' and will compile WebKitGTK with the default options.
     68
     69There are a couple of things still to be considered:
     70 * ''Release'' or ''Debug''? The default compilation will do a ''Release'' build. You may think that it may be worthy to actually do a ''Debug'' build since you are planning to start hacking and make use of ''gdb''. However, a ''Debug'' build will take longer, more hard drive space and more RAM. In addition, running a debug build in ''gdb'' may be a pain. Because of this, most of the WebKit hackers choose to just use a ''Release'' build and make an extensive usage of ''printf'' as debugging tool. Also, there is the possibility to ''tweak'' a ''Release'' build to keep certain debugging helpers and yet not being a full ''Debug'' build.
     71 - In any case, don't worry too much since a ''Release'' and a ''Debug'' build can co-exist as WebKit store the resulting objects in different directories.
     72 * You may want to disable the compilation of unneeded pieces for if you are not working on them. For example, you can pass:
     73   * Disable SVG: --no-svg
     74   * Disable GTK doc: --disable-gtk-doc
     75   * Disable WebKit1: --no-webkit1
     76{{{
     77#!sh
     78$ Tools/Scripts/build-webkit --gtk --no-svg --disable-gtk-doc --no-webkit1
     79}}}
     80 - You should check all the possible flags to pass to the building script:
     81{{{
     82#!sh
     83$ Tools/Scripts/build-webkit --help
     84}}}
     85
     86
     87== Rebuilding ==
     88
     89