46 |
48 |
47 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. |
48 |
50 |
49 =item * C<gcce> |
51 =item * C<gcce> |
50 |
52 |
51 Used for running fshell on either physical or simulated ARM hardware. Requires an installation of the GCC-E. I<Todo - does the SF provide builds of GCC-E?> |
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. |
52 |
54 |
53 =back |
55 =back |
54 |
56 |
55 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 hardward. 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>. |
56 |
58 |
57 =head2 SBSv1 (aka abld) |
59 =head2 SBSv1 (aka abld) |
58 |
60 |
59 M:\fshell\build\s60\3>bldmake bldfiles |
61 M:\fshell\build\s60\3>bldmake bldfiles |
60 M:\fshell\build\s60\3>abld build winscw udeb |
62 M:\fshell\build\s60\3>abld build winscw udeb |
61 M:\fshell\build\s60\3>abld build armv5 urel |
63 M:\fshell\build\s60\3>abld build armv5 urel |
62 |
64 |
63 =head2 SBSv2 (aka Raptor) |
65 =head2 SBSv2 (aka Raptor) |
64 |
66 |
65 M:\fshell\build\sf\2>sbs -c armv5_urel -c winscw_udeb |
67 M:\fshell\build\sf\2>sbs -c armv5_urel |
|
68 M:\fshell\build\sf\2>sbs -c winscw_udeb |
|
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>. 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. |
66 |
86 |
67 =head1 Installation |
87 =head1 Installation |
68 |
88 |
69 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. |
70 |
90 |