Version 1 (modified by, 17 years ago) (diff)


S60WebKit: Getting and Compiling the Source

Getting the Source

  • Checkout a copy of S60WebKit from the WebKit Subversion repository:
   cd <SDK installation path>
   svn checkout svn:// WebKit

A couple of things to note:

  • By default, the SDK installation path is C:\Symbian\9.1\S60_3rd

  • You don't need to checkout to a directory named WebKit, any directory name will suffice. This allows you to checkout multiple working copies to the same location.

Building the Source

  • Compile S60WebKit by changing directory to the top of the source tree and running the build script, for example:
   cd <SDK installation path>\WebKit

Please note that on rare occasions, when compiling for the very first time you may encounter the following error:

  No rule to make target \EPOC32\INCLUDE\WebKitIcons_sdk.mbg  

This error only occurs once and can safely be ignored: running a target build via build -t (which has an execution time of a couple of seconds) will return no errors. See for further information.

Once you've clean compiled, the next step is to check out Reindeer in the emulator.

So what does the build script do?

Here's a quick overview of what build.bat does:

  • Unless already done so, it will create the subst drive to <SDK path> for you
  • Setups up your environment so that the Carbide and GCCE compiler suites are used by the SDK build system
  • Extracts each of the zipfiles under <working copy>\S60Internals\*. These are mostly extracted to \epoc32
  • Synchronises the layout test (rsync type operation) in your working copy to \epoc32\winscw\c\LayoutTests
  • Does a number of 'abld' commands, depending on what options you passed to the script
  • The output from the 'abld' command is redirected to both STDOUT and <working copy>\build.log. This is scanned for errors and a summary is output to the screen

Build options

The build script supports a number of options. Here's the full usage statement:

build.bat       [OPTS] [COMPONENT]
    -n    Do not include clean in compile
    -f    run freeze phase and exit
    -g    GCCE compiler for hardware build
    -w    Code Warrior compiler for emulator build
    -t    Target build
    -d    Turn on debugging, forces udeb flavour
    -e    Export generated environment and exit
    -r    Remove S60Internal dependencies and exit
    -s X  Map drive to this letter. Defaults to x
    -h    View this message

Requests welcome!

Build Examples

To compile all components for winscw:

   build -w

To compile all components for GCCE:

   build -g

To do a 'target', or incremental, build:

   build -t

To do build webcore, but don't execute the clean phase:

   build -n webcore

To fully rebuild the memory manager:

   build memman

Options can be bundled. For example, a GCCE target compile with debugging turned on (this forces udeb) for webkit:

   build -gtd webkit