Changes between Initial Version and Version 1 of WebKitGTK/StartHacking


Ignore:
Timestamp:
Jun 19, 2013 4:29:41 AM (11 years ago)
Author:
Andres Gomez
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/StartHacking

    v1 v1  
     1[[PageOutline]]
     2
     3= Start hacking in WebKitGTK+ =
     4
     5== HW conditionants ==
     6
     7WebKit is such a bahamut that the first thing to take into account is the location we want to use as our working place.
     8
     9Basically, we will be able to compile in two flavors: ''Release'' and ''Debug''. As its name says, the debug compilation mode will keep the debugging symbols. This is handy for debugging but will take longer time in the compilation, will use much more space and will need much more RAM. In addition, the performance may be affected when trying to open a debugging session with GDB.
     10
     11 * A local copy of the Git repository will take ~7Gb.
     12 * As the GTK port uses for its build ''jhbuild'', the dependencies needed will take ~3Gb.
     13 * The objects of a ''Release'' build will take another additional ~1Gb.
     14 * The objects of a ''Debug'' build will take another several additional Gbs (approx. amount to be completed).
     15
     16In addition, there may be other factors to get into account:
     17
     18 * You may want to speed up your compilation through the usage of ''ccache'' and, therefore, reserve another ~8Gb (with few builds my cache is taking ~3Gb).
     19 * You may want to combine WebKitGTK development with ''Epiphany'' development, the reference application using WebKitGTK and the official GNOME web browser. This will take another additional Gbs (approx. amount to be completed).
     20 * You may want to do your hacking in a chroot environment so it doesn't interfere with your production distribution. A basic Ubuntu Quantal Quetzal x64 in which to work takes to me ~4Gb.
     21
     22
     23With all this, I would reccommend to start working in a hard drive partition in which we have at least a minimum of '''50Gb''' of free space.
     24
     25
     26In addition, WebKit needs tons of RAM memory and CPU power. If you don't want to get bored waiting for your compilations to end you will need a powerful machine with several cores and Gbs or RAM. Not only that, nowadays hackers usually carry out their job in laptops. As time goes by they become more powerful but still several WebKit hackers get the support of desktop computers to speed up their compilations with the help of distributed compiling tools like ''distcc''.
     27
     28
     29My computer is a [http://www.thinkwiki.org/wiki/Category:X220 Lenovo Thinkpad X220] with a SSD hard drive, 8Gb RAM and a dual-core Intel® Core™ i7-2620M (2.7GHz, 4MB L3 cache). A clean ''Release'' build takes ~1h.
     30
     31
     32You will have to take all of this into consideration before starting to work in WebKit.
     33
     34
     35
     36== Getting the code ==
     37
     38This is already explained in the BuildingGtk section and the instructions to use Git in UsingGitWithWebKit but, trying to give straight commands, you most probably would like to use Git as your revision control tool. WebKit actually uses SVN for its official revision control tool but tons of developers use Git and its usage is well supported.
     39
     40{{{
     41#!sh
     42$ git clone git://git.webkit.org/WebKit.git WebKit
     43}}}
     44
     45As you may also want to keep track of the official SVN repository, let's do:
     46
     47{{{
     48#!sh
     49$ cd WebKit
     50$ git svn init --prefix=origin/ -T trunk http://svn.webkit.org/repository/webkit
     51$ git config --replace svn-remote.svn.fetch trunk:refs/remotes/origin/master
     52$ git svn fetch
     53}}}
     54
     55Done! You are ready to start using the code.