[webkit-dev] Moving away from qmake
kevino at theolliviers.com
Mon Nov 12 11:55:13 PST 2007
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.
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
More information about the webkit-dev