--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/core/group/genver.pl Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,85 @@
+# genver.pl
+#
+# 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
+#
+use strict;
+use lib "../../tools";
+use fshu;
+
+my $platform = shift @ARGV;
+my $version = fshu::Version();
+my $localTime = scalar(localtime);
+my $gmTime = scalar(gmtime);
+my $builder = $ENV{USERNAME};
+my $compilerVersion = CompilerVersion();
+
+
+print "
+#include <fshell/iocli.h>
+
+extern void PrintVersionInfo(RIoWriteHandle& aOut, TBool aVerbose)
+ {
+ if (aVerbose)
+ {
+ aOut.Write(_L(\"Version: $version\\r\\n\"));
+ aOut.Write(_L(\"Local build time: $localTime\\r\\n\"));
+ aOut.Write(_L(\"GMT build time: $gmTime\\r\\n\"));
+ aOut.Write(_L(\"User-name of builder: $builder\\r\\n\"));
+ aOut.Write(_L(\"Compiler version: $compilerVersion\\r\\n\"));
+#ifdef _DEBUG
+ aOut.Write(_L(\"Build configuration: debug\\r\\n\"));
+#else
+ aOut.Write(_L(\"Build configuration: release\\r\\n\"));
+#endif
+ }
+ else
+ {
+ aOut.Write(_L(\"$version\\r\\n\"));
+ }
+ }
+";
+
+sub CompilerVersion {
+ my $version = 'Unknown';
+ if ($platform =~ /^armv5$/i) {
+ open (COMPILER, "armcc 2>&1 |") or die "Couldn't run \"armcc\": $!\n";
+ while (my $line = <COMPILER>) {
+ if ($line =~ /\[Build\s+\d+\]/) {
+ chomp $line;
+ $version = $line;
+ last;
+ }
+ }
+ close (COMPILER);
+ }
+ elsif ($platform =~ /^gcce$/i) {
+ open (COMPILER, "arm-none-symbianelf-gcc.exe -v 2>&1 |") or die "Couldn't run \"arm-none-symbianelf-gcc.exe -v\": $!\n";
+ while (my $line = <COMPILER>) {
+ if ($line =~ /^gcc version/) {
+ chomp $line;
+ $version = $line;
+ last;
+ }
+ }
+ close (COMPILER);
+ }
+ elsif ($platform =~ /^(arm4|armi|thumb)$/i) {
+ open (COMPILER, "gcc.exe -v 2>&1 |") or die "Couldn't run \"gcc.exe -v\": $!\n";
+ while (my $line = <COMPILER>) {
+ if ($line =~ /^gcc version/) {
+ chomp $line;
+ $version = $line;
+ last;
+ }
+ }
+ close (COMPILER);
+ }
+ return $version;
+}