[webkit-dev] Building Chromium port of WebKit on Windows
Hello Chromium port maintainers, 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. - 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? - 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; - 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. ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] New feature flag proposal: Joystick API
Thanks Simon and Dimitri, I wasn't familiar with the procedure for attacking these sorts of things. I've started a discussion on public-webapps, which will hopefully help to clarify a sensible API. Please add your voice if you have the time and inclination: http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1019.html If the discussion proves fruitful, I will re-approach the WebKit community to figure out the best way to work on a prototype implementation. I've closed the previously mentioned bug for now. scott On Wed, Aug 24, 2011 at 11:25 AM, Dimitri Glazkov dglaz...@chromium.org wrote: We should do this right, you won't hear any arguments from me. But I am also sure that W3C time investment is a code word for years of soul-sucking bureaucratic drudgery. As such, I don't think you meant we should be using W3C process as the measuring stick for doing things right in WebKit. There would not be WebKit if we did. What I hope you meant instead is: * study the problem in the larger context of a Web platform * come up with a set of use cases that cover the problem * design a solution based on the use cases * build consensus with browser vendors while prototyping it in WebKit * write a spec and a test suite that makes sense * submit this to W3C as time permits. That's what we've always done, right? :DG On Wed, Aug 24, 2011 at 10:21 AM, Simon Fraser simon.fra...@apple.com wrote: My main objection to adding this is that it's just one of many different types of input device, and if we add these piecemeal for each device that takes our fancy, we'll end up with a horrible mishmash of different input events. I'd prefer a more general strategy of thinking about all the various types of input events (e.g. joysticks, remote controls, assistive devices), and having an API that caters for all of them. This of course would require significant W3C time investment. Simon On Aug 24, 2011, at 9:43 AM, Dimitri Glazkov wrote: On Wed, Aug 24, 2011 at 9:39 AM, Scott Graham scot...@chromium.org wrote: On Wed, Aug 24, 2011 at 9:19 AM, Simon Fraser simon.fra...@apple.com wrote: I think it's too early to implement this. We should wait until it's a W3C draft at least. There's certainly work to be done in improving the design. I'm not proposing to slavishly implement the API exactly as specified there. However, I would like to prototype and help with the design of this API by iterating an implementation in the Chromium port. Is a feature flag inappropriate for this? i.e. Should that sort of prototype work be kept downstream indefinitely or until we have a draft spec? FWIW, keeping implementation downstream (that is in Chromium) is basically an equivalent of forking, and we should work hard to avoid that. But certainly not by just rejecting prototyping outright -- because the only workaround for that is forking. :DG ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
On Thu, Aug 25, 2011 at 6:45 AM, Mikhail Naganov mnaga...@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 ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
The way I make this work is to set up a full Chromium checkout with a trunk (rather than DEPS-controlled) WebKit checkout. (There are some instructions for this in the Chromium developer pages.) Then I can use VS2008 to build and test whatever I want. And I use Cygwin. I don't know much about trying to build the Chromium port with only a WebKit (not Chrome) checkout, especially under Cygwin. I don't know how many people try to make that work. PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
On Thu, Aug 25, 2011 at 9:24 AM, Peter Kasting pkast...@chromium.org wrote: The way I make this work is to set up a full Chromium checkout with a trunk (rather than DEPS-controlled) WebKit checkout. (There are some instructions for this in the Chromium developer pages.) Then I can use VS2008 to build and test whatever I want. And I use Cygwin. I don't know much about trying to build the Chromium port with only a WebKit (not Chrome) checkout, especially under Cygwin. I don't know how many people try to make that work. To elaborate on this, because it is also what I do and I recently answered some questions about how it works: - With a WebKit-inside-Chrome checkout you still get all of the same build targets, like DumpRenderTree. - The one downside is that you will be using WebKit with the Chromium DEPS, which sometimes diverge from the WebKit DEPS. But the intent is for the dependency sets to stay the same, so they get back into sync quickly. This only really affects you if you are making changes in a shared dependency (like Skia). - I suppose, now that I'm listing problems, another downside is that your build project files are larger which may slow down your IDE or eat more memory. (This hasn't been an issue for me but I develop on Linux.) To summarize, you don't need to build WebKit as a separate checkout from Chrome to develop WebKit, which means if you get a Chrome build working you're good to go on WebKit as well. As far as I understand it all the build-webkit scripts are just to make the bots happy. ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
I'm not sure we are on the same page. I'm talking about Chromium port of WebKit, where Chromium checkout is _inside_ WebKit's Source/WebKit/chromium, as opposed to when you have full WebKit checkout inside Chromium's third_party. Not sure the former configuration makes much sense for Chromium developers, but I suppose it is needed for Chromium port of WebKit to be recognized on par with other ports. I also usually have full checkout of WebKit in Chromium's third_party and it works fine for me. On Thu, Aug 25, 2011 at 17:55, Evan Martin e...@chromium.org wrote: On Thu, Aug 25, 2011 at 9:24 AM, Peter Kasting pkast...@chromium.org wrote: The way I make this work is to set up a full Chromium checkout with a trunk (rather than DEPS-controlled) WebKit checkout. (There are some instructions for this in the Chromium developer pages.) Then I can use VS2008 to build and test whatever I want. And I use Cygwin. I don't know much about trying to build the Chromium port with only a WebKit (not Chrome) checkout, especially under Cygwin. I don't know how many people try to make that work. To elaborate on this, because it is also what I do and I recently answered some questions about how it works: - With a WebKit-inside-Chrome checkout you still get all of the same build targets, like DumpRenderTree. - The one downside is that you will be using WebKit with the Chromium DEPS, which sometimes diverge from the WebKit DEPS. But the intent is for the dependency sets to stay the same, so they get back into sync quickly. This only really affects you if you are making changes in a shared dependency (like Skia). - I suppose, now that I'm listing problems, another downside is that your build project files are larger which may slow down your IDE or eat more memory. (This hasn't been an issue for me but I develop on Linux.) To summarize, you don't need to build WebKit as a separate checkout from Chrome to develop WebKit, which means if you get a Chrome build working you're good to go on WebKit as well. As far as I understand it all the build-webkit scripts are just to make the bots happy. ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
On Thu, Aug 25, 2011 at 10:07 AM, Mikhail Naganov mnaga...@chromium.orgwrote: I'm not sure we are on the same page. I'm talking about Chromium port of WebKit, where Chromium checkout is _inside_ WebKit's Source/WebKit/chromium, as opposed to when you have full WebKit checkout inside Chromium's third_party. Yes, we're saying always use the latter, as it lets you test the same things and it's much more well-supported and tested :) PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
On Thu, Aug 25, 2011 at 10:21 AM, Peter Kasting pkast...@chromium.org wrote: On Thu, Aug 25, 2011 at 10:07 AM, Mikhail Naganov mnaga...@chromium.org wrote: I'm not sure we are on the same page. I'm talking about Chromium port of WebKit, where Chromium checkout is _inside_ WebKit's Source/WebKit/chromium, as opposed to when you have full WebKit checkout inside Chromium's third_party. Yes, we're saying always use the latter, as it lets you test the same things and it's much more well-supported and tested :) FWIW, I use the former exclusively on Mac. I don't see a need for a typical WebKit developer who lives in WebCore to ever carry a Chromium checkout. :DG PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
To make things clear: my only intention for trying to build this port was due to my patch failed to compile in it. I'm not advocating towards using it for regular development. Perhaps, I would get the same compile issue when building Chromium on Windows, but, as I usually avoid using Windows, and haven't had a ready-to-use configuration at that moment, I decided to try to build the port, to make sure that this isn't a bot issue. Dimitri, I'm currently following building the port using your instructions for setting up a build bot, and it almost works, thank you very much! I'll update docs later, after I'll finish with it. On Thu, Aug 25, 2011 at 18:31, Dimitri Glazkov dglaz...@chromium.org wrote: On Thu, Aug 25, 2011 at 10:21 AM, Peter Kasting pkast...@chromium.org wrote: On Thu, Aug 25, 2011 at 10:07 AM, Mikhail Naganov mnaga...@chromium.org wrote: I'm not sure we are on the same page. I'm talking about Chromium port of WebKit, where Chromium checkout is _inside_ WebKit's Source/WebKit/chromium, as opposed to when you have full WebKit checkout inside Chromium's third_party. Yes, we're saying always use the latter, as it lets you test the same things and it's much more well-supported and tested :) FWIW, I use the former exclusively on Mac. I don't see a need for a typical WebKit developer who lives in WebCore to ever carry a Chromium checkout. :DG PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] Building Chromium port of WebKit on Windows
On Thu, Aug 25, 2011 at 10:31 AM, Dimitri Glazkov dglaz...@chromium.orgwrote: FWIW, I use the former exclusively on Mac. Yes, please regard my comments as only applying to Windows. PK ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev