Changes between Initial Version and Version 1 of S60CheckoutAndBuild


Ignore:
Timestamp:
Nov 6, 2006, 3:36:02 PM (18 years ago)
Author:
bradley.morrison@nokia.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • S60CheckoutAndBuild

    v1 v1  
     1= S60WebKit: Getting and Compiling the Source =
     2
     3=== Getting the Source ===
     4
     5 * Checkout a copy of S60WebKit from the WebKit Subversion repository:
     6
     7{{{
     8   cd <SDK installation path>
     9   svn checkout svn://anonsvn.opensource.apple.com/svn/webkit/S60/trunk WebKit
     10}}}
     11
     12 A couple of things to note:
     13
     14  * By default, the SDK installation path is {{{C:\Symbian\9.1\S60_3rd}}}
     15   
     16  * 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.
     17
     18=== Building the Source ===
     19
     20 * Compile S60WebKit by changing directory to the top of the source tree and running the {{{build}}} script, for example:
     21
     22{{{
     23   cd <SDK installation path>\WebKit
     24   build
     25}}}
     26
     27  Please note that on rare occasions, when compiling for the very first time you may encounter the following error:
     28{{{
     29  No rule to make target \EPOC32\INCLUDE\WebKitIcons_sdk.mbg 
     30}}}
     31  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 [http://bugs.webkit.org/show_bug.cgi?id=9289] for further information.
     32
     33Once you've clean compiled, the next step is to check out [wiki:S60Reindeer Reindeer] in the emulator.
     34
     35=== So what does the build script do? ===
     36
     37Here's a quick overview of what build.bat does:
     38
     39 * Unless already done so, it will create the subst drive to <SDK path> for you
     40 * Setups up your environment so that the Carbide and GCCE compiler suites are used by the SDK build system
     41 * Extracts each of the zipfiles under <working copy>\S60Internals\*. These are mostly extracted to \epoc32
     42 * Synchronises the layout test (rsync type operation) in your working copy to \epoc32\winscw\c\LayoutTests
     43 * Does a number of 'abld' commands, depending on what options you passed to the script
     44 * The output from the 'abld' command is redirected to both STDOUT and <working copy>\build.log. This is
     45   scanned for errors and a summary is output to the screen
     46
     47=== Build options ===
     48
     49The build script supports a number of options. Here's the full usage statement:
     50
     51{{{
     52build.bat       [OPTS] [COMPONENT]
     53    -n    Do not include clean in compile
     54    -f    run freeze phase and exit
     55    -g    GCCE compiler for hardware build
     56    -w    Code Warrior compiler for emulator build
     57    -t    Target build
     58    -d    Turn on debugging, forces udeb flavour
     59    -e    Export generated environment and exit
     60    -r    Remove S60Internal dependencies and exit
     61    -s X  Map drive to this letter. Defaults to x
     62    -h    View this message
     63}}}
     64
     65Requests welcome!
     66
     67=== Build Examples ===
     68
     69To compile all components for winscw:
     70{{{
     71   build -w
     72}}}
     73To compile all components for GCCE:
     74{{{
     75   build -g
     76}}}
     77To do a 'target', or incremental, build:
     78{{{
     79   build -t
     80}}}
     81To do build webcore, but don't execute the clean phase:
     82{{{
     83   build -n webcore
     84}}}
     85To fully rebuild the memory manager:
     86{{{
     87   build memman
     88}}}
     89Options can be bundled. For example, a GCCE target compile with debugging turned on (this forces udeb) for webkit:
     90{{{
     91   build -gtd webkit
     92}}}
     93
     94
     95