Links

ARM support for JavaScript engine of WebKit

We have announced the ARM port of WebKit on webkit-dev mailing list in April. Additionally, a Bugzilla entry was opened for the technical discussion. After that we received several feedbacks which encouraged us to continue our work, but some feedbacks reported technical difficulties on getting and building our code. This post is going to summarize how to get and build the ARM port for your device.

How to build

You should also check the official the QtWebKit building guide at QtWebKit's webpage. Do not forget to build Qt libraries if your device does not have them.

Tip: If you want to build the JavaScriptCore engine only, remove every element of the SUBDIRS variable except JavaScriptCore/jsc.pro from WebKit.pro.

Cross compilation

If your development (build) box is not an ARM, you should use Scratchbox for emulation.

See the Scratchbox homepage for the installion of the emulation environment. You can also use Scratchbox2 if you do not have a root access to the development box. Alternatively, you can use a virtual development box, for example the Maemo SDK Virtual Image.

Test the JavaScript engine on your device

Copy the following files and directories to your ARM device (preserve the directory structure):

WebKitBuild/Release/JavaScriptCore/jsc

SunSpider/

WebKitTools/Scripts/

And create several empty directories:

WebKit/

WebCore/

JavaScriptCore/

Do not forget to copy the Qt libraries as well if your device does not have them.

You can execute the SunSpider benchmark with the following command:

WebKitTools/Scripts/run-sunspider

If the script complains about building you should comment out the 'buildJSC();' line.

Feedback

If you still have a build problem, please write a comment here or to WebKit's bugzilla.