[webkit-dev] Porting WebKit to PalmOS

Donald C. Kirker dkirker at wapuniverse.com
Sun Feb 12 23:19:50 PST 2006


----- Original Message -----
From: "Krzysztof Kowalczyk" <kkowalczyk at gmail.com>
Subject: Re: [webkit-dev] Porting WebKit to PalmOS

> Not to discourage you, since everthing is possible, but based on my
> experience of writing lots of Palm OS code, Palm OS port will be hard.

I had no doubt that it would be.

> The first obstacle will be the compiler. WebKit is very heavy on
> advanced C++ features to the point that many C++ compilers simply
> can't compile the code. On Palm you have a choice between abandoned
> Metrowerks compiler or (also abandoned) gcc based on 2.53 or 3.3.1.
> Most likely both those compilers will have problems even compiling
> WebKit. In which case you'll have to either re-write the code in a way
> that is acceptable to the compiler or port the prc-tools patches to a
> newer version of gcc. Neither is simple or fun.

I will be using GCC as that is what I have experience in. I am not sure that
porting the PRC patches to a newer version of GCC would be my cup of tea.

> And after you submit compiler to your will, you'll still have to deal
> with incredibly weak operating system (small amounts of dynamic
> memory, poor support for runing native ARM code etc.)

Yeah, unfortunatly some of the newer devices are weak in the areas of
memory. Rumor has it that Palm will beef up dynamic heap and DB Cache in the
next PalmOS Treo (the rumored 700p).

> To offer some helpful (hopefully) advice:

> * you should probably start by porting just JavaScriptCore - it's
> stand-alone piece of code and simpler to port than the
> layout/rendering part. You'll probably have to disable threads (given
> that Palm OS doesn't have them (at least not exposed)).

My plans are to port the JavaScriptCore into the current version of
WAPUniverse. First I must understand how it works, what functions to call
from my code, etc. I think this is a definate first (baby) step. I'll also
get a feel for porting heavier C++ code (my last porting project was to port
libhtmlparse 1.1.x to the PalmOS, a trivial task).

> * you'll have to go ARM native. See the sources of
> http://www.sealiesoftware.com/pssh/ and  tcpmp (it's gpl but you have
> to ask for the source
>
http://www.corecodec.com/index.php?option=com_smf&Itemid=29&expv=0&topic=215
3.0).
> Those two program are examples of large, mostly-ARM applications for
> Palm and the techniques they use to achieve that might be applicable
> to WebKit port

Most definatly. Emulated 68k would be too slow (performance drain is
starting to show in WAPUniverse...). I actually have copies of the source
code for both programs :) I have actually seen two methods to native ARM
development, PEAL and what appears to be a gcc arm compiler (I think, I
haven't looked in a while so correct me if I am worng here).

> Krzysztof Kowalczyk | http://blog.kowalczyk.info

Thanks for the advice/suggestions Krzysztof! I appriciate it.




More information about the webkit-dev mailing list