| | 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 | |
| | 205 | Some 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 | }}} |