common/tools/BuildEnv.xml
author Simon Howkins <simonh@symbian.org>
Tue, 30 Mar 2010 13:57:59 +0100
changeset 952 ea541face66b
parent 936 e6a0e92cf215
child 953 0960b0d3247c
permissions -rw-r--r--
Re-apply changes to allow sources.csv to specify a revision by a *local* tag in the web repository. Uses "hg id" instead of "hg in", so not affected by the aborts we had previously. And no need for an empty repo this time either.

<?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 or later" showstopper="false">
				<check name="version" execute="%location% version" values="1\.[2-5](\.[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="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>