On Feb 11, 2013, at 3:37 PM, Ryosuke Niwa wrote:

> On Mon, Feb 11, 2013 at 3:26 PM, Kevin Ollivier <kev...@theolliviers.com> 
> wrote:
> 
> On Feb 11, 2013, at 2:01 PM, Martin Robinson wrote:
> 
> > On Mon, Feb 11, 2013 at 1:41 PM, Kevin Ollivier <kev...@theolliviers.com> 
> > wrote:
> >
> >> Actually, it will, if anything, increase the workload. Because I use waf, 
> >> I am able to use Python to auto-generate the list of sources to build. In 
> >> other words, I tell it to build all sources in a defined list of base 
> >> source directories, along with all sources in baseDirectory/portName 
> >> subdirs (where in this case I set portName to wx) and 
> >> FileName<portName>.cpp (e.g. FileNameWX.cpp if the port is wx), along with 
> >> some additional similar rules for USE defines, like CF. Then if there are 
> >> exceptions to these rules, I just filter them out of the results or 
> >> explicitly add files when I need to, say if I need to compile a single Mac 
> >> port source file. Since the WebKit tree is well-structured, this approach 
> >> works quite well, with me having to define exceptions fairly rarely. The 
> >> main issue I run into seems to be derived sources files that are no longer 
> >> built / used but are still being generated. The performance hit of this is 
> >> about 1 added second to my build, though on slower machin
>  es it might be a couple seconds. For me, it's negligible given the benefit I 
> get from it.
> >
> > If I understand correctly, gyp is also capable of this kind of
> > wildcard inclusion and exclusion. This will be the tool that allows
> > the gyp build to be shared among many ports with the same source
> > lists.
> 
> Yes, but that is not what I see when I check, say, 
> Source/WebCore/WebCore.gypi. Which, BTW, has had around 500 revisions in it 
> over the past 6 months in comparison to the ~10 lines of changes to source 
> files in my patch-in-progress. So while gyp itself might have that feature in 
> it, for whatever reason, the WebKit projects do not utilize that feature 
> right now, so in practice, a switch to gyp means a switch away from 
> rule-based compilation.
> 
> We do! WebCore.gypi just lists all files and 
> http://trac.webkit.org/browser/trunk/Source/WebCore/WebCore.gyp/WebCore.gyp 
> defines what gets built on each platform.

Sorry if I wasn't clear, but by rule-based compilation, I mean not having a 
WebCore.gypi to maintain at all. waf needs no such file because it checks the 
filesystem with a set of rules to determine what sources to build. 

Thanks,

Kevin

> - R. Niwa
> 

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to