[webkit-dev] Moving away from qmake

Kevin Ollivier kevino at theolliviers.com
Mon Nov 12 11:55:13 PST 2007


Hi Maciej,

On Nov 12, 2007, at 11:33 AM, Maciej Stachowiak wrote:

>
> On Nov 12, 2007, at 5:28 AM, Mark Rowe wrote:
>
>>
>> On 13/11/2007, at 00:00, Charles Woloszynski wrote:
>>
>>> I am working on a port of WebKit on Qt to a PowerPC platform.   
>>> Please make sure that we don't break the Qt port in this switch.   
>>> I am comfortable with autotools, so that is not a big deal for  
>>> me.  I am concerned, however, that this will cause a fork with the  
>>> work being done by the Trolltech folks (since I think that they  
>>> are primarily qmake-promoters).
>>>
>>> Can we get some feedback from Trolltech on their ability to accept  
>>> a switch to autotools for Webkit/Qt so we can switch to one new  
>>> engine for all these ports?
>>
>> It would obviously be great if build systems could be shared  
>> between ports, but at the same time I don't think that this desire  
>> to share build systems should introduce obstacles to the adoption  
>> of WebKit ports in the wider open source community.  The  
>> maintainers of the Qt and wxWidgets ports have a desire to keep  
>> their build systems similar to those used by the underlying  
>> toolkits of their port as it greatly simplifies their integration  
>> work.  The same is true of the Apple ports and their build systems.
>>
>> While the introduction of another build system would introduce  
>> slightly more overhead for changes that require modifications be  
>> made to the build system, such changes are relatively infrequent  
>> and are typically simple additions or removals of files.  The extra  
>> work required would be small in comparison to the benefit that the  
>> GTK+ port would gain from using a more native build system.
>
> As someone who adds and removes files frequently, I do find the  
> build system proliferation to be a nontrivial cost. However, I think  
> the worst build systems from this point of view are ones that aren't  
> easily human-editable, which I think is mainly the Xcode and Visual  
> Studio project files. If we add more build systems, it would be  
> really helpful to put up a page that tells you what steps you should  
> take if you add or remove files. Maybe we could even write a script  
> to add a file to or remove a file from all build systems.

I'm fairly sure this would be easy enough for MSVS because of its XML  
nature. In fact, I did things the opposite way (converted MSVS XML ->  
Bakefile) when I first started adding in the wx port, so that we kept  
up-to-date with any changes to the common files. (As a side effect of  
this, the wx port files are grouped by category rather than just being  
a long list.) The tricky part AFAICT would be XCode, though, because  
even if there is a scripted solution for this, it would probably need  
to be run on a Mac where we have access to AppleScript or some other  
scripting tool that can read and make changes to XCode projects...  
(Bakefile can write XCode project files, but it can't read them in.)

Though still, even if we couldn't automatically update the XCode  
Project file in all cases, we'd be left with making the same change at  
most twice, as I think every other build tool uses a plain text-based  
or XML format. Also, if the script wasn't able to update the XCode  
Project file for whatever reason, we could have it either spit out a  
warning or even add a warning into the ChangeLog entry that the XCode  
Project wasn't updated with the file change.

Regards,

Kevin

>
> Regards,
> Maciej
>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo/webkit-dev



More information about the webkit-dev mailing list