Changes between Version 14 and Version 15 of WebKitGTK/SpeedUpBuild


Ignore:
Timestamp:
Feb 11, 2015 8:35:04 AM (9 years ago)
Author:
clopez@igalia.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • WebKitGTK/SpeedUpBuild

    v14 v15  
    291291}}}
    292292
    293  * Make sure you integrate it seamlessly with ccache by defining the CCACHE_PREFIX variable:
    294 {{{
    295 #!sh
    296 $ export CCACHE_PREFIX=icecc
    297 }}}
    298 
    299  * Make sure you have your PATH properly configured:
    300 {{{
    301 #!sh
    302 $ export PATH=/usr/lib/ccache:$PATH
    303 }}}
    304 
    305  * You can increase the number of jobs setting the MAKE variable:
    306 {{{
    307 #!sh
    308 $ export MAKE="make -j12"
    309 }}}
    310293
    311294 * You may want to restart the service after setting all the configuration appropriately:
     
    326309$ Tools/Scripts/build-webkit --gtk
    327310}}}
     311
     312
     313=== icecc + ccache ===
     314
     315So far, this only works well when using as compiler GCC, with clangs gives problems.
     316
     317To use icecc and ccache together the steps are:
     318
     3191. Export the CCACHE_PREFIX variable:
     320{{{
     321#!sh
     322$ export CCACHE_PREFIX=icecc
     323}}}
     3242. Set as first dir of your PATH the ccache dir.
     325{{{
     326#!sh
     327$ export PATH="/usr/lib/ccache:${PATH}"
     328}}}
     329
     330
     331=== Tips for using icecc ===
     332
     333 * Increase the number of parallel jobs to the double or triple of your number of cores:
     334{{{
     335#!sh
     336$ export NUMBER_OF_PROCESSORS="$(( $(nproc) * 3 ))"
     337}}}
     338
     339 * To ensure that the slaves are going to use the exact same compiler version than your machine, send your toolchain to the build slaves:
     340{{{
     341#!sh
     342export ICECC_VERSION="$(pwd)/$(icecc --build-native|tee /dev/stderr|grep creating|awk '{print $2}')"
     343}}}
     344
     345
     346=== using icecc with clang ===
     347
     348This are the steps to use icecc with clang (without ccache because it don't works so far)
     349
     3501. If you were using GCC previously, then start with a clean build.
     351{{{
     352#!sh
     353rm -fr WebKitBuild/Release
     354}}}
     3552. Ensure that you have installed the symlinks to clang on the icecc dir
     356{{{
     357#!sh
     358cd /usr/lib/icecc/bin
     359sudo ln -s $(which icecc) clang
     360sudo ln -s $(which icecc) clang++
     361}}}
     3623. Export the CC and CXX environment variables accordingly:
     363{{{
     364#!sh
     365export CC=clang
     366export CXX=clang++
     367}}}
     3684. Build a tgz with your clang toolchain:
     369{{{
     370#!sh
     371export ICECC_VERSION="$(pwd)/$(/usr/lib/icecc/icecc-create-env --clang /usr/bin/clang /usr/lib/icecc/compilerwrapper|tee /dev/stderr|grep creating|awk '{print $2}')"
     372}}}
     3735. Export your PATH to include the icecc dir as first:
     374{{{
     375#!sh
     376export PATH="/usr/lib/icecc/bin:${PATH}"
     377}}}
     3786. Ensure that the icecc daemon is running and start the compilation as usual.
     379{{{
     380#!sh
     381Tools/Scripts/build-webkit --gtk
     382}}}
     383
    328384
    329385=== icecc troubleshooting ===