<?xml version="1.0" encoding="ISO-8859-1"?>

<build xmlns="http://symbian.com/xml/build"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://symbian.com/xml/build build/2_0.xsd">

	<!--

	To change the defaults for Raptor, edit and copy this file
	to $SBS_HOME

	This will be used unless there is a file called $HOME/.sbs_init.xml
	(note the "." before the "s") which will be used instead.

	Read on to the next <var> to see other things you can do with this file.
	
	 -->

	<var name="defaults.init">
		<!-- environment variables used in this configuration -->
		<env name="EPOCROOT" default="/" type="path"/>

		<!-- default parameter settings -->

		<!-- Make command parameter file -->
		<set name="makeEngine" value="make"/>

		<!-- Location of the highest level makefile -->
		<set name="topMakefile" value="$(EPOCROOT)/epoc32/build/Makefile"/>

		<!-- Name of the build logging file -->
		<set name="logFileName" value="$(EPOCROOT)/epoc32/build/Makefile.%TIME.log"/>

		<!-- Default build configuration name -->
		<set name="defaultConfig" value="default"/>

		<!-- Names of standard build files -->
		<set name="buildInformation" value="bld.inf"/>
		<set name="systemDefinition" value="System_Definition.xml"/>

		<!-- Standard directories -->
		<set name="systemConfig" value="lib/config"/>
		<set name="systemFLM" value="lib/flm"/>
		<set name="systemPlugins" value="python/plugins"/>
		<set name="systemDefinitionBase" value="."/>

		<!-- Do not print any information messages? -->
		<set name="quiet" value="false"/>

		<!-- How many jobs to run in parallel? (for make -j) -->
		<set name="jobs" value="4"/>

		<!-- How many attempts to run a job before recording an error?
		This is useful for builds that can have transient failures. -->
		<set name="tries" value="1"/>

		<!-- Carry on trying to build even if some commands fail? -->
		<set name="keepGoing" value="false"/>

		<!-- Do we use a bld.inf or System_Definition.xml if both are in the CWD -->
		<set name="preferBuildInfoToSystemDefinition" value="false"/>

		<!-- Always use ignore OS detection? -->
		<set name="ignoreOsDetection" value="false"/>

		<!-- Always use a specific list of filters -->
		<set name="filterList" value="FilterTerminal,FilterLogfile"/>

	</var>

	<!-- 
	
	Other variants can be defined and used on the command line. The "bob"
	variant below adds a macro called "BOB" to a configuration. Use it by
	typing the command:
	
	sbs -c armv5.bob -c winscw.bob
	
	-->
	
	<var name="bob">
		<append name="CDEFS" value="BOB"/>
	</var>
	
	<!--
	
	Aliases are used to give shorter names to strings of variants. Internally
	things like armv5_urel are defined as aliases, so the following are the
	same build:
	
	sbs -c armv5_urel
	sbs -c arm.v5.urel.rvct2_2
	
	This means that you can re-define an alias to use a different compiler, for
	example. The following aliases change the compiler used for armv5 and armv7
	builds to be RVCT 4.0
	
	-->
	
	<alias name="armv5_urel" meaning="arm.v5.urel.rvct4_0"/>
	<alias name="armv5_udeb" meaning="arm.v5.udeb.rvct4_0"/>

	<alias name="armv7_urel" meaning="arm.v7.urel.rvct4_0"/>
	<alias name="armv7_udeb" meaning="arm.v7.udeb.rvct4_0"/>
	
	<!--
	
	Groups allow a single -c option to expand into a set of build configurations
	that are all done at the same time. Internally armv5 is a group of
	armv5_urel and armv5_udeb. You can define your own groups and groups of
	groups. The example below is a group which builds production and test code
	for armv5 at the same time. Use it by typing the command:
	
	sbs -c armv5_all
	
	instead of:
	
	sbs -c armv5_urel -c armv5_udeb -c armv5_urel.test -c armv5_udeb.test
	
	-->
	
	<group name="armv5_all">
		<groupRef ref="armv5"/>
		<groupRef ref="armv5" mod="test"/>
	</group>
	
</build>
