[webkit-dev] Building Chromium port of WebKit on Windows

Dimitri Glazkov dglazkov at chromium.org
Thu Aug 25 08:54:31 PDT 2011


On Thu, Aug 25, 2011 at 6:45 AM, Mikhail Naganov <mnaganov at chromium.org> wrote:
> Hello Chromium port maintainers,

Back at you, Chromium port maintainer! :)

>
> In order to figure out why my patch was failing to compile on the
> Chromium WebKit bot, I went a long way of compiling the port on my
> machine. And it was a tough experience! As for the instructions on on
> how to do the build, I could only refer to this page:
> http://trac.webkit.org/wiki/Chromium and bot logs. And they were not
> enough for me, so I would like to ask you some questions, as that
> might be helpful for other people trying to build this port.

Thank you for doing this! There are very few engineers who work on
Chromium WebKit in Windows. We desperately need your help.

>
> - it looks like VS2008 is required to build the Chromium port (as for
> Chromium itself), while building plain WebKit requires VS2005
> (according to http://www.webkit.org/building/tools.html). Does that
> mean it's impossible to use a single checkout of WebKit for building
> both?

I vaguely remember that Chromium made this switch, but it didn't click
with me that you can't build the WebKit port using VS2008.

You can certainly use single checkout -- provided you have both VS2005
and VS2008 installed.

> - from bot logs, it looks like 'update-webkit' and 'build-webkit'
> scripts are launched under Strawberry Perl, not from cygwin, as all
> paths are of MS-DOS style. I tried this way, and it didn't worked at
> all. E.g. for some reason it couldn't find Python, although I have it
> in path;

Yes! Here are the instructions that I wrote for setting up the the
bots, parts of them should really be moved to the Chromium page:
http://trac.webkit.org/wiki/BuildBot#Non-cygwinWinRequirements

> - then I followed instructions from
> http://trac.webkit.org/wiki/Chromium and ran those scripts under
> cygwin. It almost worked, except for the issues below:
>  - ffmpeg.rules, libjpeg.rules and webcore_bindings_sources.rules
> were expected to be found in project directories, while actually they
> were generated into Source\WebKit\chromium;
>  - several Python scripts (from Source\WebCore\WebCore.gyp\scripts)
> were receiving MS-DOS paths for output, which were becoming incorrect
> after applying os.path.abspath to them (under cygwin, the function was
> just prefixing paths with '/cygdrive/c/...');
>  - also it looks like several output paths were of MS-DOS style,
> because I've found generated files under paths like
> 'C?/src/WebKit/...', and was needed to copy them to their designated
> locations;
>  - and vice versa, in generated .rc files there were cygwin-style
> paths to resources, resulting in a failure for Visual Studio's
> resources compiler to find them;
>  - and, as I was building the port with VS2005, I've encountered some
> compilation and linking problems mostly fixable by installing
> hotfixes.
>
> I have tried to do the build on two machines, so I hope this isn't a
> problem of a particular system configuration. But the bot works fine,
> and this makes me think that perhaps I was doing something wrong or
> missing some important steps.

Yeah, all those are a result of you trying to run this in cygwin.

Can you please try the instructions for build bots and update the wiki?

:DG<


More information about the webkit-dev mailing list