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!
<?xml version="1.0"?>
<!DOCTYPE BuildEnv [
<!ELEMENT BuildEnv (context*)>
<!ATTLIST BuildEnv name CDATA #REQUIRED
revision CDATA #REQUIRED>
<!ELEMENT context (context*, tool+)>
<!ATTLIST context id (system|p4|cbr) "system">
<!ELEMENT tool (location?, verify*)>
<!ATTLIST tool name CDATA #REQUIRED>
<!ELEMENT location EMPTY>
<!ATTLIST location strict (true|false) "true" value CDATA #REQUIRED>
<!ELEMENT verify (check+)>
<!ATTLIST verify version CDATA #REQUIRED showstopper (true|false) "false">
<!ELEMENT check EMPTY>
<!ATTLIST check exclusive (false|true) "false"
values CDATA #REQUIRED
locator CDATA #IMPLIED
var CDATA #IMPLIED
execute CDATA #IMPLIED
name CDATA #IMPLIED
silent (false|true) "false"
log (false|true) "false">
]>
<BuildEnv name="BuildEnv" revision="1">
<!-- OS-dependant contexts -->
<context id="Common">
<tool name="Perl">
<location strict="false" value="C:\apps\perl\bin\perl.exe"/>
<verify version="5.6.1" showstopper="true" >
<check name="version" execute="%location% -v" values="v5\.6\.1" locator="This is perl, (.*) built"/>
<check name="build" execute="%location% -v" values="build 633|build 635|build 638" locator="Binary (.*) provided by ActiveState" log="true"/>
<check name="module SAX version" execute="ppm query sax" values="0\.15" locator="XML-SAX \[(.*)\] Simple API" />
</verify>
</tool>
<tool name="Mercurial">
<location strict="false" value="C:\Apps\mercurial\hg.exe"/>
<verify version="1.2" showstopper="false">
<check name="version" execute="%location% version" values="1\.[23]\.[0-9]" locator="Mercurial Distributed SCM \(version ([0-9\.]*)\)"/>
</verify>
</tool>
<tool name="Python">
<location strict="false" value="c:\apps\python25\python.exe"/>
<verify version="2.5" showstopper="false">
<check name="version" execute="%location% -V" values="2\.5\.[0-9]" locator="Python (.*)"/>
</verify>
</tool>
<tool name="Java Compiler">
<location strict="false" value="C:\apps\jdk1.6.0_14\bin\javac"/>
<verify version="1.6" showstopper="false">
<check var="JAVA_6_HOME" values="jdk1\.6"/>
<check name="version" execute="%JAVA_6_HOME%\bin\javac -version" values="1\.6\.[0-9]_[0-9]+" locator="javac (.*)"/>
</verify>
<verify version="default" showstopper="false">
<check var="JAVA_HOME" values="jdk1\.6"/>
</verify>
</tool>
<tool name="7-Zip">
<verify version="4.65" showstopper="false">
<check name="version" execute="7z.exe -h" values="4\.65" locator="7-Zip (.*) Copyright"/>
</verify>
</tool>
<tool name="PDT Home">
<location strict="false" value="C:\Symbian\Tools\PDT_1.0\helium\hlm.bat"/>
<verify version="1.0 [beta]" showstopper="false">
<check var="PDT_HOME" values="\\Tools\\PDT_\d"/>
</verify>
</tool>
<tool name="EPOC">
<verify version="Environment Vars" showstopper="true">
<check var="EPOCROOT" values="^\\$"/>
<check var="PATH" values=";\\epoc32\\tools;" silent="true"/>
</verify>
</tool>
<tool name="Helium">
<location strict="false" value="C:\Symbian\Tools\PDT_1.0\helium\hlm.bat"/>
<verify version="5.0" showstopper="true">
<check var="HELIUM_HOME" values="[CD]:\\Symbian\\Tools\\PDT_1.\d\\helium"/>
<check name="version" execute="%HELIUM_HOME%\hlm.bat -f %HELIUM_HOME%\build.xml version" values="5\.\d" locator="Helium version: ([\d\.]+)"/>
</verify>
</tool>
<tool name="Raptor">
<location strict="false" value="C:\apps\raptor2.7.2\bin\sbs.bat"/>
<verify version="2.9.*" showstopper="true">
<check name="version" execute="%SBS_HOME%\bin\sbs.bat -version" values="2\.9\.\d" locator="sbs version (.*) \["/>
</verify>
</tool>
</context>
<context id="ARMv5">
<tool name="RVCT ARM Compiler">
<location strict="false" value="C:\apps\arm\RVCT2.2[616]\RVCT\Programs\2.2\349\win_32-pentium\armcc.exe"/>
<verify version="2.2" showstopper="true">
<check name="version" execute="%location% --help" values="RVCT2\.2\ \[Build 616\]" log="false" locator="ARM\/Thumb C\/C\+\+ Compiler, (.*)Usage"/>
<!-- <check execute="%RVCT22BIN%\armcc.exe" values="616" log="false"/> -->
<check var="RVCT22BIN" values="RVCT\\Programs\\2\.2\\349\\win_32-pentium" silent="true"/>
<check var="RVCT22INC" values="RVCT\\Data\\2\.2\\349\\include\\windows" silent="true"/>
<check var="RVCT22LIB" values="RVCT\\Data\\2\.2\\349\\lib" silent="true"/>
<check var="ARMLMD_LICENSE_FILE" values="8224@LON-ENGBUILD8[79]|8224@C10072[56]"/>
</verify>
<verify version="2.2 [options]" showstopper="false">
<check var="RVCT22_ASMOPT" values="--licretry" silent="true"/>
<check var="RVCT22_CCOPT" values="--licretry" silent="true"/>
<check var="RVCT22_LINKOPT" values="--licretry" silent="true"/>
</verify>
</tool>
</context>
<context id="Test">
<tool name="cURL">
<location strict="false" value="C:\apps\curl_7.18.2\curl.exe"/>
<verify version="7.18.2" showstopper="false">
<check name="version" execute="%location% -V" values="7\.18\.2" locator="curl (.*) \(i386-pc-win32\)"/>
</verify>
</tool>
<tool name="Junction">
<location strict="true" value="C:\Bin\junction.exe"/>
<verify version="1.0.5" showstopper="true">
<check name="version - local" execute="%location%" values="v1\.05" locator="Junction (.*) - Windows junction creator"/>
<check execute="junction - system" values="v1\.05" locator="Junction (.*) - Windows junction creator"/>
</verify>
</tool>
<tool name="ATS3 Worker">
<location strict="true" value="C:\apps\ats3\bin\STAFEnv.bat"/>
<verify version="7.18.2" showstopper="false">
<check execute="%location%" values=".*"/>
<check var="ATS3_HOME" values="\w:\\\w+"/>
</verify>
</tool>
</context>
<context id="Tools">
<tool name="Microsoft Visual C++ compiler">
<location strict="false" value="C:\apps\MSVC6\VC98\bin\vcvars32.bat"/>
<verify version="6.00" showstopper="false">
<check var="PATH" values="MSVC6\\Common\\MSDev98\\bin" silent="true"/>
<check var="PATH" values="MSVC6\\Common\\Tools\\WinNT" silent="true"/>
<check var="PATH" values="MSVC6\\Common\\Tools" silent="true"/>
<check var="PATH" values="MSVC6\\VC98\\bin" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\atl\\include" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\mfc\\include" silent="true"/>
<check var="INCLUDE" values="MSVC6\\VC98\\include" silent="true"/>
<check var="LIB" values="MSVC6\\VC98\\mfc\\lib" silent="true"/>
<check var="LIB" values="MSVC6\\VC98\\lib" silent="true"/>
<check var="MSDEVDIR" values="msvc6\\Common\\MSDev98" silent="true"/>
</verify>
</tool>
</context>
</BuildEnv>