Tweaks to s60\5th_edition build, added README_HowToBuild.txt
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Thu, 04 Nov 2010 20:51:05 +0000
changeset 82 a6fec624de6c
parent 81 c915fc349757
child 83 706c7a69e448
Tweaks to s60\5th_edition build, added README_HowToBuild.txt
README_HowToBuild.txt
build/common/common.mmh
build/s60/3rd_edition/platform.mmh
build/s60/5th_edition/platform.mmh
libraries/extrabtrace/group/bld.inf
libraries/extrabtrace/group/extrabtrace.iby
libraries/qr3/group/bld.inf
libraries/qr3/group/qr3.iby
--- /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