Hello WebKittens,

As many of you already know build times in WebKit have a major impact on the 
productivity of developers. My hope is to change that for clean builds without 
significantly impacting incremental builds. We’re expecting to see a 3-4x build 
time speedup on clean builds of WebKit! The current plan is to use unified 
sources to solve this problem. 

There’s one change you need to be aware of: static variables in .cpp files. 
When you want to declare a static function or variable (furiable? 🐈) in a .cpp 
file (I hope you’re not doing that in a header!) you’ll need to put that static 
in namespace FILENAME { }. For example:

namespace FILENAME {
    static int myVariable { 0 };
    static int myFunction() { return myVariable; }

We need to have the namespace because unified source builds compile multiple 
cpp files as if they were one cpp file so there could be name conflicts. Due to 
build magic, FILENAME will be the name of the cpp file you are compiling.

If you want to know more about how this works you can check out my other email 
that goes into more detail.

webkit-dev mailing list

Reply via email to