<?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 ../../schema/build/2_0.xsd">
<!-- build variants for ARM toolchain builds -->
<var name="arm" extends="root">
<varRef ref="default.interfaces"/>
<varRef ref="default.locations"/>
<!-- tools and scripts -->
<env name="BMCONV" default="$(EPOCROOT)/epoc32/tools/bmconv$(DOTEXE)" type="tool"/>
<env name="SBS_CHECKLIB" default="$(EPOCTOOLS)/checklib$(DOTEXE)" type="tool"/>
<set name="CHECKLIB" value="$(SBS_CHECKLIB)"/>
<env name="CPPFILT" default="$(GCCPREFIX)c++filt$(DOTEXE)" type="tool"/>
<env name="SBS_EFREEZE" default="$(PERL) $(EPOCTOOLS)/efreeze.pl" type="script"/>
<set name="EFREEZE" value="$(SBS_EFREEZE)"/>
<env name="SBS_DEF2DLL" default="$(PERL) $(EPOCTOOLS)/def2dll.pl" type="script"/>
<set name="DEF2DLLTOOL" value="$(SBS_DEF2DLL)"/>
<env name="SBS_ELF2E32" default="$(EPOCTOOLS)/elf2e32$(DOTEXE)" type="tool"/>
<set name="ELF2E32" value="$(SBS_ELF2E32)"/>
<env name="SBS_PREPDEF" default="$(PERL) $(EPOCTOOLS)/prepdef.pl" type="script"/>
<set name="PREPDEF" value="$(SBS_PREPDEF)"/>
<env name="SBS_RCOMP" default="$(EPOCTOOLS)/rcomp$(DOTEXE)" type="tool"/>
<set name="RCOMP" value="$(SBS_RCOMP)"/>
<!-- RANSLEEP is a program that can be used to cause a random delay in milliseconds. This is only useful in parallel builds. See the PERTURBSTARTTIME switch for more details. -->
<env name="RANSLEEP" default="$(SBS_HOME)/bin/$(HOSTPLATFORM_DIR)/ransleep$(DOTEXE)" type="tool"/>
<env name="SBSV1MAKE" default="$(EPOCROOT)/epoc32/tools/make$(DOTEXE)" type="tool"/>
<env name="STRINGTABLE" default="$(PERL) $(EPOCROOT)/epoc32/tools/stringtable.pl" type="script"/>
<env name="SBS_TRANASM" default="$(PERL) $(EPOCTOOLS)/tranasm.pl" type="script"/>
<set name="TRANASM" value="$(SBS_TRANASM)"/>
<set name="BASE_ARCH" value="arm"/>
<set name="POSTLINKER" value="$(ELF2E32)"/>
<set name="IMPLIBTOOL" value="$(ELF2E32)"/>
<set name="DEFGENTOOL" value="$(ELF2E32)"/>
<!-- targettypes -->
<set name="TARGET_TYPES" value="ani dll exe exexp fsy implib kdll kexe kext klib ldd lib pdd pdl pdll plugin plugin3 stddll stdexe stdlib textnotifier2 var var2 none"/>
<!-- interfaces -->
<append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
<set name="INTERFACE.extension" value="Symbian.extension"/>
<set name="INTERFACE.kexe" value="Symbian.kexe"/>
<!-- macros -->
<set name="ARMMACROS.CONFIG" value=""/>
<set name="ARMMACROS.VAR" value=""/>
<set name="ARMMACROS" value="__MARM_ARMV5__ $(ARMMACROS.CONFIG) $(ARMMACROS.VAR)"/>
<set name="PLATMACROS.WINDOWS" value="$(PLATMACROS.TOOLCHAIN) EPOC32 MARM EABI GENERIC_MARM MARM_ARMV5 $(PLATMACROS.CONFIG) $(PLATMACROS.VAR)"/>
<set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
<set name="PLATMACROS.CONFIG" value=""/>
<set name="PLATMACROS.VAR" value=""/>
<set name="PLATMACROS.TOOLCHAIN" value=""/>
<set name="BLDINF_OUTPUTPATH" value="$(SBS_BUILD_DIR)"/>
<set name="CAPABILITY" value=""/>
<set name="CDEFS" value="__SUPPORT_CPP_EXCEPTIONS__ _UNICODE __SYMBIAN32__ __EPOC32__ __MARM__ __EABI__ __PRODUCT_INCLUDE__="$(PRODUCT_INCLUDE)" $(MMPDEFS) $(ARMMACROS)"/>
<set name="CODE_SEGMENT_START" value=""/>
<set name="DEFAULT_STDCPP_NEWLIB" value="stdnew.dso"/>
<set name="DEFAULT_SYMBIAN_NEWLIB" value="scppnwdl.dso"/>
<set name="EPOCSTACKSIZE" value=""/>
<set name="FIX_EXPORTS_USING_EXP_FILE" value=""/>
<set name="FULLVARIANTPATH" value="$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
<set name="HEADER_FILES_CONTROL_OPTION" value=""/>
<set name="IMPLIB_EXTENSION" value="dso"/>
<set name="LIBRARY_DEBUG" value=""/>
<set name="LINKER_ENTRYPOINT_PREFIX" value="_"/>
<set name="MMPDEFS" value=""/>
<set name="NMAKE" value="nmake"/>
<set name="NMAKEFLAGS" value="-nologo -x - "/>
<set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
<set name="OUTPUTPATH" value="$(SBS_BUILD_DIR)"/>
<set name="PERTURBSTARTTIME" value=""/>
<!-- add a random delay before starting armcc or armlink to ease contention for licenses the maximum time to delay in milliseconds. RANSLEEP program must be available. -->
<set name="PERTURBMSECS" value="500"/>
<!-- the maximum time to delay in milliseconds -->
<set name="POSTLINKER_COMPRESSION_DEFAULT" value="inflate"/>
<set name="POSTLINKER_FPU_MAPPING" value="softvfp>softvfp vfpv2>vfpv2 softvfp+vfpv2>vfpv2"/>
<set name="RELEASEPATH" value="$(EPOCROOT)/epoc32/release"/>
<set name="RESOLVED_DEFFILE" value=""/>
<set name="RESOLVED_DEFFILE_SECONDARY" value=""/>
<set name="RUNTIME_LIBS_PATH" value="$(EPOCROOT)/epoc32/release/armv5/lib"/>
<set name="SID" value=""/>
<set name="STATIC_LIBRARY_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
<set name="SYMBIAN_CC_MESSAGE_OPTION" value="$(CC_WARNINGS_CONTROL_OPTION) $(CC_ERRORS_CONTROL_OPTION)"/>
<set name="SYMBIAN_LINK_FLAGS" value="$(SYMBIAN_LD_MESSAGE_OPTION) $(BPABI_OPTION) $(RELOCATABLE_IMAGE_OPTION) $(UNRESOLVED_SYMBOL_REF_OPTION) $(STDLIB_OPTION) $(EXTRA_LD_OPTION) $(SYMBIAN_LINK_FLAGS.CONFIG) $(SYMBIAN_LINK_FLAGS.VAR)"/>
<set name="SYMBIAN_LINK_FLAGS.CONFIG" value=""/>
<set name="SYMBIAN_LINK_FLAGS.VAR" value=""/>
<set name="SYSTEMINCLUDE" value=""/>
<set name="TARGET" value=""/>
<set name="TREAT_EXES_AS_SHARED" value="1"/>
<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
</var>
<var name="v5">
<set name="TRADITIONAL_PLATFORM" value="ARMV5"/>
<set name="VARIANTPLATFORM" value="armv5"/>
<set name="DEBUG_FORMAT" value="$(CC.DWARF2)"/>
<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV5)"/>
<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV5)"/>
<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
</var>
<var name="v6">
<set name="TRADITIONAL_PLATFORM" value="ARMV6"/>
<set name="VARIANTPLATFORM" value="armv6"/>
<set name="PLATMACROS.CONFIG" value="ARMV6"/>
<set name="ARMMACROS.CONFIG" value="__ARMV6__"/>
<set name="DEBUG_FORMAT" value="$(CC.DWARF2)"/>
<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV6)"/>
<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV6)"/>
<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV2)"/>
<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
</var>
<var name="v7">
<set name="TRADITIONAL_PLATFORM" value="ARMV7"/>
<set name="VARIANTPLATFORM" value="armv7"/>
<set name="PLATMACROS.CONFIG" value="ARMV7"/>
<set name="ARMMACROS.CONFIG" value="__ARMV7__"/>
<set name="DEBUG_FORMAT" value="$(CC.DWARF3)"/>
<set name="TARGET_ARCH_OPTION" value="$(CC.ARMV7)"/>
<set name="LINKER_ARCH_OPTION" value="$(LD.ARMV7)"/>
<set name="COMPILER_FPU_DEFAULT" value="$(CC.SOFTVFP_MAYBE_VFPV3)"/>
<set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV3)"/>
<set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
</var>
<var name="9e" extends="v5">
<set name="VARIANTPLATFORM" value="arm9e"/>
<set name="PLATMACROS.CONFIG" value="ARM9E"/>
<set name="ARMMACROS.CONFIG" value="__ARM9E__"/>
<set name="TARGET_ARCH_OPTION" value="--cpu ARM9E"/>
<set name="STATIC_RUNTIME_DIR" value="$(EPOCROOT)/epoc32/release/armv5/$(VARIANTTYPE)"/>
</var>
<alias name="armv5_urel" meaning="arm.v5.urel.rvct2_2"/>
<alias name="armv5_udeb" meaning="arm.v5.udeb.rvct2_2"/>
<!-- To switch to GCCE for building armv5 code,
comment out the two lines above this comment
and comment in the two lines below this comment -->
<!-- <alias name="armv5_urel" meaning="arm.v5.urel.gcce4_3_2"/> -->
<!-- <alias name="armv5_udeb" meaning="arm.v5.udeb.gcce4_3_2"/> -->
<!-- These aliases are provided to work with the "gcce_armv5" group -->
<alias name="armv5_urel_gcce4_3_2" meaning="arm.v5.urel.gcce4_3_2"/>
<alias name="armv5_udeb_gcce4_3_2" meaning="arm.v5.udeb.gcce4_3_2"/>
<!-- GCCE 4.3.3 aliases -->
<alias name="armv5_urel_gcce4_3_3" meaning="arm.v5.urel.gcce4_3_3"/>
<alias name="armv5_udeb_gcce4_3_3" meaning="arm.v5.udeb.gcce4_3_3"/>
<alias name="armv5_urel_gcce4_4_1" meaning="arm.v5.urel.gcce4_4_1"/>
<alias name="armv5_udeb_gcce4_4_1" meaning="arm.v5.udeb.gcce4_4_1"/>
<alias name="armv6_urel" meaning="arm.v6.urel.rvct2_2"/>
<alias name="armv6_udeb" meaning="arm.v6.udeb.rvct2_2"/>
<alias name="armv7_urel" meaning="arm.v7.urel.rvct4_0"/>
<alias name="armv7_udeb" meaning="arm.v7.udeb.rvct4_0"/>
<alias name="arm9e_urel" meaning="arm.9e.urel.rvct2_2"/>
<alias name="arm9e_udeb" meaning="arm.9e.udeb.rvct2_2"/>
<group name="armv5">
<aliasRef ref="armv5_urel"/>
<aliasRef ref="armv5_udeb"/>
</group>
<group name="armv6">
<aliasRef ref="armv6_urel"/>
<aliasRef ref="armv6_udeb"/>
</group>
<group name="armv7">
<aliasRef ref="armv7_urel"/>
<aliasRef ref="armv7_udeb"/>
</group>
<group name="arm9e">
<aliasRef ref="arm9e_urel"/>
<aliasRef ref="arm9e_udeb"/>
</group>
<group name="gcce_armv5">
<aliasRef ref="armv5_urel_gcce4_3_2"/>
<aliasRef ref="armv5_udeb_gcce4_3_2"/>
</group>
</build>