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