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@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev

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

Reply via email to