--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cross-plat-dev-utils/buildlog.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,1081 @@
+>>> EPOCROOT not defined. Assuming "/home/imk/symbian/gcc_surge"
+>>> EPOCROOT="/home/imk/symbian/gcc_surge"
+>>> SBS_HOME not defined. Assuming "/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor"
+>>> Build dir is "/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group"
+>>> Executing: /home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/bin/sbs -c tools2 -b bld.inf
+ compile : ../source/deffile.cpp [tools2_deb]
+ compile : ../source/deflatecompress.cpp [tools2_deb]
+ compile : ../source/dll_rebuild_target.cpp [tools2_deb]
+ compile : ../source/dll_fb_target.cpp [tools2_deb]
+ compile : ../source/e32exporttable.cpp [tools2_deb]
+ compile : ../source/filedump.cpp [tools2_deb]
+ compile : ../source/elf2e32.cpp [tools2_deb]
+ compile : ../source/errorhandler.cpp [tools2_deb]
+ compile : ../source/elffilesupplied.cpp [tools2_deb]
+ compile : ../source/exetarget.cpp [tools2_deb]
+ compile : ../source/exexp_fb_target.cpp [tools2_deb]
+ compile : ../source/e32imagefile.cpp [tools2_deb]
+ compile : ../source/exexp_rebuild_target.cpp [tools2_deb]
+ compile : ../source/export_type_fb_target.cpp [tools2_deb]
+ compile : ../source/export_type_rebuild_target.cpp [tools2_deb]
+ compile : ../source/h_utl.cpp [tools2_deb]
+ compile : ../source/export_type_target.cpp [tools2_deb]
+ compile : ../source/huffman.cpp [tools2_deb]
+ compile : ../source/inflate.cpp [tools2_deb]
+ compile : ../source/messagehandler.cpp [tools2_deb]
+ compile : ../source/imgdump.cpp [tools2_deb]
+ compile : ../source/librarytarget.cpp [tools2_deb]
+ compile : ../source/main.cpp [tools2_deb]
+ compile : ../source/pl_common.cpp [tools2_deb]
+ compile : ../source/pl_dllsymbol.cpp [tools2_deb]
+ compile : ../source/messageimplementation.cpp [tools2_deb]
+ compile : ../source/parameterlistinterface.cpp [tools2_deb]
+ compile : ../source/pl_dso_handler.cpp [tools2_deb]
+ compile : ../source/pl_elfconsumer.cpp [tools2_deb]
+ compile : ../source/parametermanager.cpp [tools2_deb]
+ compile : ../source/pl_elfexports.cpp [tools2_deb]
+ compile : ../source/pl_elfimportrelocation.cpp [tools2_deb]
+ compile : ../source/pl_elfexecutable.cpp [tools2_deb]
+ compile : ../source/pl_elfimports.cpp [tools2_deb]
+ compile : ../source/pl_elfrelocation.cpp [tools2_deb]
+ compile : ../source/pl_elfrelocations.cpp [tools2_deb]
+ compile : ../source/pl_elflocalrelocation.cpp [tools2_deb]
+ compile : ../source/pl_symbol.cpp [tools2_deb]
+ compile : ../source/pl_elfproducer.cpp [tools2_deb]
+ compile : ../source/byte_pair.cpp [tools2_deb]
+ compile : ../source/polydll_fb_target.cpp [tools2_deb]
+ compile : ../source/usecasebase.cpp [tools2_deb]
+ compile : ../source/polydll_rebuild_target.cpp [tools2_deb]
+ compile : ../source/checksum.cpp [tools2_deb]
+ compile : ../source/pagedcompress.cpp [tools2_deb]
+ compile : ../source/deffile.cpp [tools2_rel]
+ compile : ../source/deflatecompress.cpp [tools2_rel]
+ compile : ../source/stdexe_target.cpp [tools2_deb]
+ compile : ../source/dll_fb_target.cpp [tools2_rel]
+ compile : ../source/e32exporttable.cpp [tools2_rel]
+ compile : ../source/dll_rebuild_target.cpp [tools2_rel]
+ compile : ../source/filedump.cpp [tools2_rel]
+ compile : ../source/elf2e32.cpp [tools2_rel]
+ compile : ../source/errorhandler.cpp [tools2_rel]
+ compile : ../source/elffilesupplied.cpp [tools2_rel]
+ compile : ../source/exetarget.cpp [tools2_rel]
+ compile : ../source/exexp_fb_target.cpp [tools2_rel]
+ compile : ../source/e32imagefile.cpp [tools2_rel]
+ compile : ../source/exexp_rebuild_target.cpp [tools2_rel]
+ compile : ../source/export_type_fb_target.cpp [tools2_rel]
+ compile : ../source/export_type_rebuild_target.cpp [tools2_rel]
+ compile : ../source/export_type_target.cpp [tools2_rel]
+ compile : ../source/h_utl.cpp [tools2_rel]
+ compile : ../source/huffman.cpp [tools2_rel]
+ compile : ../source/inflate.cpp [tools2_rel]
+ compile : ../source/messagehandler.cpp [tools2_rel]
+ compile : ../source/imgdump.cpp [tools2_rel]
+ compile : ../source/librarytarget.cpp [tools2_rel]
+ compile : ../source/main.cpp [tools2_rel]
+ compile : ../source/pl_common.cpp [tools2_rel]
+ compile : ../source/pl_dllsymbol.cpp [tools2_rel]
+ compile : ../source/messageimplementation.cpp [tools2_rel]
+ compile : ../source/parameterlistinterface.cpp [tools2_rel]
+ compile : ../source/pl_dso_handler.cpp [tools2_rel]
+ compile : ../source/pl_elfconsumer.cpp [tools2_rel]
+ compile : ../source/parametermanager.cpp [tools2_rel]
+ compile : ../source/pl_elfexports.cpp [tools2_rel]
+ compile : ../source/pl_elfimportrelocation.cpp [tools2_rel]
+ compile : ../source/pl_elfexecutable.cpp [tools2_rel]
+ compile : ../source/pl_elfrelocation.cpp [tools2_rel]
+ compile : ../source/pl_elfimports.cpp [tools2_rel]
+ compile : ../source/pl_symbol.cpp [tools2_rel]
+ compile : ../source/pl_elfrelocations.cpp [tools2_rel]
+ compile : ../source/pl_elflocalrelocation.cpp [tools2_rel]
+ compile : ../source/pl_elfproducer.cpp [tools2_rel]
+ compile : ../source/byte_pair.cpp [tools2_rel]
+ compile : ../source/polydll_fb_target.cpp [tools2_rel]
+ compile : ../source/polydll_rebuild_target.cpp [tools2_rel]
+ compile : ../source/usecasebase.cpp [tools2_rel]
+ compile : ../source/checksum.cpp [tools2_rel]
+ compile : ../source/pagedcompress.cpp [tools2_rel]
+ compile : ../source/stdexe_target.cpp [tools2_rel]
+ target : epoc32/tools/elf2e32 [tools2_rel]
+
+no warnings or errors
+
+built 'tools2_deb'
+built 'tools2_rel'
+
+Run time 24 seconds
+
+sbs: build log in /home/imk/symbian/gcc_surge/epoc32/build/Makefile.2010-08-04-13-19-11.log
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<buildlog sbs_version="2.14.1 [2010-06-03 symbian build system CHANGESET]" xmlns="http://symbian.com/xml/build/log" xmlns:progress="http://symbian.com/xml/build/log/progress" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://symbian.com/xml/build/log http://symbian.com/xml/build/log/1_0.xsd">
+<info>sbs: version 2.14.1 [2010-06-03 symbian build system CHANGESET]
+</info>
+<info>SBS_HOME /home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor</info>
+<info>Set-up /home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/sbs_init.xml</info>
+<info>Command-line-arguments -c tools2 -b bld.inf</info>
+<info>Current working directory /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group</info>
+<info>Environment COLORTERM=gnome-terminal</info>
+<info>Environment DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-x5rafcT6wy,guid=89156bf297721f1911d126c64c58fdf0</info>
+<info>Environment DEFAULTS_PATH=/usr/share/gconf/gnome.default.path</info>
+<info>Environment DESKTOP_SESSION=gnome</info>
+<info>Environment DISPLAY=:0.0</info>
+<info>Environment EPOCROOT=/home/imk/symbian/gcc_surge</info>
+<info>Environment GDMSESSION=gnome</info>
+<info>Environment GDM_KEYBOARD_LAYOUT=gb</info>
+<info>Environment GDM_LANG=en_GB.utf8</info>
+<info>Environment GNOME_DESKTOP_SESSION_ID=this-is-deprecated</info>
+<info>Environment GNOME_KEYRING_CONTROL=/tmp/keyring-t14crf</info>
+<info>Environment GNOME_KEYRING_PID=1499</info>
+<info>Environment GTK_MODULES=canberra-gtk-module</info>
+<info>Environment HOME=/home/imk</info>
+<info>Environment HOSTPLATFORM=linux unknown libc2_11</info>
+<info>Environment HOSTPLATFORM_DIR=linux-unknown-libc2_11</info>
+<info>Environment INSIDE_NAUTILUS_PYTHON=</info>
+<info>Environment LANG=en_GB.utf8</info>
+<info>Environment LD_LIBRARY_PATH=/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/python262/lib:/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bv/lib:</info>
+<info>Environment LESSCLOSE=/usr/bin/lesspipe %s %s</info>
+<info>Environment LESSOPEN=| /usr/bin/lesspipe %s</info>
+<info>Environment LIBGL_DRIVERS_PATH=/usr/lib/fglrx/dri</info>
+<info>Environment LOGNAME=imk</info>
+<info>Environment LS_COLORS=rs=0:di=01;34:ln=01;36:hl=44;37:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:</info>
+<info>Environment MANDATORY_PATH=/usr/share/gconf/gnome.mandatory.path</info>
+<info>Environment ORBIT_SOCKETDIR=/tmp/orbit-imk</info>
+<info>Environment PATH=/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/python262/bin:/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games</info>
+<info>Environment PWD=/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group</info>
+<info>Environment PYGTK_USE_GIL_STATE_API=</info>
+<info>Environment PYTHONPATH=/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/python262/lib</info>
+<info>Environment SBS_HOME=/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor</info>
+<info>Environment SESSION_MANAGER=local/imk-ubuntu:@/tmp/.ICE-unix/1517,unix/imk-ubuntu:/tmp/.ICE-unix/1517</info>
+<info>Environment SHELL=/bin/bash</info>
+<info>Environment SHLVL=2</info>
+<info>Environment SPEECHD_PORT=7560</info>
+<info>Environment SSH_AGENT_PID=1557</info>
+<info>Environment SSH_AUTH_SOCK=/tmp/keyring-t14crf/ssh</info>
+<info>Environment TERM=xterm</info>
+<info>Environment USER=imk</info>
+<info>Environment USERNAME=imk</info>
+<info>Environment WINDOWID=79726275</info>
+<info>Environment XAUTHORITY=/var/run/gdm/auth-for-imk-7LeC67/database</info>
+<info>Environment XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg</info>
+<info>Environment XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/</info>
+<info>Environment XDG_SESSION_COOKIE=7c0345339c8c8824da1edfbc4b3c9b7d-1280900592.154684-769388616</info>
+<info>Environment _=/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/python262/bin/python</info>
+<info>Duplicate alias 'make' (the one from '/home/imk/symbian/gcc_surge/epoc32/sbs_config/s60_sbs_config.xml' will override the one in '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/lib/config/make.xml')</info>
+<info>Duplicate alias 'emake' (the one from '/home/imk/symbian/gcc_surge/epoc32/sbs_config/s60_sbs_config.xml' will override the one in '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/lib/config/make.xml')</info>
+<info>Buildable configuration 'tools2_deb'</info>
+<info>Buildable configuration 'tools2_rel'</info>
+<info>Loaded toolcheck cache: /home/imk/symbian/gcc_surge/epoc32/build/toolcheck_cache_.tmp
+</info>
+<info>OS version "vtb101sf" determined from file "/home/imk/symbian/gcc_surge/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "tools2_deb".</info>
+<info>'tools2_deb' uses variant hrh file '/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh'</info>
+<info>OS version "vtb101sf" determined from file "/home/imk/symbian/gcc_surge/epoc32/data/buildinfo.txt"</info>
+<info>applying the OS variant to the configuration "tools2_rel".</info>
+<info>'tools2_rel' uses variant hrh file '/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh'</info>
+<info>Processing /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf</info>
+<info>Processing /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp for platform tools2_deb + tools2_rel</info>
+<progress:discovery object_type='layers' count='1' />
+<progress:start object_type='layer' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all' time='1280924351.67' />
+<progress:end object_type='layer' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all' time='1280924351.69' />
+<progress:start object_type='layer' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all' time='1280924351.69' />
+<info>Running /home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/talonctl start</info>
+<progress:discovery object_type='makefile' count='5' />
+<info>Making /home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export</info>
+<info>Executing '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/make HAVE_ORDERONLY=1 -r -f "/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export" -j 4 TALON_DESCRAMBLE=1 2>'/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export.stderr' '</info>
+<progress:start object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export' time='1280924351.69' />
+<progress:start object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export' time='1280924351.713798876' />
+<progress:end object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export' time='1280924351.718646629' />
+make: Nothing to be done for `EXPORT'.
+<progress:end object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.export' time='1280924351.72' />
+<info>Making /home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap</info>
+<info>Executing '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/make HAVE_ORDERONLY=1 -r -f "/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap" -j 4 TALON_DESCRAMBLE=1 2>'/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap.stderr' '</info>
+<progress:start object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap' time='1280924351.72' />
+<progress:start object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap' time='1280924351.741160524' />
+<progress:end object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap' time='1280924351.746032234' />
+make: Nothing to be done for `BITMAP'.
+<progress:end object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.bitmap' time='1280924351.75' />
+<info>Making /home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps</info>
+<info>Executing '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/make HAVE_ORDERONLY=1 -r -f "/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps" -j 4 TALON_DESCRAMBLE=1 2>'/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps.stderr' '</info>
+<progress:start object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps' time='1280924351.75' />
+<progress:start object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps' time='1280924351.768312300' />
+<progress:end object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps' time='1280924351.773117031' />
+make: Nothing to be done for `RESOURCE_DEPS'.
+<progress:end object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource_deps' time='1280924351.77' />
+<info>Making /home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource</info>
+<info>Executing '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/make HAVE_ORDERONLY=1 -r -f "/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource" -j 4 TALON_DESCRAMBLE=1 2>'/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource.stderr' '</info>
+<progress:start object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource' time='1280924351.77' />
+<progress:start object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource' time='1280924351.796621765' />
+<progress:end object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource' time='1280924351.801444445' />
+make: Nothing to be done for `RESOURCE'.
+<progress:end object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.resource' time='1280924351.8' />
+<info>Making /home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default</info>
+<info>Executing '/home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/make HAVE_ORDERONLY=1 -r -f "/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default" -j 4 TALON_DESCRAMBLE=1 2>'/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default.stderr' '</info>
+<progress:start object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default' time='1280924351.8' />
+<progress:start object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default' time='1280924351.823439280' />
+<clean bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb'>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o</file>
+</clean>
+<whatlog bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb'>
+</whatlog>
+<clean bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel'>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o.d</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o</file>
+<file>/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o</file>
+</clean>
+<whatlog bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel'>
+<build>/home/imk/symbian/gcc_surge/epoc32/tools/elf2e32</build>
+</whatlog>
+<progress:end object_type='makefile' task='parse' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default' time='1280924351.878348150' />
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deffile.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deffile.cpp
+
+]]><time start='1280924351.88527' elapsed='1.204' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deflatecompress.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deflatecompress.cpp
+
+]]><time start='1280924351.88508' elapsed='1.411' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_rebuild_target.cpp
+
+]]><time start='1280924351.88820' elapsed='1.783' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_fb_target.cpp
+
+]]><time start='1280924351.88616' elapsed='1.819' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32exporttable.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32exporttable.cpp
+
+]]><time start='1280924353.09870' elapsed='0.649' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/filedump.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/filedump.cpp
+
+]]><time start='1280924353.30402' elapsed='1.069' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elf2e32.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elf2e32.cpp
+
+]]><time start='1280924353.71078' elapsed='1.466' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/errorhandler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/errorhandler.cpp
+
+]]><time start='1280924354.37992' elapsed='1.106' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elffilesupplied.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elffilesupplied.cpp
+
+]]><time start='1280924353.74927' elapsed='2.393' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exetarget.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exetarget.cpp
+
+]]><time start='1280924355.18608' elapsed='1.195' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_fb_target.cpp
+
+]]><time start='1280924355.49220' elapsed='1.165' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32imagefile.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32imagefile.cpp
+
+]]><time start='1280924353.69066' elapsed='3.281' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_rebuild_target.cpp
+
+]]><time start='1280924356.14666' elapsed='1.112' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_fb_target.cpp
+
+]]><time start='1280924356.38766' elapsed='1.207' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_rebuild_target.cpp
+
+]]><time start='1280924356.66866' elapsed='1.142' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/h_utl.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/h_utl.cpp
+
+]]><time start='1280924357.26812' elapsed='0.614' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_target.cpp
+
+]]><time start='1280924356.97816' elapsed='1.126' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/huffman.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/huffman.cpp
+
+]]><time start='1280924357.60111' elapsed='0.823' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/inflate.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/inflate.cpp
+
+]]><time start='1280924357.88664' elapsed='0.633' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messagehandler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messagehandler.cpp
+
+]]><time start='1280924358.53057' elapsed='0.365' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/imgdump.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/imgdump.cpp
+
+]]><time start='1280924357.81906' elapsed='1.145' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/librarytarget.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/librarytarget.cpp
+
+]]><time start='1280924358.10914' elapsed='1.052' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/main.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/main.cpp
+
+]]><time start='1280924358.43038' elapsed='0.817' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_common.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_common.cpp
+
+]]><time start='1280924359.25285' elapsed='0.064' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dllsymbol.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dllsymbol.cpp
+
+]]><time start='1280924359.32627' elapsed='0.336' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messageimplementation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messageimplementation.cpp
+
+]]><time start='1280924358.90532' elapsed='0.812' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parameterlistinterface.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parameterlistinterface.cpp
+
+]]><time start='1280924358.96914' elapsed='0.757' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dso_handler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dso_handler.cpp
+
+]]><time start='1280924359.67056' elapsed='0.678' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfconsumer.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfconsumer.cpp
+
+]]><time start='1280924359.72667' elapsed='1.395' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parametermanager.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parametermanager.cpp
+
+]]><time start='1280924359.16966' elapsed='2.158' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexports.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexports.cpp
+
+]]><time start='1280924360.35280' elapsed='1.145' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimportrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimportrelocation.cpp
+
+]]><time start='1280924361.13244' elapsed='0.508' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexecutable.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexecutable.cpp
+
+]]><time start='1280924359.73296' elapsed='1.970' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimports.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimports.cpp
+
+]]><time start='1280924361.33859' elapsed='0.712' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocation.cpp
+
+]]><time start='1280924361.70763' elapsed='0.347' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocations.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocations.cpp
+
+]]><time start='1280924362.05626' elapsed='0.293' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elflocalrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elflocalrelocation.cpp
+
+]]><time start='1280924361.50408' elapsed='0.908' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_symbol.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_symbol.cpp
+
+]]><time start='1280924362.06211' elapsed='0.427' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfproducer.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfproducer.cpp
+
+]]><time start='1280924361.65058' elapsed='0.971' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/byte_pair.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/byte_pair.cpp
+
+]]><time start='1280924362.63277' elapsed='0.786' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_fb_target.cpp
+
+]]><time start='1280924362.36426' elapsed='1.245' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/usecasebase.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/usecasebase.cpp
+
+]]><time start='1280924362.49648' elapsed='1.267' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_rebuild_target.cpp
+
+]]><time start='1280924362.42138' elapsed='1.354' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/checksum.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/checksum.cpp
+
+]]><time start='1280924363.61853' elapsed='0.420' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pagedcompress.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pagedcompress.cpp
+
+]]><time start='1280924363.42515' elapsed='0.845' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deffile.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deffile.cpp
+
+]]><time start='1280924363.78145' elapsed='1.011' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deflatecompress.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/deflatecompress.cpp
+
+]]><time start='1280924364.04958' elapsed='0.952' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/stdexe_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -g -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -D_DEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/stdexe_target.cpp
+
+]]><time start='1280924363.77017' elapsed='1.286' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_fb_target.cpp
+
+]]><time start='1280924364.27981' elapsed='1.025' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32exporttable.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32exporttable.cpp
+
+]]><time start='1280924365.00943' elapsed='0.624' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/dll_rebuild_target.cpp
+
+]]><time start='1280924364.80218' elapsed='1.011' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/filedump.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/filedump.cpp
+
+]]><time start='1280924365.06620' elapsed='1.020' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elf2e32.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elf2e32.cpp
+
+]]><time start='1280924365.64451' elapsed='1.200' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/errorhandler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/errorhandler.cpp
+
+]]><time start='1280924366.09419' elapsed='0.977' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elffilesupplied.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/elffilesupplied.cpp
+
+]]><time start='1280924365.81920' elapsed='2.052' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exetarget.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exetarget.cpp
+
+]]><time start='1280924366.85595' elapsed='1.049' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_fb_target.cpp
+
+]]><time start='1280924367.08174' elapsed='1.024' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32imagefile.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/e32imagefile.cpp
+
+]]><time start='1280924365.31460' elapsed='2.801' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/exexp_rebuild_target.cpp
+
+]]><time start='1280924367.88054' elapsed='0.993' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_fb_target.cpp
+
+]]><time start='1280924367.91003' elapsed='1.030' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_rebuild_target.cpp
+
+]]><time start='1280924368.11209' elapsed='1.005' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/export_type_target.cpp
+
+]]><time start='1280924368.12252' elapsed='1.016' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/h_utl.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/h_utl.cpp
+
+]]><time start='1280924368.88221' elapsed='0.542' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/huffman.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/huffman.cpp
+
+]]><time start='1280924368.94789' elapsed='0.711' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/inflate.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/inflate.cpp
+
+]]><time start='1280924369.14683' elapsed='0.603' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messagehandler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messagehandler.cpp
+
+]]><time start='1280924369.75779' elapsed='0.338' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/imgdump.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/imgdump.cpp
+
+]]><time start='1280924369.12215' elapsed='1.028' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/librarytarget.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/librarytarget.cpp
+
+]]><time start='1280924369.43408' elapsed='0.913' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/main.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/main.cpp
+
+]]><time start='1280924369.67069' elapsed='0.717' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_common.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_common.cpp
+
+]]><time start='1280924370.39418' elapsed='0.061' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dllsymbol.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dllsymbol.cpp
+
+]]><time start='1280924370.46217' elapsed='0.307' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messageimplementation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/messageimplementation.cpp
+
+]]><time start='1280924370.10215' elapsed='0.687' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parameterlistinterface.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parameterlistinterface.cpp
+
+]]><time start='1280924370.16211' elapsed='0.661' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dso_handler.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_dso_handler.cpp
+
+]]><time start='1280924370.77603' elapsed='0.605' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfconsumer.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfconsumer.cpp
+
+]]><time start='1280924370.79583' elapsed='1.247' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parametermanager.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/parametermanager.cpp
+
+]]><time start='1280924370.35451' elapsed='1.923' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexports.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexports.cpp
+
+]]><time start='1280924371.38945' elapsed='1.039' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimportrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimportrelocation.cpp
+
+]]><time start='1280924372.04734' elapsed='0.466' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexecutable.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfexecutable.cpp
+
+]]><time start='1280924370.83408' elapsed='1.684' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocation.cpp
+
+]]><time start='1280924372.52601' elapsed='0.311' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimports.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfimports.cpp
+
+]]><time start='1280924372.28352' elapsed='0.640' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_symbol.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_symbol.cpp
+
+]]><time start='1280924372.92452' elapsed='0.214' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocations.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfrelocations.cpp
+
+]]><time start='1280924372.85008' elapsed='0.346' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elflocalrelocation.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elflocalrelocation.cpp
+
+]]><time start='1280924372.43938' elapsed='0.832' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfproducer.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pl_elfproducer.cpp
+
+]]><time start='1280924372.51907' elapsed='0.903' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/byte_pair.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/byte_pair.cpp
+
+]]><time start='1280924373.43755' elapsed='0.745' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_fb_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_fb_target.cpp
+
+]]><time start='1280924373.14385' elapsed='1.112' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_rebuild_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/polydll_rebuild_target.cpp
+
+]]><time start='1280924373.20409' elapsed='1.226' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/usecasebase.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/usecasebase.cpp
+
+]]><time start='1280924373.28509' elapsed='1.169' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/checksum.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/checksum.cpp
+
+]]><time start='1280924374.26266' elapsed='0.377' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pagedcompress.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/pagedcompress.cpp
+
+]]><time start='1280924374.19078' elapsed='0.731' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='tools2linkexe' target='/home/imk/symbian/gcc_surge/epoc32/release/tools2/linux-unknown-libc2_11/deb/elf2e32' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_deb' platform='tools2' phase='ALL' source=''>
+<![CDATA[
++ /usr/bin/g++ -std=c++0x -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 -g -w -o /home/imk/symbian/gcc_surge/epoc32/release/tools2/linux-unknown-libc2_11/deb/elf2e32 /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deffile.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/deflatecompress.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/dll_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32exporttable.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/filedump.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/e32imagefile.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elf2e32.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/elffilesupplied.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/errorhandler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exetarget.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/exexp_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/export_type_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/h_utl.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/huffman.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/imgdump.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/inflate.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/librarytarget.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/main.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messagehandler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/messageimplementation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parameterlistinterface.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/parametermanager.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_common.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dllsymbol.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_dso_handler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfconsumer.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexecutable.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfexports.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimportrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfimports.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elflocalrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfproducer.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_elfrelocations.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pl_symbol.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/polydll_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/usecasebase.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/byte_pair.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/pagedcompress.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/checksum.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/deb/linux-unknown-libc2_11/stdexe_target.o
+
+]]><time start='1280924374.46230' elapsed='0.496' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='compile2object' target='/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/stdexe_target.cpp'>
+<![CDATA[
++ /usr/bin/g++ -c -std=c++0x -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 -s -w -D__SYMBIAN32__ -D__TOOLS__ -D__TOOLS2__ -D__EXE__ -D__SUPPORT_CPP_EXCEPTIONS__ '-D__PRODUCT_INCLUDE__="/home/imk/symbian/gcc_surge/epoc32/include/bldvariant.hrh"' -D__LINUX__ -D__TOOLS2_LINUX__ -DNDEBUG -MD -MT/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o -MF/home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o.d -include /home/imk/symbian/gcc_surge/epoc32/include/gcc/gcc.h -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source -I /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/include -I /home/imk/symbian/gcc_surge/linux_build/bintools/elftools/inc -isystem /home/imk/symbian/gcc_surge/epoc32/include -isystem /home/imk/symbian/gcc_surge/epoc32/include/tools -isystem /home/imk/symbian/gcc_surge/epoc32/include/platform -isystem /home/imk/symbian/gcc_surge/epoc32/include -o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o /home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/source/stdexe_target.cpp
+
+]]><time start='1280924374.43303' elapsed='0.602' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='tools2linkexe' target='/home/imk/symbian/gcc_surge/epoc32/release/tools2/linux-unknown-libc2_11/rel/elf2e32' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source=''>
+<![CDATA[
++ /usr/bin/g++ -std=c++0x -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 -s -w -o /home/imk/symbian/gcc_surge/epoc32/release/tools2/linux-unknown-libc2_11/rel/elf2e32 /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deffile.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/deflatecompress.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/dll_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32exporttable.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/filedump.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/e32imagefile.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elf2e32.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/elffilesupplied.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/errorhandler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exetarget.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/exexp_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/export_type_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/h_utl.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/huffman.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/imgdump.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/inflate.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/librarytarget.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/main.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messagehandler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/messageimplementation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parameterlistinterface.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/parametermanager.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_common.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dllsymbol.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_dso_handler.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfconsumer.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexecutable.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfexports.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimportrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfimports.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elflocalrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfproducer.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocation.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_elfrelocations.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pl_symbol.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_fb_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/polydll_rebuild_target.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/usecasebase.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/byte_pair.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/pagedcompress.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/checksum.o /home/imk/symbian/gcc_surge/epoc32/build/elf2e32/c_1867bf41f9f2ed49/elf2e32_exe/elf2e32_exe/tools2/rel/linux-unknown-libc2_11/stdexe_target.o
+
+]]><time start='1280924375.03724' elapsed='0.122' />
+<status exit='ok' attempt='1' />
+</recipe>
+<recipe name='tools2install' target='/home/imk/symbian/gcc_surge/epoc32/tools/elf2e32' host='imk-ubuntu' layer='' component='' bldinf='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/bld.inf' mmp='/home/imk/symbian/gcc_surge/linux_build/e32tools/elf2e32/group/elf2e32.mmp' config='tools2_rel' platform='tools2' phase='ALL' source=''>
+<![CDATA[
++ /bin/cp /home/imk/symbian/gcc_surge/epoc32/release/tools2/linux-unknown-libc2_11/rel/elf2e32 /home/imk/symbian/gcc_surge/epoc32/tools/elf2e32
++ /bin/chmod a+rwx /home/imk/symbian/gcc_surge/epoc32/tools/elf2e32
+
+]]><time start='1280924375.16048' elapsed='0.006' />
+<status exit='ok' attempt='1' />
+</recipe>
+<progress:end object_type='makefile' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all.default' time='1280924375.17' />
+<info>Running /home/imk/symbian/gcc_surge/linux_build/sbsv2/raptor/linux-unknown-libc2_11/bin/talonctl stop</info>
+<info>The make-engine exited successfully.</info>
+<progress:end object_type='layer' task='build' key='/home/imk/symbian/gcc_surge/epoc32/build/Makefile_all' time='1280924375.17' />
+<info>Run time 24 seconds</info>
+<info>Created/Updated toolcheck cache: /home/imk/symbian/gcc_surge/epoc32/build/toolcheck_cache_.tmp
+</info>
+</buildlog>
--- a/sbsv2/raptor/RELEASE-NOTES.html Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/RELEASE-NOTES.html Wed Oct 06 15:13:17 2010 +0100
@@ -6,15 +6,86 @@
<h1>Release Notes for Symbian Build System v2</h1>
-<h2>version 2.14.1</h2>
-
+<h2>version 2.15.2</h2>
+
+<h3>Engineering Changes</h3>
+<ul>
+<li><a href="notes/variant_cfg.txt">Allow .hrh files to be defined in XML instead of variant.cfg</a></li>
+<li><a href="notes/tools_env_vars.txt">Environment variables for tools</a></li>
+</ul>
+
+<h3>Defect Fixes</h3>
+<ul>
+<li><a href="notes/filter_html.txt">Report no-rule-to-make errors correctly in the HTML log filter</a></li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2412">SF Bug 2412</a> - createvmap fails when the list of source files becomes too long</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2437">SF Bug 2437</a> - End-user installation script does not fully describe or report missing build dependencies (libbz2-dev, etc. needed)</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3647">SF Bug 3647</a> - Raptor retains read-only attribute when exporting files</li>
+</ul>
+
+<h2>version 2.15.1</h2>
+
<h3>Defect Fixes</h3>
<ul>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3523">SF Bug 3523</a> - gnumakefile.flm workaround for romstuff.mke changes uses wrong output file</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3374">SF Bug 3374</a> - Issues with Raptor support for X86 prototype (2.15)</li>
+<li>Fix resource header generation - was being done for every language thus causing clashes in parallel builds</li>
+</ul>
+
+<h2>version 2.15.0</h2>
+
+<h3>New Features</h3>
+<ul>
+<li><a href="notes/slimdebug.txt">.slimdebug variant to optionally reduce debug binary sizes in RVCT builds</a></li>
+<li><a href="notes/x86_initial.txt">Initial support for a MinGW GCC-based x86 build</a></li>
+<li><a href="notes/filter_html.txt">Log summary in HTML format</a></li>
+<li><a href="notes/query_cli_extended_details.txt">Extended details for --query option</a></li>
+<li><a href="notes/traces_mmpkeyword.txt">New mmp keyword: traces</a></li>
+<li>Uprated internally-supplied Python to version 2.7 on linux</li>
+<li>Add <a href="notes/nodebug.txt">nodebug variant</a> to permit workaround for rvct 2.2 linker crashes on very large udeb targets</li>
+</ul>
+
+<h3>Defect Fixes</h3>
+<ul>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2617">SF Bug 2617</a> - SBS2 [Raptor] does not support the DOCUMENT keyword in mmp files</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=1405">SF Bug 1405</a> - GCCE: Raptor passing unknown option -mapcs to the assembler</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2979">SF Bug 2979</a> - [GCCE] elf2e32 --dump generates RVCT assembly.</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3221">SF Bug 3221</a> - [Raptor] ROMFILE creation results in incorrect entries in iby file</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2735">SF Bug 2735</a> - [Raptor] Relative unit paths in pkgdefs are not handled correctly - ammendment to fix in 2.14.2</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3360">SF Bug 3360</a> - HTML filter breaks if FilterTerminal specified first</li>
+</ul>
+
+<h2>version 2.14.2</h2>
+
+<h3>Defect Fixes</h3>
+<ul>
+<li>Fix: minor change: tracecompiler trace folder rename</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2886">SF Bug 2886</a> - [Raptor] STDEXE targets cannot be built with GCC-E</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2713">SF Bug 2713</a> - [Raptor] Terminal filter needs to allow more make errors through</li>
+<li>Fix: smoketests fail for emake and rvct 4</li>
+<li>Fix permissions for exported files with group ownership on Linux</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2697">SF Bug 2697</a> - [Raptor] Macro __SYMBIAN_STDCPP_SUPPORT__ not automatically defined for STD targets</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2712">SF Bug 2712</a> - [Raptor] STDEXE and STDDLL targets: euser.lib not automatically included for UDEB builds</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2735">SF Bug 2735</a> - [Raptor] Relative unit paths in pkgdefs are not handled correctly</li>
+<li>Fix: resources with headeronly can fail because of an invalid dependency</li>
+<li>Fix: ARMFPU softvfp+vfpv2 for postlinker and RVCT only</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2276">SF Bug 2276</a> - [Raptor] ZIP exports from deep directory hierarchies fail</li>
+<li><a href="notes/emulatorstacksize.txt"> Reduction of emulator stack size to 512KB </a>; see also the enhancement <a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2605"> SF Bug 2606 </a> - [Raptor] Can we use a smaller stack size for the emulator </li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=3091">SF Bug 3091</a> - [Raptor] When reporting missing bld.inf's from a Sys def a / can be missing</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2825">SF Bug 2825</a> - [Raptor] Meta elements should be ignored when processing a sysdef</li>
+<li><a href="notes/tcom_allbefore.txt">Trace all source files in a component before compiling any file</a>. Helps prevent build breaks in some situations where an asset change is really needed.</li>
+</ul>
+
+<h2>version 2.14.1</h2>
+
+<h3>Defect Fixes</h3>
+<ul>
+
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2203"> SF Bug 2203 </a> - [Raptor] Building extension makefile with SBS_BUILD_DIR set to another drive</li>
<li>Fix : tracecompiler.mk caused poor makefile parse performance due to use of $(shell)</li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2561">SF Bug 2561</a> - [Raptor] creates incorrect .iby files w.r.t target file versions & ramtargets</li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2562">SF Bug 2562</a> - [Raptor] adds incorrect entries into .iby files w.r.t file paths</li>
<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=2809">SF Bug 2809</a> - [Raptor] Intermediate Resource Filenames not unique (2.14.0 only), rom fails to boot</li>
+<li><a href="http://developer.symbian.org/bugs/show_bug.cgi?id=1859">SF Bug 1859</a> - [Raptor] Traceback when TARGET missing from MMP file</li>
</ul>
<h2>version 2.14.0</h2>
@@ -84,10 +155,10 @@
Defect Fixes:
- Fix: Workaround for emake engine log corruption when clockskew errors occur (annofile2log).
- Allow Raptor to obtain log from emake annotation file where it is uncorrupted. A new
+ Allow Raptor to obtain log from emake annotation file where it is uncorrupted. A new
Make engine option "copylogfromannofile" enables/disables this mode for emake. If this option is disabled
or if no annotation file is specified for the build then Raptor reads logs directly as normal.
-- SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
+- SF Bug 2125 - [Raptor] - tracecompiler what output incorrect if mmp basename contains '.' e.g. fred.prd.mmp
- SF Bug 2191 - [Raptor] - When forcesuccess is enabled, exit status for a failed recipe is "retry" but should be "failed"
- Fix: extend tracecompiler tests to Linux
- Fix: Amendment to SF Bug 1511 fix - removal of blanked DEFFILE keyword from e32abiv2ani.flm
@@ -125,7 +196,7 @@
Defect Fixes:
- SF Bug 1569 - excessive recompilation in incremental tracecompiler builds
- Better error messages for make-engine selection.
- e.g. "sbs -e arm" will now produce a useful error message rather than
+ e.g. "sbs -e arm" will now produce a useful error message rather than
a traceback. "arm" is a real variant but it's not a make engine. In
the past sbs would have tried to use it and would have failed with a
complicated traceback. Also doesn't traceback for non-existent make engines.
@@ -149,11 +220,11 @@
- New 'Patchable Constants' target type: TARGETTYPE pdll
- Combine Linking and Postlinking into a single step - performance improvement.
- Support exit codes from next version of the trace compiler which will issue them
-- New sbs_filter script and batchfile to ease the use of sbs_filter.py.
+- New sbs_filter script and batchfile to ease the use of sbs_filter.py.
Allows filters to be executed over a log after a build has been done.
e.g.
- sbs_filter --filters=FilterWhat < logfile.log
+ sbs_filter --filters=FilterWhat < logfile.log
(This runs a "--what" without regenerating any makefiles or reparsing
the matadata.)
@@ -162,40 +233,40 @@
uses the incoming epocroot value. i.e. if epocroot is relative then so is
the what output. e.g. if EPOCROOT=\ then the output will be of the form:
- "\epoc32\release\armv5\...."
+ "\epoc32\release\armv5\...."
If it's "..\myepocroot" then the output will be:
- "..\myepocroot\epoc32\release\armv5".
+ "..\myepocroot\epoc32\release\armv5".
If it's absolute then the what output will also be absolute.
-- New FilterCheck filter. This can be used with sbs_filter to perform the
+- New FilterCheck filter. This can be used with sbs_filter to perform the
equivalent of --check using the log output from a build. It is more
efficient than --check because the metadata is not parsed and no makefiles
are generated. e.g.
- sbs_filter --filters=FilterCheck < logfile.log
+ sbs_filter --filters=FilterCheck < logfile.log
-- New (beta) graphical build visualisation tool (bin/timelines.py).
+- New (beta) graphical build visualisation tool (bin/timelines.py).
Requires pygame and PyOpenGL. e.g.
python timelines.py < filename.log
-- New (beta) log analyser (recipestats.py) for recording the total time spent
+- New (beta) log analyser (recipestats.py) for recording the total time spent
in each type of recipe in the build. e.g.
python recipestats.py < filename.log > stats.csv
- The output is in CSV format.
+ The output is in CSV format.
Defect Fixes:
- fix for ARM9E + ARMV5 pre-processing confusion
- SF bug 1606: template_ext.flm wrongly creates dependencies to OTHER_CFG targets
-- SF bug 1570: Adding then removing a capability can produce incorrect
+- SF bug 1570: Adding then removing a capability can produce incorrect
result: e.g. ALL TCB -TCB becomes ALL -TCB but it should be just ALL
Other Changes:
-- Default to using Python 2.6.4 on windows (no change in compatibility with
+- Default to using Python 2.6.4 on windows (no change in compatibility with
older versions of Python).
@@ -280,7 +351,7 @@
DPDEF141533 Inconsistent log output
DPDEF141604 file winscw.auto.bat is released two times
DPDEF141787 Raptor treats EFREEZE info message as warnings
-
+
Other Changes:
talon can read commands from a temporary file as well as with -c
@@ -305,7 +376,7 @@
Defect Fixes:
DPDEF141503 RMTPClient::StartTransport Panic when using emulated test tranport plugin
DPDEF141688 ARMV6 builds with SBSv2 have problems with missing DEF files
-
+
version 2.9.0
@@ -321,7 +392,7 @@
DPDEF141523 Raptor links kernel-side components to scppnwdl.dso
DPDEF141418 Raptor turns echo on
DPDEF141495 Raptor doesn't deal correctly with SOURECEPATH beginning with '/'
-DPDEF141388 raptor inserts epoc32\include at start of systeminclude path
+DPDEF141388 raptor inserts epoc32\include at start of systeminclude path
version 2.8.6
@@ -478,7 +549,7 @@
Defect Fixes:
DPDEF133508 Number of errors is counted wrong
-DPDEF138098 UID issue in Trace Compiler for Raptor
+DPDEF138098 UID issue in Trace Compiler for Raptor
DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
@@ -487,7 +558,7 @@
Defect Fixes:
DPDEF135330 Raptor Rollout: bangalore messaging winscw udeb test code
DPDEF137726 Missing mscvr_readme.txt from the SBSv2 drop
-DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files
+DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files
version 2.6.1
@@ -517,7 +588,7 @@
DPDEF136719 Raptor: sbsv2cache.py cache file generation fails with very large log files
DPDEF136715 On Linux the shipped python 2.5.2 is not found
DPDEF132996 SBSv2 doesn't generate AUTO.BAT file
-DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms
+DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms
DPDEF135843 [Raptor Rollout] Raptor does not support OPTION_REPLACE ARMASM/OPTION ARMASM
DPDEF136693 makesis fails when multiple instances are run concurrently with the same target
@@ -555,7 +626,7 @@
version 2.4.3
Defect Fixes:
-DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets
+DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets
DPDEF132923 SBSv2 freeze don't add Vtable and RTTI information into def file for arm dll
DPDEF133775 SBSv2: ARMFPU is not passed to compiler
DPDEF134023 case inconsistency with libOpenVG.lib
@@ -586,7 +657,7 @@
New Features:
DS.1475 Pluggable Log Summariser
-DS.1476 Use FLMs from the source tree
+DS.1476 Use FLMs from the source tree
Defect Fixes:
DPDEF133417 SBSv2: tmp mounting errors on startup
@@ -621,7 +692,7 @@
version 2.3.0
New Features:
-DS.1424 Support for ARMV5SMP platform
+DS.1424 Support for ARMV5SMP platform
Defect Fixes:
DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
@@ -723,7 +794,7 @@
version 2.2.0
New Features:
-DS.1347 SBSv2 Compiler Selection
+DS.1347 SBSv2 Compiler Selection
DS.1348 SBSv2 allow mixed slashes
Defect Fixes:
@@ -809,7 +880,7 @@
CR1413 Support for different toolchains to be called by SBSv1 and SBSv2
-version 2.1.1
+version 2.1.1
Defect Fixes:
DEF124748 GCCXML errors in Raptor related to missing arm lib files
--- a/sbsv2/raptor/RELEASE-NOTES.txt Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,662 +0,0 @@
-
-Release Notes for Symbian Build System v2
-
-version 2.10.0
-
-New Features:
-Support for GCCE compiler
-More efficient Feature Variation support
-
-
-version 2.9.3
-
-Defect Fixes:
-DPDEF142166 Raptor sometimes invokes checklib.exe with incorrect parameters
-DPDEF141354 EXPORTUNFROZEN fails in target builds if .savespace is applied
-DPDEF141533 Inconsistent log output
-DPDEF141604 file winscw.auto.bat is released two times
-DPDEF141787 Raptor treats EFREEZE info message as warnings
-
-Other Changes:
-talon can read commands from a temporary file as well as with -c
-
-
-version 2.9.2
-
-Defect Fixes:
-DPDEF141531 Incorrect RVCT variables passed to TEM
-DPDEF141837 Some problems with dependency (.d) files
-DEF140258 Aborting SBSv2 mid-build often leads to corrupt .d files which prevent rebuilds
-DPDEF142049 Garbage in the Raptor log file
-DPDEF141954 Raptor: "tools" config static libraries can have incorrect compilation macros
-DPDEF141974 Raptor: "tools" builds can fail when done in combination with "tools2" builds
-
-Other Changes:
-Static libraries cannot be feature variant
-Option --no-depend-include for very big builds
-
-
-version 2.9.1
-
-Defect Fixes:
-DPDEF141503 RMTPClient::StartTransport Panic when using emulated test tranport plugin
-DPDEF141688 ARMV6 builds with SBSv2 have problems with missing DEF files
-
-
-version 2.9.0
-
-New Features:
-Talon shell to reduce memory usage and improve stability.
-Support for RVCT 4.0 advanced features.
-Optionally use SBS_CYGWIN, SBS_MINGW and SBS_PYTHON to locate tools.
-Makefile to build host tools on Linux.
-Single-file compilation for IDE integration.
-Splitlog and CheckSource filters.
-
-Defect Fixes:
-DPDEF141523 Raptor links kernel-side components to scppnwdl.dso
-DPDEF141418 Raptor turns echo on
-DPDEF141495 Raptor doesn't deal correctly with SOURECEPATH beginning with '/'
-DPDEF141388 raptor inserts epoc32\include at start of systeminclude path
-
-
-version 2.8.6
-
-DPDEF135505 Some TEMs have race conditions for simultaneous urel and udeb. cp fails.
-DPDEF141498 If make crashes, Raptor exits with 0 errors
-DPDEF141071 Raptor: GCCXML build does not support the VAR2 TARGETTYPE
-DPDEF140816 STDCPP keyword in mmp file not interpreted by gccxml tool chain
-DPDEF137727 [Raptor Rollout] Raptor fails to build certain .mbg and .rsg files
-DPDEF137494 SBSv2: preprocessor warnings and errors might cause invalid XML in log
-DPDEF140731 Missing dependency files when building from clean
-DPDEF140540 [System Build]: Changes of Raptor cause 94_331 build failed
-DPDEF141129 raptor generates unknown origin file
-
-Other Changes:
-Fix to support trace compiler switch
-Better message for duplicate objects, states which file overrides which.
-Refactor to avoid "defects" of missing OS variants.
-
-
-version 2.8.5
-
-Defect Fixes:
-DPDEF141102 SBS doesn't set the paging attribute of excutables correctly
-DPDEF140731 Missing dependency files when building from clean
-DPDEF135620 Workaround for broken static libraries
-
-
-version 2.8.4
-
-Defect Fixes:
-DPDEF140839 RComp crashes if it's built with sbs
-DPDEF140929 OPTION GCCE in MMP files generates a build warning
-DPDEF135436 SBSv2 - Python traceback when illegal characters appear on command line
-
-
-version 2.8.3
-
-Defect Fixes:
-DPDEF139904 Raptor: .def file FREEZE attempted for ARMV5 when it shouldn't be
-DPDEF140589 Raptor: .def file FREEZE attempted for WINSCW when it shouldn't be
-DPDEF140456 Raptor build error with -c tools_rel
-DPDEF139759 Raptor warning regarding EXPORTSUNFROZEN is ambiguous
-DPDEF135436 SBSv2 - Python traceback when illegal characters appear on command line
-INC140156 SBSv2 crashes when build QtWebkit for ARMV5
-
-Other Changes:
-Add <info> to show which variant.hrh file is used.
-Replaced the corrupted awk.exe in cygwin distro.
-Fix previous trace compiler auto run mechanism.
-ROMFILE improvements.
-
-
-version 2.8.2
-
-Defect Fixes:
-DPDEF140540 [System Build]: Changes of Raptor cause 94_331 build failed
-
-Other Changes:
-Tolerate XML schema 1_0 files where possible.
-Treat system definition schema 1.[3-9] files the same as schema 1.4 files.
-Remove checksource and its python site-packages.
-
-
-version 2.8.1
-
-Defect Fixes:
-DPDEF140165 SBS error when creating info.xml on component base_omaph2
-DPDEF132996 Location of generated auto.bat files is inconsistent
-
-Other Changes:
-Feature variant "ln -f" fails intermittently in parallel builds.
-Traceback when "group" elements are redefined in XML.
-Trace compiler should run automatically if a trace path exists.
-Need a workaround for Carbide Missing SDK problem.
-
-
-version 2.8.0
-
-New Features:
-XML schema 2.0 with new alias and group elements.
-
-Removed:
-XML config element (use var instead).
-XML .first and .last mechanism (use alias or group instead).
-
-Defect Fixes:
-DPDEF140082 SBS cause env to dirty state
-DPDEF138565 SBSV2 doesn't define the correct macros for ARMV6
-DPDEF139950 SBSv2 Filter Handling not Robust enough - bad filters stop build.
-DEF139686 [TCL Build] coredumpserver compile warnings in DP00458
-
-
-version 2.7.2
-
-Defect Fixes:
-DPDEF139420 Raptor config does not correctly handle mifconv causing resource build errors
-DPDEF138679 Raptor does not create a DEFFILE when building for winscw_urel
-DPDEF139692 SBSV2: 'virtual memory exhausted' when building multiple variants
-DPDEF136321 SBSv2: Zip exports not cleaned
-INC139622 OPTION_REPLACE does not work properly in SBSv2
-
-Other Changes:
-Added utility.prebuilt FLM.
-
-
-version 2.7.1
-
-Defect Fixes:
-DPDEF138366 [T15379] Raptor raise some warnings when build Coredumpserver
-DPDEF139405 SBSV2: Trace compilation fails with large numbers of files.
-DPDEF139572 SBSV2: Changes to '--cpu' option syntax breaks existing MMP files.
-DPDEF139456 Toolcheck file is not created if EPOCROOT is \
-DPDEF133766 Poor SBSv2 reallyclean performance
-DPDEF135780 SBSV2: REALLYCLEAN is not cleaning all files
-
-
-version 2.7.0
-
-New Features:
-DS.1744 Recognize LINKEROPTION in MMP file
-DS.1744 Compiled objects on local filesystem (SBS_BUILD_DIR)
-
-Partial Deliveries:
-DS.1744 CheckSource in Raptor
-
-Defect Fixes:
-DPDEF138293 Carbide: Raptor doesn't resolve variant.cfg entries starting with "\" correctly
-
-
-version 2.6.5
-
-Defect Fixes:
-DPDEF138930 Raptor needs to change to match new trace compiler interface
-
-
-version 2.6.4
-
-Defect Fixes:
-DPDEF138527 [TCL Build] Miss tracecompiler.mk and exclude group for Raptor export
-DPDEF138484 Raptor uses wrong guard causing trace compiler ignores some projects.
-DPDEF138720 BV product folders have missing map files
-DPDEF138721 Raptor uses wrong lib when mmp keyword FIRSTLIB presents.
-DPDEF138053 SBSv2: tools platform: tools not installed by the time they need to be used.
-DPDEF138164 Carbide: Raptor crashes on unrecognised buildinfo.txt content
-DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
-DPDEF138329 Raptor generates marker file for trace compiler when it's not done
-DPDEF138352 SBSv2: rollout - unsplit EC makefiles not generating correct deps 4 missing .mbg
-DPDEF138480 SBSv2: rollout. Created files sometimes have insufficient permissions on Windows
-DPDEF137511 SBSv2 doesn't behave correctly with the default paging policy
-
-
-version 2.6.3
-
-Defect Fixes:
-DPDEF133508 Number of errors is counted wrong
-DPDEF138098 UID issue in Trace Compiler for Raptor
-DPDEF138296 SBSV2 disables all TOOLS2 compiler warnings
-
-
-version 2.6.2
-
-Defect Fixes:
-DPDEF135330 Raptor Rollout: bangalore messaging winscw udeb test code
-DPDEF137726 Missing mscvr_readme.txt from the SBSv2 drop
-DPDEF137739 SBSv2: rollout - .cia object files can conflict with .cpp object files
-
-
-version 2.6.1
-
-Defect Fixes:
-DPDEF137239 raptor does not include the msvcr71 runtime library
-DPDEF137489 BV builds try and write generated .s files in the wrong directory
-
-
-version 2.6.0
-
-New Features:
-DS.1542 SBSv2 generates Open System Trace dictionaries
-DS.1629 Resource autodependencies
-
-
-version 2.5.5
-
-Defect Fixes:
-DPINC137379 Emulator: Cursor is missing on emulator buttons
-DPDEF133640 SBSv2 usrt3_1.lib is missing from epocroot/epoc32/release/armv5/
-
-
-version 2.5.4
-
-Defect Fixes:
-DPDEF136719 Raptor: sbsv2cache.py cache file generation fails with very large log files
-DPDEF136715 On Linux the shipped python 2.5.2 is not found
-DPDEF132996 SBSv2 doesn't generate AUTO.BAT file
-DPDEF136382 SBSv2: explicit dll versioning not supported on arm platforms
-DPDEF135843 [Raptor Rollout] Raptor does not support OPTION_REPLACE ARMASM/OPTION ARMASM
-DPDEF136693 makesis fails when multiple instances are run concurrently with the same target
-
-
-version 2.5.3
-
-Defect Fixes:
-DPDEF136162 Raptor: resource dependencies require metadata workarounds
-DPDEF128288 SBSv2 does not fully support build target customization.
-DPDEF132880 BV builds cannot find system static libraries
-DPDEF133835 SBSv2 cannot build for ARMV6 or ARM9E
-
-
-version 2.5.2
-
-Defect Fixes:
-DPDEF135983 cpp-raptor crashes if source code contains builtin macro __FILE__
-DPDEF133808 Raptor does not support OPTION --no_rtti with mixed assembly/C++ projects
-DPDEF135577 SBSv2: rollout - TOOLS/TOOLS2 exes sometimes not executable or writable.
-
-
-version 2.5.1
-
-Defect Fixes:
-DPDEF135258 createvmap.py script can hang in BV builds
-DPDEF135385 warnings in RunModeDebugger in M04816vFuture with ARMV7
-
-
-version 2.5.0
-
-New Features:
-DS.1568 User defined configuration file location(s)
-
-
-version 2.4.3
-
-Defect Fixes:
-DPDEF134322 SBSV2 uses the wrong library when building STDCPP targets
-DPDEF132923 SBSv2 freeze don't add Vtable and RTTI information into def file for arm dll
-DPDEF133775 SBSv2: ARMFPU is not passed to compiler
-DPDEF134023 case inconsistency with libOpenVG.lib
-
-Other Changes:
-MINOR_CHANGE updated all copyright notices for SF delivery
-MINOR_CHANGE added vtb91sf variant for SF Timebox 9:1 builds
-MINOR_CHANGE added vtb92sf variant for SF Timebox 9:2 builds
-
-
-version 2.4.2
-
-Defect Fixes:
-DPDEF133820 Raptor Rollout: EXPORTUNFROZEN processing incorrect in ARMV5 builds
-DPDEF132033 Raptor picks up the wrong bld.inf macros when building for RVCT 3.1
-DPDEF133772 SBSv2: console log includes some winscw warnings that should be suppressed
-
-
-version 2.4.1
-
-Defect Fixes:
-DPDEF133639 Raptor Rollout:TEF test server doesn't start under SBSv2 - OK with abld
-DEF133255 [System Build]: Error in compiling NaviEngine Unistore on ARMV7 M04816 vFuture
-DPDEF127973 Freeze fails with SBSv2 under some environments
-
-
-version 2.4.0
-
-New Features:
-DS.1475 Pluggable Log Summariser
-DS.1476 Use FLMs from the source tree
-
-Defect Fixes:
-DPDEF133417 SBSv2: tmp mounting errors on startup
-
-
-version 2.3.3
-
-Defect Fixes:
-DPDEF130261 sbs does not support explicit option to version keyword
-DPDEF130598 sbs does not provide debug and nodebug variants
-DPDEF131630 Raptor smoke tests break when EPOCROOT=\ on Windows
-DPDEF132898 no TEM nbl2.lib dependencies for armv7
-DPDEF133035 SBSv2 - Tools2 build does not include -m32 option. Stlport flm also doesn't.
-DPDEF133176 SBSv2 ignores compillation error for "unidentified identifier" for winscw build
-
-
-version 2.3.2
-
-Other Changes:
-MINOR_CHANGE added vtb92 variant for Timebox 9:2 builds
-
-
-version 2.3.1
-
-Defect Fixes:
-DPDEF132374 SBSv2: Directory creation can fail leading to build errors
-DPDEF132070 SBSv2: stlport 5.2 build fails - library generated to wrong directory
-DPDEF128378 SBSv2 help for global targets only shown when a target is given
-DPDEF129634 ALWAYS_BUILD_AS_ARM does not suppress __MARM_THUMB__ with SBSv2
-
-
-version 2.3.0
-
-New Features:
-DS.1424 Support for ARMV5SMP platform
-
-Defect Fixes:
-DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
-DPDEF130892 SBSv2: Reallyclean fails on TEM files
-DPDEF131619 SBSv2: ABIv1 .lib files aren't generated for -c armv5 -c armv5.smp
-DPDEF131637 SBSv2: stlport can fail to build under Cygwin - "/tmp no such directory"
-DPDEF131891 [System Build]: Errors in GT stage in Build M04774 vfuture
-
-
-version 2.2.9
-
-Defect Fixes:
-DPDEF129804 SBSv2 crashes when there are double \\ in prj_mmpfiles in bld.inf
-DPDEF131637 SBSv2: stlport can fail to build under Cygwin - "/tmp no such directory"
-DPDEF130892 SBSv2: Reallyclean fails on TEM files
-
-
-version 2.2.8
-
-Defect Fixes:
-DPDEF130569 .lib files for SSM targets build with different name compared to abld
-DPDEF130571 libxml2 component contains GCCXML build errors
-DPDEF131312 SBSv2 - DEBUGGABLE_UDEBONLY not supported by SBSv2 (Raptor)
-
-
-version 2.2.7
-
-Defect Fixes:
-DPDEF130533 SBSv2 fails to run when installed from SITK
-DPDEF130452 Some rcomp warnings need to be disabled
-DPDEF130286 SBSv2: sbs freezes during CLEAN and REALLYCLEAN operations.
-DPDEF127973 Freeze fails with SBSv2 under some environments
-DPDEF128455 Error during freeze with SBSv2
-DPDEF127149 SBSv2 TEM/extension makefile build doesn't support the .savespace variant
-
-
-version 2.2.6
-
-Defect Fixes:
-DPDEF130008 SBSv2 should recognize these new keywords: SMPSAFE, PAGEDCODE, PAGEDDATA, UN...
-DPDEF127887 Current directory wrong when executing extension makefiles in SBSv2
-DPDEF128915 CCheckEnv ERROR: CBRPatch: Absent file
-DPDEF127675 Raptor does not process stringtables correctly when HEADERONLY is on
-DPDEF127878 give wrong mmp filename for -p option should cause error in SBSv2
-
-Other Changes:
-Uses cygwin instead of msys for improved stability.
-Includes python 2.5.2 instead of using py2exe.
-
-
-version 2.2.5
-
-Defect Fixes:
-DEF127329 OMAP H4 Unistore2 Failure in Raptor 9.5 GT build
-DPDEF128632 SBSv2 : bld.inf ':zip' exports don't maintain timestamps, with an e32 impact
-DPDEF127399 SBSv2 -p <filename>.mmp options also builds .mk files
-
-
-version 2.2.4
-
-Defect Fixes:
-DPDEF129187 SBSv2: ABIv1 .lib files are required (again)
-
-
-version 2.2.3
-
-Defect Fixes:
-DPDEF128916 C Standard Library failed on cia2cpp2o armv5 with 1
-DPDEF128503 sbs 2.2.0 produce malformed xml log on Linux with pvmgmake
-DPDEF127604 SIS registry panics at startup on emulator if SWI is built with SBS
-DPDEF128690 SBSv2 generates error when using emake on REALLYCLEAN target
-
-Other Changes:
-MINOR_CHANGE log summariser updated to deal with errors starting "make.exe: ***"
-
-
-version 2.2.2
-
-Defect Fixes:
-DPDEF127497 SBSv2 does not clean when -k or other switch is used with abld wrapper
-DPDEF127829 'cannot open Meta file' warning with SBSv2
-DPDEF127371 abld -v not working correctly through sbsv2
-DPDEF127555 SBSv2 doesn't do "romfile"
-
-Other Changes:
-MINOR_CHANGE made the default number of jobs 4
-
-
-version 2.2.1
-
-Defect Fixes:
-DPDEF128498 SBS creates paths with extra slashes which can cause problems
-
-Other Changes:
-MINOR_CHANGE Removed temporary ABIv1 .lib generation
-MINOR_CHANGE Added monty test data to the test folder
-
-
-version 2.2.0
-
-New Features:
-DS.1347 SBSv2 Compiler Selection
-DS.1348 SBSv2 allow mixed slashes
-
-Defect Fixes:
-DPDEF127904 SBSv2 : recent installdefaultcommdb has broken the 9.4 build
-DPDEF128022 SBSv2: Unrecognised Keyword ['romtarget <some_file>.dll'] warnings
-DPDEF127815 SBSv2: PAGED and EPOCCALLDLLENTRYPOINTS keywords not supported
-DPDEF127890 SBSv2: TARGETPATH in mmps (also resources, bitmaps) must cope with backslashes
-DPDEF128229 SBSv2: some command invocations can fail, but could be "re-tried"
-
-
-version 2.1.10
-
-Defect Fixes:
-DPDEF126662 Intermittent networking_dhcp compilation failure in Raptor build GT phase
-DPDEF127799 SBSv2: zip and unzip commands not found in some builds
-DPDEF127665 ARMV7 libraries have wrong link order in Raptor
-
-
-version 2.1.9
-
-Defect Fixes:
-DPDEF127498 SBSv2: importlibversioned_abiv1 intermittently fails in ARMV5 builds
-DPDEF125483 CDB breaks due to Attribute values not matching expected values
-DPDEF126335 Intermittent GT errors due to "make" not being found on the PATH
-DPDEF127562 SBSv2 will not unzip the same file into more than one location
-DPDEF127626 SBSv2: sed version on windows is out of date
-
-
-version 2.1.8
-
-Defect Fixes:
-DPDEF125478 CDB breaks caused by file path/name mismatch
-DPDEF125145 Incorrect file access permissions for sbs v2.0.14 in Linux distribution
-DPDEF126126 Intermittent "Segmentation fault" error in Raptor GT phase
-DPDEF124836 SBSv2 cannot build just a single .mmp file from a bld.inf file
-DPDEF126675 Performance regression in SBSv2 python frontend caused by regex usage,
-DPDEF126790 groupin10 is not used in artarget_func
-DPDEF125639 TEM variables are reported incorrectly when building TEM for ARMV7
-DPDEF124273 abld help is ugly and hard to read
-DPDEF126614 "Virtual memory exhausted. Stop" error when building with SBSV2
-
-
-version 2.1.7
-
-Defect Fixes:
-DPDEF124290 SBS -e pvmgmake -j 12 on Linux produces malformed xml log files
-DPDEF126241 SBSv2 : SECURE_DATA error when building uiklaf toolkit in TechView
-DPDEF126328 Performance regression and related excessive memory usage in daily Raptor builds
-
-
-version 2.1.6
-
-Defect Fixes:
-DPDEF125740 SBSv2: Builds can hang during the GT stage in Windows builds when using "-j x"
-DPDEF125145 Incorrect file access permissions for sbs v2.0.14 in Linux distribution
-
-
-version 2.1.5
-
-Defect Fixes:
-DPDEF125812 There is no user created init.xml configuration file
-
-
-version 2.1.4
-
-Defect Fixes:
-DPDEF124680 Raptor builds hang at "tools2" compilation phase
-DPDEF125304 Raptor crashes when running abld
-
-
-version 2.1.3
-
-Defect Fixes:
-DPDEF125394 sbs_2.1.0_(RC1) Building complete OS gives armasm errors on Windows
-DPDEF122556 GT0367: CLEANEXPORT target is not cleaning files with a space in them
-DPDEF124691 Raptor should ignore the new SMPSAFE keyword
-DPDEF125031 SBSv2 Stringtable build fails when EXPORTPATH specified
-
-
-version 2.1.2
-
-Change Requests:
-CR1413 Support for different toolchains to be called by SBSv1 and SBSv2
-
-
-version 2.1.1
-
-Defect Fixes:
-DEF124748 GCCXML errors in Raptor related to missing arm lib files
-DEF124756 Raptor build : Orphan files reported in CBR phase
-DEF124758 Raptor build CBR errors due to missing ".a" files
-DEF124573 CDB breaks in Raptor build due to missing header,dll and lib files
-
-
-version 2.1.0
-
-Change Requests:
-CR1479 Add Armv7 support into SBSv2
-
-Defect Fixes:
-DEF124543 Raptor does not handle the STDCPP keyword correctly
-DEF124515 GT0367: 'bldmake plat' should now show ARMV7
-
-
-version 2.0.14
-
-Defect Fixes:
-DEF124705 CBR errors in raptor builds due to missing rpp files
-DEF120328 SBS v2.0 configuration files cannot be validated
-INC124096 Long list of MMP macros causes crashdump with .s files
-DEF124702 GT0367: Semaphores need altering to correct possible hangs (on Linux)
-
-
-version 2.0.13
-
-Defect Fixes:
-DEF123653 SBS -j 16 on Windows produces malformed xml log files
-
-
-version 2.0.12
-
-Defect Fixes:
-DEF123987 Raptor does not build a lot of .lib files for ARMV5
-DEF123981 SBSv2 doesn't generate DSO when EXPORTUNFROZEN is specified.
-
-
-version 2.0.11
-
-Defect Fixes:
-DEF123988 SBSv2 does not produce rpp files
-DEF123766 SBSv2 log output does not match the specification
-DEF122781 GT0367: 'bldmake bldfiles' output not going to stdout
-DEF122885 GT0367: Need to stop sbs -abld functioning on Linux
-DEF123354 GT0367: Incorrect output if the number of jobs provided is invalid
-
-
-version 2.0.10
-
-Defect Fixes:
-DEF123984 SBSv2 generates more warnings than abld
-DEF124139 GT0367: SBS causes a Python Traceback when a system_definition.xml error occurs
-DEF123601 SBSv2 : Python traceback error is reported when try to build systemtest code
-DEF123916 SBSv2 : "tools" build warns about overrides when "OPTION MSVC /w" in .mmp files
-
-
-version 2.0.9
-
-Defect Fixes:
-PDEF124028 .GXP files not getting created when built for GCCXML target
-DEF123653 SBS -j 16 on Windows produces malformed xml log files
-DEF123586 dso file is not remade when def file changes
-DEF122541 SBSv2 -what should report resource files
-DEF123265 Incorrect file access permissions for sbs v2.0.7 in Linux dist
-DEF123317 SBSv2 -what got error for whatexports if too much exports
-DEF123439 SBSv2 : Exports not performed in total before .mmp processing in sysdef builds
-DEF123552 STLport doesn't build with Raptor on Linux
-DEF123260 GT0367: Circular references in config files not handled
-
-
-version 2.0.8
-
-Defect Fixes:
-DEF122930 SBSv2:Target type exexp giving errors while building for winscw
-DEF123028 Raptor generating double slashes in command files
-DEF123048 SBSv2: build with -k (keep-going) stops when export makefile has a failure.
-DEF123069 False 'missing mmp file' errors reported by SBSv2
-DEF122472 SBSv2 doesn't report content of unpacked zip files
-DEF122534 SBSv2 -what should not report .sym files
-DEF123181 SBSv2: Failure of one export in python aborts remaining exports for bld.inf
-DEF123289 SBSv2 : Netcards doesn't build for "tools" in an SBSv2 build
-DEF123418 SBSV2: stlport build can fail with "no rule to make target"
-DEF123084 SBSv2: exits with an exception if -c option specifies non-existent configuration
-INC122876 Electric Accelerator build fails with Raptor
-
-
-version 2.0.7
-
-Defect Fixes:
-DEF122784 Large MMP files and GNUMAKEFILE causes shell to crash
-DEF122760 Problems with bmconv command files preventing bitmap generation?
-DEF122803 SBSv2 - Freeze doesnt work properly for OE target types
-DEF122833 SBSV2 Performance is poor with -j16 using the GNU Make engine
-DEF122535 GT0367: Invalid system_definition.xml causes SBSv2 layering crash
-DEF122570 SBSv2 : certain "-m" values cause a crash at makefile generation
-DEF122604 Errors in GT only build using sbsv2 on Windows
-DEF122796 Wrong default value for PVMGMAKE in make.xml
-DEF122783 SBSv2 WINSCW builds can produce incorrectly linked executables under emake
-DEF122785 log summariser crashes if errors contain % characters
-DEF122870 SBSv2 assembling .s files fails.
-DEF120473 Enable Windows and Linux Tools to Cohabit
-DEF121826 Pre-include HRH file directory from variant.cfg fails for template extension mak
-DEF121907 Raptor crashes when exporting zip file that already exists
-DEF122523 SBSv2 Logging output affected by bash version on Linux
-DEF122788 SBSv2: We don't ensure correct version of Make for TEMs and for use in FLMs
-
-
-version 2.0.6
-
-The first release of SBSv2 in the SITK.
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/annofile.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,216 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Annofile class
+#
+
+import xml.sax
+import os
+
+class Annofile(xml.sax.handler.ContentHandler):
+ """A class to represent an emake anno file"""
+
+ def __init__(self, name, maxagents=30):
+ self.name = name
+ self.overallAggregateTime = 0
+ self.duration = 0
+ self.inJob = False
+ self.inMetricDuration = False
+ self.jobType = ''
+ self.nodes = set()
+ self.maxagents = maxagents
+
+ parser = xml.sax.make_parser()
+ parser.setContentHandler(self)
+ try:
+ parser.parse(open(name))
+ except xml.sax._exceptions.SAXParseException, e:
+ print "Error:\n" + str(e)
+ print "Ignore that file, parsing continues..."
+
+
+ def startElement(self, name, attrs):
+ if name == 'build':
+ # attrs.get() returns unicode type
+ self.cm = attrs.get('cm', '')
+
+ elif name == 'job':
+ self.inJob = True
+ self.jobType = attrs.get('type', '')
+
+ elif name == 'timing':
+ # Find agent number
+ node = attrs.get('node')
+ if node not in self.nodes:
+ self.nodes.add(node)
+
+ # Calculate aggregate build time
+ # This is the sum of time spending on each node
+ # Ideally it equals the build time if there is
+ # only one node
+ time = float(attrs.get('completed')) \
+ - float(attrs.get('invoked'))
+ self.overallAggregateTime += time
+
+ # Calculate parse time
+ if self.inJob and self.jobType == 'parse':
+ self.parseTime = time
+
+ elif name == 'metric':
+ if attrs.get('name') == 'duration':
+ self.inMetricDuration = True
+
+
+ def endElement(self, name):
+ if name == 'job':
+ self.inJob = False
+ elif name == 'metric':
+ if self.inMetricDuration:
+ self.inMetricDuration = False
+
+ # Parse to the end of XML file
+ elif name == 'build':
+ self.doFinal()
+
+ def characters(self, ch):
+ if self.inMetricDuration:
+ self.duration = ch
+
+
+ # Get class attributes
+
+ def getParseTime(self):
+ """Get the time that emake spends on
+ parsing all makefiles
+ """
+ return self.parseTime
+
+ def getOverallDuration(self):
+ """Get the overall build duration"""
+ return float(self.duration)
+
+ def getClusterManager(self):
+ return self.cm
+
+ def getAggregateTime(self):
+ """This is the sum of time spending on each node.
+ Ideally it equals the build time if there is
+ only one node
+ """
+ return self.overallAggregateTime
+
+ # Calculate two efficiencies:
+ # first includes makefile parse time; second doesn't
+ def getEfficiency(self):
+ """100% means all nodes are busy from start to finish.
+ """
+ at = self.getAggregateTime()
+ num = self.maxagents
+ d = self.getOverallDuration()
+
+ idealDuration = at / num
+ if d != 0:
+ efficiency = round(idealDuration / d, 3)
+ else:
+ efficiency = 0
+
+ # This is efficiency WITHOUT counting makefile
+ # parsing time. Tempararily still useful.
+ pt = self.getParseTime()
+ idealD_wo = (at - pt) / num
+ if d != pt:
+ e_wo = round(idealD_wo / (d - pt), 3)
+ else:
+ e_wo = 0
+
+ #return str(efficiency * 100) + '%', str(e_wo * 100) + '%'
+ return efficiency, e_wo
+
+ def doFinal(self):
+ report = open('anno_report.xml', 'a')
+ report.write("<annofile name='%s'>\n" % self.name)
+ report.write("<metric name='agentNumber' value='%s'/>\n" % len(self.nodes))
+ report.write("<metric name='makefileParseTime' value='%s'/>\n" \
+ % self.getParseTime())
+ report.write("<metric name='duration' value='%s'/>\n" \
+ % self.getOverallDuration())
+ report.write("<metric name='aggregateTime' value='%s'/>\n" \
+ % self.getAggregateTime())
+ report.write("<metric name='efficiency' value='%f'/>\n" \
+ % self.getEfficiency()[0])
+ report.write("<metric name='efficiencyNoMakefile' value='%f'/>\n" \
+ % self.getEfficiency()[1])
+ report.write("</annofile>\n")
+ report.close()
+
+ def __str__(self):
+ s = " <metric name='agentcount' value='%d' />\n" % len(self.nodes) + \
+ " <metric name='maxagents' value='%d' />\n" % self.maxagents + \
+ " <metric name='parsetimesecs' value='%s' />\n" % self.getParseTime() + \
+ " <metric name='overallduration' value='%s' />\n" % self.getOverallDuration() + \
+ " <metric name='aggregatetime' value='%s' />\n" % self.getAggregateTime() + \
+ " <metric name='efficiency' value='%s' />\n" % self.getEfficiency()[0] + \
+ " <metric name='efficiency_nomake' value='%s' />\n" % self.getEfficiency()[1]
+
+ return s
+
+
+
+if __name__ == '__main__':
+
+ # Work around annoying DOCTYPE error by
+ # creating a dummy DTD file
+ if not os.path.exists('build.dtd'):
+ dummy = open('build.dtd', 'w')
+ dummy.close()
+
+ ################## Edit this basepath ################
+ basepath = '92_7952_201022_logs\\output\\logs'
+ ######################################################
+
+ # Find out all the annofiles
+ annofiles = []
+ for dirpath, dirs, files in os.walk(basepath):
+ for f in files:
+ if f.endswith('.anno') or f.endswith('.anno.xml'):
+ annofiles.append(dirpath + '\\' + f)
+
+ #print annofiles # debug
+
+ # Parse all the annofiles and generate report
+ # Write XML header
+ report = open('anno_report.xml', 'w')
+ report.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
+ report.write("<report>\n")
+ report.close()
+ # Parse each annofile
+ #num = 0 # debug
+ parser = xml.sax.make_parser()
+ for afilename in annofiles:
+ parser.setContentHandler(Annofile(afilename))
+ try:
+ parser.parse(open(afilename))
+ except xml.sax._exceptions.SAXParseException, e:
+ print "Error:\n" + str(e)
+ print "Ignore that file, parsing continues..."
+
+ #num += 1 # <debug> only process num annofiles
+ #if num == 3:
+ # break
+
+ # Write XML footer
+ report = open('anno_report.xml', 'a')
+ report.write("</report>")
+ report.close()
+
--- a/sbsv2/raptor/bin/createvmap.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/bin/createvmap.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -24,6 +24,11 @@
import traceback
from optparse import OptionParser
+# Need to find the raptor utilities.
+sys.path.append(os.path.join(os.environ['SBS_HOME'],"python"))
+from raptor_utilities import expand_command_options
+
+
# the script will exit with 0 if there are no errors
global exitCode
exitCode = 0
@@ -184,7 +189,18 @@
parser.add_option("-u","--userinc",action="append",dest="user_include",help="User Include Folders")
parser.add_option("-x","--systeminc",action="append",dest="system_include",help="System Include Folders")
- (options, leftover_args) = parser.parse_args(sys.argv[1:])
+
+ # The following allows the use of the --command option.
+ # The add_option() is redundant since --command is
+ # expanded well before it can take effect but it does
+ # allow us to print out a useful help message.
+ parser.add_option("--command",action="store",
+ dest="preinclude",
+ help="""Specify a command file with more commandline options
+ in it (for very large components)""")
+ expanded_args = expand_command_options(sys.argv[1:])
+
+ (options, leftover_args) = parser.parse_args(expanded_args)
if leftover_args:
for invalids in leftover_args:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/grokbuild.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,324 @@
+#!/usr/bin/env python
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# grokbuild
+#
+
+"""
+Gathers performance metrics from the logs of a complex multi-step build.
+Supports Helium 9 at the moment but is adaptable.
+
+Can read from emake annotation files.
+"""
+
+import sys
+import os
+import re
+from optparse import OptionParser
+import annofile
+import datetime
+
+
+class UndeterminedBuildID(Exception):
+ pass
+
+class LogfileNotFound(Exception):
+ pass
+
+class HeliumLog(object):
+ """ Some common properties of any log file in a helium build """
+ filenamesuffix = None
+
+ def __init__(self, logpath, buildid, options=None):
+
+ self.logfilename = os.path.join(logpath, buildid + self.filenamesuffix)
+ self.buildid = buildid
+ self.options = options
+
+ @classmethod
+ def findall(c, logpath):
+ """ Find all the logs that are of this type - essentially also finds all builds
+ which dumped their output in the same place """
+ filename_re = re.compile('(.*/)?(?P<buildid>[^\\\/]*)' + c.filenamesuffix)
+ logs = {}
+ for f in os.listdir(logpath):
+ m = filename_re.match(f)
+ if m:
+ file_buildid = m.groupdict()['buildid']
+ logs[file_buildid] = os.path.join(logpath,f)
+ return logs
+
+
+ def __str__(self):
+ return "<metric name='buildid' value='%s'>\n" % self.buildid
+
+class MainAntLog(HeliumLog):
+ """ This is the primary log of the helium build. Useful for obtaining the total build time. Not good for this if the build failed. """
+ # output/logs/92_7952_201020_003_main.ant.log
+ filenamesuffix = "_main.ant.log"
+ timeformat = "%Y/%m/%d %H:%M:%S:%f" # e.g. Thu 2010/06/24 09:15:42:625 AM
+
+ def __init__(self, logpath, buildid, options=None):
+ super(MainAntLog,self).__init__(logpath, buildid, options)
+
+ # Starting logging into y:\output\logs\mcl_7901_201024_20100623181534_main.ant.log at Wed 2010/06/23 21:16:12:972 PM
+ # Stopping logging into y:\output\logs\mcl_7901_201024_20100623181534_main.ant.log from hlm:record task at Thu 2010/06/24 09:15:42:625 AM
+
+ start_re = re.compile("Starting logging into [^ ]+ at ... ([^ ]+ +[^ ]+) .*")
+ stop_re = re.compile("Stopping logging into [^ ]+ from [^ ]+ task at ... ([^ ]+ +[^ ]+) (AM)|(PM).*")
+ start_time = None
+ stop_time = None
+ with open(self.logfilename) as f:
+ for l in f:
+ if start_time is None:
+ m = start_re.match(l)
+ if m:
+ #sys.stderr.write("start TIME: %s\n" %m.groups()[0])
+ start_time = datetime.datetime.strptime(m.groups()[0], self.timeformat)
+
+ else: # if there are many stop lines then make sure the last one overrides the others
+ m = stop_re.match(l)
+ if m:
+ stop_time = datetime.datetime.strptime(m.groups()[0], self.timeformat)
+ #sys.stderr.write("stop TIME: %s\n" %m.groups()[0])
+
+ #sys.stderr.write("build start/stop: %s / %s from %s\n" % (start_time, stop_time, self.logfilename))
+ build_duration = stop_time - start_time # returns a timedelta object
+ self.build_duration = build_duration.seconds + 86400 * build_duration.days # seconds
+
+ def __str__(self):
+ return "<metric name='build_duration' value='%d'>\n" % self.build_duration
+
+class AntEnvLog(HeliumLog):
+ # output/logs/92_7952_201020_003_ant_env.log
+ filenamesuffix = "_ant_env.log"
+
+ def __init__(self, logpath, buildid):
+ super(AntEnvLog,self).__init__(logpath, buildid)
+
+class TargetTimesLog(HeliumLog):
+ """Very useful timing data from Ant but does not get created in all builds by default (must be configured"""
+ # output/logs/92_7952_custom_dilbert_201022_dilbert_targetTimesLog.csv
+ filenamesuffix = "_targetTimesLog.csv"
+
+ def __init__(self, logpath, buildid):
+ super(TargetTimesLog,self).__init__(logpath, buildid)
+ self.raptorsecs = 0
+ self.totalsecs = 0
+
+ with open(self.logfilename) as f:
+ for ll in f:
+ l = ll.rstrip("\n")
+ #print self.logfilename
+ #print "L:",l
+ (rname, rsecs) = l.split(",")
+ rsecs = int(rsecs)
+ #print "rname, rsecs: %s %d"%(rname,rsecs)
+ self.totalsecs += rsecs
+ if rname == "compile-sbs":
+ self.raptorsecs += rsecs
+
+ def __str__(self):
+ s = "<metric name='build_duration' value='%s'>" % self.totalsecs \
+ + "\n<metric name='raptor_duration' value='%s'>\n" % self.raptorsecs
+ return s
+
+class RaptorAnnofile(object):
+ """Thin wrapper around the annofile class to make it relevant to this utility."""
+ # Examples:
+ # 92_7952_custom_dilbert_201022_dilbert_dfs_build_sf_tools_all.resource.emake.anno
+ # 92_7952_custom_dilbert_201022_dilbert_dfs_build_sf_dfs_variants.default.emake.anno
+ # 92_7952_201022_003_dfs_build_ncp_dfs_variants.resource_deps.emake.anno
+ def __init__(self, filename, buildid, maxagents):
+ self.phase = ""
+ self.filename = filename
+ self.buildid = buildid
+
+ self.annofile = annofile.Annofile(self.filename, maxagents)
+
+ def __str__(self):
+ return "<annofile name='%s' phase='%s'>\n%s</annofile>\n" \
+ % (os.path.basename(self.filename), self.phase, str(self.annofile))
+
+
+class RaptorBuild(HeliumLog):
+ """Any Raptor logfile. Mainly used for getting the names of the
+ annotation files which the annofile parser will use. Also gets
+ the version of raptor and the total time taken by this particular
+ invocation of Raptor"""
+ def __init__(self, logpath, buildid, build, options=None):
+ self.filenamesuffix = '_%s' % build
+ super(RaptorBuild,self).__init__(os.path.join(logpath, "compile"), buildid, options)
+ self.build = build
+
+ if not os.path.isfile(self.logfilename):
+ raise LogfileNotFound("missing log file: %s\n" % self.logfilename)
+
+ self.annofile_refs = []
+ self.build_duration = None
+
+ status_re = re.compile("<status exit='([a-z]+)'")
+ emake_invocation_re = re.compile("<info>Executing.*--emake-annofile=([^ ]+)")
+ emake_maxagents_re = re.compile("--emake-maxagents=(\d+)")
+ sbs_version_re = re.compile("<info>sbs: version ([^\n\r]*)")
+ run_time_re = re.compile("<info>Run time ([0-9]+) seconds</info>")
+
+ self.recipes = { 'TOTAL':0, 'ok':0, 'failed':0, 'retry':0 }
+
+ with open(self.logfilename) as f:
+ sys.stderr.write(" parsing build log %s\n" % os.path.split(self.logfilename)[1])
+ for l in f:
+ # match in order of likelihood (most probable first)
+
+ m = status_re.match(l)
+ if m:
+ self.recipes['TOTAL'] += 1
+ status = m.group(1)
+ try:
+ self.recipes[status] += 1
+ except KeyError:
+ sys.stderr.write("unknown recipe status '%s'" % status)
+ continue
+
+ m = emake_invocation_re.match(l)
+ if m:
+ (adir, aname) = os.path.split(m.group(1))
+ if aname.find("pp")==-1: # no parallel parsing ones preferably
+ sys.stderr.write(" found annotation file %s\n" % aname)
+
+ # if --emake-maxagents is present then use that, otherwise use
+ # the value passed in through the options.
+ m = emake_maxagents_re.match(l)
+ if m:
+ maxagents = int(m.group(1))
+ else:
+ maxagents = options.maxagents
+ sys.stderr.write(" using maxagents %d as there is no record in the logs\n" % maxagents)
+
+ self.annofile_refs.append( (os.path.join(logpath, "makefile", aname), maxagents) )
+ continue
+
+ m = run_time_re.match(l)
+ if m:
+ self.build_duration = int(m.group(1))
+ continue
+
+ m = sbs_version_re.match(l)
+ if m:
+ self.version = m.group(1)
+
+ self.annofiles = []
+ for p in self.annofile_refs:
+ self.annofiles.append(RaptorAnnofile(p[0], buildid, p[1]))
+
+ def __str__(self):
+ recipes = [" <metric name='raptor_%s_recipes' value='%d'/>\n" % x for x in self.recipes.items()]
+
+ return "<raptorbuild logfile='%s'>\n" % os.path.split(self.logfilename)[-1] + \
+ " <metric name='raptor_version' value='%s' />\n" % (self.version) + \
+ " <metric name='raptor_duration_%s' value='%d' />\n" % (self.build, self.build_duration) + \
+ "".join(recipes) + \
+ "".join([str(a) for a in self.annofiles]) + \
+ "</raptorbuild>\n"
+
+
+
+class HeliumBuild(object):
+ """A build with any version of Helium"""
+ def __init__(self, logpath, buildid, options=None):
+ self.options = options
+ self.buildid = buildid
+ self.logpath = logpath
+ self.logfiles=[]
+
+ def __str__(self):
+ return self.buildid + \
+ "\n"+[str(a) for a in self.annofiles] + "\n"
+
+class Helium9Build(HeliumBuild):
+ """ Filenames, structure etc conform to Helium 9 """
+ def __init__(self, logpath, buildid, options=None):
+ super(Helium9Build,self).__init__(logpath, buildid, options)
+ self.mainantlog = MainAntLog(logpath, buildid, options)
+ self.raptorbuilds = []
+
+ # mcl_7901_201024_20100623181534_dfs_build_ncp_variants.build_input_compile.log
+ # mcl_7901_201024_20100623181534_dfs_build_sf_variants.build_input_compile.log
+ # mcl_7901_201024_20100623181534_dfs_build_winscw_dfs_build_winscw_input_compile.log
+ #
+ # ....but the problem is that the anno files have a slightly differing convention:
+ # 92_7952_201022_003_dfs_build_ncp_dfs_variants.resource_deps.emake.anno
+ # _dfs_build_ncp_variants
+ # _dfs_build_ncp_dfs_variants
+ # read the annofile names from inside the raptor log output
+ for r in ["dfs_build_ncp_variants.build_input_compile.log","dfs_build_sf_variants.build_input_compile.log","dfs_build_winscw_dfs_build_winscw_input_compile.log", "ncp_symbian_build_symtb_input_compile.log"]:
+ try:
+ self.raptorbuilds.append(RaptorBuild(logpath, buildid, r, options))
+ except LogfileNotFound, ex:
+ sys.stderr.write(str(ex))
+
+ def __str__(self):
+
+ raptor_duration = reduce(lambda x, y: x + y,[y.build_duration for y in self.raptorbuilds],0)
+ return "<heliumbuild ver='9' id='%s'>\n" % (self.buildid) + \
+ "<metric name='total_duration' value='%d' />\n" % (self.mainantlog.build_duration) + \
+ "<metric name='raptor_duration' value='%d' />\n" % (raptor_duration) + \
+ "".join([str(a) for a in self.raptorbuilds ]) + \
+ "</heliumbuild>\n"
+
+
+class HeliumLogDir(object):
+ """Multiple builds can be done one after another (usually when rebuilding
+ things that failed, apparently) and their logs left in the output dir.
+ The naming convention ensures that they don't overwrite each other.
+ This class identifies each build and tries to analyse them one by one."""
+ def __init__(self, epocroot, options=None):
+ self.logpath = os.path.join(epocroot, "output/logs")
+ logs = MainAntLog.findall(self.logpath)
+ self.builds = []
+
+ for b in logs.keys():
+ try:
+ sys.stderr.write(" Found build with id %s\n" % b)
+ build = Helium9Build(self.logpath, b, options)
+ self.builds.append(build)
+ except IOError,e:
+ sys.stderr.write(" Buildid %s found but does not refer to a complete build\n" % b)
+ sys.stderr.write(str(e)+"\n")
+
+ def write(self, stream):
+ for b in self.builds:
+ stream.write(str(b)+"\n")
+
+
+parser = OptionParser(prog = "grokbuild",
+ usage = """%prog [-h | options] path_to_EPOCROOT
+
+The build logs are usually in $EPOCROOT/output/logs""")
+
+parser.add_option("--maxagents", type="int", dest="maxagents", default=30,
+ help="The number of simultaneous agents used in the build. You need to supply this if --emake-class was used rather than --emake-maxagents since this is then a property of the build cluster and is not usually recorded in the logs. The default is %default."
+ )
+(options, args) = parser.parse_args()
+
+if len(args) == 0:
+ sys.stderr.write("Need at least one argument: a path to the logs.\n")
+ sys.exit(-1)
+
+epocroot = args[0]
+sys.stderr.write("Gathering Performance Metrics for %s\n" % epocroot)
+
+b = HeliumLogDir(epocroot, options)
+b.write(sys.stdout)
--- a/sbsv2/raptor/bin/install_raptor.sh Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/bin/install_raptor.sh Wed Oct 06 15:13:17 2010 +0100
@@ -50,6 +50,12 @@
echo "You DON'T appear to have the ncurses dev libraries - please install them (ncurses-dev or ncurses-devel)"
fi
+if [ -f "/usr/include/bzlib.h" ]; then
+ echo "You appear to have the bzip2 dev libraries"
+else
+ echo "You DON'T appear to have the bzip2 dev libraries - please install them (bzip2-dev or bzip2-devel)"
+fi
+
echo "Do you wish to continue (Y or y for 'yes' anything else for no)?"
read X
--- a/sbsv2/raptor/bin/recipestats.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/bin/recipestats.py Wed Oct 06 15:13:17 2010 +0100
@@ -31,6 +31,7 @@
def add(self, duration):
self.time += duration
+ self.count += 1
class BuildStats(object):
STAT_OK = 0
--- a/sbsv2/raptor/bin/sbs Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/bin/sbs Wed Oct 06 15:13:17 2010 +0100
@@ -102,9 +102,10 @@
export PYTHONPATH=$($u "$SBS_PYTHONPATH")
fi
else
- export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib}
- PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
- LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
+ PYDIR=python27 # not exported on purpose
+ export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/lib}
+ PATH=$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+ LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
__PYTHON__=python
--- a/sbsv2/raptor/bin/sbs_filter Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/bin/sbs_filter Wed Oct 06 15:13:17 2010 +0100
@@ -64,10 +64,11 @@
# prevent raptor from potentially creating read-only files:
export CYGWIN='nontsec nosmbntsec'
-else
- export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib}
- PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
- LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/python262/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
+else
+ PYDIR=python27 # not exported on purpose
+ export PYTHONPATH=${SBS_PYTHONPATH:-$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/lib}
+ PATH=$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/bin:$SBS_HOME/$HOSTPLATFORM_DIR/bin:$PATH
+ LD_LIBRARY_PATH=$SBS_HOME/$HOSTPLATFORM_DIR/$PYDIR/lib:$SBS_HOME/$HOSTPLATFORM_DIR/bv/lib:$LD_LIBRARY_PATH
export PATH LD_LIBRARY_PATH
__PYTHON__=python
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/bin/sbs_index.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,155 @@
+#!/usr/bin/python
+
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Symbian Foundation License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
+
+'''
+Tie together a set of HTML build summaries by creating a single index page
+which shows the total number of Errors, Warnings etc. across all the parts
+of the build and links to the individual summaries.
+'''
+
+import os
+import sys
+import time
+
+# get the absolute path to this script
+script = os.path.abspath(sys.argv[0])
+bindir = os.path.dirname(script)
+# add the Raptor python and plugins directories to the PYTHONPATH
+sys.path.append(os.path.join(bindir, "..", "python"))
+sys.path.append(os.path.join(bindir, "..", "python", "plugins"))
+
+if len(sys.argv) < 3:
+ sys.stderr.write("""usage: %s input_dir1 [input_dir2...] output_index_file
+
+The input directories are scanned recursively for totals.txt files and all
+those found are added to the generated index.
+""" % os.path.basename(script))
+ sys.exit(1)
+
+roots = []
+for a in sys.argv[1:-1]:
+ if os.path.isdir(a):
+ roots.append(a)
+ else:
+ sys.stderr.write("warning: %s is not a directory\n" % a)
+
+indexfile = sys.argv[-1]
+indexdir = os.path.dirname(indexfile)
+
+def findtotals(dirs, files):
+ "recurse directories until we find a totals.txt file."
+ sub = []
+ for d in dirs:
+ name = os.path.join(d, "totals.txt")
+ if os.path.isfile(name):
+ files.append(name)
+ else:
+ for s in os.listdir(d):
+ dir = os.path.join(d,s)
+ if os.path.isdir(dir):
+ sub.append(dir)
+ if sub:
+ findtotals(sub, files)
+
+totals = []
+findtotals(roots, totals)
+totals.sort()
+
+# look for a style file we can link to
+css = "style.css"
+for t in totals:
+ c = os.path.join(os.path.dirname(t),"style.css")
+ if os.path.isfile(c):
+ css = os.path.relpath(c, indexdir)
+ break
+
+# write the header of the index
+import filter_html
+try:
+ index = open(indexfile, "w")
+ index.write("""<html>
+<head>
+<title>Raptor Build Index</title>
+<link type="text/css" rel="stylesheet" href="%s">
+</head>
+<body>
+<h1>Raptor Build Index</h1>
+<table>
+<tr><th>build</th>""" % css)
+
+ for i in filter_html.Records.TITLES:
+ index.write('<th class="numbers">%s</th>' % i)
+ index.write("</tr>")
+except:
+ sys.stderr.write("error: cannot write index file %s\n" % indexfile)
+ sys.exit(1)
+
+import csv
+grandtotal = [0 for i in filter_html.Records.TITLES]
+
+for t in totals:
+ columns = []
+ try:
+ reader = csv.reader(open(t, "rb"))
+ for row in reader:
+ type = int(row[0])
+ style = row[1]
+
+ if style == 'time':
+ count = float(row[2])
+ else:
+ count = int(row[2])
+
+ if count == 0 or filter_html.Records.CLASSES[type] == style:
+ grandtotal[type] += count
+ columns.append((style,count))
+ else:
+ sys.stderr.write("warning: %s appears to be corrupt or out of date\n" % t)
+ except:
+ sys.stderr.write("warning: %s could not be read\n" % t)
+
+ if len(columns) == len(filter_html.Records.TITLES):
+ try:
+ linktext = os.path.dirname(t)
+ linkname = os.path.relpath(os.path.join(linktext, "index.html"), indexdir)
+ index.write('<tr><td class="name"><a href="%s">%s</a></td>' % (linkname, linktext))
+ for (style, count) in columns:
+ if style == 'time':
+ n = time.strftime("%H:%M:%S", time.gmtime(count + 0.5))
+ else:
+ n = str(count)
+ index.write('<td class="%s">%s</td>' % (style, n))
+ index.write("</tr>")
+ except:
+ sys.stderr.write("error: cannot write index file %s\n" % indexfile)
+ sys.exit(1)
+
+# finish off
+try:
+ index.write('<tr><td> </td></tr><tr><td class="name">total</td>')
+ for i, count in enumerate(grandtotal):
+ style = filter_html.Records.CLASSES[i]
+ if style == 'time':
+ n = time.strftime("%H:%M:%S", time.gmtime(count + 0.5))
+ else:
+ n = str(count)
+
+ if count == 0:
+ index.write('<td class="zero">0</td>')
+ else:
+ index.write('<td class="%s">%s</td>' % (style, n))
+ index.write("</tr></table>")
+ index.write("</body></html>\n")
+ index.close()
+
+except:
+ sys.stderr.write("error: cannot close index file %s\n" % indexfile)
+ sys.exit(1)
+
+sys.exit(0)
\ No newline at end of file
--- a/sbsv2/raptor/examples/os_properties.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/examples/os_properties.xml Wed Oct 06 15:13:17 2010 +0100
@@ -11,14 +11,13 @@
The file can have any name as long as it ends with ".xml"
-->
-
- <!-- changes required for v9.4, TB91, and TB91sf -->
<var name="root.changes">
<set name='POSTLINKER_SUPPORTS_WDP' value=''/>
<set name='SUPPORTS_STDCPP_NEWLIB' value=''/>
<set name='RVCT_PRE_INCLUDE' value='$(EPOCINCLUDE)/rvct2_2/rvct2_2.h'/>
<set name="SUPPORTS_ABIV1_IMPLIBS" value='1'/>
+ <set name='VARIANT_HRH' value='$(EPOCINCLUDE)/feature_settings.hrh'/>
</var>
</build>
--- a/sbsv2/raptor/group/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-
-PRJ_PLATFORMS
-TOOLS TOOLS2
-
-PRJ_EXPORTS
-#include "exports.inf"
-
--- a/sbsv2/raptor/group/checkexports.sh Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-for dir in . cpp-raptor cygwin-1.5.25 mingw-5.1.4 python-2.5.2; do
- echo testing exports.inf in $dir
- (cd $dir; ./exports.sh2; sort exports.inf > t1; sort exports.inf2 > t2; diff t1 t2)
-done
-
--- a/sbsv2/raptor/group/exports.inf Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,223 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-../RELEASE-NOTES.txt ../../tools/sbs/RELEASE-NOTES.txt
-../bin/sbs ../../tools/sbs/bin/sbs
-../bin/fixmeta.py ../../tools/sbs/bin/fixmeta.py
-../bin/codetest_osbuild.sh ../../tools/sbs/bin/codetest_osbuild.sh
-../bin/countbinaries.sh ../../tools/sbs/bin/countbinaries.sh
-../bin/gethost.sh ../../tools/sbs/bin/gethost.sh
-../bin/failedstats.py ../../tools/sbs/bin/failedstats.py
-../bin/sbs.bat ../../tools/sbs/bin/sbs.bat
-../bin/unsplitdirs.py ../../tools/sbs/bin/unsplitdirs.py
-../bin/buildstats.py ../../tools/sbs/bin/buildstats.py
-../bin/speedtest_osbuild.sh ../../tools/sbs/bin/speedtest_osbuild.sh
-../bin/sbsv2cache.py ../../tools/sbs/bin/sbsv2cache.py
-../bin/whatsource.py ../../tools/sbs/bin/whatsource.py
-../bin/oby2linux.py ../../tools/sbs/bin/oby2linux.py
-../bin/createrfifile.pl ../../tools/sbs/bin/createrfifile.pl
-../bin/vartoxml.py ../../tools/sbs/bin/vartoxml.py
-../bin/readme.txt ../../tools/sbs/bin/readme.txt
-../bin/squashlog.py ../../tools/sbs/bin/squashlog.py
-../bin/statcollate.py ../../tools/sbs/bin/statcollate.py
-../bin/createvmap.py ../../tools/sbs/bin/createvmap.py
-../bin/raptorlog.py ../../tools/sbs/bin/raptorlog.py
-../bin/osbuild.sh ../../tools/sbs/bin/osbuild.sh
-../bin/setup_user.sh ../../tools/sbs/bin/setup_user.sh
-../bin/msvcr71.dll ../../tools/sbs/bin/msvcr71.dll
-../bin/install_raptor.sh ../../tools/sbs/bin/install_raptor.sh
-../bin/mkgetfailed.py ../../tools/sbs/bin/mkgetfailed.py
-../examples/os_properties.xml ../../tools/sbs/examples/os_properties.xml
-../examples/sbs_init.xml ../../tools/sbs/examples/sbs_init.xml
-../lib/flm/e32abiv2stdexe.flm ../../tools/sbs/lib/flm/e32abiv2stdexe.flm
-../lib/flm/user/default.flm_ex ../../tools/sbs/lib/flm/user/default.flm_ex
-../lib/flm/user/globals.mk_ex ../../tools/sbs/lib/flm/user/globals.mk_ex
-../lib/flm/e32abiv2dll.flm ../../tools/sbs/lib/flm/e32abiv2dll.flm
-../lib/flm/tracecompiler.mk ../../tools/sbs/lib/flm/tracecompiler.mk
-../lib/flm/win32exe.flm ../../tools/sbs/lib/flm/win32exe.flm
-../lib/flm/template_ext.flm ../../tools/sbs/lib/flm/template_ext.flm
-../lib/flm/e32abiv2ani.flm ../../tools/sbs/lib/flm/e32abiv2ani.flm
-../lib/flm/converged-comms/createcommdbs.flm ../../tools/sbs/lib/flm/converged-comms/createcommdbs.flm
-../lib/flm/converged-comms/installdefaultcommdb.flm ../../tools/sbs/lib/flm/converged-comms/installdefaultcommdb.flm
-../lib/flm/win32plugin.flm ../../tools/sbs/lib/flm/win32plugin.flm
-../lib/flm/win32klib.flm ../../tools/sbs/lib/flm/win32klib.flm
-../lib/flm/extensions.xml ../../tools/sbs/lib/flm/extensions.xml
-../lib/flm/stack.mk ../../tools/sbs/lib/flm/stack.mk
-../lib/flm/globals.mk ../../tools/sbs/lib/flm/globals.mk
-../lib/flm/win32stdexe.flm ../../tools/sbs/lib/flm/win32stdexe.flm
-../lib/flm/e32abiv2lib.flm ../../tools/sbs/lib/flm/e32abiv2lib.flm
-../lib/flm/win32resource.flm ../../tools/sbs/lib/flm/win32resource.flm
-../lib/flm/config/default.flm ../../tools/sbs/lib/flm/config/default.flm
-../lib/flm/win32lib.flm ../../tools/sbs/lib/flm/win32lib.flm
-../lib/flm/null.flm ../../tools/sbs/lib/flm/null.flm
-../lib/flm/tools/test_command_diff.sh ../../tools/sbs/lib/flm/tools/test_command_diff.sh
-../lib/flm/tools/stlport.flm ../../tools/sbs/lib/flm/tools/stlport.flm
-../lib/flm/tools/buildstubsis.flm ../../tools/sbs/lib/flm/tools/buildstubsis.flm
-../lib/flm/msvctools.xml ../../tools/sbs/lib/flm/msvctools.xml
-../lib/flm/tools2lib.flm ../../tools/sbs/lib/flm/tools2lib.flm
-../lib/flm/win32ldd.flm ../../tools/sbs/lib/flm/win32ldd.flm
-../lib/flm/tools.xml ../../tools/sbs/lib/flm/tools.xml
-../lib/flm/metaflm.mk ../../tools/sbs/lib/flm/metaflm.mk
-../lib/flm/e32abiv2ldd.flm ../../tools/sbs/lib/flm/e32abiv2ldd.flm
-../lib/flm/e32abiv2pdl.flm ../../tools/sbs/lib/flm/e32abiv2pdl.flm
-../lib/flm/e32abiv2stdlib.flm ../../tools/sbs/lib/flm/e32abiv2stdlib.flm
-../lib/flm/config.xml ../../tools/sbs/lib/flm/config.xml
-../lib/flm/win32stddll.flm ../../tools/sbs/lib/flm/win32stddll.flm
-../lib/flm/gccxmlresource.flm ../../tools/sbs/lib/flm/gccxmlresource.flm
-../lib/flm/e32abiv2textnotifier2.flm ../../tools/sbs/lib/flm/e32abiv2textnotifier2.flm
-../lib/flm/e32abiv2implib.flm ../../tools/sbs/lib/flm/e32abiv2implib.flm
-../lib/flm/e32abiv2exe.flm ../../tools/sbs/lib/flm/e32abiv2exe.flm
-../lib/flm/win32pdl.flm ../../tools/sbs/lib/flm/win32pdl.flm
-../lib/flm/win32.flm ../../tools/sbs/lib/flm/win32.flm
-../lib/flm/base.xml ../../tools/sbs/lib/flm/base.xml
-../lib/flm/grouping.flm ../../tools/sbs/lib/flm/grouping.flm
-../lib/flm/e32abiv2.flm ../../tools/sbs/lib/flm/e32abiv2.flm
-../lib/flm/e32abiv2exexp.flm ../../tools/sbs/lib/flm/e32abiv2exexp.flm
-../lib/flm/e32abiv2defaults.mk ../../tools/sbs/lib/flm/e32abiv2defaults.mk
-../lib/flm/e32abiv2fsy.flm ../../tools/sbs/lib/flm/e32abiv2fsy.flm
-../lib/flm/final.mk ../../tools/sbs/lib/flm/final.mk
-../lib/flm/none.flm ../../tools/sbs/lib/flm/none.flm
-../lib/flm/analysis.xml ../../tools/sbs/lib/flm/analysis.xml
-../lib/flm/e32abiv2var2.flm ../../tools/sbs/lib/flm/e32abiv2var2.flm
-../lib/flm/msvctools.flm ../../tools/sbs/lib/flm/msvctools.flm
-../lib/flm/win32kdll.flm ../../tools/sbs/lib/flm/win32kdll.flm
-../lib/flm/win32ani.flm ../../tools/sbs/lib/flm/win32ani.flm
-../lib/flm/e32abiv2plugin.flm ../../tools/sbs/lib/flm/e32abiv2plugin.flm
-../lib/flm/win32bitmap.flm ../../tools/sbs/lib/flm/win32bitmap.flm
-../lib/flm/tools2common.flm ../../tools/sbs/lib/flm/tools2common.flm
-../lib/flm/win32fsy.flm ../../tools/sbs/lib/flm/win32fsy.flm
-../lib/flm/readme.txt ../../tools/sbs/lib/flm/readme.txt
-../lib/flm/e32abiv2kext.flm ../../tools/sbs/lib/flm/e32abiv2kext.flm
-../lib/flm/e32abiv2stddll.flm ../../tools/sbs/lib/flm/e32abiv2stddll.flm
-../lib/flm/win32exexp.flm ../../tools/sbs/lib/flm/win32exexp.flm
-../lib/flm/stringtable.flm ../../tools/sbs/lib/flm/stringtable.flm
-../lib/flm/utils/utility.xml ../../tools/sbs/lib/flm/utils/utility.xml
-../lib/flm/utils/prebuilt.flm ../../tools/sbs/lib/flm/utils/prebuilt.flm
-../lib/flm/utils/copydir.flm ../../tools/sbs/lib/flm/utils/copydir.flm
-../lib/flm/win32pdd.flm ../../tools/sbs/lib/flm/win32pdd.flm
-../lib/flm/taggedrules.mk ../../tools/sbs/lib/flm/taggedrules.mk
-../lib/flm/booleanlogic.mk ../../tools/sbs/lib/flm/booleanlogic.mk
-../lib/flm/emulator.xml ../../tools/sbs/lib/flm/emulator.xml
-../lib/flm/win32kext.flm ../../tools/sbs/lib/flm/win32kext.flm
-../lib/flm/test/exeabiv2_2/test.cpp ../../tools/sbs/lib/flm/test/exeabiv2_2/test.cpp
-../lib/flm/test/exeabiv2_2/test_function.cpp ../../tools/sbs/lib/flm/test/exeabiv2_2/test_function.cpp
-../lib/flm/test/exeabiv2_2/exeabiv2_2.mk ../../tools/sbs/lib/flm/test/exeabiv2_2/exeabiv2_2.mk
-../lib/flm/test/templateext/temex.mk ../../tools/sbs/lib/flm/test/templateext/temex.mk
-../lib/flm/test/templateext/Makefile ../../tools/sbs/lib/flm/test/templateext/Makefile
-../lib/flm/test/Makefile ../../tools/sbs/lib/flm/test/Makefile
-../lib/flm/test/exeabiv2_4/test.cpp ../../tools/sbs/lib/flm/test/exeabiv2_4/test.cpp
-../lib/flm/test/exeabiv2_4/exeabiv2_4.mk ../../tools/sbs/lib/flm/test/exeabiv2_4/exeabiv2_4.mk
-../lib/flm/test/exeabiv2_4/test_big.cpp ../../tools/sbs/lib/flm/test/exeabiv2_4/test_big.cpp
-../lib/flm/test/flmtests.mk ../../tools/sbs/lib/flm/test/flmtests.mk
-../lib/flm/test/ciaabiv2_1/uc_exe.cia ../../tools/sbs/lib/flm/test/ciaabiv2_1/uc_exe.cia
-../lib/flm/test/ciaabiv2_1/uc_exe.cpp ../../tools/sbs/lib/flm/test/ciaabiv2_1/uc_exe.cpp
-../lib/flm/test/ciaabiv2_1/ciaabiv2_1.mk ../../tools/sbs/lib/flm/test/ciaabiv2_1/ciaabiv2_1.mk
-../lib/flm/test/export1/Makefile ../../tools/sbs/lib/flm/test/export1/Makefile
-../lib/flm/test/export1/t1e.h ../../tools/sbs/lib/flm/test/export1/t1e.h
-../lib/flm/test/export1/t4e.h ../../tools/sbs/lib/flm/test/export1/t4e.h
-../lib/flm/test/export1/t2e.h ../../tools/sbs/lib/flm/test/export1/t2e.h
-../lib/flm/test/export1/t3e.h ../../tools/sbs/lib/flm/test/export1/t3e.h
-../lib/flm/test/dllabiv2_1/test.cpp ../../tools/sbs/lib/flm/test/dllabiv2_1/test.cpp
-../lib/flm/test/dllabiv2_1/dllabiv2_1.mk ../../tools/sbs/lib/flm/test/dllabiv2_1/dllabiv2_1.mk
-../lib/flm/test/raptorglue/raptorglue.mk ../../tools/sbs/lib/flm/test/raptorglue/raptorglue.mk
-../lib/flm/test/dllbasictests.mk ../../tools/sbs/lib/flm/test/dllbasictests.mk
-../lib/flm/test/exeabiv2_1/test.cpp ../../tools/sbs/lib/flm/test/exeabiv2_1/test.cpp
-../lib/flm/test/exeabiv2_1/exeabiv2_1.mk ../../tools/sbs/lib/flm/test/exeabiv2_1/exeabiv2_1.mk
-../lib/flm/test/dllabiv2_defaults.mk ../../tools/sbs/lib/flm/test/dllabiv2_defaults.mk
-../lib/flm/test/exeperftests.mk ../../tools/sbs/lib/flm/test/exeperftests.mk
-../lib/flm/test/ciatests.mk ../../tools/sbs/lib/flm/test/ciatests.mk
-../lib/flm/test/environment/pvm/pvmtest.mk ../../tools/sbs/lib/flm/test/environment/pvm/pvmtest.mk
-../lib/flm/test/environment/make/test_variable_restore.mk ../../tools/sbs/lib/flm/test/environment/make/test_variable_restore.mk
-../lib/flm/test/exebasictests.mk ../../tools/sbs/lib/flm/test/exebasictests.mk
-../lib/flm/test/exeabiv2_defaults.mk ../../tools/sbs/lib/flm/test/exeabiv2_defaults.mk
-../lib/flm/test/exeabiv2_3/exeabiv2_3.mk ../../tools/sbs/lib/flm/test/exeabiv2_3/exeabiv2_3.mk
-../lib/flm/test/exeabiv2_3/test_big.cpp ../../tools/sbs/lib/flm/test/exeabiv2_3/test_big.cpp
-../lib/flm/win32stdlib.flm ../../tools/sbs/lib/flm/win32stdlib.flm
-../lib/flm/win32var2.flm ../../tools/sbs/lib/flm/win32var2.flm
-../lib/flm/win32implib.flm ../../tools/sbs/lib/flm/win32implib.flm
-../lib/flm/bitmap.flm ../../tools/sbs/lib/flm/bitmap.flm
-../lib/flm/build.flm ../../tools/sbs/lib/flm/build.flm
-../lib/flm/build.xml ../../tools/sbs/lib/flm/build.xml
-../lib/flm/tools2exe.flm ../../tools/sbs/lib/flm/tools2exe.flm
-../lib/flm/e32abiv2klib.flm ../../tools/sbs/lib/flm/e32abiv2klib.flm
-../lib/flm/standard.xml ../../tools/sbs/lib/flm/standard.xml
-../lib/flm/win32var.flm ../../tools/sbs/lib/flm/win32var.flm
-../lib/flm/e32abiv2pdd.flm ../../tools/sbs/lib/flm/e32abiv2pdd.flm
-../lib/flm/e32abiv2none.flm ../../tools/sbs/lib/flm/e32abiv2none.flm
-../lib/flm/romfile.mk ../../tools/sbs/lib/flm/romfile.mk
-../lib/flm/win32textnotifier2.flm ../../tools/sbs/lib/flm/win32textnotifier2.flm
-../lib/flm/resource.flm ../../tools/sbs/lib/flm/resource.flm
-../lib/flm/flmtools.mk ../../tools/sbs/lib/flm/flmtools.mk
-../lib/flm/gnumakefile.flm ../../tools/sbs/lib/flm/gnumakefile.flm
-../lib/flm/e32abiv2kdll.flm ../../tools/sbs/lib/flm/e32abiv2kdll.flm
-../lib/flm/e32abiv2var.flm ../../tools/sbs/lib/flm/e32abiv2var.flm
-../lib/flm/win32dll.flm ../../tools/sbs/lib/flm/win32dll.flm
-../lib/flm/gccxml.flm ../../tools/sbs/lib/flm/gccxml.flm
-../lib/flm/e32postlink.mk ../../tools/sbs/lib/flm/e32postlink.mk
-../lib/config/default.xml ../../tools/sbs/lib/config/default.xml
-../lib/config/build.xml ../../tools/sbs/lib/config/build.xml
-../lib/config/interfaces.xml ../../tools/sbs/lib/config/interfaces.xml
-../lib/config/gcc.xml ../../tools/sbs/lib/config/gcc.xml
-../lib/config/variants.xml ../../tools/sbs/lib/config/variants.xml
-../lib/config/coverity.xml ../../tools/sbs/lib/config/coverity.xml
-../lib/config/meta.xml ../../tools/sbs/lib/config/meta.xml
-../lib/config/locations.xml ../../tools/sbs/lib/config/locations.xml
-../lib/config/gccxml.xml ../../tools/sbs/lib/config/gccxml.xml
-../lib/config/carbide.xml ../../tools/sbs/lib/config/carbide.xml
-../lib/config/msvc.xml ../../tools/sbs/lib/config/msvc.xml
-../lib/config/make.xml ../../tools/sbs/lib/config/make.xml
-../lib/config/root.xml ../../tools/sbs/lib/config/root.xml
-../lib/config/winscw.xml ../../tools/sbs/lib/config/winscw.xml
-../lib/config/arm.xml ../../tools/sbs/lib/config/arm.xml
-../lib/config/gcce.xml ../../tools/sbs/lib/config/gcce.xml
-../lib/config/rvct.xml ../../tools/sbs/lib/config/rvct.xml
-../python/raptor_makefile.py ../../tools/sbs/python/raptor_makefile.py
-../python/filter_interface.py ../../tools/sbs/python/filter_interface.py
-../python/raptor_start.py ../../tools/sbs/python/raptor_start.py
-../python/pyparsing.py ../../tools/sbs/python/pyparsing.py
-../python/raptor_cli.py ../../tools/sbs/python/raptor_cli.py
-../python/raptor_cache.py ../../tools/sbs/python/raptor_cache.py
-../python/raptor_meta.py ../../tools/sbs/python/raptor_meta.py
-../python/raptor_xml.py ../../tools/sbs/python/raptor_xml.py
-../python/raptor_version.py ../../tools/sbs/python/raptor_version.py
-../python/generic_path.py ../../tools/sbs/python/generic_path.py
-../python/raptor_make.py ../../tools/sbs/python/raptor_make.py
-../python/plugins/filter_logfile.py ../../tools/sbs/python/plugins/filter_logfile.py
-../python/plugins/filter_terminal.py ../../tools/sbs/python/plugins/filter_terminal.py
-../python/plugins/filter_carbide.py ../../tools/sbs/python/plugins/filter_carbide.py
-../python/plugins/filter_what.py ../../tools/sbs/python/plugins/filter_what.py
-../python/plugins/dummyplugin.py ../../tools/sbs/python/plugins/dummyplugin.py
-../python/plugins/filter_clean.py ../../tools/sbs/python/plugins/filter_clean.py
-../python/plugins/filter_squashlog.py ../../tools/sbs/python/plugins/filter_squashlog.py
-../python/plugins/filter_checksource.py ../../tools/sbs/python/plugins/filter_checksource.py
-../python/plugins/filter_splitlog.py ../../tools/sbs/python/plugins/filter_splitlog.py
-../python/sbs_dist.py ../../tools/sbs/python/sbs_dist.py
-../python/raptor_utilities.py ../../tools/sbs/python/raptor_utilities.py
-../python/pluginbox.py ../../tools/sbs/python/pluginbox.py
-../python/dos2unix.py ../../tools/sbs/python/dos2unix.py
-../python/raptor_data.py ../../tools/sbs/python/raptor_data.py
-../python/filter_list.py ../../tools/sbs/python/filter_list.py
-../python/raptor.py ../../tools/sbs/python/raptor.py
-../python/mmpparser.py ../../tools/sbs/python/mmpparser.py
-../python/filter_utils.py ../../tools/sbs/python/filter_utils.py
-../schema/build/2_0.xsd ../../tools/sbs/schema/build/2_0.xsd
-../schema/build/log/1_0.xsd ../../tools/sbs/schema/build/log/1_0.xsd
-../schema/build/1_0.xsd ../../tools/sbs/schema/build/1_0.xsd
-../win32/bin/ransleep.exe ../../tools/sbs/win32/bin/ransleep.exe
-../win32/bin/sbs_descramble.exe ../../tools/sbs/win32/bin/sbs_descramble.exe
-../win32/bin/talonctl.exe ../../tools/sbs/win32/bin/talonctl.exe
-../win32/bin/talon.exe ../../tools/sbs/win32/bin/talon.exe
--- a/sbsv2/raptor/group/exports.sh Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# script to generate exports for this component
-
-# copy ../* to /tools/sbs
-
-find .. -maxdepth 1 -type f -not -name "distribution.policy*" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' > exports.inf
-
-for i in bin lib python schema util; do
- find ../$i -type f -not -name "distribution.policy*" -not -name "*.pyc" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' >> exports.inf
-done
-
--- a/sbsv2/raptor/group/exports.sh2 Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-#!/bin/bash
-
-# script to generate exports for this component to compare with the existing exports.inf
-
-# copy ../* to /tools/sbs
-
-find .. -maxdepth 1 -type f -not -name "distribution.policy*" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' > exports.inf2
-
-for i in bin examples lib python schema win32/bin; do
- find ../$i -type f -not -name "distribution.policy*" -not -name "*.pyc" -print | sed 's!\.\.\(.*\)!\.\.\1 /tools/sbs\1!' >> exports.inf2
-done
-
--- a/sbsv2/raptor/group/raptor.mrp Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-component dev_build_sbsv2_raptor
-
-
-source /src/tools/dev/build/sbsv2/raptor
-exports /src/tools/dev/build/sbsv2/raptor/group
-
-ipr T
-ipr B ../python/pyparsing.py
-
-notes_source release.txt
-
--- a/sbsv2/raptor/group/release.txt Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-NOTESRC_RELEASER
-Symbian Software Ltd. (kits.notify@symbian.com)
-
-NOTESRC_RELEASE_REASON
-Symbian Build System release.
--- a/sbsv2/raptor/lib/config/arm.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/arm.xml Wed Oct 06 15:13:17 2010 +0100
@@ -7,20 +7,37 @@
<!-- tools and scripts -->
<env name="BMCONV" default="$(EPOCROOT)/epoc32/tools/bmconv$(DOTEXE)" type="tool"/>
- <env name="CHECKLIB" default="$(EPOCROOT)/epoc32/tools/checklib$(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="EFREEZE" default="$(PERL) $(EPOCROOT)/epoc32/tools/efreeze.pl" type="script"/>
- <env name="ELF2E32" default="$(EPOCROOT)/epoc32/tools/elf2e32$(DOTEXE)" type="tool"/>
- <env name="PREPDEF" default="$(PERL) $(EPOCROOT)/epoc32/tools/prepdef.pl" type="script"/>
- <env name="RCOMP" default="$(EPOCROOT)/epoc32/tools/rcomp$(DOTEXE)" type="tool"/>
+ <env name="SBS_EFREEZE" default="$(PERL) $(EPOCTOOLS)/efreeze.pl" type="script"/>
+ <set name="EFREEZE" value="$(SBS_EFREEZE)"/>
+ <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="TRANASM" default="$(PERL) $(EPOCROOT)/epoc32/tools/tranasm.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=""/>
@@ -38,11 +55,13 @@
<set name="CODE_SEGMENT_START" value=""/>
<set name="DEFAULT_STDCPP_NEWLIB" value="stdnew.dso"/>
<set name="DEFAULT_SYMBIAN_NEWLIB" value="scppnwdl.dso"/>
- <set name="DUMPBCINFO" value=""/>
<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 - "/>
@@ -53,21 +72,21 @@
<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_DLL_DEFINITION" value="__DLL__"/>
- <set name="SYMBIAN_EXE_DEFINITION" value="__EXE__"/>
<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="UNIX_SLASH_FOR_CC_ABS_PATHS" value="0"/>
+ <set name="TREAT_EXES_AS_SHARED" value="1"/>
<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
</var>
@@ -134,8 +153,8 @@
<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.rvct3_1"/>
- <alias name="armv7_udeb" meaning="arm.v7.udeb.rvct3_1"/>
+ <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"/>
--- a/sbsv2/raptor/lib/config/default.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/default.xml Wed Oct 06 15:13:17 2010 +0100
@@ -27,6 +27,7 @@
<groupRef ref="tools"/>
<groupRef ref="tools2"/>
<groupRef ref="winscw"/>
+ <groupRef ref="x86"/>
</group>
</build>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/config/empty.hrh Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,9 @@
+/*
+
+There is a general assumption that there is always a pre-include file
+in every build. So for the cases where there is no .hrh file in the
+epoc32 tree, yet, you can use this file.
+
+The "nohrh" variant points VARIANT_HRH at this file.
+
+*/
--- a/sbsv2/raptor/lib/config/gcc.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/gcc.xml Wed Oct 06 15:13:17 2010 +0100
@@ -16,7 +16,12 @@
<!-- tools and scripts -->
<env name='JAVATC' default='$(JAVA_HOME)/bin/java' type='tool'/> <!-- Java used by Trace Compiler -->
+ <!-- targettypes -->
+ <set name="TARGET_TYPES" value="exe lib"/>
+
<!-- interfaces -->
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+
<set name="INTERFACE.exe" value="Tools.exe"/>
<set name="INTERFACE.lib" value="Tools.lib"/>
@@ -43,7 +48,7 @@
<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/gcc.h'/>
+ <set name='PREINCLUDE' value='$(EPOCINCLUDE)/gcc/gcc.h'/>
<set name='OPT.D' value='-D'/>
<set name='OPT.L' value='-L'/>
@@ -74,10 +79,11 @@
<set name='BLDINF_OUTPUTPATH' value='$(SBS_BUILD_DIR)'/>
<set name='OUTPUTPATH' value='$(SBS_BUILD_DIR)'/>
- <set name='RELEASEPATH' value='$(EPOCROOT)/epoc32/release/tools2$$(TOOLPLATFORMDIR)'/>
+ <set name='RELEASEPATH' value='$(EPOCROOT)/epoc32/release/tools2' host='win.*'/>
+ <set name='RELEASEPATH' value='$(EPOCROOT)/epoc32/release/tools2/$(HOSTPLATFORM_DIR)' host='lin.*'/>
</var>
- <var name="tools2_deb" extends="tools2_base">
+ <var name="t_deb">
<set name='TOOLSPATH' value=''/> <!-- do not install -->
<set name='VARIANTTYPE' value='deb'/>
@@ -85,19 +91,21 @@
<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 -->
+ <alias name="tools2_deb" meaning="tools2_base.t_deb"/>
+
+ <var name="t_rel">
+ <set name='TOOLSPATH' value='$(EPOCROOT)/epoc32/tools'/> <!-- install -->
<set name='VARIANTTYPE' value='rel'/>
<append name='CFLAGS' value='-s'/>
<append name='CDEFS' value='NDEBUG'/>
<append name='RELEASEPATH' value='/rel' separator=''/>
</var>
-
+ <alias name="tools2_rel" meaning="tools2_base.t_rel"/>
+
<group name="tools2">
- <varRef ref='tools2_rel'/>
- <varRef ref='tools2_deb'/>
+ <aliasRef ref='tools2_rel'/>
+ <aliasRef ref='tools2_deb'/>
</group>
</build>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/config/gcc_x86.xml Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,122 @@
+<?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 variant for GCC x86 toolchains -->
+ <var name="gccx86_base">
+ <set name="TOOLCHAIN" value="GCC"/>
+ <set name="PLATMACROS.TOOLCHAIN" value="X86GCC GCC32"/>
+
+ <set name="TRADITIONAL_PLATFORM" value="X86"/>
+ <set name="VARIANTPLATFORM" value="x86"/>
+
+ <!-- toolchain tools -->
+ <set name="GCCX86AR" value="$(GCCX86BIN)/ar$(DOTEXE)"/>
+ <set name="GCCX86ASM" value="$(GCCX86BIN)/as$(DOTEXE)"/>
+ <set name="GCCX86CC" value="$(GCCX86BIN)/g++$(DOTEXE)"/>
+ <set name="GCCX86LD" value="$(GCCX86BIN)/g++$(DOTEXE)"/>
+ <set name="GCCX86DLLTOOL" value="$(GCCX86BIN)/dlltool$(DOTEXE)"/>
+ <set name="FROMELF" value="$(GCCX86BIN)/readelf$(DOTEXE)"/>
+
+ <set name="CC" value="$(GCCX86CC)"/>
+ <set name="LD" value="$(GCCX86LD)"/>
+ <set name="ASM" value="$(GCCX86ASM)"/>
+ <set name="AR" value="$(GCCX86AR)"/>
+ <set name="DLLTOOL" value="$(GCCX86DLLTOOL)"/>
+
+ <set name="AAPCS_OPTION" value=""/>
+ <set name="ARCHIVER_CREATE_OPTION" value="cr"/>
+ <set name="ARM_INSTRUCTION_SET" value=""/>
+ <set name="ARMLIBS" value=""/>
+ <set name="ASM_OUTPUT_OPTION" value="-o"/>
+ <set name="ASSEMBLER_LISTING_OPTION" value="-S"/>
+ <set name="BPABI_OPTION" value=""/>
+ <set name="C_LANG_OPTION" value="-x c -masm=intel"/>
+ <set name="CC.NO_UNALIGNED_ACCESS" value=""/>
+ <set name="CC.SOFTVFP_MAYBE_VFPV2" value="soft"/>
+ <set name="CC.SOFTVFP_MAYBE_VFPV3" value="soft"/>
+ <set name="CC_ERRORS_CONTROL_OPTION" value=""/>
+ <set name="CC_WARNINGS_CONTROL_OPTION" value="-Wall -Wno-unknown-pragmas"/>
+ <set name="CIADEFS" value="__CIA__"/>
+ <set name="CODE_SEGMENT_START" value="-Ttext"/>
+ <set name="COMMANDFILE_OPTION" value="@"/>
+ <set name="COMPILE_ONLY_OPTION" value="-c"/>
+ <set name="COMPILER_CIA_FLAGS" value="-O1 -fomit-frame-pointer"/>
+ <set name="COMPILER_FPU_OPTION" value=""/>
+ <set name="COMPILER_INTERWORK_DEFINES" value=""/>
+ <set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-I"/>
+ <set name="COMPILER_THUMB_DEFINES" value=""/>
+ <set name="CPP_LANG_OPTION" value="-x c++ -masm=intel -fno-rtti -fno-exceptions -fcheck-new"/>
+ <set name="DATA_SEGMENT_START" value="$(SPLIT_OPTION) $(RW_BASE_OPTION)"/>
+ <set name="DEBUG_OPTIMISATION" value="-O0"/>
+ <set name="DEBUGINFO_OPTIMISATION" value=""/>
+ <set name="DEPEND_OPTION" value="-MD -MF"/>
+ <set name="ENUM_OPTION" value=""/>
+ <set name="EXCEPTIONS" value=""/>
+ <set name="EXPORT_VTBL_OPTION" value=""/>
+ <set name="EXTRA_CC_OPTION" value=""/>
+ <set name="EXTRA_LD_OPTION" value=""/>
+ <set name="FPMODE_OPTION" value=""/>
+ <set name="HEADER_FILES_CONTROL_OPTION" value=""/>
+ <set name="INSTRUCTION_SET" value=""/>
+ <set name="KERNEL_STATIC_RUNTIME_LIB" value=""/>
+ <set name="LD_ERRORS_CONTROL_OPTION" value=""/>
+ <set name="LD_WARNINGS_CONTROL_OPTION" value=""/>
+ <set name="LIBPATH" value=""/>
+ <set name="LIBRARY" value=""/>
+ <set name="LICENSERETRY_OPTION" value=""/>
+ <set name="LINKER_ADD_STATIC_RUNTIME" value="1"/>
+ <set name="LINKER_DEBUG_OPTION" value=""/>
+ <set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
+ <set name="LINKER_DEFAULT_LIBS" value=""/>
+ <set name="LINKER_ENTRY_OPTION" value="-Wl,--entry"/>
+ <set name="LINKER_GROUP_END_OPTION" value="--end-group"/>
+ <set name="LINKER_GROUP_START_OPTION" value="--start-group"/>
+ <set name="LINKER_MISC_FLAGS" value="-nostdlib"/>
+ <set name="LINKER_NODEBUG_OPTION" value = ""/>
+ <set name="LINKER_SCRIPT_FILE_OPTION" value="-T"/>
+ <set name="LINKER_SYMBOLS_FILE_OPTION" value="-Wl,-Map"/>
+ <set name="LINKER_SYMBOLS_OPTION" value=""/>
+ <set name="LISTING_OPTION" value="-S"/>
+ <set name="NEED_ENTRYPOINT_LIBRARY" value="" />
+ <set name="NEED_ENTRYPOINT_LIBRARY" value=""/>
+ <set name="NO_EXCEPTIONS" value="-fno-exceptions"/>
+ <set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
+ <set name="OWN_LIBRARY_OPTION" value=""/>
+ <set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
+ <set name="PL.SOFTVFP_MAYBE_VFPV3" value="softvfp"/>
+ <set name="PREINCLUDE" value="$(EPOCINCLUDE)/gcc.h"/>
+ <set name="PREINCLUDE_OPTION" value="-include"/>
+ <set name="PREPROCESSOR_OPTION" value="-E"/>
+ <set name="REL_OPTIMISATION" value="-O2"/>
+ <set name="RELOCATABLE_IMAGE_OPTION" value=""/>
+ <set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value=""/>
+ <set name="RVCTBIN" value="" />
+ <set name="RVCTINC" value="" />
+ <set name="RVCTLIB" value=""/>
+ <set name="RW_BASE" value=""/>
+ <set name="RW_BASE_OPTION" value=""/>
+ <set name="SHARED_OBJECT_OPTION" value="-Wl,--dll"/>
+ <set name="SID" value=""/>
+ <set name="SO_NAME_OPTION" value=""/>
+ <set name="SPLIT_OPTION" value=""/>
+ <set name="STATIC_LIBS_LIST" value=""/>
+ <set name="STATIC_LIBS_PATH" value="" />
+ <set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
+ <set name="STDLIB_OPTION" value=""/>
+ <set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
+ <set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
+ <set name="SYMVER_OPTION" value=""/>
+ <set name="TARGET_RELOCATION_OPTION" value="--target1-rel" />
+ <set name="TEMP_FILES_OPTION" value="-pipe"/>
+ <set name="THUMB_INSTRUCTION_SET" value=""/>
+ <set name="TRANSFORM_CIA" value=""/>
+ <set name="UNDEFINED_SYMBOL_REF_OPTION" value="-u"/>
+ <set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
+ <set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
+ <set name="USER_STATIC_RUNTIME_LIB" value=""/>
+ <set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value=""/>
+ <set name="USERINCLUDE" value=""/>
+ <set name="VFE_OPTION" value=""/>
+
+ <append name="CDEFS" value="__X86GCC__ __GCC32__"/>
+ </var>
+</build>
--- a/sbsv2/raptor/lib/config/gcce.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/gcce.xml Wed Oct 06 15:13:17 2010 +0100
@@ -14,14 +14,14 @@
<set name="CC" value="$(GCCECC)"/>
<set name="LD" value="$(GCCELD)"/>
- <set name="ASM" value="$(GCCEASM)"/>
+ <set name="ASM" value="$(GCCECC)"/>
<set name="AR" value="$(GCCEAR)"/>
-
- <set name="AAPCS_OPTION" value="-mapcs-frame -mthumb-interwork"/>
+
+ <set name="AAPCS_OPTION" value="-mapcs -mthumb-interwork"/>
<set name="ARCHIVER_CREATE_OPTION" value="cr"/>
<set name="ARM_INSTRUCTION_SET" value="-marm"/>
<set name="ARMLIBS" value=""/>
- <set name="ASM_OUTPUT_OPTION" value="-o"/>
+ <set name="ASM_OUTPUT_OPTION" value="-c -o"/>
<set name="ASSEMBLER_LISTING_OPTION" value="-S"/>
<set name="BPABI_OPTION" value=""/>
<set name="C_LANG_OPTION" value="-x c"/>
@@ -37,20 +37,20 @@
<set name="CC.SOFTVFP_MAYBE_VFPV3" value="soft"/>
<set name="CC_ERRORS_CONTROL_OPTION" value=""/>
<set name="CC_WARNINGS_CONTROL_OPTION" value="-Wall -Wno-unknown-pragmas"/>
- <set name="CFLAGS" value=""/>
<set name="CIADEFS" value="__CIA__"/>
<set name="CODE_SEGMENT_START" value="-Ttext"/>
<set name="COMMANDFILE_OPTION" value="@"/>
<set name="COMPILE_ONLY_OPTION" value="-c"/>
- <set name="COMPILER_CIA_FLAGS" value="-marm"/>
- <set name="COMPILER_DEFINES" value="-D__GCCE__"/>
- <set name="COMPILER_FPU_OPTION" value="-mfloat-abi="/>
+ <set name="COMPILER_CIA_FLAGS" value="-marm"/>
+ <set name="COMPILER_FPU_OPTION" value="-mfloat-abi="/>
<set name="COMPILER_INTERWORK_DEFINES" value="__MARM_INTERWORK__"/>
+ <set name="COMPILER_NO_HIDE_ALL_OPTION" value="-fvisibility=default"/>
<set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-I"/>
<set name="COMPILER_THUMB_DEFINES" value="__MARM_THUMB__"/>
<set name="CPP_LANG_OPTION" value="-x c++ -Wno-ctor-dtor-privacy"/>
<set name="DATA_SEGMENT_START" value="$(SPLIT_OPTION) $(RW_BASE_OPTION)"/>
<set name="DEBUG_OPTIMISATION" value="-O0"/>
+ <set name="DEBUGINFO_OPTIMISATION" value=""/>
<set name="DEPEND_OPTION" value="-MD -MF"/>
<set name="ENUM_OPTION" value=""/>
<set name="EXCEPTIONS" value="-fexceptions"/>
@@ -89,6 +89,7 @@
<set name="OWN_LIBRARY_OPTION" value=""/>
<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
<set name="PL.SOFTVFP_MAYBE_VFPV3" value="softvfp"/>
+ <set name='POSTLINKER_ASM_OPTION' value="--asm=gas"/>
<set name="PREINCLUDE" value="$(EPOCINCLUDE)/gcce/gcce.h"/>
<set name="PREINCLUDE_OPTION" value="-include"/>
<set name="PREPROCESSOR_OPTION" value="-E"/>
@@ -108,13 +109,13 @@
<set name="STATIC_LIBS_PATH" value="" />
<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
<set name="STDLIB_OPTION" value="-nodefaultlibs"/>
- <set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
+ <set name="SUPPORTS_ABIV1_IMPLIBS" value=""/>
<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
<set name="SYMVER_OPTION" value="-Wl,--default-symver"/>
<set name="TARGET_RELOCATION_OPTION" value="--target1-rel" />
<set name="TEMP_FILES_OPTION" value="-pipe"/>
<set name="THUMB_INSTRUCTION_SET" value="-mthumb"/>
- <set name="TRANSFORM_CIA" value=""/>
+ <set name="TRANSFORM_CIA" value=""/>
<set name="UNDEFINED_SYMBOL_REF_OPTION" value="-u"/>
<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
--- a/sbsv2/raptor/lib/config/gccxml.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/gccxml.xml Wed Oct 06 15:13:17 2010 +0100
@@ -11,20 +11,26 @@
<env name='CPP' default='$(GNUCPP)' type='tool'/>
<env name='CREATERFIFILE' default='$(PERL) $(SBS_HOME)/bin/createrfifile.pl ' type='script'/>
<env name='GNUAWK' default='$(GNUPREFIX)gawk$(DOTEXE)' type='tool' versionCommand='$(GNUAWK) --version' versionResult='GNU Awk [3-9].*'/>
- <env name='MAKEDEF' default='$(PERL) $(EPOCROOT)/epoc32/tools/makedef.pl' type='script'/>
- <env name='PREPDEF' default='$(PERL) $(EPOCROOT)/epoc32/tools/prepdef.pl' type='script'/>
- <env name='RCOMP' default='$(EPOCROOT)/epoc32/tools/rcomp$(DOTEXE)' type='tool'/>
+ <env name='SBS_MAKEDEF' default='$(PERL) $(EPOCTOOLS)/makedef.pl' type='script'/>
+ <set name='MAKEDEF' value='$(SBS_MAKEDEF)'/>
+ <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)'/>
<env name='STRINGTABLE' default='$(PERL) $(EPOCROOT)/epoc32/tools/stringtable.pl' type='script'/>
<!-- link to bld.inf and mmp platform names -->
<set name='TRADITIONAL_PLATFORM' value='GCCXML'/>
+ <!-- targettypes -->
+ <set name="TARGET_TYPES" value="ani dll exe exexp implib fsy kdll kext klib ldd lib pdd pdl plugin stddll stdexe stdlib textnotifier2 var var2 none"/>
<!-- interfaces -->
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+
<set name="INTERFACE.ani" value="analysis.ani"/>
<set name="INTERFACE.dll" value="analysis.dll"/>
<set name="INTERFACE.exe" value="analysis.exe"/>
<set name="INTERFACE.exexp" value="analysis.exexp"/>
- <set name="INTERFACE.extension" value="analysis.extension"/>
<set name="INTERFACE.implib" value="analysis.implib"/>
<set name="INTERFACE.fsy" value="analysis.fsy"/>
<set name="INTERFACE.kdll" value="analysis.kdll"/>
@@ -35,7 +41,6 @@
<set name="INTERFACE.pdd" value="analysis.pdd"/>
<set name="INTERFACE.pdl" value="analysis.pdl"/>
<set name="INTERFACE.plugin" value="analysis.plugin"/>
- <set name="INTERFACE.resource" value="analysis.resource"/>
<set name="INTERFACE.stddll" value="analysis.stddll"/>
<set name="INTERFACE.stdexe" value="analysis.stdexe"/>
<set name="INTERFACE.stdlib" value="analysis.stdlib"/>
@@ -45,6 +50,10 @@
<!-- the following should really be done via the default "Symbian.*" interfaces from standard.xml - but they're currently tied to non-defaulted ARM build specifics -->
<set name="INTERFACE.none" value="analysis.none"/>
+ <!-- START block interfaces -->
+ <set name="INTERFACE.extension" value="analysis.extension"/>
+ <set name="INTERFACE.resource" value="analysis.resource"/>
+
<!-- Java used by Trace Compiler -->
<env name='JAVA_HOME' default='' type='path'/>
<env name='JAVATC' default='$(JAVA_HOME)/bin/java' type='tool'/>
--- a/sbsv2/raptor/lib/config/interfaces.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/interfaces.xml Wed Oct 06 15:13:17 2010 +0100
@@ -4,32 +4,32 @@
<var name="default.interfaces">
<!-- interfaces corresponding to target types -->
-
- <set name="INTERFACE_TYPES" value="exe stdexe ext_makefile dll stddll lib stdlib export extension ani plugin plugin3 textnotifier2 implib var var2 exexp kexe kdll kext klib pdll ldd pdd pdl fsy resource none stringtable bitmap"/>
- <set name="INTERFACE.exe" value="Symbian.exe"/>
- <set name="INTERFACE.stdexe" value="Symbian.stdexe"/>
- <set name="INTERFACE.stddll" value="Symbian.stddll"/>
- <set name="INTERFACE.stdlib" value="Symbian.stdlib"/>
+ <set name="INTERFACE.ani" value="Symbian.ani"/>
<set name="INTERFACE.dll" value="Symbian.dll"/>
- <set name="INTERFACE.pdll" value="Symbian.pdll"/>
- <set name="INTERFACE.lib" value="Symbian.lib"/>
- <set name="INTERFACE.ani" value="Symbian.ani"/>
- <set name="INTERFACE.plugin" value="Symbian.plugin"/>
- <set name="INTERFACE.plugin3" value="Symbian.plugin3"/>
- <set name="INTERFACE.textnotifier2" value="Symbian.textnotifier2"/>
+ <set name="INTERFACE.exe" value="Symbian.exe"/>
+ <set name="INTERFACE.exexp" value="Symbian.exexp"/>
+ <set name="INTERFACE.fsy" value="Symbian.fsy"/>
<set name="INTERFACE.implib" value="Symbian.implib"/>
- <set name="INTERFACE.var" value="Symbian.var"/>
- <set name="INTERFACE.var2" value="Symbian.var2"/>
- <set name="INTERFACE.exexp" value="Symbian.exexp"/>
- <set name="INTERFACE.kexe" value="Symbian.kexe"/>
<set name="INTERFACE.kdll" value="Symbian.kdll"/>
<set name="INTERFACE.kext" value="Symbian.kext"/>
<set name="INTERFACE.klib" value="Symbian.klib"/>
<set name="INTERFACE.ldd" value="Symbian.ldd"/>
+ <set name="INTERFACE.lib" value="Symbian.lib"/>
+ <set name="INTERFACE.none" value="Symbian.none"/>
<set name="INTERFACE.pdd" value="Symbian.pdd"/>
<set name="INTERFACE.pdl" value="Symbian.pdl"/>
- <set name="INTERFACE.fsy" value="Symbian.fsy"/>
- <set name="INTERFACE.none" value="Symbian.none"/>
+ <set name="INTERFACE.pdll" value="Symbian.pdll"/>
+ <set name="INTERFACE.plugin" value="Symbian.plugin"/>
+ <set name="INTERFACE.plugin3" value="Symbian.plugin3"/>
+ <set name="INTERFACE.stdexe" value="Symbian.stdexe"/>
+ <set name="INTERFACE.stddll" value="Symbian.stddll"/>
+ <set name="INTERFACE.stdlib" value="Symbian.stdlib"/>
+ <set name="INTERFACE.textnotifier2" value="Symbian.textnotifier2"/>
+ <set name="INTERFACE.var" value="Symbian.var"/>
+ <set name="INTERFACE.var2" value="Symbian.var2"/>
+
+ <!-- START block interfaces -->
+ <set name="INTERFACE_TYPES" value="ext_makefile extension export resource stringtable bitmap"/>
<set name="INTERFACE.ext_makefile" value="base.ext_makefile"/>
<set name="INTERFACE.extension" value="base.extension"/>
<set name="INTERFACE.export" value="base.export"/>
--- a/sbsv2/raptor/lib/config/locations.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/locations.xml Wed Oct 06 15:13:17 2010 +0100
@@ -7,29 +7,32 @@
-->
<var name="hostplatform.locations" host='linux.*'>
+ <env name='SBS_SLASHBIN' default='/bin'/>
+ <env name='SBS_USRBIN' default='/usr/bin'/>
+
<set name='DOTEXE' value=''/>
- <set name='GCCPREFIX' value='/usr/bin/'/>
- <set name='GNUPREFIX' value='/bin/'/>
+ <set name='GCCPREFIX' value='$(SBS_USRBIN)/'/>
+ <set name='GNUPREFIX' value='$(SBS_SLASHBIN)/'/>
<env name='HOSTPLATFORM_DIR' default='linux-i386' />
<env name='HOSTPLATFORM' default='linux i386'/>
- <env name='SBS_GNUCPP' default='/usr/bin/cpp' type='tool'/>
- <env name='SBS_GNUDATE' default='/bin/date' type='tool'/>
+ <env name='SBS_GNUCPP' default='$(SBS_USRBIN)/cpp' type='tool'/>
+ <env name='SBS_GNUDATE' default='$(SBS_SLASHBIN)/date' type='tool'/>
<env name='SBS_GNUMAKE38' default='$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/make' type='tool'/>
- <env name='SBS_GNUSED' default='/bin/sed' type='tool'/>
- <env name='SBS_GNUMKDIR' default='/bin/mkdir' type='tool'/>
- <env name='SBS_GNUMV' default='/bin/mv' type='tool'/>
- <env name='SBS_GNUCP' default='/bin/cp' type='tool'/>
- <env name='SBS_GNUCAT' default='/bin/cat' type='tool'/>
- <env name='SBS_GNURM' default='/bin/rm' type='tool'/>
- <env name='SBS_GNULN' default='/bin/ln' type='tool'/>
- <env name='SBS_GNURMDIR' default='/bin/rmdir' type='tool'/>
- <env name='SBS_GNUCHMOD' default='/bin/chmod' type='tool'/>
- <env name='SBS_GNUMD5SUM' default='/usr/bin/md5sum' type='tool'/>
- <env name='SBS_GNUTOUCH' default='/bin/touch' type='tool'/>
- <env name='SBS_GNUFIND' default='/usr/bin/find' type='tool'/>
- <env name='SBS_GNUGREP' default='/bin/grep' type='tool'/>
+ <env name='SBS_GNUSED' default='$(SBS_SLASHBIN)/sed' type='tool'/>
+ <env name='SBS_GNUMKDIR' default='$(SBS_SLASHBIN)/mkdir' type='tool'/>
+ <env name='SBS_GNUMV' default='$(SBS_SLASHBIN)/mv' type='tool'/>
+ <env name='SBS_GNUCP' default='$(SBS_SLASHBIN)/cp' type='tool'/>
+ <env name='SBS_GNUCAT' default='$(SBS_SLASHBIN)/cat' type='tool'/>
+ <env name='SBS_GNURM' default='$(SBS_SLASHBIN)/rm' type='tool'/>
+ <env name='SBS_GNULN' default='$(SBS_SLASHBIN)/ln' type='tool'/>
+ <env name='SBS_GNURMDIR' default='$(SBS_SLASHBIN)/rmdir' type='tool'/>
+ <env name='SBS_GNUCHMOD' default='$(SBS_SLASHBIN)/chmod' type='tool'/>
+ <env name='SBS_GNUMD5SUM' default='$(SBS_USRBIN)/md5sum' type='tool'/>
+ <env name='SBS_GNUTOUCH' default='$(SBS_SLASHBIN)/touch' type='tool'/>
+ <env name='SBS_GNUFIND' default='$(SBS_USRBIN)/find' type='tool'/>
+ <env name='SBS_GNUGREP' default='$(SBS_SLASHBIN)/grep' type='tool'/>
<env name='SBS_GNUSORT' default='sort' type='tool'/>
<env name='SBS_SHELL' default="$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/sh" type='tool'/>
<env name='SBS_ZIP' default="$(SBS_HOME)/$(HOSTPLATFORM_DIR)/bin/zip" type='tool'/>
@@ -101,11 +104,11 @@
<set name='ZIP' value="$(SBS_ZIP)" type='tool'/>
<set name='UNZIP' value="$(SBS_UNZIP)" type='tool'/>
<set name='PERL' value='$(SBS_PERL)' type='tool'/>
- <set name='PYTHON' value='$(SBS_PYTHON)' type='tool' versionCommand='$(PYTHON) -V' versionResult='Python 2\.[456].*'/>
+ <set name='PYTHON' value='$(SBS_PYTHON)' type='tool' versionCommand='$(PYTHON) -V' versionResult='Python 2\.[4567].*'/>
- <set name='DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW'/>
- <set name='BASE_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW ARMV5SMP'/>
- <set name='BASE_USER_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW'/>
+ <set name='DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW X86'/>
+ <set name='BASE_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW ARMV5SMP X86'/>
+ <set name='BASE_USER_DEFAULT_PLATFORMS' value='ARMV5 ARMV7 WINSCW X86'/>
<set name='BUILD_INCLUDE' value=''/>
<set name='CREATEVMAP' value='$(PYTHON) $(SBS_HOME)/bin/createvmap.py' type='script'/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/config/logfile_regex.csv Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,65 @@
+priority,regex,description
+CRITICAL,.*Error:.*mingw_make\.exe.*,
+ERROR,.*\: cannot create regular file.*,
+ERROR,.*\): Missing file:.*,
+ERROR,(?:(?:\s*\d+\)\s*)|(?:\s*\*\*\*\s*))ERROR:.*,
+ERROR,.*is not recognized as an internal or external command.*,
+ERROR,MISSING:.*,
+ERROR,.*FLEXlm error:.*,
+ERROR,.*(ABLD|BLDMAKE)\s*ERROR:.*,
+ERROR,.*FATAL ERROR\(S\):.*,
+ERROR,.*fatal error C1001: INTERNAL COMPILER ERROR.*,
+ERROR,.*fatal error U1077.*,
+ERROR,^fatal error.*,
+ERROR,.*warning U4010.*,
+ERROR,make(?:\.exe)?\s*(?:\[\d+\])\s*?\:\s*\*\*\*.*,
+ERROR,make(?:\.exe)(?:\[\d+\])?\:.*\s+not\s+remade.*,
+ERROR,make(?:\.exe)\s*:\s*\*\*\*.*\s*[Nn]o rule.*,
+ERROR,"\""(?:.*)\"" , line (\d+): (Error: +(.\d+.*?):.*)",
+ERROR,error: ((Internal fault):.*)$,
+ERROR,.*Exception: STATUS_ACCESS_VIOLATION.*,
+ERROR,.*target .* given more than once in the same rule.*,
+ERROR,ERROR:.*,
+ERROR,Error:.*,
+ERROR,ERROR\t.*,
+ERROR,^.*\s*elf2e32\s*:\s*Error\s*:\s*,
+ERROR,.*[Nn]o such file or directory\s*.*,
+ERROR,Exception: [A-Z0-9_]+.*,
+ERROR,.*target .* given more than once in the same rule.*,
+ERROR,ERROR EC\d+:.*,
+ERROR,Errors caused tool to abort..*,
+ERROR,ERROR\t.*,
+ERROR,.*Traceback \(most recent call last\).*,
+ERROR,Application encountered an unexpected error\.\s*Stopping\.\s*,
+ERROR,Unable to write dump file .+,
+ERROR,Unable to connect to CM: .*,
+ERROR,.*: Incorrect slash in .*,
+ERROR,.*: Incorrect case for epoc32 tree in .*,
+ERROR,.*: Incorrect case versus exclusion list in .*,
+ERROR,The system cannot find the path specified.*,
+CRITICAL,.*[Ww]arning:?\s+(#111-D|#1166-D|#117-D|#128-D|#1293-D|#1441-D|#170-D|#174-D|#175-D|#185-D|#186-D|#223-D|#231-D|#257-D|#284-D|#368-D|#414-D|#430-D|#47-D|#514-D|#546-D|#68-D|#69-D|#830-D|#940-D|#836-D|A1495E|L6318W|C2874W|C4127|C4355|C4530|C4702|C4786|LNK4049).*,
+WARNING,(\d+\))?\s.*WARNING:.*,
+WARNING,(BLDMAKE |MAKEDEF )?WARNING:.*,
+WARNING,.*\(\d+\) : warning C.*,
+WARNING,.*\d+: warning:.*,
+WARNING,.*Usage Warning:.*,
+WARNING,.*mwld.exe:.*,
+WARNING,Command line warning.*,
+WARNING,.*ERROR: bad relocation:.*,
+WARNING,(\d+) warning.*,
+WARNING,.*EventType:\s+Error\s+Source:\s+SweepNT.*,
+WARNING,WARN\t.*,
+WARNING,.*LINK : warning.*,
+WARNING,.*\s*elf2e32\s*:\s*Warning\s*:\s*,
+WARNING,Warning:.*,
+REMARK,"\"".*\""\, line \d+: Warning: +(.\d+.*?):.*",
+REMARK,.*Command line warning D4025 : .*,
+REMARK,REMARK: .*,
+REMARK,EventType:\s+Error\s+Source:\s+GNU\s+Make.*,
+REMARK,".*:\d+: warning: cannot find matching deallocation function.*",
+REMARK,(:\d+)*: note: .*,
+INFO,INFO:.*,
+WARNING,"line \d+: Warning:'\, r':\s+warning\s+\w+:.*",
+WARNING,"\""(.*)\""\, line (\d+): (Warning: +(?!A1495E)(.\d+.*?):.*)",
+WARNING,Warning\s*:\s*.*,
+ERROR,.*Error\s*:\s*.*,
\ No newline at end of file
--- a/sbsv2/raptor/lib/config/msvc.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/msvc.xml Wed Oct 06 15:13:17 2010 +0100
@@ -18,7 +18,12 @@
<!-- link to bld.inf and mmp platform names -->
<set name='TRADITIONAL_PLATFORM' value='TOOLS'/>
+ <!-- targettypes -->
+ <set name="TARGET_TYPES" value="exe lib"/>
+
<!-- interfaces -->
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+
<set name="INTERFACE.exe" value="msvctools.exe"/>
<set name="INTERFACE.lib" value="msvctools.lib"/>
--- a/sbsv2/raptor/lib/config/root.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/root.xml Wed Oct 06 15:13:17 2010 +0100
@@ -23,17 +23,18 @@
<!-- Common folders and files -->
<var name="root.places">
<env name='EPOCROOT' default='/' type='path'/>
+ <env name='SBS_EPOCTOOLS' default='$(EPOCROOT)/epoc32/tools' type='path'/>
<set name='EPOCINCLUDE' value='$(EPOCROOT)/epoc32/include'/>
- <set name='EPOCTOOLS' value='$(EPOCROOT)/epoc32/tools'/>
+ <set name='EPOCTOOLS' value='$(SBS_EPOCTOOLS)'/>
<!-- Place where intermediate files are built -->
<env name='SBS_BUILD_DIR' default='$(EPOCROOT)/epoc32/build' type='path'/>
<!-- Configuration files and directories -->
<set name='PRODUCT_INCLUDE' value='$(EPOCINCLUDE)/variant/symbian_os.hrh'/>
- <set name='VARIANT_CFG' value='$(EPOCTOOLS)/variant/variant.cfg'/>
- <set name='MAKEFILE_TEMPLATES' value='$(EPOCTOOLS)/makefile_templates'/>
+ <set name='VARIANT_CFG' value='$(EPOCROOT)/epoc32/tools/variant/variant.cfg'/>
+ <set name='MAKEFILE_TEMPLATES' value='$(EPOCROOT)/epoc32/tools/makefile_templates'/>
<set name='FLM_EXPORT_DIR' value='$(MAKEFILE_TEMPLATES)'/>
</var>
--- a/sbsv2/raptor/lib/config/rvct.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/rvct.xml Wed Oct 06 15:13:17 2010 +0100
@@ -4,19 +4,19 @@
<var name="rvct">
<set name="TOOLCHAIN" value="RVCT"/>
<set name="PLATMACROS.TOOLCHAIN" value="ARMCC"/>
-
+
<!-- toolchain tools -->
<set name="ARMAR" value="$(RVCTBIN)/armar$(DOTEXE)"/>
<set name="ARMASM" value="$(RVCTBIN)/armasm$(DOTEXE)"/>
<set name="ARMCC" value="$(RVCTBIN)/armcc$(DOTEXE)"/>
<set name="ARMLD" value="$(RVCTBIN)/armlink$(DOTEXE)"/>
<set name="FROMELF" value="$(RVCTBIN)/fromelf$(DOTEXE)"/>
-
+
<set name="CC" value="$(ARMCC)"/>
<set name="LD" value="$(ARMLD)"/>
<set name="ASM" value="$(ARMASM)"/>
- <set name="AR" value="$(ARMAR)"/>
-
+ <set name="AR" value="$(ARMAR)"/>
+
<set name="AAPCS_OPTION" value="--apcs /inter"/>
<set name="ARCHIVER_CREATE_OPTION" value="--create"/>
<set name="ARM_INSTRUCTION_SET" value="--arm"/>
@@ -27,14 +27,13 @@
<set name="CC.DWARF3" value="--dwarf3"/>
<set name="CC_ERRORS_CONTROL_OPTION" value="--diag_error 1267"/>
<set name="CC_WARNINGS_CONTROL_OPTION" value="--diag_suppress 161,611,654,997,1152,1300,1464,1488,2523,6318,6331"/>
- <set name="CFLAGS" value=""/>
<set name="CIADEFS" value="__CIA__"/>
<set name="CODE_SEGMENT_START" value=""/>
<set name="COMMANDFILE_OPTION" value="--via "/>
<set name="COMPILER_CIA_FLAGS" value=""/>
- <set name="COMPILER_DEFINES" value=""/>
<set name="COMPILER_FPU_OPTION" value="--fpu "/>
<set name="COMPILER_INTERWORK_DEFINES" value="__MARM_INTERWORK__"/>
+ <set name="COMPILER_NO_HIDE_ALL_OPTION" value="--no_hide_all"/>
<set name="COMPILER_SYSTEM_INCLUDE_OPTION" value="-J"/>
<set name="COMPILER_THUMB_DEFINES" value="__MARM_THUMB__"/>
<set name="COMPILE_ONLY_OPTION" value="-c"/>
@@ -42,6 +41,7 @@
<set name="C_LANG_OPTION" value=""/>
<set name="DATA_SEGMENT_START" value="$(SPLIT_OPTION) $(RW_BASE_OPTION)"/>
<set name="DEBUG_OPTIMISATION" value="-O0"/>
+ <set name="DEBUGINFO_OPTIMISATION" value="--no_debug_macros --remove_unneeded_entities"/>
<set name="DEPEND_OPTION" value="--depend_format=unix --depend"/>
<set name="ENUM_OPTION" value="--enum_is_int"/>
<set name="EXCEPTIONS" value="--exceptions --exceptions_unwind"/>
@@ -60,7 +60,7 @@
<set name="LIBPATH" value=""/>
<set name="LIBRARY" value=""/>
<set name="LICENSERETRY_OPTION" value=""/>
- <set name="LINKER_ADD_STATIC_RUNTIME" value=""/>
+ <set name="LINKER_ADD_STATIC_RUNTIME" value=""/>
<set name="LINKER_DEBUG_OPTION" value="--debug"/>
<set name="LINKER_DEFAULT_LIBS" value=""/>
<set name="LINKER_DEFAULT_LIB_PATHS" value=""/>
@@ -71,23 +71,24 @@
<set name="LINKER_NODEBUG_OPTION" value=""/>
<set name="LINKER_SCRIPT_FILE_OPTION" value=""/>
<set name="LINKER_SYMBOLS_FILE_OPTION" value="--list"/>
- <set name="LINKER_SYMBOLS_OPTION" value="--symbols"/>
+ <set name="LINKER_SYMBOLS_OPTION" value="--symbols"/>
<set name="LISTING_OPTION" value="-S"/>
<set name="NO_EXCEPTIONS" value="--no_exceptions --no_exceptions_unwind"/>
<set name="NO_UNALIGNED_ACCESS" value="$(CC.NO_UNALIGNED_ACCESS)"/>
+ <set name='POSTLINKER_ASM_OPTION' value="--asm=armas"/>
<set name="PREINCLUDE" value="$(RVCT_PRE_INCLUDE)"/>
<set name="PREINCLUDE_OPTION" value="--preinclude"/>
<set name="PREPROCESSOR_OPTION" value="-E"/>
<set name="REL_OPTIMISATION" value="-O2"/>
<set name="RUNTIME_SYMBOL_VISIBILITY_OPTION" value="--dllimport_runtime"/>
<set name="RW_BASE" value="$(RW_BASE_OPTION) 0x400000"/>
- <set name="RW_BASE_OPTION" value="--rw-base"/>
+ <set name="RW_BASE_OPTION" value="--rw-base"/>
<set name="SHARED_OBJECT_OPTION" value="--dll"/>
<set name="SID" value=""/>
<set name="SO_NAME_OPTION" value="--soname"/>
<set name="STATIC_LIBS_PATH" value="$(RVCTLIB)/armlib"/>
<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
- <set name="STDLIB_OPTION" value="--no_scanlib"/>
+ <set name="STDLIB_OPTION" value="--no_scanlib"/>
<set name="SYMBIAN_LD_MESSAGE_OPTION" value="$(LD_WARNINGS_CONTROL_OPTION) $(LD_ERRORS_CONTROL_OPTION)"/>
<set name="SYMVER_OPTION" value="--symver_soname"/>
<set name="TARGET_RELOCATION_OPTION" value=""/>
@@ -98,13 +99,12 @@
<set name="TRANASM_OUTPUT_OPTION" value="-o="/>
<set name="TRANSFORM_CIA" value="1"/>
<set name="UNDEFINED_SYMBOL_REF_OPTION" value=""/>
- <set name="UNIX_SLASH_FOR_CC_ABS_PATHS" value="0"/>
<set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
<set name="USE_RVCT22_DELETE_WORKAROUND" value=""/>
<set name="USERINCLUDE" value=""/>
<set name="USER_LIBS_PATH_OPTION" value="--userlibpath"/>
<set name="VFE_OPTION" value="--no_vfe"/>
-
+
<append name="CDEFS" value="__ARMCC__"/>
</var>
</build>
--- a/sbsv2/raptor/lib/config/variants.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/variants.xml Wed Oct 06 15:13:17 2010 +0100
@@ -136,7 +136,7 @@
<set name="USER_STATIC_RUNTIME_LIB" value="usrt2_2.lib"/>
<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_2_2.lib"/>
<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt2_2.lib"/>
- <set name="NEED_ENTRYPOINT_LIBRARY" value="False"/>
+ <set name="NEED_ENTRYPOINT_LIBRARY" value=""/>
<set name="CC.NO_UNALIGNED_ACCESS" value="--memaccess -UL41"/>
<set name="CC.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
@@ -164,7 +164,7 @@
<set name="USER_STATIC_RUNTIME_LIB" value="usrt3_1.lib"/>
<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_3_1.lib"/>
<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt3_1.lib"/>
- <set name="NEED_ENTRYPOINT_LIBRARY" value="True"/>
+ <set name="NEED_ENTRYPOINT_LIBRARY" value="1"/>
<set name="CC.NO_UNALIGNED_ACCESS" value="--no_unaligned_access"/>
<set name="CC.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
<set name="PL.SOFTVFP_MAYBE_VFPV2" value="softvfp"/>
@@ -194,7 +194,7 @@
<set name="USER_STATIC_RUNTIME_LIB" value="usrt4_0.lib"/>
<set name="USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS" value="usrt_nx_4_0.lib"/>
<set name="KERNEL_STATIC_RUNTIME_LIB" value="ksrt4_0.lib"/>
- <set name="NEED_ENTRYPOINT_LIBRARY" value="True"/>
+ <set name="NEED_ENTRYPOINT_LIBRARY" value="1"/>
<set name="CC.NO_UNALIGNED_ACCESS" value="--no_unaligned_access"/>
<set name="CC.SOFTVFP_MAYBE_VFPV2" value="softvfp+vfpv2"/>
<set name="PL.SOFTVFP_MAYBE_VFPV2" value="vfpv2"/>
@@ -205,6 +205,18 @@
<set name="CC.ARMV6" value="--cpu 6"/>
<set name="CC.ARMV7" value="--cpu 7-A"/>
</var>
+
+ <var name="gccx86" extends="gccx86_base">
+ <env name="SBS_GCCX86BIN" type="toolchainpath" />
+ <set name="GCCX86BIN" value="$(SBS_GCCX86BIN)" />
+ <set name="GCCX86CC" value="$(GCCX86BIN)/g++$(DOTEXE)" type="tool" versionCommand="$(GCCX86CC) -dumpversion" versionResult="3\.4\.5"/>
+ <set name="RUNTIME_LIBS_LIST" value=""/>
+ </var>
+
+ <!-- Support x86 gcc build into a toolchain-specific tree -->
+ <var name="release_x86gcc">
+ <set name="VARIANTPLATFORM" value="x86gcc" />
+ </var>
<var name="urel">
<set name="DEBUG_INFO" value=""/>
@@ -223,6 +235,10 @@
<var name="remove_freeze">
<set name='EFREEZE_REMOVE_OPTION' value='-Remove'/>
</var>
+
+ <var name="slimdebug">
+ <append name='DEBUG_OPTIMISATION' value="$(DEBUGINFO_OPTIMISATION)"/>
+ </var>
<!-- OS variant mechanism is now deprecated. We retain the values for
versions older than TB92sf until the mechanism is removed. -->
@@ -265,4 +281,14 @@
<var name="release_gccev7" extends="release_gcce" >
<set name="VARIANTPLATFORM" value="gccev7" />
</var>
+
+ <!-- Variant to permit a workaround for an armlink 2.2 crash with very large targets -->
+ <var name="nodebug">
+ <set name="DEBUG_INFO" value=""/>
+ </var>
+
+ <!-- for builds which don't need a populated .hrh file -->
+ <var name="nohrh">
+ <set name="VARIANT_HRH" value="$(SBS_HOME)/lib/config/empty.hrh"/>
+ </var>
</build>
--- a/sbsv2/raptor/lib/config/winscw.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/config/winscw.xml Wed Oct 06 15:13:17 2010 +0100
@@ -16,25 +16,32 @@
<!-- tools and scripts -->
<env name="BMCONV" default="$(EPOCROOT)/epoc32/tools/bmconv$(DOTEXE)" type="tool"/>
- <env name="CHECKLIB" default="$(EPOCROOT)/epoc32/tools/checklib$(DOTEXE)" type="tool"/>
- <env name="EFREEZE" default="$(PERL) $(EPOCROOT)/epoc32/tools/efreeze.pl" type="script"/>
- <env name="MAKEDEF" default="$(PERL) $(EPOCROOT)/epoc32/tools/makedef.pl" type="script"/>
- <env name="PREPDEF" default="$(PERL) $(EPOCROOT)/epoc32/tools/prepdef.pl" type="script"/>
- <env name="RCOMP" default="$(EPOCROOT)/epoc32/tools/rcomp$(DOTEXE)" type="tool"/>
+ <env name="SBS_CHECKLIB" default="$(EPOCTOOLS)/checklib$(DOTEXE)" type="tool"/>
+ <set name="CHECKLIB" value="$(SBS_CHECKLIB)"/>
+ <env name="SBS_EFREEZE" default="$(PERL) $(EPOCTOOLS)/efreeze.pl" type="script"/>
+ <set name="EFREEZE" value="$(SBS_EFREEZE)"/>
+ <env name='SBS_MAKEDEF' default='$(PERL) $(EPOCTOOLS)/makedef.pl' type='script'/>
+ <set name='MAKEDEF' value='$(SBS_MAKEDEF)'/>
+
+ <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)"/>
<env name="SBSV1MAKE" default="$(EPOCROOT)/epoc32/tools/make$(DOTEXE)" type="tool"/>
<env name="STRINGTABLE" default="$(PERL) $(EPOCROOT)/epoc32/tools/stringtable.pl" type="script"/>
-
+
<!-- link to bld.inf and mmp platform names -->
<set name="TRADITIONAL_PLATFORM" value="WINSCW"/>
+ <!-- targettypes -->
+ <set name="TARGET_TYPES" value="ani dll exe exexp fsy implib kdll kext klib ldd lib pdd pdl pdll plugin plugin3 stddll stdexe stdlib textnotifier2 var none"/>
+
<!-- interfaces -->
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+
<set name="INTERFACE.ani" value="Emulator.ani"/>
- <set name="INTERFACE.bitmap" value="Emulator.bitmap"/>
+ <set name="INTERFACE.dll" value="Emulator.dll"/>
<set name="INTERFACE.exe" value="Emulator.exe"/>
- <set name="INTERFACE.stdexe" value="Emulator.stdexe"/>
- <set name="INTERFACE.dll" value="Emulator.dll"/>
- <set name="INTERFACE.pdll" value="Emulator.pdll"/>
- <set name="INTERFACE.stddll" value="Emulator.stddll"/>
<set name="INTERFACE.exexp" value="Emulator.exexp"/>
<set name="INTERFACE.fsy" value="Emulator.fsy"/>
<set name="INTERFACE.implib" value="Emulator.implib"/>
@@ -43,15 +50,21 @@
<set name="INTERFACE.klib" value="Emulator.klib"/>
<set name="INTERFACE.ldd" value="Emulator.ldd"/>
<set name="INTERFACE.lib" value="Emulator.lib"/>
- <set name="INTERFACE.stdlib" value="Emulator.stdlib"/>
- <set name="INTERFACE.none" value="Emulator.none"/>
<set name="INTERFACE.pdd" value="Emulator.pdd"/>
<set name="INTERFACE.pdl" value="Emulator.pdl"/>
+ <set name="INTERFACE.pdll" value="Emulator.pdll"/>
<set name="INTERFACE.plugin" value="Emulator.plugin"/>
<set name="INTERFACE.plugin3" value="Emulator.plugin3"/>
- <set name="INTERFACE.resource" value="Emulator.resource"/>
+ <set name="INTERFACE.stddll" value="Emulator.stddll"/>
+ <set name="INTERFACE.stdexe" value="Emulator.stdexe"/>
+ <set name="INTERFACE.stdlib" value="Emulator.stdlib"/>
<set name="INTERFACE.textnotifier2" value="Emulator.textnotifier2"/>
<set name="INTERFACE.var" value="Emulator.var"/>
+ <set name="INTERFACE.none" value="Emulator.none"/>
+
+ <!-- START block interfaces -->
+ <set name="INTERFACE.bitmap" value="Emulator.bitmap"/>
+ <set name="INTERFACE.resource" value="Emulator.resource"/>
<set name="BLDINF_OUTPUTPATH" value="$(SBS_BUILD_DIR)"/>
<set name="CDEFS" value="__SYMBIAN32__ __CW32__ __WINS__ __WINSCW__ __SUPPORT_CPP_EXCEPTIONS__ _UNICODE $(MMPDEFS)"/>
@@ -63,7 +76,7 @@
<set name="DEFAULT_SYSTEM_NEWLIB" value="scppnwdl_kern.lib"/>
<set name="EPOCSTACKSIZE" value=""/>
<set name="EXPORT_TYPE" value="dllexport"/>
- <set name="LFLAGS" value="-msgstyle gcc -stdlib -subsystem windows"/>
+ <set name="LFLAGS" value="-msgstyle gcc -stdlib -subsystem windows -stackreserve 512"/>
<set name="LFLAGS_INFGEN" value="-S -show only,names,unmangled,verbose "/>
<set name="LFLAGS_SYMGEN" value="-S -show only,names,verbose "/>
<set name="LINKPATH" value="winscw/udeb"/>
@@ -114,7 +127,8 @@
<set name="STDCPP_INCLUDE" value="$(EPOCINCLUDE)/stdapis"/>
<set name="STDCPP_WCHAR_DEF" value="__wchar_t_defined"/>
<set name="SYMLOOKUPARGS" value="--ignore_export_dir"/>
- <set name="SYMLOOKUPUTIL" value="$(PERL) $(EPOCROOT)/epoc32/tools/sym_lkup_util.pl"/>
+ <env name="SBS_SYMLOOKUPUTIL" default="$(PERL) $(EPOCTOOLS)/sym_lkup_util.pl" type="tool"/>
+ <set name="SYMLOOKUPUTIL" value="$(SBS_SYMLOOKUPUTIL)"/>
<set name="SYSTEMINCLUDE" value=""/>
<set name="TARGET" value="TARGET_WAS_NOT_SET_PROPERLY"/>
<set name="TARGETPATH" value=""/>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/config/x86.xml Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,106 @@
+<?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 x86 toolchain builds -->
+ <var name="x86" 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="GENDEF" default="$(PERL) $(EPOCROOT)/epoc32/tools/gendef.pl" type="script"/>
+ <env name="SBS_PETRAN" default="$(EPOCTOOLS)/petran$(DOTEXE)" type="tool"/>
+ <set name="PETRAN" value="$(SBS_PETRAN)"/>
+ <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="x86"/>
+ <set name="POSTLINKER" value="$(SBS_PETRAN)"/>
+ <set name="IMPLIBTOOL" value="$(DLLTOOL)"/>
+ <set name="DEFGENTOOL" value="$(GENDEF)"/>
+
+ <!-- targettypes -->
+ <set name="TARGET_TYPES" value="ani dll exe exexp implib fsy kdll kext klib ldd lib pdd pdl pdll plugin plugin3 stdexe stddll stdlib textnotifier2 var var2 none"/>
+
+ <!-- interfaces -->
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+
+ <!-- START block interfaces -->
+ <set name="INTERFACE.extension" value="Symbian.extension"/>
+
+ <!-- macros -->
+ <set name="PLATMACROS.WINDOWS" value="$(PLATMACROS.TOOLCHAIN) EPOC32 $(PLATMACROS.CONFIG) $(PLATMACROS.VAR)"/>
+ <set name="PLATMACROS.LINUX" value="$(PLATMACROS.WINDOWS)"/>
+ <set name="PLATMACROS.CONFIG" value="X86 GENERIC_X86"/>
+ <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="__X86__ _UNICODE __SYMBIAN32__ __EPOC32__ PRODUCT_INCLUDE="$(PRODUCT_INCLUDE)" $(MMPDEFS)"/>
+ <set name="CODE_SEGMENT_START" value=""/>
+ <set name="COMPILER_FPU_DEFAULT" value=""/>
+ <set name="COMPILER_NO_HIDE_ALL_OPTION" value=""/>
+ <set name="DEBUG_FORMAT" value=""/>
+ <set name="DEFAULT_STDCPP_NEWLIB" value="stdnew.dso"/>
+ <set name="DEFAULT_SYMBIAN_NEWLIB" value=""/>
+ <set name="EPOCSTACKSIZE" value=""/>
+ <set name="FIX_EXPORTS_USING_EXP_FILE" value="1"/>
+ <set name="FULLVARIANTPATH" value="$(VARIANTPLATFORM)/$(VARIANTTYPE)"/>
+ <set name="HEADER_FILES_CONTROL_OPTION" value=""/>
+ <set name="IMPLIB_EXTENSION" value="lib"/>
+ <set name="LIBRARY_DEBUG" value=""/>
+ <set name="LINKER_ARCH_OPTION" 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 tools 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="none"/>
+ <set name="POSTLINKER_FPU_DEFAULT" value="$(PL.SOFTVFP_MAYBE_VFPV2)"/>
+ <set name="POSTLINKER_FPU_MAPPING" value=""/>
+ <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/$(VARIANTPLATFORM)/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="TARGET_ARCH_OPTION" value=""/>
+ <set name="TREAT_EXES_AS_SHARED" value=""/>
+ <set name="UNRESOLVED_SYMBOL_REF_OPTION" value=""/>
+ </var>
+
+ <alias name="x86_urel" meaning="x86.urel.gccx86"/>
+ <alias name="x86_udeb" meaning="x86.udeb.gccx86"/>
+
+ <group name="x86">
+ <aliasRef ref="x86_urel"/>
+ <aliasRef ref="x86_udeb"/>
+ </group>
+
+</build>
--- a/sbsv2/raptor/lib/flm/base.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/base.xml Wed Oct 06 15:13:17 2010 +0100
@@ -15,7 +15,6 @@
<param name='COMPONENT_LAYER' default=''/> <!-- Multimedia -->
<param name='PROJECT_META' default=''/> <!-- my.mmp -->
<param name='DATE' default=''/>
- <param name='DUMPBCINFO' default=''/>
<param name='FLMDEBUG' default=''/>
<param name='PLATFORM' default=''/>
<param name='PYTHON' default=''/> <!-- allow python scripts to be used in general flms -->
--- a/sbsv2/raptor/lib/flm/e32abiv2.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2.flm Wed Oct 06 15:13:17 2010 +0100
@@ -11,7 +11,7 @@
# Contributors:
#
# Description:
-# ARMv5 EXE/DLL ABIv2 Function Like Makefile (FLM)
+# E32 EXE/DLL ABIv2 Function Like Makefile (FLM)
# Knows how to build all possible ABIV2 executables for ARM
#
#
@@ -80,9 +80,13 @@
IMPORTLIBPATH:=$(RUNTIME_LIBS_PATH)
# LOCALLY USED VARIABLES
+ADDITIONAL_LIBS:=
CLEANTARGETS:=
WHATRELEASE:=
+LIBRARIES:=$(patsubst %.dso,%.$(IMPLIB_EXTENSION),$(LIBRARY))
+LIBRARIES_DEBUG:=$(patsubst %.dso,%.$(IMPLIB_EXTENSION),$(LIBRARY_DEBUG))
+
# Work out which new/delete library to use for binaries.
CHECKLIB_TYPE:=symc++
STDCPPTAGFILE:=
@@ -164,12 +168,12 @@
IMPORTLIBTARGET_DSO:=
IMPORTLIBTARGETVERSIONED_DSO:=
- BUILDMARKER_IMPORTLIBTARGET_DSO:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).dso
- WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).dso)
- WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).dso
+ BUILDMARKER_IMPORTLIBTARGET_DSO:=TARGET_$(subst :,,$(VER_E32IMPORTLIBBASE)).$(IMPLIB_EXTENSION)
+ WHATRELEASE:=$(WHATRELEASE) $(if $(EXPLICITVERSION),,$(TMP_IMPORTLIBTARGET_ROOT).$(IMPLIB_EXTENSION))
+ WHATRELEASE:=$(WHATRELEASE) $(VER_E32IMPORTLIBBASE).$(IMPLIB_EXTENSION)
ifeq ($($(BUILDMARKER_IMPORTLIBTARGET_DSO)),)
- IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).dso
- IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).dso
+ IMPORTLIBTARGET_DSO:=$(TMP_IMPORTLIBTARGET_ROOT).$(IMPLIB_EXTENSION)
+ IMPORTLIBTARGETVERSIONED_DSO:=$(VER_E32IMPORTLIBBASE).$(IMPLIB_EXTENSION)
endif
# ABIv1 .lib (for specific kits and toolchains only)
@@ -247,32 +251,36 @@
else
DSODEFFILENAMEBASE:=$(TARGET){$(VERSIONHEX)}
endif
-GENERATED_DSO:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).dso)
+GENERATED_DSO:=$(call dblquote,$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).$(IMPLIB_EXTENSION))
GENERATED_DEFFILE:=$(INTERMEDIATEPATH)/$(DSODEFFILENAMEBASE).def
## IMPORT LIBRARY ###########################################################
# Static libraries will be postlinked when they are used so don't try to postlink them
+ifeq ($(e32importlib_mk),)
+ e32importlib_mk:=1
+ include $(FLMHOME)/e32importlib.mk
+endif
+
+# A processed .def file is required for:
+# 1: ABIv2 .dso and ABIv1 .lib import library generation
+# 2: linking where the build fixes exports using a .exp file
+# That is, in both cases, unless EXPORTUNFROZEN is being used
+ifneq ($(or $(IMPORTLIBRARYREQUIRED),$(FIX_EXPORTS_USING_EXP_FILE)),)
+ ifneq ($(or $(DEFFILE),$(EXPORTUNFROZEN)),)
+ PREPPEDDEFFILE:=
+ ifneq ($(DEFFILE),)
+ ifeq ($(EXPORTUNFROZEN),)
+ PREPPEDDEFFILE:=$(INTERMEDIATEPATH)/$(TARGET).prep
+ CLEANTARGETS:=$(CLEANTARGETS) $(PREPPEDDEFFILE)
+ $(eval $(importlibtarget_prepfile_$(BASE_ARCH)))
+ endif
+ endif
+ endif
+endif
ifneq ($(IMPORTLIBRARYREQUIRED),)
ifneq ($(or $(DEFFILE),$(EXPORTUNFROZEN)),)
-# Both ABIv2 .dso and ABIv1 .lib import library generation require a processed .def file,
-# unless EXPORTUNFROZEN is being used
-PREPPEDDEFFILE:=
-ifneq ($(DEFFILE),)
- ifeq ($(EXPORTUNFROZEN),)
- PREPPEDDEFFILE:=$(INTERMEDIATEPATH)/$(TARGET).prep
- CLEANTARGETS:=$(CLEANTARGETS) $(PREPPEDDEFFILE)
- define importlibtarget_prepfile
- $(PREPPEDDEFFILE): $(DEFFILE)
- $(call startrule,importlibtarget_prepfile,FORCESUCCESS) \
- $(PREPDEF) $(call dblquote,$(DEFFILE)) $(call dblquote,$(PREPPEDDEFFILE)) \
- $(call endrule,importlibtarget_prepfile)
- endef
- $(eval $(importlibtarget_prepfile))
- endif
-endif
-
# ABIv2 .dso
ifneq ($(IMPORTLIBTARGET_DSO),) # check that we haven't tried to specify this target already
@@ -299,8 +307,6 @@
endif
-
-
ifneq ($(EXPORTUNFROZEN),) # Unfrozen - warn and create .dso as side-effect of the final postlink
$(info <warning project='$(PROJECT_META)' component='$(COMPONENT_META)'>EXPORTUNFROZEN present in $(PROJECT_META) - unfrozen exports will be represented in import library.</warning> )
define importlibtarget_unfrozen
@@ -339,16 +345,7 @@
$(eval $(importlibtarget_func))
endif
- define importlibtargetversioned_func
- $(IMPORTLIBTARGETVERSIONED_DSO): $(ELF2E32) $(PREPPEDDEFFILE)
- $(call startrule,importlibversioned,FORCESUCCESS) \
- $(ELF2E32) --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) --version=$(VERSION) \
- --definput="$(PREPPEDDEFFILE)" \
- --dso=$$(call dblquote,$$@) \
- --linkas=$(call dblquote,$(LINKASVERSIONED)) \
- $(call endrule,importlibversioned)
- endef
- $(eval $(importlibtargetversioned_func))
+ $(eval $(importlibtargetversioned_$(BASE_ARCH)))
endif # ifneq ($(DEFFILE),)
endif # ifneq ($(EXPORTUNFROZEN),)
endif # ifneq ($(IMPORTLIBTARGET_DSO),)
@@ -445,11 +442,11 @@
EXPTARGETASMFILE:=$(INTERMEDIATE_PLATFORM_PATH)/$(notdir $(VER_E32IMPORTLIBBASE)).s
define e32expgen_func
-$(EXPTARGET): $(DEFFILE) $(ELF2E32)
+$(EXPTARGET): $(DEFFILE) $(POSTLINKER)
$(call startrule,expgen) \
- $(ELF2E32) \
+ $(POSTLINKER) \
--definput=$$(call dblquote,$(DEFFILE)) \
- --dump=a \
+ --dump=a $(if $(POSTLINKER_SUPPORTS_ASMTYPE),$(POSTLINKER_ASM_OPTION),) \
--output=$(call dblquote,$(EXPTARGETASMFILE)) && \
$(ASM) $(TARGET_ARCH_OPTION) $(AAPCS_OPTION) $(ASM_OUTPUT_OPTION) $$(call dblquote, $$@) $(EXPTARGETASMFILE) \
$(call endrule,expgen)
@@ -487,8 +484,6 @@
CIA_CPPFILES:=
ifeq ($(TRANSFORM_CIA),1)
CIA_CPPFILES:=$(call relocatefiles,$(INTERMEDIATEPATH),$(call extractandmap,$(CIAFILEEXTENSIONS),_.cpp,$(CIAFILES)))
-else
-
endif
## LINK ######################################################################
@@ -514,7 +509,7 @@
# Determine what object files will be linked by using the source files.
CPPFILES_LINKOBJECTS:=$(call mapcpp2object,$(CPPFILES))
CFILES_LINKOBJECTS:=$(call mapc2object,$(CFILES))
-ifeq ($(TRANSFORM_CIA),1)
+ifeq ($(TRANSFORM_CIA),1)
CIAFILES_LINKOBJECTS:=$(patsubst %_.cpp,%_.o,$(CIA_CPPFILES))
else
CIAFILES_LINKOBJECTS:=$(call mapcia2object,$(CIAFILES))
@@ -553,6 +548,12 @@
endef
################################################
+## ARMFPU postlinker option
+#
+POSTLINKER_FPU:=$(patsubst $(ARMFPU)>%,%,$(filter $(ARMFPU)>%,$(POSTLINKER_FPU_MAPPING)))
+POSTLINKER_FPU:=$(if $(POSTLINKER_FPU),$(POSTLINKER_FPU),$(POSTLINKER_FPU_DEFAULT))
+
+################################################
## Link-type selection:
@@ -562,17 +563,20 @@
# Runtime libraries which has no deps.
define artarget_func
+
+# Ensure that, when generating .via files, that they do not start with a blank line - some versions of GCC's AR reject
+# any further content in the file if the first line is empty
+
$(ARTARGET): $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT),$(LINKOBJECTS)) $(STDCPPTAGFILE)
- $(if $(MULTIFILE_ENABLED),,@echo "$(STDCPPTAGFILE)" > $(VIAFILE);
+ $(if $(MULTIFILE_ENABLED),,@echo $(if $(STDCPPTAGFILE),"$(STDCPPTAGFILE)",-n "") > $(VIAFILE);
$(call groupin10,$(LINKOBJECTS)) ;)
$(call startrule,ar,FORCESUCCESS) \
$$(call dblquote,$(AR)) $(ARCHIVER_CREATE_OPTION) $$@ $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT),$(COMMANDFILE_OPTION)$(VIAFILE)) \
- $(if $(DUMPBCINFO),&& $(FROMELF) -v $$@ > $$@.elfdump,) \
$(call endrule,ar)
endef
$(eval $(artarget_func))
-CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE) $(if $(DUMPBCINFO),$(ARTARGET).elfdump,)
+CLEANTARGETS:=$(CLEANTARGETS) $(VIAFILE)
endif
@@ -593,18 +597,18 @@
REDUCED_RUNTIME_LIBS_LIST:=$(subst $(TARGET).dso,,$(RUNTIME_LIBS_LIST))
ifeq ($(VARIANTTYPE),udeb)
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES_DEBUG)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
else
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES)) $(addprefix $(RUNTIME_LIBS_PATH)/,$(REDUCED_RUNTIME_LIBS_LIST)) $(located_ARMLIBS)
endif
else
# NORMAL
#
ifeq ($(VARIANTTYPE),udeb)
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG))
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES_DEBUG))
else
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY))
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES))
endif
ifeq ($(HAS_DEDICATED_OP_NEWDEL_LIB),1)
e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(RUNTIME_LIBS_PATH)/,$(NEWLIB))
@@ -615,9 +619,9 @@
else
# ARM RUNTIME LIBS
ifeq ($(VARIANTTYPE),udeb)
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY_DEBUG)) $(located_ARMLIBS)
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES_DEBUG)) $(located_ARMLIBS)
else
- e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARY)) $(located_ARMLIBS)
+ e32abiv2_LIBS:=$(e32abiv2_LIBS) $(addprefix $(IMPORTLIBPATH)/,$(LIBRARIES)) $(located_ARMLIBS)
endif
endif
@@ -626,9 +630,41 @@
# commandline which would defeat the purpose of groupin10.
# This is undesirable because viafile generation commands appear
# outside the relevant tags but it is also unavoidable.
+
+ifeq ($(e32link_mk),)
+ e32link_mk:=1
+ include $(FLMHOME)/e32link.mk
+endif
+
+# Some configurations inject exports into the final binary by creating a .lib.exp file that is then fed to
+# the linker. How this .lib.exp is generated depends on whether a .def file is listed to control the build
+# or not. Either way, the .lib.exp is guarded so as to only be generated once.
+ifneq ($(FIX_EXPORTS_USING_EXP_FILE),)
+ BUILDMARKER_EXPFILE:=$(call sanitise,EXPFILE_$(TARGET).lib.exp)
+ ifeq ($(DEFFILE),)
+ ifneq ($(AUTOEXPORTS),)
+ ifeq ($($(BUILDMARKER_EXPFILE)),)
+ $(eval $(call e32link_genlibexpfile,exports))
+ $(eval $(BUILDMARKER_EXPFILE):=$(INTERMEDIATEPATH)/$(TARGET).lib.exp)
+ endif
+ endif
+ else
+ ifeq ($($(BUILDMARKER_EXPFILE)),)
+ $(eval $(call e32link_genlibexpfile,deffile))
+ $(eval $(BUILDMARKER_EXPFILE):=$(INTERMEDIATEPATH)/$(TARGET).lib.exp)
+ endif
+ endif
+ ADDITIONAL_LIBS:=$($(BUILDMARKER_EXPFILE))
+endif
+
+ifeq ($(e32postlink_mk),)
+ e32postlink_mk:=1
+ include $(FLMHOME)/e32postlink.mk
+endif
+
define linktarget_func
## The actual link target, dependencies and build step
-$(E32TARGET): $(POSTLINKDEFFILE) $(ELF2E32) $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT) $(CIAFILES_LINKOBJECTS),$(LINKOBJECTS)) $(e32abiv2_LIBS) $(LINKER_ENTRYPOINT_LIBDEP) $(if $(SUPPORTS_STDCPP_NEWLIB),$(CHECKLIB)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) $(if $(HAVE_ORDERONLY),|,) $(EPOCROOT)/epoc32/build/TEM_LIB
+$(E32TARGET): $(POSTLINKDEFFILE) $(POSTLINKER) $(if $(MULTIFILE_ENABLED),$(MULTIFILEOBJECT) $(CIAFILES_LINKOBJECTS),$(LINKOBJECTS)) $(e32abiv2_LIBS) $(ADDITIONAL_LIBS) $(LINKER_ENTRYPOINT_LIBDEP) $(if $(SUPPORTS_STDCPP_NEWLIB),$(CHECKLIB)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) $(if $(HAVE_ORDERONLY),|,) $(EPOCROOT)/epoc32/build/TEM_LIB
$(if $(MULTIFILE_ENABLED),,@echo -n "" > $(VIAFILE);
$(call groupin10,$(LINKOBJECTS)) ;)
$(call startrule,linkandpostlink) \
@@ -636,11 +672,15 @@
$(if $(SUPPORTS_STDCPP_NEWLIB),$(if $(located_STATICLIBRARIES),$(CHECKLIB) $(CHECKLIB_TYPE) --elf $(call dblquote,$(located_STATICLIBRARIES)) &&,),) \
$(LD) $(LINKER_MISC_FLAGS) $(LINKER_DEFAULT_LIB_PATHS) $(SYMBIAN_LINK_FLAGS) $(if $(DEBUG_INFO),$(LINKER_DEBUG_OPTION),$(LINKER_NODEBUG_OPTION)) \
$(if $(ARMLIBS),$(LD_WARNINGS_SUPPRESSION_ARMLIBS),) \
- $(SHARED_OBJECT_OPTION) $(SPLIT_OPTION) \
+ $(if $(findstring EXE,$(POSTLINKTARGETTYPE)),$(if $(TREAT_EXES_AS_SHARED),$(SHARED_OBJECT_OPTION),),$(SHARED_OBJECT_OPTION)) \
+ $(SPLIT_OPTION) \
$(RW_BASE) \
$(LINKER_ARCH_OPTION) \
- $(SYMVER_OPTION) $(SO_NAME_OPTION)=$(call dblquote,$(LINKASVERSIONED)) \
- $(LINKER_ENTRYPOINT_SETTING) \
+ $(SYMVER_OPTION) \
+ $(if $(SO_NAME_OPTION),$(SO_NAME_OPTION)=$(call dblquote,$(LINKASVERSIONED)),) \
+ $(LINKER_ENTRY_OPTION)=$(LINKER_ENTRYPOINT_SETTING) \
+ $(if $(NEED_ENTRYPOINT_LIBRARY),$(LINKER_ENTRYPOINT_LIBDEP),) \
+ $(if $(ADDITIONAL_LIBS),$(call dblquote,$(ADDITIONAL_LIBS)),) \
-o $$(call dblquote,$(LINK_TARGET)) \
$(if $(LTCG),$(LTCG_OPTION),) \
$(LINKER_SYMBOLS_OPTION) $(LINKER_SYMBOLS_FILE_OPTION)=$(call dblquote,$(MAPFILE)) \
@@ -649,44 +689,7 @@
$(if $(GENERATELINKERFEEDBACK),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
$(if $(LINKER_ADD_STATIC_RUNTIME),$(if $(STATIC_RUNTIME_LIB),$(LINKER_GROUP_START_OPTION) $(STATIC_RUNTIME_DIR)/$(STATIC_RUNTIME_LIB) $(LINKER_GROUP_END_OPTION),)) \
$(call dblquote,$(e32abiv2_LIBS)) $(LINKER_DEFAULT_LIBS) && \
- $(ELF2E32) \
- --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
- --version=$(VERSION) \
- --capability=$(FINAL_CAPABILITIES) \
- --linkas=$(call dblquote,$(LINKASVERSIONED)) \
- --fpu=$(if $(ARMFPU),$(ARMFPU),$(POSTLINKER_FPU_DEFAULT)) \
- --targettype=$(POSTLINKTARGETTYPE) \
- --output=$$(call dblquote,$$@) \
- --elfinput=$(call dblquote,$(LINK_TARGET)) \
- $(if $(UID1),--uid1=0x$(UID1),) \
- $(if $(UID2),--uid2=0x$(UID2),) \
- $(if $(UID3),--uid3=0x$(UID3),) \
- $(if $(VENDORID),--vid=0x$(VENDORID),) \
- $(if $(EXPTARGET),--customdlltarget,) \
- $(if $(ARMLIBS),--excludeunwantedexports,) \
- $(if $(EPOCALLOWDLLDATA),--dlldata,) \
- $(if $(EPOCPROCESSPRIORITY),--priority=$(EPOCPROCESSPRIORITY),) \
- $(if $(EPOCSTACKSIZE),--stack=0x$(EPOCSTACKSIZE),) \
- $(if $(EPOCHEAPSIZEMIN),--heap=0x$(EPOCHEAPSIZEMIN)$(CHAR_COMMA)0x$(EPOCHEAPSIZEMAX),) \
- $(if $(EPOCFIXEDPROCESS),--fixedaddress,) \
- $(if $(EPOCDATALINKADDRESS),--datalinkaddress=$(EPOCDATALINKADDRESS),) \
- $(if $(NAMEDSYMLKUP),--namedlookup,) \
- $(if $(SMPSAFE),--smpsafe,) \
- $(if $(POSTLINKDEFFILE),--definput=$(POSTLINKDEFFILE),) \
- $(if $(EXPORTUNFROZEN),--unfrozen,) \
- $(if $(AUTOEXPORTS),--sysdef=$(call dblquote,$(AUTOEXPORTS)),) \
- $(if $(CANIGNORENONCALLABLE), \
- $(if $(IMPORTLIBRARYREQUIRED),,--ignorenoncallable),) \
- $(if $(CANHAVEEXPORTS), --defoutput=$(call dblquote,$(GENERATED_DEFFILE)) --dso=$(GENERATED_DSO)) \
- $(if $(filter $(VARIANTTYPE),$(DEBUGGABLE)),--debuggable,) \
- $(if $(POSTLINKER_SUPPORTS_WDP), \
- --codepaging=$(PAGEDCODE_OPTION) --datapaging=$(PAGEDDATA_OPTION), \
- $(POSTLINKER_PAGEDOPTION)) \
- $(if $(NOCOMPRESSTARGET),--uncompressed, \
- $(if $(INFLATECOMPRESSTARGET),--compressionmethod=inflate, \
- $(if $(BYTEPAIRCOMPRESSTARGET),--compressionmethod=bytepair, \
- --compressionmethod=$(POSTLINKER_COMPRESSION_DEFAULT)))) \
- --libpath="$(call concat,$(PATHSEP)$(CHAR_SEMIC),$(strip $(RUNTIME_LIBS_PATH) $(STATIC_LIBS_PATH)))" \
+ $(call e32postlink_$(BASE_ARCH)) \
$(if $(SAVESPACE),$(if $(EXPORTUNFROZEN),,&& { $(GNURM) -rf $(INTERMEDIATEPATH); true; })) \
$(call endrule,linkandpostlink)
@@ -704,6 +707,14 @@
## Run trace compiler ##############################################
+# The following variable defines a prereq that source code will
+# depend on so that tracing happens before compilation. Must be
+# blank by default so that if tracing is off then there will be
+# no dependency. The tracecompiler code will set it if this
+# project actually does depend on trace-generated headers:
+TRACE_THISCOMPONENT_ALLRULE:=
+
+# Tracing requires a UID to make uniquely numbered trace points
ifeq ($(UID3),)
ifeq ($(UID2),)
USE_TRACE_COMPILER:=
@@ -721,7 +732,10 @@
include $(FLMHOME)/tracecompiler.mk
WHATRELEASE:=$(WHATRELEASE) $(TRACE_DICTIONARY) $(AUTOGEN_HEADER)
endif
+###################################################################
+
+##
CC_CPPONLY_ARGS:=$(SYMBIAN_CCFLAGS) $(if $(DEBUG_INFO),-g) $(DEBUG_FORMAT) \
$(RUNTIME_SYMBOL_VISIBILITY_OPTION) $(EXCEPTIONS) \
$(CC_WARNINGS_CONTROL_OPTION) $(CC_ERRORS_CONTROL_OPTION) \
@@ -779,7 +793,7 @@
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
# $4 is for language specific options (e.g. C++ vs C)
-$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER),)
+$(1): $(2) $(PROJECT_META) $(if $(MULTIFILE_ENABLED),,$(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT)) $(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACKFILE),) | $(TRACE_THISCOMPONENT_ALLRULE)
$(call startrule,compile,,$(2)) \
$(if $(PERTURBSTARTTIME), $(RANSLEEP) $(PERTURBMSECS) ;,) \
$(if $(MULTIFILE_ENABLED), echo $(2) $(3) > $(MULTIFILE_VIAFILE) ;,) \
@@ -794,7 +808,7 @@
$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D)) \
$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \
$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \
- $(if $(NOHIDEALL),--no_hide_all,) \
+ $(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(1).d)) \
$(if $(LINKERFEEDBACK_STAGE2),$(FEEDBACK_OPTION)$(call dblquote,$(FEEDBACKFILE))) \
$(if $(MULTIFILE_ENABLED),--multifile $(OUTPUT_OPTION) $(MULTIFILEOBJECT) \
@@ -823,7 +837,7 @@
$(if $(MULTIFILE_ENABLED),$(eval $(call e32abiv2_compile,$(MULTIFILEOBJECT),$(CPPFILES),$(CFILES),$(CPP_LANG_OPTION))),$(foreach F,$(CPPFILES),$(eval $(call e32abiv2_compile,$(call mapcpp2object,$(F)),$(F),$(CPP_LANG_OPTION)))))
$(if $(MULTIFILE_ENABLED),,$(foreach F,$(CFILES),$(eval $(call e32abiv2_compile,$(call mapc2object,$(F)),$(F),$(C_LANG_OPTION)))))
ifneq ($(TRANSFORM_CIA),1)
- $(if $(MULTIFILE_ENABLED),,$(foreach F,$(CIAFILES),$(eval $(call e32abiv2_compile,$(call mapcia2object,$(F)),$(F),$(CPP_LANG_OPTION) $(COMPILER_CIA_FLAGS)))))
+ $(if $(MULTIFILE_ENABLED),,$(foreach F,$(CIAFILES),$(eval $(call e32abiv2_compile,$(call mapcia2object,$(F)),$(F),$(CPP_LANG_OPTION) $(COMPILER_CIA_FLAGS) $(call makemacrodef,-D,$(CIADEFS))))))
endif
CLEANTARGETS:=$(CLEANTARGETS) $(if $(MULTIFILE_ENABLED),$(MULTIFILE_VIAFILE) $(MULTIFILEOBJECT),$(CPPFILES_LINKOBJECTS) $(CFILES_LINKOBJECTS) $(CIAFILES_LINKOBJECTS)) $(if $(GENERATELINKERFEEDBACK),$(FEEDBACKFILE))
@@ -856,7 +870,7 @@
$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D)) \
$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \
$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \
- $(if $(NOHIDEALL),--no_hide_all,) \
+ $(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
$(call endrule,e32cpponly)
@@ -890,7 +904,7 @@
$(COMPILER_SYSTEM_INCLUDE_OPTION)$$(call dblquote,$$(<D)) \
$(if $(USERINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(USERINCLUDE))) \
$(if $(SYSTEMINCLUDE),$(COMPILER_SYSTEM_INCLUDE_OPTION),)$(call concat, $(COMPILER_SYSTEM_INCLUDE_OPTION),$(call dblquote,$(SYSTEMINCLUDE))) \
- $(if $(NOHIDEALL),--no_hide_all,) \
+ $(if $(NOHIDEALL),$(COMPILER_NO_HIDE_ALL_OPTION),) \
$(if $(NO_DEPEND_GENERATE),,$(DEPEND_OPTION) $(call dblquote,$(DEPENDFILENAME))) \
$$(call dblquote, $$<) $(OUTPUT_OPTION) $$(@) $(if $(USE_RVCT22_DELETE_WORKAROUND),$(RVCT22_DELETE_WORKAROUND)) \
$(call endrule,e32listing)
@@ -944,7 +958,7 @@
#
# However, there's one case where we don't want to be dependent on the post-linked binary in this way,
# and that's when (a) there are missing exports, (b) the user's aware of them and (c) they're deliberately freezing to
- # remove them using EFREEZE's remove option. Being dependent on the post-linked binary in this case, where ELF2E32
+ # remove them using EFREEZE's remove option. Being dependent on the post-linked binary in this case, where POSTLINKER
# actually fails to generate a final binary, would mean that the freeze would never happen and post-linking would
# just be continually re-attempted (to fail each time).
#
@@ -1090,133 +1104,10 @@
########################## Build ROMFILE target ############################
-EPOC_ROOT:=$(patsubst %/,%,$(EPOCROOT))
-TOBLDINF:=$(dir $(subst :,,$(subst $(EPOC_ROOT)/,,$(COMPONENT_META))))
# Only build ROMFILE if asked
ifneq ($(filter ROMFILE,$(call uppercase,$(MAKECMDGOALS))),)
- ifeq ($(ROMFILE_$(call sanitise,$(TARGET).$(REQUESTEDTARGETEXT))),)
- ROMFILE_$(call sanitise,$(TARGET).$(REQUESTEDTARGETEXT)):=1
- ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
-
- # Default values
- ROMFILETYPE:=file
- ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
- ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
- ROMDECORATIONS:=
- ROMFILETYPE_RAM:=data
- ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
- ROMPATH_RAM:=sys/bin/
- BUILDROMTARGET:=1
- ABIDIR:=MAIN
-
- $(eval $(call DoRomSet))
-
- ifneq ($(EPOCFIXEDPROCESS),)
- ROMDECORATIONS:=$(ROMDECORATIONS) fixed
- endif
- ifeq ($(PAGED),1)
- ROMDECORATIONS:=$(ROMDECORATIONS) paged
- endif
- ifeq ($(PAGED),0)
- ROMDECORATIONS:=$(ROMDECORATIONS) unpaged
- endif
-
-
- DATATEXT:=
- ifeq ($(TESTCODE),TRUE)
- # Add 'TEST' to the .iby filename
- ROMTEST:=test
- ifeq ($(TEST_OPTION),BOTH)
- DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).auto.bat test/$(MODULE).auto.bat"\n"data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).manual.bat test/$(MODULE).manual.bat"
- else
- ifneq ($(TEST_OPTION),NONE)
- DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat"
- endif
- endif
- endif
-
- # ROMTARGET
- ifneq ($(ROMTARGET),)
- ifneq ($(words $(ROMTARGET)),1)
- ROMTARGETALL:=$(ROMTARGET)
- ROMTARGET:=$(word 1,$(ROMTARGET))
- endif
-
- ifeq ($(ROMTARGET),<none>)
- BUILDROMTARGET:=
- else
- ifneq ($(ROMTARGET),+)
- ifneq ($(notdir $(ROMTARGET)),)
- ROMFILE:=$(notdir $(ROMTARGET))
- endif
- ifneq ($(dir $(ROMTARGET)),./)
- ROMPATH:=$(dir $(ROMTARGET))
- endif
- endif
- endif
- endif
- endif
-
- ROMFILENAME:=$(ROMDIR)$(PLATFORM)$(ROMTEST).iby
-
- # RAMTARGET
- ifneq ($(RAMTARGET),)
- ROMDECORATIONS_RAM:=" attrib=r"
- ifneq ($(RAMTARGET),+)
- ifneq ($(notdir $(RAMTARGET)),)
- ROMFILE_RAM:=$(notdir $(RAMTARGET))
- endif
- ifneq ($(dir $(RAMTARGET)),./)
- ROMPATH_RAM:=$(dir $(RAMTARGET))
- endif
- endif
- endif
-
- define BuildRomfileTarget
- $(ALLTARGET)::ROMFILE
- ROMFILE::
- $(call startrule,rombuild) \
- $(GNUMKDIR) -p $(ROMDIR) \
- $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
- $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME)) \
- $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME)) \
- $(call endrule,buildromfiletarget)
- endef
-
- # When VARIANTTYPE changes, romfile is finished,
- # apart from if this is a new component......
- ifneq ($(PREVIOUSVARIANTTYPE),)
- ifneq ($(VARIANTTYPE),$(PREVIOUSVARIANTTYPE))
- ifneq ($(ROMFILE_CREATED_$(TOBLDINF)),)
- ROMFILEFINISHED:=1
- else
- ROMFILEFINISHED:=
- endif
- endif
- endif
-
- # When romfile is finished, don't continue to add to it
- ifeq ($(ROMFILEFINISHED),)
- $(eval $(call BuildRomfileTarget,$(ROMPATH)$(ROMFILE)))
- endif
-
- # Don't allow romfile to be recreated for every MMP
- ifeq ($(ROMFILE_CREATED_$(TOBLDINF)),)
- ROMFILE_CREATED_$(TOBLDINF):=1
- endif
-
- # Build other ROMTARGETs if there is more than one
- ifneq ($(ROMTARGETALL),)
- RAMTARGET:=
- $(foreach ROMTARGET,$(wordlist 2,$(words $(ROMTARGETALL)),$(ROMTARGETALL)),$(eval $(call BuildRomfileTarget,$(ROMTARGET))))
- ROMTARGETALL:=
- endif
-
- # Keep track of variant type while romfile is being created
- PREVIOUSVARIANTTYPE:=$(VARIANTTYPE)
-
- WHATRELEASE:=$(WHATRELEASE) $(ROMFILENAME)
+ include $(FLMHOME)/romfile.mk
endif
# Deal with test code batch files generation.
@@ -1242,7 +1133,6 @@
TARGET:: $(OUTPUTVMAP)
VMAPNEEDS:=$(E32TARGET) $(SOURCE) $(PROJECT_META)
-BV_SOURCELIST:=$(addprefix -s ,$(SOURCE) $(PROJECT_META))
BV_FEATURELIST:=$(addprefix -f ,$(FEATURELISTFILES))
BV_USER_INCLUDES:=$(addprefix -u ,$(USERINCLUDE))
BV_SYSTEM_INCLUDES:=$(addprefix -x ,$(SYSTEMINCLUDE))
@@ -1250,12 +1140,24 @@
# translate double quoted macros because $(shell) messes them up in some make engines
BV_MACROLIST:=$(COMPILER_INTERWORK_DEFINES) $(CDEFS) $(if $(ALWAYS_BUILD_AS_ARM),,$(COMPILER_THUMB_DEFINES))
BV_DEFINES:=$(call makemacrodef,-D,$(subst ",__SBS__QUOTE__,$(BV_MACROLIST)))
+VMAPCOMMANDFILE:=$(INTERMEDIATEPATH)/$(TARGET).vmap.cmdfile
+
+CLEANTARGETS:=$(CLEANTARGETS) $(VMAPCOMMANDFILE)
# the script to generate our .vmap file and hash value
-VMAPCOMMAND:=$(CREATEVMAP) -o $(OUTPUTVMAP) $(BV_FEATURELIST) $(BV_DEFINES) -p $(PREINCLUDE) $(BV_SOURCELIST) $(BV_USER_INCLUDES) $(BV_SYSTEM_INCLUDES) -c $(CREATEVMAPCPP)
+define createvmap
+
+$(OUTPUTVMAP): $(VMAPNEEDS)
+ @echo -n "" > $(VMAPCOMMANDFILE);
+ $(call groupin10infile,$(VMAPCOMMANDFILE),$(addprefix -s,$(SOURCE) $(PROJECT_META))) ;
+ $(call startrule,createvmap) \
+ $(CREATEVMAP) -o $(OUTPUTVMAP) $(BV_FEATURELIST) $(BV_DEFINES) -p $(PREINCLUDE) --command=$(VMAPCOMMANDFILE) $(BV_USER_INCLUDES) $(BV_SYSTEM_INCLUDES) -c $(CREATEVMAPCPP) \
+ $(call endrule,createvmap)
+
+endef
# a recipe to create the .vmap from the "sources" with the createvmap script
-$(call raptor_recipe,createvmap,$(OUTPUTVMAP),$(VMAPNEEDS),$(VMAPCOMMAND))
+$(eval $(createvmap))
endif # E32TARGET != ""
endif # FEATUREVARIANTNAME != ""
--- a/sbsv2/raptor/lib/flm/e32abiv2ani.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2ani.flm Wed Oct 06 15:13:17 2010 +0100
@@ -29,11 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2defaults.mk Wed Oct 06 15:13:17 2010 +0100
@@ -38,18 +38,18 @@
# Reset these variables as they change for every single target type
-# LINKER_ENTRYPOINT_ADORNMENT will be blank for GCCE; for RVCT it will look like "(uc_exe_.o)"
-# LINKER_ENTRYPOINT_DECORATION will be blank for RVCT; for GCCE it will look like "-u _E32Startup"
-# LINKER_SEPARATOR is a comma for GCCE as g++ is used for linking; for RVCT is should be a space, but
+# LINKER_ENTRYPOINT_ADORNMENT will be blank for GCC; for RVCT it will look like "(uc_exe_.o)"
+# LINKER_ENTRYPOINT_DECORATION will be blank for RVCT; for GCC it will look like "-u _E32Startup"
+# LINKER_SEPARATOR is a comma for GCC as g++ is used for linking; for RVCT is should be a space, but
# as make strips trailing spaces, we use the CHAR_SPACE variable.
LINKER_ENTRYPOINT_ADORNMENT:=
LINKER_ENTRYPOINT_DECORATION:=
LINKER_SEPARATOR:=
-# For GCCE
-ifeq ($(TOOLCHAIN),GCCE)
-LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Startup,-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)_E32Dll)
+# For GCC
+ifneq ($(findstring GCC,$(TOOLCHAIN)),)
+LINKER_ENTRYPOINT_DECORATION:=$(if $(call isoneof,$(TARGETTYPE),exexp exe),-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT),-Wl$(CHAR_COMMA)-u$(CHAR_COMMA)$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT))
LINKER_SEPARATOR:=$(CHAR_COMMA)
endif
@@ -96,7 +96,7 @@
endif
# "ARMFPU" overrides for 'fpu-ness' in compiler and postlinker calls in .mmp files are currently only
-# supported for RVCT-based builds, GCCE builds always make use of the interface defined defaults.
-ifeq ($(TOOLCHAIN),GCCE)
+# supported for RVCT-based builds, other builds always make use of the interface defined defaults.
+ifneq ($(TOOLCHAIN),RVCT)
ARMFPU:=
endif
--- a/sbsv2/raptor/lib/flm/e32abiv2dll.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2dll.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -28,11 +28,7 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2exe.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2exe.flm Wed Oct 06 15:13:17 2010 +0100
@@ -27,12 +27,7 @@
# Determine what kind of entrypoint option to set
LINKER_STUB_LIBRARY:=
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)
-
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(if $(FIRSTLIB),$(FIRSTLIB),eexe.lib)$(LINKER_ENTRYPOINT_ADORNMENT))
ifeq ($(EPOCNESTEDEXCEPTIONS),)
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2exexp.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -52,17 +52,12 @@
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)
ifeq ("$(TOOLCHAIN)","RVCT")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB)($(FIRSTLIB_OBJECTFILE)))
else
-# GCCE
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup -Wl,-u$(LINKER_SEPARATOR)_E32Startup$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB))
+# GCC
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) -Wl,-u$(LINKER_SEPARATOR)$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/$(FIRSTLIB))
endif
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
-
-
POSTLINKDEFFILE:=$(DEFFILE)
SUPPORT_FREEZE:=1
ifeq ($(NOEXPORTLIBRARY),)
--- a/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2fsy.flm Wed Oct 06 15:13:17 2010 +0100
@@ -28,11 +28,7 @@
# Determine what kind of entrypoint option to set
AUTOEXPORTS:=CreateFileSystem,1;
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
--- a/sbsv2/raptor/lib/flm/e32abiv2kdll.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2kdll.flm Wed Oct 06 15:13:17 2010 +0100
@@ -27,11 +27,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/ekll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/ekll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2kext.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2kext.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -34,11 +34,7 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eext.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eext.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2ldd.flm Wed Oct 06 15:13:17 2010 +0100
@@ -29,11 +29,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edev.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdd.flm Wed Oct 06 15:13:17 2010 +0100
@@ -28,11 +28,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edev.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edev.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdl.flm Wed Oct 06 15:13:17 2010 +0100
@@ -28,12 +28,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
-
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
CANIGNORENONCALLABLE:=1
--- a/sbsv2/raptor/lib/flm/e32abiv2pdll.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2pdll.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -28,11 +28,7 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2plugin.flm Wed Oct 06 15:13:17 2010 +0100
@@ -21,11 +21,7 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2stddll.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -29,16 +29,13 @@
# Default Linker settings for this target type
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
-
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
LIBRARY:=$(LIBRARY) euser.dso
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.dso
# Default Postlinker settings
@@ -58,7 +55,7 @@
#compile options
SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/stdapis
NOHIDEALL:=1
-CDEFS:=$(CDEFS) __DLL__
+CDEFS:=$(CDEFS) __DLL__ __SYMBIAN_STDCPP_SUPPORT__
include $(FLMHOME)/e32abiv2.flm
$(call vrestore)
--- a/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdexe.flm Wed Oct 06 15:13:17 2010 +0100
@@ -28,13 +28,9 @@
# Determine what kind of entrypoint option to set
LINKER_STUB_LIBRARY:=
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/eexe.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Startup $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eexe.lib$(LINKER_ENTRYPOINT_ADORNMENT))
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/eexe.lib$(LINKER_ENTRYPOINT_ADORNMENT))
DEFAULT_NEWLIB:=$(DEFAULT_STDCPP_NEWLIB)
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
-
ifeq ($(EPOCNESTEDEXCEPTIONS),)
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
else
@@ -43,6 +39,7 @@
NAMEDSYMLKUP:=1
LIBRARY:=$(LIBRARY) euser.dso
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.dso
$(call vsave,CDEFS SYSTEMINCLUDE STATICLIBRARY)
@@ -54,7 +51,7 @@
endif
SYSTEMINCLUDE:=$(SYSTEMINCLUDE) $(EPOCROOT)/epoc32/include/stdapis
-CDEFS:=$(CDEFS) __EXE__
+CDEFS:=$(CDEFS) __EXE__ __SYMBIAN_STDCPP_SUPPORT__
NOHIDEALL:=1
include $(FLMHOME)/e32abiv2.flm
--- a/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2stdlib.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -25,6 +25,8 @@
NOHIDEALL:=1
+CDEFS:=$(CDEFS) __SYMBIAN_STDCPP_SUPPORT__
+
include $(FLMHOME)/e32abiv2.flm
else
--- a/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2textnotifier2.flm Wed Oct 06 15:13:17 2010 +0100
@@ -28,11 +28,7 @@
AUTOEXPORTS:=_Z13NotifierArrayv,1;
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/edll.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/edll.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(USER_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2var.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2var.flm Wed Oct 06 15:13:17 2010 +0100
@@ -21,11 +21,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/evar.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- a/sbsv2/raptor/lib/flm/e32abiv2var2.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32abiv2var2.flm Wed Oct 06 15:13:17 2010 +0100
@@ -21,11 +21,7 @@
# Determine what kind of entrypoint option to set
LINKER_ENTRYPOINT_LIBDEP:=$(STATIC_RUNTIME_DIR)/evar.lib
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRY_OPTION)=_E32Dll $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
-
-ifeq ("$(NEED_ENTRYPOINT_LIBRARY)","True")
-LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_SETTING) $(LINKER_ENTRYPOINT_LIBDEP)
-endif
+LINKER_ENTRYPOINT_SETTING:=$(LINKER_ENTRYPOINT_PREFIX)$(ENTRYPOINT) $(LINKER_ENTRYPOINT_DECORATION)$(LINKER_SEPARATOR)$(call dblquote,$(STATIC_RUNTIME_DIR)/evar.lib$(LINKER_ENTRYPOINT_ADORNMENT))
LINKER_STUB_LIBRARY:=$(STATIC_RUNTIME_DIR)/edllstub.lib
STATIC_RUNTIME_LIB:=$(KERNEL_STATIC_RUNTIME_LIB)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/e32importlib.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,77 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Import library generation macros for supported e32 base architectures
+#
+#
+
+
+# ARM-specific Macros
+
+define importlibtarget_prepfile_arm
+ $(PREPPEDDEFFILE): $(DEFFILE)
+ $(call startrule,importlibtarget_prepfile,FORCESUCCESS) \
+ $(PREPDEF) $(call dblquote,$(DEFFILE)) $(call dblquote,$(PREPPEDDEFFILE)) \
+ $(call endrule,importlibtarget_prepfile)
+endef
+
+define importlibtargetversioned_arm
+ $(IMPORTLIBTARGETVERSIONED_DSO): $(IMPLIBTOOL) $(PREPPEDDEFFILE)
+ $(call startrule,importlibversioned,FORCESUCCESS) \
+ $(IMPLIBTOOL) \
+ --sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
+ --version=$(VERSION) \
+ --definput="$(PREPPEDDEFFILE)" \
+ --dso=$$(call dblquote,$$@) \
+ --linkas=$(call dblquote,$(LINKASVERSIONED)) \
+ $(call endrule,importlibversioned)
+endef
+
+define importlibtarget_prepfile_x86
+ # In x86 builds, x86-specific .def files take priority. However, if they aren't present,
+ # the build falls-back to using ARM EABI .def files.
+ # In the case of the latter, further processing is required before they can be used:
+ # 1: ZTI and ZTV exports are ABSENT-ed
+ # 2: "St9__va_list" entries are replaced with "Pc"
+ # The primary/seconday status of the .def file is deduced in the front-end - we just need
+ # to react to RESOLVED_DEFFILE_SECONDARY appropriately.
+
+ ifneq ($(RESOLVED_DEFFILE_SECONDARY),)
+ $$(eval INPUTDEFFILE:=$(INTERMEDIATEPATH)/$(TARGET).def.x86)
+
+ $(INTERMEDIATEPATH)/$(TARGET).def.x86: $(DEFFILE)
+ $(call startrule,importlibtarget_prepfile_process,FORCESUCCESS) \
+ $(GNUSED) -r 's%(^\s*_ZT[I|V].*NONAME).*$$$$%\1 ABSENT%;s%St9__va_list%Pc%' < $$< > $$@ \
+ $(call endrule,importlibtarget_prepfile_process)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $(INTERMEDIATEPATH)/$(TARGET).def.x86
+ else
+ $$(eval INPUTDEFFILE:=$(DEFFILE))
+ endif
+
+ $(PREPPEDDEFFILE): $$(INPUTDEFFILE)
+ $(call startrule,importlibtarget_prepfile,FORCESUCCESS) \
+ $(PREPDEF) $(call dblquote,$$<) $(call dblquote,$$@) nodatasizes $(PREPDEF_ENTRYPOINT_PREFIX)$(ENTRYPOINT) \
+ $(call endrule,importlibtarget_prepfile)
+endef
+
+define importlibtargetversioned_x86
+ $(IMPORTLIBTARGETVERSIONED_DSO): $(IMPLIBTOOL) $(PREPPEDDEFFILE)
+ $(call startrule,importlibversioned,FORCESUCCESS) \
+ $(IMPLIBTOOL) \
+ -m i386 \
+ --input-def "$(PREPPEDDEFFILE)" \
+ --dllname $(call dblquote,$(LINKASVERSIONED)) \
+ --output-lib $$(call dblquote,$$@) \
+ $(call endrule,importlibversioned)
+endef
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/e32link.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,63 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Linking support macros for supported e32 base architectures
+#
+#
+
+define e32link_genlibexpfile
+
+ # $(1): generation type - 'exports' or 'deffile'
+ #
+ # 'exports' generation involves taking a list of the known exports, passing them to
+ # gendef.pl to create a temporary .def file, prepdef-ing this .def file and then
+ # passing this along to the import library generation tool to create the .lib.exp.
+ # This is invoked for components with known interfaces that aren't making use of a .mmp
+ # listed .def file
+ #
+ # 'deffile' generation takes the .def file used in the component build, for components
+ # that either require a .def file or where a .def file is used to override default behaviour.
+ # The .def file will already have been prepdef-ed during initial .def file processing, so it's
+ # just a matter of running the import library generation tool on the temporary .def file to
+ # create the .lib.exp
+ #
+ # The resultant .lib.exp is then available for use in the final link.
+
+ ifeq ($(1),exports)
+ $(INTERMEDIATEPATH)/$(TARGET).gen.def:
+ $(call startrule,e32link_gendeffile) \
+ $(DEFGENTOOL) $(call dblquote,$$@) $(subst $(CHAR_COMMA)1$(CHAR_SEMIC),,$(AUTOEXPORTS)) \
+ $(call endrule,e32link_gendeffile)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $(INTERMEDIATEPATH)/$(TARGET).gen.def
+
+ $(INTERMEDIATEPATH)/$(TARGET).prep: $(INTERMEDIATEPATH)/$(TARGET).gen.def
+ $(call startrule,e32link_prepdef) \
+ $(PREPDEF) $(call dblquote,$$<) $(call dblquote,$$@) nodatasizes $(PREPDEF_ENTRYPOINT_PREFIX)$(ENTRYPOINT) \
+ $(call endrule,e32link_prepdef)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $(INTERMEDIATEPATH)/$(TARGET).prep
+ endif
+
+ $(INTERMEDIATEPATH)/$(TARGET).lib.exp: $(INTERMEDIATEPATH)/$(TARGET).prep
+ $(call startrule,e32link_genlibexpfile) \
+ $(IMPLIBTOOL) \
+ -m i386 \
+ --input-def $(call dblquote,$$<) \
+ --dllname $(call dblquote,$(LINKASVERSIONED)) \
+ -e $$(call dblquote,$$@) \
+ $(call endrule,e32link_genlibexpfile)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $(INTERMEDIATEPATH)/$(TARGET).lib.exp
+
+endef
--- a/sbsv2/raptor/lib/flm/e32postlink.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/e32postlink.mk Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,4 @@
-#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -11,89 +10,18 @@
#
# Contributors:
#
-# Description:
-# ARMv5 e32 postlinking FLM
-# Knows how to postlink all possible ABIV2 executables for ARM
+# Description:
+# Post-linking macros for supported e32 base architectures
+#
#
-# Interface
-#
-# Metadata supplied (or deduced from)
-#
-# BYTEPAIRCOMPRESS
-# CAPABILITY
-# DEBUGGABLE Can be "udeb" or "urel" or "udeb urel" or ""
-# E32TARGET
-# EPOCALLOWDLLDATA
-# EPOCFIXEDPROCESS
-# EPOCHEAPSIZEMAX
-# EPOCHEAPSIZEMIN
-# EPOCPROCESSPRIORITY
-# EPOCSTACKSIZE
-# EXPORTUNFROZEN
-# INFLATECOMPRESS
-# POSTLINKFPU
-# POSTLINKTARGETTYPE
-# SID
-# SMPSAFE
-# UID2
-# UID3
-# VERSION
-# VENDORID
-#
-# Other
-#
-# ARMLIBS
-# AUTOEXPORTS Symbols that must be assumed to exist for this TARGETTYPE in the format: export,ordinal;export,ordinal;..
-# CANIGNORENONCALLABLE If the TARGETTYPE allows it, disregard non-callable exports (v-tables, type information, etc.)
-# CANHAVEEXPORTS
-# CLEANTARGETS
-# ELF2E32
-# EPOCDATALINKADDRESS Redundant?
-# EPOCROOT
-# EXPTARGET
-# GENERATED_DEFFILE
-# GENERATED_DSO
-# HAVE_ORDERONLY
-# IMPORTLIBRARYREQUIRED
-# INTERMEDIATEPATH
-# LINKASVERSIONED
-# LINK_TARGET Postlinker elf input
-# NAMEDSYMLKUP
-# PAGEDCODE_OPTION
-# POSTLINKDEFFILE
-# POSTLINKER_SUPPORTS_WDP
-# RUNTIME_LIBS_PATH
-# SAVESPACE
-# STATIC_LIBS_PATH
-# UID1
-# VARIANTTYPE
-
-
-# Capabilities
-ADDED_CAPABILITIES:=$(subst $(CHAR_SPACE),+,$(filter-out -%,$(CAPABILITY)))
-SUBTRACTED_CAPABILITIES:=$(subst $(CHAR_SPACE),,$(filter -%,$(CAPABILITY)))
-FINAL_CAPABILITIES:=$(if $(ADDED_CAPABILITIES),$(ADDED_CAPABILITIES)$(SUBTRACTED_CAPABILITIES),NONE)
-
-# Paging options for the old postlinker
-POSTLINKER_PAGEDOPTION:=--defaultpaged
-ifeq ($(PAGED),1)
- POSTLINKER_PAGEDOPTION:=--paged
-endif
-ifeq ($(PAGED),0)
- POSTLINKER_PAGEDOPTION:--unpaged
-endif
-
-# Postlink target
-define e32postlink
-$(E32TARGET): $(LINK_TARGET) $(POSTLINKDEFFILE) $(ELF2E32) $(if $(HAVE_ORDERONLY),|,) $(EPOCROOT)/epoc32/build/TEM_LIB
- $(call startrule,postlink) \
- $(ELF2E32) \
+define e32postlink_arm
+ $(POSTLINKER) \
--sid=0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
--version=$(VERSION) \
--capability=$(FINAL_CAPABILITIES) \
--linkas=$(call dblquote,$(LINKASVERSIONED)) \
- --fpu=$(POSTLINKFPU) \
+ --fpu=$(POSTLINKER_FPU) \
--targettype=$(POSTLINKTARGETTYPE) \
--output=$$(call dblquote,$$@) \
--elfinput=$(call dblquote,$(LINK_TARGET)) \
@@ -116,20 +44,40 @@
$(if $(AUTOEXPORTS),--sysdef=$(call dblquote,$(AUTOEXPORTS)),) \
$(if $(CANIGNORENONCALLABLE), \
$(if $(IMPORTLIBRARYREQUIRED),,--ignorenoncallable),) \
- $(if $(CANHAVEEXPORTS), --defoutput="$(GENERATED_DEFFILE)" --dso=$(GENERATED_DSO)) \
+ $(if $(CANHAVEEXPORTS), --defoutput=$(call dblquote,$(GENERATED_DEFFILE)) --dso=$(GENERATED_DSO)) \
$(if $(filter $(VARIANTTYPE),$(DEBUGGABLE)),--debuggable,) \
$(if $(POSTLINKER_SUPPORTS_WDP), \
--codepaging=$(PAGEDCODE_OPTION) --datapaging=$(PAGEDDATA_OPTION), \
$(POSTLINKER_PAGEDOPTION)) \
- $(if $(NOCOMPRESSTARGET), \
- --uncompressed, \
- $(if $(INFLATECOMPRESS),--compressionmethod inflate,$(if $(BYTEPAIRCOMPRESS),--compressionmethod bytepair,))) \
- --libpath="$(call concat,$(PATHSEP)$(CHAR_SEMIC),$(strip $(RUNTIME_LIBS_PATH) $(STATIC_LIBS_PATH)))" \
- $(if $(SAVESPACE),$(if $(EXPORTUNFROZEN),,;$(GNURM) -rf $(INTERMEDIATEPATH); true)) \
- $(call endrule,postlink)
+ $(if $(NOCOMPRESSTARGET),--uncompressed, \
+ $(if $(INFLATECOMPRESSTARGET),--compressionmethod=inflate, \
+ $(if $(BYTEPAIRCOMPRESSTARGET),--compressionmethod=bytepair, \
+ --compressionmethod=$(POSTLINKER_COMPRESSION_DEFAULT)))) \
+ --libpath="$(call concat,$(PATHSEP)$(CHAR_SEMIC),$(strip $(RUNTIME_LIBS_PATH) $(STATIC_LIBS_PATH)))"
endef
-$(eval $(e32postlink))
-CLEANTARGETS:=$(CLEANTARGETS) $(E32TARGET)
-CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DEFFILE)
-CLEANTARGETS:=$(CLEANTARGETS) $(GENERATED_DSO)
+define e32postlink_x86
+ $(POSTLINKER) \
+ -sid 0x$(if $(SID),$(SID),$(if $(UID3),$(UID3),0)) \
+ -version $(VERSION) \
+ -capability $(FINAL_CAPABILITIES) \
+ $(if $(UID1),-uid1 0x$(UID1),) \
+ $(if $(UID2),-uid2 0x$(UID2),) \
+ $(if $(UID3),-uid3 0x$(UID3),) \
+ $(if $(VENDORID),-vid 0x$(VENDORID),) \
+ $(if $(EPOCALLOWDLLDATA),-allow,) \
+ $(if $(EPOCPROCESSPRIORITY),-priority $(EPOCPROCESSPRIORITY),) \
+ $(if $(EPOCSTACKSIZE),-stack 0x$(EPOCSTACKSIZE),) \
+ $(if $(EPOCHEAPSIZEMIN),-heap 0x$(EPOCHEAPSIZEMIN) 0x$(EPOCHEAPSIZEMAX),) \
+ $(if $(EPOCFIXEDPROCESS),-fixed,) \
+ $(if $(EPOCDATALINKADDRESS),-datalinkaddress $(EPOCDATALINKADDRESS),) \
+ $(if $(SMPSAFE),-smpsafe,) \
+ $(if $(POSTLINKER_SUPPORTS_WDP), \
+ -codepaging $(PAGEDCODE_OPTION) -datapaging $(PAGEDDATA_OPTION), \
+ $(POSTLINKER_PAGEDOPTION)) \
+ $(if $(NOCOMPRESSTARGET),-uncompressed, \
+ $(if $(BYTEPAIRCOMPRESSTARGET),-compressionmethod bytepair, \
+ -compressionmethod $(POSTLINKER_COMPRESSION_DEFAULT))) \
+ $(call dblquote,$(LINK_TARGET)) \
+ $$(call dblquote,$$@)
+endef
--- a/sbsv2/raptor/lib/flm/emulator.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/emulator.xml Wed Oct 06 15:13:17 2010 +0100
@@ -27,6 +27,7 @@
<param name='COPY_FOR_STATIC_LINKAGE' default='0'/>
<param name='DEBUGLIBRARY' default=''/>
<param name='DEFFILE' default=''/>
+ <param name='DOCUMENT' default=''/>
<param name='EFREEZE' default=''/>
<param name='EFREEZE_REMOVE_OPTION' default=''/>
<param name='EPOCALLOWDLLDATA' default='0'/>
--- a/sbsv2/raptor/lib/flm/flmtools.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/flmtools.mk Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -88,7 +88,7 @@
# A macro for removing duplicate tokens from a list
# whilst retaining the list's order
define uniq
-$(if $(1),$(info $(words $(1)) $(1))\
+$(if $(1),\
$(firstword $(1))$(call uniq,$(filter-out $(firstword $(1)),$(wordlist 2,$(words $(1)),$(1))))\
,)
endef
--- a/sbsv2/raptor/lib/flm/gccxmlresource.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/gccxmlresource.flm Wed Oct 06 15:13:17 2010 +0100
@@ -22,12 +22,11 @@
define generaterfifile
# $(1) is the .rfi filename
-# $(2) is the list of .rpp files
-# $(3) is the list of dependency files
+# $(2) is the list of dependency files
$(1): $(2)
$(call startrule,generaterfifile,FORCESUCCESS) \
- $(CREATERFIFILE) -o $(1) -x "$(EPOCROOT)/epoc32" $(3) \
+ $(CREATERFIFILE) -o $(1) -x "$(EPOCROOT)/epoc32" $(2) \
$(call endrule,generaterfifile)
endef
--- a/sbsv2/raptor/lib/flm/gnumakefile.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/gnumakefile.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -172,15 +172,17 @@
endef
DO_NOTHING:: $(UNIQ)_DO_NOTHING
-$(UNIQ)_DO_NOTHING: ;
+$(UNIQ)_DO_NOTHING:
$(foreach EXTTRG,$(EXTMAKETARGETS),$(eval $(call callgnumake,$(EXTTRG))))
## Do ROMFILE target in romstuff.mke
-ifeq ($(ROMFILE_$(call sanitise,$(EXTMAKEFILENAME))),)
-ROMFILE_$(call sanitise,$(EXTMAKEFILENAME)):=1
+ROMFILEUNIQ:=$(call sanitise,$(DIRECTORY)$(EXTMAKEFILENAME)$(TO_ROOT)$(EPOCBLD)$(TO_BLDINF)$(PLATFORM))
-ROMDIR:=$(subst $(OLD_EPOCROOT),$(OLD_EPOCROOT)epoc32/rom/,$(TO_BLDINF))
+ifeq ($(ROMFILE_$(ROMFILEUNIQ)),)
+ROMFILE_$(ROMFILEUNIQ):=1
+TOBLDINF:=$(dir $(subst :,,$(subst $(OLD_EPOCROOT),,$(COMPONENT_META))))
+ROMDIR:=$(OLD_EPOCROOT)epoc32/rom/$(TOBLDINF)
define RomfileRomstuff
ROMFILE::
--- a/sbsv2/raptor/lib/flm/metaflm.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/metaflm.mk Wed Oct 06 15:13:17 2010 +0100
@@ -155,43 +155,6 @@
$(strip $(if $(makepathLIST),$(shell $(GNUMKDIR) -p $(makepathLIST))$(eval makepathLIST:=),))
endef
-## ROMFILE macro #####################################
-define DoRomSet
-
-ifeq ($(call uppercase,$(TARGETTYPE)),LIB)
-BUILDROMTARGET:=
-endif
-
-ifeq ($(call uppercase,$(TARGETTYPE)),KEXT)
-ROMFILETYPE:=extension[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),LDD)
-ROMFILETYPE:=device[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),PDD)
-ROMFILETYPE:=device[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),VAR)
-ROMFILETYPE:=variant[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),KDLL)
-ABIDIR:=KMAIN
-endif
-
-ifneq ($(CALLDLLENTRYPOINTS),)
-ROMFILETYPE:=dll
-endif
-ifeq ($(ROMFILETYPE),primary)
-ABIDIR:=KMAIN
-endif
-
-endef
-
-## End of ROMFILE macro ##############################
## Macros for writing FLMs without needing to know eval
--- a/sbsv2/raptor/lib/flm/resource.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/resource.flm Wed Oct 06 15:13:17 2010 +0100
@@ -66,6 +66,9 @@
# we create intermediate .rpp and .d files
INTERBASE_TMP:=$(OUTPUTPATH)/$(TARGET_lower)_$(notdir $(basename $(SOURCE)))
+LANGUAGES:=$(LANGUAGES:SC=sc) # ensure that we don't ever have to worry about case consistency w.r.t languages or get confused into thinking that SC!=sc (which it is)
+LANGUAGES:=$(call uniq,$(LANGUAGES)) # remove any duplicates from the list (usually the result of multiple LANG lists both in and out of START RESOURCE blocks)
+
# common pre-processor options
@@ -89,193 +92,127 @@
endif
CREATABLEPATHS:=$(CREATABLEPATHS) $(RSCCOPYDIRS)
-###############################################################################
-
+################################################################################
+# Correct dependency information when a header file can't be found.
+# If the c preprocessor can't find a dependency it appears as it did in the #include statement
+# e.g. "filename.mbg" or "filename.rsg" in the dependency file.
+ifneq ($(NO_DEPEND_GENERATE),)
+ # This version minimises the size of dependency files, to contain only .mbg and .rsg deps.
+ # It allows resources to be built in the right order but doesn't impose the weight of
+ # of full dependency information which can overwhelm make in large builds.
+ # The strategy is filter lines which don't have .rsg or .mbg dependencies in them and
+ # to sift each line to leave out non-relevant things like other header files, .hrh
+ # files etc. In the end don't print anything at all if we did not find the target.
-define preprocessresource
-# $1 is the RPPFILE (eg. /epoc32/build/xxx/b_sc.rpp)
-# $2 is the LANGUAGE (eg. sc or 01 or 02 ...)
-# $3 is the "primary" language on which all the others depend
+ define DEPENDENCY_CORRECTOR
+ { $(DEPCRUNCH) --extensions rsg,mbg --assume '$(EPOCROOT)/epoc32/include' ; }
+ endef
+
+else
+ # This can correct the dependencies by assuming that the file will be in epoc32\include as this is the default
+ DEPENDENCY_CORRECTOR:=$(GNUSED) -r 's% ([^ \/]+\.((rsg)|(mbg)))% $(EPOCROOT)\/epoc32\/include\/\1%ig'
+endif
- ifeq ($(TARGET_$(call sanitise,$1)),)
- TARGET_$(call sanitise,$1):=1
- $(if $(FLMDEBUG),$$(info <debug>preprocessresource: $1 LANG:$2 dep $3</debug>))
+###############################################################################
+# Include all the macros - but not if it has been done already
+
+ifeq ($(include_resource_mk),)
+include_resource_mk:=1
+
+include $(FLMHOME)/resource.mk
+
+endif
+
+###############################################################################
+## Generate a string of resourcefiles optionally with a header OR
+## just a header (HEADERONLY)
- # Correct dependency information when a header file can't be found.
- # If the c preprocessor can't find a dependency it appears as it did in the #include statement
- # e.g. "filename.mbg" or "filename.rsg" in the dependency file.
+ifeq ($(HEADERONLY),) # i.e IF NOT HEADERONLY
+
+ # The resources that are not for the "HEADER language" will all depend on
+ # that "headlang resource" - they will "sit in its dependency slipstream"
+ # or in other words We only have to make one dependency file because
+ # all of the other languages will benefit from it indirectly through their
+ # dependency on the header language.
+
+ # The guard is based on the languages we're building so that 2 resource blocks can
+ # create different languages if so needed (no known reason for this but someone
+ # could do it and in the past it would have worked).
+ GUARD:=TARGET_$(call sanitise,$(INTERBASE_TMP))
+ $(if $(FLMDEBUG),$(info <debug>resource.flm: $(GUARD)=$($(GUARD)) LANGUAGES:=$(LANGUAGES)</debug>))
+
+ # Don't generate new rules for languages we've already seen for this resource file
+ # i.e. this allows one to define a single resource using two startresource blocks.
+ # each of which specifies one half of the languages.
+ REMAINING_LANGUAGES:=$(filter-out $($(GUARD)),$(LANGUAGES))
+ $(if $(FLMDEBUG),$(info <debug>resource.flm: REMAINING_LANGUAGES=$(REMAINING_LANGUAGES)</debug>))
+
+ ifneq ($(REMAINING_LANGUAGES),)
+ $(GUARD):=$($(GUARD)) $(REMAINING_LANGUAGES)
+
+ LANGUAGES:=$(REMAINING_LANGUAGES)
+
+ # PRIMARYFILE is the resource that will have a dependency file and that all the other
+ # resources will depend on.
+ PRIMARYFILE:=$(INTERBASE_TMP).r$(HEADLANG)
+ DEPENDFILENAME:=$(INTERBASE_TMP).r$(HEADLANG).d
+ $(if $(FLMDEBUG),$(info <debug>resource.flm: in guard with primary file=$(PRIMARYFILE)</debug>))
+
+ ifeq "$(MAKEFILE_GROUP)" "RESOURCE_DEPS"
+ # Generate PRIMARYFILE's dependencies
+ $(eval $(call resource.deps,$(INTERBASE_TMP).r$(HEADLANG),$(HEADLANG),$(DEPENDFILENAME)))
+ else
+ RESOURCE:: $(PRIMARYFILE)
+
+ # invoke the macro that creates targets for building resources, once per language
+ # For sc we generate $(INTERBASE_TMP).rsc and define LANGUAGE_SC and LANGUAGE_sc.
+ $(foreach L,$(LANGUAGES),$(eval $(call resource.build,$(INTERBASE_TMP).r$(L),$(L),$(TARGET_lower).r$(L))))
-ifneq ($(NO_DEPEND_GENERATE),)
- # This version minimises the size of dependency files, to contain only .mbg and .rsg deps.
- # It allows resources to be built in the right order but doesn't impose the weight of
- # of full dependency information which can overwhelm make in large builds.
- # The strategy is filter lines which don't have .rsg or .mbg dependencies in them and
- # to sift each line to leave out non-relevant things like other header files, .hrh
- # files etc. In the end don't print anything at all if we did not find the target.
+
+ DEPENDFILE:=$(wildcard $(DEPENDFILENAME))
+ ifneq "$(DEPENDFILE)" ""
+ ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
+ -include $(DEPENDFILE)
+ endif
+ endif
+
+ endif
+ endif
+ ifneq "$(MAKEFILE_GROUP)" "RESOURCE_DEPS"
+ # Whether or not we have generated this resource for some other start
+ # resource block, check if there are any new copies to be made for
+ # this variant. e.g. winscw requires that we make some extra copies.
+ # We tried to copy after running rcomp itself but we still need these
+ # targets for the sake of dependencies or, for example, if someone
+ # merely adds a new copy when the resource is up-to-date
+ $(foreach L,$(LANGUAGES),$(eval $(call resource.makecopies,$(INTERBASE_TMP).r$(L),$(TARGET_lower).r$(L))))
-define DEPENDENCY_CORRECTOR
-{ $(DEPCRUNCH) --extensions rsg,mbg --assume '$$$$(EPOCROOT)/epoc32/include' ; }
-endef
+ endif
+else
+ #
+ # HEADERONLY was specified
+ #
+ GUARD:=TARGET_$(call sanitise,$(INTERBASE_TMP))_rsg
+ $(if $(FLMDEBUG),$(info <debug>resource.flm: Headeronly $(INTERBASE_TMP) $(TARGET_lower).rsg LANGUAGES:=$(LANGUAGES)</debug>))
-else
- # This can correct the dependencies by assuming that the file will be in epoc32\include as this is the default
- DEPENDENCY_CORRECTOR:=$(GNUSED) -r 's% ([^ \/]+\.((rsg)|(mbg)))% $(EPOCROOT)\/epoc32\/include\/\1%ig'
+ ifeq ($($(GUARD)),)
+ $(GUARD):=1
+ $(eval $(call resource.headeronly,$(INTERBASE_TMP),$(HEADLANG)))
+ # The headeronly macro manages dependency including on its own
+ endif
+
+endif
+
+ifneq "$(MAKEFILE_GROUP)" "RESOURCE_DEPS"
+# Add header to releasables anyway despite guard since sone things
+# like the abldcache want to see the rsg for each platform even
+# if we only declare one rule.
+# If there's no header then it will be blank which is fine.
+RELEASABLES:=$(RELEASABLES) $(RESOURCEHEADER)
endif
- ifeq "$1" "$3"
- RESOURCE_DEPS:: $1.d
-
- $1.d: $(SOURCE)
- $(call startrule,resourcedependencies,FORCESUCCESS) \
- $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
- $(CPPOPT) $(SOURCE) -M -MG -MT"$1" | \
- $$(DEPENDENCY_CORRECTOR) >$$@ \
- $(call endrule,resourcedependencies)
-
- $1 : $1.d
-
- else
- $1 : $3
- endif
-
- $1:
- $(call startrule,resourcepreprocess,FORCESUCCESS) \
- $(GNUCPP) -C -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
- $(CPPOPT) $(SOURCE) -o $$@ \
- $(call endrule,resourcepreprocess)
- endif
-
- CLEANTARGETS:= $$(CLEANTARGETS) $1
-
- ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
- ifeq "$1" "$3"
- $(eval DEPENDFILENAME:=$1.d)
- $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
-
- CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
- ifneq "$(DEPENDFILE)" ""
- ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
- ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
- -include $(DEPENDFILE)
- endif
- endif
- endif
- endif
-
- endif
-endef # preprocessresource #
-
-###############################################################################
-define copyresource
-# $(1) is the source
-# $(2) is the space separated list of destinations which must be filenames
-
- RELEASABLES:=$$(RELEASABLES) $(2)
-
- $(info <finalcopy source='$1'>$2</finalcopy>)
-
-endef # copyresource #
-
-###############################################################################
-define generateresource
-
-# $(1) is the intermediate resource filename with path e.g. /a/b/resource.rsc
-# $(2) is the preprocessed resource to make it from
-# $(3) is the language e.g. sc or 01 or 02
-# $(4) is the target resource filename without path
-
-
- ifeq ($(TARGET_$(call sanitise,$1)),)
- TARGET_$(call sanitise,$1):=1
-
- $(if $(FLMDEBUG),$(info <debug>generateresource: $(1) from $(2) LANG:$(3)</debug>),)
- $(if $(FLMDEBUG),$(info <debug>generateresource: copies: $(sort $(patsubst %,%/$(notdir $(1)),$(RSCCOPYDIRS)))</debug>))
-
- CLEANTARGETS:=$$(CLEANTARGETS) $(1)
-
- RESOURCE:: $(1)
-
- $(1): $(2) $(RCOMP)
- $(call startrule,resourcecompile,FORCESUCCESS) \
- $(RCOMP) -m045,046,047 -u -o$(1) -s$(2) \
- $(call endrule,resourcecompile)
-
- endif
-
-# Whether or not we have generated this resource for some other variant, check if there
-# are any new copies to be made for this variant. e.g. winscw requires that we make
-# some extra copies. We tried to copy after running rcomp itself but we still need these
-# targets for the sake of dependencies or, for example, if someone merely adds a new copy
-# when the resource is up-to-date
-
- $(call copyresource,$1,$(sort $(patsubst %,%/$4,$(RSCCOPYDIRS))))
-
-
- # individual source file compilation
- SOURCETARGET_$(call sanitise,$(SOURCE)): $(1)
-
-endef # generateresource
-
-
-###############################################################################
-define generateresourceheader
-# $(1) is the resource header (eg. /epoc32/include/a.rsg)
-# $(2) is the preprocessed resource to make it from
-# $(3) is the language to use (eg. sc)
-
- RELEASABLES:= $$(RELEASABLES) $(1)
-
- ifeq ($(TARGET_$(call sanitise,$1)),)
- TARGET_$(call sanitise,$1):=1
- $(if $(FLMDEBUG),$(info <debug>resourceheader: $(1) from $(2) LANG:$(3)</debug>))
-
- RESOURCE:: $(1)
-
- $(1): $(2) $(RCOMP)
- $(call startrule,resourceheader,FORCESUCCESS) \
- $(RCOMP) -m045,046,047 -u -h$(1) -s$(2) \
- $(call endrule,resourceheader)
-
- endif
-
-
- # individual source file compilation
- SOURCETARGET_$(call sanitise,$(SOURCE)): $(1)
-
-endef
-
-###############################################################################
-## call the generator
-
-# We always create at least the header
-# even if we sometimes don't create the resources
-ifneq ($(RESOURCEHEADER),)
- $(eval $(call generateresourceheader,$(RESOURCEHEADER),$(INTERBASE_TMP)_$(HEADLANG).rpp,$(HEADLANG)))
-endif
-
-# The one on which the others will depend i.e. they will
-# "sit in it's dependency slipstream" or in other words
-# We only have to make one dependency file because all of
-# the other languages will benefit from the dependency file
-# belonging to this language.
-PRIMARYRPPFILE:=$(INTERBASE_TMP)_$(HEADLANG).rpp
-ifeq ($(HEADERONLY),)
- # generate a resource file for each language
- # For sc we generate $(RESBASE).rsc and define LANGUAGE_SC and LANGUAGE_sc.
- $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call preprocessresource,$(INTERBASE_TMP)_$(L).rpp,$(L),$(PRIMARYRPPFILE))))
-
- ifeq "$(MAKEFILE_GROUP)" "RESOURCE"
- $(foreach L,$(LANGUAGES:SC=sc),$(eval $(call generateresource,$(INTERBASE_TMP).r$(L),$(INTERBASE_TMP)_$(L).rpp,$(L),$(TARGET_lower).r$(L))))
- endif
-else
- # No resources are going to be made so unless we specifically ask for it, there will be no
- # preprocessed file from which to create the header:
-
- $(eval $(call preprocessresource,$(INTERBASE_TMP)_$(HEADLANG).rpp,,$(HEADLANG),$(PRIMARYRPPFILE)))
-
-endif
###############################################################################
## .rfi generation in support of the gccxml build
@@ -285,8 +222,7 @@
RELEASABLES:=$(RELEASABLES) $(RFIFILE)
CREATABLEPATHS:=$(CREATABLEPATHS) $(dir $(RFIFILE))/
- RPPFILES:=$(foreach L,$(LANGUAGES:SC=sc),$(INTERBASE_TMP)_$(L).rpp)
- $(eval $(call generaterfifile,$(RFIFILE),$(RPPFILES),$(PRIMARYRPPFILE).d))
+ $(eval $(call generaterfifile,$(RFIFILE),$(PRIMARYFILE).d))
endif
@@ -296,6 +232,5 @@
$(call makepath,$(CREATABLEPATHS))
# for the --what option and the log file
-RELEASABLES:=$(RELEASABLES) $(DESTRPP) $(INFOFILE)
$(call raptor_release,$(RELEASABLES),RESOURCE)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/lib/flm/resource.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,176 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Function Like Makefile (FLM): Shared macros for resource.flm
+#
+#
+###############################################################################
+
+###############################################################################
+# $1 is the name of the intermediate RESOURCEFILE that is to be produced
+# $2 is the LANGUAGE (eg. sc or 01 or 02 ...)
+# $3 is the name of the dependency file
+define resource.deps
+
+ $(if $(FLMDEBUG),$$(info <debug>resource.deps: $1 LANG:$2 dep $3 </debug>))
+
+ RESOURCE_DEPS:: $3
+
+ # could force deps to be generated always - debatable.
+ # .PHONY: $3
+
+ $3: $(SOURCE)
+ $(call startrule,resourcedependencies,FORCESUCCESS) \
+ $(GNUCPP) -DLANGUAGE_$(2) -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
+ $(CPPOPT) $(SOURCE) -M -MG -MT"$1" | \
+ $$(DEPENDENCY_CORRECTOR) >$3 \
+ $(call endrule,resourcedependencies)
+
+ SOURCETARGET_$(call sanitise,$(SOURCE)): $3
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $3
+
+endef # resource.deps #
+
+###############################################################################
+
+# Must be a separate macro since we
+define resource.decideheader
+ DOHEADER:=
+ ifeq ($(HEADLANG),$2)
+ ifneq ($(RESOURCEHEADER),)
+ RESOURCE:: $(RESOURCEHEADER)
+
+ DOHEADER:=-h$(RESOURCEHEADER)
+
+ # we will add the resourceheader to RELEASABLES globally
+ endif
+
+ else
+ # Use the headlang resource (in primaryfile) as the dependency
+ # "leader" for this resource
+ $1: $(PRIMARYFILE)
+ endif
+endef
+
+# $1 is the name of the intermediate RESOURCEFILE
+# $2 is the LANGUAGE (eg. sc or 01 or 02 ...)
+# Uses $(RESOURCEHEADER),$(SOURCE),$(HEADLANG),$(MMPDEFS) apart from some tools
+define resource.build
+ $(if $(FLMDEBUG),$$(info <debug>resource.build: $1 LANG:$2 </debug>))
+
+ $(eval $(resource.decideheader))
+
+ ifneq ($(DOHEADER),)
+ # Strictly speaking if $1 is made then the header file should be there too
+ # but suppose someone adds a header statement to their MMP after doing a build?
+ # so here we recreate the resource header if its missing even if the intermediate resource
+ # has actually been built. The problem is: what if the rpp file is not there (oops)?
+ # So this is not perfect but I think that the situation is fairly unlikely.
+ # We can afford to put in an if statement for the rsg file - it's not a race condition because
+ # $1 is done and the build engine guarantees that it's there so no resource header
+ # can be attempted while we're trying to test.
+ $(RESOURCEHEADER) : $1
+ $(call startrule,resourcecompile.headerfill,FORCESUCCESS) \
+ if [ ! -f "$(RESOURCEHEADER)" ]; then $(GNUCPP) -DLANGUAGE_$2 \
+ -DLANGUAGE_$(subst sc,SC,$(2)) $(call makemacrodef,-D,$(MMPDEFS))\
+ $(CPPOPT) $(SOURCE) -o $1.rpp; fi && \
+ if [ ! -f "$(RESOURCEHEADER)" ]; then $(RCOMP) -m045,046,047 -u -h$$@ -s$1.rpp; fi \
+ $(call endrule,resourcecompile.headerfill)
+ endif
+
+
+
+ RESOURCE:: $1
+
+ $1: $(SOURCE)
+ $(call startrule,resourcecompile,FORCESUCCESS) \
+ $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$(2)) $(call makemacrodef,-D,$(MMPDEFS))\
+ $(CPPOPT) $(SOURCE) -o $1.rpp && \
+ $(RCOMP) -m045,046,047 -u $(DOHEADER) -o$$@ -s$1.rpp \
+ $(call endrule,resourcecompile)
+
+ SOURCETARGET_$(call sanitise,$(SOURCE)): $1
+ CLEANTARGETS:=$$(CLEANTARGETS) $1 $1.rpp
+endef # resource.build
+
+###############################################################################
+# $1 is the name of the intermediate RESOURCEFILE
+# $2 is the target name (without path) of the final resource file
+define resource.makecopies
+
+ $(call copyresource,$1,$(sort $(addsuffix /$2,$(RSCCOPYDIRS))))
+endef
+
+
+###############################################################################
+# $1 is the intermediate filename base (eg. /epoc32/build/xxx/b_)
+# $2 is the LANGUAGE (eg. sc or 01 or 02 ...)
+define resource.headeronly
+ ifeq "$(MAKEFILE_GROUP)" "RESOURCE_DEPS"
+ # generate the resource header dependency files
+ $(eval DEPENDFILENAME:=$1_$2.rsg.d)
+
+ RESOURCE_DEPS:: $(DEPENDFILENAME)
+
+ # could force deps to be generated always - debatable.
+ # .PHONY: $(DEPENDFILENAME)
+
+ $(DEPENDFILENAME): $(SOURCE)
+ $(call startrule,resource.headeronly.deps,FORCESUCCESS) \
+ $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$2) $(call makemacrodef,-D,$(MMPDEFS))\
+ $(CPPOPT) $(SOURCE) -M -MG -MT"$(RESOURCEHEADER)" | \
+ $$(DEPENDENCY_CORRECTOR) > $$@ \
+ $(call endrule,resource.headeronly.deps)
+
+ SOURCETARGET_$(call sanitise,$(SOURCE)): $(DEPENDFILENAME)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $(DEPENDFILENAME)
+ else # generate the resource header
+
+ RESOURCE:: $(RESOURCEHEADER)
+
+ $(RESOURCEHEADER): $(SOURCE)
+ $(call startrule,resource.headeronly,FORCESUCCESS) \
+ $(GNUCPP) -DLANGUAGE_$2 -DLANGUAGE_$(subst sc,SC,$(3)) $(call makemacrodef,-D,$(MMPDEFS))\
+ $(CPPOPT) $(SOURCE) -o $1_$2.rsg.rpp && \
+ $(RCOMP) -m045,046,047 -u -h$$@ -s$1_$2.rsg.rpp \
+ $(call endrule,resource.headeronly)
+
+ CLEANTARGETS:=$$(CLEANTARGETS) $1_$2.rsg.rpp
+ # we will add the resourceheader to RELEASABLES globally
+ # individual source file compilation
+
+ SOURCETARGET_$(call sanitise,$(SOURCE)): $(RESOURCEHEADER)
+
+ $(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
+
+ ifneq "$(DEPENDFILE)" ""
+ ifeq "$(filter %CLEAN,$(call uppercase,$(MAKECMDGOALS)))" ""
+ -include $(DEPENDFILE)
+ endif
+ endif
+ endif
+endef # resource.headeronly #
+
+
+###############################################################################
+define copyresource
+# $(1) is the source
+# $(2) is the space separated list of destinations which must be filenames
+
+ RELEASABLES:=$$(RELEASABLES) $(2)
+
+ $(info <finalcopy source='$1'>$2</finalcopy>)
+
+endef # copyresource #
--- a/sbsv2/raptor/lib/flm/romfile.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/romfile.mk Wed Oct 06 15:13:17 2010 +0100
@@ -1,42 +1,175 @@
-# romfile.mk
-#
-# Copyright (c) 2008 : Symbian Software Limited. All rights reserved.
-#
-# define macros that are needed by romfile creation
-
-define DoRomSet
-
-ifeq ($(call uppercase,$(TARGETTYPE)),LIB)
-BUILDROMTARGET:=
-endif
-
-ifeq ($(call uppercase,$(TARGETTYPE)),KEXT)
-ROMFILETYPE:=extension[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),LDD)
-ROMFILETYPE:=device[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),PDD)
-ROMFILETYPE:=device[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),VAR)
-ROMFILETYPE:=variant[MAGIC]
-ABIDIR:=KMAIN
-endif
-ifeq ($(call uppercase,$(TARGETTYPE)),KDLL)
-ABIDIR:=KMAIN
-endif
-
-ifneq ($(CALLDLLENTRYPOINTS),)
-ROMFILETYPE:=dll
-endif
-ifeq ($(ROMFILETYPE),primary)
-ABIDIR:=KMAIN
-endif
-
-endef
-
-
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+EPOC_ROOT:=$(patsubst %/,%,$(EPOCROOT))
+TOBLDINF:=$(dir $(subst :,,$(subst $(EPOC_ROOT)/,,$(COMPONENT_META))))
+
+ifeq ($(ROMFILE_$(call sanitise,$(TOBLDINF)$(TARGET).$(REQUESTEDTARGETEXT))),)
+ ROMFILE_$(call sanitise,$(TOBLDINF)$(TARGET).$(REQUESTEDTARGETEXT)):=1
+ ROMDIR:=$(EPOC_ROOT)/epoc32/rom/$(TOBLDINF)
+
+ # Default values
+ ROMFILETYPE:=file
+ ROMFILE:=$(TARGET).$(REQUESTEDTARGETEXT)
+ ROMPATH:=$(if $(TARGETPATH),$(TARGETPATH)/,sys/bin/)
+ ROMDECORATIONS:=
+ ROMFILETYPE_RAM:=data
+ ROMFILE_RAM:=$(TARGET).$(REQUESTEDTARGETEXT)
+ ROMPATH_RAM:=sys/bin/
+ BUILDROMTARGET:=1
+ ABIDIR:=MAIN
+
+ define DoRomSet
+ ifeq ($(call uppercase,$(TARGETTYPE)),LIB)
+ BUILDROMTARGET:=
+ endif
+
+ ifeq ($(call uppercase,$(TARGETTYPE)),KEXT)
+ ROMFILETYPE:=extension[MAGIC]
+ ABIDIR:=KMAIN
+ endif
+ ifeq ($(call uppercase,$(TARGETTYPE)),LDD)
+ ROMFILETYPE:=device[MAGIC]
+ ABIDIR:=KMAIN
+ endif
+ ifeq ($(call uppercase,$(TARGETTYPE)),PDD)
+ ROMFILETYPE:=device[MAGIC]
+ ABIDIR:=KMAIN
+ endif
+ ifeq ($(call uppercase,$(TARGETTYPE)),VAR)
+ ROMFILETYPE:=variant[MAGIC]
+ ABIDIR:=KMAIN
+ endif
+ ifeq ($(call uppercase,$(TARGETTYPE)),KDLL)
+ ABIDIR:=KMAIN
+ endif
+
+ ifneq ($(CALLDLLENTRYPOINTS),)
+ ROMFILETYPE:=dll
+ endif
+ ifeq ($(ROMFILETYPE),primary)
+ ABIDIR:=KMAIN
+ endif
+ endef
+
+ $(eval $(call DoRomSet))
+
+ ifneq ($(EPOCFIXEDPROCESS),)
+ ROMDECORATIONS:=$(ROMDECORATIONS) fixed
+ endif
+ ifeq ($(PAGED),1)
+ ROMDECORATIONS:=$(ROMDECORATIONS) paged
+ endif
+ ifeq ($(PAGED),0)
+ ROMDECORATIONS:=$(ROMDECORATIONS) unpaged
+ endif
+
+
+ DATATEXT:=
+ ifeq ($(TESTCODE),TRUE)
+ # Add 'TEST' to the .iby filename
+ ROMTEST:=test
+ ifeq ($(TEST_OPTION),BOTH)
+ DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).auto.bat test/$(MODULE).auto.bat"\n"data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).manual.bat test/$(MODULE).manual.bat"
+ else
+ ifneq ($(TEST_OPTION),NONE)
+ DATATEXT:="data=/epoc32/data/z/test/$(MODULE)/$(VARIANTPLATFORM).$(TEST_OPTION).bat test/$(MODULE).$(TEST_OPTION).bat"
+ endif
+ endif
+ endif
+
+ # ROMTARGET
+ ifneq ($(ROMTARGET),)
+ ifneq ($(words $(ROMTARGET)),1)
+ ROMTARGETALL:=$(ROMTARGET)
+ ROMTARGET:=$(word 1,$(ROMTARGET))
+ endif
+
+ ifeq ($(ROMTARGET),<none>)
+ BUILDROMTARGET:=
+ else
+ ifneq ($(ROMTARGET),+)
+ ifneq ($(notdir $(ROMTARGET)),)
+ ROMFILE:=$(notdir $(ROMTARGET))
+ endif
+ ifneq ($(dir $(ROMTARGET)),./)
+ ROMPATH:=$(dir $(ROMTARGET))
+ endif
+ endif
+ endif
+ endif
+endif
+
+ROMFILENAME:=$(ROMDIR)$(PLATFORM)$(ROMTEST).iby
+
+# RAMTARGET
+ifneq ($(RAMTARGET),)
+ ROMDECORATIONS_RAM:=" attrib=r"
+ ifneq ($(RAMTARGET),+)
+ ifneq ($(notdir $(RAMTARGET)),)
+ ROMFILE_RAM:=$(notdir $(RAMTARGET))
+ endif
+ ifneq ($(dir $(RAMTARGET)),./)
+ ROMPATH_RAM:=$(dir $(RAMTARGET))
+ endif
+ endif
+endif
+
+define BuildRomfileTarget
+$(ALLTARGET)::ROMFILE
+ROMFILE::
+ $(call startrule,rombuild) \
+ $(GNUMKDIR) -p $(ROMDIR) \
+ $(if $(ROMFILE_CREATED_$(TOBLDINF)),,&& echo -e "// $(subst $(EPOC_ROOT)/,,$(ROMFILENAME))\n//\n$(DATATEXT)" > $(ROMFILENAME)) \
+ $(if $(BUILDROMTARGET),&& echo "$(ROMFILETYPE)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(1)$(ROMDECORATIONS)" >> $(ROMFILENAME)) \
+ $(if $(RAMTARGET),&& echo "$(ROMFILETYPE_RAM)=/epoc32/release/##$(ABIDIR)##/##BUILD##/$(TARGET)$(if $(EXPLICITVERSION),{$(VERSIONHEX)},).$(REQUESTEDTARGETEXT) $(ROMPATH_RAM)$(ROMFILE_RAM)$(ROMDECORATIONS_RAM)" >> $(ROMFILENAME)) \
+ $(call endrule,buildromfiletarget)
+endef
+
+# When VARIANTTYPE changes, romfile is finished,
+# apart from if this is a new component......
+ifneq ($(PREVIOUSVARIANTTYPE),)
+ ifneq ($(VARIANTTYPE),$(PREVIOUSVARIANTTYPE))
+ ifneq ($(ROMFILE_CREATED_$(TOBLDINF)),)
+ ROMFILEFINISHED:=1
+ else
+ ROMFILEFINISHED:=
+ endif
+ endif
+endif
+
+# When romfile is finished, don't continue to add to it
+ifeq ($(ROMFILEFINISHED),)
+ $(eval $(call BuildRomfileTarget,$(ROMPATH)$(ROMFILE)))
+endif
+
+# Don't allow romfile to be recreated for every MMP
+ifeq ($(ROMFILE_CREATED_$(TOBLDINF)),)
+ ROMFILE_CREATED_$(TOBLDINF):=1
+endif
+
+# Build other ROMTARGETs if there is more than one
+ifneq ($(ROMTARGETALL),)
+ RAMTARGET:=
+ $(foreach ROMTARGET,$(wordlist 2,$(words $(ROMTARGETALL)),$(ROMTARGETALL)),$(eval $(call BuildRomfileTarget,$(ROMTARGET))))
+ ROMTARGETALL:=
+endif
+
+# Keep track of variant type while romfile is being created
+PREVIOUSVARIANTTYPE:=$(VARIANTTYPE)
+
+WHATRELEASE:=$(WHATRELEASE) $(ROMFILENAME)
+
+
--- a/sbsv2/raptor/lib/flm/run.mk Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-.PHONY:: ALL
-ALL:: # Default target
-
-HOSTPLATFORM:=win 32
-HOSTPLATFORM_DIR:=win32
-OSTYPE:=cygwin
-FLMHOME:=E:/wip2/lib/flm
-SHELL:=E:/wip2/win32/cygwin/bin/sh.exe
-
-
-USE_TALON:=
-
-
-
-include E:/wip2/lib/flm/globals.mk
-
-# dynamic default targets
-
-# call E:/wip2/lib/flm/config/default.flm
-SBS_SPECIFICATION:=Symbian.config.default
-SBS_CONFIGURATION:=armv5_urel
-
-EPOCROOT:=E:/wip2/test/epocroot
-ELF2E32:=E:/wip2/test/epocroot/epoc32/tools/elf2e32.exe
-WHATLOG:=
-include E:/wip2/lib/flm/config/default.flm
-
-
-component_paths:=$(SBS_HOME)/test/smoke_suite/test_resources/simple/bld.inf|c:/make_test/a.mk \
-$(SBS_HOME)/test/smoke_suite/test_resources/simple_dll/bld.inf|c:/make_test/b.mk \
-$(SBS_HOME)/test/smoke_suite/test_resources/simple/always_build_as_arm_bld.inf|c:/make_test/c.mk \
-$(SBS_HOME)/test/smoke_suite/test_resources/simple/debuggable_bld.inf|c:/make_test/d.mk \
-$(SBS_HOME)/test/smoke_suite/test_resources/simple_export/bld.inf|c:/make_test/e.mk
-
-configs:=armv5 armv7
-
-cli_options:=-d
-
-include build.flm
--- a/sbsv2/raptor/lib/flm/standard.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/standard.xml Wed Oct 06 15:13:17 2010 +0100
@@ -12,6 +12,7 @@
<param name='CAPABILITY'/>
<param name='COMPRESSTARGET' default=''/>
<param name='CPPONLYOPTION' default='-E'/>
+ <param name='DOCUMENT' default=''/>
<param name='LIBRARY'/>
<param name='LIBRARY_DEBUG'/>
<param name='LINKAS' default=''/>
@@ -26,6 +27,7 @@
<param name='LISTING_OPTION' default='-S'/>
<param name='MMPDEFS' default=''/>
<param name='NOCOMPRESSTARGET' default=''/>
+ <param name='POSTLINKER_SUPPORTS_ASMTYPE' default=''/>
<param name='POSTLINKER_SUPPORTS_WDP' default=''/>
<param name='PAGED' default=''/>
<param name='PAGEDCODE_OPTION' default='default'/>
@@ -75,9 +77,11 @@
<param name='CC.VAL.SOFTVFP_MAYBE_VFPV2' default=''/>
<param name='CODE_SEGMENT_START' default=''/>
<param name='TOOLCHAIN' default=''/>
+ <param name='TRACES' default=''/>
<param name='USE_RVCT22_DELETE_WORKAROUND' default=''/>
</interface>
<interface name="Symbian.e32abiv2" extends="Symbian.mmp" flm="e32abiv2.flm">
+ <param name='BASE_ARCH' default=''/>
<param name='SUPPORTS_STDCPP_NEWLIB' default='1'/>
<param name='HAS_DEDICATED_OP_NEWDEL_LIB' default='1'/>
<param name='DEFAULT_STDCPP_NEWLIB'/>
@@ -92,11 +96,11 @@
<param name='CC_WARNINGS_CONTROL_OPTION'/>
<param name='CDEFS'/>
<param name='CIADEFS'/>
- <param name='CFLAGS'/>
<param name='COMMANDFILE_OPTION'/>
<param name='COMPILE_ONLY_OPTION'/>
<param name='COMPILER_FPU_DEFAULT'/>
<param name='COMPILER_FPU_OPTION'/>
+ <param name='COMPILER_NO_HIDE_ALL_OPTION'/>
<param name='COMPILER_CIA_FLAGS'/>
<param name='COMPILER_INTERWORK_DEFINES'/>
<param name='COMPILER_SYSTEM_INCLUDE_OPTION'/>
@@ -108,11 +112,12 @@
<param name='CREATEVMAPCPP'/>
<param name='DEBUG_FORMAT'/>
<param name='DEBUG_INFO'/>
+ <param name='DEFGENTOOL'/>
<param name='DEPEND_OPTION'/>
- <param name='ELF2E32'/>
<param name='EFREEZE'/>
<param name='EFREEZE_REMOVE_OPTION' default=''/>
<param name='ENUM_OPTION'/>
+ <param name='ENTRYPOINT' default=''/>
<param name='EXCEPTIONS'/>
<param name='NO_EXCEPTIONS'/>
<param name='EXPORT_VTBL_OPTION'/>
@@ -120,14 +125,17 @@
<param name='FEATUREVARIANT' default=''/>
<param name='FEATUREVARIANTNAME' default=''/>
<param name='FEATUREVARIANTSAFE' default=''/>
+ <param name='FIX_EXPORTS_USING_EXP_FILE'/>
<param name='FPMODE_OPTION'/>
<param name='FROMELF'/>
<param name='FULLVARIANTPATH'/>
+ <param name='IMPLIBTOOL'/>
+ <param name='IMPLIB_EXTENSION'/>
<param name='RVCT3_1' default=''/>
<param name='LD'/>
<param name='LD_ERRORS_CONTROL_OPTION'/>
<param name='LD_WARNINGS_CONTROL_OPTION'/>
- <param name='LD_WARNINGS_SUPPRESSION_ARMLIBS' default='' />
+ <param name='LD_WARNINGS_SUPPRESSION_ARMLIBS' default=''/>
<param name='LIBPATH'/>
<param name='LICENSERETRY_OPTION' default=''/>
<param name='LINKER_ADD_STATIC_RUNTIME'/>
@@ -135,6 +143,7 @@
<param name='LINKER_DEFAULT_LIBS'/>
<param name='LINKER_DEFAULT_LIB_PATHS'/>
<param name='LINKER_ENTRY_OPTION'/>
+ <param name='LINKER_ENTRYPOINT_PREFIX'/>
<param name='LINKER_GROUP_START_OPTION'/>
<param name='LINKER_GROUP_END_OPTION'/>
<param name='LINKER_MISC_FLAGS'/>
@@ -148,15 +157,20 @@
<param name='PERL'/>
<param name='PERTURBSTARTTIME'/>
<param name='PERTURBMSECS' default='500'/>
+ <param name='POSTLINKER'/>
+ <param name='POSTLINKER_ASM_OPTION' default='' />
<param name='POSTLINKER_COMPRESSION_DEFAULT'/>
<param name='POSTLINKER_FPU_DEFAULT'/>
+ <param name='POSTLINKER_FPU_MAPPING'/>
<param name='PREPDEF'/>
+ <param name='PREPDEF_ENTRYPOINT_PREFIX' default='_'/>
<param name='PREINCLUDE'/>
<param name='PREINCLUDE_OPTION'/>
<param name='PREPROCESSOR_OPTION'/>
<param name='RANSLEEP'/>
<param name='RELEASEPATH'/>
<param name='RESOLVED_DEFFILE'/>
+ <param name='RESOLVED_DEFFILE_SECONDARY'/>
<param name='RUNTIME_LIBS_LIST'/>
<param name='RUNTIME_LIBS_PATH'/>
<param name='RUNTIME_SYMBOL_VISIBILITY_OPTION'/>
@@ -172,6 +186,7 @@
<param name='SHARED_OBJECT_OPTION'/>
<param name='SO_NAME_OPTION'/>
<param name='SPLIT_OPTION'/>
+ <param name='TREAT_EXES_AS_SHARED'/>
<param name='KERNEL_STATIC_RUNTIME_LIB'/>
<param name='USER_STATIC_RUNTIME_LIB'/>
<param name='USER_STATIC_RUNTIME_LIB_NESTED_EXCEPTIONS'/>
@@ -203,24 +218,29 @@
<param name='EXPLICITVERSION' default=''/>
</interface>
<interface name="Symbian.exe" extends="Symbian.e32abiv2" flm="e32abiv2exe.flm">
+ <param name='ENTRYPOINT' default="E32Startup"/>
<param name='TARGETTYPE' default="exe"/>
<param name='UID1' default="1000007a"/>
</interface>
<interface name="Symbian.stdexe" extends="Symbian.e32abiv2" flm="e32abiv2stdexe.flm">
+ <param name='ENTRYPOINT' default="E32Startup"/>
<param name='TARGETTYPE' default="stdexe"/>
<param name='UID1' default="1000007a"/>
<param name='UID2' default="20004c45"/>
<param name='WCHARENTRYPOINT' default=""/>
</interface>
<interface name="Symbian.dll" extends="Symbian.e32abiv2" flm="e32abiv2dll.flm">
+ <param name='ENTRYPOINT' default="E32Dll"/>
<param name='TARGETTYPE' default="dll"/>
<param name='UID1' default="10000079"/>
</interface>
<interface name="Symbian.pdll" extends="Symbian.e32abiv2" flm="e32abiv2pdll.flm">
+ <param name='ENTRYPOINT' default="E32Dll"/>
<param name='TARGETTYPE' default="pdll"/>
<param name='UID1' default="10000079"/>
</interface>
<interface name="Symbian.stddll" extends="Symbian.e32abiv2" flm="e32abiv2stddll.flm">
+ <param name='ENTRYPOINT' default="E32Dll"/>
<param name='TARGETTYPE' default="stddll"/>
<param name='UID1' default="10000079"/>
<param name='UID2' default="20004c45"/>
--- a/sbsv2/raptor/lib/flm/stringtable.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/stringtable.flm Wed Oct 06 15:13:17 2010 +0100
@@ -66,7 +66,7 @@
$(STRINGTABLEHEADER): $(SOURCE)
$(call startrule,stringtable,FORCESUCCESS) \
- $(GNUCP) --no-preserve=mode $(SOURCE) $(TEMPSOURCE) && $(GNUCHMOD) a+w $(TEMPSOURCE) && \
+ $(GNUCP) --remove-destination --no-preserve=mode $(SOURCE) $(TEMPSOURCE) && $(GNUCHMOD) a+w $(TEMPSOURCE) && \
$(STRINGTABLE) $(TEMPSOURCE) \
$(call endrule,stringtable)
--- a/sbsv2/raptor/lib/flm/taggedrules.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/taggedrules.mk Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -107,14 +107,14 @@
component='$$COMPONENT_NAME'\
bldinf='$$COMPONENT_META' mmp='$$PROJECT_META'\
config='$$SBS_CONFIGURATION' platform='$$PLATFORM'\
- phase='$$MAKEFILE_GROUP' source='$$SOURCE'
+ phase='$$MAKEFILE_GROUP' source='$$SOURCE' $(if i$(FLMDEBUG),prereqs='$$RECIPE_PREREQS',)
export TALON_RECIPEATTRIBUTES
export TALON_RETRIES
export TALON_DESCRAMBLE
define startrule
- @|RECIPE=$1;TARGET=$$@;COMPONENT_LAYER=$(COMPONENT_LAYER);COMPONENT_NAME=$(COMPONENT_NAME);COMPONENT_META=$(COMPONENT_META);PROJECT_META=$(PROJECT_META);SBS_CONFIGURATION=$(SBS_CONFIGURATION);PLATFORM=$(PLATFORM);MAKEFILE_GROUP=$(MAKEFILE_GROUP);SOURCE=$3;TALON_FLAGS=$2;|
+ @|RECIPE=$1;TARGET=$$@;COMPONENT_LAYER=$(COMPONENT_LAYER);COMPONENT_NAME=$(COMPONENT_NAME);COMPONENT_META=$(COMPONENT_META);PROJECT_META=$(PROJECT_META);SBS_CONFIGURATION=$(SBS_CONFIGURATION);PLATFORM=$(PLATFORM);MAKEFILE_GROUP=$(MAKEFILE_GROUP);SOURCE=$3;TALON_FLAGS=$2;$(if $(FLMDEBUG),RECIPE_PREREQS=$$^;,)|
endef
define endrule
--- a/sbsv2/raptor/lib/flm/tools.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/tools.xml Wed Oct 06 15:13:17 2010 +0100
@@ -11,7 +11,7 @@
<param name='COMPILER'/>
<param name='COMPILER_PATH.WIN32'/>
<param name='COMPILER_PATH.LINUX'/>
- <param name='INC.COMPILER' default=''/>
+ <param name='PREINCLUDE' default=''/>
<param name='MMPDEFS' default=''/>
<param name='OPT.D'/>
<param name='OPT.O'/>
--- a/sbsv2/raptor/lib/flm/tools2common.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/tools2common.flm Wed Oct 06 15:13:17 2010 +0100
@@ -50,8 +50,8 @@
TARGET:: $(TARGETS)
## Pre-Include directories
-ifneq ($(INC.COMPILER),)
-PINCLUDE:=$(patsubst %,$(OPT.PREINCLUDE)%,$(INC.COMPILER))
+ifneq ($(PREINCLUDE),)
+PINCLUDE:=$(patsubst %,$(OPT.PREINCLUDE)%,$(PREINCLUDE))
endif
## User and System Include directories
--- a/sbsv2/raptor/lib/flm/tools2exe.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/tools2exe.flm Wed Oct 06 15:13:17 2010 +0100
@@ -73,7 +73,7 @@
define tools2install
$(INSTALLED): $(EXETARGET)
$(call startrule,tools2install) \
- $(GNUCP) "$(EXETARGET)" "$(INSTALLED)" && \
+ $(GNUCP) --remove-destination "$(EXETARGET)" "$(INSTALLED)" && \
$(GNUCHMOD) a+rwx "$(INSTALLED)" \
$(call endrule,tools2install)
endef
--- a/sbsv2/raptor/lib/flm/tracecompiler.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/tracecompiler.mk Wed Oct 06 15:13:17 2010 +0100
@@ -16,6 +16,12 @@
# Expected inputs:
# TARGETEXT
+# Set macro for TRACES keyword
+ifneq ($(TRACES),)
+CDEFS:=$(CDEFS) OST_TRACE_COMPILER_IN_USE
+$(if $(FLMDEBUG),$(info <debug>CDEFS=$(CDEFS)</debug>))
+endif
+
# Set project name as <mmp_name>
TRACE_PRJNAME:=$(basename $(notdir $(PROJECT_META)))
OLDTC_TRACE_PRJNAME:=$(TRACE_PRJNAME)
@@ -28,9 +34,9 @@
$(if $(FLMDEBUG),$(info <debug>INCLUDES=$(USERINCLUDE) $(SYSTEMINCLUDE)</debug>))
$(if $(FLMDEBUG),$(info <debug>TARGET=$(TARGET) TARGETEXT=$(TARGETEXT)</debug>))
-# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
-# traces/traces_<target_name>_<target_extension>
-TRACE_PATH:=$(call get_trace_path,/traces/traces_$(TRACE_RELEASABLE_ID))
+# Find out TRACE_PATH by looking for the trace folder in SYSTEMINCLUDE and USERINCLUDES
+# traces/<target_name>_<target_extension>
+TRACE_PATH:=$(call get_trace_path,/traces/$(TRACE_RELEASABLE_ID))
ifneq ($(TRACE_PATH),)
TRACE_PRJNAME:=$(TRACE_RELEASABLE_ID)
else # obsolete forms for compatibility
@@ -63,15 +69,18 @@
# initialise (so what output will be correct if we don't actually run the TC)
TRACE_DICTIONARY:=
AUTOGEN_HEADER:=
-$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
+$(if $(FLMDEBUG),$(info <debug>TRACE_PATH='$(TRACE_PATH)' TRACE_RELEASABLE_ID='$(TRACE_RELEASABLE_ID)'</debug>))
# Run trace compiler only if TRACE_PATH exists
ifneq ($(TRACE_PATH),)
TRACE_MARKER:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).done
+TRACE_THISCOMPONENT_ALLRULE:=$(call sanitise,$(COMPONENT_META))_alltracedone
TRACE_HEADERS:=
TRACE_SOURCE_LIST:=$(TRACE_MARKER_PATH)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
+$(if $(FLMDEBUG),$(info <debug>TRACE_SOURCE_LIST=$(TRACE_SOURCE_LIST)</debug>))
TRACE_VARIANT_SOURCE_LIST:=$(OUTPUTPATH)/$(VARIANTPLATFORM)/$(VARIANTTYPE)/tracecompile_$(TRACE_RELEASABLE_ID)_$(UID_TC).sourcelist
+$(if $(FLMDEBUG),$(info <debug>TRACE_VARIANT_SOURCE_LIST=$(TRACE_VARIANT_SOURCE_LIST)</debug>))
# The sourcelist_grouped_write macro allows us to construct a source list file, 10 objects at a time
# to avoid limits on argument lengths and sizes on Windows.
@@ -108,16 +117,24 @@
$(if $(FLMDEBUG),$(info <debug>Trace Compiler SOURCES: $(SOURCE)</debug>))
+
+.PHONY:: $(TRACE_THISCOMPONENT_ALLRULE)
+
+$(TRACE_THISCOMPONENT_ALLRULE):: $(TRACE_MARKER)
+
$(TRACE_MARKER) : $(SOURCE)
TRACE_HEADERS:=$(foreach SRC,$(SOURCE),$(TRACE_PATH)/$(basename $(notdir $(SRC)))Traces.h)
$(TRACE_HEADERS): $(TRACE_MARKER)
-ifeq ($(GUARD_$(call sanitise,$(TRACE_MARKER))),)
-GUARD_$(call sanitise,$(TRACE_MARKER)):=1
+TRACE_GUARD:=GUARD_$(call sanitise,$(TRACE_MARKER))
+$(if $(FLMDEBUG),$(info <debug>TRACE GUARD for '$(TRACE_RELEASABLE_ID)' is: $(TRACE_GUARD)=$($(TRACE_GUARD))</debug>))
-$(if $(FLMDEBUG),$(info <debug>PAST MARKER='$(TRACE_RELEASABLE_ID)'</debug>))
+ifeq ($($(TRACE_GUARD)),)
+$(TRACE_GUARD):=1
+
+$(if $(FLMDEBUG),$(info <debug>PAST GUARD (unique trace) for '$(TRACE_RELEASABLE_ID)'</debug>))
# The trace compiler likes to change . into _ so we must do the same in the case of mmps with a name like
# fred.prd.mmp we want fred_prd
TRACE_PRJNAME_SANITISED:=$(subst .,_,$(TRACE_PRJNAME))
--- a/sbsv2/raptor/lib/flm/win32.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/win32.flm Wed Oct 06 15:13:17 2010 +0100
@@ -204,8 +204,15 @@
# Run trace compiler #####################################
+# The following variable defines a prereq that source code will
+# depend on so that tracing happens before compilation. Must be
+# blank by default so that if tracing is off then there will be
+# no dependency. The tracecompiler code will set it if this
+# project actually does depend on trace-generated headers:
+TRACE_THISCOMPONENT_ALLRULE:=
TRACE_MARKER_PATH:=$(OUTPUTPATH)
+# Tracing requires a UID to make uniquely numbered trace points
ifeq ($(subst 0,,$(UID3)),)
ifeq ($(UID2),)
USE_TRACE_COMPILER:=
@@ -377,7 +384,7 @@
$(eval DEPENDFILENAME:=$(call mapwin32file,$(1),.o.d))
$(eval DEPENDFILE:=$(wildcard $(DEPENDFILENAME)))
- $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(if $(USE_TRACE_COMPILER),$(TRACE_MARKER))
+ $(call mapwin32file,$(1),.o): $(1) $(PROJECT_META) $(if $(DEPENDFILE),,RESOURCE BITMAP EXPORT) | $(TRACE_THISCOMPONENT_ALLRULE)
$(call startrule,win32compile2object,,$(1)) \
$(CC) $$(if $$(filter %.C,$(1)),-lang c) $(CFLAGS) $(OPTION_CW) \
$(if $(STDCPP_BUILD),$$(if $$(filter %.c %.C,$(1)),,$$(call makemacrodef,$(OPT.DEFINE),$(STDCPP_WCHAR_DEF))),) \
--- a/sbsv2/raptor/lib/flm/win32stddll.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/win32stddll.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,7 @@
FIXED_EXPORT:=
LFLAGS:=$(subst -nostdlib,-stdlib,$(LFLAGS))
LIBRARY:=$(LIBRARY) euser.lib backend.lib
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.lib backend.lib
NAME_LOOKUP:=-sym_name_lkup -export_entrypoint_E32Dll
OPEN_ENVIRONMENT:=1
SUPPORTS_IMPORT_LIBRARY:=1
--- a/sbsv2/raptor/lib/flm/win32stdexe.flm Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/lib/flm/win32stdexe.flm Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -26,11 +26,14 @@
FIXED_EXPORT:=
LFLAGS:=$(subst -nostdlib,-stdlib,$(LFLAGS))
LIBRARY:=$(LIBRARY) euser.lib backend.lib
-
+LIBRARY_DEBUG:=$(LIBRARY_DEBUG) euser.lib backend.lib
+
ifeq ($(WCHARENTRYPOINT),)
LIBRARY:=$(LIBRARY) libcrt0.lib
+ LIBRARY_DEBUG:=$(LIBRARY_DEBUG) libcrt0.lib
else
LIBRARY:=$(LIBRARY) libwcrt0.lib
+ LIBRARY_DEBUG:=$(LIBRARY_DEBUG) libwcrt0.lib
endif
OPEN_ENVIRONMENT:=1
Binary file sbsv2/raptor/linux-i386/bin/bash has changed
--- a/sbsv2/raptor/linux-i386/bin/bashbug Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,272 +0,0 @@
-#!/bin/sh -
-#
-# bashbug - create a bug report and mail it to the bug address
-#
-# The bug address depends on the release status of the shell. Versions
-# with status `devel', `alpha', `beta', or `rc' mail bug reports to
-# chet@cwru.edu and, optionally, to bash-testers@cwru.edu.
-# Other versions send mail to bug-bash@gnu.org.
-#
-# Copyright (C) 1996-2004 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 USA.
-
-#
-# configuration section:
-# these variables are filled in by the make target in Makefile
-#
-MACHINE="i686"
-OS="linux-gnu"
-CC="gcc"
-CFLAGS=" -DPROGRAM='bash' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/opt/symbian/linux-i386/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I. -I./include -I./lib -O2 -mtune=i686 -s"
-RELEASE="3.2"
-PATCHLEVEL="39"
-RELSTATUS="release"
-MACHTYPE="i686-pc-linux-gnu"
-
-PATH=/bin:/usr/bin:/usr/local/bin:$PATH
-export PATH
-
-# Check if TMPDIR is set, default to /tmp
-: ${TMPDIR:=/tmp}
-
-#Securely create a temporary directory for the temporary files
-TEMPDIR=$TMPDIR/bbug.$$
-(umask 077 && mkdir $TEMPDIR) || {
- echo "$0: could not create temporary directory" >&2
- exit 1
-}
-
-TEMPFILE1=$TEMPDIR/bbug1
-TEMPFILE2=$TEMPDIR/bbug2
-
-USAGE="Usage: $0 [--help] [--version] [bug-report-email-address]"
-VERSTR="GNU bashbug, version ${RELEASE}.${PATCHLEVEL}-${RELSTATUS}"
-
-do_help= do_version=
-
-while [ $# -gt 0 ]; do
- case "$1" in
- --help) shift ; do_help=y ;;
- --version) shift ; do_version=y ;;
- --) shift ; break ;;
- -*) echo "bashbug: ${1}: invalid option" >&2
- echo "$USAGE" >& 2
- exit 2 ;;
- *) break ;;
- esac
-done
-
-if [ -n "$do_version" ]; then
- echo "${VERSTR}"
- exit 0
-fi
-
-if [ -n "$do_help" ]; then
- echo "${VERSTR}"
- echo "${USAGE}"
- echo
- cat << HERE_EOF
-Bashbug is used to send mail to the Bash maintainers
-for when Bash doesn't behave like you'd like, or expect.
-
-Bashbug will start up your editor (as defined by the shell's
-EDITOR environment variable) with a preformatted bug report
-template for you to fill in. The report will be mailed to the
-bash maintainers by default. See the manual for details.
-
-If you invoke bashbug by accident, just quit your editor without
-saving any changes to the template, and no bug report will be sent.
-HERE_EOF
- exit 0
-fi
-
-# Figure out how to echo a string without a trailing newline
-N=`echo 'hi there\c'`
-case "$N" in
-*c) n=-n c= ;;
-*) n= c='\c' ;;
-esac
-
-BASHTESTERS="bash-testers@cwru.edu"
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*) BUGBASH=chet@cwru.edu ;;
-*) BUGBASH=bug-bash@gnu.org ;;
-esac
-
-case "$RELSTATUS" in
-alpha*|beta*|devel*|rc*)
- echo "$0: This is a testing release. Would you like your bug report"
- echo "$0: to be sent to the bash-testers mailing list?"
- echo $n "$0: Send to bash-testers? $c"
- read ans
- case "$ans" in
- y*|Y*) BUGBASH="${BUGBASH},${BASHTESTERS}" ;;
- esac ;;
-esac
-
-BUGADDR="${1-$BUGBASH}"
-
-if [ -z "$DEFEDITOR" ] && [ -z "$EDITOR" ]; then
- if [ -x /usr/bin/editor ]; then
- DEFEDITOR=editor
- elif [ -x /usr/local/bin/ce ]; then
- DEFEDITOR=ce
- elif [ -x /usr/local/bin/emacs ]; then
- DEFEDITOR=emacs
- elif [ -x /usr/contrib/bin/emacs ]; then
- DEFEDITOR=emacs
- elif [ -x /usr/bin/emacs ]; then
- DEFEDITOR=emacs
- elif [ -x /usr/bin/xemacs ]; then
- DEFEDITOR=xemacs
- elif [ -x /usr/contrib/bin/jove ]; then
- DEFEDITOR=jove
- elif [ -x /usr/local/bin/jove ]; then
- DEFEDITOR=jove
- elif [ -x /usr/bin/vi ]; then
- DEFEDITOR=vi
- else
- echo "$0: No default editor found: attempting to use vi" >&2
- DEFEDITOR=vi
- fi
-fi
-
-
-: ${EDITOR=$DEFEDITOR}
-
-: ${USER=${LOGNAME-`whoami`}}
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 1 2 3 13 15
-trap 'rm -rf "$TEMPDIR"' 0
-
-UN=
-if (uname) >/dev/null 2>&1; then
- UN=`uname -a`
-fi
-
-if [ -f /usr/lib/sendmail ] ; then
- RMAIL="/usr/lib/sendmail"
- SMARGS="-i -t"
-elif [ -f /usr/sbin/sendmail ] ; then
- RMAIL="/usr/sbin/sendmail"
- SMARGS="-i -t"
-else
- RMAIL=rmail
- SMARGS="$BUGADDR"
-fi
-
-INITIAL_SUBJECT='[50 character or so descriptive subject here (for reference)]'
-
-cat > "$TEMPFILE1" <<EOF
-From: ${USER}
-To: ${BUGADDR}
-Subject: ${INITIAL_SUBJECT}
-
-Configuration Information [Automatically generated, do not change]:
-Machine: $MACHINE
-OS: $OS
-Compiler: $CC
-Compilation CFLAGS: $CFLAGS
-uname output: $UN
-Machine Type: $MACHTYPE
-
-Bash Version: $RELEASE
-Patch Level: $PATCHLEVEL
-Release Status: $RELSTATUS
-
-Description:
- [Detailed description of the problem, suggestion, or complaint.]
-
-Repeat-By:
- [Describe the sequence of events that causes the problem
- to occur.]
-
-Fix:
- [Description of how to fix the problem. If you don't know a
- fix for the problem, don't include this section.]
-EOF
-
-cp "$TEMPFILE1" "$TEMPFILE2"
-chmod u+w "$TEMPFILE1"
-
-trap '' 2 # ignore interrupts while in editor
-
-edstat=1
-while [ $edstat -ne 0 ]; do
- $EDITOR "$TEMPFILE1"
- edstat=$?
-
- if [ $edstat -ne 0 ]; then
- echo "$0: editor \`$EDITOR' exited with nonzero status."
- echo "$0: Perhaps it was interrupted."
- echo "$0: Type \`y' to give up, and lose your bug report;"
- echo "$0: type \`n' to re-enter the editor."
- echo $n "$0: Do you want to give up? $c"
-
- read ans
- case "$ans" in
- [Yy]*) exit 1 ;;
- esac
-
- continue
- fi
-
- # find the subject from the temp file and see if it's been changed
- CURR_SUB=`grep '^Subject: ' "$TEMPFILE1" | sed 's|^Subject:[ ]*||' | sed 1q`
-
- case "$CURR_SUB" in
- "${INITIAL_SUBJECT}")
- echo
- echo "$0: You have not changed the subject from the default."
- echo "$0: Please use a more descriptive subject header."
- echo "$0: Type \`y' to give up, and lose your bug report;"
- echo "$0: type \`n' to re-enter the editor."
- echo $n "$0: Do you want to give up? $c"
-
- read ans
- case "$ans" in
- [Yy]*) exit 1 ;;
- esac
-
- echo "$0: The editor will be restarted in five seconds."
- sleep 5
- edstat=1
- ;;
- esac
-
-done
-
-trap 'rm -rf "$TEMPDIR"; exit 1' 2 # restore trap on SIGINT
-
-if cmp -s "$TEMPFILE1" "$TEMPFILE2"
-then
- echo "File not changed, no bug report submitted."
- exit
-fi
-
-echo $n "Send bug report? [y/n] $c"
-read ans
-case "$ans" in
-[Nn]*) exit 0 ;;
-esac
-
-${RMAIL} $SMARGS < "$TEMPFILE1" || {
- cat "$TEMPFILE1" >> $HOME/dead.bashbug
- echo "$0: mail failed: report saved in $HOME/dead.bashbug" >&2
-}
-
-exit 0
Binary file sbsv2/raptor/linux-i386/bin/make has changed
Binary file sbsv2/raptor/linux-i386/bin/sh has changed
Binary file sbsv2/raptor/linux-i386/bin/unzip has changed
Binary file sbsv2/raptor/linux-i386/bin/zip has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/emulatorstacksize.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,5 @@
+Each thread or virtual "process" that is launched on the emulator gets a 1 MB
+stack. 1MB is much too large and 512 KB is more than sufficient. This
+reduction in stack size will help the emulator to fit into Windows virtual
+address space and improve its performance.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/filter_html.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,61 @@
+There is a new log filter to generate HTML output. For example,
+
+sbs --filters=html -f name
+
+will produce an output file "name_html/index.html" and other supporting files
+in the directory "name_html". This can be used alongside the Bz2 filter to
+generate both a human readable summary and a compressed log for further
+detailed machine analysis if required: for example,
+
+sbs --filters=html,bz2log -f name
+
+will produce a folder "name_html" and a file "name.bz2".
+
+
+If a build is done in several parts, for example,
+
+sbs -s sys1.xml --filters=html,bz2log -f build/part1
+sbs -s sys2.xml --filters=html,bz2log -f build/part2
+sbs -s sys3.xml --filters=html,bz2log -f build/part3
+
+Then there is a new script "SBS_HOME/bin/sbs_index.py" which can produce a
+single index linking to all the individual parts: for example,
+
+sbs_index.py build/part{1,2,3}_html build/index.html
+
+the first parameters are the directories to search for summaries and the
+last parameter is the name of the overall index file. Directories are
+searched recursively, so the above example is the same as,
+
+sbs_index.py build build/index.html
+
+
+Text in the Raptor logs is classified as Error, Critical, Warning or Remark
+using the list of regular expressions in the file,
+
+SBS_HOME/lib/config/logfile_regex.csv
+
+but this can be overriden by placing a file of the same name in the kit in
+its EPOCROOT/epoc32/sbs_config folder.
+
+
+The filter also checks that all the files which were listed in "what" output
+actually exist at the end of the build. Any files which don't exist are
+recorded as "Missing files".
+
+
+Sometimes when a target cannot be built you will see errors like this in the
+HTML report,
+"
+/opt/nokia/wk99/epoc32/build/something
+
+required the following files which could not be found,
+
+/opt/nokia/wk99/epoc32/include/foo
+/opt/nokia/wk99/epoc32/include/bar
+"
+
+which means that a dependency was created on "foo" and "bar" but the build
+did not contain any information anywhere on how to build those files. This
+is often caused by someone just forgetting to add files to the asset.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/nodebug.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,21 @@
+The "nodebug" variant causes executables to be built without debug
+information. It does not affect the macros that are passed to debug
+executables or the optimisation flags.
+
+The use case for nodebug is for a situation where some executables are
+so large that they trigger a problem in RVCT2.2's linker for the "udeb"
+version of the executable but not for the "urel" version. There is no
+known solution for this problem without using a new compiler and since
+it isn't currently possible to use different compilers in the same build
+this is not an option.
+
+This variant makes the udeb build of the executable much less useful for
+debugging purposes so it is an undesirable workaround for a build problem but
+there is no alternative. Newer versions of Symbian support newer compilers
+and will not need this feature. It is also not needed when building with GCCE.
+We strongly recommend against using this feature.
+
+For exectuables with this problem one must use the APPLY keyword in the mmp
+like so:
+
+apply nodebug
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/query_cli_extended_details.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,19 @@
+
+The --query command-line option has been extended to print more detailed
+information about a given configuration.
+
+Querying aliases now prints the list in sorted order, by name attribute.
+Ditto for products.
+
+Querying a configuration now prints the following additional information:
+
+1. include paths used for preprocessing bld.infs and MMPs
+2. pre-include header file for preprocessing bld.infs and MMPs
+3. pre-include header file passed to the compiler in a build (if used)
+4. macros used to preprocess bld.infs and MMPs (with values, if explicitly set)
+5. core macros used in compilation preprocessing (with values, if explicitly set)
+6. available values to use as the targettype in MMPs
+
+Further documentation can be found here:
+
+http://developer.symbian.org/wiki/index.php/Raptor_Query_Reference
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/slimdebug.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,17 @@
+The optional "slimdebug" variant is now available for use in e32 builds.
+
+This currently has an impact on RVCT-based e32 builds and, when applied,
+calls to armcc in udeb compilation have the "--no_debug_macros" and
+"--remove_unneeded_entities" options added; there is no change to the vanilla
+urel compilation call in RVCT-based builds, nor to the compiler calls in
+other e32 builds using other toolchains.
+
+The net result of applying "slimdebug" is a general decrease in udeb object
+and image sizes due to the removal of debug table entries and unused debug
+information.
+
+Examples of the variant's application are as follows:
+
+sbs -c armv5.slimdebug
+sbs -c armv6_udeb.slimdebug
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/tcom_allbefore.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,20 @@
+This change causes trace compilation to be performed for all source files in a
+component before any of those files is compiled.
+
+This should reduce the impact of clashes where the tracecompiler ends up writing the same
+trace headers twice if two mmps in a component share source code. The reduced impact is
+that the clash can be detected before any dependent object files are built thus the
+rebuilding that normally happens after a clash detection is not necessary.
+
+There is another problem where some components have static libraries and dlls
+that share common source files. If tracing is enabled for the DLL these common
+files try to include their trace headers. When the source files are being built
+into the static library they also try to include trace headers which may not have
+been generated yet because tracing is not enabled for static libraries at this time
+since they don't have UIDs or any unique id to associate any trace points with.
+
+This change cannot fix this problem just as it doesn't prevent clashes but it at
+least makes sure that all trace headers exist before anything could possibly try
+to use them. This helps the build succeed while work is done to remove clashes and the static
+library tracing problem and it is no more incorrect than the current situation.
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/tools_env_vars.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,37 @@
+A requirement on Raptor is to allow all the tools to be configurable via
+environment variables. To this end, updates have been made to extend the list
+of tools that can be configured using environment variables.
+
+The list of new SBS_*** environment variables and their purpose is given below:
+
+SBS_EPOCTOOLS Directory for epoc32 tools; defaults to $EPOCROOT/epoc32/tools
+ Changes the default locations for all of the following tools.
+SBS_CHECKLIB Full path to checklib program
+SBS_EFREEZE perl, followed by full path to efreeze.pl
+SBS_ELF2E32 Full path to elf2e32 program
+SBS_PREPDEF perl, followed by full path to prepdef.pl
+SBS_RCOMP Full path to rcomp program
+SBS_TRANASM perl, followed by full path to tranasm.pl
+SBS_MAKEDEF perl, followed by full path to makedef.pl
+SBS_PETRAN perl, followed by full path to petran.pl
+SBS_SYMLOOKUPUTIL perl, followed by full path to sym_lkup_util.pl
+SBS_SLASHBIN Linux only: location of /bin, i.e. an alternative location for
+ GCC and associated tools
+SBS_USRBIN Linux only: location of /usr/bin, i.e. an alternative location
+ for Gnu tools such as the Core Utils
+
+In the case Perl scripts (.pl files), "perl" can be replaced with the full path to
+the perl program.
+
+The above variables supercede the following environment variables:
+
+CHECKLIB
+EFREEZE
+ELF2E32
+MAKEDEF
+PETRAN
+PREPDEF
+RCOMP
+TRANASM
+
+which are no longer in use.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/traces_mmpkeyword.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,15 @@
+The traces mmp keyword is used to explicitly indicate Raptor to run trace compiler. It is designed to replace the implicit way, which is specifying trace folder in userinclude. However, the old way is still supported for compatibility reason.
+
+The keyword could be used as a swtich with no parameter, which automatically set trace folder to be:
+
+../traces/<target>_<targetext>
+
+When the keyword is used with a parameter, it set trace folder to be:
+
+<parameter>traces/<target>_<targetext>
+
+So e.g. if the mmp file is at the same level with trace folder and you want the trace folder directory to be: "./traces/<target>_<targetext>", in your mmp it should say:
+
+traces ./
+
+N.B. The trace folder directory is relative to the directory of the mmp file where traces keyword is used.
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/variant_cfg.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,25 @@
+The pre-included header file used in builds (.hrh) is normally defined
+inside a text file located at $(EPOCROOT)/epoc32/tools/variant/variant.cfg
+in each kit.
+
+This is an unnecessary extra file to maintain if you already define all the
+other kit properties in an XML file in the $(EPOCROOT)/epoc32/sbs_config
+folder.
+
+This change allows kit owners to define the .hrh file name in the XML instead
+of using an additional variant.cfg file.
+
+An example of this is shown in $(SBS_HOME)/examples/os_properties.xml
+where the VARIANT_HRH parameter is set as follows,
+
+<set name='VARIANT_HRH' value='$(EPOCINCLUDE)/feature_settings.hrh'/>
+
+
+In the unusual case where you want to build without a .hrh file at all (maybe
+to create an epoc32 tree from scratch) there is a variant "nohrh" which
+simply sets VARIANT_HRH as above to an empty file. Example usage would be,
+
+sbs -b bootstrap/bld.inf -c tools2.nohrh
+
+Note that, in general, actual code will not build properly without a .hrh
+file to configure it.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/notes/x86_initial.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,52 @@
+
+Raptor now supports a basic x86 OS build on Windows given the installation
+of an appropriate MinGW GCC toolchain (available separately).
+
+This is very much a first cut of the core x86 support, and should be considered
+alpha quality, but the fundamentals are now present to build EXE, DLL, IMPLIB
+and LIB TARGETTYPEs, as well as most fixed export TARGETTYPEs. Support for
+functionality not directly related to a release build e.g. freezing, assembler
+listing, single file compilation etc. is either not yet implemented or
+untested, so should not be expected to work correctly.
+
+In order to build components for an x86 configuration, an SBS_GCCX86BIN
+environment variable must first be set, with a path as its value, pointing to
+the "bin" directory of the MinGW installation intended for use in the build
+e.g.:
+
+SBS_GCCX86BIN=C:\apps\MinGW\bin
+
+x86 build configurations should then be available for use as follows:
+
+sbs -c x86
+sbs -c x86_urel
+sbs -c x86_udeb
+
+A component supports a build using the above x86 configurations if its
+bld.inf file has an empty or missing PRJ_PLATFORMS section or PRJ_PLATFORMS is
+populated specifically with X86, DEFAULT, BASEDEFAULT or BASEUSERDEFAULT.
+
+The above x86 group and aliases check that the GCC installation is version 3.4.5
+but, other than that, it is the end user's responsibility to provide a toolchain
+that is suitable for an x86 build; currently the x86 build requires a custom
+GCC toolchain that differs from vanilla MinGW releases.
+
+By default, and in common with other Raptor build configurations, x86 build
+output locations are architecture rather than toolchain based, therefore the
+following output folders are used:
+
+%EPOCROOT%\epoc32\release\x86\lib
+%EPOCROOT%\epoc32\release\x86\urel
+%EPOCROOT%\epoc32\release\x86\udeb
+
+An optional release_x86gcc variant is available if the output directories need
+to differentiate based on the toolchain used. This variant can be used as
+follows:
+
+sbs -c x86.release_x86gcc
+
+...and will lead to the use of these output directories:
+
+%EPOCROOT%\epoc32\release\x86gcc\lib
+%EPOCROOT%\epoc32\release\x86gcc\urel
+%EPOCROOT%\epoc32\release\x86gcc\udeb
--- a/sbsv2/raptor/python/filter_list.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/filter_list.py Wed Oct 06 15:13:17 2010 +0100
@@ -189,7 +189,7 @@
for filter in self.out:
if (filter != sys.stdout) and (filter != sys.stderr):
- returnVal = returnVal and filter.close()
+ returnVal = filter.close() and returnVal
return returnVal
--- a/sbsv2/raptor/python/mmpparser.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/mmpparser.py Wed Oct 06 15:13:17 2010 +0100
@@ -74,7 +74,6 @@
Line(CaselessKeyword('APPLY') + String()) ^ \
Line(CaselessKeyword('ASSPLIBRARY') + StringList()) ^ \
Line(CaselessKeyword('CAPABILITY') + StringList()) ^ \
- Line(CaselessKeyword('DOCUMENT') + StringList()) ^ \
Line(CaselessKeyword('EPOCHEAPSIZE') + HexOrDecNumber() + HexOrDecNumber()) ^ \
Line(CaselessKeyword('EPOCPROCESSPRIORITY') + String()) ^ \
Line(CaselessKeyword('FIRSTLIB') + String()) ^ \
@@ -83,6 +82,7 @@
Line(CaselessKeyword('RAMTARGET') + String()) ^ \
Line(CaselessKeyword('TARGETTYPE') + String()) ^ \
Line(CaselessKeyword('TARGETPATH') + String()) ^ \
+ Line(CaselessKeyword('TRACES') + Optional(String())) ^ \
Line(CaselessKeyword('SYSTEMINCLUDE') + StringList()) ^ \
Line(CaselessKeyword('USERINCLUDE') + StringList()) ^ \
Line(CaselessKeyword('DEFFILE') + String()) ^ \
@@ -98,39 +98,22 @@
Line(CaselessKeyword('EPOCPROCESSPRIORITY') + String()) ^ \
Line(CaselessKeyword('NEWLIB') + String()) \
).setParseAction(self.backend.doAssignment) ^ \
- ( \
- Line(CaselessKeyword('SOURCE') + StringList()).setParseAction(self.backend.doSourceAssignment) \
- ).setParseAction(self.backend.doSourceAssignment) ^ \
- ( \
- Line(CaselessKeyword('RESOURCE') + StringList()).setParseAction(self.backend.doOldResourceAssignment) \
- ).setParseAction(self.backend.doOldResourceAssignment) ^ \
+ Line(CaselessKeyword('DOCUMENT') + StringList()).setParseAction(self.backend.doDocumentAssignment) ^ \
+ Line(CaselessKeyword('SOURCE') + StringList()).setParseAction(self.backend.doSourceAssignment) ^ \
+ Line(CaselessKeyword('RESOURCE') + StringList()).setParseAction(self.backend.doOldResourceAssignment) ^ \
( \
Line(CaselessKeyword('SYSTEMRESOURCE') + StringList()).setParseAction(self.backend.doResourceAssignment) \
).setParseAction(self.backend.doOldResourceAssignment) ^ \
( \
Line(CaselessKeyword('SOURCEPATH') + String()).setParseAction(self.backend.doSourceAssignment) \
).setParseAction(self.backend.doSourcePathAssignment) ^ \
- ( \
- Line((CaselessKeyword('UID') + Group(HexOrDecNumber() + Optional(HexOrDecNumber())))).setParseAction(self.backend.doUIDAssignment) \
- ).setParseAction(self.backend.doUIDAssignment) ^ \
- ( \
- Line(CaselessKeyword('LANG') + StringList()) \
- ).setParseAction(self.backend.doAppend) ^ \
- ( \
- Line(CaselessKeyword('LIBRARY') + StringList()) \
- ).setParseAction(self.backend.doAppend) ^ \
- ( \
- Line(CaselessKeyword('DEBUGLIBRARY') + StringList()) \
- ).setParseAction(self.backend.doAppend) ^ \
- ( \
- Line(CaselessKeyword('MACRO') + Optional(StringList())) \
- ).setParseAction(self.backend.doAppend) ^ \
- ( \
- Line(CaselessKeyword('AIF') + StringList()) \
- ).setParseAction(self.backend.doDeprecated) ^ \
- ( \
- Line(CaselessKeyword('STATICLIBRARY') + StringList()) \
- ).setParseAction(self.backend.doAppend)
+ Line((CaselessKeyword('UID') + Group(HexOrDecNumber() + Optional(HexOrDecNumber())))).setParseAction(self.backend.doUIDAssignment) ^ \
+ Line(CaselessKeyword('LANG') + StringList()).setParseAction(self.backend.doAppend) ^ \
+ Line(CaselessKeyword('LIBRARY') + StringList()).setParseAction(self.backend.doAppend) ^ \
+ Line(CaselessKeyword('DEBUGLIBRARY') + StringList()).setParseAction(self.backend.doAppend) ^ \
+ Line(CaselessKeyword('MACRO') + Optional(StringList())).setParseAction(self.backend.doAppend) ^ \
+ Line(CaselessKeyword('AIF') + StringList()).setParseAction(self.backend.doDeprecated) ^ \
+ Line(CaselessKeyword('STATICLIBRARY') + StringList()).setParseAction(self.backend.doAppend)
self.switch = \
(Line( \
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/python/plugins/filter_html.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,830 @@
+
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+'''
+Filter class for generating HTML summary pages
+'''
+
+import os
+import re
+import csv
+import sys
+import shutil
+import tempfile
+import time
+import filter_interface
+
+class HTML(filter_interface.FilterSAX):
+
+ def __init__(self, params = []):
+ """parameters to this filter are..."""
+ super(HTML, self).__init__()
+
+ # FilterSAX method overrides
+
+ def startDocument(self):
+
+ if self.params.logFileName:
+ self.dirname = str(self.params.logFileName).replace("%TIME", self.params.timestring) + "_html"
+ else:
+ self.dirname = "html" # writing to stdout doesn't make sense
+
+ # read regular expressions from the first file on the config path
+ self.regex = []
+ for p in self.params.configPath:
+ if not p.isAbsolute():
+ p = self.params.home.Append(p)
+
+ csv = p.Append("logfile_regex.csv")
+ if csv.isFile():
+ self.regex = self.readregex(str(csv))
+ break
+
+ # regexes for important "make" errors
+ self.noruletomake = re.compile("No rule to make target `(.+)', needed by `(.+)'")
+
+ # all our lists are empty
+ self.elements = []
+ self.recipe_tag = None
+ self.error_tag = None
+ self.warning_tag = None
+
+ self.components = {}
+ self.configurations = {}
+ self.missed_depends = {}
+ self.parse_start = {}
+ self.totals = Records()
+
+ self.progress_started = 0
+ self.progress_stopped = 0
+
+ # create all the directories
+ for s in Records.CLASSES:
+ dir = os.path.join(self.dirname, s)
+ if not os.path.isdir(dir):
+ try:
+ os.makedirs(dir)
+ except:
+ return self.err("could not create directory '%s'" % dir)
+
+ # create an index.html
+ try:
+ indexname = os.path.join(self.dirname, "index.html")
+
+ self.index = open(indexname, "w")
+ self.index.write("""<html>
+<head>
+<title>Raptor Build Summary</title>
+<link type="text/css" rel="stylesheet" href="style.css">
+</head>
+<body>
+<h1>Raptor Build Summary</h1>
+""")
+ except:
+ return self.err("could not create file '%s'" % indexname)
+
+ # copy over a style file if none exists in the output already
+ css = os.path.join(self.dirname, "style.css")
+ if not os.path.isfile(css):
+ try:
+ style = str(self.params.home.Append("style/filter_html.css"))
+ shutil.copyfile(style, css)
+ except:
+ self.moan("could not copy '%s' to '%s'" % (style, css))
+
+ # create a temporary file to record all the "what" files in. We can
+ # only test the files for existence after "make" has finished running.
+ try:
+ self.tmp = tempfile.TemporaryFile()
+ except:
+ return self.err("could not create temporary file")
+
+ return self.ok
+
+ def startElement(self, name, attributes):
+ "call the start handler for this element if we defined one."
+
+ ns_name = name.replace(":", "_")
+ self.generic_start(ns_name) # tracks element nesting
+
+ function_name = "start_" + ns_name
+ try:
+ HTML.__dict__[function_name](self, attributes)
+ except KeyError:
+ pass
+
+ def characters(self, char):
+ "process [some of] the body text for the current element."
+
+ function_name = "char_" + self.elements[-1]
+ try:
+ HTML.__dict__[function_name](self, char)
+ except KeyError:
+ pass
+
+ def endElement(self, name):
+ "call the end handler for this element if we defined one."
+
+ function_name = "end_" + name.replace(":", "_")
+ try:
+ HTML.__dict__[function_name](self)
+ except KeyError:
+ pass
+
+ self.generic_end() # tracks element nesting
+
+ def endDocument(self):
+
+ self.existencechecks()
+ self.dumptotals()
+ try:
+ if self.progress_started > 0:
+ t_from = time.asctime(time.localtime(self.progress_started))
+ t_to = time.asctime(time.localtime(self.progress_stopped))
+ self.index.write("<p>start: " + t_from + "\n")
+ self.index.write("<br>end : " + t_to + "\n")
+
+ self.index.write("<p><table><tr><th></th>")
+
+ for title in Records.TITLES:
+ self.index.write('<th class="numbers">%s</th>' % title)
+
+ self.index.write("</tr>")
+ self.index.write(self.totals.tablerow("total"))
+ self.index.write("</table>")
+
+
+ self.index.write("<h2>by configuration</h2>")
+ self.index.write("<p><table><tr><th></th>")
+
+ for title in Records.TITLES:
+ self.index.write('<th class="numbers">%s</th>' % title)
+
+ self.index.write("</tr>")
+
+ # the list of configuration names in alphabetical order
+ names = self.configurations.keys()
+ names.sort()
+
+ # print the "unknown" configuration results first
+ if 'unknown' in names:
+ self.index.write(self.configurations['unknown'].tablerow("no specific configuration"))
+ names.remove('unknown')
+
+ # print the rest
+ for name in names:
+ self.index.write(self.configurations[name].tablerow(name))
+
+ self.index.write("</table>")
+
+
+ self.index.write("<h2>by component</h2>")
+ self.index.write("<p><table><tr><th></th>")
+
+ for title in Records.TITLES:
+ self.index.write('<th class="numbers">%s</th>' % title)
+
+ self.index.write("</tr>")
+
+ # the list of component names in alphabetical order
+ names = self.components.keys()
+ names.sort()
+
+ # print the "unknown" component results first
+ if 'unknown' in names:
+ self.index.write(self.components['unknown'].tablerow("no specific component"))
+ names.remove('unknown')
+
+ # print the rest
+ for name in names:
+ self.index.write(self.components[name].tablerow(name))
+
+ self.index.write("</table>")
+ self.index.write("</body></html>")
+ self.index.close()
+ except Exception, e:
+ return self.err("could not close index " + str(e))
+
+ # error and warning exception handlers for FilterSAX
+
+ def error(self, exception):
+ self.fatalError(exception) # all errors are fatal
+
+ def fatalError(self, exception):
+ self.err("exception " + str(exception))
+
+ def warning(self, exception):
+ """only print warnings if no errors have occurred yet.
+
+ because after an error everything goes mad."""
+ if self.ok:
+ sys.stderr.write(self.formatWarning("HTML filter " + str(exception)))
+
+ # our error handling functions
+
+ def err(self, text):
+ """only print the first error, then go quiet.
+
+ because after a fatal error there are usually hundreds of
+ meaningless repeats and/or garbage that doesn't help anyone."""
+ if self.ok:
+ sys.stderr.write(self.formatError("HTML filter " + text))
+ self.ok = False
+ return self.ok
+
+ def moan(self, text):
+ """print a warning about something that is annoying but not fatal."""
+ if self.ok:
+ sys.stderr.write(self.formatWarning("HTML filter " + text))
+ return self.ok
+
+ # our content handling functions
+
+ def start_buildlog(self, attributes):
+ try:
+ self.index.write("<p><tt>sbs " + attributes['sbs_version'] + "</tt>")
+ except KeyError:
+ pass
+
+ def char_buildlog(self, char):
+ '''process text in the top-level element.
+
+ ideally all text will be inside <recipe> tags, but some will not.
+ "make" errors in particular appear inside the buildlog tag itself.'''
+
+ text = char.strip()
+ if text:
+ match = self.noruletomake.search(text)
+ if match:
+ target = match.group(2)
+ depend = match.group(1)
+ if target in self.missed_depends:
+ self.missed_depends[target].append(depend)
+ else:
+ self.missed_depends[target] = [depend]
+
+ def end_buildlog(self):
+ pass
+
+ def start_recipe(self, attributes):
+ self.recipe_tag = TaggedText(attributes)
+
+ def char_recipe(self, char):
+ self.recipe_tag.text += char
+
+ def end_recipe(self):
+ # an "ok" recipe may contain warnings / remarks
+ if self.recipe_tag.exit == 'ok':
+ self.record(self.recipe_tag, self.classify(self.recipe_tag.text))
+
+ # a "failed" recipe is always an error
+ elif self.recipe_tag.exit == 'failed':
+ self.record(self.recipe_tag, Records.ERROR)
+
+ # "retry" should just be ignored (for now)
+ # but will be recorded in a later version.
+
+ self.recipe_tag = None
+
+ def start_status(self, attributes):
+ try:
+ if self.recipe_tag:
+ self.recipe_tag.exit = attributes['exit']
+ self.recipe_tag.code = attributes['code']
+ else:
+ self.err("status element not inside a recipe element")
+ except KeyError:
+ pass
+
+ def start_time(self, attributes):
+ try:
+ if self.recipe_tag:
+ self.recipe_tag.time = float(attributes['elapsed'])
+ else:
+ self.err("status element not inside a recipe element")
+ except KeyError:
+ pass
+
+ def start_progress_start(self, attributes):
+ '''on progress:start note the parse starting timestamp.
+
+ and keep track of the earliest timestamp of all as that shows
+ us when the sbs command was run.'''
+ try:
+ t = float(attributes['time'])
+ if self.progress_started == 0 or t < self.progress_started:
+ self.progress_started = t
+
+ if attributes['task'] == 'parse':
+ self.parse_start[attributes['key']] = t
+ except KeyError:
+ pass
+
+ def start_progress_end(self, attributes):
+ '''on progress:end add the elapsed parse time to the total time.
+
+ also keep track of the latest timestamp of all as that shows
+ us when the sbs command finished.'''
+ try:
+ t = float(attributes['time'])
+ if t > self.progress_stopped:
+ self.progress_stopped = t
+
+ if attributes['task'] == 'parse':
+ elapsed = t - self.parse_start[attributes['key']]
+ self.totals.inc(Records.TIME, elapsed)
+ except KeyError:
+ pass
+
+ def start_error(self, attributes):
+ self.error_tag = TaggedText(attributes)
+
+ def char_error(self, char):
+ self.error_tag.text += char
+
+ def end_error(self):
+ self.record(self.error_tag, Records.ERROR)
+ self.error_tag = None
+
+ def start_warning(self, attributes):
+ self.warning_tag = TaggedText(attributes)
+
+ def char_warning(self, char):
+ self.warning_tag.text += char
+
+ def end_warning(self):
+ self.record(self.warning_tag, Records.WARNING)
+ self.warning_tag = None
+
+ def start_whatlog(self, attributes):
+ try:
+ for attrib in ['bldinf', 'config']:
+ self.tmp.write("|")
+ if attrib in attributes:
+ self.tmp.write(attributes[attrib])
+ self.tmp.write("\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_export(self, attributes):
+ try:
+ self.tmp.write(attributes['destination'] + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_resource(self, attributes):
+ self.resource_tag = ""
+
+ def char_resource(self, char):
+ self.resource_tag += char
+
+ def end_resource(self):
+ try:
+ self.tmp.write(self.resource_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_bitmap(self, attributes):
+ self.bitmap_tag = ""
+
+ def char_bitmap(self, char):
+ self.bitmap_tag += char
+
+ def end_bitmap(self):
+ try:
+ self.tmp.write(self.bitmap_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_stringtable(self, attributes):
+ self.stringtable_tag = ""
+
+ def char_stringtable(self, char):
+ self.stringtable_tag += char
+
+ def end_stringtable(self):
+ try:
+ self.tmp.write(self.stringtable_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_member(self, attributes):
+ self.member_tag = ""
+
+ def char_member(self, char):
+ self.member_tag += char
+
+ def end_member(self):
+ try:
+ self.tmp.write(self.member_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_build(self, attributes):
+ self.build_tag = ""
+
+ def char_build(self, char):
+ self.build_tag += char
+
+ def end_build(self):
+ try:
+ self.tmp.write(self.build_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_clean(self, attributes):
+ try:
+ for attrib in ['bldinf', 'config']:
+ self.tmp.write("|")
+ if attrib in attributes:
+ self.tmp.write(attributes[attrib])
+ self.tmp.write("\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ def start_file(self, attributes):
+ '''opening file tag.
+
+ in the temporary file we need to mark the "clean" targets with a
+ leading ">" character so they can be treated differently from
+ the "releasable" targets'''
+ self.file_tag = ">"
+
+ def char_file(self, char):
+ self.file_tag += char
+
+ def end_file(self):
+ try:
+ self.tmp.write(self.file_tag.strip() + "\n")
+ except:
+ return self.err("could not write to temporary file")
+
+ # even if we ignore an element we need to mark its coming and going
+ # so that we know which element any character data belongs to.
+
+ def generic_start(self, name):
+ self.elements.append(name)
+
+ def generic_end(self):
+ self.elements.pop()
+
+ # text classification
+
+ def classify(self, text):
+ "test the text for errors, warnings and remarks."
+
+ # there shouldn't actually be any errors in here because we
+ # are only looking at "ok" recipes... BUT there are bad tools
+ # out there which don't set an error code when they fail, so
+ # we should look out for those cases.
+
+ for line in text.splitlines():
+ if not line or line.startswith("+"):
+ continue # it is a blank line or a command, not its output
+
+ # the first expression that matches wins
+ for r in self.regex:
+ if r[0].search(line):
+ return r[1]
+
+ return Records.OK
+
+ # reporting of "errors" to separate files
+
+ def record(self, taggedtext, type):
+ if self.totals.isempty(type):
+ self.createoverallfile(type)
+ self.appendoverallfile(type, taggedtext)
+
+ configuration = taggedtext.config
+
+ if configuration in self.configurations:
+ if self.configurations[configuration].isempty(type):
+ self.createconfigurationfile(configuration, type)
+
+ self.appendconfigurationfile(configuration, type, taggedtext)
+ else:
+ # first time for configuration
+ self.configurations[configuration] = Records()
+ self.createconfigurationfile(configuration, type)
+ self.appendconfigurationfile(configuration, type, taggedtext)
+
+ component = taggedtext.bldinf
+
+ if component in self.components:
+ if self.components[component].isempty(type):
+ self.createcomponentfile(component, type)
+
+ self.appendcomponentfile(component, type, taggedtext)
+ else:
+ # first time for component
+ self.components[component] = Records()
+ self.createcomponentfile(component, type)
+ self.appendcomponentfile(component, type, taggedtext)
+
+ def createoverallfile(self, type):
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ linkname = os.path.join(Records.CLASSES[type], "overall.html")
+ filename = os.path.join(self.dirname, linkname)
+ title = Records.TITLES[type] + " for all configurations"
+ try:
+ file = open(filename, "w")
+ file.write("<html><head><title>%s</title>" % title)
+ file.write('<link type="text/css" rel="stylesheet" href="../style.css"></head><body>')
+ file.write("<h1>%s</h1>" % title)
+ file.close()
+ except:
+ return self.err("cannot create file '%s'" % filename)
+
+ self.totals.set_filename(type, filename)
+ self.totals.set_linkname(type, linkname)
+
+ def appendoverallfile(self, type, taggedtext):
+ self.totals.inc(type) # one more and counting
+ self.totals.inc(Records.TIME, taggedtext.time)
+
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ filename = self.totals.get_filename(type)
+ try:
+ file = open(filename, "a")
+ file.write("<p>component: %s " % taggedtext.bldinf)
+ file.write("config: %s\n" % taggedtext.config)
+ file.write("<pre>" + taggedtext.text.strip() + "</pre>")
+ file.close()
+ except:
+ return self.err("cannot append to file '%s'" % filename)
+
+ def createconfigurationfile(self, configuration, type):
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ linkname = os.path.join(Records.CLASSES[type], "cfg_" + configuration + ".html")
+ filename = os.path.join(self.dirname, linkname)
+ title = Records.TITLES[type] + " for configuration " + configuration
+ try:
+ file = open(filename, "w")
+ file.write("<html><head><title>%s</title>" % title)
+ file.write('<link type="text/css" rel="stylesheet" href="../style.css"></head><body>')
+ file.write("<h1>%s</h1>" % title)
+ file.close()
+ except:
+ return self.err("cannot create file '%s'" % filename)
+
+ self.configurations[configuration].set_filename(type, filename)
+ self.configurations[configuration].set_linkname(type, linkname)
+
+ def appendconfigurationfile(self, configuration, type, taggedtext):
+ self.configurations[configuration].inc(type) # one more and counting
+ self.configurations[configuration].inc(Records.TIME, taggedtext.time)
+
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ filename = self.configurations[configuration].get_filename(type)
+ try:
+ file = open(filename, "a")
+ file.write("<p>component: %s\n" % taggedtext.bldinf)
+ file.write("<pre>" + taggedtext.text.strip() + "</pre>")
+ file.close()
+ except:
+ return self.err("cannot append to file '%s'" % filename)
+
+ def createcomponentfile(self, component, type):
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ linkname = os.path.join(Records.CLASSES[type], "bld_" + re.sub("[/:]","_",component) + ".html")
+ filename = os.path.join(self.dirname, linkname)
+ title = Records.TITLES[type] + " for component " + component
+ try:
+ file = open(filename, "w")
+ file.write("<html><head><title>%s</title>" % title)
+ file.write('<link type="text/css" rel="stylesheet" href="../style.css"></head><body>')
+ file.write("<h1>%s</h1>" % title)
+ file.close()
+ except:
+ return self.err("cannot create file '%s'" % filename)
+
+ self.components[component].set_filename(type, filename)
+ self.components[component].set_linkname(type, linkname)
+
+ def appendcomponentfile(self, component, type, taggedtext):
+ self.components[component].inc(type) # one more and counting
+ self.components[component].inc(Records.TIME, taggedtext.time)
+
+ if type == Records.OK:
+ # we don't want to show successes, just count them
+ return
+
+ filename = self.components[component].get_filename(type)
+ try:
+ file = open(filename, "a")
+ file.write("<p>config: %s\n" % taggedtext.config)
+ file.write("<pre>" + taggedtext.text.strip() + "</pre>")
+ file.close()
+ except:
+ return self.err("cannot append to file '%s'" % filename)
+
+ def existencechecks(self):
+ try:
+ self.tmp.flush() # write what is left in the buffer
+ self.tmp.seek(0) # rewind to the beginning
+
+ missing_tag = TaggedText({})
+ missed = set() # only report missing files once
+
+ for line in self.tmp.readlines():
+ if line.startswith("|"):
+ parts = line.split("|")
+ attribs = { 'bldinf' : parts[1].strip(),
+ 'config' : parts[2].strip() }
+ missing_tag = TaggedText(attribs)
+ else:
+ filename = line.strip()
+ if filename.startswith(">"):
+ # a clean target, so we don't care if it exists
+ # but we care if it has a missing dependency
+ filename = filename[1:]
+ else:
+ # a releasable target so it must exist
+ if not filename in missed and not os.path.isfile(filename):
+ missing_tag.text = filename
+ self.record(missing_tag, Records.MISSING)
+ missed.add(filename)
+
+ if filename in self.missed_depends:
+ missing_tag.text = filename + \
+ "\n\nrequired the following files which could not be found,\n\n"
+ for dep in self.missed_depends[filename]:
+ missing_tag.text += dep + "\n"
+ self.record(missing_tag, Records.ERROR)
+ del self.missed_depends[filename]
+
+ self.tmp.close() # this also deletes the temporary file
+
+ # any missed dependencies left over are not attributable to any
+ # specific component but should still be reported
+ missing_tag = TaggedText({})
+ for filename in self.missed_depends:
+ missing_tag.text = filename + \
+ "\n\nrequired the following files which could not be found,\n\n"
+ for dep in self.missed_depends[filename]:
+ missing_tag.text += dep + "\n"
+ self.record(missing_tag, Records.ERROR)
+
+ except Exception,e:
+ return self.err("could not close temporary file " + str(e))
+
+ def dumptotals(self):
+ """write the numbers of errors, warnings etc. into a text file.
+
+ so that a grand summariser can tie together individual log summaries
+ into one big summary page."""
+ try:
+ filename = os.path.join(self.dirname, "totals.txt")
+ file = open(filename, "w")
+ file.write(self.totals.textdump())
+ file.close()
+ except:
+ self.err("cannot write totals file '%s'" % filename)
+
+ def readregex(self, csvfile):
+ """read the list of regular expressions from a csv file.
+
+ the file format is TYPE,REGEX,DESCRIPTION
+
+ If the description is "ignorecase" then the regular expression is
+ compiled with re.IGNORECASE and will match case-insensitively.
+ """
+ regexlist = []
+ try:
+ reader = csv.reader(open(csvfile, "rb"))
+ for row in reader:
+ try:
+ type = None
+
+ if row[0] == "ERROR":
+ type = Records.ERROR
+ elif row[0] == "CRITICAL":
+ type = Records.CRITICAL
+ elif row[0] == "WARNING":
+ type = Records.WARNING
+ elif row[0] == "REMARK":
+ type = Records.REMARK
+
+ # there are other types like INFO that we don't
+ # care about so silently ignore them.
+ if type:
+ if row[2].lower() == "ignorecase":
+ regex = re.compile(row[1], re.I)
+ else:
+ regex = re.compile(row[1])
+ regexlist.append((regex, type))
+ except:
+ self.moan("ignored bad regex '%s' in file '%s'" % (row[1], csvfile))
+ except Exception, ex:
+ self.err("cannot read regex file '%s': %s" % (csvfile, str(ex)))
+ return []
+
+ return regexlist
+
+class CountItem(object):
+ def __init__(self):
+ self.N = 0
+ self.filename = None
+ self.linkname = None
+
+ def num_str(self):
+ return str(self.N)
+
+class TimeItem(CountItem):
+ def num_str(self):
+ return time.strftime("%H:%M:%S", time.gmtime(self.N + 0.5))
+
+class Records(object):
+ "a group of related records e.g. errors, warnings and remarks."
+
+ # the different types of record we want to group together
+ TIME = 0
+ OK = 1
+ ERROR = 2
+ CRITICAL = 3
+ WARNING = 4
+ REMARK = 5
+ MISSING = 6
+
+ CLASSES = [ "time", "ok", "error", "critical", "warning", "remark", "missing" ]
+ TITLES = [ "CPU Time", "OK", "Errors", "Criticals", "Warnings", "Remarks", "Missing files" ]
+
+ def __init__(self):
+ self.data = [ TimeItem(), CountItem(), CountItem(), CountItem(), CountItem(), CountItem(), CountItem() ]
+
+ def get_filename(self, index):
+ return self.data[index].filename
+
+ def inc(self, index, increment=1):
+ self.data[index].N += increment
+
+ def isempty(self, index):
+ return (self.data[index].N == 0)
+
+ def set_filename(self, index, value):
+ self.data[index].filename = value
+
+ def set_linkname(self, index, value):
+ self.data[index].linkname = value
+
+ def tablerow(self, name):
+ row = '<tr><td class="name">%s</td>' % name
+
+ for i,datum in enumerate(self.data):
+ if datum.N == 0:
+ row += '<td class="zero">0</td>'
+ else:
+ row += '<td class="' + Records.CLASSES[i] + '">'
+ if datum.linkname:
+ row += '<a href="%s">%s</a></td>' % (datum.linkname,datum.num_str())
+ else:
+ row += '%s</td>' % datum.num_str()
+
+ row += "</tr>"
+ return row
+
+ def textdump(self):
+ text = ""
+ for i,datum in enumerate(self.data):
+ if datum.N == 0:
+ style = "zero"
+ else:
+ style = Records.CLASSES[i]
+ text += str(i) + ',' + style + "," + str(datum.N) + "\n"
+ return text
+
+class TaggedText(object):
+ def __init__(self, attributes):
+
+ for attrib in ['bldinf', 'config']:
+ self.__dict__[attrib] = "unknown"
+ if attrib in attributes:
+ value = attributes[attrib]
+ if value:
+ self.__dict__[attrib] = value
+
+ self.text = ""
+ self.time = 0.0
+
+# the end
\ No newline at end of file
--- a/sbsv2/raptor/python/plugins/filter_terminal.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/plugins/filter_terminal.py Wed Oct 06 15:13:17 2010 +0100
@@ -154,7 +154,8 @@
"error:",
": ***",
"make: interrupt/exception caught (code =",
- "make.exe: interrupt/exception caught (code ="
+ "make.exe: interrupt/exception caught (code =",
+ "command returned code"
])
# list of strings to catch make warnings (must be lowercase)
self.make_warning_expr = ["warning:"]
--- a/sbsv2/raptor/python/raptor.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor.py Wed Oct 06 15:13:17 2010 +0100
@@ -1377,6 +1377,8 @@
self.incoming_epocroot = incoming_epocroot
self.epocroot = epocroot
self.logFileName = raptor_instance.logFileName
+ self.configPath = raptor_instance.configPath
+ self.home = raptor_instance.home
self.quiet = raptor_instance.quiet
self.doCheck = raptor_instance.doCheck
self.doWhat = raptor_instance.doWhat
--- a/sbsv2/raptor/python/raptor_api.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_api.py Wed Oct 06 15:13:17 2010 +0100
@@ -27,8 +27,22 @@
class Reply(object):
"""object to return values from API calls.
"""
- def __init__(self, text=""):
+ def __init__(self, text="", raptor=None):
+ self._raptor = raptor
self.text = text
+
+ def _getEvaluator(self, meaning):
+ """ Note: Will pass on Evaluator constructor exceptions """
+ try:
+ return self.__evaluator
+ except AttributeError:
+ # create an evaluator for the named configuration
+ tmp = raptor_data.Alias("tmp")
+ tmp.SetProperty("meaning", meaning)
+
+ units = tmp.GenerateBuildUnits(self._raptor.cache)
+ self.__evaluator = self._raptor.GetEvaluator(None, units[0])
+ return self.__evaluator
def __str__(self):
name = type(self).__name__.lower()
@@ -38,11 +52,18 @@
longend = False
for attribute,value in self.__dict__.items():
- if attribute != "text":
+ if attribute != "text" and not attribute.startswith('_'):
if isinstance(value, Reply):
children.append(value)
+ elif isinstance(value, list):
+ for item in value:
+ if isinstance(item, Reply):
+ children.append(item)
+ else:
+ raise BadReply(str(item)+" is not a Reply object")
else:
- string += " %s='%s'" % (attribute, value)
+ if value != None: # skip attributes whose value is None
+ string += " %s='%s'" % (attribute, value)
if children or self.text:
string += ">"
@@ -50,12 +71,18 @@
if self.text:
string += self.text
+ children.sort()
+ # Note mixing sortable and unsortable lists results in
+ # sort not working, so if you really need your
+ # children to come out in the right order, put them in
+ # a list. This is only for niceness, where it works.
if children:
string += "\n"
- for c in children:
- string += str(c)
+ for c in children:
+ clines = str(c).rstrip().split("\n")
+ string += "".join(map(lambda l:" "+l+"\n",clines))
if longend:
string += "</%s>\n" % name
@@ -64,26 +91,235 @@
return string
+
+class BadReply(Exception):
+ pass
+
class Alias(Reply):
def __init__(self, name, meaning):
super(Alias,self).__init__()
self.name = name
self.meaning = meaning
+
+ def __cmp__(self, other):
+ """ Add __cmp__ to enable comparisons between two Alias objects based upon name."""
+ return cmp(self.name, other.name)
class Config(Reply):
- def __init__(self, fullname, outputpath):
- super(Config,self).__init__()
- self.fullname = fullname
- self.outputpath = outputpath
+ def __init__(self, raptor, name, text = None):
+ """ Constructor to create a Config from a user-supplied name.
+ possibly including aliases (but not groups)
+ """
+ super(Config,self).__init__(text, raptor)
+
+ self.query = name
+
+ # Work out the real name
+ names = name.split(".")
+ if names[0] in self._raptor.cache.aliases:
+ x = self._raptor.cache.FindNamedAlias(names[0])
+
+ if len(names) > 1:
+ self.meaning = x.meaning + "." + ".".join(names[1:])
+ else:
+ self.meaning = x.meaning
+
+ elif names[0] in self._raptor.cache.variants:
+ self.meaning = name
+
+ else:
+ raise BadQuery("'%s' is not an alias or a variant" % names[0])
+
+ def resolveOutputPath(self):
+ """ Get the outputpath """
+ try:
+ evaluator = self._getEvaluator(self.meaning)
+ # This is messy as some configs construct the path inside the FLM
+ # rather than talking it from the XML: usually because of some
+ # conditional logic... but maybe some refactoring could avoid that.
+ releasepath = evaluator.Get("RELEASEPATH")
+ if not releasepath:
+ raise BadQuery("could not get RELEASEPATH for config '%s'" % self.fullname)
+
+ variantplatform = evaluator.Get("VARIANTPLATFORM")
+ varianttype = evaluator.Get("VARIANTTYPE")
+ featurevariantname = evaluator.Get("FEATUREVARIANTNAME")
+
+ platform = evaluator.Get("TRADITIONAL_PLATFORM")
+
+ if platform == "TOOLS2":
+ self.outputpath = releasepath
+ else:
+ if not variantplatform:
+ raise BadQuery("could not get VARIANTPLATFORM for config '%s'" % self.fullname)
+
+ if featurevariantname:
+ variantplatform += featurevariantname
+
+ if not varianttype:
+ raise BadQuery("could not get VARIANTTYPE for config '%s'" % self.fullname)
+
+ self.outputpath = str(generic_path.Join(releasepath, variantplatform, varianttype))
+ except Exception, e: # Unable to determine output path
+ self.text = str(e)
+
+ def resolveMetadata(self):
+ try:
+ metadata = self.metadata
+ except AttributeError:
+ metadata = MetaData(self.meaning, self._raptor)
+ self.metadata = metadata
+
+ try:
+ metadata.resolve()
+ except Exception:
+ # Evaluator exception hopefully - already handled
+ self.metadata = None
+
+ def resolveBuild(self):
+ try:
+ build = self.build
+ except AttributeError:
+ build = Build(self.meaning, self._raptor)
+ self.build = build
+
+ try:
+ build.resolve()
+ except Exception:
+ # Evaluator exception, hopefully - already handled
+ self.build = None
+
+ def resolveTargettypes(self):
+ try:
+ build = self.build
+ except AttributeError:
+ build = Build(self.meaning, self._raptor)
+ self.build = build
+
+ try:
+ build.resolveTargettypes()
+ except Exception:
+ # Evaluator exception hopefully - already handled
+ self.build = None
+
+class MetaData(Reply):
+ def __init__(self, meaning, raptor):
+ super(MetaData,self).__init__("", raptor)
+ self.__meaning = meaning
+
+ def resolve(self):
+ includepaths = []
+ preincludeheader = ""
+ platmacros = []
+
+ evaluator = self._getEvaluator(self.__meaning)
+
+ # Initialise data and metadata objects
+ buildunits = raptor_data.GetBuildUnits([self.__meaning], self._raptor.cache, self._raptor)
+ metareader = raptor_meta.MetaReader(self._raptor, buildunits)
+ metadatafile = raptor_meta.MetaDataFile(generic_path.Path("bld.inf"), "cpp", [], None, self._raptor)
+
+ # There is only one build platform here; obtain the pre-processing include paths,
+ # OS pre-include file, compiler pre-include file and macros.
+ includepaths = metadatafile.preparePreProcessorIncludePaths(metareader.BuildPlatforms[0])
+ preincludeheader = metareader.BuildPlatforms[0]['VARIANT_HRH']
+
+ # Macros arrive as a a list of strings, or a single string, containing definitions of the form "name" or "name=value".
+ platmacrolist = metadatafile.preparePreProcessorMacros(metareader.BuildPlatforms[0])
+ platmacros.extend(map(lambda macrodef: [macrodef.partition("=")[0], macrodef.partition("=")[2]], platmacrolist))
+
+ # Add child elements to appropriate areas if they were calculated
+ if len(includepaths) > 0:
+ self.includepaths = map(lambda x: Include(str(x)), includepaths)
+
+ if preincludeheader != "":
+ self.preincludeheader = PreInclude(str(preincludeheader))
+
+ if len(platmacros):
+ self.platmacros = map(lambda x: Macro(x[0],x[1]) if x[1] else Macro(x[0]), platmacros)
+
+class Build(Reply):
+ def __init__(self, meaning, raptor):
+ super(Build,self).__init__("", raptor)
+ self.__meaning = meaning
+
+ def resolve(self):
+ compilerpreincludeheader = ""
+ sourcemacros = []
+
+ evaluator = self._getEvaluator(self.__meaning)
+
+ platform = evaluator.Get("TRADITIONAL_PLATFORM")
+
+ # Compiler preinclude files may or may not be present, depending on the configuration.
+ if evaluator.Get("PREINCLUDE"):
+ compilerpreincludeheader = generic_path.Path(evaluator.Get("PREINCLUDE"))
+
+ # Macros arrive as a a list of strings, or a single string, containing definitions of the form "name" or "name=value".
+ # If required, we split to a list, and then processes the constituent parts of the macro.
+ sourcemacrolist = evaluator.Get("CDEFS").split()
+ sourcemacros.extend(map(lambda macrodef: [macrodef.partition("=")[0], macrodef.partition("=")[2]], sourcemacrolist))
+
+ if platform == "TOOLS2":
+ # Source macros are determined in the FLM for tools2 builds, therefore we have to
+ # mimic the logic here
+ if 'win' in raptor.hostplatform or 'win32' in self.__meaning:
+ sourcemacrolist = evaluator.Get("CDEFS.WIN32").split()
+ else:
+ sourcemacrolist = evaluator.Get("CDEFS.LINUX").split()
+ sourcemacros.extend(map(lambda macrodef: [macrodef.partition("=")[0], macrodef.partition("=")[2]], sourcemacrolist))
+
+ if len(sourcemacros):
+ self.sourcemacros = map(lambda x: Macro(x[0],x[1]) if x[1] else Macro(x[0]), sourcemacros)
+
+ if compilerpreincludeheader:
+ self.compilerpreincludeheader = PreInclude(str(compilerpreincludeheader))
+
+ def resolveTargettypes(self):
+ evaluator = self._getEvaluator(self.__meaning)
+ targettypes = evaluator.Get("TARGET_TYPES").split(' ')
+ self.targettypes = []
+ for type in targettypes:
+ self.targettypes.append(TargetType(type))
+ self.targettypes.sort()
+
+class TargetType(Reply):
+ def __init__(self, name):
+ super(TargetType,self).__init__()
+ self.name = name
+
+ def __cmp__(self, other):
+ return cmp(self.name, other.name)
class Product(Reply):
def __init__(self, name):
super(Product,self).__init__()
self.name = name
+
+ def __cmp__(self, other):
+ """ Add __cmp__ to enable comparisons between two Product objects based upon name."""
+ return cmp(self.name, other.name)
+
+class Include(Reply):
+ def __init__(self, path):
+ super(Include,self).__init__()
+ self.path = path
+
+class PreInclude(Reply):
+ def __init__(self, file):
+ super(PreInclude,self).__init__()
+ self.file = file
+
+class Macro(Reply):
+ def __init__(self, name, value=None):
+ super(Macro,self).__init__()
+ self.name = name
+ self.value = value
import generic_path
import raptor
import raptor_data
+import raptor_meta
import re
class Context(object):
@@ -141,7 +377,7 @@
if type == ALL or a.type == type:
# copy the members we want to expose
aliases.append( Alias(a.name, a.meaning) )
-
+ aliases.sort()
return aliases
def getconfig(self, name):
@@ -151,57 +387,13 @@
dot-separated list of variants. For example "armv5_urel" or
"armv5_urel.savespace.vasco".
"""
- names = name.split(".")
- if names[0] in self.__raptor.cache.aliases:
- x = self.__raptor.cache.FindNamedAlias(names[0])
-
- if len(names) > 1:
- fullname = x.meaning + "." + ".".join(names[1:])
- else:
- fullname = x.meaning
-
- elif names[0] in self.__raptor.cache.variants:
- fullname = name
-
- else:
- raise BadQuery("'%s' is not an alias or a variant" % names[0])
-
- # create an evaluator for the named configuration
- tmp = raptor_data.Alias("tmp")
- tmp.SetProperty("meaning", fullname)
-
- units = tmp.GenerateBuildUnits(self.__raptor.cache)
- evaluator = self.__raptor.GetEvaluator(None, units[0])
-
- # get the outputpath
- # this is messy as some configs construct the path inside the FLM
- # rather than talking it from the XML: usually because of some
- # conditional logic... but maybe some refactoring could avoid that.
- releasepath = evaluator.Get("RELEASEPATH")
- if not releasepath:
- raise BadQuery("could not get RELEASEPATH for config '%s'" % name)
-
- variantplatform = evaluator.Get("VARIANTPLATFORM")
- varianttype = evaluator.Get("VARIANTTYPE")
- featurevariantname = evaluator.Get("FEATUREVARIANTNAME")
-
- platform = evaluator.Get("TRADITIONAL_PLATFORM")
-
- if platform == "TOOLS2":
- outputpath = releasepath
- else:
- if not variantplatform:
- raise BadQuery("could not get VARIANTPLATFORM for config '%s'" % name)
-
- if featurevariantname:
- variantplatform += featurevariantname
-
- if not varianttype:
- raise BadQuery("could not get VARIANTTYPE for config '%s'" % name)
-
- outputpath = str(generic_path.Join(releasepath, variantplatform, varianttype))
-
- return Config(fullname, outputpath)
+
+ config = Config(self.__raptor, name)
+ config.resolveOutputPath()
+ config.resolveTargettypes()
+ config.resolveMetadata()
+ config.resolveBuild()
+ return config
def getproducts(self):
"""extract all product variants."""
@@ -212,7 +404,7 @@
if v.type == "product":
# copy the members we want to expose
variants.append( Product(v.name) )
-
+ variants.sort()
return variants
class BadQuery(Exception):
--- a/sbsv2/raptor/python/raptor_cli.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_cli.py Wed Oct 06 15:13:17 2010 +0100
@@ -22,9 +22,7 @@
import raptor
from optparse import OptionParser # for parsing command line parameters
-
-fullCommandOption = "--command"
-miniCommandOption = "--co" # update this if another "co" option is added
+from raptor_utilities import expand_command_options
# raptor_cli module attributes
@@ -179,51 +177,6 @@
"Process command line arguments for a Raptor object"
return DoRaptor(Raptor,args)
-def ReadCommandFile(filename, used):
- if filename in used:
- raise IOError("command file '%s' refers to itself" % filename)
-
- args = []
- try:
- file = open(filename, "r")
- for line in file.readlines():
- args.extend(line.split())
- file.close()
- except:
- raise IOError("couldn't read command file '%s'" % filename)
-
- # expand any command files in the options we just read.
- # making sure we don't get stuck in a loop.
- usedPlusThis = used[:]
- usedPlusThis.append(filename)
- return ExpandCommandOptions(args, usedPlusThis)
-
-def ExpandCommandOptions(args, files = []):
- """recursively expand --command options."""
- expanded = []
- previousWasOpt = False
-
- for a in args:
- if previousWasOpt: # then this one is the filename
- expanded.extend(ReadCommandFile(a, files))
- previousWasOpt = False
- continue
-
- if a.startswith(miniCommandOption):
- if "=" in a: # then this is opt=filename
- opt = a.split("=")
- if fullCommandOption.startswith(opt[0]):
- expanded.extend(ReadCommandFile(opt[1], files))
- continue
- else: # the next one is the filename
- if fullCommandOption.startswith(a):
- previousWasOpt = True
- continue
-
- expanded.append(a) # an ordinary arg, nothing to do with command files
-
- return expanded
-
def DoRaptor(Raptor, args):
"Process raptor arguments"
#
@@ -236,7 +189,7 @@
non_ascii_error = "Non-ASCII character in argument or command file"
try:
- expanded_args = ExpandCommandOptions(args)
+ expanded_args = expand_command_options(args)
for arg in expanded_args:
for c in arg:
if ord(c) > 127:
--- a/sbsv2/raptor/python/raptor_make.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_make.py Wed Oct 06 15:13:17 2010 +0100
@@ -270,6 +270,14 @@
time="$(shell date +%s.%N)").rstrip("\n") + ")"
+ # Debugging on or off for make:
+ # We need it at the very top level so that it can be used
+ # to determine what extra info to put in recipe tags
+ try:
+ flmdebug_setting = os.environ["FLMDEBUG"]
+ except KeyError:
+ flmdebug_setting = ""
+
self.makefile_prologue = """
# generated by %s %s
@@ -283,6 +291,7 @@
DELETE_ON_FAILED_COMPILE:=%s
%s
+FLMDEBUG:=%s
include %s
@@ -294,6 +303,7 @@
self.shellpath,
self.delete_on_failed_compile,
talon_settings,
+ flmdebug_setting,
self.raptor.systemFLM.Append('globals.mk') )
# Unless dependency processing has been eschewed via the CLI, use a .DEFAULT target to
--- a/sbsv2/raptor/python/raptor_meta.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_meta.py Wed Oct 06 15:13:17 2010 +0100
@@ -46,7 +46,8 @@
'GCCXML':'eabi',
'ARMV6':'eabi',
'ARMV7' : 'eabi',
- 'ARMV7SMP' : 'eabi'}
+ 'ARMV7SMP' : 'eabi',
+ 'X86' : ['bx86gcc', 'eabi']}
def getVariantCfgDetail(aEPOCROOT, aVariantCfgFile):
"""Obtain pertinent build related detail from the Symbian variant.cfg file.
@@ -300,6 +301,9 @@
""" Override call so that we can do our own error handling."""
tool = self._ExternalTool__Tool
commandline = tool + " " + aArgs + " " + str(sourcefilename)
+
+ self.raptor.Debug("Preprocessing command line %s", str(commandline))
+
try:
# the actual call differs between Windows and Unix
if raptor_utilities.getOSFileSystem() == "unix":
@@ -320,11 +324,10 @@
# run the command and wait for all the output
(self._ExternalTool__Output, errors) = p.communicate()
- if self.raptor.debugOutput:
- self.raptor.Debug("Preprocessing Start %s", str(sourcefilename))
- self.raptor.Debug("Output:\n%s", self._ExternalTool__Output)
- self.raptor.Debug("Errors:\n%s", errors)
- self.raptor.Debug("Preprocessing End %s", str(sourcefilename))
+ self.raptor.Debug("Preprocessing Start %s", str(sourcefilename))
+ self.raptor.Debug("Output:\n%s", self._ExternalTool__Output)
+ self.raptor.Debug("Errors:\n%s", errors)
+ self.raptor.Debug("Preprocessing End %s", str(sourcefilename))
incRE = re.compile("In file included from")
fromRE = re.compile(r"\s+from")
@@ -404,7 +407,6 @@
return call
-
class MetaDataFile(object):
"""A generic representation of a Symbian metadata file
@@ -459,61 +461,27 @@
except Exception, e:
self.log.Debug("Couldn't make bldinf outputpath for dependency generation")
- config_macros = (aBuildPlatform['PLATMACROS']).split()
-
if not key in self.__PreProcessedContent:
preProcessor = PreProcessor(self.__gnucpp, '-undef -nostdinc ' + generateDepsOptions + ' ',
'-I', '-D', '-include', self.log)
preProcessor.filename = self.filename
- # always have the current directory on the include path
- preProcessor.addIncludePath('.')
-
- # the SYSTEMINCLUDE directories defined in the build config
- # should be on the include path. This is added mainly to support
- # Feature Variation as SYSTEMINCLUDE is usually empty at this point.
- systemIncludes = aBuildPlatform['SYSTEMINCLUDE']
- if systemIncludes:
- preProcessor.addIncludePaths(systemIncludes.split())
-
- preInclude = aBuildPlatform['VARIANT_HRH']
-
- # for non-Feature Variant builds, the directory containing the HRH should
- # be on the include path
- if not aBuildPlatform['ISFEATUREVARIANT']:
- preProcessor.addIncludePath(preInclude.Dir())
-
- # and EPOCROOT/epoc32/include
- preProcessor.addIncludePath(aBuildPlatform['EPOCROOT'].Append('epoc32/include'))
-
- # and the directory containing the bld.inf file
- if self.__RootLocation is not None and str(self.__RootLocation) != "":
- preProcessor.addIncludePath(self.__RootLocation)
-
- # and the directory containing the file we are processing
- preProcessor.addIncludePath(self.filename.Dir())
+ # Set the preprocessor include paths
+ self.setPreProcessorIncludePaths(preProcessor, aBuildPlatform)
# there is always a pre-include file
+ preInclude = aBuildPlatform['VARIANT_HRH']
preProcessor.setPreIncludeFile(preInclude)
- macros = ["SBSV2"]
-
- if config_macros:
- macros.extend(config_macros)
-
- if macros:
- for macro in macros:
- preProcessor.addMacro(macro + "=_____" +macro)
-
- # extra "raw" macros that do not need protecting
- preProcessor.addMacro("__GNUC__=3")
+ # Set the preprocessor macros
+ self.setPreProcessorMacros(preProcessor, aBuildPlatform)
preProcessorOutput = preProcessor.preprocess()
# Resurrect preprocessing replacements
- pattern = r'([\\|/]| |) ?_____(('+macros[0]+')'
- for macro in macros[1:]:
+ pattern = r'([\\|/]| |) ?_____(('+self.macros[0]+')'
+ for macro in self.macros[1:]:
pattern += r'|('+macro+r')'
pattern += r'\s*)'
@@ -524,6 +492,73 @@
self.__PreProcessedContent[key] = text
return self.__PreProcessedContent[key]
+
+ def setPreProcessorMacros(self, aPreprocessor, aBuildPlatform):
+ """ Apply the macros for aBuildPlatform to a preprocessor object. """
+ preprocessormacros = self.preparePreProcessorMacros(aBuildPlatform)
+ for macro in preprocessormacros:
+ aPreprocessor.addMacro(macro)
+
+ def preparePreProcessorMacros(self, aBuildPlatform):
+ """ Prepare a list of macros (e.g. for use by the preprocessor) """
+ prepared_macros = []
+ config_macros = (aBuildPlatform['PLATMACROS']).split()
+ macros = ["SBSV2"]
+
+ if config_macros:
+ macros.extend(config_macros)
+
+ if macros:
+ for macro in macros:
+ prepared_macros.append(macro + "=_____" +macro)
+
+ self.macros = macros # For later use
+
+ # extra "raw" macros that do not need protecting
+ prepared_macros.append("__GNUC__=3")
+
+ return prepared_macros
+
+ def setPreProcessorIncludePaths(self, aPreprocessor, aBuildPlatform):
+ """ setPreProcessorIncludePaths: set the preprocessor include paths """
+ ppip = self.preparePreProcessorIncludePaths(aBuildPlatform)
+ aPreprocessor.addIncludePaths(ppip)
+
+ def preparePreProcessorIncludePaths(self, aBuildPlatform):
+ """ Prepare a list of the include paths for use by the preprocessor. """
+ paths = []
+
+ # always have the current directory on the include path
+ paths.append('.')
+
+ # the SYSTEMINCLUDE directories defined in the build config
+ # should be on the include path. This is added mainly to support
+ # Feature Variation as SYSTEMINCLUDE is usually empty at this point.
+ systemIncludes = aBuildPlatform['SYSTEMINCLUDE']
+ if systemIncludes:
+ paths.extend(systemIncludes.split())
+
+ preInclude = aBuildPlatform['VARIANT_HRH']
+
+ # for non-Feature Variant builds, the directory containing the HRH should
+ # be on the include path
+ if not aBuildPlatform['ISFEATUREVARIANT']:
+ paths.append(preInclude.Dir())
+
+ # and EPOCROOT/epoc32/include
+ paths.append(aBuildPlatform['EPOCROOT'].Append('epoc32/include'))
+
+ # and the directory containing the bld.inf file
+ if self.__RootLocation is not None and str(self.__RootLocation) != "":
+ paths.append(self.__RootLocation)
+
+ # and the directory containing the file we are processing.
+ # This won't always be applicable - if the client is a front-end query for preprocessing
+ # include paths then there's no bld.inf path to take into account
+ if self.filename.Dir().Exists():
+ paths.append(self.filename.Dir())
+
+ return paths
class MMPFile(MetaDataFile):
"""A generic representation of a Symbian metadata file
@@ -1215,6 +1250,13 @@
'phonenetwork':0,
'localnetwork':0
}
+
+ # Valid ARMFPU options
+ armfpu_options = [
+ 'softvfp',
+ 'vfpv2',
+ 'softvfp+vfpv2'
+ ]
library_re = re.compile(r"^(?P<name>[^{]+?)(?P<version>{(?P<major>[0-9]+)\.(?P<minor>[0-9]+)})?(\.(lib|dso))?$",re.I)
@@ -1245,6 +1287,7 @@
self.__compressionKeyword = ""
self.sources = []
self.capabilities = []
+ self.documents = []
self.__TARGET = ""
self.__TARGETEXT = ""
@@ -1561,8 +1604,29 @@
toks1 = re.sub("[,'\[\]]", "", toks1).replace("//","/")
self.__debug("Set "+toks[0]+" to " + toks1)
self.BuildVariant.AddOperation(raptor_data.Set(varname,toks1))
+
+ elif varname == 'TRACES':
+ self.__debug("Set " + toks[0] + " to 1" )
+ self.BuildVariant.AddOperation(raptor_data.Set(varname, "1"))
+
+ if len(toks) == 1:
+ toks1 = "../traces"
+ else:
+ toks1 = os.path.join(toks[1], "traces").replace("\\","/")
+ path = toks1 + "/" + self.__TARGET + "_" + self.__TARGETEXT
+ resolved = raptor_utilities.resolveSymbianPath(self.__currentMmpFile, path)
+ self.BuildVariant.AddOperation(raptor_data.Append('USERINCLUDE', resolved))
+ self.__userinclude += ' ' + resolved
+ self.__debug(" %s = %s", "USERINCLUDE", self.__userinclude)
+
elif varname=='APPLY':
self.ApplyVariants.append(toks[1])
+ elif varname=='ARMFPU':
+ if not str(toks[1]).lower() in self.armfpu_options:
+ self.__Raptor.Error("ARMFPU option '"+str(toks[1])+"' not recognised - should be one of "+", ".join(self.armfpu_options))
+ else:
+ self.__debug("Set "+toks[0]+" to " + str(toks[1]))
+ self.BuildVariant.AddOperation(raptor_data.Set(varname,str(toks[1])))
else:
self.__debug("Set "+toks[0]+" to " + str(toks[1]))
self.BuildVariant.AddOperation(raptor_data.Set(varname,"".join(toks[1])))
@@ -1660,9 +1724,13 @@
self.__debug( "Remembering self.sourcepath state: "+str(toks[0])+" is now " + self.__sourcepath)
self.__debug("selfcurrentMmpFile: " + self.__currentMmpFile)
return "OK"
-
-
- def doSourceAssignment(self,s,loc,toks):
+
+ def __doAssignment(self,filelist,toks):
+ """ Ancillary method factorying out the common functionality between doSourceAssignment
+ and doDocumentAssignment. Arguments are
+ filelist - list to append items to, should be self.sources or self.documents
+ toks - toks parameter as passed from PyParsing. """
+
self.__currentLineNumber += 1
self.__debug( "Setting "+toks[0]+" to " + str(toks[1]))
for file in toks[1]:
@@ -1674,23 +1742,31 @@
# If the SOURCEPATH itself begins with a '/', then dont look up the caseless version, since
# we don't know at this time what $(EPOCROOT) will evaluate to.
if source.GetLocalString().startswith('$(EPOCROOT)'):
- self.sources.append(str(source))
- self.__debug("Append SOURCE " + str(source))
+ filelist.append(str(source))
+ self.__debug("Append " + toks[0] + " " + str(source))
else:
foundsource = source.FindCaseless()
if foundsource == None:
# Hope that the file will be generated later
- self.__debug("Sourcefile not found: %s" % source)
+ self.__debug("%s file not found: %s" % (toks[0], source))
foundsource = source
- self.sources.append(str(foundsource))
- self.__debug("Append SOURCE " + str(foundsource))
+ filelist.append(str(foundsource))
+ self.__debug("Append " + toks[0] + " " + str(foundsource))
self.__debug(" sourcepath: " + self.__sourcepath)
return "OK"
+ def doSourceAssignment(self,s,loc,toks):
+ """ Populate the list of source files from the MMP. """
+ self.__doAssignment(self.sources,toks)
+
+ def doDocumentAssignment(self,s,loc,toks):
+ """ Populate the list of document files from the MMP. """
+ self.__doAssignment(self.documents,toks)
+
# Resource
def doOldResourceAssignment(self,s,loc,toks):
@@ -2124,10 +2200,17 @@
if (self.__LINKAS):
defaultRootName = self.__LINKAS
- resolvedDefFile = self.resolveDefFile(defaultRootName, aBuildPlatform)
+ (resolvedDefFile, isSecondaryDefFile) = self.resolveDefFile(defaultRootName, aBuildPlatform)
+ # We need to store the resolved .def file and location for the FREEZE target
self.__debug("Resolved def file: %s" % resolvedDefFile )
- # We need to store this resolved deffile location for the FREEZE target
self.BuildVariant.AddOperation(raptor_data.Set("RESOLVED_DEFFILE", resolvedDefFile))
+ # We need to store the primary/secondary status of the resolved .def file as some configurations
+ # require additional processing based on the result
+ secondaryDefFile = ""
+ if isSecondaryDefFile:
+ secondaryDefFile = "1"
+ self.__debug("Set RESOLVED_DEFFILE_SECONDARY to '%s'" % secondaryDefFile)
+ self.BuildVariant.AddOperation(raptor_data.Set("RESOLVED_DEFFILE_SECONDARY", secondaryDefFile))
# If a deffile is specified, an FLM will put in a dependency.
# If a deffile is specified then raptor_meta will guess a name but:
@@ -2285,7 +2368,33 @@
# and performance over using multiple Append operations.
self.BuildVariant.AddOperation(raptor_data.Set("SOURCE",
" ".join(self.sources)))
-
+
+ # Put the list of document files in with one Set operation - saves memory
+ # and performance over using multiple Append operations.
+ self.BuildVariant.AddOperation(raptor_data.Set("DOCUMENT",
+ " ".join(self.documents)))
+
+
+ def validate(self):
+ """Test that the parsed MMP file is correct.
+
+ By "correct" we mean that all the required keywords were present
+ with acceptable and mutually consistent values.
+
+ There should be no attempt to build anything if this method returns False."""
+
+ # do all the checks so that we can see all the errors at once...
+ valid = True
+
+ # for "TARGETTYPE none", it is permitted to omit the "TARGET" keyword
+ if not self.__TARGET and not self.getTargetType() == "none":
+ self.__Raptor.Error("required keyword TARGET is missing in " + self.__currentMmpFile, bldinf=self.__bldInfFilename)
+ valid = False
+
+ # what else could be wrong?
+
+ return valid
+
def getTargetType(self):
"""Target type in lower case - the standard format"""
return self.__targettype.lower()
@@ -2315,14 +2424,25 @@
"""Returns a fully resolved DEFFILE entry depending on .mmp file location and TARGET, DEFFILE and NOSTRICTDEF
entries in the .mmp file itself (where appropriate).
Is able to deal with target names that have multiple '.' characters e.g. messageintercept.esockdebug.dll
+ Supports configurations that allow primary and secondary .def file locations.
"""
resolvedDefFile = ""
platform = aBuildPlatform['PLATFORM']
+ isSecondaryDefaultDefFile = False
# Not having a default .def file directory is a pretty strong indicator that
# .def files aren't supported for the particular platform
if PlatformDefaultDefFileDir.has_key(platform):
+
+ # Some configurations support both primary and secondary default .def file locations - we need to take this
+ # into account in resolving .def file locations
+ primaryDefaultDefFileDir = PlatformDefaultDefFileDir[platform]
+ secondaryDefaultDefFileDir = ""
+
+ if type(PlatformDefaultDefFileDir[platform]) == list:
+ (primaryDefaultDefFileDir, secondaryDefaultDefFileDir) = PlatformDefaultDefFileDir[platform]
+
(targetname,targetext) = os.path.splitext(aTARGET)
(defname,defext) = os.path.splitext(self.deffile)
if defext=="":
@@ -2333,36 +2453,48 @@
targetname += defext
if not self.deffile:
+ # No DEFFILE entry - expected .def filename will be based on the target name
resolvedDefFile = targetname
else:
+ # DEFFILE listed - take into account the value, depending on what format it takes
if re.search('[\\|\/]$', self.deffile):
# If DEFFILE is *solely* a path, signified by ending in a slash, then TARGET is the
# basis for the default .def filename but with the specified path as prefix
resolvedDefFile = self.deffile + targetname
-
else:
resolvedDefFile = defname
- resolvedDefFile = resolvedDefFile.replace('~', PlatformDefaultDefFileDir[platform])
-
- if resolvedDefFile:
- if not self.nostrictdef:
- resolvedDefFile += 'u'
-
- if self.__explicitversion:
- resolvedDefFile += '{' + self.__versionhex + '}'
-
- resolvedDefFile += defext
-
-
- # If a DEFFILE statement doesn't specify a path in any shape or form, prepend the default .def file
- # location based on the platform being built
- if not re.search('[\\\/]+', self.deffile):
- resolvedDefFile = '../'+PlatformDefaultDefFileDir[platform]+'/'+resolvedDefFile
-
- resolvedDefFile = raptor_utilities.resolveSymbianPath(self.__defFileRoot, resolvedDefFile, 'DEFFILE', "", str(aBuildPlatform['EPOCROOT']))
-
- return resolvedDefFile
+ resolvedDefFile = resolvedDefFile.replace('~', primaryDefaultDefFileDir)
+
+ if not self.nostrictdef:
+ resolvedDefFile += 'u'
+
+ if self.__explicitversion:
+ resolvedDefFile += '{' + self.__versionhex + '}'
+
+ resolvedDefFile += defext
+
+ # If the resolved .def file we have so far doesn't include a path in any shape or form, we prepend the default,
+ # implicit, .def file location based on the configuration being built
+ if not re.search('[\\\/]+', self.deffile):
+ resolvedDefFile = '../'+primaryDefaultDefFileDir+'/'+resolvedDefFile
+
+ # Some configurations support a secondary, "fall back", .def file location if a .def file doesn't physically
+ # exist at the primary location.
+ # We therefore check exisitance of the primary located file if a secondary location is available, and use the
+ # secondary location if required (recording the fact that the secondary file has been used, as this can influence
+ # downstream processing).
+ # Secondary locations are found as follows : resolvedPrimaryLocation/../secondaryLocation/resolvedDefFileName
+ if secondaryDefaultDefFileDir:
+ primaryFileCheck = raptor_utilities.resolveSymbianPath(self.__defFileRoot, resolvedDefFile, 'DEFFILE', "", str(aBuildPlatform['EPOCROOT']))
+
+ if not os.path.exists(primaryFileCheck):
+ isSecondaryDefaultDefFile = True
+ resolvedDefFile = "{0}/../{1}/{2}".format(os.path.dirname(resolvedDefFile), secondaryDefaultDefFileDir, os.path.basename(resolvedDefFile))
+
+ resolvedDefFile = raptor_utilities.resolveSymbianPath(self.__defFileRoot, resolvedDefFile, 'DEFFILE', "", str(aBuildPlatform['EPOCROOT']))
+
+ return (resolvedDefFile, isSecondaryDefaultDefFile)
def CheckedGet(self, key, default = None):
@@ -2467,11 +2599,14 @@
self.__Raptor.Debug("Automatic OS detection disabled.")
# is this a feature variant config or an ordinary variant
- fv = evaluator.Get("FEATUREVARIANTNAME")
- if fv:
- variantHdr = evaluator.CheckedGet("VARIANT_HRH")
+ fvn = evaluator.Get("FEATUREVARIANTNAME")
+ detail['ISFEATUREVARIANT'] = (fvn != None and fvn != '')
+
+ # get the .hrh name from VARIANT_HRH if it is set, otherwise read
+ # the name from the contents of the file named in VARIANT_CFG
+ variantHdr = evaluator.Get("VARIANT_HRH")
+ if variantHdr:
variantHRH = generic_path.Path(variantHdr)
- detail['ISFEATUREVARIANT'] = True
else:
variantCfg = evaluator.CheckedGet("VARIANT_CFG")
variantCfg = generic_path.Path(variantCfg)
@@ -2484,12 +2619,12 @@
self.__Raptor.Warn("missing flag ENABLE_ABIV2_MODE in %s file. ABIV1 builds are not supported.",
str(variantCfg))
variantHRH = variantCfgs[variantCfg]
- detail['ISFEATUREVARIANT'] = False
detail['VARIANT_HRH'] = variantHRH
self.__Raptor.Info("'%s' uses variant hrh file '%s'", buildConfig.name, variantHRH)
detail['SYSTEMINCLUDE'] = evaluator.CheckedGet("SYSTEMINCLUDE")
+ detail['TARGET_TYPES'] = evaluator.CheckedGet("TARGET_TYPES")
# find all the interface names we need
ifaceTypes = evaluator.CheckedGet("INTERFACE_TYPES")
@@ -2931,7 +3066,9 @@
os.makedirs(str(markerfiledir))
# Form the marker file name and convert to Python string
- markerfilename = str(generic_path.Join(markerfiledir, sanitisedSource + sanitisedDestination + ".unzipped"))
+ combinedPath = sanitisedSource + sanitisedDestination
+ sanitisedPath = self.unzippedPathFragment(combinedPath)
+ markerfilename = str(generic_path.Join(markerfiledir, sanitisedPath + ".unzipped"))
# Don't unzip if the marker file is already there or more uptodate
sourceMTime = 0
@@ -3170,6 +3307,11 @@
else:
backend.finalise(buildPlatform)
+ # if the parsed MMP file is fundamentally broken then report
+ # the errors and stop processing this MMP node
+ if not backend.validate():
+ continue
+
# feature variation only processes FEATUREVARIANT binaries
if buildPlatform["ISFEATUREVARIANT"] and not backend.featureVariant:
continue
@@ -3200,12 +3342,28 @@
# what interface builds this node?
try:
- interfaceName = buildPlatform[backend.getTargetType()]
- mmpSpec.SetInterface(interfaceName)
+ targettype = backend.getTargetType()
+ validtargettypes = buildPlatform['TARGET_TYPES'].split()
except KeyError:
- self.__Raptor.Error("Unsupported target type '%s' in %s",
- backend.getTargetType(),
- str(mmpFileEntry.filename),
+ # Shouldn't get this since it should have been CheckedGetted already
+ self.__Raptor.Error("TARGET_TYPES not defined in platform %s",
+ buildPlatform['PLATFORM'])
+
+ try:
+ if not targettype in validtargettypes:
+ self.__Raptor.Error("Unsupported target type '%s' in %s - should be one of %s",
+ targettype,
+ str(mmpFileEntry.filename),
+ ", ".join(validtargettypes),
+ bldinf=str(bldInfFile))
+ else:
+ interfaceName = buildPlatform[targettype]
+ mmpSpec.SetInterface(interfaceName)
+ except KeyError:
+ # Shouldn't get this far unless INTERFACE_TYPES doesn't contain TARGET_TYPES
+ self.__Raptor.Error("%s interface not defined for %s (invalid configuration?)",
+ targettype,
+ buildPlatform['PLATFORM'],
bldinf=str(bldInfFile))
continue
@@ -3358,4 +3516,10 @@
aBuildUnit.variants.append(self.__Raptor.cache.variants[osVersion])
else:
self.__Raptor.Info("no OS variant for the configuration \"%s\"." % aBuildUnit.name)
-
+
+ @classmethod
+ def unzippedPathFragment(self, sanitisedPath):
+ fragment = hashlib.md5(sanitisedPath).hexdigest()[:16]
+ return fragment
+
+
--- a/sbsv2/raptor/python/raptor_utilities.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_utilities.py Wed Oct 06 15:13:17 2010 +0100
@@ -207,7 +207,8 @@
destDir = destination.Dir()
if not destDir.isDir():
os.makedirs(str(destDir))
- shutil.copyfile(source_str, dest_str)
+ # preserve permissions
+ shutil.copy(source_str, dest_str)
return
# Destination file exists so we have to think about updating it
sourceMTime = 0
@@ -225,16 +226,69 @@
pass # destination doesn't have to exist
if destMTime == 0 or destMTime < sourceMTime:
+ # remove old version
+ # - not having ownership prevents chmod
+ # - avoid clobbering the original if it is a hard link
if os.path.exists(dest_str):
- os.chmod(dest_str,stat.S_IREAD | stat.S_IWRITE)
- shutil.copyfile(source_str, dest_str)
-
- # Ensure that the destination file remains executable if the source was also:
- os.chmod(dest_str,sourceStat[stat.ST_MODE] | stat.S_IREAD | stat.S_IWRITE | stat.S_IWGRP )
-
+ os.unlink(dest_str)
+ # preserve permissions
+ shutil.copy(source_str, dest_str)
except Exception,e:
message = "Could not update " + dest_str + " from " + source_str + " : " + str(e)
raise IOError(message)
return
+
+
+
+## Commandline processing utilities ##
+
+fullCommandOption = "--command"
+miniCommandOption = "--co" # update this if another "co" option is added
+
+def read_command_file(filename, used):
+ """Read commandline options in from a file"""
+ if filename in used:
+ raise IOError("command file '%s' refers to itself" % filename)
+
+ args = []
+ try:
+ file = open(filename, "r")
+ for line in file.readlines():
+ args.extend(line.split())
+ file.close()
+ except:
+ raise IOError("couldn't read command file '%s'" % filename)
+
+ # expand any command files in the options we just read.
+ # making sure we don't get stuck in a loop.
+ usedPlusThis = used[:]
+ usedPlusThis.append(filename)
+ return expand_command_options(args, usedPlusThis)
+
+def expand_command_options(args, files = []):
+ """process commandline options to recursively expand command files (--command options) into a full list of options."""
+ expanded = []
+ previousWasOpt = False
+
+ for a in args:
+ if previousWasOpt: # then this one is the filename
+ expanded.extend(read_command_file(a, files))
+ previousWasOpt = False
+ continue
+
+ if a.startswith(miniCommandOption):
+ if "=" in a: # then this is opt=filename
+ opt = a.split("=")
+ if fullCommandOption.startswith(opt[0]):
+ expanded.extend(read_command_file(opt[1], files))
+ continue
+ else: # the next one is the filename
+ if fullCommandOption.startswith(a):
+ previousWasOpt = True
+ continue
+
+ expanded.append(a) # an ordinary arg, nothing to do with command files
+
+ return expanded
--- a/sbsv2/raptor/python/raptor_version.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_version.py Wed Oct 06 15:13:17 2010 +0100
@@ -14,9 +14,12 @@
# Description:
# raptor version information module
-# replace CHANGESET with the Hg changeset for ANY release
+# replace ISODATE with the creation date of the release
+# replace CHANGESET with the Hg changeset of the release
+#
+# both of these are done automatically by the installer builder.
-version=(2,14,1,"2010-06-03","symbian build system","CHANGESET")
+version=(2,15,2,"ISODATE","symbian build system","CHANGESET")
def numericversion():
"""Raptor version string"""
--- a/sbsv2/raptor/python/raptor_xml.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/python/raptor_xml.py Wed Oct 06 15:13:17 2010 +0100
@@ -317,8 +317,8 @@
return component
def __GetEffectiveLayer(self, aElement):
- #' return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer, for 3.x, it will be the topmost ID'd element in the file
- # never call this on the root element
+ # return the ID of the topmost item which has an ID. For 1.x and 2.x, this will always be layer,
+ # for 3.x, it will be the topmost ID'd element in the file never call this on the root element
if aElement.parentNode.hasAttribute(self.__IdAttribute):
return self.__GetEffectiveLayer(aElement.parentNode)
elif aElement.hasAttribute(self.__IdAttribute):
@@ -337,10 +337,19 @@
self.__GetElementContainers(parent, aContainers)
+ def __ProcessSystemModelMetaElement(self, aElement):
+ # stub method - may deal with metadata elements at some point in the future
+ return
+
def __ProcessSystemModelElement(self, aElement):
"""Search for XML <unit/> elements with 'bldFile' attributes and resolve concrete bld.inf locations
with an appreciation of different schema versions."""
+ # Metadata elements are processed separately - there are no further child nodes
+ # to process in this context
+ if aElement.tagName == "meta" :
+ return self.__ProcessSystemModelMetaElement(aElement)
+
# The effective "layer" is the item whose parent does not have an id (or name in 2.x and earlier)
if not aElement.parentNode.hasAttribute(self.__IdAttribute) :
currentLayer = aElement.getAttribute(self.__IdAttribute)
@@ -380,8 +389,12 @@
if not group.isAbsolute() and bldInfRoot:
group = generic_path.Join(bldInfRoot, group)
else:
- # only absolute paths are changed by root var in 3.x
- if group.isAbsolute() and bldInfRoot:
+ # relative paths for v3
+ if not group.isAbsolute():
+ group = generic_path.Join(generic_path.Join(self.__SystemDefinitionFile).Dir(),group)
+ # absolute paths for v3
+ # are relative to bldInfRoot if set, or relative to the drive root otherwise
+ elif bldInfRoot:
group = generic_path.Join(bldInfRoot, group)
bldinf = generic_path.Join(group, "bld.inf").FindCaseless()
@@ -389,7 +402,7 @@
if bldinf == None:
# recording layers containing non existent bld.infs
bldinfname = group.GetLocalString()
- bldinfname = bldinfname + 'bld.inf'
+ bldinfname = bldinfname+'/'+'bld.inf'
layer = self.__GetEffectiveLayer(aElement)
if not layer in self.__MissingBldInfs:
self.__MissingBldInfs[layer]=[]
--- a/sbsv2/raptor/python/sbs_dist.py Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-# raptor linux distribution creation module
-# This module allow to crate raptor linux distribution archive (tar.gz) e.g. sbs_linux_dist.tar.gz
-# Script extect the following command-line parameters:
-# 1. Archive name
-# 2. List of files/directories to include
-# By default windows specific and source files are excluded.
-# example including bin and python subdir:
-# sbs_dist.py sbs_linux_dist.tar.gz bin python
-#
-
-import os
-import re
-import tarfile
-import sys
-import dos2unix
-
-#------------------------------------------------------------------------------
-# Create tar.gz archive including given files (fileName list and tarinfo list)
-#------------------------------------------------------------------------------
-def createTarGZ(tarName, fileList):
- tar = tarfile.open(tarName, "w|gz")
- for name in fileList:
- tar.add(name)
- return tar
-
-#------------------------------------------------------------------------------
-# Lists files in each of given directories
-#------------------------------------------------------------------------------
-def listFilesInDirs(paths):
- fileList = []
- for path in paths:
- fileList.extend(listFiles(path))
- return fileList
-
-#------------------------------------------------------------------------------
-# Lists files in given directory
-#------------------------------------------------------------------------------
-def listFiles(path):
- fileList = []
- for root, dirs, files in os.walk(path):
- for index in range(len(files)):
- fileList.append(root + "/" + files[index])
- return fileList
-
-#------------------------------------------------------------------------------
-# Excludes files matching "pattern" from given files list
-#------------------------------------------------------------------------------
-def excludeFiles(fileList, pattern):
- filteredFileList = []
- regExp = re.compile(pattern)
- for fileName in fileList:
- if not(regExp.match(fileName)):
- filteredFileList.append(fileName)
- return filteredFileList
-
-
-#------------------------------------------------------------------------------
-# Groups given paths as files or directories
-#------------------------------------------------------------------------------
-def groupFilesAndDirs(filesAndDirs):
- files = []
- dirs = []
- for name in filesAndDirs:
- if os.path.isdir(name):
- dirs.append(name)
- else:
- if os.path.isfile(name):
- files.append(name)
- else:
- print "Warning: Neither a file nor a directory! Ignoring parameter - " + name
- return (files,dirs)
-
-#------------------------------------------------------------------------------
-# Prepares regular expression to exclude unnecessary files
-#------------------------------------------------------------------------------
-def prepareExcludedFilesRegExp():
- pathPrefixRegExp = ".*[\\\/]"
- filesRegExp = "((sbs)|(.*\.bat)|(.*\.pyc)|(.*\.cmd)|(.*\.exe)|(.*\.dll)|(sbs_dist.py)"
- filesRegExp = filesRegExp + "|(dos2unix.py)|(raptor_py2exe_setup.py)|(make)|(bash)|(bashbug))+"
- return "^" + pathPrefixRegExp + filesRegExp + "$"
-
-#------------------------------------------------------------------------------
-# Includes all files in fileList in given tar with altered executable permision (+X) for all
-#------------------------------------------------------------------------------
-def includeAsExecutable(tar, fileList):
- for f in fileList:
- tarinfo = tar.gettarinfo(f)
- # OR with 73 (001 001 001) - +X for all
- tarinfo.mode = tarinfo.mode | 73
- tar.addfile(tarinfo,file(f, "rb"))
-
-
-#------------------------------------------------------------------------------
-# Validate script parameters
-#------------------------------------------------------------------------------
-def validateParameters(tarFileName, filesToInclude):
- if not(len(tarFileName) > 0):
- print "Error: No archive name given."
- sys.exit()
- if not(len(filesToInclude) > 0):
- print "Error: No files/directories names to include in archive given."
- sys.exit()
-
-
-tarFileName = sys.argv[1]
-# files and directories
-filesAndDirsToInclude = sys.argv[2:]
-
-validateParameters(tarFileName, filesAndDirsToInclude)
-
-(filesToInclude,dirsToInclude) = groupFilesAndDirs(filesAndDirsToInclude)
-
-fileList = listFilesInDirs(dirsToInclude)
-fileList.extend(filesToInclude)
-
-filteredFileList = excludeFiles(fileList, prepareExcludedFilesRegExp())
-
-dos2unix.dos2unix("bin/sbs")
-
-tar = createTarGZ(tarFileName, filteredFileList)
-fileToBeExecutableList = ["bin/sbs", "linux-i386/bin/make", "linux-i386/bin/bash", "linux-i386/bin/bashbug",
- "bin/sbs_descramble"]
-includeAsExecutable(tar, fileToBeExecutableList)
-tar.close()
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/style/filter_html.css Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,35 @@
+body
+{
+ font-family: monospace;
+}
+
+pre { background: #cccccc; }
+
+table
+{
+ width: 100%;
+ border: 1px solid black;
+}
+
+th.numbers
+{
+ width: 10%;
+}
+
+td
+{
+ text-align: center;
+}
+
+td.name
+{
+ text-align: left;
+}
+td.time { background: #80ff80; }
+td.ok { background: #80ff80; }
+td.error { background: #ff8080; }
+td.critical { background: #ffc080; }
+td.warning { background: #ffff80; }
+td.remark { background: #8080ff; }
+td.missing { background: #c0c0c0; }
+
--- a/sbsv2/raptor/test/common/raptor_tests.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/common/raptor_tests.py Wed Oct 06 15:13:17 2010 +0100
@@ -323,7 +323,7 @@
return "-f " + self.logfile();
def logfile(self):
- return logDir + "/" + self.name + ".log"
+ return logDir + "/" + self.name.replace(" ","_") + ".log"
def makefileOption(self):
return "-m " + self.makefile();
@@ -367,6 +367,7 @@
print "\nID:", self.id
print "TEST:", self.name
+ print "LOGFILE:", self.logfile()
return self.clean()
@@ -449,23 +450,32 @@
def posttest(self):
# what to do after the test has run
- # count the targets that got built
+ # count the targets that got built, recording those that are found
+ # to be missing
found = 0
missing = []
for t in self.targets:
+ # Either we're looking at a single target file here, or a list of related target files where
+ # at least one needs to match. We therefore use a list for the check that includes one or
+ # more items
if type(t) is not list:
- target_alternatives=[t]
+ unresolved_targets=[t]
+ else:
+ unresolved_targets=t
+
+ resolved_targets = []
+ for target in unresolved_targets:
+ resolved_targets.append(os.path.normpath(ReplaceEnvs(target)))
found_flag = False
- for alt in target_alternatives:
- tgt = os.path.normpath(ReplaceEnvs(alt))
- if os.path.exists(tgt):
+ for target in resolved_targets:
+ if os.path.exists(target):
found_flag = True
break
if found_flag:
found += 1
else:
- missing.append(tgt)
+ missing.append(resolved_targets)
# count the errors and warnings
warn = 0
@@ -529,8 +539,16 @@
if len(missing) != self.missing:
print "MISSING: %d, expected %s" % (len(missing), self.missing)
- for file in missing:
- print "\t%s" % (file)
+
+ # Missing entries are lists containing either a single missing file, or multiple alternative
+ # files that were all found to be missing when checked
+ for entry in missing:
+ for index,file in enumerate(entry):
+ if index != len(entry)-1:
+ suffix = " or"
+ else:
+ suffix = ""
+ print "\t%s" % (file) + suffix
if warn != self.warnings:
print "WARNINGS: %d, expected %d" % (warn, self.warnings)
--- a/sbsv2/raptor/test/common/run_tests.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/common/run_tests.py Wed Oct 06 15:13:17 2010 +0100
@@ -44,7 +44,7 @@
parser.add_option("-d", "--debug", action = "store_true", dest = "debug_mode",
default = False, help = "Turns on debug-mode")
parser.add_option("--test-home", action = "store", type = "string",
- dest = "test_home",
+ dest = "test_home", default="default",
help = "Location of custom .sbs_init.xml (name of directory in " +
"'custom_options'): test/custom_options/<test_home>/.sbs_init.xml")
parser.add_option("--what-failed", action = "store_true", dest = "what_failed",
@@ -535,3 +535,6 @@
upload_location = options.upload)
run_tests.run_tests()
+if run_tests.suites_failed:
+ sys.exit(1)
+
--- a/sbsv2/raptor/test/config/api.xml Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-<?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">
-
- <!-- test data for raptor_api_unit -->
-
- <alias meaning="a" name="alias_A"/>
- <alias meaning="a.b" name="alias_B"/>
- <alias meaning="a.b.c" name="alias_C" type="O"/>
- <alias meaning="a.b.c.d" name="alias_D" type="X"/>
-
- <var name="product_A" type="product"/>
- <var name="product_B"/>
- <var name="product_C" type="product"/>
- <var name="product_D"/>
-
- <var name="buildme">
- <set name="RELEASEPATH" value="/home/raptor" host="lin.*"/>
- <set name="RELEASEPATH" value="C:/home/raptor" host="win.*"/>
- <set name="VARIANTPLATFORM" value="foo"/>
- <set name="VARIANTTYPE" value="bar"/>
- </var>
-
- <var name="foo"/>
- <var name="bar"/>
-
- <alias name="s1" meaning="buildme.foo"/>
- <alias name="s2" meaning="buildme.foo.bar"/>
-
-</build>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/configapi/api.xml Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,63 @@
+<?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">
+
+ <!-- test data for raptor_api_unit -->
+
+ <alias meaning="a" name="alias_A"/>
+ <alias meaning="a.b" name="alias_B"/>
+ <alias meaning="a.b.c" name="alias_C" type="O"/>
+ <alias meaning="a.b.c.d" name="alias_D" type="X"/>
+
+ <var name="product_A" type="product"/>
+ <var name="product_B"/>
+ <var name="product_C" type="product"/>
+ <var name="product_D"/>
+
+ <var name="api_test_base">
+ <set name="RELEASEPATH" value="/home/raptor" host="lin.*"/>
+ <set name="RELEASEPATH" value="C:/home/raptor" host="win.*"/>
+ <set name="VARIANTPLATFORM" value="foo"/>
+ <set name="VARIANTTYPE" value="bar"/>
+ <set name="TRADITIONAL_PLATFORM" value=""/>
+ <set name="INTERFACE_TYPES" value="foo bar"/>
+ <set name="INTERFACE.foo" value="foo.flm"/>
+ <set name="INTERFACE.bar" value="bar.flm"/>
+ </var>
+
+ <var name="buildme" extends="api_test_base">
+ <set name="CDEFS" value="__BBB__ __AAA__ __DDD__=first_value __CCC__ __DDD__=second_value"/>
+ <set name='EPOCINCLUDE' value="$(EPOCROOT)/epoc32/include"/>
+ <env name="EPOCROOT"/>
+ <set name="SBS_BUILD_DIR" value=""/>
+ <set name="FLM_EXPORT_DIR" value=""/>
+ <set name="PLATMACROS.LINUX" value=""/>
+ <set name="PLATMACROS.WINDOWS" value=""/>
+ <set name="PREINCLUDE" value="$(EPOCINCLUDE)/preinclude.h"/>
+ <set name="VARIANT_CFG" value="$(EPOCROOT)/epoc32/tools/variant/variant.cfg"/>
+ <set name="SYSTEMINCLUDE" value=""/>
+ <set name="INTERFACE_TYPES" value=""/>
+ <set name="TARGET_TYPES" value="one two"/>
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+ <set name="INTERFACE.one" value="one.flm"/>
+ <set name="INTERFACE.two" value="two.flm"/>
+ </var>
+
+ <var name="foo"/>
+ <var name="bar"/>
+
+ <alias name="s1" meaning="buildme.foo"/>
+ <alias name="s2" meaning="buildme.foo.bar"/>
+
+ <var name="meta" extends="api_test_base">
+ <set name="GNUCPP" value="cpp"/>
+ <set name="DEFAULT_PLATFORMS" value=""/>
+ <set name="BASE_DEFAULT_PLATFORMS" value=""/>
+ <set name="BASE_USER_DEFAULT_PLATFORMS" value=""/>
+ <set name="TARGET_TYPES" value=""/>
+ <append name="INTERFACE_TYPES" value="$(TARGET_TYPES)"/>
+ </var>
+
+</build>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/custom_options/default/.sbs_init.xml Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,12 @@
+<?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">
+
+ <!-- defaults for Raptor -->
+
+ <var name="defaults.init">
+ <!-- use all the default options -->
+ </var>
+</build>
--- a/sbsv2/raptor/test/metadata/project/bld.infs/multiple_plats.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/metadata/project/bld.infs/multiple_plats.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -17,5 +17,5 @@
PRJ_PLATFORMS
-ARMV5 WINSCW TOOLS
+ARMV5 WINSCW TOOLS X86
--- a/sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/metadata/system/system_definition_3.0.0.xml Wed Oct 06 15:13:17 2010 +0100
@@ -1,13 +1,29 @@
-<SystemDefinition name="MCL" schema="3.0.0" >
- <systemModel>
- <layer name="test">
- <component name="Test Component 1">
- <unit unitID="TCOMP1" name="test_component_1" bldFile="simple" mrp="simple\simple.mrp"/>
- </component>
- <component name="Test Component 2">
- <unit unitID="TCOMP2" name="test_component_2" bldFile="basics\helloworld" mrp="basics\helloworld.mrp"/>
- </component>
- </layer>
- </systemModel>
-</SystemDefinition>
-
+<?xml version="1.0" encoding="UTF-8" ?>
+ <SystemDefinition schema="3.0.0">
+ <layer id = "testlayer" name="Test Layer">
+ <package id="testpackage" name="Test Package" levels="test">
+ <collection id="testcollection" name="Test Collection" level="test">
+ <component id="testcomponent1" name="Test Component 1" introduced="symbian^3" purpose="optional">
+ <meta rel="Api" type="auto">
+ <api dataversion="1.0" id="11111111111111111111111111111111">
+ <name>testcomponentapi1</name>
+ <description>Test Component 1 API description.</description>
+ <type>c++</type>
+ </api>
+ </meta>
+ <unit bldFile="../../smoke_suite/test_resources/simple" />
+ </component>
+ <component id="testcomponent2" name="Test Component 2" introduced="symbian^3" purpose="optional">
+ <meta rel="Api" type="auto">
+ <api dataversion="1.0" id="22222222222222222222222222222222">
+ <name>testcomponentapi2</name>
+ <description>Test Component 2 API description.</description>
+ <type>c++</type>
+ </api>
+ </meta>
+ <unit bldFile="../../smoke_suite/test_resources/basics/helloworld" />
+ </component>
+ </collection>
+ </package>
+ </layer>
+ </SystemDefinition>
--- a/sbsv2/raptor/test/smoke_suite/capability_arm.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/capability_arm.py Wed Oct 06 15:13:17 2010 +0100
@@ -16,13 +16,15 @@
from raptor_tests import SmokeTest
import sys
+import os
def run():
t = SmokeTest()
t.usebash = True
-
- if sys.platform.startswith("win"):
+ if "SBS_ELF2E32" in os.environ:
+ elf2e32 = os.environ["SBS_ELF2E32"]
+ elif sys.platform.startswith("win"):
elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32.exe"
else:
elf2e32 = "$(EPOCROOT)/epoc32/tools/elf2e32"
--- a/sbsv2/raptor/test/smoke_suite/dependencies.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/dependencies.py Wed Oct 06 15:13:17 2010 +0100
@@ -86,7 +86,7 @@
[".*recipe name='compile'", 2],
[".*recipe name='win32compile2object'", 2],
[".*recipe name='compile2object'", 1],
- [".*recipe name='resourcecompile'", 1]
+ [".*recipe name='resourcecompile", 2]
]
@@ -127,20 +127,24 @@
t.name ="invalid_dependency_files"
t.description = "Invalidate dependency files, then make sure we can clean and re-build successfully"
buildLocation = "$(EPOCROOT)/epoc32/build/" + BldInfFile.outputPathFragment('smoke_suite/test_resources/dependencies/bld.inf') + "/dependency_"
- t.command = """
- sleep 1
- touch smoke_suite/test_resources/dependencies/dependency.cpp
- echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> """+buildLocation+"""/armv5/urel/dependency.o.d
- echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
- echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
- echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> """+buildLocation+"""/dependency__resource_apps_sc.rpp.d
- sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel
- sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean
- sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
- t.mustmatch = []
+ # use one long bash command so that we can capture
+ # the output in a way that isn't messed up with all the ordering confused.
+ t.command = " mkdir -p $(EPOCROOT)/epoc32/build/smoketestlogs ; { sleep 1 ; set -x ; \
+touch smoke_suite/test_resources/dependencies/dependency.cpp; \
+echo INVALIDATE_ARMV5_DEPENDENCY_FILE >> %s/armv5/urel/dependency.o.d ; \
+echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> %s/winscw/urel/dependency.o.d ;\
+echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> %s/dependency_exe/tools2/rel/%s/dependency.o.d ;\
+echo INVALIDATE_RESOURCE_DEPENDENCY_FILE >> %s/dependency__resource_apps.rsc.d ;\
+sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel ;\
+sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel clean ;\
+sbs -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel ; } > ${SBSLOGFILE} 2>&1; grep 'missing separator' ${SBSLOGFILE} " %(buildLocation, buildLocation, buildLocation, hostPlatformOffset, buildLocation)
+ # We expect an error from the first build due to the deliberate dependency file corruption
+ t.mustmatch = [
+ ".*dependency.o.d:[0-9]+: \*\*\* missing separator"
+ ]
t.countmatch = []
t.warnings = 0
- t.errors = 1 # We expect an error from the first build due to the deliberate dependency file corruption
+ t.errors = 0
t.targets = hostPlatformTargets
t.run(hostPlatform)
@@ -156,6 +160,7 @@
echo INVALIDATE_WINSCW_DEPENDENCY_FILE >> """+buildLocation+"""/winscw/urel/dependency.o.d
echo INVALIDATE_TOOLS2_DEPENDENCY_FILE >> """+buildLocation+"""/dependency_exe/tools2/rel/"""+hostPlatformOffset+"""dependency.o.d
sbs --no-depend-include -b smoke_suite/test_resources/dependencies/bld.inf -c default -c tools2_rel"""
+ t.mustmatch = []
t.errors = 0
t.targets = hostPlatformTargets
t.run(hostPlatform)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/dll_x86.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,46 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "dll_x86"
+ t.description = "Build a basic DLL TARGETTYPE for x86"
+ t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c x86"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll",
+ "$(EPOCROOT)/epoc32/release/x86/udeb/createstaticdll.dll.map",
+ "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll",
+ "$(EPOCROOT)/epoc32/release/x86/urel/createstaticdll.dll.map",
+ "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll.lib",
+ "$(EPOCROOT)/epoc32/release/x86/lib/createstaticdll{000a0000}.lib"
+ ]
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf', [
+ "createstaticdll_dll/x86/udeb/CreateStaticDLL.o",
+ "createstaticdll_dll/x86/udeb/CreateStaticDLL.o.d",
+ "createstaticdll_dll/x86/urel/CreateStaticDLL.o",
+ "createstaticdll_dll/x86/urel/CreateStaticDLL.o.d",
+ "createstaticdll_dll/x86/udeb/createstaticdll_udeb_objects.via",
+ "createstaticdll_dll/x86/urel/createstaticdll_urel_objects.via",
+ ["createstaticdll_dll/x86/udeb/createstaticdll.prep",
+ "createstaticdll_dll/x86/urel/createstaticdll.prep"],
+ ["createstaticdll_dll/x86/udeb/createstaticdll.lib.exp",
+ "createstaticdll_dll/x86/urel/createstaticdll.lib.exp"]
+ ])
+
+ t.run("windows")
+ return t
--- a/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_single_file.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/exe_armv5_winscw_single_file.py Wed Oct 06 15:13:17 2010 +0100
@@ -27,8 +27,8 @@
t.command = "sbs -b smoke_suite/test_resources/simple_gui/Bld.inf -c armv5 -c winscw"
t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
"helloworld_exe/helloworld.mbm_bmconvcommands",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+ "helloworld_exe/helloworld_HelloWorld.rsc.rpp",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
@@ -91,8 +91,8 @@
"helloworld_exe/winscw/urel/helloworld_UID_.o",
"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
"helloworld_exe/winscw/urel/helloworld_urel_objects.lrf",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.rpp",
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d"
])
t.run()
@@ -113,7 +113,7 @@
touch smoke_suite/test_resources/simple_gui/HelloWorld.rss
sbs -f - --source-target=smoke_suite/test_resources/simple_gui/HelloWorld_Document.cpp --source-target=smoke_suite/test_resources/simple_gui/HelloWorld.rss -b smoke_suite/test_resources/simple_gui/Bld.inf"""
t.countmatch = [
- [".*recipe name='resource(preprocess|header|compile)'", 3],
+ [".*recipe name='resource(dependencies|compile)'", 2],
[".*recipe name='compile'.*", 2],
[".*recipe name='win32compile2object'.*", 2]
]
@@ -134,7 +134,7 @@
[".*make.*Nothing to be done for.*SOURCETARGET_.*", 10]
]
t.mustnotmatch = [
- ".*recipe name='(resourcepreprocess|win32compile2object|compile|win32simplelink|postlink|link)'.*"
+ ".*recipe name='(resourcecompile|win32compile2object|compile|win32simplelink|postlink|link)'.*"
]
t.run()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/exe_x86.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "exe_x86"
+ t.description = "Build a basic EXE TARGETTYPE for x86"
+ t.command = "sbs -b smoke_suite/test_resources/simple/bld.inf -c x86"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/x86/udeb/test.exe",
+ "$(EPOCROOT)/epoc32/release/x86/udeb/test.exe.map",
+ "$(EPOCROOT)/epoc32/release/x86/urel/test.exe",
+ "$(EPOCROOT)/epoc32/release/x86/urel/test.exe.map"
+ ]
+ t.addbuildtargets('smoke_suite/test_resources/simple/bld.inf', [
+ "test_/x86/udeb/test.o",
+ "test_/x86/udeb/test.o.d",
+ "test_/x86/udeb/test1.o",
+ "test_/x86/udeb/test1.o.d",
+ "test_/x86/udeb/test2.o",
+ "test_/x86/udeb/test2.o.d",
+ "test_/x86/udeb/test3.o",
+ "test_/x86/udeb/test3.o.d",
+ "test_/x86/udeb/test4.o",
+ "test_/x86/udeb/test4.o.d",
+ "test_/x86/udeb/test5.o",
+ "test_/x86/udeb/test5.o.d",
+ "test_/x86/udeb/test6.o",
+ "test_/x86/udeb/test6.o.d",
+ "test_/x86/urel/test.o",
+ "test_/x86/urel/test.o.d",
+ "test_/x86/urel/test1.o",
+ "test_/x86/urel/test1.o.d",
+ "test_/x86/urel/test2.o",
+ "test_/x86/urel/test2.o.d",
+ "test_/x86/urel/test3.o",
+ "test_/x86/urel/test3.o.d",
+ "test_/x86/urel/test4.o",
+ "test_/x86/urel/test4.o.d",
+ "test_/x86/urel/test5.o",
+ "test_/x86/urel/test5.o.d",
+ "test_/x86/urel/test6.o",
+ "test_/x86/urel/test6.o.d",
+ "test_/x86/udeb/test_udeb_objects.via",
+ "test_/x86/urel/test_urel_objects.via"
+ ])
+
+ t.run("windows")
+ return t
--- a/sbsv2/raptor/test/smoke_suite/export.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/export.py Wed Oct 06 15:13:17 2010 +0100
@@ -14,7 +14,7 @@
# Description:
#
-from raptor_tests import SmokeTest, AntiTargetSmokeTest
+from raptor_tests import AntiTargetSmokeTest
import os
def run():
@@ -23,9 +23,9 @@
# reallyclean_simple_export tests to use so that we can put the
# username into the output filenames - which helps a lot when
# several people run tests on the same computer (e.g. linux machines)
- bld = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
+ bld_inf = open('smoke_suite/test_resources/simple_export/expbld.inf', 'w')
user = os.environ['USER']
- bld.write("""
+ bld_inf.write("""
PRJ_PLATFORMS
ARMV5 WINSCW
@@ -48,20 +48,16 @@
"file with a space.doc" "exportedfilewithspacesremoved.doc"
"file with a space.doc" "exported file with a space.doc"
-simple_exp1.h /tmp/%s/ //
-simple_exp2.h \\tmp\\%s/ //
-simple_exp3.h /tmp/%s/simple_exp3.h
+simple_exp1.h /tmp/{0}/ //
+simple_exp2.h \\tmp\\{0}/ //
+simple_exp3.h /tmp/{0}/simple_exp3.h
simple_exp4.h //
+read_only.h was_read_only.h //
-""" % (user, user, user))
- bld.close()
-
-
- t = SmokeTest()
- t.id = "0023a"
- t.name = "export"
- t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf export"
- t.targets = [
+""".format(user))
+ bld_inf.close()
+
+ exported_files = [
"$(EPOCROOT)/epoc32/include/exported_1.h",
"$(EPOCROOT)/epoc32/include/exported_2.h",
"$(EPOCROOT)/epoc32/include/exported_3.h",
@@ -71,79 +67,51 @@
"/tmp/$(USER)/simple_exp2.h",
"/tmp/$(USER)/simple_exp3.h",
"$(EPOCROOT)/epoc32/include/executable_file",
- "$(EPOCROOT)/epoc32/include/simple_exp4.h"
+ "$(EPOCROOT)/epoc32/include/simple_exp4.h",
+ "$(EPOCROOT)/epoc32/include/was_read_only.h",
]
+
+ t = AntiTargetSmokeTest()
+
+ # Check basic export success
+ t.name = "export_basic"
+ t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf export"
+ t.targets = exported_files
+ t.antitargets = []
t.run()
-
- t = SmokeTest()
- t.id = "0023a1"
- t.name = "export"
+ # Confirm executable permissions are retained on Linux
+ t.name = "export_executable_permissions"
t.usebash = True
t.command = "ls -l ${EPOCROOT}/epoc32/include/executable_file"
t.mustmatch = [ "^.rwxrwxr.x[\.\+]? .*executable_file.*$" ]
- t.targets = []
+ t.targets = [] # prevent auto clean-up up of target files from previous test
+ t.antitargets = []
t.run("linux")
- t.usebash = False
-
- # Testing if clean deletes any exports which it is not supposed to
- t.id = "0023b"
- t.name = "export_clean"
+ # Check clean does not delete exports
+ t.name = "export_clean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf clean"
t.mustmatch = []
- t.targets = [
- "$(EPOCROOT)/epoc32/include/exported_1.h",
- "$(EPOCROOT)/epoc32/include/exported_2.h",
- "$(EPOCROOT)/epoc32/include/exported_3.h",
- "$(EPOCROOT)/epoc32/include/executable_file",
- "$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc",
- "$(EPOCROOT)/epoc32/include/exported file with a space.doc",
- "/tmp/$(USER)/simple_exp1.h",
- "/tmp/$(USER)/simple_exp2.h",
- "/tmp/$(USER)/simple_exp3.h"
- ]
+ t.targets = exported_files
+ t.antitargets = []
t.run()
-
- t = AntiTargetSmokeTest()
- t.id = "0023c"
+ # Confirm reallyclean deletes all exports, including those that were read-only
+ # as source (and so should now be removable at their destination)
t.name = "export_reallyclean"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf reallyclean"
- t.antitargets = [
- '$(EPOCROOT)/epoc32/include/exported_1.h',
- '$(EPOCROOT)/epoc32/include/exported_2.h',
- '$(EPOCROOT)/epoc32/include/exported_3.h',
- "$(EPOCROOT)/epoc32/include/executable_file",
- '$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
- '$(EPOCROOT)/epoc32/include/exported file with a space.doc',
- '/tmp/$(USER)/simple_exp1.h',
- '/tmp/$(USER)/simple_exp2.h',
- '/tmp/$(USER)/simple_exp3.h',
- '$(EPOCROOT)/epoc32/include/simple_exp4.h'
- ]
+ t.targets = []
+ t.antitargets = exported_files
t.run()
- # Check that the --noexport feature really does prevent exports from happening
- t = AntiTargetSmokeTest()
- t.id = "0023d"
+ # Check --noexport suppresses exports
t.name = "export_noexport"
t.command = "sbs -b smoke_suite/test_resources/simple_export/expbld.inf --noexport -n"
- t.antitargets = [
- '$(EPOCROOT)/epoc32/include/exported_1.h',
- '$(EPOCROOT)/epoc32/include/exported_2.h',
- '$(EPOCROOT)/epoc32/include/exported_3.h',
- "$(EPOCROOT)/epoc32/include/executable_file",
- '$(EPOCROOT)/epoc32/include/exportedfilewithspacesremoved.doc',
- '$(EPOCROOT)/epoc32/include/exported file with a space.doc',
- '/tmp/$(USER)/simple_exp1.h',
- '/tmp/$(USER)/simple_exp2.h',
- '/tmp/$(USER)/simple_exp3.h',
- '$(EPOCROOT)/epoc32/include/simple_exp4.h'
- ]
+ t.targets = []
+ t.antitargets = exported_files
t.run()
-
- t.id = "23"
+
t.name = "export"
t.print_result()
return t
--- a/sbsv2/raptor/test/smoke_suite/featurevariants.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/featurevariants.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,4 @@
-#
+
# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
@@ -15,11 +15,20 @@
#
from raptor_tests import AntiTargetSmokeTest, ReplaceEnvs
+from raptor_meta import BldInfFile
import os
def run():
t = AntiTargetSmokeTest()
t.usebash = True
+
+ # create some empty source files just to test createvmaps command file handling:
+ test_cpp_files = []
+ for i in xrange(0,16):
+ tf = "smoke_suite/test_resources/bv/variant1/test_createvmap{0:02}.cpp".format(i)
+ f = open(tf,"w+")
+ f.close()
+ test_cpp_files.append(tf)
preBuiltTargets = [
"$(EPOCROOT)/epoc32/release/armv5/udeb/dummy.lib",
@@ -167,8 +176,8 @@
"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant_urel_objects.via",
"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.def",
"createstaticdll_invariant_dll/armv5/urel/createstaticdll_invariant{000a0000}.dso",
- "dummy_inv_dll/dummy_inv_dummy_sc.rpp",
- "dummy_inv_dll/dummy_inv_dummy_sc.rpp.d"
+ "dummy_inv_dll/dummy_inv_dummy.rsc.rpp",
+ "dummy_inv_dll/dummy_inv_dummy.rsc.d"
]
variantBuildTargetsDefaultTree = [
@@ -292,34 +301,54 @@
]
variantBuildTargetsGeneric = [
- "dummy_var1_dll/dummy_var1_dummy_sc.rpp",
- "dummy_var1_dll/dummy_var1_dummy_sc.rpp.d",
- "dummy_var2_dll/dummy_var2_dummy_sc.rpp",
- "dummy_var2_dll/dummy_var2_dummy_sc.rpp.d",
- "dummy_var3_exe/dummy_var3_dummy_sc.rpp",
- "dummy_var3_exe/dummy_var3_dummy_sc.rpp.d"
+ "dummy_var1_dll/dummy_var1_dummy.rsc.rpp",
+ "dummy_var1_dll/dummy_var1_dummy.rsc.d",
+ "dummy_var2_dll/dummy_var2_dummy.rsc.rpp",
+ "dummy_var2_dll/dummy_var2_dummy.rsc.d",
+ "dummy_var3_exe/dummy_var3_dummy.rsc.rpp",
+ "dummy_var3_exe/dummy_var3_dummy.rsc.d"
]
- sbscommand = "sbs -b smoke_suite/test_resources/bv/bld.inf -c armv5 " + \
- "-c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 -f- " + \
- "--configpath=test/smoke_suite/test_resources/bv/config/variants"
+ bldinf = 'smoke_suite/test_resources/bv/bld.inf'
+ sbscommand = "sbs -b {0} -c armv5 -c armv5.test_bv_1 -c armv5.test_bv_2 -c armv5.test_bv_3 -f- --configpath=test/smoke_suite/test_resources/bv/config/variants".format(bldinf)
t.id = "56a"
t.description = """Build variant and invariant components.
In this default mode of operation, all components build for the non-product armv5 config whereas
only variant components build for the armv5.* bv configs."""
t.name = "featurevariant_build"
- t.command = sbscommand
+
+ t.command = "{0} && cat $(EPOCROOT)/epoc32/build/{1}/{2}".format(sbscommand, BldInfFile.outputPathFragment(bldinf), "createstaticdll_variant1_dll/armv5.three/udeb/createstaticdll_variant1.vmap.cmdfile")
t.targets = preBuiltTargets + invariantTargets + variantTargetsGeneric + variantTargetsDefaultTree + variantTargetsProductTrees
- t.addbuildtargets('smoke_suite/test_resources/bv/bld.inf',
+ t.addbuildtargets(bldinf,
invariantBuildTargets + variantBuildTargetsGeneric + variantBuildTargetsDefaultTree + variantBuildTargetsProductTrees
)
+
# Test that static libs are linked from the invariant place.
t.mustmatch = [
"armlink.*epoc32/release/armv5/urel/bv_static_lib.lib",
- "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib"
+ "armlink.*epoc32/release/armv5/udeb/bv_static_lib.lib",
+ "\s*-s.*variant1/CreateStaticDLL_variant1.cpp",
+ "\s*-s.*variant1/test_createvmap01.cpp",
+ "\s*-s.*variant1/test_createvmap02.cpp",
+ "\s*-s.*variant1/test_createvmap03.cpp",
+ "\s*-s.*variant1/test_createvmap04.cpp",
+ "\s*-s.*variant1/test_createvmap05.cpp",
+ "\s*-s.*variant1/test_createvmap06.cpp",
+ "\s*-s.*variant1/test_createvmap07.cpp",
+ "\s*-s.*variant1/test_createvmap08.cpp",
+ "\s*-s.*variant1/test_createvmap09.cpp",
+ "\s*-s.*variant1/test_createvmap10.cpp",
+ "\s*-s.*variant1/test_createvmap11.cpp",
+ "\s*-s.*variant1/test_createvmap12.cpp",
+ "\s*-s.*variant1/test_createvmap13.cpp",
+ "\s*-s.*variant1/test_createvmap14.cpp",
+ "\s*-s.*variant1/test_createvmap15.cpp",
+ "\s*-s.*variant1/CreateStaticDLL_variant1.mmp"
]
t.run()
+
+
t.id = "56b"
t.description = """Build variant and invariant components using an os_properties.xml that sets FEATUREVARIANTSAFE=1.
@@ -342,6 +371,7 @@
]
t.run()
+
# tests for the createvmap script
createvmap = "python $(SBS_HOME)/bin/createvmap.py"
@@ -413,6 +443,11 @@
t.targets = [vmapfile]
t.mustmatch = ["A_1=defined", "B_1000=undefined"]
t.run()
+
+
+ # clean up test cpp files from the first test (do it noow after they are no longer needed)
+ for tf in test_cpp_files:
+ os.unlink(tf)
# print the overall result
--- a/sbsv2/raptor/test/smoke_suite/gccxml.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/gccxml.py Wed Oct 06 15:13:17 2010 +0100
@@ -32,9 +32,9 @@
]
t.addbuildtargets('smoke_suite/test_resources/simple_gui/bld.inf', [
"helloworld_exe/gccxml/HelloWorld.mmp.xml",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
"helloworld_exe/gccxml/HelloWorld.rss.rfi",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d",
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d",
"helloworld_exe/gccxml/HelloWorld_reg.rss.rfi",
"helloworld_exe/gccxml/urel/HelloWorld_Application.xml.d",
"helloworld_exe/gccxml/urel/HelloWorld_Application.xml",
@@ -66,9 +66,9 @@
t.antitargets = ["$(EPOCROOT)/epoc32/release/gccxml/urel/helloworldexe.gxp"]
t.addbuildantitargets('smoke_suite/test_resources/simple_gui/bld.inf', [
"helloworld_exe/gccxml/HelloWorld.mmp.xml",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
"helloworld_exe/gccxml/HelloWorld.rss.rfi",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d",
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d",
"helloworld_exe/gccxml/HelloWorld_reg.rss.rfi",
"helloworld_exe/gccxml/urel/HelloWorld_Application.xml.d",
"helloworld_exe/gccxml/urel/HelloWorld_Application.xml",
--- a/sbsv2/raptor/test/smoke_suite/gnumakefile_what.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/gnumakefile_what.py Wed Oct 06 15:13:17 2010 +0100
@@ -23,6 +23,11 @@
t.name = "gnumakefile_what"
t.command = "sbs -b smoke_suite/test_resources/gnumakefile/bld.inf --what"
componentpath = re.sub(r'\\','/',os.path.abspath("smoke_suite/test_resources/gnumakefile"))
+ # The raptor tests standardise on uppercase drive letters
+ # so make this the same thus it will match strings created
+ # inside make/raptor from an EPOCROOT with an uppercase
+ # drive letter.
+ componentpath = componentpath[0].upper() + componentpath[1:]
t.output_expected_only_once = True
t.stdout = [
--- a/sbsv2/raptor/test/smoke_suite/gui_whatlog.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/gui_whatlog.py Wed Oct 06 15:13:17 2010 +0100
@@ -46,8 +46,8 @@
]
t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
"helloworld_exe/helloworld.mbm_bmconvcommands",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+ "helloworld_exe/helloworld_HelloWorld.rsc.rpp",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
@@ -108,7 +108,7 @@
"helloworld_exe/winscw/urel/helloworld_UID_.dep",
"helloworld_exe/winscw/urel/helloworld_UID_.o",
"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d"
])
t.stdout = [
"<whatlog bldinf='"+componentpath+"/Bld.inf' mmp='"+componentpath+"/HelloWorld.mmp' config='armv5_udeb.whatlog'>",
--- a/sbsv2/raptor/test/smoke_suite/implib_winscw.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/implib_winscw.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -26,8 +26,8 @@
"$(EPOCROOT)/epoc32/release/winscw/udeb/simple_implib.lib"
]
t.addbuildtargets('smoke_suite/test_resources/simple_implib/bld.inf', [
- ["simple_implib/simple_implib_lib/winscw/udeb/simple_implib.prep.def",
- "simple_implib/simple_implib_lib/winscw/urel/simple_implib.prep.def"]
+ ["simple_implib_lib/winscw/udeb/simple_implib.prep.def",
+ "simple_implib_lib/winscw/urel/simple_implib.prep.def"]
])
t.run()
return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/implib_x86.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,33 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "implib_x86"
+ t.description = "Build a basic IMPLIB TARGETTYPE for x86"
+ t.command = "sbs -b smoke_suite/test_resources/simple_implib/bld.inf -c x86"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/x86/lib/simple_implib.lib"
+ ]
+ t.addbuildtargets("smoke_suite/test_resources/simple_implib/bld.inf", [
+ ["simple_implib_lib/x86/udeb/simple_implib.prep",
+ "simple_implib_lib/x86/urel/simple_implib.prep"],
+ ])
+
+ t.run("windows")
+ return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/lib_x86.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,62 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+from raptor_tests import ReplaceEnvs
+import os
+
+def run():
+ # Generate source files for simple_lib tests
+ dir = ReplaceEnvs("$(SBS_HOME)/test/smoke_suite/test_resources/simple_lib")
+ zs = "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
+ for i in range(1, 100):
+ file = open(os.path.join(dir, zs + "_" + str(i) + ".cpp"), "w")
+ file.write("int f(void) { return 1; }\n")
+ file.close()
+
+ # Convenience method to list generated source build output
+ def __generatedFiles(aConfig):
+ udeb = "etest_lib/%s/udeb/" % aConfig
+ urel = "etest_lib/%s/urel/" % aConfig
+
+ generated = []
+ for i in range(1, 100):
+ generated.append(udeb + zs + "_" + str(i) + ".o")
+ generated.append(udeb + zs + "_" + str(i) + ".o.d")
+ generated.append(urel + zs + "_" + str(i) + ".o")
+ generated.append(urel + zs + "_" + str(i) + ".o.d")
+ return generated
+
+ buildtargets = [
+ "etest_lib/x86/udeb/etest_udeb_objects.via",
+ "etest_lib/x86/udeb/test_lib.o",
+ "etest_lib/x86/urel/etest_urel_objects.via",
+ "etest_lib/x86/urel/test_lib.o"
+ ]
+ buildtargets.extend(__generatedFiles("x86"))
+
+ t = SmokeTest()
+ t.name = "lib_x86"
+ t.description = "Build a basic LIB TARGETTYPE for x86"
+ t.command = "sbs -b smoke_suite/test_resources/simple_lib/bld.inf -c x86"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/x86/udeb/etest.lib",
+ "$(EPOCROOT)/epoc32/release/x86/urel/etest.lib"
+ ]
+ t.addbuildtargets('smoke_suite/test_resources/simple_lib/bld.inf', buildtargets)
+
+ t.run("windows")
+ return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/missing_keywords.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,32 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "missing_keywords"
+
+ t.command = "sbs -b smoke_suite/test_resources/invalid_metadata/bld.inf -c armv5"
+
+ t.mustmatch_singleline = [
+ "sbs: error: required keyword TARGET is missing"
+ ]
+
+ t.errors = 1
+ t.returncode = 1
+ t.run()
+ return t
--- a/sbsv2/raptor/test/smoke_suite/mmp_keywords.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/mmp_keywords.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009 - 2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -226,7 +226,7 @@
t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p armfpu_soft.mmp -c armv5_urel -f-"
t.targets = []
t.mustmatch = ["--fpu softvfp", "--fpu=softvfp"]
- t.mustnotmatch = ["--fpu vfpv2", "--fpu=vfpv2"]
+ t.mustnotmatch = ["--fpu vfpv2", "--fpu softvfp\+", "--fpu=vfpv2", "--fpu=softvfp\+"]
t.warnings = 0
t.run()
@@ -239,16 +239,25 @@
t.mustnotmatch = ["--fpu softvfp", "--fpu=softvfp"]
t.run()
+ t.id = "75ja"
+ t.name = "mmp_9c"
+ t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel REALLYCLEAN &&" \
+ + " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -p \"armfpu_soft+vfpv2.mmp\" -c armv5_urel -f-"
+
+ t.mustmatch = ["--fpu softvfp\+vfpv2", "--fpu=vfpv2"]
+ t.mustnotmatch = ["--fpu vfpv2", "--fpu softvfp ", "--fpu=softvfp"]
+ t.run()
+
t.id = "75k"
t.name = "mmp_10"
t.command = "sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel_gcce4_3_2 REALLYCLEAN &&" \
+ " sbs -b $(SBS_HOME)/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf -c armv5_urel_gcce4_3_2 -f-"
t.countmatch = [
- ["-mfloat-abi=soft", 2],
- ["--fpu=softvfp", 2]
+ ["-mfloat-abi=soft", 3],
+ ["--fpu=softvfp", 3] # gcce doesn't vary according to ARMFPU currently
]
t.mustmatch = []
- t.mustnotmatch = ["--fpu=vfpv2"]
+ t.mustnotmatch = ["--fpu=vfpv2", "--fpu=softvfp\+"]
t.run()
# Test keywords: compresstarget, nocompresstarget, bytepaircompresstarget, inflatecompresstarget
@@ -291,7 +300,7 @@
# Test keyword: EPOCNESTEDEXCEPTIONS
t.id = "75n"
t.name = "epocnestedexceptions"
- t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5 -f-"
+ t.command = "sbs -b smoke_suite/test_resources/mmp/epocnestedexceptions/bld.inf -c armv5_udeb -f-"
# When EPOCNESTEDEXCEPTIONS is specified in the MMP file, a different static
# run-time library should be used.
@@ -302,11 +311,30 @@
# The new static run-time libraries don't yet exist.
t.errors = 1
- t.warnings = 2
+ t.warnings = 1
t.targets = []
t.run()
-
+
+ # Test keyword: DOCUMENT
+ t.id = "75o"
+ t.name = "mmp_keyword_document"
+ # Note: in t.command, the makefile is cat'd through sed to remove the .DEFAULT double-colon rule's <warning> tag to ensure that t.run succeeds.
+ t.command = "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf -c armv5 reallyclean; " + \
+ "sbs -b smoke_suite/test_resources/mmp/mmp1/group/bld.inf --no-depend-generate -c armv5_urel -m ${SBSMAKEFILE}; " + \
+ "cat ${SBSMAKEFILE}_all.default"
+
+ t.mustmatch_singleline = ["DOCUMENT:=.*test/smoke_suite/test_resources/mmp/mmp1/src/file01\.txt\\s+.*test/smoke_suite/test_resources/mmp/mmp1/src/file02\.txt"]
+ t.mustnotmatch = []
+ t.countmatch = []
+
+ t.errors = 0
+ t.warnings = 0
+ t.returncode = 0
+ t.targets = []
+
+ t.run()
+
t.id = "75"
t.name = "mmp_keywords"
t.print_result()
--- a/sbsv2/raptor/test/smoke_suite/qt_helloworld.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/qt_helloworld.py Wed Oct 06 15:13:17 2010 +0100
@@ -15,6 +15,7 @@
# This test case requires install of Qt.
from raptor_tests import SmokeTest
+import os
def run():
t = SmokeTest()
@@ -23,7 +24,10 @@
t.id = "0110"
t.name = "qt_helloworld"
- t.command = "cd smoke_suite/test_resources/qt && qmake -spec symbian-sbsv2 && sbs"
+ # Internal QT deliveries use a QMAKE launcher that expects EPOCROOT to end in a slash
+ # We ensure it does (doesn't matter if there are multiple slashes)
+ t.environ["EPOCROOT"] = os.environ["EPOCROOT"] + os.sep
+ t.command = "cd smoke_suite/test_resources/qt && $(EPOCROOT)/epoc32/tools/qmake -spec symbian-sbsv2 && sbs"
t.targets = [
"$(SBS_HOME)/test/smoke_suite/test_resources/qt/bld.inf",
"$(SBS_HOME)/test/smoke_suite/test_resources/qt/helloworldqt.loc",
--- a/sbsv2/raptor/test/smoke_suite/query_cli.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/query_cli.py Wed Oct 06 15:13:17 2010 +0100
@@ -53,13 +53,72 @@
"<product.*name='root'.*/>"
]
t.run()
-
+
+ winscwtargets =[ "<targettype name='ani'/>",
+ "<targettype name='dll'/>",
+ "<targettype name='exe'/>",
+ "<targettype name='exexp'/>",
+ "<targettype name='fsy'/>",
+ "<targettype name='implib'/>",
+ "<targettype name='kdll'/>",
+ "<targettype name='kext'/>",
+ "<targettype name='klib'/>",
+ "<targettype name='ldd'/>",
+ "<targettype name='lib'/>",
+ "<targettype name='none'/>",
+ "<targettype name='pdd'/>",
+ "<targettype name='pdl'/>",
+ "<targettype name='pdll'/>",
+ "<targettype name='plugin'/>",
+ "<targettype name='plugin3'/>",
+ "<targettype name='stddll'/>",
+ "<targettype name='stdexe'/>",
+ "<targettype name='stdlib'/>",
+ "<targettype name='textnotifier2'/>",
+ "<targettype name='var'/>"]
+ armtargets = winscwtargets + [
+ "<targettype name='kexe'/>",
+ "<targettype name='var2'/>" ]
+ tools2targets = [ "<targettype name='exe'/>",
+ "<targettype name='lib'/>"]
+
t.name = "query_cli_config"
t.command = "sbs --query=config[armv5_urel]"
t.mustmatch_singleline = [
"<sbs version='2\.\d+\.\d+'>",
- "fullname='arm\.v5\.urel\.rvct.*'",
+ "meaning='arm\.v5\.urel\.rvct.*'",
+ "<build>",
+ "<macro name='__SUPPORT_CPP_EXCEPTIONS__'/>",
+ "<macro name='_UNICODE'/>",
+ "<macro name='__SYMBIAN32__'/>",
+ "<macro name='__EPOC32__'/>",
+ "<macro name='__MARM__'/>",
+ "<macro name='__EABI__'/>",
+ "<macro name='__PRODUCT_INCLUDE__' value='\".*epoc32/include/variant/symbian_os.hrh\"'/>",
+ "<macro name='__MARM_ARMV5__'/>",
+ "<macro name='__ARMCC_2__'/>",
+ "<macro name='__ARMCC_2_2__'/>",
+ "<macro name='NDEBUG'/>",
+ "<macro name='__ARMCC__'/>",
+ "<preinclude file='.*/epoc32/include/rvct/rvct.h'/>"
+ ] + armtargets + [
+ "</build>",
+ "<metadata>",
"outputpath='.*/epoc32/release/armv5/urel'",
+ "include path='.*/epoc32/include/variant'",
+ "include path='.*/epoc32/include'",
+ "preinclude file='.*/epoc32/include/variant/Symbian_OS.hrh'",
+ "macro name='SBSV2' value='_____SBSV2'/>",
+ "macro name='ARMCC' value='_____ARMCC'/>",
+ "macro name='EPOC32' value='_____EPOC32'/>",
+ "macro name='MARM' value='_____MARM'/>",
+ "macro name='EABI' value='_____EABI'/>",
+ "macro name='GENERIC_MARM' value='_____GENERIC_MARM'/>",
+ "macro name='MARM_ARMV5' value='_____MARM_ARMV5'/>",
+ "macro name='ARMCC_2' value='_____ARMCC_2'/>",
+ "macro name='ARMCC_2_2' value='_____ARMCC_2_2'/>",
+ "macro name='__GNUC__' value='3'/>",
+ "</metadata>",
"</sbs>"
]
t.mustnotmatch_singleline = []
@@ -69,7 +128,7 @@
t.command = "sbs --query=config[armv5_urel.test_bv_1] --configpath=test/smoke_suite/test_resources/bv"
t.mustmatch_singleline = [
"<sbs version='2\.\d+\.\d+'>",
- "fullname='arm\.v5\.urel\.rvct._.\.test_bv_1'",
+ "meaning='arm\.v5\.urel\.rvct._.\.test_bv_1'",
"outputpath='.*/epoc32/release/armv5\.one/urel'",
"</sbs>"
]
@@ -87,7 +146,8 @@
t.mustmatch_singleline = [
"<sbs version='2\.\d+\.\d+'>",
"outputpath='.*/epoc32/release/winscw/urel'",
- "outputpath='.*/epoc32/release/%s/rel'" % t2,
+ "outputpath='.*/epoc32/release/%s/rel'" % t2
+ ] + winscwtargets + tools2targets + [
"</sbs>"
]
t.mustnotmatch_singleline = []
@@ -104,6 +164,17 @@
t.errors = 1
t.returncode = 1
t.run()
+
+ t.name = "query_cli_evaluator_error"
+ t.command = "sbs --query=config[arm.badenv] --configpath=test/smoke_suite/test_resources/query_cli"
+ t.mustmatch_singleline = [
+ "<config .*query='arm.badenv'.*>DONTSETTHISEVER is not set in the environment and has no default",
+ "<config .*meaning='arm.badenv'.*>DONTSETTHISEVER is not set in the environment and has no default"
+ ]
+ t.mustnotmatch_singleline = []
+ t.errors = 0
+ t.returncode = 0
+ t.run()
t.name = "query_cli"
t.print_result()
--- a/sbsv2/raptor/test/smoke_suite/resource.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/resource.py Wed Oct 06 15:13:17 2010 +0100
@@ -39,10 +39,10 @@
t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
"helloworld_exe/helloworld.mbm_bmconvcommands",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"])
+ "helloworld_exe/helloworld_HelloWorld.rsc.rpp",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.rpp",
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d"])
t.mustnotmatch = ["HelloWorld.rss.* warning: trigraph"]
@@ -60,7 +60,7 @@
is used because the weight of 'complete' dependency information would overwhelm make.
"""
buildLocation = ReplaceEnvs("$(EPOCROOT)/epoc32/build/") + BldInfFile.outputPathFragment('smoke_suite/test_resources/resource/group/bld.inf')
- res_depfile= buildLocation+"/dependentresource_/dependentresource_dependentresource_sc.rpp.d"
+ res_depfile= buildLocation+"/dependentresource_/dependentresource_dependentresource.rsc.d"
t.targets = [
@@ -68,9 +68,9 @@
"$(EPOCROOT)/epoc32/data/z/resource/anotherresource/testresource.rsc",
"$(EPOCROOT)/epoc32/data/z/resource/dependentresource/dependentresource.rsc",
"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
- "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc",
"$(EPOCROOT)/epoc32/include/testresource.hrh",
"$(EPOCROOT)/epoc32/include/testresource.rsg",
+ "$(EPOCROOT)/epoc32/include/onelang.rsg",
"$(EPOCROOT)/epoc32/release/armv5/urel/testresource.exe",
"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/anotherresource/testresource.r01",
"$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/anotherresource/testresource.rsc",
@@ -85,20 +85,57 @@
"dependentresource_/dependentresource_dependentresource.rsc",
"testresource_/testresource_dependentresource.r01",
"testresource_/testresource_dependentresource.rsc",
- "testresource_/testresource_testresource_01.rpp",
- "testresource_/testresource_testresource_01.rpp.d",
- "testresource_/testresource_testresource_02.rpp",
- "testresource_/testresource_testresource_sc.rpp"])
+ "testheader_/testheader_testresource_sc.rsg.d",
+ "testheader_/testheader_testresource_sc.rsg.rpp",
+ "testresource_/testresource_testresource.r02.rpp",
+ "onelang_/onelang_onelang_sc.rsg.rpp",
+ "testresource_/testresource_testresource.rsc.rpp"])
- t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -c winscw_urel reallyclean ; sbs --no-depend-generate -j 16 -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -c winscw_urel -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && grep 'epoc32.include.testresource.rsg' %s && { X=`md5sum $(EPOCROOT)/epoc32/release/winscw/urel/z/resource/anotherresource/testresource.rsc` && Y=`md5sum $(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc` && [ \"${X%% *}\" != \"${Y%% *}\" ] ; } && wc -l %s " % (res_depfile, res_depfile)
+ t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -c winscw_urel reallyclean ; sbs --no-depend-generate -j 16 -b smoke_suite/test_resources/resource/group/bld.inf -c armv5_urel -c winscw_urel -f ${SBSLOGFILE} -m ${SBSMAKEFILE} && grep 'epoc32.include.test[^ ]*.rsg' %s && { X=`md5sum $(EPOCROOT)/epoc32/release/winscw/urel/z/resource/anotherresource/testresource.rsc` && Y=`md5sum $(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc` && [ \"${X%% *}\" != \"${Y%% *}\" ] ; } && wc -l %s " % (res_depfile, res_depfile)
+
t.mustnotmatch = []
t.mustmatch = [
- "[23] .*.dependentresource_.dependentresource_dependentresource_sc.rpp.d"
+ "[23] .*.dependentresource_.dependentresource_dependentresource.rsc.d"
]
t.run()
+
+ t.id="30b"
+ t.name = "resource_corner_cases_reallyclean"
+ t.usebash = True
+ t.description = """ Additional corner cases for resources:
+ 1) Use of "TARGETTYPE none" but not "TARGET" mmp keyword.
+ 2) Use of a resource with no LANG. """
+
+ t.targets = []
+
+ t.command = "sbs -b smoke_suite/test_resources/resource/group/bld2.inf -c armv5_urel -c winscw_urel reallyclean"
+ t.mustnotmatch = []
+ t.mustmatch = []
+ t.run()
+
+ t.id="30c"
+ t.name = "resource_corner_cases"
+ t.usebash = True
+ t.description = """ Additional corner cases for resources:
+ 1) Use of "TARGETTYPE none" but not "TARGET" mmp keyword.
+ 2) Use of a resource with no LANG. """
+
+ buildLocation = ReplaceEnvs("$(EPOCROOT)/epoc32/build/") + BldInfFile.outputPathFragment('smoke_suite/test_resources/resource/group/bld2.inf')
+ rsc_file= buildLocation+"/testresource_/testresource_testresource.rsc"
+
+
+ t.targets = ["$(EPOCROOT)/epoc32/data/z/resource/apps/notargetkeyword.mbm",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/apps/notargetkeyword.mbm",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/notargetkeyword.mbm",
+ rsc_file ]
+
+ t.command = "sbs -b smoke_suite/test_resources/resource/group/bld2.inf -c armv5_urel -c winscw_urel"
+ t.mustnotmatch = []
+ t.mustmatch = []
+ t.run()
t.name = 'resource'
t.print_result()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/resource_once.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "resource_once"
+ t.description = "Ensure we only generate the resource header once even when there are many languages. Make sure that the right language (96) is used for the headerfile."
+ t.command = "sbs -b smoke_suite/test_resources/resource/group/simple.inf -c winscw_udeb -m ${SBSMAKEFILE} -f ${SBSLOGFILE}; XX=$?; cat ${SBSLOGFILE}; exit $XX"
+ t.usebash = True
+ t.targets = [
+ "$(EPOCROOT)/epoc32/include/testresource.hrh",
+ "$(EPOCROOT)/epoc32/include/testresource_badef.rh",
+ "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.rsc",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.rsc",
+ "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r37",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r37",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r37",
+ "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r94",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r94",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r94",
+ "$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r96",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/z/resource/testresource/testresource.r96",
+ "$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/testresource/testresource.r96",
+ "$(EPOCROOT)/epoc32/include/testresource.rsg",
+ "$(EPOCROOT)/epoc32/release/winscw/udeb/testresource.exe"
+ ]
+ t.countmatch = [["rcomp.*-h.*rsg.*r96",1], # must see r96 once
+ ["rcomp.*-h.*rsg",1]] # must not see any other language
+ t.run()
+
+ t.print_result()
+ return t
--- a/sbsv2/raptor/test/smoke_suite/romfile.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/romfile.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -16,24 +16,27 @@
from raptor_tests import SmokeTest
-import os
def run():
t = SmokeTest()
- t.id = "55"
- t.name = "romfile"
t.description = """
Tests the creation and content of an .iby romfile for the armv5.test
configuration. Also tests for creation of relevant test batch files.
- """
+ """
t.usebash = True
- t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf " \
- + "-c armv5.test ROMFILE -f - " \
- + "&& cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
-
# Don't allow -m or -f to be appended
t.logfileOption = lambda :""
t.makefileOption = lambda :""
+
+ t.id = "55a"
+ # Check content of iby file is correct
+ # Check batch files are generated
+ t.name = "romfile_general"
+
+ t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf " \
+ + "-c armv5.test ROMFILE -m ${SBSMAKEFILE} -f ${SBSLOGFILE} " \
+ + "&& cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
+
t.targets = [
"$(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby",
"$(EPOCROOT)/epoc32/data/z/test/src/armv5.auto.bat",
@@ -41,13 +44,7 @@
]
# Check the content of the generated .iby file.
-
t.mustmatch = [
- # Check whatlog output includes batch files and .iby file
- r".*/epoc32/rom/src/ongoing/group/romfile/armv5test.iby</build>.*",
- r".*/epoc32/data/z/test/src/armv5.auto.bat</build>.*",
- r".*/epoc32/data/z/test/src/armv5.manual.bat</build>.*",
-
# The comment that is put at the start of the file.
r".*// epoc32/rom/src/ongoing/group/romfile/armv5test\.iby\n.*",
@@ -76,17 +73,53 @@
# without flagging C++ style comments.
r"\w//+\w"
]
+ t.warnings = 0 if t.onWindows else 2
+ t.run()
+
- t.run("windows")
+ t.id = "55b"
+ # t.targets and t.warnings are the same as above and thus omitted
+ t.name = "romfile_whatlog"
+ t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf " \
+ + "-c armv5.test ROMFILE -f -"
+
+ t.mustmatch = [
+ # Check whatlog output includes batch files and .iby file
+ r".*/epoc32/rom/src/ongoing/group/romfile/armv5test.iby</build>.*",
+ r".*/epoc32/data/z/test/src/armv5.auto.bat</build>.*",
+ r".*/epoc32/data/z/test/src/armv5.manual.bat</build>.*"
+ ]
+ t.mustnotmatch = []
+ t.run()
+
- if t.result == SmokeTest.SKIP:
- t.command = "sbs -b $(EPOCROOT)/src/ongoing/group/romfile/other_name.inf" \
- + " -c armv5.test ROMFILE -f -" \
- + " && cat $(EPOCROOT)/epoc32/rom/src/ongoing/group/romfile/armv5test.iby"
+ t.id = "55c"
+ t.name = "romfile_mmp_include_twice"
+ t.command = "sbs -b $(EPOCROOT)/src/e32test/group/bld.inf " \
+ + "-b $(EPOCROOT)/src/falcon/test/bld.inf " \
+ + "-c armv5.test ROMFILE -m ${SBSMAKEFILE} -f ${SBSLOGFILE} " \
+ + "&& cat $(EPOCROOT)/epoc32/rom/src/e32test/group/armv5test.iby"
+
+ t.targets = [
+ "$(EPOCROOT)/epoc32/rom/src/e32test/group/armv5test.iby"
+ ]
- # These two warnings are because gnumakefiles are not supported on
- # Linux:
- t.warnings = 2
- t.run("linux")
+ # Check the content of the generated .iby file
+ t.mustmatch = [
+ r".*\ndevice\[MAGIC\]=/epoc32/release/##KMAIN##/##BUILD##/d_nanowait\.ldd\s+sys/bin/d_nanowait\.ldd\n.*",
+ r".*\ndevice\[MAGIC\]=/epoc32/release/##KMAIN##/##BUILD##/d_pagingexample_2_post.ldd\s+sys/bin/d_pagingexample_2_post.ldd\n.*",
+ ]
+ t.mustnotmatch = [
+ # These two files are from two mmp files that included in both bld.inf
+ # They shouldn't be in the ROM
+ r".*/d_medch.ldd\s.*"
+ r".*/d_dma.ldd\s.*"
+ ]
+ t.warnings = 0
+ t.run()
+
+ t.id = "55"
+ t.name = "romfile"
+ t.print_result()
return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/slim_debug.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,44 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "slim_debug"
+ t.description = """Exercise the slim_debug variant, checking that command line arguments
+ are applied selectively."""
+ t.usebash = True
+
+ t.command = "sbs -b smoke_suite/test_resources/simple_dll/bld.inf -c armv5.slimdebug -f-"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll.sym",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll.sym",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll.dso",
+ "$(EPOCROOT)/epoc32/release/armv5/lib/createstaticdll{000a0000}.dso",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/createstaticdll.dll",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/createstaticdll.dll"
+ ]
+ t.addbuildtargets('smoke_suite/test_resources/simple_dll/bld.inf',
+ [
+ "createstaticdll_dll/armv5/udeb/CreateStaticDLL.o",
+ "createstaticdll_dll/armv5/urel/CreateStaticDLL.o"
+ ])
+ t.mustnotmatch_singleline = ["\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*--DNDEBUG"]
+ t.mustmatch_singleline = ["\+.*armcc.*--no_debug_macros --remove_unneeded_entities.*-D_DEBUG"]
+
+ t.run()
+ return t
--- a/sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/stringtable_zip_whatlog.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -18,12 +18,14 @@
# will be exported in response to the first configuration processed (this
# example ensures it's armv5_udeb, so we can match against that config).
from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
import re
import os
def run():
- markerfile = re.sub("(\\\\|\/|:|;| )", "_",
- ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+ premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+ markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
t = CheckWhatSmokeTest()
t.id = "0069a"
@@ -41,6 +43,7 @@
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt",
"$(EPOCROOT)/epoc32/build/" + markerfile
]
t.addbuildtargets('smoke_suite/test_resources/simple_stringtable/bld.inf', [
@@ -58,6 +61,7 @@
"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt</member>",
"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt</member>",
"<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin</member>",
+ "<member>$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt</member>",
"<zipmarker>$(EPOCROOT)/epoc32/build/" + markerfile + "</zipmarker>"
]
t.run()
--- a/sbsv2/raptor/test/smoke_suite/sysdef_layers.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/sysdef_layers.py Wed Oct 06 15:13:17 2010 +0100
@@ -48,7 +48,7 @@
"$(EPOCROOT)/epoc32/release/winscw/urel/z/resource/apps/helloworld.rsc",
]
t.addbuildtargets('smoke_suite/test_resources/sysdef/build_gen_source/bld.inf', [
- "helloworld_/helloworld_HelloWorld_sc.rpp"
+ "helloworld_/helloworld_HelloWorld.rsc.rpp"
])
t.addbuildtargets('smoke_suite/test_resources/sysdef/dependent/bld.inf', [
"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
@@ -75,11 +75,11 @@
"helloworld_exe/winscw/urel/HelloWorld_Main.o",
"helloworld_exe/winscw/urel/helloworld.UID.CPP",
"helloworld_exe/winscw/urel/helloworld_UID_.o",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp"
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.rpp"
])
t.countmatch = [
- ["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 34],
- ["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 4]
+ ["<recipe .*layer='Component with Layer Dependencies' component='dependent'.*>", 33],
+ ["<recipe .*layer='Build Generated Source' component='build generated source'.*>", 3]
]
t.run()
return t
--- a/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/asmtest/asmtest.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -20,7 +20,7 @@
UID 0x100039ce 0x00000001
LIBRARY euser.lib
SECUREID 0x10003a5c
-SYSTEMINCLUDE /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
SOURCE testasm.s testcia.cia testassembler.cpp
EPOCSTACKSIZE 8192
EPOCHEAPSIZE 0x5000 65535
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/invariant/CreateStaticDLL_invariant.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -30,8 +30,7 @@
SOURCE CreateStaticDLL_invariant.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant1/CreateStaticDLL_variant1.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -29,9 +29,25 @@
SOURCEPATH .
SOURCE CreateStaticDLL_variant1.cpp
+// > 10 files to test the createvmap handling of command files
+SOURCE test_createvmap01.cpp
+SOURCE test_createvmap02.cpp
+SOURCE test_createvmap03.cpp
+SOURCE test_createvmap04.cpp
+SOURCE test_createvmap05.cpp
+SOURCE test_createvmap06.cpp
+SOURCE test_createvmap07.cpp
+SOURCE test_createvmap08.cpp
+SOURCE test_createvmap09.cpp
+SOURCE test_createvmap10.cpp
+SOURCE test_createvmap11.cpp
+SOURCE test_createvmap12.cpp
+SOURCE test_createvmap13.cpp
+SOURCE test_createvmap14.cpp
+SOURCE test_createvmap15.cpp
+
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
// static libs are always feature invariant
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant2/CreateStaticDLL_variant2.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -30,8 +30,7 @@
SOURCE CreateStaticDLL_variant2.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/bv/variant3/CreateEXE_variant3.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -29,8 +29,7 @@
SOURCE CreateEXE_variant3.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/defs/group/deftest.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -18,7 +18,8 @@
target deftest
targettype dll
-source test.cpp
+source test.cpp
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
unpaged
macro __TESTNAME__="deftest"
--- a/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/dependencies/dependencies.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -25,7 +25,7 @@
SOURCE dependency.cpp
#ifndef TOOLS2
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
START RESOURCE main.rss
HEADER
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+PRJ_MMPFILES
+missing_keywords.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/invalid_metadata/missing_keywords.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,19 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// TARGET - there is no target keyword
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/long/paths/deftest.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -67,7 +67,10 @@
source test46.cpp
source test47.cpp
source test48.cpp
-source test49.cpp
+source test49.cpp
+
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
+
unpaged
macro __TESTNAME__="deftest"
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/group/shutdownsrv.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1997-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -32,10 +32,11 @@
userinclude .
userinclude ../inc
-systeminclude /epoc32/include
+DOCUMENT file01.txt file02.txt
-#if defined(SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
-systeminclude /epoc32/include/ssm
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+#if defined (SYMBIAN_SSM_GRACEFUL_SHUTDOWN)
#endif
source shutdownsrv.cpp shutdowntimer.cpp shutdownsrvpatchdata.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/inc/ssmgracefulshutdown_patch.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,20 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef __SSMGRACEFULSHUTDOWN_PATCH_H__
+#define __SSMGRACEFULSHUTDOWN_PATCH_H__
+#include <ssm/ssmpatchableconstants.h>
+
+#endif // __SSMGRACEFULSHUTDOWN_PATCH_H__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/file01.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,1 @@
+First file for testing the DOCUMENT keyword.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp1/src/file02.txt Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,1 @@
+First file for testing the DOCUMENT keyword.
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp2/group/ImageProcessorPerf.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -29,7 +29,7 @@
USERINCLUDE ../inc
USERINCLUDE ../src
-SYSTEMINCLUDE /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
SYSTEMINCLUDE /epoc32/include/ecom
ALWAYS_BUILD_AS_ARM
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/dfpaeabi_common.mmh Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -21,6 +21,7 @@
SOURCEPATH .
SOURCE dfpaeabi.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
SYSTEMINCLUDE ../../include
START ARMCC
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/t_oom.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -21,7 +21,7 @@
SOURCEPATH .
source t_oom.cpp
-systeminclude /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
library euser.lib efsrv.lib
debuglibrary estor.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp3/tbm.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -25,7 +25,7 @@
SOURCE tbm.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib bluetooth.lib
LIBRARY sdap.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/d_newldd.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -23,6 +23,8 @@
TARGETTYPE LDD
SOURCEPATH ../device
SOURCE d_newldd.cpp t_new_classes.cpp
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
start wins
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_rbuf.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 1995-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -22,7 +22,7 @@
SOURCEPATH ../buffer
SOURCE t_rbuf.cpp
LIBRARY euser.lib
-SYSTEMINCLUDE /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
EPOCSTACKSIZE 0x3000
capability all
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/group/t_sharedio3.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -22,7 +22,7 @@
sourcepath ../mmu
source t_sharedio.cpp
library euser.lib
-systeminclude /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
epocfixedprocess
epocheapsize 0x1000 0x00010000
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp4/mmu/t_sharedio.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2003-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -128,6 +128,8 @@
#include <u32hal.h>
#include <e32svr.h>
#include <f32dbg.h>
+#include <e32def.h>
+#include <e32def_private.h>
#include "freeram.h"
LOCAL_D RTest test(_L("T_SHAREDIO"));
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp5/fuzzlib.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -28,6 +28,6 @@
#endif
#endif
userinclude .
-systeminclude /epoc32/include
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
capability all
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
SOURCEPATH .
SOURCE diagsuppress.cpp
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
SYSTEMINCLUDE ../../include
capability all
@@ -33,17 +34,16 @@
armrt
arminc
- #if defined(ARMCC_3_1)
- armlibs c_5.l cpprt_5.l h_5.l
-
- #elif defined(ARMCC_2_2)
+ #if defined(ARMCC_2_2)
#ifdef MARM_ARMV5
ARMLIBS c_t__un.l cpprt_t__u.l
#else
ARMLIBS c_a__un.l cpprt_a__u.l
#endif
+ #else
+ armlibs c_5.l cpprt_5.l h_5.l
+ #endif
- #endif
end
unpagedcode
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp6_7/diagsuppress_noarmlibs.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
SOURCEPATH .
SOURCE diagsuppress.cpp
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
SYSTEMINCLUDE ../../include
capability all
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/armfpu_soft+vfpv2.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2005-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+target test_soft+vfpv2
+TARGETTYPE exe
+SOURCEPATH .
+SOURCE armfpu.cpp
+
+UID 0x100039ce 0x00000001
+LIBRARY euser.lib
+SECUREID 0x10003a5c
+SYSTEMINCLUDE /epoc32/include
+
+ARMFPU softvfp+vfpv2
+
+capability all
+paged
--- a/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/mmp/mmp9_10/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -22,5 +22,5 @@
PRJ_MMPFILES
armfpu_soft.mmp
armfpu_vfpv2.mmp
+armfpu_soft+vfpv2.mmp
-
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/oe_exe_without_stdcpp.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -32,7 +32,8 @@
NOSTDCPP
LIBRARY euser.lib efsrv.lib
-SYSTEMINCLUDE /epoc32/include ..
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE ..
VENDORID 0x70000001
capability all -TCB
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oedll.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -31,7 +31,6 @@
USERINCLUDE ..
SYSTEMINCLUDE /epoc32/include
-LIBRARY euser.lib
nostrictdef
nocompresstarget
epocallowdlldata
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/t_oeexe.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -29,8 +29,9 @@
SOURCE t_oeexe.cpp
#endif
-LIBRARY euser.lib efsrv.lib t_oedll.lib
-SYSTEMINCLUDE /epoc32/include ..
+LIBRARY efsrv.lib t_oedll.lib
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE ..
VENDORID 0x70000001
capability all -TCB
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/group/wrong_newlib_oe_exe.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -35,7 +35,8 @@
// Standard Symbian Library Created by Simple_lib\simple.mmp
STATICLIBRARY symbian_test.lib
-SYSTEMINCLUDE /epoc32/include ..
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE ..
VENDORID 0x70000001
capability all -TCB
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oedll.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -21,6 +21,9 @@
#include "t_oedll.h"
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
// construct/destruct
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oeexe.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -84,30 +84,11 @@
-
-
-namespace std
-
-{
-
-
-
- bool uncaught_exception()
-
- {
-
- return false;
-
- }
-
-}
-
-
-
-
-
#include <t_oedll.h>
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
TInt E32Main()
--- a/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/oe/t_oelib.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -15,6 +15,9 @@
*
*/
+#ifndef __SYMBIAN_STDCPP_SUPPORT__
+#error __SYMBIAN_STDCPP_SUPPORT__ should be defined for all STD* TARGETTYPE builds
+#endif
#ifndef __SYMBIAN32__
#define EXPORT __declspec(export)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/query_cli/badenv.xml Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,13 @@
+<?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">
+
+ <!-- This variant is used to test classes using Evaluators which crash
+ due to missing environment variables -->
+
+ <var name="badenv">
+ <env name="DONTSETTHISEVER" type="toolchainpath"/>
+ </var>
+</build>
--- a/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -23,3 +23,4 @@
PRJ_MMPFILES
testresource.mmp
+onelang.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/bld2.inf Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+PRJ_MMPFILES
+notargetkeyword.mmp
+resourcenolang.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/notargetkeyword.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,8 @@
+TARGETTYPE none
+
+START BITMAP notargetkeyword.mbm
+HEADER
+TARGETPATH resource/apps
+SOURCEPATH ../aifsrccl
+SOURCE c8,1 DEF24.BMP DEF2M.BMP
+END
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/onelang.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+TARGET cntmodel
+TARGETTYPE NONE
+
+USERINCLUDE .
+SOURCEPATH ..
+
+START RESOURCE onelang.rss
+HEADERONLY
+LANG sc
+END
+
+SMPSAFE
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/resourcenolang.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+TARGETTYPE none
+SOURCEPATH ../
+USERINCLUDE ../inc
+SYSTEMINCLUDE /epoc32/include
+
+MACRO SHOULD_BE_DEFINED
+
+START RESOURCE testresource.rss
+// Test backslash to forward slash conversion here:
+TARGETPATH resource\testresource
+HEADER
+END
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/simple.inf Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_EXPORTS
+../inc/testresource.hrh /epoc32/include/testresource.hrh
+testresource_badef.rh /epoc32/include/testresource_badef.rh
+
+
+PRJ_MMPFILES
+simpleresource.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/simpleresource.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+TARGET testresource
+TARGETTYPE EXE
+LIBRARY euser.lib
+SECUREID 0x10003a5c
+SYSTEMINCLUDE /epoc32/include
+SOURCEPATH ../
+SOURCE test.cpp
+EPOCSTACKSIZE 8192
+EPOCHEAPSIZE 0x5000 65535
+EPOCPROCESSPRIORITY low
+capability TCB ProtServ DiskAdmin AllFiles PowerMgmt CommDD
+
+UID 0x1000008d 0x10005342
+VENDORID 0x70000001
+USERINCLUDE ../inc
+SYSTEMINCLUDE /epoc32/include
+
+MACRO SHOULD_BE_DEFINED
+
+
+START RESOURCE simpleresource.rss
+TARGET testresource
+// Test backslash to forward slash conversion here:
+TARGETPATH resource\testresource
+HEADER
+LANG sc 37 94 96
+END
+
+
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/group/testresource.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -42,9 +42,12 @@
END
START RESOURCE testresource.rss
-TARGETPATH resource/testresource2
+// The header produced here would clash with that of the previous block
+// if the target name were the same
+TARGET testheader
HEADERONLY
-LANG 01 sc
+// having multiple lang values doesn't make sense with a headeronly.
+LANG sc
END
START RESOURCE testresource.rss
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/onelang.rss Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,35 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* onelang.rss
+*
+*/
+
+
+
+//#include <e32capability.h>
+
+#include "../inc/testresource.rh"
+#include "../inc/testresource.hrh"
+#include "testresource.rls"
+
+
+// Initial configuration
+RESOURCE CONFIG r_log_initial_config
+ {
+ size = 1000; // Maximum number of events
+ recent = 20; // Maximum size of recent lists
+ age = 2592000; // 30 days
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/resource/simpleresource.rss Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,330 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* LOGWRAP.RSS
+*
+*/
+
+
+#include <testresource_badef.rh>
+#include <e32capability.h>
+
+#include "../inc/testresource.rh"
+#include "../inc/testresource.hrh"
+#include "testresource.rls"
+
+
+// MACRO statements in .mmp files should be reflected in resource preprocessing
+#ifndef SHOULD_BE_DEFINED
+#error "mmp MACRO SHOULD_BE_DEFINED is not defined!"
+#endif
+
+// Initial configuration
+RESOURCE CONFIG r_log_initial_config
+ {
+ size = 1000; // Maximum number of events
+ recent = 20; // Maximum size of recent lists
+ age = 2592000; // 30 days
+ }
+
+ RESOURCE ARRAY r_log_initial_events
+ {
+ items =
+ {
+ ETYPE { uid = KLogCallEventType; description = LOG_CALL_EVENT_TYPE; },
+ ETYPE { uid = KLogDataEventType; description = LOG_DATA_EVENT_TYPE; },
+ ETYPE { uid = KLogFaxEventType; description = LOG_FAX_EVENT_TYPE; },
+ ETYPE { uid = KLogShortMessageEventType; description = LOG_SHORT_MESSAGE_EVENT_TYPE; },
+ ETYPE { uid = KLogTaskSchedulerEventType; description = LOG_TASK_SCHEDULER_EVENT_TYPE; },
+ ETYPE { uid = KLogPacketDataEventType; description = LOG_PACKET_DATA_EVENT_TYPE; },
+
+
+ ETYPE { uid = KLogLbsSelfLocateEventType; description = LOG_LBS_SELF_LOCATE_EVENT_TYPE; },
+ ETYPE { uid = KLogLbsExternalLocateEventType; description = LOG_LBS_EXTERNAL_LOCATE_EVENT_TYPE; },
+ ETYPE { uid = KLogLbsTransmitLocationEventType; description = LOG_LBS_TRANSMIT_LOCATION_EVENT_TYPE; },
+ ETYPE { uid = KLogLbsNetworkLocateEventType; description = LOG_LBS_NETWORK_LOCATE_EVENT_TYPE; },
+ ETYPE { uid = KLogLbsAssistanceDataEventType; description = LOG_LBS_ASSISTANCE_DATA_EVENT_TYPE; }
+
+ };
+ }
+
+
+
+RESOURCE ARRAY r_log_security
+//
+// [See logwrap.rh for the definitions of SECURITY and CAPABILITY.]
+//
+// This structure defines settings for platform security in the Log engine.
+// All event types defined above in 'r_log_initial_events' need to be policed.
+// The server must always determine whether a client thread has the required
+// capability to read/write a log event(s) of a built-in type. Each operation
+// may have from one to seven capabilities defined for it. All operations on
+// built in types _MUST_ have an associated security policy defined here. If no
+// security is required, then use 'cap=ECapability_None'. The CAPABILITY values
+// defined here will provide constructor arguments for TSecurityPolicy objects.
+// The maximum number of CAPABILITY(s) for each read or write operation is 7.
+// ( a read_caps or a write_caps { contains <= 7 CAPABILITY{} statements } )
+// Note that SID-based security isn't supported in the Log Engine.
+//
+ {
+ items =
+ {
+ SECURITY
+ {
+ uid = KLogCallEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteUserData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogDataEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteUserData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogFaxEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteUserData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogShortMessageEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteUserData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogTaskSchedulerEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapability_None; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogPacketDataEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadUserData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteUserData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogLbsSelfLocateEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadDeviceData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteDeviceData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogLbsExternalLocateEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadDeviceData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteDeviceData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogLbsTransmitLocationEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadDeviceData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteDeviceData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogLbsNetworkLocateEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadDeviceData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteDeviceData; }
+ };
+ },
+ SECURITY
+ {
+ uid=KLogLbsAssistanceDataEventType;
+ read_caps=
+ {
+ CAPABILITY { cap=ECapabilityReadDeviceData; }
+ };
+ write_caps=
+ {
+ CAPABILITY { cap=ECapabilityWriteDeviceData; }
+ };
+ }
+ };
+ }
+
+
+// Index entries
+RESOURCE ARRAY r_log_indexes
+ {
+ items =
+ {
+ INDEX
+ {
+ name = "Index1"; // do not translate
+ table = "Event"; // do not translate
+ keys =
+ {
+ KEY { col = "Id"; } // do not translate
+ };
+ },
+ INDEX
+ {
+ name = "Index2"; // do not translate
+ table = "Event"; // do not translate
+ keys =
+ {
+ KEY { col = "ETime"; } // do not translate
+ };
+ },
+ INDEX
+ {
+ name = "Index3"; // do not translate
+ table = "String"; // do not translate
+ keys =
+ {
+ KEY { col = "Id"; } // do not translate
+ };
+ }
+ };
+ }
+
+// Recent list setup
+RESOURCE ARRAY r_log_recent
+ {
+ items =
+ {
+ RECENT
+ {
+ id = KLogRecentIncomingCalls;
+ duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+ conditions =
+ {
+ MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_IN; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_IN_ALT; }
+ };
+ },
+ RECENT
+ {
+ id = KLogRecentOutgoingCalls;
+ duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+ conditions =
+ {
+ MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_OUT; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_OUT_ALT; }
+ };
+ },
+ RECENT
+ {
+ id = KLogRecentMissedCalls;
+ duplicate = ELogRemotePartyField|ELogContactField|ELogNumberField;
+ conditions =
+ {
+ MATCH { field = ELogEventTypeField; value = KLogCallEventType; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED; },
+ MATCH { field = ELogDirectionField; string = LOG_DIR_MISSED_ALT; }
+ };
+ }
+ };
+ }
+
+
+// Direction
+RESOURCE LBUF r_log_dir_in { txt = LOG_DIR_IN; }
+RESOURCE LBUF r_log_dir_out { txt = LOG_DIR_OUT; }
+RESOURCE LBUF r_log_dir_in_alt { txt = LOG_DIR_IN_ALT; }
+RESOURCE LBUF r_log_dir_out_alt { txt = LOG_DIR_OUT_ALT; }
+RESOURCE LBUF r_log_dir_fetched { txt = LOG_DIR_FETCHED; }
+RESOURCE LBUF r_log_dir_missed { txt = LOG_DIR_MISSED; }
+RESOURCE LBUF r_log_dir_missed_alt { txt = LOG_DIR_MISSED_ALT; }
+
+
+// Delivery
+RESOURCE LBUF r_log_del_pending { txt = LOG_DEL_PENDING; }
+RESOURCE LBUF r_log_del_sent { txt = LOG_DEL_SENT; }
+RESOURCE LBUF r_log_del_failed { txt = LOG_DEL_FAILED; }
+RESOURCE LBUF r_log_del_none { txt = LOG_DEL_NONE; }
+RESOURCE LBUF r_log_del_done { txt = LOG_DEL_DONE; }
+RESOURCE LBUF r_log_del_not_sent { txt = LOG_DEL_NOT_SENT; }
+RESOURCE LBUF r_log_del_scheduled { txt = LOG_DEL_SCHEDULED; }
+
+// Other
+RESOURCE LBUF r_log_remote_unknown { txt = LOG_REMOTE_UNKNOWN; }
+RESOURCE LBUF r_log_remote_multiple { txt = LOG_REMOTE_MULTIPLE; }
+RESOURCE LBUF r_log_subject_none { txt = LOG_SUBJECT_NONE; }
+RESOURCE LBUF r_log_subject_data_message { txt = LOG_SUBJECT_DATA_MESSAGE; }
+
+// Connection
+RESOURCE LBUF r_log_con_connected { txt = LOG_CON_CONNECTED; }
+RESOURCE LBUF r_log_con_connecting { txt = LOG_CON_CONNECTING; }
+RESOURCE LBUF r_log_con_disconnecting { txt = LOG_CON_DISCONNECTING; }
+RESOURCE LBUF r_log_con_disconnected{ txt = LOG_CON_DISCONNECTED; }
+RESOURCE LBUF r_log_con_suspended{ txt = LOG_CON_SUSPENDED; }
+
+// Delivery
+RESOURCE LBUF r_log_del_notified { txt = LOG_DEL_NOTIFIED; }
+RESOURCE LBUF r_log_del_expired { txt = LOG_DEL_EXPIRED; }
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -16,7 +16,7 @@
*/
PRJ_PLATFORMS
-ARMV5 ARMV7 WINSCW ARMV5SMP
+ARMV5 ARMV7 WINSCW ARMV5SMP X86
PRJ_MMPFILES
simple.mmp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cia Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple/test.cia Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -16,15 +16,15 @@
*/
// Some random assembler or a "straight" dummy function
-#ifndef __WINSCW__
+#if defined (__WINSCW__) || defined (__X86__)
+int fred(int i)
+ {
+ return 1;
+ }
+#else
EXPORT_C __NAKED__ void dummy()
{
asm("stmia r0, {r4-r11, sp, lr} ");
asm("mov r0, #0");
}
-#else
-int fred(int i)
- {
- return 1;
- }
#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CREATESTATICDLLX86GCC.def Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,5 @@
+EXPORTS
+ _ZN10CMessenger11ShowMessageEv @ 1 NONAME
+ _ZN10CMessenger5NewLCER12CConsoleBaseRK7TDesC16 @ 2 NONAME
+ _ZTI10CMessenger @ 3 NONAME ABSENT ; #<TI>#
+ _ZTV10CMessenger @ 4 NONAME ABSENT ; #<VT>#
\ No newline at end of file
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -24,14 +24,14 @@
// construct/destruct
-
+#if !defined(__ARMCC_4__) and !defined(__X86__)
extern "C" void __ARM_switch8();
void sbs_test()
{
__ARM_switch8();
}
-
+#endif
EXPORT_C CMessenger* CMessenger::NewLC(CConsoleBase& aConsole, const TDesC& aString)
{
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticDLL.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -35,13 +35,15 @@
#endif
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
#if defined(WINS)
deffile ./CREATESTATICDLLWINS.def
-#elif defined(MARM)
+#elif defined(X86GCC)
+ deffile ./CREATESTATICDLLX86GCC.def
+#else
deffile ./CREATESTATICDLLARM.def
#endif
nostrictdef
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/CreateStaticPDLL.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -35,7 +35,7 @@
#endif
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_dll/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -18,7 +18,7 @@
PRJ_PLATFORMS
-ARMV5 ARMV6 ARMV7 WINSCW ARMV5SMP
+ARMV5 ARMV6 ARMV7 WINSCW ARMV5SMP X86
PRJ_MMPFILES
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_export/read_only.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,17 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorld.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
SOURCE HelloWorld_AppUi.cpp
SOURCE HelloWorld_AppView.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
OPTION GCCXML -fpermissive
START RESOURCE HelloWorld.rss
HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldVar2.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
SOURCE HelloWorld_AppUi.cpp
SOURCE HelloWorld_AppView.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
OPTION GCCXML -fpermissive
START RESOURCE HelloWorld.rss
HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_gui/HelloWorldstdcpp.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
SOURCE HelloWorld_AppUi.cpp
SOURCE HelloWorld_AppView.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
OPTION GCCXML -fpermissive
START RESOURCE HelloWorld.rss
HEADER
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_implib/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -17,7 +17,7 @@
PRJ_PLATFORMS
-WINSCW ARMV5 ARMV5SMP
+WINSCW ARMV5 ARMV5SMP X86
PRJ_MMPFILES
simple_implib.mmp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/bld.inf Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_lib/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -16,7 +16,7 @@
*/
PRJ_PLATFORMS
-ARMV5 ARMV7 WINSCW
+ARMV5 ARMV7 WINSCW X86
PRJ_MMPFILES
simple.mmp
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/default.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,7 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
-
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
PAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/paged_unpaged.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -27,6 +27,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
PAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_defaultdata.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
PAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/pagedcode_unpageddata.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
PAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpaged.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
UNPAGED
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_paging/unpagedcode_pageddata.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -26,6 +26,8 @@
SOURCE a.cpp
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
LIBRARY euser.lib
UNPAGEDCODE
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -25,9 +25,8 @@
VENDORID 0x70000001
SOURCEPATH .
SOURCE plugin.cpp
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/techview
LIBRARY euser.lib apmime.lib efsrv.lib
START RESOURCE plugin.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin3.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -24,9 +24,8 @@
VENDORID 0x70000001
SOURCEPATH .
SOURCE plugin.cpp
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/ecom
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/ecom
LIBRARY euser.lib apmime.lib efsrv.lib
START RESOURCE plugin3.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/simple_plugin/plugin_with_deffile.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -25,7 +25,7 @@
VENDORID 0x70000001
SOURCEPATH .
SOURCE plugin.cpp
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/ecom
+APP_LAYER_SYSTEMINCLUDE
+SYSTEMINCLUDE /epoc32/include/ecom
LIBRARY euser.lib apmime.lib efsrv.lib
DEFFILE ~/plugin2.def
Binary file sbsv2/raptor/test/smoke_suite/test_resources/simple_zip_export/archive.zip has changed
--- a/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/dependent/HelloWorld.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -27,8 +27,7 @@
SOURCE HelloWorld_AppUi.cpp
SOURCE HelloWorld_AppView.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
START RESOURCE HelloWorld_reg.rss
--- a/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/sysdef/metadata_export/exported.mmh Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -19,8 +19,7 @@
TARGETTYPE none
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
-SYSTEMINCLUDE /epoc32/include/techview
+APP_LAYER_SYSTEMINCLUDE
START RESOURCE HelloWorld.rss
HEADER
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tools2/bootstrap.inf Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,22 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+PRJ_PLATFORMS
+TOOLS2
+
+PRJ_EXPORTS
+header_abc.h bootstrap_header_abc.h
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child1.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -11,5 +11,5 @@
SOURCE child1.cpp
SOURCE common.cpp
-USERINCLUDE ../traces/traces_child1_exe
+USERINCLUDE ../traces/child1_exe
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child2.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -11,5 +11,5 @@
SOURCE child2.cpp
SOURCE common.cpp
-USERINCLUDE ../traces/traces_child2_exe
+USERINCLUDE ../traces/child2_exe
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/group/child3.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -10,5 +10,5 @@
SOURCE child3.cpp
SOURCE common.cpp
-USERINCLUDE ../traces/traces_child3_exe
+USERINCLUDE ../traces/child3_exe
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/OstTraceDefinitions.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/OstTraceDefinitions.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/OstTraceDefinitions.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child1_exe/OstTraceDefinitions.h Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child2_exe/OstTraceDefinitions.h Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces_child3_exe/OstTraceDefinitions.h Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-#ifndef __OSTTRACEDEFINITIONS_H__
-#define __OSTTRACEDEFINITIONS_H__
-// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
-// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
-#define OST_TRACE_COMPILER_IN_USE
-#include <opensystemtrace.h>
-#endif
--- a/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/testTC/inc/wlanhwinitpermparser.h Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -41,6 +41,15 @@
#define UPDATE_MAC_ADDR 0x0080
#define UPDATE_ALL 0xFFFF
+// Custom trace extraction content required for this component
+typedef TUint8 TGroupId;
+#define GROUPIDMASK 0x00ff0000
+#define GROUPIDSHIFT 16
+#define TRACEIDMASK 0x0000ffff
+#define TRACEIDSHIFT 0
+#define EXTRACT_GROUP_ID(aTraceName) static_cast<TGroupId>((aTraceName & GROUPIDMASK) >> GROUPIDSHIFT)
+
+
/**
* The class for parsing the tuning data stored in PERM server.
*
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+PRJ_PLATFORMS
+ARMV5 WINSCW
+
+PRJ_MMPFILES
+traceon.mmp
+../traces_keyword.mmp
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/group/traceon.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,16 @@
+
+TARGET traceon.exe
+TARGETTYPE EXE
+
+UID 0x10003901 0x11100010
+LIBRARY euser.lib
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/platform
+
+SOURCEPATH ../src
+SOURCE traceon.cpp
+
+TRACES
+// the above equals below:
+// USERINCLUDE ../traces/traceon_exe
+//
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/src/traceon.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "traceonTraces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "test traces keyword";
+
+TInt E32Main()
+{
+ OstTrace0( TRACE_NORMAL, PLACE0, "Test TRACES mmpkeyword" );
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/src/traces_keyword.cpp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,15 @@
+// Trace compile macro and header
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "traces_keywordTraces.h"
+#endif
+
+#include "e32def.h"
+
+char test[] = "test traces keyword with a parameter";
+
+TInt E32Main()
+{
+ OstTrace0( TRACE_NORMAL, PLACE0, "Test TRACES mmpkeyword" );
+ return 0;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traceon_exe/OstTraceDefinitions.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traces_keyword_exe/OstTraceDefinitions.h Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,7 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+// OST_TRACE_COMPILER_IN_USE flag has been added by Trace Compiler
+// REMOVE BEFORE CHECK-IN TO VERSION CONTROL
+#define OST_TRACE_COMPILER_IN_USE
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/tracecompiler/traceon/traces_keyword.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,16 @@
+
+TARGET traces_keyword.exe
+TARGETTYPE EXE
+
+UID 0x10003902 0x11100011
+LIBRARY euser.lib
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/platform
+
+SOURCEPATH ./src
+SOURCE traces_keyword.cpp
+
+TRACES ./
+// the above equals below:
+// USERINCLUDE ./traces/traces_keyword_exe
+//
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/exeusingunfrozen.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -20,7 +20,7 @@
UID 0x100039ce 0x00000001
LIBRARY euser.lib unfrozensymbols.lib
SECUREID 0x10003a5c
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
SOURCE test.cpp
MACRO TEST_MACRO_THAT_DOES_NOTHING
EPOCSTACKSIZE 8192
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/frozen_with_removed_export.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -23,7 +23,7 @@
CAPABILITY All -TCB
VENDORID 0x70000001
SOURCE missing_symbols.cpp
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
DEFFILE frozen/~/frozen.def
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -30,7 +30,7 @@
SOURCE unfrozensymbols.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_for_freeze.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -23,7 +23,7 @@
CAPABILITY All -TCB
VENDORID 0x70000001
SOURCE unfrozensymbols.cpp
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
DEFFILE frozen/~/frozen.def
--- a/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/unfrozen/unfrozensymbols_with_deffile.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -32,7 +32,7 @@
SOURCE unfrozensymbols.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
--- a/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -28,7 +28,7 @@
SOURCE testver.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
MACRO VERSION30
--- a/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/test_resources/versioned_lib/testver_20.mmp Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
/*
-* Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+* Copyright (c) 2000-2010 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
@@ -28,7 +28,7 @@
SOURCE testver.cpp
USERINCLUDE .
-SYSTEMINCLUDE /epoc32/include
+APP_LAYER_SYSTEMINCLUDE_SYMBIAN
LIBRARY euser.lib
MACRO VERSION20
--- a/sbsv2/raptor/test/smoke_suite/tools2.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/tools2.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -18,11 +18,11 @@
def run():
t = SmokeTest()
- t.id = "51"
- t.name = "tools2"
+
+ t.id = "51a"
+ t.name = "tools2_exe_lib"
t.command = "sbs -b smoke_suite/test_resources/tools2/bld.inf -c tools2"
-
t.targets = [
"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib1.a",
"$(EPOCROOT)/epoc32/release/tools2/deb/libtool_lib2.a",
@@ -74,5 +74,19 @@
"tool_exe_exe/tool_exe_exe/tools2/deb/$(HOSTPLATFORM_DIR)/tool_exe_a.o"
])
t.run("linux") # tools2 output is platform dependent
-
+
+ t.id = "51b"
+ t.name = "tools2_nohrh"
+ t.usebash = True
+ t.command = "sbs -b smoke_suite/test_resources/tools2/bootstrap.inf -c tools2.nohrh -f -"
+ t.targets = ["$(EPOCROOT)/epoc32/include/bootstrap_header_abc.h"]
+ t.mustmatch_singleline = ["empty\.hrh"]
+ t.mustnotmatch_singleline = ["Symbian_OS.hrh",
+ "symbian_os.hrh",
+ "feature_settings.hrh"]
+ t.run()
+
+ t.id = "51"
+ t.name = "tools2"
+ t.print_result()
return t
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_new.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,50 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.description = "test mmpkeyword: traces"
+ t.id = "108a"
+ t.name = "traces_mmpkeyword"
+ t.command = "sbs -b smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf -c armv5.tracecompiler"
+ t.targets = [
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/traceon.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/traceon.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/udeb/traces_keyword.exe",
+ "$(EPOCROOT)/epoc32/release/armv5/urel/traces_keyword.exe",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traceon_exe/traceonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/traceon/traces/traces_keyword_exe/traces_keywordTraces.h",
+ "$(EPOCROOT)/epoc32/ost_dictionaries/traceon_exe_0x11100010_Dictionary.xml",
+ "$(EPOCROOT)/epoc32/ost_dictionaries/traces_keyword_exe_0x11100011_Dictionary.xml",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traceon_exe_0x11100010_TraceDefinitions.h",
+ "$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/traces_keyword_exe_0x11100011_TraceDefinitions.h"
+ ]
+ t.addbuildtargets('smoke_suite/test_resources/tracecompiler/traceon/group/bld.inf', [
+ "traceon_exe/armv5/udeb/traceon.o",
+ "traceon_exe/armv5/urel/traceon.o",
+ "traceon_exe/tracecompile_traceon_exe_11100010.done",
+ "traces_keyword_exe/armv5/udeb/traces_keyword.o",
+ "traces_keyword_exe/armv5/urel/traces_keyword.o",
+ "traces_keyword_exe/tracecompile_traces_keyword_exe_11100011.done",
+ ])
+ t.run()
+
+ t.id = "108"
+ t.name = "tracecompiler_new"
+ return t
+
--- a/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/tracecompiler_variants.py Wed Oct 06 15:13:17 2010 +0100
@@ -195,12 +195,12 @@
"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/child1Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child1_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/child1Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child1_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/child1_exe_0x11100001_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
@@ -247,10 +247,10 @@
"$(EPOCROOT)/epoc32/release/armv5/urel/child2.exe",
"$(EPOCROOT)/epoc32/release/armv5/udeb/child3.exe",
"$(EPOCROOT)/epoc32/release/armv5/urel/child3.exe",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/child2Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child2_exe/commonTraces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/child3Traces.h",
- "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/traces_child3_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/child2Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child2_exe/commonTraces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/child3Traces.h",
+ "$(SBS_HOME)/test/smoke_suite/test_resources/tracecompiler/mum_children_mmps/traces/child3_exe/commonTraces.h",
"$(EPOCROOT)/epoc32/ost_dictionaries/child2_exe_0x11100002_Dictionary.xml",
"$(EPOCROOT)/epoc32/ost_dictionaries/child3_exe_0x11100002_Dictionary.xml",
"$(EPOCROOT)/epoc32/include/platform/symbiantraces/autogen/child2_exe_0x11100002_TraceDefinitions.h",
--- a/sbsv2/raptor/test/smoke_suite/whatlog_cache.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/whatlog_cache.py Wed Oct 06 15:13:17 2010 +0100
@@ -61,8 +61,8 @@
]
t.addbuildtargets('smoke_suite/test_resources/simple_gui/Bld.inf', [
"helloworld_exe/helloworld.mbm_bmconvcommands",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp",
- "helloworld_exe/helloworld_HelloWorld_sc.rpp.d",
+ "helloworld_exe/helloworld_HelloWorld.rsc.rpp",
+ "helloworld_exe/helloworld_HelloWorld.rsc.d",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o",
"helloworld_exe/armv5/udeb/HelloWorld_Application.o.d",
"helloworld_exe/armv5/udeb/HelloWorld_AppUi.o",
@@ -123,7 +123,7 @@
"helloworld_exe/winscw/urel/helloworld_UID_.dep",
"helloworld_exe/winscw/urel/helloworld_UID_.o",
"helloworld_exe/winscw/urel/helloworld_UID_.o.d",
- "helloworld_reg_exe/helloworld_reg_HelloWorld_reg_sc.rpp.d"
+ "helloworld_reg_exe/helloworld_reg_HelloWorld_reg.rsc.d"
])
t.countmatch = [
["\$self->{abldcache}->{.*\\\\test\\\\smoke_suite\\\\test_resources\\\\simple_gui target (armv5|winscw) (udeb|urel) -what\'} =", 4],
--- a/sbsv2/raptor/test/smoke_suite/winscw_resource.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/winscw_resource.py Wed Oct 06 15:13:17 2010 +0100
@@ -23,6 +23,7 @@
t.command = "sbs -b smoke_suite/test_resources/resource/group/bld.inf -c " \
+ "winscw RESOURCE"
t.targets = [
+ "$(EPOCROOT)/epoc32/include/onelang.rsg",
"$(EPOCROOT)/epoc32/include/testresource.rsg",
"$(EPOCROOT)/epoc32/include/testresource.hrh",
"$(EPOCROOT)/epoc32/data/z/resource/testresource/testresource.r01",
--- a/sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_plus_clean.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -14,16 +14,18 @@
# Description:
#
-from raptor_tests import SmokeTest, AntiTargetSmokeTest, ReplaceEnvs
+from raptor_tests import AntiTargetSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
import re
def run():
- markerfile = re.sub("(\\\\|\/|:|;| )", "_",
- ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+ premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+ markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
- t = SmokeTest()
-
- t.id = "0024a"
+ t = AntiTargetSmokeTest()
+
+ # Check basic export success
t.name = "zip_export"
t.command = "sbs -b smoke_suite/test_resources/simple_zip_export/bld.inf"
t.targets = [
@@ -32,33 +34,35 @@
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt",
"$(EPOCROOT)/epoc32/build/" + markerfile
]
t.run()
-
- t.id = "0024aa"
+
+ # Confirm executable permissions are retained on Linux
t.name = "zip_export_execute_permissions"
t.usebash = True
- t.targets = []
+ t.targets = [] # prevent auto clean-up up of target files from previous test
t.command = "ls -l $(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin"
t.mustmatch = ["-[rw-]{2}x[rw-]{2}x[rw-]{2}x"]
t.run("linux")
-
- t = AntiTargetSmokeTest()
- t.id = "0024b"
+
+ # Confirm reallyclean deletes all exports, including those that were read-only
+ # as source (and so should now be removable at their destination)
t.name = "zip_export_reallyclean"
- t.command = "sbs -b smoke_suite/test_resources/simple_zip_export/bld.inf REALLYCLEAN"
+ t.command = "sbs -b smoke_suite/test_resources/simple_zip_export/bld.inf reallyclean"
+ t.mustmatch = []
t.antitargets = [
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt",
"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt",
"$(EPOCROOT)/epoc32/build/" + markerfile
]
t.run()
- t.id = "24"
t.name = "zip_export_plus_clean"
t.print_result()
return t
--- a/sbsv2/raptor/test/smoke_suite/zip_export_what.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/smoke_suite/zip_export_what.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -15,23 +15,25 @@
#
from raptor_tests import CheckWhatSmokeTest, ReplaceEnvs
+from raptor_meta import MetaReader
+from raptor_utilities import sanitise
import re
def run():
- markerfile = re.sub("(\\\\|\/|:|;| )", "_",
- ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip.unzipped"))
+ premarkerfile = sanitise(ReplaceEnvs("$(SBS_HOME)_test_smoke_suite_test_resources_simple_zip_export_archive.zip$(EPOCROOT)_epoc32_testunzip"))
+ markerfile = MetaReader.unzippedPathFragment(premarkerfile) + ".unzipped"
t = CheckWhatSmokeTest()
t.id = "25"
t.name = "zip_export_what"
- t.command = "sbs --what " + \
- "-b smoke_suite/test_resources/simple_zip_export/bld.inf"
+ t.command = "sbs --what -b smoke_suite/test_resources/simple_zip_export/bld.inf"
t.stdout = [
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile1.txt',
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile2.txt',
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt',
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt',
- "$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin"
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt"
]
t.targets = [
@@ -40,6 +42,7 @@
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile3.txt',
'$(EPOCROOT)/epoc32/testunzip/archive/archivefile4.txt',
"$(EPOCROOT)/epoc32/testunzip/archive/archivefilelinuxbin",
+ "$(EPOCROOT)/epoc32/testunzip/archive/archivefilereadonly.txt",
"$(EPOCROOT)/epoc32/build/" + markerfile
]
t.run()
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/html_filter/config/logfile_regex.csv Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,65 @@
+priority,regex,description
+CRITICAL,.*Error:.*mingw_make\.exe.*,
+ERROR,.*\: cannot create regular file.*,
+ERROR,.*\): Missing file:.*,
+ERROR,(?:(?:\s*\d+\)\s*)|(?:\s*\*\*\*\s*))ERROR:.*,
+ERROR,.*is not recognized as an internal or external command.*,
+ERROR,MISSING:.*,
+ERROR,.*FLEXlm error:.*,
+ERROR,.*(ABLD|BLDMAKE)\s*ERROR:.*,
+ERROR,.*FATAL ERROR\(S\):.*,
+ERROR,.*fatal error C1001: INTERNAL COMPILER ERROR.*,
+ERROR,.*fatal error U1077.*,
+ERROR,^fatal error.*,
+ERROR,.*warning U4010.*,
+ERROR,make(?:\.exe)?\s*(?:\[\d+\])\s*?\:\s*\*\*\*.*,
+ERROR,make(?:\.exe)(?:\[\d+\])?\:.*\s+not\s+remade.*,
+ERROR,make(?:\.exe)\s*:\s*\*\*\*.*\s*[Nn]o rule.*,
+ERROR,"\""(?:.*)\"" , line (\d+): (Error: +(.\d+.*?):.*)",
+ERROR,error: ((Internal fault):.*)$,
+ERROR,.*Exception: STATUS_ACCESS_VIOLATION.*,
+ERROR,.*target .* given more than once in the same rule.*,
+ERROR,ERROR:.*,
+ERROR,Error:.*,
+ERROR,ERROR\t.*,
+ERROR,^.*\s*elf2e32\s*:\s*Error\s*:\s*,
+ERROR,.*[Nn]o such file or directory\s*.*,
+ERROR,Exception: [A-Z0-9_]+.*,
+ERROR,.*target .* given more than once in the same rule.*,
+ERROR,ERROR EC\d+:.*,
+ERROR,Errors caused tool to abort..*,
+ERROR,ERROR\t.*,
+ERROR,.*Traceback \(most recent call last\).*,
+ERROR,Application encountered an unexpected error\.\s*Stopping\.\s*,
+ERROR,Unable to write dump file .+,
+ERROR,Unable to connect to CM: .*,
+ERROR,.*: Incorrect slash in .*,
+ERROR,.*: Incorrect case for epoc32 tree in .*,
+ERROR,.*: Incorrect case versus exclusion list in .*,
+ERROR,The system cannot find the path specified.*,
+CRITICAL,.*[Ww]arning:?\s+(#111-D|#1166-D|#117-D|#128-D|#1293-D|#1441-D|#170-D|#174-D|#175-D|#185-D|#186-D|#223-D|#231-D|#257-D|#284-D|#368-D|#414-D|#430-D|#47-D|#514-D|#546-D|#68-D|#69-D|#830-D|#940-D|#836-D|A1495E|L6318W|C2874W|C4127|C4355|C4530|C4702|C4786|LNK4049).*,
+WARNING,(\d+\))?\s.*WARNING:.*,
+WARNING,(BLDMAKE |MAKEDEF )?WARNING:.*,
+WARNING,.*\(\d+\) : warning C.*,
+WARNING,.*\d+: warning:.*,
+WARNING,.*Usage Warning:.*,
+WARNING,.*mwld.exe:.*,
+WARNING,Command line warning.*,
+WARNING,.*ERROR: bad relocation:.*,
+WARNING,(\d+) warning.*,
+WARNING,.*EventType:\s+Error\s+Source:\s+SweepNT.*,
+WARNING,WARN\t.*,
+WARNING,.*LINK : warning.*,
+WARNING,.*\s*elf2e32\s*:\s*Warning\s*:\s*,
+WARNING,Warning:.*,
+REMARK,"\"".*\""\, line \d+: Warning: +(.\d+.*?):.*",
+REMARK,.*Command line warning D4025 : .*,
+REMARK,REMARK: .*,
+REMARK,EventType:\s+Error\s+Source:\s+GNU\s+Make.*,
+REMARK,".*:\d+: warning: cannot find matching deallocation function.*",
+REMARK,(:\d+)*: note: .*,
+INFO,INFO:.*,
+WARNING,"line \d+: Warning:'\, r':\s+warning\s+\w+:.*",
+WARNING,"\""(.*)\""\, line (\d+): (Warning: +(?!A1495E)(.\d+.*?):.*)",
+WARNING,Warning\s*:\s*.*,
+ERROR,.*Error\s*:\s*.*,
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/data/html_filter/style/filter_html.css Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,35 @@
+body
+{
+ font-family: monospace;
+}
+
+pre { background: #cccccc; }
+
+table
+{
+ width: 100%;
+ border: 1px solid black;
+}
+
+th.numbers
+{
+ width: 10%;
+}
+
+td
+{
+ text-align: center;
+}
+
+td.name
+{
+ text-align: left;
+}
+td.time { background: #80ff80; }
+td.ok { background: #80ff80; }
+td.error { background: #ff8080; }
+td.critical { background: #ffc080; }
+td.warning { background: #ffff80; }
+td.remark { background: #8080ff; }
+td.missing { background: #c0c0c0; }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/test/unit_suite/filter_html_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,88 @@
+
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+'''
+Test the HTML class in plugins/filter_html.py
+'''
+
+import os
+import shutil
+import sys
+import unittest
+
+test_data = os.path.join(os.getcwd(),"unit_suite","data","html_filter")
+
+# add the plugins directory to the python path
+sys.path.append(os.path.join(os.environ['SBS_HOME'], "python", "plugins"))
+# so that we can import the filter module directly
+import filter_html
+import generic_path
+
+class Mock(object):
+ '''empty object for attaching arbitrary attributes and functions.'''
+ pass
+
+class TestFilterHtml(unittest.TestCase):
+ '''test cases for the HTML log filter.
+
+ This is a minimal set of tests for starters. As people start using this
+ filter and reporting bugs and niggles we can add test cases here to
+ avoid regressions.'''
+
+ def setUp(self):
+ self.mock_params = Mock()
+ self.mock_params.configPath = [generic_path.Path("config")]
+ self.mock_params.home = generic_path.Path(test_data)
+ self.mock_params.logFileName = generic_path.Path("tmp/foo")
+ self.mock_params.timestring = "now"
+
+ # where do we expect the output to be written
+ self.html_dir = str(self.mock_params.logFileName) + "_html"
+
+ def tearDown(self):
+ '''remove all the generated output files and directories.'''
+ if os.path.isdir(self.html_dir):
+ shutil.rmtree(self.html_dir)
+
+ def testPass(self):
+ '''are the setUp and tearDown methods sane.'''
+ pass
+
+ def testConstructor(self):
+ '''simply construct an HTML object.'''
+ html = filter_html.HTML()
+
+ def testMinimalLog(self):
+ '''process a minimal log file.'''
+ html = filter_html.HTML()
+ self.assertTrue( html.open(self.mock_params) )
+ self.assertTrue( html.write('<?xml version="1.0" encoding="ISO-8859-1" ?>\n') )
+ self.assertTrue( html.write('<buildlog sbs_version="2.99.9 [hi]">') )
+ self.assertTrue( html.write('</buildlog>') )
+ self.assertTrue( html.close() )
+
+ self.assertTrue( os.path.isfile(self.html_dir + "/index.html") )
+ self.assertTrue( os.path.isfile(self.html_dir + "/style.css") )
+
+# run all the tests
+
+from raptor_tests import SmokeTest
+
+def run():
+ t = SmokeTest()
+ t.name = "filter_html_unit"
+
+ tests = unittest.makeSuite(TestFilterHtml)
+ result = unittest.TextTestRunner(verbosity=2).run(tests)
+
+ if result.wasSuccessful():
+ t.result = SmokeTest.PASS
+ else:
+ t.result = SmokeTest.FAIL
+
+ return t
--- a/sbsv2/raptor/test/unit_suite/mmpparser_unit.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/unit_suite/mmpparser_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -83,7 +83,13 @@
for i in toks[1]:
self.log(self.sourcepath + "\\" + i)
return "OK"
-
+
+ def doDocumentAssignment(self,s,loc,toks):
+ self.log("Setting "+toks[0]+" to " + str(toks[1]))
+ for i in toks[1]:
+ self.log(self.sourcepath + "\\" + i)
+ return "OK"
+
def doStartBitmap(self,s,loc,toks):
self.log("BITMAP Create "+toks[0]+" to " + str(toks[1]))
return "OK"
--- a/sbsv2/raptor/test/unit_suite/raptor_api_unit.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/unit_suite/raptor_api_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -18,6 +18,7 @@
import raptor
import raptor_api
import unittest
+import raptor_tests
class TestRaptorApi(unittest.TestCase):
@@ -30,7 +31,7 @@
def testAliases(self):
r = raptor.Raptor()
- r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+ r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") )
api = raptor_api.Context(r)
@@ -39,6 +40,9 @@
self.failUnlessEqual(set(["alias_A","alias_B","s1","s2"]),
set(a.name for a in aliases))
+ aliaslist = [a.name for a in aliases] # verify that the list is sorted
+ self.failUnlessEqual(["alias_A","alias_B","s1","s2"], aliaslist)
+
aliases = api.getaliases(raptor_api.ALL) # ignore type
self.failUnlessEqual(len(aliases), 6)
@@ -49,7 +53,7 @@
def testConfig(self):
r = raptor.Raptor()
- r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+ r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") )
api = raptor_api.Context(r)
@@ -59,24 +63,59 @@
path = "C:/home/raptor/foo/bar"
config = api.getconfig("buildme")
- self.failUnlessEqual(config.fullname, "buildme")
+ self.failUnlessEqual(config.meaning, "buildme")
self.failUnlessEqual(config.outputpath, path)
+ # metadata
+
+ metadatamacros = map(lambda x: str(x.name+"="+x.value) if x.value else str(x.name), config.metadata.platmacros)
+ metadatamacros.sort()
+ results = ['SBSV2=_____SBSV2', '__GNUC__=3']
+ results.sort()
+ self.failUnlessEqual(metadatamacros, results)
+
+ includepaths = map(lambda x: str(x.path), config.metadata.includepaths)
+ includepaths.sort()
+ expected_includepaths = [raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/variant"),
+ raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include"), "."]
+ expected_includepaths.sort()
+ self.failUnlessEqual(includepaths, expected_includepaths)
+
+ preincludefile = str(config.metadata.preincludeheader.file)
+ self.failUnlessEqual(preincludefile, raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/variant/Symbian_OS.hrh"))
+
+ # build
+
+ sourcemacros = map(lambda x: str(x.name+"="+x.value) if x.value else str(x.name), config.build.sourcemacros)
+ results = ['__BBB__', '__AAA__', '__DDD__=first_value', '__CCC__', '__DDD__=second_value']
+ self.failUnlessEqual(sourcemacros, results)
+
+ compilerpreincludefile = str(config.build.compilerpreincludeheader.file)
+ self.failUnlessEqual(compilerpreincludefile, raptor_tests.ReplaceEnvs("$(EPOCROOT)/epoc32/include/preinclude.h"))
+
+ expectedtypes = ["one", "two"]
+ expectedtypes.sort()
+ types = map(lambda t:t.name, config.build.targettypes)
+ types.sort()
+ self.failUnlessEqual(types, expectedtypes)
+
+ # general
+
config = api.getconfig("buildme.foo")
- self.failUnlessEqual(config.fullname, "buildme.foo")
+ self.failUnlessEqual(config.meaning, "buildme.foo")
self.failUnlessEqual(config.outputpath, path)
config = api.getconfig("s1")
- self.failUnlessEqual(config.fullname, "buildme.foo")
+ self.failUnlessEqual(config.meaning, "buildme.foo")
self.failUnlessEqual(config.outputpath, path)
config = api.getconfig("s2.product_A")
- self.failUnlessEqual(config.fullname, "buildme.foo.bar.product_A")
+ self.failUnlessEqual(config.meaning, "buildme.foo.bar.product_A")
self.failUnlessEqual(config.outputpath, path)
def testProducts(self):
r = raptor.Raptor()
- r.cache.Load( generic_path.Join(r.home, "test", "config", "api.xml") )
+ r.cache.Load( generic_path.Join(r.home, "test", "configapi", "api.xml") )
api = raptor_api.Context(r)
@@ -84,6 +123,8 @@
self.failUnlessEqual(len(products), 2)
self.failUnlessEqual(set(["product_A","product_C"]),
set(p.name for p in products))
+ productlist = [p.name for p in products] # verify that the list is sorted
+ self.failUnlessEqual(["product_A","product_C"], productlist)
# run all the tests
--- a/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/unit_suite/raptor_meta_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -40,6 +40,7 @@
self.__platmacros_armv6 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV6"
self.__platmacros_armv7 = "ARMCC EPOC32 MARM EABI ARMCC_2 ARMCC_2_2 GENERIC_MARM MARM_ARMV5 ARMV7"
self.__platmacros_winscw = "CW32 WINS WINSCW"
+ self.__platmacros_x86gcc = "X86GCC EPOC32"
self.variant_hrh = self.__testRoot.Append('metadata/include/test_hrh.hrh')
@@ -136,8 +137,21 @@
'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
'METADEPS' : []
}
+
+ self.X86GCC = { 'PLATFORM': 'X86',
+ 'EPOCROOT': self.__epocroot,
+ 'VARIANT_HRH': self.variant_hrh,
+ 'SYSTEMINCLUDE' : '',
+ 'id': 2,
+ 'key': '2222222222222222',
+ 'key_md5': '2222222222222222',
+ 'ISFEATUREVARIANT' : False,
+ 'PLATMACROS' : self.__platmacros_x86gcc,
+ 'SBS_BUILD_DIR' : str(self.__epocroot) + "/epoc32/build",
+ 'METADEPS' : []
+ }
- self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW]
+ self.testPlats = [self.ARMV5, self.ARMV5SMP, self.ARMV6, self.ARMV7, self.ARMV7SMP, self.WINSCW, self.X86GCC]
# Get the version of CPP that we are using and hope it's correct
# since there is no tool check.
@@ -207,9 +221,9 @@
self.assertEquals(bp, aExpectedBldInfPlatforms)
buildableBldInfBuildPlatforms = raptor_meta.getBuildableBldInfBuildPlatforms(bp,
- 'ARMV5 ARMV7 WINSCW',
- 'ARMV5 ARMV5SMP ARMV7 WINSCW',
- 'ARMV5 ARMV7 WINSCW')
+ 'ARMV5 ARMV7 WINSCW X86',
+ 'ARMV5 ARMV5SMP ARMV7 WINSCW X86',
+ 'ARMV5 ARMV7 WINSCW X86')
for expectedBuildablePlatform in aExpectedBuildablePlatforms:
self.assertTrue(expectedBuildablePlatform in buildableBldInfBuildPlatforms)
@@ -222,17 +236,17 @@
bldInfTestRoot = self.__testRoot.Append('metadata/project/bld.infs')
self.__testBuildPlatforms(bldInfTestRoot, 'no_prj_platforms.inf',
- [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+ [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86'])
self.__testBuildPlatforms(bldInfTestRoot, 'no_plats.inf',
- [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+ [], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86'])
self.__testBuildPlatforms(bldInfTestRoot, 'default_plats.inf',
- ['DEFAULT'], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML'])
+ ['DEFAULT'], ['ARMV7', 'ARMV5', 'WINSCW', 'GCCXML', 'X86'])
self.__testBuildPlatforms(bldInfTestRoot, 'default_plats_minus_plat.inf',
- ['DEFAULT', '-WINSCW'], ['ARMV7', 'ARMV5', 'GCCXML'])
+ ['DEFAULT', '-WINSCW'], ['ARMV7', 'ARMV5', 'GCCXML', 'X86'])
self.__testBuildPlatforms(bldInfTestRoot, 'single_plat.inf',
['ARMV5'], ['ARMV5', 'GCCXML'])
self.__testBuildPlatforms(bldInfTestRoot, 'multiple_plats.inf',
- ['ARMV5', 'WINSCW', 'TOOLS'], ['ARMV5', 'WINSCW', 'TOOLS', 'GCCXML'])
+ ['ARMV5', 'WINSCW', 'TOOLS', 'X86'], ['ARMV5', 'WINSCW', 'TOOLS', 'GCCXML', 'X86'])
return
def __testBldInfTestCode(self, aTestRoot, aBldInf, aActual, aExpected):
@@ -686,8 +700,9 @@
class DefFileTest(object):
""" Test resolveDefFile for a particular set of mmp options """
- def __init__(self, resolveddeffile, mmpfilename, deffilekeyword, target, nostrictdef, platform):
- self.resolveddeffile = resolveddeffile
+ def __init__(self, primarydeffile, secondarydeffile, mmpfilename, deffilekeyword, target, nostrictdef, platform):
+ self.primarydeffile = primarydeffile
+ self.secondarydeffile = secondarydeffile
self.mmpfilename=mmpfilename
self.deffilekeyword=deffilekeyword
self.target=target
@@ -698,43 +713,58 @@
m = raptor_meta.MMPRaptorBackend(raptor, self.mmpfilename, "")
m.deffile = self.deffilekeyword
m.nostrictdef = self.nostrictdef
- f = m.resolveDefFile(self.target, self.platform)
+ (resolvedDefFile, isSecondaryDefFile) = m.resolveDefFile(self.target, self.platform)
- return path_compare_notdrivelettercase(self.resolveddeffile,f)
+ expectedDefFile = self.primarydeffile
+ if isSecondaryDefFile:
+ expectedDefFile = self.secondarydeffile
+
+ return path_compare_notdrivelettercase(expectedDefFile, resolvedDefFile)
defFileTests = []
for testPlat in self.testPlats:
epocroot = str(testPlat['EPOCROOT'])
releaseDir = testPlat['PLATFORM'].lower()
- defFileDir = "eabi"
+
+ # Some configurations support both a primary location and a secondary location for .def files
+ # In these cases, if the primary location .def file doesn't exist the secondary is used.
+ primaryDefFileDir = "eabi"
+ secondaryDefFileDir = ""
if testPlat['PLATFORM'] == "WINSCW":
- defFileDir = "bwins"
-
+ primaryDefFileDir = "bwins"
+ elif testPlat['PLATFORM'] == "X86":
+ primaryDefFileDir = "bx86gcc"
+ secondaryDefFileDir = "eabi"
+
defFileTests.extend([
DefFileTest(
- self.__OSRoot+'/test/'+defFileDir+'/targetu.def',
+ self.__OSRoot+'/test/'+primaryDefFileDir+'/targetu.def',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/targetu.def',
'/test/component/mmpfile.mmp',
'',
'target.exe',
False,
testPlat),
DefFileTest(
- self.__OSRoot+'/test/'+defFileDir+'/target.def',
+ self.__OSRoot+'/test/'+primaryDefFileDir+'/target.def',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/target.def',
'/test/component/mmpfile.mmp',
'',
'target.exe',
True,
testPlat),
DefFileTest(
- self.__OSRoot+'/test/'+defFileDir+'/targetu.DEF',
+ self.__OSRoot+'/test/'+primaryDefFileDir+'/targetu.DEF',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/targetu.DEF',
'/test/component/mmpfile.mmp',
'target.DEF',
'target.exe',
False,
testPlat),
DefFileTest(
- self.__OSRoot+'/test/'+defFileDir+'/target2.DEF',
+ self.__OSRoot+'/test/'+primaryDefFileDir+'/target2.DEF',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/target2.DEF',
'/test/component/mmpfile.mmp',
'target2.DEF',
'target.exe',
@@ -742,6 +772,7 @@
testPlat),
DefFileTest(
self.__OSRoot+'/test/component/target2u.DEF',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/target2u.DEF',
'/test/component/mmpfile.mmp',
'./target2.DEF',
'target.exe',
@@ -749,20 +780,23 @@
testPlat),
DefFileTest(
self.__OSRoot+'/test/component/target2.DEF',
+ self.__OSRoot+'/test/'+secondaryDefFileDir+'/target2.DEF',
'/test/component/mmpfile.mmp',
'./target2.DEF',
'target.exe',
True,
testPlat),
DefFileTest(
- self.__OSRoot+'/test/component/'+defFileDir+'/target3u.DEF',
+ self.__OSRoot+'/test/component/'+primaryDefFileDir+'/target3u.DEF',
+ self.__OSRoot+'/test/component/'+secondaryDefFileDir+'/target3u.DEF',
'/test/component/mmpfile.mmp',
'./~/target3.DEF',
'target.exe',
False,
testPlat),
DefFileTest(
- epocroot+'/epoc32/include/def/'+defFileDir+'/targetu.def',
+ epocroot+'/epoc32/include/def/'+primaryDefFileDir+'/targetu.def',
+ epocroot+'/epoc32/include/def/'+secondaryDefFileDir+'/targetu.def',
'/test/component/mmpfile.mmp',
'/epoc32/include/def/~/target.def',
'target.exe',
@@ -770,6 +804,7 @@
testPlat),
DefFileTest(
epocroot+'/epoc32/release/'+releaseDir+'/target.def',
+ epocroot+'/epoc32/release/'+secondaryDefFileDir+'/target.def',
'/test/component/mmpfile.mmp',
'/epoc32/release/'+releaseDir+'/target.def',
'target.exe',
@@ -777,6 +812,7 @@
testPlat),
DefFileTest(
self.__OSRoot+'/deffiles/targetu.def',
+ self.__OSRoot+'/'+secondaryDefFileDir+'/targetu.def',
'/test/component/mmpfile.mmp',
'/deffiles/target.def',
'target.exe',
@@ -785,7 +821,7 @@
])
for t in defFileTests:
- result = t.test(self.raptor)
+ result = t.test(self.raptor)
self.assertEquals(result, True)
def dummyMetaReader(self):
--- a/sbsv2/raptor/test/unit_suite/raptor_unit.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/unit_suite/raptor_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -108,7 +108,8 @@
if len(c.specs) > 0:
# something will be built from this component because
# it has at least one spec
- shortname = str(c.bldinf_filename)[len(os.environ['SBS_HOME'])+1:]
+ sbsHome = os.environ['SBS_HOME'].rstrip('\\/')
+ shortname = str(c.bldinf_filename)[len(sbsHome)+1:]
self.assertTrue(shortname in expected_spec_output)
hits += 1
--- a/sbsv2/raptor/test/unit_suite/raptor_xml_unit.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/test/unit_suite/raptor_xml_unit.py Wed Oct 06 15:13:17 2010 +0100
@@ -77,18 +77,21 @@
os.environ["SOURCEROOT"] = 'i_am_not_a_valid_path_at_all'
systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_2.0.0.xml"), self.__sysDefRoot)
self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
-
del os.environ["SOURCEROOT"]
systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_3.0.0.xml"), self.__sysDefRoot)
- self.__compareFileLists([], systemModel.GetAllComponents())
+ self.__compareFileLists(expectedBldInfs, systemModel.GetAllComponents())
+
+ # Additionally confirm that layers are returned correctly in a v3 context (where <meta/> and <api/> tags are also present)
+ layers = systemModel.GetLayerNames()
+ self.assertTrue(len(layers) == 1)
+ self.assertEqual("testlayer", layers[0])
self.__logger.Clear()
systemModel = raptor_xml.SystemModel(self.__logger, generic_path.Join(self.__sysDefFileRoot, "system_definition_multi_layers.xml"), self.__sysDefRoot)
self.assertTrue(len(self.__logger.errors) == 0)
# Confirm components returned from layers are correct
-
expectedBldInfs = [ generic_path.Join(self.__sysDefRoot, "simple/bld.inf"),\
generic_path.Join(self.__sysDefRoot, "simple_dll/bld.inf"),\
generic_path.Join(self.__sysDefRoot, "simple_export/bld.inf"),\
@@ -119,9 +122,9 @@
self.assertTrue(systemModel.IsLayerBuildable("Seventh Layer"))
self.assertTrue(len(self.__logger.errors) == 1)
sbsHome = os.environ["SBS_HOME"]
- sysDefPath = sbsHome + "/test/metadata/system/system_definition_multi_layers.xml"
+ sysDefPath = os.path.join(sbsHome, "test/metadata/system/system_definition_multi_layers.xml")
sysDefPath = sysDefPath.replace("\\","/")
- bldInfPath = sbsHome + "/test/smoke_suite/test_resources/does_not_existbld.inf"
+ bldInfPath = os.path.join(sbsHome, "test/smoke_suite/test_resources/does_not_exist/bld.inf")
bldInfPath = bldInfPath.replace("\\","/")
self.assertEquals(self.__logger.errors[0],
("System Definition layer \"Seventh Layer\" from system definition file \"%s\" refers to non existent bld.inf file %s" % (sysDefPath, bldInfPath)))
--- a/sbsv2/raptor/util/Makefile Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/Makefile Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
-# Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -17,8 +17,14 @@
SHELL:=bash
+ifeq ($(CLEANMODE),)
.PHONY:: all
all::
+else
+.PHONY:: clean
+clean::
+
+endif
include utilbuild.mk # need general settings e.g. INSTALLROOT
@@ -26,42 +32,23 @@
include gccprogram.mk
-# Actual programs
-include descramble/Makefile
-
-include talon/Makefile
-
-include ransleep/Makefile
-
-# Some tools not built for windows
-ifneq ($(filter $(HOSTPLATFORM),win),win)
-ifeq ($(CLEANMODE),)
-include bash.mk
-
-include make.mk
-
-# Build pvm and pvmgmake later when they have been corrected
-#include pvmgmake.mk
-
-#include pvm.mk
-
-include python.mk
-
-include codewarrior.mk
-
-include bvcpp.mk
-
-include gccxml.mk
-
-include dialog.mk
+#################################################
+ifeq ($(TARGETS),)
+ TARGETS:=descramble talon ransleep tmkdir
+ ifneq ($(filter $(HOSTPLATFORM),win),win)
+ # Some tools not built for windows
+ # Some of these don't support our special clean mode
+ TARGETS:=$(TARGETS) bash make python codewarrior bvcpp dialog
+ # Build pvm and pvmgmake later when they have been corrected
+ # pvmgmake pvm
+ endif
endif
-endif
+$(foreach T,$(TARGETS),$(eval include $(T).mk))
else
-
clean:
@echo "Cleaning"
- make $(MAKEFILE) CLEANMODE:=1 | grep '<file>' |sed -r 's#.*<file>(.*)</file>.*#\1#' | (read F; while [ $$? -eq 0 ]; do rm -f "$$F"; read F; done; true )
+ make $(MAKEFILE) CLEANMODE:=1 | grep '<file>' |sed -r 's#.*<file>(.*)</file>.*#\1#' | (read F; while [ $$? -eq 0 ]; do rm -f "$$F"; echo " [rm] $$F"; read F; done; true )
endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/descramble.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,29 @@
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility makefile
+#
+#
+
+TARGET:=sbs_descramble
+SOURCES:=$(SBS_HOME:\=/)/util/descramble/descramble.cpp
+
+ifeq ($(filter win,$(HOSTPLATFORM)),win)
+CFLAGS:=-DWIN32
+LDFLAGS:=
+else
+CFLAGS:=
+LDFLAGS:=-lpthread
+endif
+
+$(eval $(cppprogram))
--- a/sbsv2/raptor/util/descramble/Makefile Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/descramble/Makefile Wed Oct 06 15:13:17 2010 +0100
@@ -15,15 +15,8 @@
#
#
-TARGET:=sbs_descramble
-SOURCES:=$(SBS_HOME:\=/)/util/descramble/descramble.cpp
+
+.PHONY: all
-ifeq ($(filter win,$(HOSTPLATFORM)),win)
-CFLAGS:=-DWIN32
-LDFLAGS:=
-else
-CFLAGS:=
-LDFLAGS:=-lpthread
-endif
-
-$(eval $(cppprogram))
+all:
+ cd .. && make descramble
Binary file sbsv2/raptor/util/ext/Python-2.6.2.tgz has changed
Binary file sbsv2/raptor/util/ext/Python-2.7.tar.bz2 has changed
Binary file sbsv2/raptor/util/ext/gccxml.tar.gz has changed
--- a/sbsv2/raptor/util/gccxml.mk Wed Aug 04 12:07:55 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of the License "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:
-# Utility makefile
-#
-
-GCCXML_TAR:=$(SBS_HOME)/util/ext/gccxml.tar.gz
-
-
-define b_gccxml
-
-.PHONY:: gccxml
-
-all:: gccxml
-
-gccxml: $(INSTALLROOT)/bin/gccxml_cc1plus
-
-$(INSTALLROOT)/bin/gccxml_cc1plus: $(GCCXML_TAR)
- cd $(INSTALLROOT) && \
- tar -xzf $(GCCXML_TAR)
-
-endef
-
-$(eval $(b_gccxml))
-
-
-
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/install-linux/hudson.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,120 @@
+
+# hudson runs this from the raptor/util/install-linux directory
+
+import datetime
+import os
+import re
+import shutil
+import subprocess
+import sys
+
+# run "hg id" to get the current branch name and tip changeset
+
+hgid = subprocess.Popen(["hg", "id"], stdout=subprocess.PIPE)
+stdout = hgid.communicate()[0]
+
+if hgid.returncode == 0 and len(stdout) >= 12:
+ changeset = stdout[0:12]
+ print "CHANGESET", changeset
+
+ prototype = ("wip" in stdout or "fix" in stdout)
+ print "PROTOTYPE", prototype
+else:
+ sys.stderr.write("error: failed to get tip mercurial changeset.\n")
+ sys.exit(1)
+
+# get today's date in ISO format YYYY-MM-DD
+
+today = datetime.date.today().isoformat()
+print "DATE", today
+
+# insert the date and changeset into the raptor_version.py file
+
+filename = "../../python/raptor_version.py"
+lines = []
+try:
+ file = open(filename, "r")
+ for line in file.readlines():
+ if "ISODATE" in line and "CHANGESET" in line:
+ line = line.replace("ISODATE", today)
+ line = line.replace("CHANGESET", changeset)
+ if prototype:
+ line = line.replace("system", "system PROTOTYPE")
+ lines.append(line)
+ else:
+ lines.append(line)
+except IOError, ex:
+ sys.stderr.write("error: failed to read file '%s'\n%s" % (filename, str(ex)))
+ sys.exit(1)
+finally:
+ file.close()
+
+# ... and write the modified raptor_version.py file
+
+try:
+ file = open(filename, "w")
+ for line in lines:
+ file.write(line)
+except IOError, ex:
+ sys.stderr.write("error: failed to write file '%s'\n%s" % (filename, str(ex)))
+ sys.exit(1)
+finally:
+ file.close()
+
+# check that we really did change the raptor version string
+
+sbs_v = subprocess.Popen(["../../bin/sbs", "-v"], stdout=subprocess.PIPE)
+version = sbs_v.communicate()[0]
+
+if sbs_v.returncode == 0:
+ print "VERSION", version
+ if not today in version or not changeset in version:
+ sys.stderr.write("error: date or changeset does not match the sbs version.\n")
+ sys.exit(1)
+ if prototype and not "PROTOTYPE" in version:
+ sys.stderr.write("error: the sbs version should be marked PROTOTYPE.\n")
+ sys.exit(1)
+else:
+ sys.stderr.write("error: failed to get sbs version.\n")
+ sys.exit(1)
+
+# run the Linux installer maker script
+
+package_sbs = subprocess.Popen(["./package_sbs.sh", "-s"], stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+(stdout, stderr) = package_sbs.communicate()
+
+if package_sbs.returncode != 0:
+ sys.stderr.write("error: failed to create linux package of sbs.\n")
+ sys.exit(1)
+
+# find the name of the archive in /tmp
+
+match = re.search('archive "([^"]+)" successfully created', stdout)
+if match:
+ tmp_archive = "/tmp/" + match.group(1)
+ print "TMP ARCHIVE", tmp_archive
+else:
+ sys.stderr.write("error: failed to find linux archive file.\n")
+ sys.exit(1)
+
+# move it to the WORKSPACE root
+
+if 'WORKSPACE' in os.environ:
+ name = re.sub(r'/tmp/(sbs-\d+\.\d+\.\d+-).*', r'\1', tmp_archive)
+ if prototype:
+ fullname = name + "PROTOTYPE-" + changeset + ".run"
+ else:
+ fullname = name + changeset + ".run"
+ final_archive = os.path.join(os.environ['WORKSPACE'], fullname)
+ print "WORKSPACE ARCHIVE", final_archive
+else:
+ sys.stderr.write("error: no WORKSPACE is set.\n")
+ sys.exit(1)
+
+try:
+ shutil.move(tmp_archive, final_archive)
+except Error, err:
+ sys.stderr.write("error: could not rename '%s' as '%s'.\n" % (tmp_archive, final_archive))
+ sys.exit(1)
+
+# the end
--- a/sbsv2/raptor/util/install-linux/package_sbs.sh Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/install-linux/package_sbs.sh Wed Oct 06 15:13:17 2010 +0100
@@ -61,7 +61,7 @@
fi
- cd $SBS_HOME && find license.txt RELEASE-NOTES.html bin lib notes $BINARIES python test schema util |
+ cd $SBS_HOME && find license.txt RELEASE-NOTES.html bin examples lib notes $BINARIES python schema style util |
grep -v "$TMPSBS"'/python/\.py$' |
grep -v 'flm/test' |
grep -v 'util/build' |
@@ -74,7 +74,7 @@
echo "VERSION=\"$VERSION\"" >> $TMPSBS/.version
if [[ "$packtype" == "binary" ]]; then
-chmod a+x $TMPSBS/bin/* $TMPSBS/util/$HOSTPLATFORM_DIR/bin/* $TMPSBS/util/$HOSTPLATFORM_DIR/python262/bin/*
+chmod a+x $TMPSBS/bin/* $TMPSBS/util/$HOSTPLATFORM_DIR/bin/* $TMPSBS/util/$HOSTPLATFORM_DIR/python265/bin/*
chmod a+x $TMPSBS/util/pvm3/bin/LINUX/*
chmod a+x $TMPSBS/util/$HOSTPLATFORM_DIR/cw_build470msl19/release/Symbian_Tools/Command_Line_Tools/*
fi
Binary file sbsv2/raptor/util/install-windows/NSIS.zip has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/install-windows/hudson.py Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,112 @@
+
+# hudson runs this from the raptor/util/install-windows directory
+
+import os
+import re
+import shutil
+import subprocess
+import sys
+
+# run "hg id" to get the current branch name and tip changeset
+
+hgid = subprocess.Popen(["hg", "id"], stdout=subprocess.PIPE)
+stdout = hgid.communicate()[0]
+
+if hgid.returncode == 0 and len(stdout) >= 12:
+ changeset = stdout[0:12]
+ print "CHANGESET", changeset
+
+ prototype = ("wip" in stdout or "fix" in stdout)
+ print "PROTOTYPE", prototype
+else:
+ sys.stderr.write("error: failed to get tip mercurial changeset.\n")
+ sys.exit(1)
+
+# get the raptor version string
+
+sbs_v = subprocess.Popen(["../../bin/sbs", "-v"], stdout=subprocess.PIPE)
+version = sbs_v.communicate()[0]
+
+if sbs_v.returncode == 0:
+ print "VERSION", version
+ if not changeset in version:
+ sys.stderr.write("error: changeset does not match the sbs version.\n")
+ sys.exit(1)
+ if prototype and not "PROTOTYPE" in version:
+ sys.stderr.write("error: the sbs version should be marked PROTOTYPE.\n")
+ sys.exit(1)
+else:
+ sys.stderr.write("error: failed to get sbs version.\n")
+ sys.exit(1)
+
+# find the SBS_HOME and WIN32_SUPPORT
+
+if 'SBS_HOME' in os.environ:
+ sbs_home = os.environ['SBS_HOME']
+else:
+ sys.stderr.write("error: no SBS_HOME is set.\n")
+ sys.exit(1)
+
+if 'WIN32_SUPPORT' in os.environ:
+ win32_support = os.environ['WIN32_SUPPORT']
+else:
+ sys.stderr.write("error: no WIN32_SUPPORT is set.\n")
+ sys.exit(1)
+
+# run the Windows installer maker script
+
+if prototype:
+ postfix = "-PROTOTYPE-" + changeset
+else:
+ postfix = "-" + changeset
+
+package_sbs = subprocess.Popen(["python", "raptorinstallermaker.py",
+ "-s", sbs_home, "-w", win32_support,
+ "--postfix=" + postfix],
+ stdout=subprocess.PIPE) #, stderr=subprocess.PIPE)
+(stdout, stderr) = package_sbs.communicate()
+
+if package_sbs.returncode == 0:
+ match = re.search('Output: "([^"]+)"', stdout)
+ zip_match = re.search('Zipoutput: "([^"]+)"', stdout)
+ if match:
+ tmp_archive = match.group(1)
+ print "TMP ARCHIVE", tmp_archive
+ else:
+ sys.stderr.write("error: failed to find packaged filename.\n")
+ sys.exit(1)
+
+ if zip_match:
+ tmp_zip_archive = zip_match.group(1)
+ print "TMP ZIP ARCHIVE", tmp_zip_archive
+ else:
+ sys.stderr.write("error: failed to find zip filename.\n")
+ sys.exit(1)
+else:
+ sys.stderr.write("error: failed to create windows package of sbs.\n")
+ sys.exit(1)
+
+# move the results to WORKSPACE
+
+if 'WORKSPACE' in os.environ:
+ final_archive = os.path.join(os.environ['WORKSPACE'], os.path.basename(tmp_archive))
+ final_zip_archive = os.path.join(os.environ['WORKSPACE'], os.path.basename(tmp_zip_archive))
+ print "WORKSPACE ARCHIVE", final_archive
+ print "WORKSPACE ZIP ARCHIVE", final_zip_archive
+else:
+ sys.stderr.write("error: no WORKSPACE is set.\n")
+ sys.exit(1)
+
+try:
+ shutil.move(tmp_archive, final_archive)
+except Error, err:
+ sys.stderr.write("error: could not rename '%s' as '%s'.\n" % (tmp_archive, final_archive))
+ sys.exit(1)
+
+try:
+ shutil.move(tmp_zip_archive, final_zip_archive)
+except Error, err:
+ sys.stderr.write("error: could not rename '%s' as '%s'.\n" % (tmp_zip_archive, final_zip_archive))
+ sys.exit(1)
+
+# the end
--- a/sbsv2/raptor/util/install-windows/raptorinstallermaker.py Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/install-windows/raptorinstallermaker.py Wed Oct 06 15:13:17 2010 +0100
@@ -1,4 +1,3 @@
-#
# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
@@ -12,110 +11,23 @@
# Contributors:
#
# Description:
-#
-#! python
+# Raptor installer maker script - generates a Windows installer for Raptor using
+# the NSIS package in the accompanying directory. Works on Windows and Linux.
-# Raptor installer maker!
-
+import optparse
import os
import os.path
+import re
+import shutil
+import stat
import subprocess
-import re
-import optparse
import sys
import tempfile
-import shutil
import unzip
+import zipfile
tempdir = ""
-parser = optparse.OptionParser()
-
-parser.add_option("-s", "--sbs-home", dest="sbshome", help="Path to use as SBS_HOME environment variable. If not present the script exits.")
-
-parser.add_option("-w", "--win32-support", dest="win32support", help="Path to Win32 support directory. If not present the script exits.")
-
-parser.add_option("-b", "--bv", dest="bv", help="Path to Binary variation CPP \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
-
-parser.add_option("-c", "--cygwin", dest="cygwin", help="Path to Cygwin \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
-
-parser.add_option("-m", "--mingw", dest="mingw", help="Path to MinGW \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
-
-parser.add_option("-p", "--python", dest="python", help="Path to Python \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
-
-parser.add_option("--prefix", dest="versionprefix", help="A string to use as a prefix to the Raptor version string. This will be present in the Raptor installer's file name, the installer's pages as well as the in output from sbs -v.", type="string", default="")
-
-parser.add_option("--postfix", dest="versionpostfix", help="A string to use as a postfix to the Raptor version string. This will be present in the Raptor installer's file name, the installer's pages as well as the in output from sbs -v.", type="string", default="")
-
-(options, args) = parser.parse_args()
-
-# Required directories inside the win32-support repository
-win32supportdirs = {"bv":"bv", "cygwin":"cygwin", "mingw":"mingw", "python":"python264"}
-
-if options.sbshome == None:
- print "ERROR: no SBS_HOME passed in. Exiting..."
- sys.exit(2)
-
-if options.win32support == None:
- print "ERROR: no win32support directory specified. Unable to proceed. Exiting..."
- sys.exit(2)
-else:
- # Check for command line overrides to defaults
- for directory in win32supportdirs:
- print "TEST %s" % directory
- value = getattr(options,directory)
- print "value = %s" % str(value)
- if value != None: # Command line override
- if value.lower().startswith("win32support"):
- # Strip off "WIN32SUPPORT\" and join to Win32 support location
- win32supportdirs[directory] = os.path.join(options.win32support, value[13:])
- else:
- # Relative to current directory
- win32supportdirs[directory] = value
-
- else: # Use default location
- win32supportdirs[directory] = os.path.join(options.win32support, win32supportdirs[directory])
-
- print "\n\nwin32supportdirs = %s\n\n" % win32supportdirs
-
- # Check that all the specified directories exist and exit if any of them is missing.
- for directory in win32supportdirs:
- dir = win32supportdirs[directory]
- if os.path.isdir(dir):
- print "Found directory %s" % dir
- else:
- print "ERROR: directory %s does not exist. Cannot build installer. Exiting..." % dir
- sys.exit(2)
-
-def generateinstallerversionheader(sbshome = None):
- shellenv = os.environ.copy()
- shellenv["PYTHONPATH"] = os.path.join(sbshome, "python")
-
- raptorversioncommand = "python -c \"import raptor_version; print raptor_version.numericversion()\""
-
- # Raptor version is obtained from raptor_version module's numericversion function.
- sbs_version_matcher = re.compile(".*(\d+\.\d+\.\d+).*", re.I)
-
- # Create Raptor subprocess
- versioncommand = subprocess.Popen(raptorversioncommand, shell=True, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, env=shellenv)
- raptorversion = ""
- # Get all the lines matching the RE
- for line in versioncommand.stdout.readlines():
- res = sbs_version_matcher.match(line)
- if res:
- raptorversion = res.group(1)
- print "Successfully determined Raptor version %s" % raptorversion
-
- versioncommand.wait() # Wait for process to end
-
- raptorversion_nsis_header_string = "# Raptor version file\n\n!define RAPTOR_VERSION %s\n" % raptorversion
-
- fh = open("raptorversion.nsh", "w")
- fh.write(raptorversion_nsis_header_string)
- fh.close()
- print "Wrote raptorversion.nsh"
- return 0
-
def generateinstallerversion(sbshome = None):
shellenv = os.environ.copy()
shellenv["PYTHONPATH"] = os.path.join(sbshome, "python")
@@ -140,15 +52,25 @@
return raptorversion
def unzipnsis(pathtozip):
- global tempdir
- tempdir = tempfile.mkdtemp()
- un = unzip.unzip()
- print "Unzipping NSIS to %s..." % tempdir
- un.extract(pathtozip, tempdir)
- print "Done."
-
- return os.path.join(tempdir, "NSIS", "makensis.exe")
-
+ global tempdir
+ tempdir = tempfile.mkdtemp()
+ un = unzip.unzip()
+ print "Unzipping NSIS to %s..." % tempdir
+ un.extract(pathtozip, tempdir)
+ print "Done."
+
+ # Ensure the correct executable is called
+ dotexe=""
+ if "win" in sys.platform.lower():
+ dotexe=".exe"
+
+ makensispath = os.path.join(tempdir, "NSIS", "makensis" + dotexe)
+
+ if not "win" in sys.platform.lower():
+ os.chmod(makensispath, stat.S_IRWXU)
+
+ return makensispath
+
def runmakensis(nsiscommand):
# Create makensis subprocess
print "Running NSIS command\n%s" % nsiscommand
@@ -160,23 +82,198 @@
global tempdir
print "Cleaning up temporary directory %s" % tempdir
shutil.rmtree(tempdir,True)
- try:
- os.remove("raptorversion.nsh")
- print "Successfully deleted raptorversion.nsh."
- except:
- print "ERROR: failed to remove raptorversion.nsh - remove manually if needed."
print "Done."
-makensispath = unzipnsis(".\\NSIS.zip")
-# generateinstallerversionheader(options.sbshome)
+def __writeDirTreeToArchive(zip, dirlist, sbshome, win32supportdirs=False):
+ """Auxilliary function to write all files in each directory trees of dirlist into the
+ open archive "zip" assuming valid sbshome; destination path is tweaked for win32supportdirs,
+ so set this to true when writing files into $SBS_HOME/win32"""
+ for name in dirlist:
+ files = os.walk(os.path.join(sbshome, name))
+ for dirtuple in files:
+ filenames = dirtuple[2]
+ dirname = dirtuple[0]
+ for file in filenames:
+ # Filter out unwanted files
+ if not file.lower().endswith(".pyc") and \
+ not file.lower().endswith(".project") and \
+ not file.lower().endswith(".cproject") and \
+ not file.lower().endswith(".pydevproject"):
+ origin = os.path.join(dirname, file)
+
+ # For the win32 support directories, the destination is different
+ if win32supportdirs:
+ destination = os.path.join("sbs", "win32", os.path.basename(name.rstrip(os.sep)),
+ dirname.replace(name, "").strip(os.sep), file)
+ else:
+ destination = os.path.join("sbs", dirname.rstrip(os.sep).replace(sbshome, "").strip(os.sep), file)
+
+ print "Compressing", origin, "\tto\t", destination
+ zip.write(origin, destination)
+
+def writeZip(filename, sbshome, sbsbvdir, sbscygwindir, sbsmingwdir, sbspythondir):
+ """Write a zip archive with file name "filename" assuming SBS_HOME is sbshome, and
+ that sbsbvdir, sbscygwindir, sbsmingwdir, sbspythondir are the win32 support directories."""
+
+ # *Files* in the top level SBS_HOME directory
+ sbshome_files = ["RELEASE-NOTES.html", "license.txt"]
+
+ # Directories in SBS_HOME
+ sbshome_dirs = ["bin", "examples", "lib", "notes", "python",
+ "schema", "style", os.sep.join(["win32", "bin"])]
+
+ # Win32 support directories
+ win32_dirs = [sbsbvdir, sbscygwindir, sbsmingwdir, sbspythondir]
+
+ try:
+ # Open the zip archive for writing; if a file with the same
+ # name exists, it will be truncated to zero bytes before
+ # writing commences
+ zip = zipfile.ZipFile(filename, "w", zipfile.ZIP_DEFLATED)
+
+ # Write the files in the top-level of SBS_HOME into the archive
+ for name in sbshome_files:
+ origin = os.path.join(sbshome, name)
+ destination = os.path.join("sbs", name)
+ print "Compressing", origin, "\tto\t", destination
+ zip.write(origin, destination)
+
+ # Write all files in the the directories in the top-level of SBS_HOME into the archive
+ print "Reading the sbs directories..."
+ __writeDirTreeToArchive(zip, sbshome_dirs, sbshome, win32supportdirs=False)
+ print "Writing sbs directories to the archive is complete."
+
+ # Write all files in the the win32 support directories in the top-level of SBS_HOME into the archive
+ print "Reading the win32 support directories"
+ __writeDirTreeToArchive(zip, win32_dirs, sbshome, win32supportdirs=True)
+ print "Writing win32 support directories to the archive is complete."
+
+ zip.close()
+ print "Zipoutput: \"" + os.path.join(os.getcwd(), filename) + "\""
+ print "Zip file creation successful."
+ except Exception, e:
+ print "Error: failed to create zip file: %s" % str(e)
+ sys.exit(2)
+
+# Create CLI and parse it
+parser = optparse.OptionParser()
+
+parser.add_option("-s", "--sbs-home", dest="sbshome", help="Path to use as SBS_HOME environment variable. If not present the script exits.")
+
+parser.add_option("-w", "--win32-support", dest="win32support", help="Path to Win32 support directory. If not present the script exits.")
+
+parser.add_option("-b", "--bv", dest="bv", help="Path to Binary variation CPP \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
+
+parser.add_option("-c", "--cygwin", dest="cygwin", help="Path to Cygwin \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
+
+parser.add_option("-m", "--mingw", dest="mingw", help="Path to MinGW \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
+
+parser.add_option("-p", "--python", dest="python", help="Path to Python \"root\" directory. Can be a full/relatitve path; prefix with \"WIN32SUPPORT\\\" to be relative to the Win32 support directory. Omitting this value will assume a default to a path inside the Win32 support directory.")
+
+parser.add_option("--prefix", dest="versionprefix", help="A string to use as a prefix to the Raptor version string. This will be present in the Raptor installer's file name, the installer's pages as well as the in output from sbs -v.", type="string", default="")
+
+parser.add_option("--postfix", dest="versionpostfix", help="A string to use as a postfix to the Raptor version string. This will be present in the Raptor installer's file name, the installer's pages as well as the in output from sbs -v.", type="string", default="")
+
+parser.add_option("--noclean", dest="noclean", help="Do not clean up the temporary directory created during the run.", action="store_true" , default=False)
+
+parser.add_option("--noexe", dest="noexe", help="Do not create a Windows .exe installer of the Raptor installation.", action="store_true" , default=False)
+
+parser.add_option("--nozip", dest="nozip", help="Do not create a zip archive of the Raptor installation.", action="store_true" , default=False)
+
+(options, args) = parser.parse_args()
+
+# Required directories inside the win32-support directory (i.e. the win32-support repository).
+win32supportdirs = {"bv":"bv", "cygwin":"cygwin", "mingw":"mingw", "python":"python264"}
+
+if options.sbshome == None:
+ print "ERROR: no SBS_HOME passed in. Exiting..."
+ sys.exit(2)
+elif not os.path.isdir(options.sbshome):
+ print "ERROR: the specified SBS_HOME directory \"%s\" does not exist. Cannot build installer. Exiting..."
+ sys.exit(2)
+
+if options.win32support == None:
+ print "ERROR: no win32support directory specified. Unable to proceed. Exiting..."
+ sys.exit(2)
+else:
+ # Check for command line overrides to defaults
+ for directory in win32supportdirs:
+ print "Checking for location \"%s\"..." % directory
+ value = getattr(options,directory)
+ print "Directory is %s" % str(value)
+ if value != None: # Command line override
+ if value.lower().startswith("win32support"):
+ # Strip off "WIN32SUPPORT\" and join to Win32 support location
+ win32supportdirs[directory] = os.path.join(options.win32support, value[13:])
+ else:
+ # Relative to current directory
+ win32supportdirs[directory] = value
+
+ else: # Use default location
+ win32supportdirs[directory] = os.path.join(options.win32support, win32supportdirs[directory])
+
+ print "\n\nIdentified win32supportdirs are = %s\n\n" % win32supportdirs
+
+ # Check that all the specified directories exist and exit if any of them is missing.
+ for directory in win32supportdirs:
+ dir = win32supportdirs[directory]
+ if os.path.isdir(dir):
+ print "Found directory %s" % dir
+ else:
+ print "ERROR: directory %s does not exist. Cannot build installer. Exiting..." % dir
+ sys.exit(2)
+
+
raptorversion = options.versionprefix + generateinstallerversion(options.sbshome) + options.versionpostfix
-nsiscommand = makensispath + " /DRAPTOR_LOCATION=%s /DBV_LOCATION=%s /DCYGWIN_LOCATION=%s /DMINGW_LOCATION=%s /DPYTHON_LOCATION=%s /DRAPTOR_VERSION=%s raptorinstallerscript.nsi" % (options.sbshome,
- win32supportdirs["bv"],
+
+print "Using Raptor version %s ..." % raptorversion
+
+if not options.noexe:
+ makensispath = unzipnsis("." + os.sep + "NSIS.zip")
+ if "win" in sys.platform.lower():
+ switch="/"
+ else:
+ switch="-"
+
+ nsiscommand = (makensispath + " " +
+ switch + "DRAPTOR_LOCATION=%s " +
+ switch + "DBV_LOCATION=%s " +
+ switch + "DCYGWIN_LOCATION=%s " +
+ switch + "DMINGW_LOCATION=%s " +
+ switch + "DPYTHON_LOCATION=%s " +
+ switch + "DRAPTOR_VERSION=%s " +
+ "%s" ) % \
+ ( options.sbshome,
+ win32supportdirs["bv"],
win32supportdirs["cygwin"],
win32supportdirs["mingw"],
win32supportdirs["python"],
- raptorversion)
-print "nsiscommand = %s" % nsiscommand
-runmakensis(nsiscommand)
-cleanup()
+ raptorversion,
+ os.path.join(options.sbshome, "util", "install-windows", "raptorinstallerscript.nsi")
+ )
+
+ # On Linux, we need to run makensis via Bash, so that is can find all its
+ # internal libraries and header files etc. Makensis fails unless it
+ # is executed this way on Linux.
+ if "lin" in sys.platform.lower():
+ nsiscommand = "bash -c \"%s\"" % nsiscommand
+
+ runmakensis(nsiscommand)
+else:
+ print "Not creating .exe as requested."
+# Only clean NSIS installation in the temporary directory if requested
+if not options.noclean:
+ cleanup()
+else:
+ print "Not cleaning makensis in %s" % makensispath
+
+# Only create zip archive if required
+if not options.nozip:
+ filename = "sbs-" + raptorversion + ".zip"
+ writeZip(filename, options.sbshome, win32supportdirs["bv"], win32supportdirs["cygwin"], win32supportdirs["mingw"], win32supportdirs["python"])
+else:
+ print "Not creating zip archive as requested."
+
+print "Finished."
+
--- a/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/install-windows/raptorinstallerscript.nsi Wed Oct 06 15:13:17 2010 +0100
@@ -13,6 +13,10 @@
# Description:
# Raptor installer/uninstaller script
+# Set compression type - the advice in the NSIS user manual
+# is to have this at the top of the main .nsi file.
+SetCompressor /SOLID lzma
+
# Standard NSIS Library includes
!include "MUI2.nsh"
!include "LogicLib.nsh"
@@ -77,6 +81,7 @@
ShowInstDetails show
##################### Pages in the installer #####################
+!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE ${RAPTOR_LOCATION}\license.txt
!define MUI_PAGE_HEADER_TEXT "Installation type"
@@ -84,6 +89,7 @@
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE DirLeave # Directory page exit function - disallow spaces in $INSTDIR
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
+!define MUI_FINISHPAGE_TITLE_3LINES
!insertmacro MUI_PAGE_FINISH
######################## .onInit function ########################
@@ -107,9 +113,11 @@
SetOutPath "$INSTDIR\lib"
File /r /x distribution.policy.s60 ${RAPTOR_LOCATION}\lib\*.*
SetOutPath "$INSTDIR\python"
- File /r /x distribution.policy.s60 ${RAPTOR_LOCATION}\python\*.*
+ File /r /x distribution.policy.s60 /x *.pyc /x *.pydevproject /x *.project ${RAPTOR_LOCATION}\python\*.*
SetOutPath "$INSTDIR\schema"
File /r /x distribution.policy.s60 ${RAPTOR_LOCATION}\schema\*.*
+ SetOutPath "$INSTDIR\style"
+ File /r /x distribution.policy.s60 ${RAPTOR_LOCATION}\style\*.*
SetOutPath "$INSTDIR\win32\bin"
File /r /x distribution.policy.s60 ${RAPTOR_LOCATION}\win32\bin\*.*
SetOutPath "$INSTDIR\win32\bv"
@@ -200,7 +208,6 @@
${EndUnless}
# Write the uninstaller
- # WriteUninstaller "$INSTDIR\${UNINSTALLER_FILENAME}"
WriteUninstaller "$INSTDIR\${UNINSTALLER_FILENAME}"
# Unload registry plug in
${registry::Unload}
@@ -320,9 +327,11 @@
ShowUninstDetails show
#################### Pages in the uninstaller ####################
+!define MUI_WELCOMEPAGE_TITLE_3LINES
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
+!define MUI_FINISHPAGE_TITLE_3LINES
!insertmacro MUI_UNPAGE_FINISH
################## Sections in the uninstaller ##################
@@ -334,6 +343,7 @@
RmDir /r $INSTDIR\lib
RmDir /r $INSTDIR\python
RmDir /r $INSTDIR\schema
+ RmDir /r $INSTDIR\style
RmDir /r $INSTDIR\win32
Delete $INSTDIR\RELEASE-NOTES.html
RmDir /r $INSTDIR\notes
--- a/sbsv2/raptor/util/python.mk Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/python.mk Wed Oct 06 15:13:17 2010 +0100
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
# All rights reserved.
# This component and the accompanying materials are made available
# under the terms of the License "Eclipse Public License v1.0"
@@ -17,10 +17,10 @@
# Build Python for Raptor
-RAPTOR_PYTHON_VER:=2.6.2
+RAPTOR_PYTHON_VER:=2.7
PYTHON_SOURCEDIR:=$(OUTPUTPATH)/Python-$(RAPTOR_PYTHON_VER)
-PYTHON_TAR:=$(SBS_HOME)/util/ext/Python-$(RAPTOR_PYTHON_VER).tgz
+PYTHON_TAR:=$(SBS_HOME)/util/ext/Python-$(RAPTOR_PYTHON_VER).tar.bz2
PYINSTALLROOT:=$(INSTALLROOT)/python$(subst .,,$(RAPTOR_PYTHON_VER))
define b_python
@@ -33,12 +33,16 @@
$(PYINSTALLROOT)/bin/python: $(PYTHON_TAR)
rm -rf $(PYTHON_SOURCEDIR) && \
cd $(OUTPUTPATH) && \
- tar -xzf $(PYTHON_TAR) && \
+ tar -xjf $(PYTHON_TAR) && \
( \
cd $(PYTHON_SOURCEDIR) && \
- CFLAGS="-O3 $(GCCTUNE) -s" ./configure --prefix=$(PYINSTALLROOT) --enable-shared --with-threads && \
+ CFLAGS="-O3 $(GCCTUNE) -s" ./configure --prefix=$(PYINSTALLROOT) --enable-shared --with-threads --enable-bzip2 && \
$(MAKE) -j8 && $(MAKE) install \
)
+
+CLEANFILES:=$(PYINSTALLROOT)/bin/python
+$(cleanlog)
+
endef
$(eval $(b_python))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/ransleep.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,29 @@
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility makefile
+#
+#
+
+TARGET:=ransleep
+SOURCES:=$(SBS_HOME:\=/)/util/ransleep/ransleep.c
+
+ifeq ($(filter win,$(HOSTPLATFORM)),win)
+CFLAGS:=-DWIN32
+LDFLAGS:=
+else
+CFLAGS:=
+LDFLAGS:=-lpthread
+endif
+
+$(eval $(cprogram))
--- a/sbsv2/raptor/util/ransleep/Makefile Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/ransleep/Makefile Wed Oct 06 15:13:17 2010 +0100
@@ -15,15 +15,6 @@
#
#
-TARGET:=ransleep
-SOURCES:=$(SBS_HOME:\=/)/util/ransleep/ransleep.c
+all:
+ cd .. && make ransleep
-ifeq ($(filter win,$(HOSTPLATFORM)),win)
-CFLAGS:=-DWIN32
-LDFLAGS:=
-else
-CFLAGS:=
-LDFLAGS:=-lpthread
-endif
-
-$(eval $(cprogram))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,71 @@
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility makefile
+#
+#
+
+
+SHELL:=bash
+
+include $(SBS_HOME:\=/)/util/gccprogram.mk
+
+ifeq ($(filter win,$(HOSTPLATFORM)),win)
+CHOMP_C:=chomp.c
+PROCESS_C:=process_win.c
+CFLAGS:=-DHOST_WIN
+ifeq ($(SBS_MINGW),)
+LDFLAGS:=$(subst \,/,$(SBS_HOME:\=/)\win32\mingw\lib\libiberty.a)
+else
+LDFLAGS:=$(subst \,/,$(SBS_MINGW:\=/)\lib\libiberty.a)
+endif
+LDFLAGS:=$(LDFLAGS) -Wl,-lws2_32
+else
+CHOMP_C:=
+PROCESS_C:=process.c
+CFLAGS:=-g
+linux_PTHREADLIBS:=-lpthread
+LDFLAGS:=$(linux_PTHREADLIBS) -lrt
+endif
+
+
+SOURCEDIR:=$(subst \,/,$(SBS_HOME))/util/talon
+
+
+# remember how to clean up:
+MANIFEST:=$(SOURCEDIR)/manifest
+
+TARGET:=talon
+SOURCES:=$(addprefix $(SOURCEDIR)/,talon.c buffer.c sema.c log.c $(PROCESS_C) $(CHOMP_C))
+$(eval $(cprogram))
+
+TARGET:=talonctl
+SOURCES:=$(addprefix $(SOURCEDIR)/,talonctl.c sema.c log.c)
+$(eval $(cprogram))
+
+TARGET:=testbuffer
+SOURCES:=$(addprefix $(SOURCEDIR)/,testbuffer.c buffer.c log.c)
+$(eval $(cprogram))
+
+TARGET:=testprocess
+SOURCES:=$(addprefix $(SOURCEDIR)/,testprocess.c buffer.c log.c $(PROCESS_C))
+$(eval $(cprogram))
+
+TARGET:=talonlock
+SOURCES:=$(addprefix $(SOURCEDIR)/,lock.c sema.c log.c)
+$(eval $(cprogram))
+
+TARGET:=testchomp
+SOURCES:=$(addprefix $(SOURCEDIR)/,testchomp.c chomp.c log.c)
+$(eval $(cprogram))
+
--- a/sbsv2/raptor/util/talon/Makefile Wed Aug 04 12:07:55 2010 +0100
+++ b/sbsv2/raptor/util/talon/Makefile Wed Oct 06 15:13:17 2010 +0100
@@ -14,58 +14,6 @@
# Utility makefile
#
#
-
-
-SHELL:=bash
-
-include $(SBS_HOME:\=/)/util/gccprogram.mk
-
-ifeq ($(filter win,$(HOSTPLATFORM)),win)
-CHOMP_C:=chomp.c
-PROCESS_C:=process_win.c
-CFLAGS:=-DHOST_WIN
-ifeq ($(SBS_MINGW),)
-LDFLAGS:=$(subst \,/,$(SBS_HOME:\=/)\win32\mingw\lib\libiberty.a)
-else
-LDFLAGS:=$(subst \,/,$(SBS_MINGW:\=/)\lib\libiberty.a)
-endif
-LDFLAGS:=$(LDFLAGS) -Wl,-lws2_32
-else
-CHOMP_C:=
-PROCESS_C:=process.c
-CFLAGS:=-g
-linux_PTHREADLIBS:=-lpthread
-LDFLAGS:=$(linux_PTHREADLIBS) -lrt
-endif
-
-
-SOURCEDIR:=$(subst \,/,$(SBS_HOME))/util/talon
-
-
-# remember how to clean up:
-MANIFEST:=$(SOURCEDIR)/manifest
-
-TARGET:=talon
-SOURCES:=$(addprefix $(SOURCEDIR)/,talon.c buffer.c sema.c log.c $(PROCESS_C) $(CHOMP_C))
-$(eval $(cprogram))
-
-TARGET:=talonctl
-SOURCES:=$(addprefix $(SOURCEDIR)/,talonctl.c sema.c log.c)
-$(eval $(cprogram))
-
-TARGET:=testbuffer
-SOURCES:=$(addprefix $(SOURCEDIR)/,testbuffer.c buffer.c log.c)
-$(eval $(cprogram))
-
-TARGET:=testprocess
-SOURCES:=$(addprefix $(SOURCEDIR)/,testprocess.c buffer.c log.c $(PROCESS_C))
-$(eval $(cprogram))
-
-TARGET:=talonlock
-SOURCES:=$(addprefix $(SOURCEDIR)/,lock.c sema.c log.c)
-$(eval $(cprogram))
-
-TARGET:=testchomp
-SOURCES:=$(addprefix $(SOURCEDIR)/,testchomp.c chomp.c log.c)
-$(eval $(cprogram))
-
+.PHONY: all
+all:
+ cd .. && make talon
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/talon/tests/settings.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,5 @@
+SHELL:=/home/tnmurphy/x/build/sbsv2/raptor/linux-unknown-libc2_10/bin/talon
+TALON_SHELL:=/bin/bash
+TALON_BUILDID:=100
+TALON_DEBUG:=""
+export TALON_SHELL TALON_BUILDID TALON_DEBUG
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/tmkdir.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,8 @@
+SOURCEDIR:=$(subst \,/,$(SBS_HOME))/util/tmkdir
+TALONDIR:=$(subst \,/,$(SBS_HOME))/util/talon
+
+TARGET:=tmkdir
+CFLAGS:=$(CFLAGS) -g -I$(TALONDIR)
+SOURCES:=$(addprefix $(SOURCEDIR)/,tmkdir.c) $(addprefix $(TALONDIR)/,log.c)
+$(eval $(cprogram))
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/tmkdir/Makefile Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,21 @@
+# Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility makefile
+#
+#
+
+.PHONY: all
+
+akk:
+ cd .. && make tmkdir
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/tmkdir/makepath.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+
+# Macros for creating Standard targets
+
+ifeq ($(_METAFLM_MK_),)
+_METAFLM_MK_:=1
+
+## path creation #########################
+# Make the destination directory if neccessary. For some
+# make engines we must do this outside the rule or they
+# get confused by the apparent way in which different rules
+# can create a particular directory and they infer some kind
+# of dependency.
+
+# Makepath. Copyright (C) 2008 Symbian Software Ltd.
+# buffering with repeat prevention, makes directories after every 30 calls. Any more might overload
+# the createprocess limit on arguments.
+#
+# makepathLIST is initialised in globals.mk
+define makepath_single
+$(if $(findstring $1,$(makepathLIST)),,$(eval makepathLIST:=$(makepathLIST) $1))
+$(if $(subst 90,,$(words $(makepathLIST))),,$(shell $(GNUMKDIR) -p $(makepathLIST))$(eval makepathLIST:=))
+endef
+
+# The following turns out to be extremely slow - something to do with using eval
+# or to do with creating huge numbers of TARGET_ variables? BTW, this is an attempt
+# to not make things that we have already made.
+# define makepath
+# $(info makepath_start)$(foreach DIR,$1,$(if $(TARGET_$(1)),,$(call makepath_single,$(DIR))$(eval TARGET_$(1):=1)))$(info makepath_end)
+# endef
+
+# In general, makepath creates directories during FLM evaluation.
+# However, if the WHAT target is being processed then it should do nothing.
+define makepath
+$(strip $(foreach DIR,$(sort $1),$(call makepath_single,$(DIR))))
+endef
+
+
+define makepathfor
+$(call makepath,$(dir $1))
+endef
+
+# Make any remaining paths in the path buffer
+define makepathfinalise
+$(strip $(if $(makepathLIST),$(shell $(GNUMKDIR) $(makepathLIST))$(eval makepathLIST:=),))
+endef
+
+## END TEST BATCH FILES MACRO
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/tmkdir/testmakepath.mk Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,35 @@
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of the License "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Utility makefile
+#
+#
+
+
+$(info $(PWD))
+
+FLMHOME:=$(PWD)
+
+include makepath.mk
+
+$(info makepath: $(makepath))
+
+GNUMKDIR:=mkdir -p
+#GNUMKDIR:=tmkdir
+
+B:=$(PWD)/tmp
+
+totalpaths:= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000
+$(foreach pp,$(totalpaths),$(foreach p,1 1 1 1 1 1 1,$(call makepath,$(B)/$(pp)/$(p))))
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sbsv2/raptor/util/tmkdir/tmkdir.c Wed Oct 06 15:13:17 2010 +0100
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of the License "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+* Program for making directory hierarchies
+*
+*/
+
+#include <stdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <string.h>
+#include <errno.h>
+#include "log.h"
+#include "../config.h"
+
+
+
+int mkpath(char *path)
+{
+ int pathlen;
+ char *pathend;
+ char *p;
+ int ret = 255;
+
+
+ pathlen=strlen(path);
+ pathend = path + pathlen;
+
+ p = path;
+
+ // Find the first level at which we *can* make a directory
+ // go down one level at a time until we make something that works
+ DEBUG(("down: %s\n", path));
+ while ( 0 != mkdir(path, 0777))
+ {
+ // ENOENT means that the parent directory doesn't exist so it's ok
+ // any other error is not ok and means that we must give up
+ if (errno != ENOENT)
+ return 1;
+
+ p = strrchr(path,'/');
+ if (!p)
+ break;
+ *p = '\0';
+ }
+
+ // So we found the point at which a pre-existing tree starts
+ do
+ {
+ p = index(path, '\0');
+ if (p >= pathend)
+ {
+ ret = 0;
+ break;
+ }
+
+ *p = '/';
+ DEBUG(("up: %s\n", path));
+ }
+ while (0 == mkdir(path, 0777));
+
+ return ret;
+}
+
+int main(int argc, char *argv[])
+{
+ int i;
+
+ //loglevel=LOGDEBUG;
+ for (i=1; i < argc; i++)
+ {
+ if ( 0 != mkpath(argv[i]))
+ return 255;
+ }
+
+ return 0;
+}
+