diff -r 000000000000 -r 7f656887cf89 core/group/genver.pl --- /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 + +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 = ) { + 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 = ) { + 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 = ) { + if ($line =~ /^gcc version/) { + chomp $line; + $version = $line; + last; + } + } + close (COMPILER); + } + return $version; +}