On Mon, Feb 11, 2013 at 1:41 PM, Kevin Ollivier <kev...@theolliviers.com> wrote:
> Hi Martin,
>
> On Feb 11, 2013, at 12:47 PM, Martin Robinson wrote:
>
>> On Mon, Feb 11, 2013 at 11:27 AM, Kevin Ollivier
>> <kev...@theolliviers.com> wrote:
>>
>>> The project is not dead per-se, but it's true that it's not very active
>>> these days. Recently, I haven't had a lot of time to devote to the port. The
>>> other big factor has been that I've been the only active contributor to the
>>> port pretty much since its inception, which has made patch submission pretty
>>> difficult due to the challenge of finding a reviewer with knowledge of the
>>> wx code. As a result, the wx activity on trunk will look pretty sparse since
>>> I'm making most of my changes on the wx port's git repo on gitorious.org
>>> rather than submitting patches for trunk. When it comes to trunk, I
>>> basically just periodically submit build fixes for any build breakages in
>>> order to merge and update my git mirror.
>>
>> Regardless of whether the Wx port stays in the tree, I think you
>> should consider changing your build system. I believe the only port
>> that uses waf is Wx, so using cmake or gyp will make your work a lot
>> easier.
>
> 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 machine
 s
>  it might be a couple seconds. For me, it's negligible given the benefit I 
> get from it.
>
> As an example, I'm still at the linking phase right now on Mac (dealing with 
> the removal of the libWebKitLibrarySnowLeopard.a and a couple other things), 
> but my patch so far to catch up with 6 months of changes in trunk is right 
> now at 19KB, and about 30 lines or so of that is actually the build system 
> changes. The number of exceptions I needed to add to the build over that time 
> is 4, and I added about as many build directories to the list as well. I 
> suspect if we were to accumulate the changes to cmake and gyp files over 
> those 6 months, it will probably be well above 30-40 lines. Sure, I wouldn't 
> have written all those lines myself, but sharing work with other developers 
> is still more work for any individual developer than having the computer do 
> the work for you. :)
>
> Everyone tells me how great cmake and gyp is, but I'm not sure any of them 
> have taken any time out to actually investigate whether or not waf is as good 
> as or better than their preferred tool. (It's not as good as auto-generating 
> project files, but it's also in Python so integrating it with gyp would 
> probably be a simple task.) I've often wanted to take some time out to get 
> other ports building with it, as it probably would take a day or two at most, 
> but I lack both the time and expertise in other ports to spend much time on 
> that. Much of the code in there already is port-agnostic, with most 
> wx-specific bits in a port_name == "wx" check, but of course there's the 
> issue of the various port-specific build configurations and such for each 
> port.
>

I have to admit, I thought waf was more like scons and less like cmake
and gyp, i.e., I thought it was a portable build system rather than a
meta-build system (and had never looked at it in detail accordingly).
I am taking another look at it now :)

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

Reply via email to