common/tools/BuildEnvXML.pm
author Simon Howkins <simonh@symbian.org>
Thu, 10 Dec 2009 12:01:59 +0000
changeset 825 1de547e13d13
parent 358 61571c10c5d0
permissions -rw-r--r--
Updates to make the build environment check more reasonable: Mercurial v1.3 permitted The Java compiler is not a showstopping issue 7-zip can be installed in any location Update to Helium 5 Helium can be installed in PDT 1.*, not necessarily 1.0 Raptor installation path not significant Update to Raptor 2.9.* The Raptor patch to update the bundled version of python is no longer relevant BRAG calculations updated to ignore items not being in the system path, as this just doesn't matter. Overall effect is that the build environment check should pass on a machine that is able to do a build!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
358
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     1
## @file BuildEnvXML.pm
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     2
# @ingroup userscripts clientscripts
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     3
#
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     4
# Uses information which is defined in the BuildEnvXML.xml to set up a machine
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     5
# specific environment, such as path for compilers. 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     6
#
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     7
# @todo Document this script.
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     8
#
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
     9
# Copyright (c) 2009 Symbian Foundation  Ltd. All rights reserved.
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    10
#
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    11
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    12
package BuildEnvXML;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    13
use strict;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    14
use XML::DOM;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    15
use Cwd;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    16
use Exporter;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    17
our @ISA = qw(Exporter);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    18
our @EXPORT_OK = qw(&getToolEnvironment &getLastErrorMsg &setDbgFile);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    19
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    20
my $sToolEnv  = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    21
my $sLocalDir = cwd();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    22
my $hParser      = XML::DOM::Parser->new();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    23
my $sErrorMsg = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    24
my $toolSummary = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    25
my $execLog = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    26
my $dbgfile = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    27
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    28
sub getToolEnvironment
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    29
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    30
 my $sBuildEnvXML = shift;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    31
 my (@aCat) = @_;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    32
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    33
 my $hXMLfile     = $hParser->parsefile ($sBuildEnvXML);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    34
 my $hNodes = $hXMLfile->getElementsByTagName ("context");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    35
 my $hSystemTools, my $hP4Tools, my $hCBRTools, my $sCat, my $nNumNodes;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    36
 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    37
 if ($dbgfile ne "")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    38
 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    39
	print "Logging output to file $dbgfile\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    40
	open DBGFILE, ">>$dbgfile" or die; 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    41
 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    42
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    43
 $sErrorMsg = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    44
 $sToolEnv  = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    45
 my $nCatDepth = scalar(@aCat);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    46
 subTrace("Context Depth: $nCatDepth\n");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    47
 my $nLevel = ($nCatDepth-1);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    48
 $sCat = $aCat[$nLevel];
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    49
 $nNumNodes = $hNodes->getLength;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    50
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    51
 my $hParentNode, my $sParentId;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    52
 for (my $nI = 0; $nI < $nNumNodes ; $nI++)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    53
 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    54
     my $hNode = $hNodes->item ($nI);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    55
     my $hId = $hNode->getAttributeNode ("id");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    56
     # Discriminating Stages
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    57
     subTrace("Context found: \"".$hId->getValue()."\"");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    58
     if (uc($hId->getValue()) eq uc($sCat))
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    59
     {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    60
     	subTrace("---> requested! analyzing...");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    61
     	$hParentNode = $hNode->getParentNode;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    62
	     for (;$nLevel>0;$nLevel--)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    63
	     {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    64
		    $sParentId = $hParentNode->getAttributeNode("id")->getValue;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    65
	    	subTrace("...from Parent context= ".$sParentId);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    66
		    if ($sParentId ne $aCat[$nLevel-1]){ $nLevel =-1;}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    67
		    $hParentNode = $hParentNode->getParentNode;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    68
	     };
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    69
	     if (($nLevel>-1)&&($hParentNode->getNodeName ne "context"))
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    70
	     {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    71
		     $hSystemTools = $hNode->getElementsByTagName ("tool", 0);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    72
		     $nI = $nNumNodes;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    73
	     }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    74
     }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    75
 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    76
 if (!defined $hSystemTools)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    77
 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    78
	 subTrace("No Stage found for category $sCat !");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    79
	 subTrace("Program Terminated.");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    80
	 exit(0);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    81
 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    82
 subTrace(""); 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    83
 subTrace("----------------------");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    84
 subTrace("Number of $sCat tools: ".$hSystemTools->getLength);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    85
 for (my $nI = 0; $nI < $hSystemTools->getLength; $nI++)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    86
 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    87
     my $hTool     = $hSystemTools->item ($nI);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    88
     my $hToolName = $hTool->getAttributeNode ("name");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    89
     subTrace("");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    90
     subTrace("----------------------");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    91
     subTrace("Verifying tool: ".$hToolName->getValue());
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    92
	 my $isToolNotFound = "true";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    93
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    94
     # Location element
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    95
     my $hToolLocation = $hTool->getElementsByTagName("location")->item(0);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    96
     my $hToolLocationPath, my $hToolLocationStrict;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    97
     if (defined $hToolLocation)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    98
     {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
    99
             $hToolLocationPath   = $hToolLocation->getAttributeNode("value");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   100
             $hToolLocationStrict = $hToolLocation->getAttributeNode("strict");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   101
	     subTrace("Expected Location: ".$hToolLocationPath->getValue());    
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   102
     }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   103
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   104
     # Verify element
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   105
	 my $hToolVerifys           = $hTool->getElementsByTagName("verify");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   106
	 my $nNumOfVerifys			= $hToolVerifys->getLength;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   107
	 for (my $nZ = 0; $nZ < $nNumOfVerifys; $nZ++)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   108
	 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   109
		 my $hToolVerify            = $hTool->getElementsByTagName("verify")->item($nZ);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   110
		 my $hToolVerifyVersion     = $hToolVerify->getAttributeNode("version");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   111
		 my $hToolVerifyShowStopper = $hToolVerify->getAttributeNode("showstopper");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   112
		 subTrace("Expected Version: ".$hToolVerifyVersion->getValue());    
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   113
		 subPrint("\nVerifying tool: ".$hToolName->getValue()." (version ".$hToolVerifyVersion->getValue().")\n");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   114
		 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   115
		 # Tool checks
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   116
		 my $hToolChecks = $hToolVerify->getElementsByTagName("check");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   117
		 my $nNumOfChecks= $hToolChecks->getLength;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   118
		 my $nCheckNum;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   119
		 for (my $nJ = 0; $nJ < $nNumOfChecks; $nJ++)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   120
		 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   121
			 $nCheckNum = $nJ+1;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   122
			 subTrace("");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   123
			 subTrace("Check #$nCheckNum:");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   124
			 subPrint("Check #$nCheckNum");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   125
			 my $hCheck = $hToolChecks->item($nJ);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   126
			 my $hCheckCmd    = $hCheck->getAttributeNode ("execute");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   127
			 my $hCheckVar    = $hCheck->getAttributeNode ("var");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   128
			 my $hCheckValues = $hCheck->getAttributeNode ("values");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   129
			 my $hCheckLog    = $hCheck->getAttributeNode ("log");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   130
			 my $hCheckExclu  = $hCheck->getAttributeNode ("exclusive");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   131
			 my $hCheckName   = $hCheck->getAttributeNode ("name");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   132
			 my $hCheckLocator= $hCheck->getAttributeNode ("locator");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   133
			 my $hCheckSilent = $hCheck->getAttributeNode ("silent");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   134
			 my $sCommand, my $sPattern, my $sToolCmd, my $sOut, my $sOutLocal, my $sCheckName;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   135
			 my $versionFound = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   136
			 my $sMsg = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   137
			 # If Check is exclusive, we will only test this one:
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   138
			 if ($hCheckExclu->getValue() eq "true")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   139
			 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   140
				 $nJ = $nNumOfChecks;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   141
				 subTrace("This check is exclusive: the remaining checks will not be tested");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   142
			 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   143
			 # Preparing system command to execute
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   144
			 if (defined $hCheckCmd) 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   145
			 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   146
				 $sCommand = $hCheckCmd->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   147
				 if (defined $hToolLocation)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   148
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   149
					 $sToolCmd= $hToolLocationPath->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   150
					 $sCommand =~ s/\%location\%/$sToolCmd/g;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   151
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   152
				 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   153
				 # Execute the command
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   154
				 subTrace("Check cmd: ".$sCommand."");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   155
				 $sOut = `$sCommand 2>&1`;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   156
				 $sOutLocal = $sOut;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   157
				 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   158
				 # Check if tool cannot be found at expected location
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   159
				 if ($sOut =~/(not\srecognized)|(system\scannot\sfind)/)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   160
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   161
					 $sOutLocal = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   162
					 subTrace("Tool cannot be found at location: ".$hToolLocationPath->getValue());
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   163
					 subLogErrorMsg($hToolLocationStrict->getValue(), $hToolName->getValue()." CANNOT BE FOUND IN THE EXPECTED LOCATION: "
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   164
								 .$hToolLocationPath->getValue());
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   165
					 if ($hToolLocationStrict->getValue() eq "true")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   166
					 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   167
						 subTrace("LOCATION STRICT activated, program terminated");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   168
						 $sMsg .= "[ERROR] wrong location\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   169
						 #return "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   170
					 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   171
					 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   172
					 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   173
						 $sMsg .= "[WARNING] wrong location\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   174
					 }	 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   175
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   176
				 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   177
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   178
					 if ((defined $hToolLocation)&&(defined $hCheckCmd))
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   179
					 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   180
						$sCommand =~ /(.*)(\\).*$/i;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   181
						my $sTmp  = $1;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   182
						$sTmp =~ s/^\s+//;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   183
						$sTmp =~ s/\s+$//;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   184
						$sToolEnv = $sTmp.";".$sToolEnv;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   185
						subTrace("Tool path OK.");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   186
						subTrace("New appender: \"".$sToolEnv."\"");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   187
					 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   188
					 $isToolNotFound = "false";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   189
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   190
				 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   191
				 # Check if tool can be found with the Environment PATH
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   192
				 $sCommand =~ s/.*(\\)(.*)$/\2/i;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   193
				 subTrace("Try command from ENV PATH: ".$sCommand);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   194
				 if (!defined $hCheckName) 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   195
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   196
					$sCheckName = $sCommand;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   197
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   198
				 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   199
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   200
					$sCheckName = $hCheckName->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   201
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   202
				 subPrint(" [$sCheckName]: ");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   203
				 $sOut = `$sCommand 2>&1`;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   204
				 if ($sOut =~/(not\srecognized)|(system\scannot\sfind)/)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   205
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   206
					 $sOut = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   207
					 my $type = "ERROR";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   208
					 if ($isToolNotFound eq "false") {$type = "WARNING";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   209
					 subTrace("$type: ".$hToolName->getValue()." CANNOT BE FOUND IN THE SYSTEM PATH");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   210
					 subLogErrorMsg($isToolNotFound, $hToolName->getValue()." CANNOT BE FOUND IN THE SYSTEM PATH");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   211
					 $sMsg .= "[$type] NOT FOUND IN SYSTEM PATH\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   212
					 if ($isToolNotFound eq "true") {next;}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   213
					 #return "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   214
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   215
			 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   216
			 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   217
			 {	 # Check by verifying an env variable
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   218
				 subPrint(" [".$hCheckVar->getValue()."]: ");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   219
				 $sCommand = "ECHO %".$hCheckVar->getValue()."%";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   220
				 subTrace("Check var: ".$hCheckVar->getValue());		     
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   221
				 $sOut = `$sCommand 2>&1`;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   222
				 $sOut =~ s/^\s*//;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   223
				 $sOut =~ s/\s*$//;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   224
			 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   225
			 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   226
			 # Log the output if necessary 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   227
			 if ($hCheckLog->getValue() eq "true")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   228
			 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   229
					 subTrace("command: $sCommand");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   230
					 subTrace("logged output: ");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   231
					 subLog("Verifying \"".$hToolName->getValue()." [version ".$hToolVerifyVersion->getValue().
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   232
					 "]\" -- check #$nCheckNum:");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   233
					 subLog("Executing: $sCommand");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   234
					 subLog($sOut);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   235
			 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   236
			 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   237
			 # Perform the check against given values
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   238
			 if (defined $hCheckValues)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   239
			 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   240
				 my $sOutCopy = $sOut;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   241
				 my $bResultOk = "false";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   242
				 $sPattern = $hCheckValues->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   243
				 if (defined $hCheckLocator)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   244
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   245
					 my $sLocator = $hCheckLocator->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   246
					 $sOut =~ s/.*$sLocator.*/\1/msi;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   247
					 subTrace("Searching in locator: ".$sOut);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   248
					 $sOutLocal =~ s/.*$sLocator.*/\1/msi;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   249
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   250
				 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   251
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   252
					$sOut =~ s/.*($sPattern).*/\1/smi;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   253
					$sOutLocal =~ s/.*($sPattern).*/\1/smi;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   254
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   255
				 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   256
				# Log the current version found
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   257
				$versionFound = $sOut.$sOutLocal;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   258
				if ($sOut eq $sOutLocal)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   259
				{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   260
					$versionFound = $sOut;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   261
				}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   262
				elsif (($sOut.$sOutLocal ne $sOut) and ($sOut.$sOutLocal ne $sOutLocal) and ($sOut ne $sOutLocal))
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   263
				{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   264
					$versionFound = "$sOut or $sOutLocal [Value Mismatch]";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   265
				}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   266
				if ($versionFound eq "") {$versionFound = "not found";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   267
				 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   268
				 #$sPattern =~ s/(\\|\/|\.|\*|\[|\]|\(|\)|\$|\{|\})/\\\1/g;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   269
				 #$sPattern = "($sPattern)";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   270
				 subTrace("Check against pattern: ".$sPattern);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   271
				 # Check the Environment Variable
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   272
				 if (defined $hCheckVar)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   273
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   274
				    $sOut = $sOutCopy;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   275
					my $valueTested = $hCheckVar->getValue();
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   276
					if ($sOut =~ /%$valueTested%/) {$sOut = "not defined!";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   277
					elsif ( $sOut =~ m/$sPattern/smi )
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   278
					{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   279
						$bResultOk = "true";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   280
						if ($hCheckSilent->getValue() eq "true") { $sOut = "ok. ";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   281
					}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   282
					$versionFound = "$sOut";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   283
				 } # Or Check the command executed (for version checking...)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   284
				 elsif ( ( ( $sOut =~ s/.*($sPattern).*/\1/smi ) and (( $sOutLocal =~ s/.*($sPattern).*/\1/smi ) or ($sOutLocal eq "")) ) || 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   285
				      ( ( $sOutLocal =~ s/.*($sPattern).*/\1/smi ) and ($sOut eq "") ) )
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   286
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   287
					$bResultOk = "true";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   288
					subTrace("Value OK");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   289
					if ($versionFound eq "" || $hCheckSilent->getValue() eq "true") { $versionFound = "ok. ";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   290
					
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   291
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   292
				 elsif (!defined $hCheckLocator)
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   293
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   294
					$versionFound = "";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   295
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   296
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   297
				 # Log the warnings/errors regarding version checking
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   298
				 if ($bResultOk eq "false")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   299
				 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   300
					 if ($versionFound eq "") { $versionFound = "wrong value. ";}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   301
					 subTrace("ERROR: VALUE CHECK FAILED");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   302
					 subLogErrorMsg($hToolVerifyShowStopper->getValue(), $hToolName->getValue()." VALUE INCORRECT");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   303
					 if ($hToolVerifyShowStopper->getValue() eq "true")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   304
					 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   305
						 $sMsg .= "[ERROR] WRONG VALUE\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   306
						 subTrace("SHOWSTOPPER RAISED: program should be terminated");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   307
					 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   308
					 else
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   309
					 {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   310
						 subTrace("No Showstopper, continuing analysis...");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   311
						 $sMsg .= "[WARNING] Wrong Value\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   312
					 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   313
					 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   314
				 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   315
			 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   316
			 chomp($versionFound);
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   317
			 &subPrint ("$versionFound\n$sMsg");
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   318
			 &printToolSummary;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   319
			 &printLog;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   320
		 }		
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   321
	 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   322
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   323
     
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   324
 }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   325
 close DBGFILE;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   326
 return $sToolEnv;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   327
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   328
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   329
sub subTrace
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   330
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   331
  my $sString = $_[0];
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   332
  if ($dbgfile ne "")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   333
  {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   334
	print DBGFILE "$sString\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   335
  }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   336
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   337
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   338
sub subPrint
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   339
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   340
  my $sString = $_[0];
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   341
  $toolSummary .= "$sString";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   342
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   343
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   344
sub printToolSummary
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   345
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   346
  print $toolSummary."\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   347
  $toolSummary="";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   348
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   349
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   350
sub subLog
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   351
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   352
  my $sString = $_[0];
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   353
  $execLog .= "[LOG] $sString\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   354
  
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   355
  if ($dbgfile ne "")
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   356
  {
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   357
	print DBGFILE "[LOG] $sString\n";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   358
  }
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   359
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   360
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   361
sub printLog
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   362
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   363
  #print $execLog;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   364
  $execLog="";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   365
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   366
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   367
sub subLogErrorMsg
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   368
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   369
  my $isError = shift;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   370
  my $msg = shift;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   371
  my $type = "WARNING";
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   372
  if ($isError eq "true") {$type = "ERROR";} 
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   373
  $sErrorMsg = $sErrorMsg."\n[$type] ".$msg;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   374
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   375
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   376
sub getLastErrorMsg
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   377
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   378
  return $sErrorMsg;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   379
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   380
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   381
sub setDbgFile
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   382
{
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   383
  $dbgfile = shift;
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   384
}
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   385
61571c10c5d0 Added Build environment check feature
ThomasE
parents:
diff changeset
   386
1;