358
+ − 1
## @file BuildEnvXML.pl
+ − 2
# @ingroup userscripts clientscripts
+ − 3
#
+ − 4
# Uses information which is defined in the BuildEnvXML.xml to set up a machine
+ − 5
# specific environment, such as path for compilers.
+ − 6
#
+ − 7
# @todo Document this script.
+ − 8
#
+ − 9
# Copyright (c) 2009 Symbian Foundation Ltd. All rights reserved.
+ − 10
#
+ − 11
+ − 12
package BuildEnvXML;
+ − 13
+ − 14
use Getopt::Long;
+ − 15
use BuildEnvXML qw(&getToolEnvironment &getLastErrorMsg);
+ − 16
+ − 17
my $toolenvxml = "";
+ − 18
my $dbgfile = "";
+ − 19
my $sbsconfig = "";
+ − 20
my $toolsconfig = "";
+ − 21
+ − 22
GetOptions ("xml=s" => \$toolenvxml, "dbg:s" => \$dbgfile, "sbs:s" => \$sbsconfig, "tools:s" => \$sbsconfig);
+ − 23
+ − 24
my @contexts = @ARGV;
+ − 25
+ − 26
if ($toolenvxml eq "")
+ − 27
{
+ − 28
print ("ERROR: XML file cannot be found!\n");
+ − 29
}
+ − 30
+ − 31
# Checking the SBS config to test only what's necessary for that build
+ − 32
if ($sbsconfig =~ /armv5/i)
+ − 33
{
+ − 34
push @contexts, "ARMv5";
+ − 35
}
+ − 36
+ − 37
# Checking the tools config to test only what's necessary for that build
+ − 38
if ($sbsconfig =~ /tools[^2]?(,|$|_)/i)
+ − 39
{
+ − 40
push @contexts, "tools";
+ − 41
}
+ − 42
+ − 43
my $sErrMsg;
+ − 44
my $result = 0;
+ − 45
+ − 46
if (-e $dbgfile)
+ − 47
{
+ − 48
unlink($dbgfile);
+ − 49
}
+ − 50
+ − 51
&setDbgFile($dbgfile);
+ − 52
+ − 53
foreach my $context (@contexts){
+ − 54
print "\n\n### Checking $context Tools ###\n";
+ − 55
my $sSystemPath = &getToolEnvironment($toolenvxml, $context);
+ − 56
+ − 57
$sErrMsg = &getLastErrorMsg;
+ − 58
if ($sErrMsg eq "") { $sErrMsg = "\nAll OK.\n";}
+ − 59
if($sErrMsg =~ /ERROR/)
+ − 60
{
+ − 61
print "\n$context Tools VERIFICATION FAILED:";
+ − 62
print $sErrMsg."\n\n";
+ − 63
$result = -1;
+ − 64
}else{
+ − 65
print "\n$context tools VERIFICATION PASSED:";
+ − 66
print $sErrMsg."\n\n";
+ − 67
}
+ − 68
}
+ − 69
if ($result ne 0)
+ − 70
{
+ − 71
print "\n ==> PROGRAM STOPPED!!\n";
+ − 72
}
+ − 73
exit($result);