[webkit-dev] Moving away from qmake
steve at blighty.com
Mon Nov 12 11:43:45 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 agree. That I can generate those automatically, along with standard
makefiles, from a single text source is the reason I stick with qmake
on my project. You sometimes have to jump through hoops with qmake,
in order to capture complex dependencies or source file generation,
but it does it well on all platforms I use, including Windows, and it
lets me use the XCode gui on Mac, Visual Studio on Windows, emacs and
Make on linux from the same build infrastructure.
I've tried cmake, waf, cons, scons and several others that claim to
be cross-platform build tools, and not found them capable enough,
especially when it comes to targeting Windows development.
More information about the webkit-dev