Changes between Version 6 and Version 7 of WebKitGTK/SpeedUpBuild


Ignore:
Timestamp:
Nov 27, 2013 3:48:05 AM (9 years ago)
Author:
Manuel Rego Casasnovas
Comment:

Add documentation about icecc

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/SpeedUpBuild

    v6 v7  
    5050#!sh
    5151$ which gcc
    52 /usr/lib64/ccache/gcc
     52/usr/lib/ccache/gcc
    5353$ which g++
    54 /usr/lib64/ccache/g++
    55 }}}
    56 
    57  * If that's not the case you can just create symlinks in a bin directory with precedence over all the other ones, like ''~/bin'':
    58 {{{
    59 #!sh
    60 $ mkdir ~/bin
    61 $ ln -s /usr/bin/ccache gcc
    62 $ ln -s /usr/bin/ccache g++
    63 $ export PATH=$(HOME)/bin:$PATH
     54/usr/lib/ccache/g++
     55}}}
     56
     57 * If that's not the case you can prepend `/usr/lib/ccache/` to PATH:
     58{{{
     59#!sh
     60$ export PATH=/usr/lib/ccache/:$PATH
    6461}}}
    6562
     
    187184
    188185That will instruct distcc to search for distccd servers using avahi.
     186
     187== icecc ==
     188
     189[https://github.com/icecc/icecream Icecream] was created by SUSE based on distcc. Like distcc, Icecream takes compile jobs from a build and distributes it among remote machines allowing a parallel build. But unlike distcc, Icecream uses a central server that dynamically schedules the compile jobs to the fastest free server. This advantage pays off mostly for shared computers, if you're the only user on x machines, you have full control over them.
     190
     191=== icecc scheduler ===
     192
     193 * Install it:
     194{{{
     195#!sh
     196$ sudo apt-get install icecc
     197}}}
     198
     199 * Configure scheduler to start by default (see `/usr/share/doc/icecc/README.Debian`):
     200{{{
     201#!sh
     202$ sudo update-rc.d icecc-scheduler defaults
     203}}}
     204
     205Some considerations:
     206 * You should have only one scheduler in your network.
     207 * The scheduler and one of the daemons can be in the same host.
     208
     209=== icecc daemon(s) ===
     210
     211 * Install it:
     212{{{
     213#!sh
     214$ sudo apt-get install icecc
     215}}}
     216
     217 * You can install icecc monitor too:
     218{{{
     219#!sh
     220$ sudo apt-get install icecc-monitor
     221}}}
     222
     223 * Make sure you integrate it seamlessly with ccache by defining the CCACHE_PREFIX variable:
     224{{{
     225#!sh
     226$ export CCACHE_PREFIX=icecc
     227}}}
     228
     229 * Make sure you have your PATH properly configured:
     230{{{
     231#!sh
     232$ export PATH=/usr/lib/ccache:$PATH
     233}}}
     234
     235 * Then compile WebKit normally:
     236{{{
     237#!sh
     238$ Tools/Scripts/build-webkit --gtk
     239}}}