sbsv2/raptor/lib/config/gcc.xml
author raptorbot <raptorbot@systemstesthead.symbian.intra>
Fri, 18 Dec 2009 19:57:42 +0000
branchwip
changeset 117 ecf683438dc6
parent 3 e1eecf4d390d
child 400 554cc189839f
permissions -rw-r--r--
Don't mess around with EPOCROOT until actually entering raptor so we know what the original was Put the original epocroot back on the front of the whatcomp output. This allows what output to be either relative or absolute depending on what your epocroot is.

<?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 configurations for GCC compilers -->
	<var name="tools2_base" extends="root">

		<varRef ref="default.interfaces"/>
		<varRef ref="default.locations"/>
		<!-- picked up from the Environment -->
		<env name='RANLIB' default='$(GCCPREFIX)ranlib$(DOTEXE)' type='tool'/>
		<env name='GCC' default='$(GCCPREFIX)g++$(DOTEXE)' type='tool'/>
		<env name='AR' default='$(GCCPREFIX)ar$(DOTEXE)' type='tool'/>

		<!-- interfaces -->
		<set name="INTERFACE.exe" value="Tools.exe"/>
		<set name="INTERFACE.lib" value="Tools.lib"/>

		<!-- Java used by Trace Compiler -->
		<env name='JAVA_HOME' default='' type='path'/>
		<env name='JAVATC' default='$(JAVA_HOME)/bin/java' type='tool'/>

		<!-- link to bld.inf and mmp platform names -->
		<set name='TRADITIONAL_PLATFORM' value='TOOLS2'/>
		<set name='VARIANTPLATFORM' value='tools2'/>

		<!-- used by FLM code -->
		<set name='COMPILER' value='$(GCC) -c' type='tool' versionCommand='$(GCC) -v' versionResult='gcc version (3.[456])|(4.[0-9])'/>

		<set name='CFLAGS' value='-fdefer-pop -fmerge-constants -fthread-jumps -floop-optimize -fif-conversion -fif-conversion2 -fguess-branch-probability -fcprop-registers -foptimize-sibling-calls -fstrength-reduce -fcse-follow-jumps -fcse-skip-blocks -frerun-cse-after-loop -frerun-loop-opt -fgcse -fgcse-lm -fgcse-sm -fgcse-las -fdelete-null-pointer-checks -fexpensive-optimizations -fregmove -fschedule-insns -fschedule-insns2 -fsched-interblock -fsched-spec -fcaller-saves -fpeephole2 -freorder-blocks -freorder-functions -fstrict-aliasing -funit-at-a-time -falign-functions -falign-jumps -falign-loops -falign-labels -fcrossjumping -pipe -Wall -Wno-ctor-dtor-privacy -Wno-unknown-pragmas -m32'/>

		<!-- msys based programs sometimes don't search the path properly.
		COMPILER_PATH can be set to tell gcc where to find
		as.exe (sometimes it doesn't and a build step fails).
		-->
		<set name='COMPILER_PATH.WIN32' value='$(SBS_HOME)/win32/mingw/bin'/>
		<set name='COMPILER_PATH.LINUX' value=''/>

		<set name='CFLAGS.WIN32' value=''/>

		<!-- macro definitions set by mmps etc -->
		<set name='CDEFS' value='$(MMPDEFS)'/>


		<set name='CDEFS.DEFAULT' value='__SYMBIAN32__ __TOOLS__ __TOOLS2__ __EXE__ __SUPPORT_CPP_EXCEPTIONS__ __PRODUCT_INCLUDE__="$(PRODUCT_INCLUDE)"'/>
		<set name='CDEFS.WIN32' value='$(CDEFS.DEFAULT) _WIN32 WIN32 _WINDOWS __TOOLS2_WINDOWS__'/>
		<set name='CDEFS.LINUX' value='$(CDEFS.DEFAULT) __LINUX__ __TOOLS2_LINUX__'/>

		<set name='INC.COMPILER' value='$(EPOCINCLUDE)/gcc_mingw/gcc_mingw_3_4_2.h'/>

		<set name='OPT.D' value='-D'/>
		<set name='OPT.L' value='-L'/>
		<set name='OPT.l' value='-l'/>
		<set name='OPT.O' value='-o '/>
		<set name='OPT.PREINCLUDE' value='-include '/>
		<set name='OPT.SYSTEMINCLUDE' value='-isystem '/>
		<set name='OPT.USERINCLUDE' value='-I '/>

		<!-- always use stlport headers -->
		<set name='SYSTEMINCLUDE' value='$(EPOCINCLUDE)/tools/stlport'/>

		<set name='LINKER' value='$(GCC)'/>
		<set name='LFLAGS' value=''/>
		<set name='STATICLIBRARY' value='stlport.5.1'/>
		<set name='LIBS' value=''/>
		<set name='LIBS.WIN32' value='$(LIBS)'/>
		<set name='LIBS.LINUX' value='$(LIBS) pthread'/>

		<set name='PLATMACROS.WINDOWS' value='GCC32 TOOLS2 TOOLS2_WINDOWS'/>
		<set name='PLATMACROS.LINUX' value='GCC32 TOOLS2 TOOLS2_LINUX'/>

		<set name='ARCHIVER' value='$(AR)'/>
		<set name='AFLAGS' value='cr'/>

		<set name='MMPDEFS' value=''/>
		<set name='TARGET' value=''/>
		<set name='TARGETTYPE' value=''/>
		<set name='BLDINF_OUTPUTPATH' value='$(SBS_BUILD_DIR)'/>

		<set name='OUTPUTPATH' value='$(SBS_BUILD_DIR)'/>
		<set name='RELEASEPATH' value='$(EPOCROOT)/epoc32/release/tools2$$(TOOLPLATFORMDIR)'/>
	</var>

	<var name="tools2_deb" extends="tools2_base">
		<set name='TOOLSPATH' value=''/> <!-- do not install -->
		<set name='VARIANTTYPE' value='deb'/>

		<append name='CFLAGS' value='-g'/>
		<append name='CDEFS' value='_DEBUG'/>
		<append name='RELEASEPATH' value='/deb' separator=''/>
	</var>

	<var name="tools2_rel" extends="tools2_base">
		<set name='TOOLSPATH' value='$(EPOCTOOLS)'/> <!-- install -->
		<set name='VARIANTTYPE' value='rel'/>

		<append name='CFLAGS' value='-s'/>
		<append name='CDEFS' value='NDEBUG'/>
		<append name='RELEASEPATH' value='/rel' separator=''/>
	</var>

	<group name="tools2">
		<varRef ref='tools2_rel'/>
		<varRef ref='tools2_deb'/>
	</group>

</build>