--- /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
--- a/build/common/common.mmh Thu Nov 04 10:38:02 2010 +0000
+++ b/build/common/common.mmh Thu Nov 04 20:51:05 2010 +0000
@@ -194,7 +194,7 @@
#endif
#if defined(FSHELL_TRACE_SUPPORT) && defined(FSHELL_CAP_ALL)
-#define FSHELL_EXTRABTRACE_SUPPORT
+#define FSHELL_EXTRABTRACE_SUPPORT // extrabtrace.h and extrabtrace.dll will always be available
#endif
// The FSHELL_TRACE_xyz macros must appear before any other systeminclude/#include/library statements in your MMP.
@@ -391,6 +391,10 @@
#define FSHELL_QR3_SUPPORT_LOGGINGALLOCATOR
#endif
+#ifdef FSHELL_MEMORY_ACCESS_SUPPORT
+#define FSHELL_QR3_SUPPORT_SANDBOX
+#endif
+
//
// clogger.
--- a/build/s60/3rd_edition/platform.mmh Thu Nov 04 10:38:02 2010 +0000
+++ b/build/s60/3rd_edition/platform.mmh Thu Nov 04 20:51:05 2010 +0000
@@ -18,7 +18,6 @@
#define FSHELL_CORE_SUPPORT_USB_ICON "ACM::1"
-//#define FSHELL_PERL_SUPPORT
#define FSHELL_NO_BTRACE_SUPPORT
#define FSHELL_NO_DYNAMICDFC_SUPPORT
#define FSHELL_NO_PIPS_SUPPORT
--- a/build/s60/5th_edition/platform.mmh Thu Nov 04 10:38:02 2010 +0000
+++ b/build/s60/5th_edition/platform.mmh Thu Nov 04 20:51:05 2010 +0000
@@ -17,6 +17,7 @@
#endif
#define FSHELL_CORE_SUPPORT_USB_ICON "ACM::1"
+#define FSHELL_NO_BTRACE_SUPPORT
#define FSHELL_NO_PIPS_SUPPORT // [TomS:] Does 5th ed have pips?
#define FSHELL_NO_DOBJECTIX_SUPPORT
--- a/libraries/extrabtrace/group/bld.inf Thu Nov 04 10:38:02 2010 +0000
+++ b/libraries/extrabtrace/group/bld.inf Thu Nov 04 20:51:05 2010 +0000
@@ -16,10 +16,15 @@
PRJ_EXPORTS
FSHELL_ROM_INCLUDE(extrabtrace.iby)
+..\inc\extrabtrace.h \epoc32\include\fshell\extrabtrace.h
+
+PRJ_MMPFILES
+extrabtrace.mmp
#ifdef FSHELL_EXTRABTRACE_SUPPORT
-..\inc\extrabtrace.h \epoc32\include\fshell\extrabtrace.h
+PRJ_EXPORTS
+
..\inc\extrabtracek.h \epoc32\include\fshell\extrabtracek.h
PRJ_MMPFILES
--- a/libraries/extrabtrace/group/extrabtrace.iby Thu Nov 04 10:38:02 2010 +0000
+++ b/libraries/extrabtrace/group/extrabtrace.iby Thu Nov 04 20:51:05 2010 +0000
@@ -14,11 +14,10 @@
#include <fsh_config.iby>
-#ifdef FSHELL_EXTRABTRACE_SUPPORT
+FSHELL_EXECUTABLE_FILE(extrabtrace.dll)
-FSHELL_EXECUTABLE_FILE(extrabtrace.dll)
+#ifdef FSHELL_EXTRABTRACE_SUPPORT
FSHELL_KERNEL_EXTENSION(extrabtracek.ldd)
-
#endif
#endif // EXTRABTRACE_IBY
--- a/libraries/qr3/group/bld.inf Thu Nov 04 10:38:02 2010 +0000
+++ b/libraries/qr3/group/bld.inf Thu Nov 04 20:51:05 2010 +0000
@@ -29,5 +29,8 @@
PRJ_MMPFILES
loggingallocator.mmp
+#endif // FSHELL_QR3_SUPPORT_LOGGINGALLOCATOR
+
+#ifdef FSHELL_QR3_SUPPORT_SANDBOX
sandbox.mmp
-#endif // FSHELL_QR3_SUPPORT_LOGGINGALLOCATOR
+#endif
--- a/libraries/qr3/group/qr3.iby Thu Nov 04 10:38:02 2010 +0000
+++ b/libraries/qr3/group/qr3.iby Thu Nov 04 20:51:05 2010 +0000
@@ -17,8 +17,11 @@
FSHELL_EXECUTABLE_FILE(qr3.dll)
#ifdef FSHELL_QR3_SUPPORT_LOGGINGALLOCATOR
-FSHELL_EXECUTABLE_FILE(QR3Sandbox.exe)
FSHELL_EXECUTABLE_FILE(LoggingAllocator.dll)
#endif
+#ifdef FSHELL_QR3_SUPPORT_SANDBOX
+FSHELL_EXECUTABLE_FILE(QR3Sandbox.exe)
+#endif
+
#endif // QR3_IBY