[webkit-dev] Windows port experiences

Kevin Ollivier kevino at theolliviers.com
Sun Mar 19 20:26:25 PST 2006


Hi all,

I've been watching the porting movement pretty closely, and seeing  
the activity on the Windows port I thought I'd see if I could give it  
a spin. I'm posting my experiences here in hopes that it will help  
others and also to give some feedback on the whole process. :-)

I pulled a source tree from SVN. I first made the mistake of using  
TortoiseSVN, but quickly realized that this wasn't good because some  
of the files need to have Unix line endings, so I did another  
checkout using Cygwin. Then I realized I needed MSVC8 to build. :-) I  
didn't have MSVC8 so I went to Microsoft's site and downloaded and  
installed MSVS8 Express. I then needed to follow these instructions  
so that it would also work for building Win32 applications:

http://lab.msdn.microsoft.com/express/visualc/usingpsdk/default.aspx

I also needed to change the "devenv.exe" in <WebKitRoot>/WebKitTools/ 
Scripts/webkitdirs.pm to "vcexpress.exe". (It'd be nice if there was  
an easy way to check for one, and if it doesn't exist, check for the  
other. I know hardly any Perl though. ;-/) Once I did this, I ran  
install-win-extras and then build-webkit. It built fine, which was a  
very promising development. :-)

I then opened up the Spinneret project and tried to build that. The  
one annoying thing here is that WebCore and JSCore put build results  
in subdirs of the main project dir (e.g. C:\oss\webkit\WebKitBuild),  
but apparently Spinneret has C:\WebKitBuild hardcoded as the location  
where it expects those files to be. I took the quick way out and made  
a copy of my WebKitBuild folder in C:\. (Is there an easy way to  
synch this dir with the ones chosen by the JSCore and WebCore  
projects?) To my further surprise (hey, I know this is alpha code!),  
I got a working Spinneret binary. Not only that, but it loaded pages  
and rendered them, including gifs, bulleted lists, text, tables,  
etc., and they appeared mostly as they do in Safari! I was  
practically floored! :-) Obviously there is a lot more work to do,  
but IMHO it is quite impressive to have covered this much ground in  
such a short period of time! And to have an alpha-state product so  
smoothly build and run.

Is it correct to assume that, for the Windows port, everything that  
works outside of platform/win is cross-platform? That is to say, it  
should be cross-platform, disregarding any possible glitches. :-) I'm  
mostly trying to see if the porting effort is really mainly porting  
platform/win to platform/wx and creating our own sample, or if there  
are some major gotchas I'm not seeing.

Anyways, this is really great work and it has gotten me quite excited  
about seeing a cross-platform WebKit (and a wx-based one too!) in the  
not-so-distant future! :-)

Thanks,

Kevin











More information about the webkit-dev mailing list