[webkit-dev] Is the wxWidgets port maintained?
dpranke at chromium.org
Mon Feb 11 15:33:47 PST 2013
On Mon, Feb 11, 2013 at 3:26 PM, Kevin Ollivier <kevino at 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 <kevino at 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
> 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.
There's two different things going on here: ease of maintenance, and
reproducibility. Using wildcards in the (meta-)build file itself can
make things easier but make it harder to get reproducible builds since
you might accidentally include files in the tree you didn't want.
When you're on a minority port, having wildcards certainly makes your
life easier because you don't have to track every change we make
explicitly, and it's probably easier for you to ensure you're doing
things correctly in your own checkouts, so you don't have to worry
about reproducibility as much.
On the other hand, if you were to convert to using the same gypi files
we were using, then you wouldn't have to track every change we make,
either; you'd get them for free.
More information about the webkit-dev