README_HowToBuild.txt
changeset 82 a6fec624de6c
equal deleted inserted replaced
81:c915fc349757 82:a6fec624de6c
       
     1 Fshell must be built from the appropriate subdirectory of \sf\os\fshell\build. There is a separate set of build files for each platform that fshell supports. "Platform" in this context meaning the combination of baseline (eg S^3 PDK) and target device/board (eg planning to include fshell in the ROM you're building for a prototype development board).
       
     2 
       
     3 Most app developers will probably be working on an S^3 PDK baseline, and targetting a production N8 device installing via Open Signed SIS file. In this case you'd want to use the s60\5th_edition platform:
       
     4 
       
     5     N:\fshell>cd build\s60\5th_edition
       
     6     N:\fshell\build\s60\5th_edition>sbs -c armv5_urel
       
     7     ...
       
     8     N:\fshell\build\s60\5th_edition>sbs -c winscw_udeb
       
     9 
       
    10 For more information see http://developer.symbian.org/wiki/Fshell/Getting_Started
       
    11 Open Signing of SIS files is described here: http://developer.symbian.org/wiki/Fshell/Getting_Started#Installing_fshell_at_runtime
       
    12 
       
    13 
       
    14 The platforms are (at time of writing):
       
    15 
       
    16 s60\3rd_edition     For any S60 3rd edition phone. Builds an open signed SIS file. For more info see:
       
    17 s60\5th_edition     For any S60 5th edition or later phone, including the N8. Builds an open signed SIS file.
       
    18 s60\tb92            Internal Nokia platform. Either you know what it is or you shouldn't be using it.
       
    19 ncp                 Internal Nokia platform. Either you know what it is or you shouldn't be using it.
       
    20 sf\2                Full GUI build for any ROM build using S^2
       
    21 sf\3                Full GUI build for any ROM build using S^3 or later, including beagle board and QEMU
       
    22 sf\3tshell          Textshell-only build for S^3 or later, supports QEMU and beagleboard
       
    23 sf\minigui          Supports the minigui S^3 configuration. For more information see:
       
    24                     http://developer.symbian.org/wiki/Fshell/Getting_Started#Getting_started_on_QEMU_with_S.5E3_minigui
       
    25 
       
    26 symtb92              Legacy platform for pre-symbian foundation builds. Not maintained.
       
    27 
       
    28 
       
    29 Choose the platform closest to what you're working on. Generally this will be one of the s60 or sf platforms unless you're actually on a project that has its own dedicated platform dir, like NCP. The main distinction between the platforms is the set of macros defining what the platform supports. These are given in \fshell\build\whatever\platform.mmh. Most of the macros are of the form FSHELL_XXX_SUPPORT or FSHELL_NO_XXX_SUPPORT. The full set of available macros is documented in \epoc32\documentation\fshell\internal\common_mmh.html (auto-generated from \fshell\documentation\common_mmh.pod when you build fshell).
       
    30 
       
    31 If you get any build errors they can often be temporarily worked around by tweaking the platform.mmh to disable the offending code, eg to add a '#define FSHELL_NO_SQL_SUPPORT' or somesuch. Please raise a bug if you have problems building on any of the supported platforms mentioned above, using the following link: http://developer.symbian.org/bugs/enter_bug.cgi?product=fshell
       
    32 
       
    33 
       
    34 - tomsci
       
    35 4-Nov-2010