Changes between Version 1 and Version 2 of SuccessfulPortHowTo

Aug 11, 2009 9:48:21 AM (14 years ago)

Added some recommended porting steps.


  • SuccessfulPortHowTo

    v1 v2  
    1313The 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).
     15== Recommended Porting Steps ==
     17 1. `JavaScriptCore` building and `WebKitTools/Scripts/run-javascriptcore-tests` running.
     18  a. This may require modifications to the `JavaScriptCore` and `JavaScriptCore/wtf` source code.
     19  a. If you're using a new build system you will need to modify `WebKitTools/Scripts/` and `WebKitTools/Scripts/build-jsc`.
     20 1. 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.
     21 1. `WebCore` building.
     22  a. New build systems will require more modifications to `build-webkit`.
     23  a. This will likely require writing many port-specific files in `WebCore/platform`.  This is the bulk of the work.
     24  a. 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.
     25 1. `DumpRenderTree` building.  DumpRenderTree is required to run the LayoutTests (`run-webkit-tests`).
     26 1. `run-webkit-tests` passing.  Modify `LayoutTests/platform/YOURPLATFORM/Skipped` lists to skip any tests you fail.
     27 1. 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. :)
     28 1. 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. 
    1530== TBD ==