merge from SF
authorTom Sutcliffe <thomas.sutcliffe@accenture.com>
Sat, 31 Jul 2010 18:44:26 +0100
changeset 40 06e2064de820
parent 39 b1cc3c1b5028 (current diff)
parent 22 30834c0f3179 (diff)
child 41 df16950e242e
merge from SF
build/common/common.mmh
documentation/pod-list.txt
tools/fsh-builddocs
--- a/build/common/release.src	Wed Jul 28 18:30:18 2010 +0100
+++ b/build/common/release.src	Sat Jul 31 18:44:26 2010 +0100
@@ -2,10 +2,10 @@
 Joe Branton (joe.branton@accenture.com) or Tom Sutcliffe (thomas.sutcliffe@accenture.com)
 
 notesrc_release_reason
-See <a href="..\..\fshell/documentation\change_history.html">change history</a> for details of changes in this release.
+See <a href="../../documentation/fshell/change_history.html">change history</a> for details of changes in this release.
 
 notesrc_general_comments
-See this <a href="..\..\fshell/documentation\index.html">documentation</a> for installation and howto type information.
+See this <a href="../../documentation/fshell/index.html">documentation</a> for installation and howto type information.
 
 notesrc_known_deviations
 None known.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/ncp/bld.inf	Sat Jul 31 18:44:26 2010 +0100
@@ -0,0 +1,26 @@
+// bld.inf
+// 
+// Copyright (c) 2010 Accenture. All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+// 
+// Initial Contributors:
+// Accenture - Initial contribution
+//
+PRJ_PLATFORMS
+WINSCW
+ARMV5
+ARMV5SMP
+
+#include "platform.mmh"
+#include "../common/common.mmh"
+
+PRJ_EXPORTS
+.\platform.mmh                /epoc32/include/fshell/platform.mmh
+FSHELL_ROM_INCLUDE2(platform.mmh, fshell\platform.mmh)
+FSHELL_ROM_INCLUDE(fshell_platform.iby)
+
+#include <../common/bld.inf>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/ncp/fshell_platform.iby	Sat Jul 31 18:44:26 2010 +0100
@@ -0,0 +1,28 @@
+// fshell_platform.iby
+// 
+// Copyright (c) 2010 Accenture. All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of the "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+// 
+// Initial Contributors:
+// Accenture - Initial contribution
+//
+#ifndef FSHELL_PLATFORM_IBY
+#define FSHELL_PLATFORM_IBY
+
+#ifdef FSHELL_MAKESIS
+
+;Unique Vendor Name
+:"Accenture"
+
+;localised vendor names 
+%{"Accenture"}
+
+HASH{"fshell (NCP)"},(FSHELL_UID_SIS),FSHELL_VERSION,0,FSHELL_TIMESTAMP,TYPE=SA
+
+#endif
+
+#endif // FSHELL_PLATFORM_IBY
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/ncp/platform.mmh	Sat Jul 31 18:44:26 2010 +0100
@@ -0,0 +1,24 @@
+#ifndef FSHELL_PLATFORM_MMH
+#define FSHELL_PLATFORM_MMH
+
+#define FSHELL_CAP_ALL
+#define FSHELL_PROTECTED_UIDS
+
+#define FSHELL_PLATFORM_SYMTB 92
+
+#define FSHELL_NO_WSERV_SUPPORT
+#define FSHELL_NO_BLUETOOTH_SUPPORT
+#define FSHELL_NO_TELEPHONY_SUPPORT
+#define FSHELL_NO_AUDIO_SUPPORT
+#define FSHELL_NO_SQL_SUPPORT
+#define FSHELL_NO_PIPS_SUPPORT
+#define FSHELL_NO_LBS_SUPPORT
+#define FSHELL_NO_DOBJECTIX_SUPPORT
+#define FSHELL_NO_EGL_SUPPORT
+#define FSHELL_NO_OPENVG_SUPPORT
+#define FSHELL_NO_ANALYSEHEAP_SUPPORT
+#define FSHELL_NO_APPARC_SUPPORT
+#define FSHELL_FLEXIBLEMM_AWARE
+#define FSHELL_ARM11XX_SUPPORT
+
+#endif // FSHELL_PLATFORM_MMH
--- a/commands/play/play.cif	Wed Jul 28 18:30:18 2010 +0100
+++ b/commands/play/play.cif	Sat Jul 31 18:44:26 2010 +0100
@@ -26,7 +26,7 @@
 
 ==option int f preference
 
-Sepcifies the audio priority preferense for playback.
+Sepcifies the audio priority preference for playback.
 
 ==option int V volume
 
--- a/commands/testexecute/testexecute.cif	Wed Jul 28 18:30:18 2010 +0100
+++ b/commands/testexecute/testexecute.cif	Sat Jul 31 18:44:26 2010 +0100
@@ -17,7 +17,9 @@
 
 ==long-description
 
-An fshell exe that wraps up a Test Execute script run and redirects its output to the fshell console.
+An fshell exe that wraps up a Test Execute script run and redirects its log output to the fshell console.
+
+Important note: Older versions of Test Execute do not support the C<-tci> and C<-txi> options. Therefore, C<--include> and C<--exclude> may have no effect.
 
 ==option bool d debug
 
@@ -47,7 +49,7 @@
 
 You can specify the test case IDs using all the three different ways listed above. For example, in the following testexecute command, the test cases list is a combination of comma-separated test case IDs, test case ID range and a .tcs file containing IDs of the test cases to be included during execution: 
 
- c:\>testexecute c:\tefintegrationtest\TEFIntegrationTest-regular.script -tci TEST-001,TEST-002,TEST-008:TEST-015,some.tcs
+    c:\>testexecute c:\tefintegrationtest\TEFIntegrationTest-regular.script -tci TEST-001,TEST-002,TEST-008:TEST-015,some.tcs
 
 ==option bool t ignore
 
--- a/core/builtins/ymodem.cif	Wed Jul 28 18:30:18 2010 +0100
+++ b/core/builtins/ymodem.cif	Sat Jul 31 18:44:26 2010 +0100
@@ -22,19 +22,9 @@
 
 Allows the transfer of files to and from remote terminal software that supports YMODEM. Supports batch mode, allowing multiple files to be sent and received. Note, the console implementation that ymodem is attached to must support binary mode. If it doesn't, C<KErrExtensionNotSupported> (-47) will be reported. In practice, this currently means that one of the vt100 console variants (F<vt100cons.dll>, F<vt100busdevcons.dll>, F<vt100usbcons.dll>, F<vt100btcons.dll> or F<vt100tcpcons.dll>) must be used.
 
-==argument filename file_name optional multiple
-
-=over 4
-
-=item Send mode:
+Note, when sending, file names specified with wild characters are accepted. When receiving, specify a directory into which one or more files should be received. If no directory is specified, the received files will be saved in the current working directory (the name of each received file is provided by the sending end).
 
-The names of the files to be sent (wild characters are accepted). At least one file must be specified.
-
-=item Receive mode:
-
-The name of the directory in which to write the received files (the name of each received file is provided by the send). If not specified, the received files are saved in the current working directory
-
-=back
+==argument filename file_name optional multiple
 
 ==see-also
 
--- a/documentation/change_history.pod	Wed Jul 28 18:30:18 2010 +0100
+++ b/documentation/change_history.pod	Sat Jul 31 18:44:26 2010 +0100
@@ -14,11 +14,23 @@
 
 =head1 FShell Change History
 
-=head2 Release 000.3
+=head2 Release 000.4
+
+=over 5
+
+=item *
+
+Fixed a defect in iosrv.exe that caused a panic if a foreground read object was attached to a different end point. This was due to the read object being notified of a change in foreground before its iEndPoint member was updated. This member is now updated before attempting the attach, and is set to NULL in the event of a leave (resulting in the read object being left in an unattached state).
 
-Build fixes.
+=item *
+
+More build fixes. Changed the documentation builder to automatically prepend C<%EPOCROOT%> (converted to a path relative form) to pre-processor include path options that start with F<epoc32>. Prevously C<$(EPOCROOT)> was prepended in the makefile, which broke the documentation build because the pre-processor will only accept relative path include options.
 
-=head2 Release 000.2
+=item *
+
+Added C<--codesegs> option to C<ps>.
+
+=head2 Release 000.2, 000.3
 
 Build fixes.
 
--- a/documentation/fshell_builddocs.mk	Wed Jul 28 18:30:18 2010 +0100
+++ b/documentation/fshell_builddocs.mk	Sat Jul 31 18:44:26 2010 +0100
@@ -10,12 +10,12 @@
 # Accenture - Initial contribution
 #
 BLD :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt
 
 RELEASABLES :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -w
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt -w
 
 CLEAN :
-	..\tools\fsh-builddocs -i $(EPOCROOT)epoc32/include pod-list.txt -c
+	..\tools\fsh-builddocs -i epoc32/include pod-list.txt -c
 
 MAKMAKE FREEZE LIB CLEANLIB RESOURCE SAVESPACE FINAL : 
--- a/documentation/pod-list.txt	Wed Jul 28 18:30:18 2010 +0100
+++ b/documentation/pod-list.txt	Sat Jul 31 18:44:26 2010 +0100
@@ -1,6 +1,3 @@
-//TODO the cpp -I option isn't working so includes are out for the moment... We no longer actually use common.mmh anyway
-//#include <fshell/common.mmh>
-
 doc-root    \epoc32\documentation
 temp-root   \epoc32\build\documentation
 css         documentation-style.css
--- a/libraries/extrabtrace/group/extrabtracek.mmp	Wed Jul 28 18:30:18 2010 +0100
+++ b/libraries/extrabtrace/group/extrabtracek.mmp	Sat Jul 31 18:44:26 2010 +0100
@@ -25,17 +25,20 @@
 
 sourcepath		..\src
 
-#if defined(MARM)
-	#ifdef GCCE
-		// Workaround for the gcce makmake module doing weird things with -S when compiling .cia files
-		// And for GCCE.h's definition of __NAKED__ being wrong
-		source			usampler_cia.cpp
-	#else
-		source			usampler.cia
+#ifndef SMP // Sampler not supported on smp
+	#if defined(MARM)
+		#ifdef GCCE
+			// Workaround for the gcce makmake module doing weird things with -S when compiling .cia files
+			// And for GCCE.h's definition of __NAKED__ being wrong
+			source			usampler_cia.cpp
+		#else
+			source			usampler.cia
+		#endif
 	#endif
+source			sampler.cpp
 #endif
 
-source			extrabtracek.cpp sampler.cpp
+source			extrabtracek.cpp
 source			eventhandler.cpp
 
 start wins
--- a/libraries/extrabtrace/inc/extrabtracek.h	Wed Jul 28 18:30:18 2010 +0100
+++ b/libraries/extrabtrace/inc/extrabtracek.h	Sat Jul 31 18:44:26 2010 +0100
@@ -46,7 +46,9 @@
 	void MExtraBtrace_Close();
 
 public:
+#ifndef __SMP__
 	DCpuSampler* iSampler;
+#endif
 	DExtraBtraceEventHandler* iEventHandler;
 	};
 
--- a/libraries/extrabtrace/src/extrabtracek.cpp	Wed Jul 28 18:30:18 2010 +0100
+++ b/libraries/extrabtrace/src/extrabtracek.cpp	Sat Jul 31 18:44:26 2010 +0100
@@ -14,7 +14,9 @@
 #include <kern_priv.h>
 
 #include "common.h"
+#ifndef __SMP__
 #include "sampler.h"
+#endif
 #include "eventhandler.h"
 
 class DExtraBTraceChannel : public DLogicalChannelBase
@@ -38,8 +40,10 @@
 	err = Open();
 	if (err) return err;
 
+#ifndef __SMP__
 	iSampler = new DCpuSampler();
 	if (!iSampler) err = KErrNoMemory;
+#endif
 
 	if (!err) iEventHandler = new DExtraBtraceEventHandler(this);
 	if (!iEventHandler) err = KErrNoMemory;
@@ -72,18 +76,24 @@
 
 DExtraBTraceFactory::~DExtraBTraceFactory()
 	{
+#ifndef __SMP__
 	delete iSampler;
+#endif
 	delete iEventHandler;
 	}
 
 void DExtraBTraceFactory::SetCpuUsageSampling(MExtraBtrace::TCpuUsageCallback aCallbackFn)
 	{
+#ifndef __SMP__
 	iSampler->SetCpuUsageSampling(aCallbackFn);
+#endif
 	}
 
 void DExtraBTraceFactory::SetProfilingSampling(TBool aEnabled)
 	{
+#ifndef __SMP__
 	iSampler->SetProfilingSampling(aEnabled);
+#endif
 	}
 
 TAny* DExtraBTraceFactory::GetVersion(TInt /*aVersion*/)
@@ -111,10 +121,12 @@
 	return KErrNone;
 	}
 
+#ifndef __SMP__
 DCpuSampler* DExtraBTraceChannel::Sampler()
 	{
 	return static_cast<DExtraBTraceFactory*>(iDevice)->iSampler;
 	}
+#endif
 
 TInt DExtraBTraceChannel::RequestUserHandle(DThread* /*aThread*/, TOwnerType /*aType*/)
 	{
@@ -129,6 +141,9 @@
 		{
 	case EControlEnableProfiling:
 		{
+#ifdef __SMP__
+		return KErrNotSupported;
+#else
 		TInt enable = (a1 == 0) ? 0 : 1; // We still ignore the rate, currently
 		TInt err = BTrace::SetFilter(BTrace::EProfiling, enable);
 		if (err >= 0)
@@ -136,6 +151,7 @@
 			Sampler()->SetProfilingSampling(enable);
 			}
 		return err;
+#endif
 		}
 	default:
 		return KErrNotSupported;
--- a/libraries/iosrv/server/readwrite.cpp	Wed Jul 28 18:30:18 2010 +0100
+++ b/libraries/iosrv/server/readwrite.cpp	Sat Jul 31 18:44:26 2010 +0100
@@ -362,8 +362,13 @@
 		ReadEndPoint()->IorepDetach(*this);
 		}
 
-	aEndPoint.IorepAttachL(*this, aMode);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IorepAttachL(*this, aMode));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoReadObject::SetReadMode(RIoReadHandle::TReadMode aMode)
@@ -954,8 +959,13 @@
 		WriteEndPoint()->IowepDetach(*this);
 		}
 
-	aEndPoint.IowepAttachL(*this);
 	iEndPoint = &aEndPoint;
+	TRAPD(err, aEndPoint.IowepAttachL(*this));
+	if (err)
+		{
+		iEndPoint = NULL;
+		User::Leave(err);
+		}
 	}
 
 void CIoWriteObject::WriteL(const RMsg& aMessage)
--- a/libraries/spcre/bwins/spcreu.def	Wed Jul 28 18:30:18 2010 +0100
+++ b/libraries/spcre/bwins/spcreu.def	Sat Jul 31 18:44:26 2010 +0100
@@ -31,8 +31,8 @@
 	?FullMatchL@CRegEx@@QBEHABVTDesC8@@@Z @ 30 NONAME ; int CRegEx::FullMatchL(class TDesC8 const &) const
 	??0TRegExArg@@QAE@PAK@Z @ 31 NONAME ABSENT ; TRegExArg::TRegExArg(unsigned long *)
 	?PartialMatchL@CRegEx@@QBEHABVTDesC8@@ABVTRegExArg@@111@Z @ 32 NONAME ; int CRegEx::PartialMatchL(class TDesC8 const &, class TRegExArg const &, class TRegExArg const &, class TRegExArg const &, class TRegExArg const &) const
-	??0TRegExArg@@QAE@PAIP6AHABVTDesC8@@PAX@Z@Z @ 33 NONAME ; TRegExArg::TRegExArg(unsigned int *, int (*)(class TDesC8 const &, void *))
-	??0TRegExArg@@QAE@PANP6AHABVTDesC8@@PAX@Z@Z @ 34 NONAME ; TRegExArg::TRegExArg(double *, int (*)(class TDesC8 const &, void *))
+	??0TRegExArg@@QAE@PAIP6AHABVTDesC8@@PAX@Z@Z @ 33 NONAME ABSENT ; TRegExArg::TRegExArg(unsigned int *, int (*)(class TDesC8 const &, void *))
+	??0TRegExArg@@QAE@PANP6AHABVTDesC8@@PAX@Z@Z @ 34 NONAME ABSENT ; TRegExArg::TRegExArg(double *, int (*)(class TDesC8 const &, void *))
 	?ParseTReal64@TRegExArg@@CAHABVTDesC8@@PAX@Z @ 35 NONAME ; int TRegExArg::ParseTReal64(class TDesC8 const &, void *)
 	?ParseTUint16Octal@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 36 NONAME ; int TRegExArg::ParseTUint16Octal(class TDesC8 const &, void *)
 	?PartialMatchL@CRegEx@@QBEHABVTDesC8@@ABVTRegExArg@@1@Z @ 37 NONAME ; int CRegEx::PartialMatchL(class TDesC8 const &, class TRegExArg const &, class TRegExArg const &) const
@@ -76,7 +76,7 @@
 	?ConsumeL@CRegEx@@QBEHAAVTDes8@@ABVTRegExArg@@@Z @ 75 NONAME ; int CRegEx::ConsumeL(class TDes8 &, class TRegExArg const &) const
 	?ParseTUint8Radix@TRegExArg@@CAHABVTDesC8@@PAXW4TRadix@@@Z @ 76 NONAME ; int TRegExArg::ParseTUint8Radix(class TDesC8 const &, void *, enum TRadix)
 	?ParseTUint32Hex@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 77 NONAME ; int TRegExArg::ParseTUint32Hex(class TDesC8 const &, void *)
-	??0TRegExArg@@QAE@PAH@Z @ 78 NONAME ; TRegExArg::TRegExArg(int *)
+	??0TRegExArg@@QAE@PAH@Z @ 78 NONAME ABSENT ; TRegExArg::TRegExArg(int *)
 	?ConsumeL@CRegEx@@QBEHAAVTDes8@@@Z @ 79 NONAME ; int CRegEx::ConsumeL(class TDes8 &) const
 	?ParseTUint16Hex@TRegExArg@@SAHABVTDesC8@@PAX@Z @ 80 NONAME ; int TRegExArg::ParseTUint16Hex(class TDesC8 const &, void *)
 	??0TRegExArg@@QAE@PA_J@Z @ 81 NONAME ABSENT ; TRegExArg::TRegExArg(long long *)
--- a/tools/fsh-builddocs	Wed Jul 28 18:30:18 2010 +0100
+++ b/tools/fsh-builddocs	Sat Jul 31 18:44:26 2010 +0100
@@ -1,12 +1,12 @@
 #!perl
 # fsh-builddocs
-# 
+#
 # Copyright (c) 2010 Accenture. All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of the "Eclipse Public License v1.0"
 # which accompanies this distribution, and is available
 # at the URL "http://www.eclipse.org/legal/epl-v10.html".
-# 
+#
 # Initial Contributors:
 # Accenture - Initial contribution
 
@@ -83,6 +83,15 @@
 	     'i|include=s' => $options{includes}) or DisplayHelp();
   DisplayHelp() if ($help);
   warn "Invalid arguments\n" and DisplayHelp() unless (@ARGV == 1);
+
+  my $relativeEpocRootPath = fshu::RelativePath($ENV{EPOCROOT}, cwd());
+  $relativeEpocRootPath =~ s/\\/\//g; # '\' -> '/'.
+  foreach my $include (@{$options{includes}}) {
+    if ($include =~ /^epoc32/i) {
+      $include = "${relativeEpocRootPath}$include";
+    }
+  }
+
   return shift @ARGV;
 }
 
--- a/tools/fshu.pm	Wed Jul 28 18:30:18 2010 +0100
+++ b/tools/fshu.pm	Sat Jul 31 18:44:26 2010 +0100
@@ -94,6 +94,11 @@
   }
   $path = join('\\', @collapsedPath);
 
+  if ($path =~ m|^\\epoc32|) {
+    # If it starts with \epoc32, chop the leading backslash and stick on $EPOCROOT
+    $path =~ s|^\\|$ENV{EPOCROOT}|;
+  }
+
   return $path;
 }
 
@@ -124,9 +129,9 @@
       mkpath($dir) or die "Couldn't make path \"$dir\": $!\n";
     }
   }
-  if ($dir =~ /^\\epoc32/) {
+  if ($dir =~ m|^\\epoc32|) {
     # If it starts with \epoc32, chop the leading backslash and stick on $EPOCROOT
-    $dir =~ s/^\\/$ENV{EPOCROOT}/;
+    $dir =~ s|^\\|$ENV{EPOCROOT}|;
   }
 }