documentation/getting_started.pod
changeset 9 257450419d10
parent 8 eb5f524dc31d
child 32 50af04b02d7d
equal deleted inserted replaced
8:eb5f524dc31d 9:257450419d10
    48 
    48 
    49 Used for running fshell on either physical or simulated ARM hardware. Requires an installation of ARM's RVCT compiler. Version 2.2 is commonly used on current Symbian based handsets.
    49 Used for running fshell on either physical or simulated ARM hardware. Requires an installation of ARM's RVCT compiler. Version 2.2 is commonly used on current Symbian based handsets.
    50 
    50 
    51 =item * C<gcce>
    51 =item * C<gcce>
    52 
    52 
    53 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
    53 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.
    54 
    54 
    55 =back
    55 =back
    56 
    56 
    57 Lastly, you need to identify the build variant you plan to use, either debug (C<udeb>) or release (C<urel>). Commonly, C<udeb> is used on the emulator whereas C<urel> is used on target hardware. For the purposes of this introduction we will assume that you will be building C<winscw udeb> and C<armv5 urel>.
    57 Lastly, you need to identify the build variant you plan to use, either debug (C<udeb>) or release (C<urel>). Commonly, C<udeb> is used on the emulator whereas C<urel> is used on target hardware. For the purposes of this introduction we will assume that you will be building C<winscw udeb> and C<armv5 urel>.
    58 
    58 
    65 =head2 SBSv2 (aka Raptor)
    65 =head2 SBSv2 (aka Raptor)
    66 
    66 
    67   M:\fshell\build\sf\2>sbs -c armv5_urel
    67   M:\fshell\build\sf\2>sbs -c armv5_urel
    68   M:\fshell\build\sf\2>sbs -c winscw_udeb
    68   M:\fshell\build\sf\2>sbs -c winscw_udeb
    69 
    69 
    70 I<Note:> 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<sbs -c armv5_urel -c winscw_udeb>. We'll fix this as soon as we can!
    70 I<Note:> 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<sbs -c armv5_urel -c winscw_udeb>. 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!
       
    71 
       
    72 =head2 Notes on building for GCC
       
    73 
       
    74 Fshell has only been tested to build with GCC-E 4.4.1, and the legacy 3.4.2.
       
    75 
       
    76 I<Note:> 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:
       
    77 
       
    78   S:\fshell\build\sf\3>set SBS_GCCE432BIN=Nothing
       
    79   S:\fshell\build\sf\3>set SBS_GCCE433BIN=Nothing
       
    80   S:\fshell\build\sf\3>set SBS_GCCE441BIN=c:/apps/gcce/bin
       
    81   S:\fshell\build\sf\3>sbs -c arm.v5.urel.gcce4_4_1
       
    82 
       
    83 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.
       
    84 
       
    85 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.
    71 
    86 
    72 =head1 Installation
    87 =head1 Installation
    73 
    88 
    74 Having performed a build, you should have a full set of binaries in your F<\epoc32> tree. If you want to run fshell on the emulator, no further action is necessary. If you want to run fshell on the simulator or target hardware, then the fshell binaries need to be either added to a ROM image or installed at runtime.
    89 Having performed a build, you should have a full set of binaries in your F<\epoc32> tree. If you want to run fshell on the emulator, no further action is necessary. If you want to run fshell on the simulator or target hardware, then the fshell binaries need to be either added to a ROM image or installed at runtime.
    75 
    90