Webkit移植How to

来源:互联网 发布:最美的一句话 知乎 编辑:程序博客网 时间:2024/04/29 06:12

原文:
Successful Port How To

This page describes how to establish and maintain a port that lives in the  main Subversion repository of the WebKit project, as well as the benefits to doing so.

Obviously you are free to create your own external repository, but if it's publicly available, please consider creating a wiki page for it under the "WebKit Ports" section of the start page.
What is a Port?

A port of WebKit is a unique combination of platform technologies that run the WebKit engine.

The most common difference between ports is the operating system that they run on (e.g., Apple's Mac OS X and Windows ports), but in other cases two ports may run on the same operating system but use different graphics (or other) platform technologies (e.g., the Qt and GTK+ ports on Linux).
Recommended Porting Steps

   1. JavaScriptCore building and Tools/Scripts/run-javascriptcore-tests running.
         1. This may require modifications to the JavaScriptCore and JavaScriptCore/wtf source code.
         2. If you're using a new build system you will need to modify Tools/Scripts/wkdirs.pm and Tools/Scripts/build-jsc. 
   2. Consider setting up a webkit BuildBot at this time. Your buildbot request may not be honored until you actually have run-webkit-tests running, but it's good to start the process. Read the BuildBot page.
   3. WebCore building.
         1. New build systems will require more modifications to build-webkit.
         2. This will likely require writing many port-specific files in WebCore/platform. This is the bulk of the work.
         3. Submitting patches to WebKit should be done in small chunks, with individual bugs and ChangeLogs for each patch. Each patch should be ideally < 20k in size. 
   4. DumpRenderTree building. DumpRenderTree is required to run the LayoutTests (run-webkit-tests).
   5. run-webkit-tests passing. Modify LayoutTests/platform/YOURPLATFORM/Skipped lists to skip any tests you fail.
   6. If you do not already have a BuildBot running, it is imperative that you set one up at this point. Otherwise your port will break every week. :)
   7. Once you are this far you likely already have at least one person in your porting team with  committer rights. If not, that should be your next goal. 



建议移植步骤:
1. 编译JavaScriptCore及Tools/Scripts/run-javascriptcore-tests。运行JavascriptCore测试程序。
   a)需要修改JavaScriptCore及JavaScriptCore/wtf代码。
   b)如果是在一个不同的编译平台上执行编译,需要修改Tools/Scripts/wkdirs.pm以及Tools/Scripts/build-jsc。
2.建立及配置一个webkit编译脚本(BuildBot)。编译脚本也许会在你真正运行成功 run-webkit-tests后才能真正完成,但开始进行这项工作会比较好。
3.编译WebCore
   a)需要修改build-webkit如果是采用不同的编译平台。
   b)可能需要在WebCore/platform下编写移植支持文件。这项工作会比较庞大。
   c)向WebKit项目提交补订(这个通常移植都应该不会做这个)。
4.编译DumpRenderTree。DumpRenderTree需要执行布局测试(Layout Tests)执行run-webkit-tests。

5.执行run-webkit-tests来通过测试。修改LayoutTests/platform/YOURPLATFORM/Skipped lists来跳过失败的测试项。


原文链接:http://blog.csdn.net/xiangding/article/details/7314681

原创粉丝点击