diff -r c915fc349757 -r a6fec624de6c README_HowToBuild.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README_HowToBuild.txt Thu Nov 04 20:51:05 2010 +0000 @@ -0,0 +1,35 @@ +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). + +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: + + N:\fshell>cd build\s60\5th_edition + N:\fshell\build\s60\5th_edition>sbs -c armv5_urel + ... + N:\fshell\build\s60\5th_edition>sbs -c winscw_udeb + +For more information see http://developer.symbian.org/wiki/Fshell/Getting_Started +Open Signing of SIS files is described here: http://developer.symbian.org/wiki/Fshell/Getting_Started#Installing_fshell_at_runtime + + +The platforms are (at time of writing): + +s60\3rd_edition For any S60 3rd edition phone. Builds an open signed SIS file. For more info see: +s60\5th_edition For any S60 5th edition or later phone, including the N8. Builds an open signed SIS file. +s60\tb92 Internal Nokia platform. Either you know what it is or you shouldn't be using it. +ncp Internal Nokia platform. Either you know what it is or you shouldn't be using it. +sf\2 Full GUI build for any ROM build using S^2 +sf\3 Full GUI build for any ROM build using S^3 or later, including beagle board and QEMU +sf\3tshell Textshell-only build for S^3 or later, supports QEMU and beagleboard +sf\minigui Supports the minigui S^3 configuration. For more information see: + http://developer.symbian.org/wiki/Fshell/Getting_Started#Getting_started_on_QEMU_with_S.5E3_minigui + +symtb92 Legacy platform for pre-symbian foundation builds. Not maintained. + + +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). + +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 + + +- tomsci +4-Nov-2010