diff -r 8a3293f6c06f -r d0b16e01f384 documentation/getting_started.pod --- a/documentation/getting_started.pod Wed Jul 28 18:43:05 2010 +0100 +++ b/documentation/getting_started.pod Wed Jul 28 18:43:53 2010 +0100 @@ -14,6 +14,8 @@ __END__ +=head1 Getting started with FShell + =head1 Retreiving the FShell Source Code I @@ -32,7 +34,7 @@ =back -Each of these platforms have a separate directory with F<\fshell\build>. In some platforms there may be further separate sub-directories for specific variants of the platform. You need to identify a suitable directory (that contains a file named F) from which to build from. Open a command prompt and C to this directory. +Each of these platforms have a separate directory with F<\fshell\build>. In some platforms there may be further separate sub-directories for specific variants of the platform. You need to identify a suitable directory (that contains a file named F) from which to build from. For example to build for the Symbian^3 release you need to build from F<\fshell\build\sf\3>. Open a command prompt and C to this directory. You also need to identify the type of binaries you want to build. Common ones are: @@ -48,11 +50,11 @@ =item * C -Used for running fshell on either physical or simulated ARM hardware. Requires an installation of the GCC-E. I +Used for running fshell on either physical or simulated ARM hardware. Requires an installation of the GCC crosscompiler (for arm-none-symbianelf) - see here for more information: http://developer.symbian.org/wiki/index.php/The_GCCE_toolchain_initiative. =back -Lastly, you need to identify the build variant you plan to use, either debug (C) or release (C). Commonly, C is used on the emulator whereas C is used on target hardward. For the purposes of this introduction we will assume that you will be building C and C. +Lastly, you need to identify the build variant you plan to use, either debug (C) or release (C). Commonly, C is used on the emulator whereas C is used on target hardware. For the purposes of this introduction we will assume that you will be building C and C. =head2 SBSv1 (aka abld) @@ -62,7 +64,25 @@ =head2 SBSv2 (aka Raptor) - M:\fshell\build\sf\2>sbs -c armv5_urel -c winscw_udeb + M:\fshell\build\sf\2>sbs -c armv5_urel + M:\fshell\build\sf\2>sbs -c winscw_udeb + +I There are currently some concurrency issues in the build process that mean we don't recommend building multiple platforms in a single invocation of sbs. Ie do the above rather than C. In some cases you may even need to add the option C<-j 1> to sbs to have it run completely single-threaded. We'll fix this as soon as we can! + +=head2 Notes on building for GCC + +Fshell has only been tested to build with GCC-E 4.4.1, and the legacy 3.4.2. + +I The SF website appears to be out of date with regards to how to build with GCC-E on Raptor - at the time of writing the way to build is as follows: + + S:\fshell\build\sf\3>set SBS_GCCE432BIN=Nothing + S:\fshell\build\sf\3>set SBS_GCCE433BIN=Nothing + S:\fshell\build\sf\3>set SBS_GCCE441BIN=c:/apps/gcce/bin + S:\fshell\build\sf\3>sbs -c arm.v5.urel.gcce4_4_1 + +You may also need to update the compiler support libraries - I had to unzip rt_3_1_bin.zip from \sf\os\kernelhwsrv\kernel\eka\compsupp from a different baseline. (Unzip over \epoc32\release\armv5). The working libraries I used had datestamp of 28/1/2009, the non-working ones were 1/1/2009. + +There's one final gotcha if you want to build with GCC-E - at the time of writing the makefiles produced by SBS for PIPS executables is incorrect, therefore you need to add C<#define FSHELL_NO_PIPS_SUPPORT> to \fshell\build\sf\platform_shared.mmh. Hopefully this is a temporary measure. =head1 Installation